Package detail

media-chrome

muxinc1.1mMIT4.9.1

Custom elements (web components) for making audio and video player controls that look great in your website or app.

webcomponent, html5, video, audio

readme

<picture> <source media="(prefers-color-scheme: dark)" srcset="docs/public/media-chrome-logo-dark.svg"> <source media="(prefers-color-scheme: light)" srcset="docs/public/media-chrome-logo-light.svg"> Media Chrome Logo </picture>

NPM Version NPM Downloads jsDelivr hits (npm) npm bundle size slack

Your media player's dancing suit. :man_dancing:

Fully customizable media player controls using web components (native custom elements).

  • [x] Compatible with any javascript framework (React, Angular, Svelte, etc.)
  • [x] Compatible with the <video> and <audio> elements and a lot of players (YouTube, HLS.js, and more)
  • [x] Simple HTML to add/remove controls
  • [x] Simple CSS to style the controls

_From Mux and the creator of Video.js._

Documentation

Visit the official documentation for Media Chrome for the latest up-to-date usage instructions.

You can find the documentation for v0.x of media-chrome here.

Examples

See all of the repo examples in action.

Video Example

<script type="module" src="https://cdn.jsdelivr.net/npm/media-chrome@4/+esm"></script>

<media-controller>
  <video
    slot="media"
    src="https://stream.mux.com/DS00Spx1CV902MCtPj5WknGlR102V5HFkDe/high.mp4"
    crossorigin
  >
    <track
      label="thumbnails"
      default
      kind="metadata"
      src="https://image.mux.com/DS00Spx1CV902MCtPj5WknGlR102V5HFkDe/storyboard.vtt"
    />
  </video>
  <media-control-bar>
    <media-play-button></media-play-button>
    <media-mute-button></media-mute-button>
    <media-volume-range></media-volume-range>
    <media-time-range></media-time-range>
    <media-pip-button></media-pip-button>
    <media-fullscreen-button></media-fullscreen-button>
  </media-control-bar>
</media-controller>

Results (Try the CodePen example)

Media Chrome Video Player Demo

Audio Example

<script type="module" src="https://cdn.jsdelivr.net/npm/media-chrome@4/+esm"></script>

<media-controller audio>
  <audio
    slot="media"
    src="https://stream.mux.com/O4h5z00885HEucNNa1rV02wZapcGp01FXXoJd35AHmGX7g/audio.m4a"
  ></audio>
  <media-control-bar>
    <media-play-button></media-play-button>
    <media-time-display showduration></media-time-display>
    <media-time-range></media-time-range>
    <media-playback-rate-button></media-playback-rate-button>
    <media-mute-button></media-mute-button>
    <media-volume-range></media-volume-range>
  </media-control-bar>
</media-controller>

Results (Try the CodePen example)

Media Chrome Audio Player Demo

Use with React

While you technically can use Media Chrome elements directly with React, it can sometimes be a bit clunky to work with Web Components in React, and some things just don't feel idiomatic to the framework (for example: having to use class= instead of className=, see React's official docs regarding web components for more details). To help with this, we've published some React wrapper components for all of our core Elements. You can read up on using them here.

Why?

More often than not web designers and developers just use the default media player controls, even when creating a beautiful custom design theme. It's hard not to.

  • Web browsers have built-in media controls that can't easily be customized and look different in every browser.
  • Social sites like Youtube, Vimeo, and SoundCloud only let you customize small details of the player, like primary button color.
  • Media controls are complex and hard to build from scratch. Open source players like Video.js and JW Player help, but require you to learn proprietary JS APIs, and can be difficult to use with popular Javascript frameworks.

It should be easier... <media-chrome> is an attempt at solving that.

Why now?

Web components. @heff spoke about the potential of web components for video at Demuxed 2015, and again in 2020. They allow us to extend the browser's base HTML functionality, meaning we can now build media player controls as simple HTML tags that:

  • Can be used like any native HTML tag in HTML, Javascript, and CSS (unleash your designer)
  • Are compatible by default with Javascript frameworks (React, Angular, Svelte)
  • Can be used across players when using multiple in the same site, e.g Youtube & <video>. (Could even be used by players as their own built-in controls)

Core Concepts

changelog

4.9.1 (2025-05-01)

Bug Fixes

  • Check that language exists before splitting (#1131) (741562d)

4.9.0 (2025-03-28)

Bug Fixes

  • race condition w/ default subtitles (Vue) (#1106) (98f2dff)
  • simplify exports, resolve tests. fix lang prop type issue (#1108) (08b2c2c)
  • timerange thumb and tooltip drift mobile (#1098) (fe3e214), closes #883

Features

4.8.0 (2025-03-12)

Features

4.7.1 (2025-03-04)

Bug Fixes

4.7.0 (2025-02-28)

Bug Fixes

Features

4.6.1 (2025-02-27)

Bug Fixes

  • dialog accessibility hidden, page load bug (#1082) (374eee3)

4.6.0 (2025-02-25)

Bug Fixes

  • firefox pip activates when clicked through on settings menu (#1074) (778b503)

Features

  • Refactor to use ce-la-react to add type definitions for JSX attributes (#1068) (d20dd95)

4.5.0 (2025-02-13)

Bug Fixes

Features

4.4.0 (2025-01-29)

Bug Fixes

Features

  • CSS vars to customize <media-controller> hide transition (#1051) (e334971), closes #874

4.3.1 (2025-01-23)

Bug Fixes

4.3.0 (2024-12-05)

Features

Reverts

  • Revert "docs: use latest instead of symlink" (#1019) (0c161f4), closes #1019

4.2.3 (2024-11-05)

Bug Fixes

4.2.2 (2024-10-24)

Bug Fixes

4.2.1 (2024-10-10)

Bug Fixes

4.2.0 (2024-10-08)

Bug Fixes

Features

4.1.5 (2024-10-03)

Bug Fixes

4.1.4 (2024-10-01)

Bug Fixes

4.1.3 (2024-09-24)

Bug Fixes

  • Safari (webkit) style tag styles not applied (#982) (980b1af)

4.1.2 (2024-09-24)

Bug Fixes

4.1.1 (2024-09-19)

Bug Fixes

4.1.0 (2024-08-16)

Bug Fixes

Features

4.0.0 (2024-08-14)

Bug Fixes

  • .ts files in dist + CE analyzer bug (#936) (c3d2441)
  • add menu, dist/menu, module wildcard exports (#955) (ea406e1)
  • add small TS fixes + improvements (#943) (bc80ab9)

Features

3.2.5 (2024-07-25)

Bug Fixes

  • refactor fullscreen-api and state mediator to make fewer assumpt… (#946) (904e6cb)

3.2.4 (2024-07-11)

Bug Fixes

3.2.3 (2024-05-24)

Bug Fixes

3.2.2 (2024-05-03)

Bug Fixes

  • avoid dist artifacts in manifest generation (#889) (3dc97ed)

3.2.1 (2024-04-12)

Bug Fixes

3.2.0 (2024-03-26)

Bug Fixes

Features

3.1.1 (2024-03-18)

Bug Fixes

  • account for some dynamic changes to media-time-range (#859) (bea8fca)

3.1.0 (2024-03-18)

Bug Fixes

  • defer to mediaDuration when finite for media-time-range time com… (#855) (f9c59b7)
  • monitor for extended 'seekablechange' event for more reliable mediaSeekable updates. (#856) (0bb7c03)

Features

3.0.2 (2024-03-11)

Bug Fixes

  • clean up media-time-display conditions for duration vs. seekableEnd usage… (#850) (23643f0)

3.0.1 (2024-03-07)

Bug Fixes

3.0.0 (2024-03-06)

Bug Fixes

Features

2.2.5 (2024-02-15)

Bug Fixes

  • poster slot fade after play before playing (#824) (39ba757), closes #823
  • safari InvalidStateError remote playback API error (#821) (1d484d8), closes #820

2.2.4 (2024-02-14)

Bug Fixes

  • fullscreen: handleMediaUpdated / rootNode race condition (#817) (3ea80df)

2.2.3 (2024-02-12)

Bug Fixes

  • cached CSSStyleRule type error in React (#816) (616e420)
  • clicking settings menu items with children (#815) (92d6d7e), closes #814

2.2.2 (2024-02-10)

Bug Fixes

  • access sheet before connected to DOM (#813) (8450868)

2.2.1 (2024-02-09)

Bug Fixes

2.2.0 (2024-02-09)

Bug Fixes

Features

2.1.0 (2024-01-18)

Bug Fixes

Features

2.0.1 (2023-12-11)

Bug Fixes

  • prevent unset callback if there is no media (#782) (4198832)

2.0.0 (2023-12-06)

  • feat!: use remote playback API (#743) (83c1a0f), closes #743

BREAKING CHANGES

  • uses castable-video v1

Requires https://github.com/muxinc/castable-video/pull/16

https://github.com/muxinc/media-chrome/discussions/654

IMPORTANT

Mux player requires the new <castable-video> with this change! https://github.com/muxinc/castable-video

1.7.0 (2023-12-06)

Bug Fixes

Features

  • default duration: add support for defaultduration when usable duration is unavailble (#779) (b5a8af6)

1.6.0 (2023-12-04)

Bug Fixes

Features

  • Add user prefs for subtitles+cc lang, including local storage. (#770) (ebb4f15)

1.5.4 (2023-11-29)

Bug Fixes

1.5.3 (2023-11-15)

Bug Fixes

1.5.2 (2023-11-03)

Bug Fixes

  • hide cursor on media when controls fade out (#758) (bbc81d7), closes #756

1.5.1 (2023-11-03)

Bug Fixes

1.5.0 (2023-10-30)

Features

1.4.5 (2023-10-27)

Bug Fixes

1.4.4 (2023-10-16)

Bug Fixes

  • Since attributeChangedCallback can be invoked before DOM connection, only attempt to resolve media controller id if isConnected. (#742) (3bf7d18), closes #741

1.4.3 (2023-10-03)

Bug Fixes

1.4.2 (2023-09-05)

Bug Fixes

  • account for single child in react wrapper templating. (#730) (7e267f7), closes #727
  • Themes not rendering if no breakpoint is active on load (#731) (e719be9)

1.4.1 (2023-08-22)

Bug Fixes

1.4.0 (2023-08-21)

Features

1.3.1 (2023-08-18)

Bug Fixes

  • remove pointer events from hidden list boxes (#725) (1447f19)

1.3.0 (2023-08-18)

Features

  • add option-selected part for selected option elements (#724) (2299cdd)

1.2.6 (2023-08-17)

Bug Fixes

  • media-chrome-option outline fix and new css vars (#722) (bc95f55)

1.2.5 (2023-08-16)

Bug Fixes

1.2.4 (2023-08-14)

Bug Fixes

  • monitor if breakpoints have been computed and only trigger theme… (#719) (ddc0817)

1.2.3 (2023-08-11)

Bug Fixes

  • add rendition unavailable / unsupported (#715) (fd38722)

1.2.2 (2023-08-04)

Bug Fixes

  • Adding parts for media-poster-image underlying img for advanced … (#712) (8a003bf)
  • Move all breakpoint computation to resizeObserver. defer quickly… (#711) (f60a499)

1.2.1 (2023-08-02)

Bug Fixes

1.2.0 (2023-07-28)

Bug Fixes

Features

1.1.7 (2023-07-25)

Bug Fixes

1.1.6 (2023-07-25)

Bug Fixes

  • <media-live-button/> setting attr in constructor (#696) (c99eb1c)
  • Attr setting error in seek buttons (#692) (d944d66), closes #691

1.1.5 (2023-07-17)

Bug Fixes

1.1.4 (2023-07-07)

Bug Fixes

  • Use setTimeout at ~=1 frame (16ms) since queueMicrotask may stil… (#682) (93ff3cb)

1.1.3 (2023-06-29)

Bug Fixes

  • React createElement function signature (#675) (b461fb7)
  • Use queueMicrotask for async ResizeObserver cb. (#677) (e9be608)

1.1.2 (2023-06-26)

Bug Fixes

  • Make computation for breakpoints in ResizeObserver async. (#674) (d311472)

1.1.1 (2023-06-23)

Bug Fixes

  • time range preview and value inconsistency (#670) (4f58bf1)

1.1.0 (2023-06-12)

Bug Fixes

  • Handle visualization in media-time-range for cases where media has ended. (#667) (924aa20)
  • media state change events (#666) (05999ae)

Features

  • add backdrop-filter to range track & bg (#658) (3590497)

1.0.0 (2023-05-30)

Features

BREAKING CHANGES

  • Icon slots have been renamed to "icon" for Airplay, Seek Forward, Seek Backward, and Loading Indicator controls.

1.0.0-rc.5 (2023-05-26)

Bug Fixes

Features

  • Icon slots for buttons with multiple slots (#643) (53e7aad)

1.0.0-rc.4 (2023-05-23)

Bug Fixes

  • fullscreen state getter w/o event (#634) (2dba034), closes #627
  • Make sure we monitor slotchange on slots for media state receive… (#639) (6710381)

1.0.0-rc.3 (2023-05-22)

Bug Fixes

Features

1.0.0-rc.2 (2023-05-16)

Bug Fixes

  • Missing parenthesis in control bar style (#626) (76a1c8f)

1.0.0-rc.1 (2023-05-15)

Bug Fixes

  • Update official themes to use lowercase attrs consistently. (#623) (5d62f93)

1.0.0-rc.0 (2023-05-12)

Bug Fixes

Features

  • add defaultsubtitles to media-controller (#551) (fdbc8c7)
  • add novolumepref attribute to prefer writing to localStorage (#575) (31bdb11)
  • Add props and types to seek forwards and backwards elements (#566) (0259c3a)
  • Adding custom event for breakingpoint changing (#584) (1cf3579)
  • Airplay, Captions, and Cast button props (#587) (14156f7)
  • combine MEDIA_CAPTIONS_LIST into MEDIA_SUBTITLES_LIST (#546) (03e62e6)
  • Drop all deprecated or redundant components. Update tests, examples, docs, etc. based on changes. (#560) (20fca8c)
  • Duration, Fullscreen, and Gesture props (#595) (748c013)
  • fix casing in attributes and vars (#606) (502fff5)
  • Live Button and Mute button props (#596) (d6b5ad6)
  • Media Time Range and Volume Range props (#599) (61d6ddd)
  • Migrate all attributes to lowercase ('smushedcase'). (#537) (fe9eadc)
  • move loading-indicator visibility to be done in CSS only (#586) (0d989b3)
  • Pip button, Play button, and Playback Rates props (#597) (3d96b16)
  • Poster Image, Preview Thumbnail, and Time Display props (#598) (7126ddf)

BREAKING CHANGES

  • removed keys() from AttributeTokenList
  • remove isloading attribute from media-loading-indicator.
  • Change --media-live-indicator-color to --media-live-button-indicator-color, --media-time-buffered-color to --media-time-range-buffered-color, --media-background-position to --media-poster-image-background-position, and --media-background-size to --media-poster-image-background-size.
  • remove defaultshowing attribute from media-captions-button and media-captions-selectmenu.
  • remove MEDIA_CAPTIONS_LIST, MEDIA_CAPTIONS_SHOWING, no-subtitles-fallback, MEDIA_SHOW_CAPTIONS_REQUEST, MEDIA_DISABLE_CAPTIONS_REQUEST, and MEDIA_CAPTIONS_LIST & MEDIA_CAPTIONS_SHOWING change events.

0.21.0 (2023-04-17)

Bug Fixes

  • Automatically serialize arrays as arr.join(' ') for react components (#527) (c24025c)
  • custom element manifest imports from dist/ (#521) (32b8149)
  • font numeric uniform width (#526) (f31d5a3)
  • inactive live button (#535) (8d841ae)
  • make DSD (declarative shadow dom) compatible (#524) (e6105f4)
  • relative src path (6e45bab)

Features

  • introduce a playback rates selectmenu (#513) (502f83f)
  • remove deprecated, move experimental files (#525) (13218c0)

0.20.4 (2023-04-04)

Bug Fixes

0.20.3 (2023-03-31)

Bug Fixes

  • over firing user-inactive event, attr name (#515) (26a05f6)
  • toggle selectmenu via keyboard, hide on click outside of selectmenu (#514) (df9a50d)

0.20.2 (2023-03-30)

Bug Fixes

  • slot for text display, customizable content (#511) (bf1fc7e)
  • toggle time display on click from remaining / not remaining (#510) (826131c)

0.20.1 (2023-03-28)

Bug Fixes

0.20.0 (2023-03-27)

Bug Fixes

  • add non-default buttons to Minimal theme (#507) (bcb218e)
  • add poster slot, media loading indicator to Microvideo (#505) (6ea6079)
  • add style tweaks to Minimal, Microvideo (#508) (cad6841)

Features

0.19.1 (2023-03-20)

Bug Fixes

0.19.0 (2023-03-20)

Bug Fixes

Features

0.18.8 (2023-03-08)

Bug Fixes

  • preventClick on the button given to selectmenu unconditionally (#495) (05ed8fb)

0.18.7 (2023-03-08)

Bug Fixes

  • improve inferred media-ui-extension values (#494) (9028129)

0.18.6 (2023-03-07)

Bug Fixes

  • add default much used styles to theme (#490) (bd778fa)
  • experimental: media-chrome-selectmenu and media-captions-selectmenu (#471) (6d6ddc3)
  • nullish coalesce operator, improve process (#484) (84c3c12)

0.18.5 (2023-02-27)

Bug Fixes

  • add --media-range-track-color for track (862898b)
  • catch play promise internally (#479) (c77cd43)
  • decoupled controller in media-theme (#459) (3852292)
  • rename live edge override attribute to liveedgeoffset. Code cleanup per PR feedback. (0edad38)
  • Use default-stream-type when slotted media streamType is unknown. (#480) (284443d)

Features

  • add Micro theme (#469) (4181c36)
  • live-edge-window: Add basic support for m-ui-e liveEdgeStart proposal. (1214369)
  • media-live-button: Implement paused behaviors and presentation for component. (20838e1)
  • stream-type: Add support for m-ui-e streamType proposal. (50f4a2f)
  • target-live-window: Add basic support for m-ui-e targetLiveWindow proposal. (c450348)

0.18.4 (2023-02-16)

Bug Fixes

  • create theme template on construction (#477) (fe1ca19)

0.18.3 (2023-02-16)

Bug Fixes

0.18.2 (2023-02-06)

Bug Fixes

  • experimental: media-captions-menu-button relative file locations (#466) (53c17b1)
  • experimental: move media-captions-menu-button to experimental folder (#464) (3ddf3a9)

0.18.1 (2023-01-31)

Bug Fixes

  • render on all attr changes, also removal (#461) (f36b8ce)

0.18.0 (2023-01-30)

Bug Fixes

  • add template caches for partial templates (bf075c7)
  • add template instance caching in if directive (2896118)
  • keyDown in listbox should preventDefault, add f,c,k,m to keysUsed of captions-menu-button (#449) (a6dcbb7)
  • overwrite priority template vars (0e1be99)
  • remove audio template var (ee596c4)
  • remove old MediaTheme element (#457) (57277b7)
  • removing non existing token (22bc6f5)

Features

  • experimental captions menu button fixes (#442) (bb924c1)
  • experimental: expose listbox in menu-button as a part (#460) (d4bd8da)

0.17.1 (2023-01-18)

Bug Fixes

  • add audio as template param (8ca0ff6)
  • add block attr, joined directive/expression (fd4ac00)
  • add breakpoints config attribute (2410329)
  • add containerSize to template (008d8d5)
  • add easier very large size names (35bf0c7)
  • add greater than, less than operators (67b389e)
  • add stream-type to the Media Chrome theme (4673f3c)
  • adds a 0:00 default time, fixes #88 (#430) (7d49afa)
  • allow slotting icons for the captions menu button and captions listbox indicator (e62ee71)
  • blurhash dimensions (#432) (c88fb04)
  • captions-listbox: properly handle removing tracks (9e8dff4)
  • captions-menu-button: keep menu within the player bounds (72c7273)
  • change to inclusive breakpoints (d0802b3)
  • limit checking media-controller attrs (b06dc9f)
  • listbox: add hover styles (d91c88c)
  • listbox: improve contrast ratios of listbox colors (0fd50fd)
  • listbox: switch to display inline-flex (2f1d0b8)
  • listitem should get pointer cursor (8e9301c)
  • Media Live Button style changes during live window (#440) (e709e7f)
  • minimal-slotted-media: Do not assume media.seekable will be defined on the slotted media. (65895e9)
  • preliminary media-target-live-window attr (c4b2286)
  • properly select Off item if captions turned off elsewhere (8a0b139)
  • remove media-container-size from MediaUIAttr (4027a8d)
  • remove unused containerSize (caa6eeb)
  • render undefined param (69a92fe)
  • set font-family on listbox (80ae206)
  • slotted poster is not hidden (#431) (4a3720e)
  • use breakpoint-x and breakpoints attrs (176db3c)
  • use shorthand if/foreach/partial attrs (6dc3145)
  • use textContent.toLowerCase() in listbox for more lenient search (7d225dd)

Features

  • add an Off item to captions-listbox (f73d784)
  • add breakpoint params (c17bb17)
  • add default styles to listbox and listitem (9eace4a)
  • container-size attr w/ premeditated naming (cfc43d6)
  • media-captions-menu-button (178b655)

0.17.0 (2023-01-06)

Bug Fixes

  • configurable-fullscreen-element: Ignore misleading typescript error. (71ad4e3)
  • remove unused property (#413) (2beac41)
  • remove web component class globals (5c7acfb), closes #252
  • use npx if needed for docs build (a28b60a)

Features

  • configurable-full-screen: Add an example taking advantage of configurable fullscreen target. (8c2e3d5)
  • configurable-fullscreen-element: Allow Media Controller to target a fullscreenElement other than itself. (817408e)
  • configurable-fullscreen-element: Handle shadow DOM + fullscreen-element id cases better (d0cb339)
  • configurable-fullscreen-element: Keep parity between attribute and prop for fullscreen element, per PR feedback/discussion. (fb4f38b)

0.16.3 (2023-01-03)

Bug Fixes

  • example: captions listbox example should point at the correct vtt files (5be0fc3)
  • listbox should aria-selected the default selection (9052072)
  • listbox: do a null check for default selected element (c4d4f6d)
  • no need for rounding anymore, step=any (011940c), closes #394

Features

  • listbox should support slotting a slot el (563a453)
  • media-chrome-menu-button (0b4d625)

Reverts

  • Revert "Winamp theme checks (#403)" (9605f02), closes #403
  • Revert "example: add Winamp theme (#401)" (7836b25), closes #401

0.16.2 (2022-12-13)

Bug Fixes

  • add listbox role on listbox element itself (92e702f)
  • lint errors and add to CI/CD (c571239)
  • listbox may not have a nextOption (50d92a3)
  • MEDIA_CONTROLLER moved to MediaStateReceiverAttributes (9eb52c3)
  • remove Demuxed theme 2022 from MC bundle (33d697c)
  • typescript errors (983ed78)
  • use new MediaThemeElement for Demuxed theme (4a9327b)

Features

  • add a selectedOptions getter to listbox (3629c87)
  • add change event to listbox (4ddb26e)
  • add value prop/attr to listitem (542ae92)
  • Captions/Subtitles List (d12f6fb)

0.16.1 (2022-12-06)

Bug Fixes

Features

  • Add HTML based Theme w/ minimal template language (#362) (a4a4e2c)
  • add simple responsive theme (684ddef)
  • expose types (#330) (5ae159f)
  • listbox and listitem components (#365) (15d0934)
  • use Construcable CSSStyleSheets when available (eb32514)

Reverts

  • undo changes to media-theme.js (c565bc9)

0.16.0 (2022-10-28)

Bug Fixes

  • box percentage positioning & time range border glitch (#345) (57f1023)

0.15.1 (2022-10-25)

Bug Fixes

  • use composedPath for checking target in schedule inactive event handler (#355) (c44711d)

0.15.0 (2022-10-25)

Bug Fixes

  • clicking in play/fullscreen buttons should schedule inactive (#338) (0b640d0), closes #188
  • preview bounds in shadow dom (#342) (e0b5fa9)

Features

0.14.1 (2022-10-14)

Bug Fixes

  • call disable on disconnectedCallback (35f1242)
  • don't set attributes in a constructor (433560e), closes #335

0.14.0 (2022-10-10)

Bug Fixes

  • a couple of fixes (#331) (f4df42f)
  • properly check iphones for fullscreen unavailability (#332) (c32c74e)
  • properly unset poster image sources when they're removed (#328) (87daae5)

Features

  • add poster object fit and position css vars (#327) (a02bf20)

0.12.0 (2022-09-27)

Bug Fixes

  • Safari still uses webkitFullscreenEnabled (#316) (3850429)

Features

  • remove minify/srcmap esm/cjs, add esm-module (#318) (5ea0d24)
  • support being able to disable buttons, range, and time-display (#320) (d4129c2)

0.11.0 (2022-09-22)

Bug Fixes

  • mark fullscreen button as unavailable if fullscreen is disabled (#311) (a198f0a)
  • set tabindex on media element, if not set (#312) (e7450b8), closes #309

Features

  • add a hotkey for toggling captions: c (#308) (e76b528)

0.10.4 (2022-09-15)

Bug Fixes

Features

  • fix order of layers + add chrome CSS parts (#298) (2c81cbc)

0.10.2 (2022-09-09)

Bug Fixes

0.10.0 (2022-08-29)

Bug Fixes

  • prevent media-poster-image from stretching (07fbd55)

Features

0.9.0 (2022-08-01)

Features

0.8.1 (2022-07-18)

Bug Fixes

  • audio examples, spotify example (#265) (128d5c7)
  • box bounds element type error (6b61552)
  • cast availability (#251) (97d20f7)
  • casting state on new cast-button (fd51440)
  • chrome-button focus ring consistency (9d83108)
  • focus ring on chrome-range input element (a1899e9)
  • have improved styling with host-context and chrome-range (335b875)
  • hide gesture-layer when in audio mode (77f7005)
  • mediaControllerId var bug (b5faf44)
  • reset playbackRate UI after loadstart (#249) (59f4ed4)
  • style override from Tailwind CSS (7590ffb), closes #262
  • text-display should have consistent focus ring to chrome-button (f1bad34)
  • timerange progress jumpy w/out playback rate (2b2d360)

Features

0.6.8 (2022-06-06)

Bug Fixes

0.6.6 (2022-05-31)

Bug Fixes

  • don't set controls inactive when tapping on controls (4f2ee7f)
  • seekable-edges: Convert seekable to numeric values in media-time-range. Handle empty seekable cases better in media-controller. (7fff378)
  • set media-keyboard-control to '' when enabled (6708749)
  • switch to pointermove from mousemove for media preview request (#228) (f6b90e9)
  • unhide controls on touch & autohide on timer (6c47b58)

Features

  • add cast button and castable video elements (#220) (f47f3a9)
  • toggle user-inactive on taps (0d2e223)

0.6.5 (2022-05-23)

Bug Fixes

  • default-ui-times: Forcing numeric times for media-time-display and media-time-range when none are available. (8aa5d82)
  • mouseout timerange for deeply nest shadowdom (#225) (51c5617)
  • propagate fullscreen state to potential fullscreen elements (#226) (dec09a5)

0.6.4 (2022-05-19)

Bug Fixes

  • conslidate and simplfy selectors dealing with pointer-events (#222) (575a8f2)
  • remove stale thumbnail preview data when no thumbnails are longer visible (#219) (f8bbd85)

Features

  • seekable-ranges: Add media-seekable/media.seekable state support. Update media-time-display and media-time-range to handle seekable. (5fe51ce)

0.6.3 (2022-05-12)

Features

  • media-play-gesture: Add gesture-receiver as default-slotted in media-container. Add default styling. (67bf32a)
  • media-play-gesture: Baseline impl. (c0d0070)
  • media-play-gesture: clean up relationship between user-inactive and gestures. Clean up gestures-disabled functionality and slotted vs. 'default slotted' behavior. (ac767ac)
  • media-play-gesture: removing pen pointerType support unless/until needed. (962dd93)
  • media-play-gesture: removing previous impl for gestures. (73fc058)
  • media-play-gesture: renaming element per PR feedback. (43fb8a9)
  • media-play-gesture: updating docs for gestures-disabled. (1f48c54)

0.6.2 (2022-05-03)

Bug Fixes

  • mux-themes-use-polyfills: Make sure we use polyfills for themes. (4227b83)

0.6.1 (2022-04-22)

Bug Fixes

  • make media-time-display not wrap when small (c832126)

0.6.0 (2022-04-15)

0.5.4 (2022-03-28)

Bug Fixes

  • use mouseleave instead of mouseout (b55da54)
  • user-inactive-autoplay: Make default user-inactive true to handle programmatic play starts + hiding controls. (8e6ca16)
  • user-inactive-poster: treat slotted poster like slotted media for pointer-events for user-inactive behavior. (95d4126)

Features

  • state-change-events: Add example that updates table based on state change events. (1474d45)
  • state-change-events: Add initial infrastructure to dispatch state change events based on ui attrs + user-inactive. (6b2e422)

0.5.3 (2022-03-07)

0.5.2 (2022-02-28)

0.5.1 (2022-02-22)

Bug Fixes

  • seek back button always used default value for aria label (#164) (d053fe9)

0.5.0 (2022-02-11)

0.4.3 (2022-01-31)

Bug Fixes

  • playback-rate-button: update rates attr parsing (#129) (e5cbf9d)

0.4.0 (2021-11-02)

0.2.2 (2021-07-28)

0.2.1 (2021-07-09)

0.2.0 (2021-07-08)

0.1.1 (2021-06-24)

0.1.0 (2021-05-25)

0.0.15 (2021-03-31)

0.0.14 (2021-02-25)

0.0.13 (2021-02-14)

0.0.12 (2021-02-13)

0.0.11 (2020-12-02)

0.0.10 (2020-12-02)

0.0.9 (2020-11-21)

0.0.8 (2020-11-21)

0.0.7 (2020-11-21)

0.0.6 (2020-11-18)

0.0.5 (2020-11-04)

0.0.4 (2020-10-22)

0.0.3 (2020-03-12)

0.0.2 (2020-03-12)

1.1.1 (2023-06-23)

Bug Fixes

  • time range preview and value inconsistency (#670) (4f58bf1)

1.1.0 (2023-06-12)

Bug Fixes

  • Handle visualization in media-time-range for cases where media has ended. (#667) (924aa20)
  • media state change events (#666) (05999ae)

Features

  • add backdrop-filter to range track & bg (#658) (3590497)

1.0.0 (2023-05-30)

Features

BREAKING CHANGES

  • Icon slots have been renamed to "icon" for Airplay, Seek Forward, Seek Backward, and Loading Indicator controls.

1.0.0-rc.5 (2023-05-26)

Bug Fixes

Features

  • Icon slots for buttons with multiple slots (#643) (53e7aad)

1.0.0-rc.4 (2023-05-23)

Bug Fixes

  • fullscreen state getter w/o event (#634) (2dba034), closes #627
  • Make sure we monitor slotchange on slots for media state receive… (#639) (6710381)

1.0.0-rc.3 (2023-05-22)

Bug Fixes

Features

1.0.0-rc.2 (2023-05-16)

Bug Fixes

  • Missing parenthesis in control bar style (#626) (76a1c8f)

1.0.0-rc.1 (2023-05-15)

Bug Fixes

  • Update official themes to use lowercase attrs consistently. (#623) (5d62f93)

1.0.0-rc.0 (2023-05-12)

Bug Fixes

Features

  • add defaultsubtitles to media-controller (#551) (fdbc8c7)
  • add novolumepref attribute to prefer writing to localStorage (#575) (31bdb11)
  • Add props and types to seek forwards and backwards elements (#566) (0259c3a)
  • Adding custom event for breakingpoint changing (#584) (1cf3579)
  • Airplay, Captions, and Cast button props (#587) (14156f7)
  • combine MEDIA_CAPTIONS_LIST into MEDIA_SUBTITLES_LIST (#546) (03e62e6)
  • Drop all deprecated or redundant components. Update tests, examples, docs, etc. based on changes. (#560) (20fca8c)
  • Duration, Fullscreen, and Gesture props (#595) (748c013)
  • fix casing in attributes and vars (#606) (502fff5)
  • Live Button and Mute button props (#596) (d6b5ad6)
  • Media Time Range and Volume Range props (#599) (61d6ddd)
  • Migrate all attributes to lowercase ('smushedcase'). (#537) (fe9eadc)
  • move loading-indicator visibility to be done in CSS only (#586) (0d989b3)
  • Pip button, Play button, and Playback Rates props (#597) (3d96b16)
  • Poster Image, Preview Thumbnail, and Time Display props (#598) (7126ddf)

BREAKING CHANGES

  • removed keys() from AttributeTokenList
  • remove isloading attribute from media-loading-indicator.
  • Change --media-live-indicator-color to --media-live-button-indicator-color, --media-time-buffered-color to --media-time-range-buffered-color, --media-background-position to --media-poster-image-background-position, and --media-background-size to --media-poster-image-background-size.
  • remove defaultshowing attribute from media-captions-button and media-captions-selectmenu.
  • remove MEDIA_CAPTIONS_LIST, MEDIA_CAPTIONS_SHOWING, no-subtitles-fallback, MEDIA_SHOW_CAPTIONS_REQUEST, MEDIA_DISABLE_CAPTIONS_REQUEST, and MEDIA_CAPTIONS_LIST & MEDIA_CAPTIONS_SHOWING change events.

0.21.0 (2023-04-17)

Bug Fixes

  • Automatically serialize arrays as arr.join(' ') for react components (#527) (c24025c)
  • custom element manifest imports from dist/ (#521) (32b8149)
  • font numeric uniform width (#526) (f31d5a3)
  • inactive live button (#535) (8d841ae)
  • make DSD (declarative shadow dom) compatible (#524) (e6105f4)
  • relative src path (6e45bab)

Features

  • introduce a playback rates selectmenu (#513) (502f83f)
  • remove deprecated, move experimental files (#525) (13218c0)

0.20.4 (2023-04-04)

Bug Fixes

0.20.3 (2023-03-31)

Bug Fixes

  • over firing user-inactive event, attr name (#515) (26a05f6)
  • toggle selectmenu via keyboard, hide on click outside of selectmenu (#514) (df9a50d)

0.20.2 (2023-03-30)

Bug Fixes

  • slot for text display, customizable content (#511) (bf1fc7e)
  • toggle time display on click from remaining / not remaining (#510) (826131c)

0.20.1 (2023-03-28)

Bug Fixes

0.20.0 (2023-03-27)

Bug Fixes

  • add non-default buttons to Minimal theme (#507) (bcb218e)
  • add poster slot, media loading indicator to Microvideo (#505) (6ea6079)
  • add style tweaks to Minimal, Microvideo (#508) (cad6841)

Features

0.19.1 (2023-03-20)

Bug Fixes

0.19.0 (2023-03-20)

Bug Fixes

Features

0.18.8 (2023-03-08)

Bug Fixes

  • preventClick on the button given to selectmenu unconditionally (#495) (05ed8fb)

0.18.7 (2023-03-08)

Bug Fixes

  • improve inferred media-ui-extension values (#494) (9028129)

0.18.6 (2023-03-07)

Bug Fixes

  • add default much used styles to theme (#490) (bd778fa)
  • experimental: media-chrome-selectmenu and media-captions-selectmenu (#471) (6d6ddc3)
  • nullish coalesce operator, improve process (#484) (84c3c12)

0.18.5 (2023-02-27)

Bug Fixes

  • add --media-range-track-color for track (862898b)
  • catch play promise internally (#479) (c77cd43)
  • decoupled controller in media-theme (#459) (3852292)
  • rename live edge override attribute to liveedgeoffset. Code cleanup per PR feedback. (0edad38)
  • Use default-stream-type when slotted media streamType is unknown. (#480) (284443d)

Features

  • add Micro theme (#469) (4181c36)
  • live-edge-window: Add basic support for m-ui-e liveEdgeStart proposal. (1214369)
  • media-live-button: Implement paused behaviors and presentation for component. (20838e1)
  • stream-type: Add support for m-ui-e streamType proposal. (50f4a2f)
  • target-live-window: Add basic support for m-ui-e targetLiveWindow proposal. (c450348)

0.18.4 (2023-02-16)

Bug Fixes

  • create theme template on construction (#477) (fe1ca19)

0.18.3 (2023-02-16)

Bug Fixes

0.18.2 (2023-02-06)

Bug Fixes

  • experimental: media-captions-menu-button relative file locations (#466) (53c17b1)
  • experimental: move media-captions-menu-button to experimental folder (#464) (3ddf3a9)

0.18.1 (2023-01-31)

Bug Fixes

  • render on all attr changes, also removal (#461) (f36b8ce)

0.18.0 (2023-01-30)

Bug Fixes

  • add template caches for partial templates (bf075c7)
  • add template instance caching in if directive (2896118)
  • keyDown in listbox should preventDefault, add f,c,k,m to keysUsed of captions-menu-button (#449) (a6dcbb7)
  • overwrite priority template vars (0e1be99)
  • remove audio template var (ee596c4)
  • remove old MediaTheme element (#457) (57277b7)
  • removing non existing token (22bc6f5)

Features

  • experimental captions menu button fixes (#442) (bb924c1)
  • experimental: expose listbox in menu-button as a part (#460) (d4bd8da)

0.17.1 (2023-01-18)

Bug Fixes

  • add audio as template param (8ca0ff6)
  • add block attr, joined directive/expression (fd4ac00)
  • add breakpoints config attribute (2410329)
  • add containerSize to template (008d8d5)
  • add easier very large size names (35bf0c7)
  • add greater than, less than operators (67b389e)
  • add stream-type to the Media Chrome theme (4673f3c)
  • adds a 0:00 default time, fixes #88 (#430) (7d49afa)
  • allow slotting icons for the captions menu button and captions listbox indicator (e62ee71)
  • blurhash dimensions (#432) (c88fb04)
  • captions-listbox: properly handle removing tracks (9e8dff4)
  • captions-menu-button: keep menu within the player bounds (72c7273)
  • change to inclusive breakpoints (d0802b3)
  • limit checking media-controller attrs (b06dc9f)
  • listbox: add hover styles (d91c88c)
  • listbox: improve contrast ratios of listbox colors (0fd50fd)
  • listbox: switch to display inline-flex (2f1d0b8)
  • listitem should get pointer cursor (8e9301c)
  • Media Live Button style changes during live window (#440) (e709e7f)
  • minimal-slotted-media: Do not assume media.seekable will be defined on the slotted media. (65895e9)
  • preliminary media-target-live-window attr (c4b2286)
  • properly select Off item if captions turned off elsewhere (8a0b139)
  • remove media-container-size from MediaUIAttr (4027a8d)
  • remove unused containerSize (caa6eeb)
  • render undefined param (69a92fe)
  • set font-family on listbox (80ae206)
  • slotted poster is not hidden (#431) (4a3720e)
  • use breakpoint-x and breakpoints attrs (176db3c)
  • use shorthand if/foreach/partial attrs (6dc3145)
  • use textContent.toLowerCase() in listbox for more lenient search (7d225dd)

Features

  • add an Off item to captions-listbox (f73d784)
  • add breakpoint params (c17bb17)
  • add default styles to listbox and listitem (9eace4a)
  • container-size attr w/ premeditated naming (cfc43d6)
  • media-captions-menu-button (178b655)

0.17.0 (2023-01-06)

Bug Fixes

  • configurable-fullscreen-element: Ignore misleading typescript error. (71ad4e3)
  • remove unused property (#413) (2beac41)
  • remove web component class globals (5c7acfb), closes #252
  • use npx if needed for docs build (a28b60a)

Features

  • configurable-full-screen: Add an example taking advantage of configurable fullscreen target. (8c2e3d5)
  • configurable-fullscreen-element: Allow Media Controller to target a fullscreenElement other than itself. (817408e)
  • configurable-fullscreen-element: Handle shadow DOM + fullscreen-element id cases better (d0cb339)
  • configurable-fullscreen-element: Keep parity between attribute and prop for fullscreen element, per PR feedback/discussion. (fb4f38b)

0.16.3 (2023-01-03)

Bug Fixes

  • example: captions listbox example should point at the correct vtt files (5be0fc3)
  • listbox should aria-selected the default selection (9052072)
  • listbox: do a null check for default selected element (c4d4f6d)
  • no need for rounding anymore, step=any (011940c), closes #394

Features

  • listbox should support slotting a slot el (563a453)
  • media-chrome-menu-button (0b4d625)

Reverts

  • Revert "Winamp theme checks (#403)" (9605f02), closes #403
  • Revert "example: add Winamp theme (#401)" (7836b25), closes #401

0.16.2 (2022-12-13)

Bug Fixes

  • add listbox role on listbox element itself (92e702f)
  • lint errors and add to CI/CD (c571239)
  • listbox may not have a nextOption (50d92a3)
  • MEDIA_CONTROLLER moved to MediaStateReceiverAttributes (9eb52c3)
  • remove Demuxed theme 2022 from MC bundle (33d697c)
  • typescript errors (983ed78)
  • use new MediaThemeElement for Demuxed theme (4a9327b)

Features

  • add a selectedOptions getter to listbox (3629c87)
  • add change event to listbox (4ddb26e)
  • add value prop/attr to listitem (542ae92)
  • Captions/Subtitles List (d12f6fb)

0.16.1 (2022-12-06)

Bug Fixes

Features

  • Add HTML based Theme w/ minimal template language (#362) (a4a4e2c)
  • add simple responsive theme (684ddef)
  • expose types (#330) (5ae159f)
  • listbox and listitem components (#365) (15d0934)
  • use Construcable CSSStyleSheets when available (eb32514)

Reverts

  • undo changes to media-theme.js (c565bc9)

0.16.0 (2022-10-28)

Bug Fixes

  • box percentage positioning & time range border glitch (#345) (57f1023)

0.15.1 (2022-10-25)

Bug Fixes

  • use composedPath for checking target in schedule inactive event handler (#355) (c44711d)

0.15.0 (2022-10-25)

Bug Fixes

  • clicking in play/fullscreen buttons should schedule inactive (#338) (0b640d0), closes #188
  • preview bounds in shadow dom (#342) (e0b5fa9)

Features

0.14.1 (2022-10-14)

Bug Fixes

  • call disable on disconnectedCallback (35f1242)
  • don't set attributes in a constructor (433560e), closes #335

0.14.0 (2022-10-10)

Bug Fixes

  • a couple of fixes (#331) (f4df42f)
  • properly check iphones for fullscreen unavailability (#332) (c32c74e)
  • properly unset poster image sources when they're removed (#328) (87daae5)

Features

  • add poster object fit and position css vars (#327) (a02bf20)

0.12.0 (2022-09-27)

Bug Fixes

  • Safari still uses webkitFullscreenEnabled (#316) (3850429)

Features

  • remove minify/srcmap esm/cjs, add esm-module (#318) (5ea0d24)
  • support being able to disable buttons, range, and time-display (#320) (d4129c2)

0.11.0 (2022-09-22)

Bug Fixes

  • mark fullscreen button as unavailable if fullscreen is disabled (#311) (a198f0a)
  • set tabindex on media element, if not set (#312) (e7450b8), closes #309

Features

  • add a hotkey for toggling captions: c (#308) (e76b528)

0.10.4 (2022-09-15)

Bug Fixes

Features

  • fix order of layers + add chrome CSS parts (#298) (2c81cbc)

0.10.2 (2022-09-09)

Bug Fixes

0.10.0 (2022-08-29)

Bug Fixes

  • prevent media-poster-image from stretching (07fbd55)

Features

0.9.0 (2022-08-01)

Features

0.8.1 (2022-07-18)

Bug Fixes

  • audio examples, spotify example (#265) (128d5c7)
  • box bounds element type error (6b61552)
  • cast availability (#251) (97d20f7)
  • casting state on new cast-button (fd51440)
  • chrome-button focus ring consistency (9d83108)
  • focus ring on chrome-range input element (a1899e9)
  • have improved styling with host-context and chrome-range (335b875)
  • hide gesture-layer when in audio mode (77f7005)
  • mediaControllerId var bug (b5faf44)
  • reset playbackRate UI after loadstart (#249) (59f4ed4)
  • style override from Tailwind CSS (7590ffb), closes #262
  • text-display should have consistent focus ring to chrome-button (f1bad34)
  • timerange progress jumpy w/out playback rate (2b2d360)

Features

0.6.8 (2022-06-06)

Bug Fixes

0.6.6 (2022-05-31)

Bug Fixes

  • don't set controls inactive when tapping on controls (4f2ee7f)
  • seekable-edges: Convert seekable to numeric values in media-time-range. Handle empty seekable cases better in media-controller. (7fff378)
  • set media-keyboard-control to '' when enabled (6708749)
  • switch to pointermove from mousemove for media preview request (#228) (f6b90e9)
  • unhide controls on touch & autohide on timer (6c47b58)

Features

  • add cast button and castable video elements (#220) (f47f3a9)
  • toggle user-inactive on taps (0d2e223)

0.6.5 (2022-05-23)

Bug Fixes

  • default-ui-times: Forcing numeric times for media-time-display and media-time-range when none are available. (8aa5d82)
  • mouseout timerange for deeply nest shadowdom (#225) (51c5617)
  • propagate fullscreen state to potential fullscreen elements (#226) (dec09a5)

0.6.4 (2022-05-19)

Bug Fixes

  • conslidate and simplfy selectors dealing with pointer-events (#222) (575a8f2)
  • remove stale thumbnail preview data when no thumbnails are longer visible (#219) (f8bbd85)

Features

  • seekable-ranges: Add media-seekable/media.seekable state support. Update media-time-display and media-time-range to handle seekable. (5fe51ce)

0.6.3 (2022-05-12)

Features

  • media-play-gesture: Add gesture-receiver as default-slotted in media-container. Add default styling. (67bf32a)
  • media-play-gesture: Baseline impl. (c0d0070)
  • media-play-gesture: clean up relationship between user-inactive and gestures. Clean up gestures-disabled functionality and slotted vs. 'default slotted' behavior. (ac767ac)
  • media-play-gesture: removing pen pointerType support unless/until needed. (962dd93)
  • media-play-gesture: removing previous impl for gestures. (73fc058)
  • media-play-gesture: renaming element per PR feedback. (43fb8a9)
  • media-play-gesture: updating docs for gestures-disabled. (1f48c54)

0.6.2 (2022-05-03)

Bug Fixes

  • mux-themes-use-polyfills: Make sure we use polyfills for themes. (4227b83)

0.6.1 (2022-04-22)

Bug Fixes

  • make media-time-display not wrap when small (c832126)

0.6.0 (2022-04-15)

0.5.4 (2022-03-28)

Bug Fixes

  • use mouseleave instead of mouseout (b55da54)
  • user-inactive-autoplay: Make default user-inactive true to handle programmatic play starts + hiding controls. (8e6ca16)
  • user-inactive-poster: treat slotted poster like slotted media for pointer-events for user-inactive behavior. (95d4126)

Features

  • state-change-events: Add example that updates table based on state change events. (1474d45)
  • state-change-events: Add initial infrastructure to dispatch state change events based on ui attrs + user-inactive. (6b2e422)

0.5.3 (2022-03-07)

0.5.2 (2022-02-28)

0.5.1 (2022-02-22)

Bug Fixes

  • seek back button always used default value for aria label (#164) (d053fe9)

0.5.0 (2022-02-11)

0.4.3 (2022-01-31)

Bug Fixes

  • playback-rate-button: update rates attr parsing (#129) (e5cbf9d)

0.4.0 (2021-11-02)

0.2.2 (2021-07-28)

0.2.1 (2021-07-09)

0.2.0 (2021-07-08)

0.1.1 (2021-06-24)

0.1.0 (2021-05-25)

0.0.15 (2021-03-31)

0.0.14 (2021-02-25)

0.0.13 (2021-02-14)

0.0.12 (2021-02-13)

0.0.11 (2020-12-02)

0.0.10 (2020-12-02)

0.0.9 (2020-11-21)

0.0.8 (2020-11-21)

0.0.7 (2020-11-21)

0.0.6 (2020-11-18)

0.0.5 (2020-11-04)

0.0.4 (2020-10-22)

0.0.3 (2020-03-12)

0.0.2 (2020-03-12)

1.1.0 (2023-06-12)

Bug Fixes

  • Handle visualization in media-time-range for cases where media has ended. (#667) (924aa20)
  • media state change events (#666) (05999ae)

Features

  • add backdrop-filter to range track & bg (#658) (3590497)

1.0.0 (2023-05-30)

Features

BREAKING CHANGES

  • Icon slots have been renamed to "icon" for Airplay, Seek Forward, Seek Backward, and Loading Indicator controls.

1.0.0-rc.5 (2023-05-26)

Bug Fixes

Features

  • Icon slots for buttons with multiple slots (#643) (53e7aad)

1.0.0-rc.4 (2023-05-23)

Bug Fixes

  • fullscreen state getter w/o event (#634) (2dba034), closes #627
  • Make sure we monitor slotchange on slots for media state receive… (#639) (6710381)

1.0.0-rc.3 (2023-05-22)

Bug Fixes

Features

1.0.0-rc.2 (2023-05-16)

Bug Fixes

  • Missing parenthesis in control bar style (#626) (76a1c8f)

1.0.0-rc.1 (2023-05-15)

Bug Fixes

  • Update official themes to use lowercase attrs consistently. (#623) (5d62f93)

1.0.0-rc.0 (2023-05-12)

Bug Fixes

Features

  • add defaultsubtitles to media-controller (#551) (fdbc8c7)
  • add novolumepref attribute to prefer writing to localStorage (#575) (31bdb11)
  • Add props and types to seek forwards and backwards elements (#566) (0259c3a)
  • Adding custom event for breakingpoint changing (#584) (1cf3579)
  • Airplay, Captions, and Cast button props (#587) (14156f7)
  • combine MEDIA_CAPTIONS_LIST into MEDIA_SUBTITLES_LIST (#546) (03e62e6)
  • Drop all deprecated or redundant components. Update tests, examples, docs, etc. based on changes. (#560) (20fca8c)
  • Duration, Fullscreen, and Gesture props (#595) (748c013)
  • fix casing in attributes and vars (#606) (502fff5)
  • Live Button and Mute button props (#596) (d6b5ad6)
  • Media Time Range and Volume Range props (#599) (61d6ddd)
  • Migrate all attributes to lowercase ('smushedcase'). (#537) (fe9eadc)
  • move loading-indicator visibility to be done in CSS only (#586) (0d989b3)
  • Pip button, Play button, and Playback Rates props (#597) (3d96b16)
  • Poster Image, Preview Thumbnail, and Time Display props (#598) (7126ddf)

BREAKING CHANGES

  • removed keys() from AttributeTokenList
  • remove isloading attribute from media-loading-indicator.
  • Change --media-live-indicator-color to --media-live-button-indicator-color, --media-time-buffered-color to --media-time-range-buffered-color, --media-background-position to --media-poster-image-background-position, and --media-background-size to --media-poster-image-background-size.
  • remove defaultshowing attribute from media-captions-button and media-captions-selectmenu.
  • remove MEDIA_CAPTIONS_LIST, MEDIA_CAPTIONS_SHOWING, no-subtitles-fallback, MEDIA_SHOW_CAPTIONS_REQUEST, MEDIA_DISABLE_CAPTIONS_REQUEST, and MEDIA_CAPTIONS_LIST & MEDIA_CAPTIONS_SHOWING change events.

0.21.0 (2023-04-17)

Bug Fixes

  • Automatically serialize arrays as arr.join(' ') for react components (#527) (c24025c)
  • custom element manifest imports from dist/ (#521) (32b8149)
  • font numeric uniform width (#526) (f31d5a3)
  • inactive live button (#535) (8d841ae)
  • make DSD (declarative shadow dom) compatible (#524) (e6105f4)
  • relative src path (6e45bab)

Features

  • introduce a playback rates selectmenu (#513) (502f83f)
  • remove deprecated, move experimental files (#525) (13218c0)

0.20.4 (2023-04-04)

Bug Fixes

0.20.3 (2023-03-31)

Bug Fixes

  • over firing user-inactive event, attr name (#515) (26a05f6)
  • toggle selectmenu via keyboard, hide on click outside of selectmenu (#514) (df9a50d)

0.20.2 (2023-03-30)

Bug Fixes

  • slot for text display, customizable content (#511) (bf1fc7e)
  • toggle time display on click from remaining / not remaining (#510) (826131c)

0.20.1 (2023-03-28)

Bug Fixes

0.20.0 (2023-03-27)

Bug Fixes

  • add non-default buttons to Minimal theme (#507) (bcb218e)
  • add poster slot, media loading indicator to Microvideo (#505) (6ea6079)
  • add style tweaks to Minimal, Microvideo (#508) (cad6841)

Features

0.19.1 (2023-03-20)

Bug Fixes

0.19.0 (2023-03-20)

Bug Fixes

Features

0.18.8 (2023-03-08)

Bug Fixes

  • preventClick on the button given to selectmenu unconditionally (#495) (05ed8fb)

0.18.7 (2023-03-08)

Bug Fixes

  • improve inferred media-ui-extension values (#494) (9028129)

0.18.6 (2023-03-07)

Bug Fixes

  • add default much used styles to theme (#490) (bd778fa)
  • experimental: media-chrome-selectmenu and media-captions-selectmenu (#471) (6d6ddc3)
  • nullish coalesce operator, improve process (#484) (84c3c12)

0.18.5 (2023-02-27)

Bug Fixes

  • add --media-range-track-color for track (862898b)
  • catch play promise internally (#479) (c77cd43)
  • decoupled controller in media-theme (#459) (3852292)
  • rename live edge override attribute to liveedgeoffset. Code cleanup per PR feedback. (0edad38)
  • Use default-stream-type when slotted media streamType is unknown. (#480) (284443d)

Features

  • add Micro theme (#469) (4181c36)
  • live-edge-window: Add basic support for m-ui-e liveEdgeStart proposal. (1214369)
  • media-live-button: Implement paused behaviors and presentation for component. (20838e1)
  • stream-type: Add support for m-ui-e streamType proposal. (50f4a2f)
  • target-live-window: Add basic support for m-ui-e targetLiveWindow proposal. (c450348)

0.18.4 (2023-02-16)

Bug Fixes

  • create theme template on construction (#477) (fe1ca19)

0.18.3 (2023-02-16)

Bug Fixes

0.18.2 (2023-02-06)

Bug Fixes

  • experimental: media-captions-menu-button relative file locations (#466) (53c17b1)
  • experimental: move media-captions-menu-button to experimental folder (#464) (3ddf3a9)

0.18.1 (2023-01-31)

Bug Fixes

  • render on all attr changes, also removal (#461) (f36b8ce)

0.18.0 (2023-01-30)

Bug Fixes

  • add template caches for partial templates (bf075c7)
  • add template instance caching in if directive (2896118)
  • keyDown in listbox should preventDefault, add f,c,k,m to keysUsed of captions-menu-button (#449) (a6dcbb7)
  • overwrite priority template vars (0e1be99)
  • remove audio template var (ee596c4)
  • remove old MediaTheme element (#457) (57277b7)
  • removing non existing token (22bc6f5)

Features

  • experimental captions menu button fixes (#442) (bb924c1)
  • experimental: expose listbox in menu-button as a part (#460) (d4bd8da)

0.17.1 (2023-01-18)

Bug Fixes

  • add audio as template param (8ca0ff6)
  • add block attr, joined directive/expression (fd4ac00)
  • add breakpoints config attribute (2410329)
  • add containerSize to template (008d8d5)
  • add easier very large size names (35bf0c7)
  • add greater than, less than operators (67b389e)
  • add stream-type to the Media Chrome theme (4673f3c)
  • adds a 0:00 default time, fixes #88 (#430) (7d49afa)
  • allow slotting icons for the captions menu button and captions listbox indicator (e62ee71)
  • blurhash dimensions (#432) (c88fb04)
  • captions-listbox: properly handle removing tracks (9e8dff4)
  • captions-menu-button: keep menu within the player bounds (72c7273)
  • change to inclusive breakpoints (d0802b3)
  • limit checking media-controller attrs (b06dc9f)
  • listbox: add hover styles (d91c88c)
  • listbox: improve contrast ratios of listbox colors (0fd50fd)
  • listbox: switch to display inline-flex (2f1d0b8)
  • listitem should get pointer cursor (8e9301c)
  • Media Live Button style changes during live window (#440) (e709e7f)
  • minimal-slotted-media: Do not assume media.seekable will be defined on the slotted media. (65895e9)
  • preliminary media-target-live-window attr (c4b2286)
  • properly select Off item if captions turned off elsewhere (8a0b139)
  • remove media-container-size from MediaUIAttr (4027a8d)
  • remove unused containerSize (caa6eeb)
  • render undefined param (69a92fe)
  • set font-family on listbox (80ae206)
  • slotted poster is not hidden (#431) (4a3720e)
  • use breakpoint-x and breakpoints attrs (176db3c)
  • use shorthand if/foreach/partial attrs (6dc3145)
  • use textContent.toLowerCase() in listbox for more lenient search (7d225dd)

Features

  • add an Off item to captions-listbox (f73d784)
  • add breakpoint params (c17bb17)
  • add default styles to listbox and listitem (9eace4a)
  • container-size attr w/ premeditated naming (cfc43d6)
  • media-captions-menu-button (178b655)

0.17.0 (2023-01-06)

Bug Fixes

  • configurable-fullscreen-element: Ignore misleading typescript error. (71ad4e3)
  • remove unused property (#413) (2beac41)
  • remove web component class globals (5c7acfb), closes #252
  • use npx if needed for docs build (a28b60a)

Features

  • configurable-full-screen: Add an example taking advantage of configurable fullscreen target. (8c2e3d5)
  • configurable-fullscreen-element: Allow Media Controller to target a fullscreenElement other than itself. (817408e)
  • configurable-fullscreen-element: Handle shadow DOM + fullscreen-element id cases better (d0cb339)
  • configurable-fullscreen-element: Keep parity between attribute and prop for fullscreen element, per PR feedback/discussion. (fb4f38b)

0.16.3 (2023-01-03)

Bug Fixes

  • example: captions listbox example should point at the correct vtt files (5be0fc3)
  • listbox should aria-selected the default selection (9052072)
  • listbox: do a null check for default selected element (c4d4f6d)
  • no need for rounding anymore, step=any (011940c), closes #394

Features

  • listbox should support slotting a slot el (563a453)
  • media-chrome-menu-button (0b4d625)

Reverts

  • Revert "Winamp theme checks (#403)" (9605f02), closes #403
  • Revert "example: add Winamp theme (#401)" (7836b25), closes #401

0.16.2 (2022-12-13)

Bug Fixes

  • add listbox role on listbox element itself (92e702f)
  • lint errors and add to CI/CD (c571239)
  • listbox may not have a nextOption (50d92a3)
  • MEDIA_CONTROLLER moved to MediaStateReceiverAttributes (9eb52c3)
  • remove Demuxed theme 2022 from MC bundle (33d697c)
  • typescript errors (983ed78)
  • use new MediaThemeElement for Demuxed theme (4a9327b)

Features

  • add a selectedOptions getter to listbox (3629c87)
  • add change event to listbox (4ddb26e)
  • add value prop/attr to listitem (542ae92)
  • Captions/Subtitles List (d12f6fb)

0.16.1 (2022-12-06)

Bug Fixes

Features

  • Add HTML based Theme w/ minimal template language (#362) (a4a4e2c)
  • add simple responsive theme (684ddef)
  • expose types (#330) (5ae159f)
  • listbox and listitem components (#365) (15d0934)
  • use Construcable CSSStyleSheets when available (eb32514)

Reverts

  • undo changes to media-theme.js (c565bc9)

0.16.0 (2022-10-28)

Bug Fixes

  • box percentage positioning & time range border glitch (#345) (57f1023)

0.15.1 (2022-10-25)

Bug Fixes

  • use composedPath for checking target in schedule inactive event handler (#355) (c44711d)

0.15.0 (2022-10-25)

Bug Fixes

  • clicking in play/fullscreen buttons should schedule inactive (#338) (0b640d0), closes #188
  • preview bounds in shadow dom (#342) (e0b5fa9)

Features

0.14.1 (2022-10-14)

Bug Fixes

  • call disable on disconnectedCallback (35f1242)
  • don't set attributes in a constructor (433560e), closes #335

0.14.0 (2022-10-10)

Bug Fixes

  • a couple of fixes (#331) (f4df42f)
  • properly check iphones for fullscreen unavailability (#332) (c32c74e)
  • properly unset poster image sources when they're removed (#328) (87daae5)

Features

  • add poster object fit and position css vars (#327) (a02bf20)

0.12.0 (2022-09-27)

Bug Fixes

  • Safari still uses webkitFullscreenEnabled (#316) (3850429)

Features

  • remove minify/srcmap esm/cjs, add esm-module (#318) (5ea0d24)
  • support being able to disable buttons, range, and time-display (#320) (d4129c2)

0.11.0 (2022-09-22)

Bug Fixes

  • mark fullscreen button as unavailable if fullscreen is disabled (#311) (a198f0a)
  • set tabindex on media element, if not set (#312) (e7450b8), closes #309

Features

  • add a hotkey for toggling captions: c (#308) (e76b528)

0.10.4 (2022-09-15)

Bug Fixes

Features

  • fix order of layers + add chrome CSS parts (#298) (2c81cbc)

0.10.2 (2022-09-09)

Bug Fixes

0.10.0 (2022-08-29)

Bug Fixes

  • prevent media-poster-image from stretching (07fbd55)

Features

0.9.0 (2022-08-01)

Features

0.8.1 (2022-07-18)

Bug Fixes

  • audio examples, spotify example (#265) (128d5c7)
  • box bounds element type error (6b61552)
  • cast availability (#251) (97d20f7)
  • casting state on new cast-button (fd51440)
  • chrome-button focus ring consistency (9d83108)
  • focus ring on chrome-range input element (a1899e9)
  • have improved styling with host-context and chrome-range (335b875)
  • hide gesture-layer when in audio mode (77f7005)
  • mediaControllerId var bug (b5faf44)
  • reset playbackRate UI after loadstart (#249) (59f4ed4)
  • style override from Tailwind CSS (7590ffb), closes #262
  • text-display should have consistent focus ring to chrome-button (f1bad34)
  • timerange progress jumpy w/out playback rate (2b2d360)

Features

0.6.8 (2022-06-06)

Bug Fixes

0.6.6 (2022-05-31)

Bug Fixes

  • don't set controls inactive when tapping on controls (4f2ee7f)
  • seekable-edges: Convert seekable to numeric values in media-time-range. Handle empty seekable cases better in media-controller. (7fff378)
  • set media-keyboard-control to '' when enabled (6708749)
  • switch to pointermove from mousemove for media preview request (#228) (f6b90e9)
  • unhide controls on touch & autohide on timer (6c47b58)

Features

  • add cast button and castable video elements (#220) (f47f3a9)
  • toggle user-inactive on taps (0d2e223)

0.6.5 (2022-05-23)

Bug Fixes

  • default-ui-times: Forcing numeric times for media-time-display and media-time-range when none are available. (8aa5d82)
  • mouseout timerange for deeply nest shadowdom (#225) (51c5617)
  • propagate fullscreen state to potential fullscreen elements (#226) (dec09a5)

0.6.4 (2022-05-19)

Bug Fixes

  • conslidate and simplfy selectors dealing with pointer-events (#222) (575a8f2)
  • remove stale thumbnail preview data when no thumbnails are longer visible (#219) (f8bbd85)

Features

  • seekable-ranges: Add media-seekable/media.seekable state support. Update media-time-display and media-time-range to handle seekable. (5fe51ce)

0.6.3 (2022-05-12)

Features

  • media-play-gesture: Add gesture-receiver as default-slotted in media-container. Add default styling. (67bf32a)
  • media-play-gesture: Baseline impl. (c0d0070)
  • media-play-gesture: clean up relationship between user-inactive and gestures. Clean up gestures-disabled functionality and slotted vs. 'default slotted' behavior. (ac767ac)
  • media-play-gesture: removing pen pointerType support unless/until needed. (962dd93)
  • media-play-gesture: removing previous impl for gestures. (73fc058)
  • media-play-gesture: renaming element per PR feedback. (43fb8a9)
  • media-play-gesture: updating docs for gestures-disabled. (1f48c54)

0.6.2 (2022-05-03)

Bug Fixes

  • mux-themes-use-polyfills: Make sure we use polyfills for themes. (4227b83)

0.6.1 (2022-04-22)

Bug Fixes

  • make media-time-display not wrap when small (c832126)

0.6.0 (2022-04-15)

0.5.4 (2022-03-28)

Bug Fixes

  • use mouseleave instead of mouseout (b55da54)
  • user-inactive-autoplay: Make default user-inactive true to handle programmatic play starts + hiding controls. (8e6ca16)
  • user-inactive-poster: treat slotted poster like slotted media for pointer-events for user-inactive behavior. (95d4126)

Features

  • state-change-events: Add example that updates table based on state change events. (1474d45)
  • state-change-events: Add initial infrastructure to dispatch state change events based on ui attrs + user-inactive. (6b2e422)

0.5.3 (2022-03-07)

0.5.2 (2022-02-28)

0.5.1 (2022-02-22)

Bug Fixes

  • seek back button always used default value for aria label (#164) (d053fe9)

0.5.0 (2022-02-11)

0.4.3 (2022-01-31)

Bug Fixes

  • playback-rate-button: update rates attr parsing (#129) (e5cbf9d)

0.4.0 (2021-11-02)

0.2.2 (2021-07-28)

0.2.1 (2021-07-09)

0.2.0 (2021-07-08)

0.1.1 (2021-06-24)

0.1.0 (2021-05-25)

0.0.15 (2021-03-31)

0.0.14 (2021-02-25)

0.0.13 (2021-02-14)

0.0.12 (2021-02-13)

0.0.11 (2020-12-02)

0.0.10 (2020-12-02)

0.0.9 (2020-11-21)

0.0.8 (2020-11-21)

0.0.7 (2020-11-21)

0.0.6 (2020-11-18)

0.0.5 (2020-11-04)

0.0.4 (2020-10-22)

0.0.3 (2020-03-12)

0.0.2 (2020-03-12)

1.0.0 (2023-05-30)

Features

BREAKING CHANGES

  • Icon slots have been renamed to "icon" for Airplay, Seek Forward, Seek Backward, and Loading Indicator controls.

1.0.0-rc.5 (2023-05-26)

Bug Fixes

Features

  • Icon slots for buttons with multiple slots (#643) (53e7aad)

1.0.0-rc.4 (2023-05-23)

Bug Fixes

  • fullscreen state getter w/o event (#634) (2dba034), closes #627
  • Make sure we monitor slotchange on slots for media state receive… (#639) (6710381)

1.0.0-rc.3 (2023-05-22)

Bug Fixes

Features

1.0.0-rc.2 (2023-05-16)

Bug Fixes

  • Missing parenthesis in control bar style (#626) (76a1c8f)

1.0.0-rc.1 (2023-05-15)

Bug Fixes

  • Update official themes to use lowercase attrs consistently. (#623) (5d62f93)

1.0.0-rc.0 (2023-05-12)

Bug Fixes

Features

  • add defaultsubtitles to media-controller (#551) (fdbc8c7)
  • add novolumepref attribute to prefer writing to localStorage (#575) (31bdb11)
  • Add props and types to seek forwards and backwards elements (#566) (0259c3a)
  • Adding custom event for breakingpoint changing (#584) (1cf3579)
  • Airplay, Captions, and Cast button props (#587) (14156f7)
  • combine MEDIA_CAPTIONS_LIST into MEDIA_SUBTITLES_LIST (#546) (03e62e6)
  • Drop all deprecated or redundant components. Update tests, examples, docs, etc. based on changes. (#560) (20fca8c)
  • Duration, Fullscreen, and Gesture props (#595) (748c013)
  • fix casing in attributes and vars (#606) (502fff5)
  • Live Button and Mute button props (#596) (d6b5ad6)
  • Media Time Range and Volume Range props (#599) (61d6ddd)
  • Migrate all attributes to lowercase ('smushedcase'). (#537) (fe9eadc)
  • move loading-indicator visibility to be done in CSS only (#586) (0d989b3)
  • Pip button, Play button, and Playback Rates props (#597) (3d96b16)
  • Poster Image, Preview Thumbnail, and Time Display props (#598) (7126ddf)

BREAKING CHANGES

  • removed keys() from AttributeTokenList
  • remove isloading attribute from media-loading-indicator.
  • Change --media-live-indicator-color to --media-live-button-indicator-color, --media-time-buffered-color to --media-time-range-buffered-color, --media-background-position to --media-poster-image-background-position, and --media-background-size to --media-poster-image-background-size.
  • remove defaultshowing attribute from media-captions-button and media-captions-selectmenu.
  • remove MEDIA_CAPTIONS_LIST, MEDIA_CAPTIONS_SHOWING, no-subtitles-fallback, MEDIA_SHOW_CAPTIONS_REQUEST, MEDIA_DISABLE_CAPTIONS_REQUEST, and MEDIA_CAPTIONS_LIST & MEDIA_CAPTIONS_SHOWING change events.

0.21.0 (2023-04-17)

Bug Fixes

  • Automatically serialize arrays as arr.join(' ') for react components (#527) (c24025c)
  • custom element manifest imports from dist/ (#521) (32b8149)
  • font numeric uniform width (#526) (f31d5a3)
  • inactive live button (#535) (8d841ae)
  • make DSD (declarative shadow dom) compatible (#524) (e6105f4)
  • relative src path (6e45bab)

Features

  • introduce a playback rates selectmenu (#513) (502f83f)
  • remove deprecated, move experimental files (#525) (13218c0)

0.20.4 (2023-04-04)

Bug Fixes

0.20.3 (2023-03-31)

Bug Fixes

  • over firing user-inactive event, attr name (#515) (26a05f6)
  • toggle selectmenu via keyboard, hide on click outside of selectmenu (#514) (df9a50d)

0.20.2 (2023-03-30)

Bug Fixes

  • slot for text display, customizable content (#511) (bf1fc7e)
  • toggle time display on click from remaining / not remaining (#510) (826131c)

0.20.1 (2023-03-28)

Bug Fixes

0.20.0 (2023-03-27)

Bug Fixes

  • add non-default buttons to Minimal theme (#507) (bcb218e)
  • add poster slot, media loading indicator to Microvideo (#505) (6ea6079)
  • add style tweaks to Minimal, Microvideo (#508) (cad6841)

Features

0.19.1 (2023-03-20)

Bug Fixes

0.19.0 (2023-03-20)

Bug Fixes

Features

0.18.8 (2023-03-08)

Bug Fixes

  • preventClick on the button given to selectmenu unconditionally (#495) (05ed8fb)

0.18.7 (2023-03-08)

Bug Fixes

  • improve inferred media-ui-extension values (#494) (9028129)

0.18.6 (2023-03-07)

Bug Fixes

  • add default much used styles to theme (#490) (bd778fa)
  • experimental: media-chrome-selectmenu and media-captions-selectmenu (#471) (6d6ddc3)
  • nullish coalesce operator, improve process (#484) (84c3c12)

0.18.5 (2023-02-27)

Bug Fixes

  • add --media-range-track-color for track (862898b)
  • catch play promise internally (#479) (c77cd43)
  • decoupled controller in media-theme (#459) (3852292)
  • rename live edge override attribute to liveedgeoffset. Code cleanup per PR feedback. (0edad38)
  • Use default-stream-type when slotted media streamType is unknown. (#480) (284443d)

Features

  • add Micro theme (#469) (4181c36)
  • live-edge-window: Add basic support for m-ui-e liveEdgeStart proposal. (1214369)
  • media-live-button: Implement paused behaviors and presentation for component. (20838e1)
  • stream-type: Add support for m-ui-e streamType proposal. (50f4a2f)
  • target-live-window: Add basic support for m-ui-e targetLiveWindow proposal. (c450348)

0.18.4 (2023-02-16)

Bug Fixes

  • create theme template on construction (#477) (fe1ca19)

0.18.3 (2023-02-16)

Bug Fixes

0.18.2 (2023-02-06)

Bug Fixes

  • experimental: media-captions-menu-button relative file locations (#466) (53c17b1)
  • experimental: move media-captions-menu-button to experimental folder (#464) (3ddf3a9)

0.18.1 (2023-01-31)

Bug Fixes

  • render on all attr changes, also removal (#461) (f36b8ce)

0.18.0 (2023-01-30)

Bug Fixes

  • add template caches for partial templates (bf075c7)
  • add template instance caching in if directive (2896118)
  • keyDown in listbox should preventDefault, add f,c,k,m to keysUsed of captions-menu-button (#449) (a6dcbb7)
  • overwrite priority template vars (0e1be99)
  • remove audio template var (ee596c4)
  • remove old MediaTheme element (#457) (57277b7)
  • removing non existing token (22bc6f5)

Features

  • experimental captions menu button fixes (#442) (bb924c1)
  • experimental: expose listbox in menu-button as a part (#460) (d4bd8da)

0.17.1 (2023-01-18)

Bug Fixes

  • add audio as template param (8ca0ff6)
  • add block attr, joined directive/expression (fd4ac00)
  • add breakpoints config attribute (2410329)
  • add containerSize to template (008d8d5)
  • add easier very large size names (35bf0c7)
  • add greater than, less than operators (67b389e)
  • add stream-type to the Media Chrome theme (4673f3c)
  • adds a 0:00 default time, fixes #88 (#430) (7d49afa)
  • allow slotting icons for the captions menu button and captions listbox indicator (e62ee71)
  • blurhash dimensions (#432) (c88fb04)
  • captions-listbox: properly handle removing tracks (9e8dff4)
  • captions-menu-button: keep menu within the player bounds (72c7273)
  • change to inclusive breakpoints (d0802b3)
  • limit checking media-controller attrs (b06dc9f)
  • listbox: add hover styles (d91c88c)
  • listbox: improve contrast ratios of listbox colors (0fd50fd)
  • listbox: switch to display inline-flex (2f1d0b8)
  • listitem should get pointer cursor (8e9301c)
  • Media Live Button style changes during live window (#440) (e709e7f)
  • minimal-slotted-media: Do not assume media.seekable will be defined on the slotted media. (65895e9)
  • preliminary media-target-live-window attr (c4b2286)
  • properly select Off item if captions turned off elsewhere (8a0b139)
  • remove media-container-size from MediaUIAttr (4027a8d)
  • remove unused containerSize (caa6eeb)
  • render undefined param (69a92fe)
  • set font-family on listbox (80ae206)
  • slotted poster is not hidden (#431) (4a3720e)
  • use breakpoint-x and breakpoints attrs (176db3c)
  • use shorthand if/foreach/partial attrs (6dc3145)
  • use textContent.toLowerCase() in listbox for more lenient search (7d225dd)

Features

  • add an Off item to captions-listbox (f73d784)
  • add breakpoint params (c17bb17)
  • add default styles to listbox and listitem (9eace4a)
  • container-size attr w/ premeditated naming (cfc43d6)
  • media-captions-menu-button (178b655)

0.17.0 (2023-01-06)

Bug Fixes

  • configurable-fullscreen-element: Ignore misleading typescript error. (71ad4e3)
  • remove unused property (#413) (2beac41)
  • remove web component class globals (5c7acfb), closes #252
  • use npx if needed for docs build (a28b60a)

Features

  • configurable-full-screen: Add an example taking advantage of configurable fullscreen target. (8c2e3d5)
  • configurable-fullscreen-element: Allow Media Controller to target a fullscreenElement other than itself. (817408e)
  • configurable-fullscreen-element: Handle shadow DOM + fullscreen-element id cases better (d0cb339)
  • configurable-fullscreen-element: Keep parity between attribute and prop for fullscreen element, per PR feedback/discussion. (fb4f38b)

0.16.3 (2023-01-03)

Bug Fixes

  • example: captions listbox example should point at the correct vtt files (5be0fc3)
  • listbox should aria-selected the default selection (9052072)
  • listbox: do a null check for default selected element (c4d4f6d)
  • no need for rounding anymore, step=any (011940c), closes #394

Features

  • listbox should support slotting a slot el (563a453)
  • media-chrome-menu-button (0b4d625)

Reverts

  • Revert "Winamp theme checks (#403)" (9605f02), closes #403
  • Revert "example: add Winamp theme (#401)" (7836b25), closes #401

0.16.2 (2022-12-13)

Bug Fixes

  • add listbox role on listbox element itself (92e702f)
  • lint errors and add to CI/CD (c571239)
  • listbox may not have a nextOption (50d92a3)
  • MEDIA_CONTROLLER moved to MediaStateReceiverAttributes (9eb52c3)
  • remove Demuxed theme 2022 from MC bundle (33d697c)
  • typescript errors (983ed78)
  • use new MediaThemeElement for Demuxed theme (4a9327b)

Features

  • add a selectedOptions getter to listbox (3629c87)
  • add change event to listbox (4ddb26e)
  • add value prop/attr to listitem (542ae92)
  • Captions/Subtitles List (d12f6fb)

0.16.1 (2022-12-06)

Bug Fixes

Features

  • Add HTML based Theme w/ minimal template language (#362) (a4a4e2c)
  • add simple responsive theme (684ddef)
  • expose types (#330) (5ae159f)
  • listbox and listitem components (#365) (15d0934)
  • use Construcable CSSStyleSheets when available (eb32514)

Reverts

  • undo changes to media-theme.js (c565bc9)

0.16.0 (2022-10-28)

Features

  • box percentage positioning & time range border glitch (#345) (57f1023)

0.15.1 (2022-10-25)

Bug Fixes

  • use composedPath for checking target in schedule inactive event handler (#355) (c44711d)

0.15.0 (2022-10-25)

Bug Fixes

  • clicking in play/fullscreen buttons should schedule inactive (#338) (0b640d0), closes #188
  • preview bounds in shadow dom (#342) (e0b5fa9)

Features

0.14.1 (2022-10-14)

Bug Fixes

  • call disable on disconnectedCallback (35f1242)
  • don't set attributes in a constructor (433560e), closes #335

0.14.0 (2022-10-10)

Bug Fixes

  • a couple of fixes (#331) (f4df42f)
  • properly check iphones for fullscreen unavailability (#332) (c32c74e)
  • properly unset poster image sources when they're removed (#328) (87daae5)

Features

  • add poster object fit and position css vars (#327) (a02bf20)

0.13.0 (2022-10-06)

Bug Fixes

  • properly unset poster image sources when they're removed (#328) (87daae5)

Features

  • add poster object fit and position css vars (#327) (a02bf20)

0.12.0 (2022-09-27)

Bug Fixes

  • Safari still uses webkitFullscreenEnabled (#316) (3850429)

Features

  • remove minify/srcmap esm/cjs, add esm-module (#318) (5ea0d24)
  • support being able to disable buttons, range, and time-display (#320) (d4129c2)

0.11.1 (2022-09-23)

Bug Fixes

  • Safari still uses webkitFullscreenEnabled (#316) (3850429)

0.11.0 (2022-09-22)

Bug Fixes

  • mark fullscreen button as unavailable if fullscreen is disabled (#311) (a198f0a)
  • set tabindex on media element, if not set (#312) (e7450b8), closes #309

Features

  • add a hotkey for toggling captions: c (#308) (e76b528)

0.10.4 (2022-09-15)

Bug Fixes

Features

  • fix order of layers + add chrome CSS parts (#298) (2c81cbc)

0.10.3 (2022-09-14)

Bug Fixes

  • fix #299 right click on media element (#301) (a498bb1)
  • keyup handlers for some keyboard behavior should only apply once (#300) (34fb6d3)

0.10.2 (2022-09-09)

Bug Fixes

0.10.1 (2022-09-07)

Bug Fixes

  • Stop progress bar when media is loading #293

0.10.0 (2022-08-29)

Bug Fixes

  • prevent media-poster-image from stretching (07fbd55)

Features

0.9.0 (2022-08-01)

Features

0.8.1 (2022-07-18)

Bug Fixes

  • timerange progress jumpy w/out playback rate (2b2d360)

0.8.0 (2022-07-15)

Bug Fixes

  • audio examples, spotify example (#265) (128d5c7)
  • box bounds element type error (6b61552)

0.7.0 (2022-07-14)

Features

0.6.9 (2022-06-21)

Bug Fixes

  • cast availability (#251) (97d20f7)
  • casting state on new cast-button (fd51440)
  • chrome-button focus ring consistency (9d83108)
  • focus ring on chrome-range input element (a1899e9)
  • have improved styling with host-context and chrome-range (335b875)
  • hide gesture-layer when in audio mode (77f7005)
  • reset playbackRate UI after loadstart (#249) (59f4ed4)
  • text-display should have consistent focus ring to chrome-button (f1bad34)

0.6.8 (2022-06-06)

Bug Fixes

0.6.6 (2022-05-31)

Bug Fixes

  • don't set controls inactive when tapping on controls (4f2ee7f)
  • seekable-edges: Convert seekable to numeric values in media-time-range. Handle empty seekable cases better in media-controller. (7fff378)
  • set media-keyboard-control to '' when enabled (6708749)
  • switch to pointermove from mousemove for media preview request (#228) (f6b90e9)
  • unhide controls on touch & autohide on timer (6c47b58)

Features

  • add cast button and castable video elements (#220) (f47f3a9)
  • toggle user-inactive on taps (0d2e223)

0.6.5 (2022-05-23)

Bug Fixes

  • default-ui-times: Forcing numeric times for media-time-display and media-time-range when none are available. (8aa5d82)
  • mouseout timerange for deeply nest shadowdom (#225) (51c5617)
  • propagate fullscreen state to potential fullscreen elements (#226) (dec09a5)

0.6.4 (2022-05-19)

Bug Fixes

  • conslidate and simplfy selectors dealing with pointer-events (#222) (575a8f2)
  • remove stale thumbnail preview data when no thumbnails are longer visible (#219) (f8bbd85)

Features

  • seekable-ranges: Add media-seekable/media.seekable state support. Update media-time-display and media-time-range to handle seekable. (5fe51ce)

0.6.3 (2022-05-12)

Features

  • media-play-gesture: Add gesture-receiver as default-slotted in media-container. Add default styling. (67bf32a)
  • media-play-gesture: Baseline impl. (c0d0070)
  • media-play-gesture: clean up relationship between user-inactive and gestures. Clean up gestures-disabled functionality and slotted vs. 'default slotted' behavior. (ac767ac)
  • media-play-gesture: removing pen pointerType support unless/until needed. (962dd93)
  • media-play-gesture: removing previous impl for gestures. (73fc058)
  • media-play-gesture: renaming element per PR feedback. (43fb8a9)
  • media-play-gesture: updating docs for gestures-disabled. (1f48c54)

0.6.2 (2022-05-03)

Bug Fixes

  • mux-themes-use-polyfills: Make sure we use polyfills for themes. (4227b83)

0.6.1 (2022-04-22)

Bug Fixes

  • make media-time-display not wrap when small (c832126)

0.6.0 (2022-04-15)

0.5.4 (2022-03-28)

Bug Fixes

  • use mouseleave instead of mouseout (b55da54)
  • user-inactive-autoplay: Make default user-inactive true to handle programmatic play starts + hiding controls. (8e6ca16)
  • user-inactive-poster: treat slotted poster like slotted media for pointer-events for user-inactive behavior. (95d4126)

Features

  • state-change-events: Add example that updates table based on state change events. (1474d45)
  • state-change-events: Add initial infrastructure to dispatch state change events based on ui attrs + user-inactive. (6b2e422)

0.5.3 (2022-03-07)

0.5.2 (2022-02-28)

0.5.1 (2022-02-22)

Bug Fixes

  • seek back button always used default value for aria label (#164) (d053fe9)

0.5.0 (2022-02-11)

0.4.3 (2022-01-31)

Bug Fixes

  • playback-rate-button: update rates attr parsing (#129) (e5cbf9d)

0.4.0 (2021-11-02)

0.2.2 (2021-07-28)

0.2.1 (2021-07-09)

0.2.0 (2021-07-08)

0.1.1 (2021-06-24)

0.1.0 (2021-05-25)

0.0.15 (2021-03-31)

0.0.14 (2021-02-25)

0.0.13 (2021-02-14)

0.0.12 (2021-02-13)

0.0.11 (2020-12-02)

0.0.10 (2020-12-02)

0.0.9 (2020-11-21)

0.0.8 (2020-11-21)

0.0.7 (2020-11-21)

0.0.6 (2020-11-18)

0.0.5 (2020-11-04)

0.0.4 (2020-10-22)

0.0.3 (2020-03-12)

0.0.2 (2020-03-12)