@videojs/html 10.0.0-beta.7 → 10.0.0-beta.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cdn/audio-minimal.js +1 -1
- package/cdn/audio-minimal.js.map +1 -1
- package/cdn/audio.js +1 -1
- package/cdn/audio.js.map +1 -1
- package/cdn/background.dev.js +13 -0
- package/cdn/background.dev.js.map +1 -1
- package/cdn/background.js +1 -1
- package/cdn/background.js.map +1 -1
- package/cdn/video-minimal.js +1 -1
- package/cdn/video-minimal.js.map +1 -1
- package/cdn/video.js +1 -1
- package/cdn/video.js.map +1 -1
- package/dist/default/_virtual/inline-css_src/define/background/skin.js +6 -0
- package/dist/default/_virtual/inline-css_src/define/background/skin.js.map +1 -0
- package/dist/default/define/audio/minimal-skin.js +1 -1
- package/dist/default/define/audio/minimal-skin.js.map +1 -1
- package/dist/default/define/audio/minimal-skin.tailwind.js +1 -1
- package/dist/default/define/audio/minimal-skin.tailwind.js.map +1 -1
- package/dist/default/define/audio/skin.js +1 -1
- package/dist/default/define/audio/skin.js.map +1 -1
- package/dist/default/define/audio/skin.tailwind.js +1 -1
- package/dist/default/define/audio/skin.tailwind.js.map +1 -1
- package/dist/default/define/background/skin.js +10 -0
- package/dist/default/define/background/skin.js.map +1 -1
- package/dist/default/define/video/minimal-skin.js +1 -1
- package/dist/default/define/video/minimal-skin.js.map +1 -1
- package/dist/default/define/video/minimal-skin.tailwind.js +1 -1
- package/dist/default/define/video/minimal-skin.tailwind.js.map +1 -1
- package/dist/default/define/video/skin.js +1 -1
- package/dist/default/define/video/skin.js.map +1 -1
- package/dist/default/define/video/skin.tailwind.js +1 -1
- package/dist/default/define/video/skin.tailwind.js.map +1 -1
- package/dist/dev/_virtual/inline-css_src/define/background/skin.js +6 -0
- package/dist/dev/_virtual/inline-css_src/define/background/skin.js.map +1 -0
- package/dist/dev/define/background/skin.d.ts.map +1 -1
- package/dist/dev/define/background/skin.js +10 -0
- package/dist/dev/define/background/skin.js.map +1 -1
- package/package.json +9 -9
- package/cdn/audio-minimal.css +0 -1
- package/cdn/audio.css +0 -1
- package/cdn/background.css +0 -1
- package/cdn/video-minimal.css +0 -1
- package/cdn/video.css +0 -1
package/cdn/audio-minimal.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{o as e}from"./create-player-QjiNZlh7.js";import{g as t,h as n}from"./volume-slider-BqzTytgB.js";import"./safe-define-GrHW3P9e.js";import{t as r}from"./minimal-BJfleQcQ.js";import"./player-CztIlNio.js";var i=`.media-button--play .media-icon--restart,.media-button--play .media-icon--play,.media-button--play .media-icon--pause,.media-button--mute .media-icon--volume-off,.media-button--mute .media-icon--volume-low,.media-button--mute .media-icon--volume-high{opacity:0;display:none}.media-button--play[data-ended] .media-icon--restart,.media-button--play:not([data-ended])[data-paused] .media-icon--play,.media-button--play:not([data-paused]):not([data-ended]) .media-icon--pause,.media-button--mute[data-muted] .media-icon--volume-off,.media-button--mute:not([data-muted])[data-volume-level=low] .media-icon--volume-low,.media-button--mute:not([data-muted]):not([data-volume-level=low]) .media-icon--volume-high{opacity:1;display:block}.media-tooltip-label{display:none}.media-button--play[data-ended]+.media-tooltip .media-tooltip-label--replay,.media-button--play:not([data-ended])[data-paused]+.media-tooltip .media-tooltip-label--play,.media-button--play:not([data-paused]):not([data-ended])+.media-tooltip .media-tooltip-label--pause{display:block}.media-minimal-skin *,.media-minimal-skin :before,.media-minimal-skin :after{box-sizing:border-box}.media-minimal-skin img,.media-minimal-skin video,.media-minimal-skin svg{max-width:100%;display:block}.media-minimal-skin button{font:inherit}@media (prefers-reduced-motion:no-preference){.media-minimal-skin{interpolate-size:allow-keywords}}.media-minimal-skin{isolation:isolate;border-radius:var(--media-border-radius,.75rem);letter-spacing:normal;-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto;width:100%;height:100%;font-family:Inter Variable,Inter,ui-sans-serif,system-ui,sans-serif;font-size:.8125rem;line-height:1.5;display:block;position:relative;container:media-root/inline-size}.media-minimal-skin .media-buffering-indicator{color:oklch(100% 0 0);pointer-events:none;justify-content:center;align-items:center;display:none;position:absolute;inset:0;&[data-visible]{display:flex}}.media-minimal-skin .media-error{z-index:20;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.media-minimal-skin .media-error__dialog{color:oklch(100% 0 0);text-shadow:0 1px oklch(0% 0 0/.5);max-width:16rem;transition-property:opacity,scale;transition-duration:.5s;transition-delay:.1s;transition-timing-function:linear(0, .034 1.5%, .763 9.7%, 1.066 13.9%, 1.198 19.9%, 1.184 21.8%, .963 37.5%, .997 50.9%, 1);flex-direction:column;gap:.75rem;padding:1rem;font-size:.875rem;display:flex;@media (prefers-reduced-motion:reduce){transition-duration:.1s;transition-delay:0s;transition-timing-function:ease-out}}.media-minimal-skin .media-error[data-starting-style] .media-error__dialog,.media-minimal-skin .media-error[data-ending-style] .media-error__dialog{opacity:0;scale:.5}.media-minimal-skin .media-error__content{flex-direction:column;gap:.5rem;padding:.375rem 0;display:flex}.media-minimal-skin .media-error__title{font-weight:600;line-height:1.25}.media-minimal-skin .media-error__description{opacity:.7;overflow-wrap:anywhere}.media-minimal-skin .media-error__actions{gap:.5rem;display:flex;&>*{flex:1}}.media-minimal-skin .media-controls{--media-controls-current-shadow-color:oklch(from currentColor 0 0 0 / clamp(0, calc((l - .5) * .5), .15));--media-controls-current-shadow-color-subtle:oklch(from var(--media-controls-current-shadow-color) l c h / calc(alpha * .4));text-shadow:0 1px 0 var(--media-controls-current-shadow-color);align-items:center;display:flex;container:media-controls/inline-size}.media-minimal-skin .media-time-controls{flex-direction:row-reverse;flex:1;align-items:center;gap:.75rem;display:flex}.media-minimal-skin .media-time{align-items:center;gap:.25rem;display:flex}.media-minimal-skin .media-time__value{font-variant-numeric:tabular-nums}.media-minimal-skin .media-time__value--current,.media-minimal-skin .media-time__separator{display:none}@container media-controls (width>28rem){.media-minimal-skin .media-time-controls{flex-direction:row}.media-minimal-skin .media-time__value--duration,.media-minimal-skin .media-time__separator{color:oklch(from currentColor l c h / .6)}.media-minimal-skin .media-time__value--current,.media-minimal-skin .media-time__separator{display:inline}}.media-minimal-skin .media-button-group{align-items:center;gap:.075rem;display:flex;@container media-root (width>40rem){gap:.125rem}}.media-minimal-skin .media-button{outline-offset:-2px;color:oklch(0% 0 0);text-align:center;text-shadow:inherit;cursor:pointer;user-select:none;touch-action:manipulation;background:oklch(100% 0 0);border:none;border-radius:.5rem;outline:2px solid #0000;flex-shrink:0;justify-content:center;align-items:center;padding:.5rem 1rem;font-weight:500;transition-property:background-color,color,outline-offset,scale;transition-duration:.15s;transition-timing-function:ease-out;display:flex;&:focus-visible{outline-offset:2px;outline-color:currentColor}&[disabled]{opacity:.5;filter:grayscale();cursor:not-allowed}&[data-availability=unavailable]{display:none}}.media-minimal-skin .media-button--icon{aspect-ratio:1;width:2.375rem;color:inherit;background:0 0;padding:0;display:grid;&:hover,&:focus-visible,&[aria-expanded=true]{color:oklch(from currentColor l c h / .8);text-decoration:none}&:active{scale:.9}& .media-icon{filter:drop-shadow(0 1px 0 var(--media-controls-current-shadow-color,oklch(0% 0 0/.25)))}}.media-minimal-skin .media-button--seek{& .media-icon__label{font-variant-numeric:tabular-nums;font-size:.75em;font-weight:480;position:absolute;bottom:-3px;right:-1px}&:has(.media-icon--flipped) .media-icon__label{right:unset;left:-1px}@container media-controls (width<28rem){display:none}}.media-minimal-skin .media-button--playback-rate{padding:0;&:after{content:attr(data-rate) "×";font-variant-numeric:tabular-nums;width:4ch}}.media-minimal-skin .media-icon__container{position:relative}.media-minimal-skin .media-icon{transition-behavior:allow-discrete;flex-shrink:0;grid-area:1/1;width:18px;height:18px;transition-property:display,opacity;transition-duration:.15s;transition-timing-function:ease-out;display:block}.media-minimal-skin .media-icon--flipped{scale:-1 1}.media-minimal-skin .media-slider{cursor:pointer;border-radius:3.40282e38px;outline:none;flex:1;justify-content:center;align-items:center;display:flex;position:relative;&[data-orientation=horizontal]{width:100%;min-width:5rem;height:1.25rem}&[data-orientation=vertical]{width:1.25rem;height:4.5rem}}.media-minimal-skin .media-slider__track{isolation:isolate;border-radius:inherit;user-select:none;background-color:oklch(from currentColor l c h / .2);position:relative;overflow:hidden;&[data-orientation=horizontal]{width:100%;height:.1875rem}&[data-orientation=vertical]{width:.1875rem;height:100%}}.media-minimal-skin .media-slider__thumb{z-index:10;width:.75rem;height:.75rem;box-shadow:0 0 0 1px var(--media-controls-current-shadow-color-subtle,oklch(0% 0 0/.1)), 0 1px 3px 0 oklch(0% 0 0/.15), 0 1px 2px -1px oklch(0% 0 0/.15);opacity:0;transform-origin:50%;user-select:none;outline-offset:-2px;background-color:currentColor;border-radius:3.40282e38px;outline:2px solid #0000;transition-property:opacity,scale,outline-offset;transition-duration:.15s;transition-timing-function:ease-out;position:absolute;translate:-50% -50%;scale:.7;&[data-orientation=horizontal]{top:50%;left:var(--media-slider-fill)}&[data-orientation=vertical]{left:50%;top:calc(100% - var(--media-slider-fill))}&:focus-visible{outline-offset:2px;outline-color:currentColor}}.media-minimal-skin .media-slider:hover .media-slider__thumb,.media-minimal-skin .media-slider:focus-within .media-slider__thumb,.media-minimal-skin .media-slider__thumb--persistent{opacity:1;scale:1}.media-minimal-skin .media-slider__buffer,.media-minimal-skin .media-slider__fill{border-radius:inherit;pointer-events:none;position:absolute}.media-minimal-skin .media-slider__buffer[data-orientation=horizontal],.media-minimal-skin .media-slider__fill[data-orientation=horizontal]{inset-block:0;left:0}.media-minimal-skin .media-slider__buffer[data-orientation=vertical],.media-minimal-skin .media-slider__fill[data-orientation=vertical]{inset-inline:0;bottom:0}.media-minimal-skin .media-slider__buffer{background-color:oklch(from currentColor l c h / .2);transition-duration:.25s;transition-timing-function:ease-out;&[data-orientation=horizontal]{width:var(--media-slider-buffer);transition-property:width}&[data-orientation=vertical]{height:var(--media-slider-buffer);transition-property:height}}.media-minimal-skin .media-slider__fill{background-color:currentColor;&[data-orientation=horizontal]{width:var(--media-slider-fill)}&[data-orientation=vertical]{height:var(--media-slider-fill)}}.media-minimal-skin .media-popover,.media-minimal-skin .media-tooltip{color:inherit;border:0;margin:0;transition-property:scale,opacity,filter;transition-duration:.15s;overflow:visible;&[data-starting-style],&[data-ending-style]{opacity:0;filter:blur(8px);scale:.5}&[data-instant]{transition-duration:0s}&[data-side=top]{transform-origin:bottom}&[data-side=bottom]{transform-origin:top}&[data-side=left]{transform-origin:100%}&[data-side=right]{transform-origin:0}&:before{content:"";pointer-events:inherit;position:absolute}&[data-side=top]:before,&[data-side=bottom]:before{width:100%;inset-inline:0}&[data-side=top]:before{top:100%}&[data-side=bottom]:before{bottom:100%}&[data-side=left]:before,&[data-side=right]:before{height:100%;inset-block:0}&[data-side=left]:before{left:100%}&[data-side=right]:before{right:100%}}.media-minimal-skin .media-popover{&[data-side=top]:before,&[data-side=bottom]:before{height:var(--media-popover-side-offset)}&[data-side=left]:before,&[data-side=right]:before{width:var(--media-popover-side-offset)}}.media-minimal-skin .media-tooltip{backdrop-filter:blur(16px)saturate(1.5);white-space:nowrap;--media-tooltip-side-offset:.75rem;background-color:oklch(100% 0 0/.1);border-radius:.25rem;padding:.25rem .5rem;font-size:.75rem;box-shadow:0 4px 6px -1px oklch(0% 0 0/.1),0 2px 4px -2px oklch(0% 0 0/.1);&[data-side=top]:before,&[data-side=bottom]:before{height:var(--media-tooltip-side-offset)}&[data-side=left]:before,&[data-side=right]:before{width:var(--media-tooltip-side-offset)}@media (prefers-reduced-transparency:reduce){background-color:oklch(0% 0 0/.7)}@media (prefers-contrast:more){background-color:oklch(0% 0 0/.9)}}.media-minimal-skin .media-popover--volume:has(media-volume-slider[data-availability=unsupported]){display:none}.media-minimal-skin--audio{--media-controls-background-color:oklch(100% 0 0);--media-controls-border-color:oklch(0% 0 0/.1);--media-controls-text-color:var(--media-color-primary,oklch(0% 0 0));@media (prefers-color-scheme:dark){--media-controls-background-color:oklch(0% 0 0);--media-controls-border-color:oklch(100% 0 0/.1);--media-controls-text-color:var(--media-color-primary,oklch(100% 0 0))}}.media-minimal-skin--audio .media-controls{background-color:var(--media-controls-background-color);backdrop-filter:blur(16px)saturate(1.5);border-radius:var(--media-border-radius,.75rem);color:var(--media-controls-text-color);box-shadow:0 0 0 1px var(--media-controls-border-color);gap:.5rem;padding:.375rem}.media-minimal-skin--audio .media-popover--volume{background:linear-gradient(to left, var(--media-controls-background-color) 80%, transparent 100%);--media-popover-side-offset:.75rem;padding:.5rem 0 .5rem 4rem}`;function a(){return`<media-container class="media-minimal-skin media-minimal-skin--audio"><slot name="media"></slot><slot></slot><div class="media-controls"><media-tooltip-group><div class="media-button-group"><media-play-button commandfor="play-tooltip" class="media-button media-button--icon media-button--play"> ${r(`restart`,{class:`media-icon media-icon--restart`})} ${r(`play`,{class:`media-icon media-icon--play`})} ${r(`pause`,{class:`media-icon media-icon--pause`})} </media-play-button><media-tooltip id="play-tooltip" side="top" class="media-tooltip"><span class="media-tooltip-label media-tooltip-label--replay">Replay</span><span class="media-tooltip-label media-tooltip-label--play">Play</span><span class="media-tooltip-label media-tooltip-label--pause">Pause</span></media-tooltip><media-seek-button commandfor="seek-backward-tooltip" seconds="-10" class="media-button media-button--icon media-button--seek"><span class="media-icon__container"> ${r(`seek`,{class:`media-icon media-icon--seek media-icon--flipped`})} <span class="media-icon__label">10</span></span></media-seek-button><media-tooltip id="seek-backward-tooltip" side="top" class="media-tooltip"> Seek backward 10 seconds </media-tooltip><media-seek-button commandfor="seek-forward-tooltip" seconds="10" class="media-button media-button--icon media-button--seek"><span class="media-icon__container"> ${r(`seek`,{class:`media-icon media-icon--seek`})} <span class="media-icon__label">10</span></span></media-seek-button><media-tooltip id="seek-forward-tooltip" side="top" class="media-tooltip"> Seek forward 10 seconds </media-tooltip></div><div class="media-time-controls"><media-time-group class="media-time"><media-time type="current" class="media-time__value media-time__value--current"></media-time><media-time-separator class="media-time__separator"></media-time-separator><media-time type="duration" class="media-time__value media-time__value--duration"></media-time></media-time-group><media-time-slider class="media-slider"><media-slider-track class="media-slider__track"><media-slider-fill class="media-slider__fill"></media-slider-fill><media-slider-buffer class="media-slider__buffer"></media-slider-buffer></media-slider-track><media-slider-thumb class="media-slider__thumb"></media-slider-thumb></media-time-slider></div><div class="media-button-group"><media-playback-rate-button commandfor="playback-rate-tooltip" class="media-button media-button--icon media-button--playback-rate"></media-playback-rate-button><media-tooltip id="playback-rate-tooltip" side="top" class="media-tooltip"> Toggle playback rate </media-tooltip><media-mute-button commandfor="audio-volume-popover" class="media-button media-button--icon media-button--mute"> ${r(`volume-off`,{class:`media-icon media-icon--volume-off`})} ${r(`volume-low`,{class:`media-icon media-icon--volume-low`})} ${r(`volume-high`,{class:`media-icon media-icon--volume-high`})} </media-mute-button><media-popover id="audio-volume-popover" open-on-hover delay="200" close-delay="100" side="left" class="media-popover media-popover--volume"><media-volume-slider class="media-slider" orientation="horizontal" thumb-alignment="edge"><media-slider-track class="media-slider__track"><media-slider-fill class="media-slider__fill"></media-slider-fill></media-slider-track><media-slider-thumb class="media-slider__thumb media-slider__thumb--persistent"></media-slider-thumb></media-volume-slider></media-popover></div></media-tooltip-group></div></media-container>`}var o=class extends n(e){static{this.tagName=`audio-minimal-skin`}static{this.styles=t(i)}static{this.getTemplateHTML=a}};customElements.define(o.tagName,o);
|
|
1
|
+
import{o as e}from"./create-player-QjiNZlh7.js";import{g as t,h as n}from"./volume-slider-BqzTytgB.js";import"./safe-define-GrHW3P9e.js";import{t as r}from"./minimal-BJfleQcQ.js";import"./player-CztIlNio.js";var i=`.media-button--play .media-icon--restart,.media-button--play .media-icon--play,.media-button--play .media-icon--pause,.media-button--mute .media-icon--volume-off,.media-button--mute .media-icon--volume-low,.media-button--mute .media-icon--volume-high{opacity:0;display:none}.media-button--play[data-ended] .media-icon--restart,.media-button--play:not([data-ended])[data-paused] .media-icon--play,.media-button--play:not([data-paused]):not([data-ended]) .media-icon--pause,.media-button--mute[data-muted] .media-icon--volume-off,.media-button--mute:not([data-muted])[data-volume-level=low] .media-icon--volume-low,.media-button--mute:not([data-muted]):not([data-volume-level=low]) .media-icon--volume-high{opacity:1;display:block}.media-tooltip-label{display:none}.media-button--play[data-ended]+.media-tooltip .media-tooltip-label--replay,.media-button--play:not([data-ended])[data-paused]+.media-tooltip .media-tooltip-label--play,.media-button--play:not([data-paused]):not([data-ended])+.media-tooltip .media-tooltip-label--pause{display:block}.media-minimal-skin *,.media-minimal-skin :before,.media-minimal-skin :after{box-sizing:border-box}.media-minimal-skin img,.media-minimal-skin video,.media-minimal-skin svg{max-width:100%;display:block}.media-minimal-skin button{font:inherit}@media (prefers-reduced-motion:no-preference){.media-minimal-skin{interpolate-size:allow-keywords}}.media-minimal-skin{isolation:isolate;border-radius:var(--media-border-radius,.75rem);letter-spacing:normal;-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto;width:100%;height:100%;font-family:Inter Variable,Inter,ui-sans-serif,system-ui,sans-serif;font-size:.8125rem;line-height:1.5;display:block;position:relative;container:media-root/inline-size}.media-minimal-skin .media-buffering-indicator{color:oklch(100% 0 0);pointer-events:none;justify-content:center;align-items:center;display:none;position:absolute;inset:0;&[data-visible]{display:flex}}.media-minimal-skin .media-error{z-index:20;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.media-minimal-skin .media-error__dialog{color:oklch(100% 0 0);text-shadow:0 1px oklch(0% 0 0/.5);max-width:16rem;transition-property:opacity,scale;transition-duration:.5s;transition-delay:.1s;transition-timing-function:linear(0, .034 1.5%, .763 9.7%, 1.066 13.9%, 1.198 19.9%, 1.184 21.8%, .963 37.5%, .997 50.9%, 1);flex-direction:column;gap:.75rem;padding:1rem;font-size:.875rem;display:flex;@media (prefers-reduced-motion:reduce){transition-duration:.1s;transition-delay:0s;transition-timing-function:ease-out}}.media-minimal-skin .media-error[data-starting-style] .media-error__dialog,.media-minimal-skin .media-error[data-ending-style] .media-error__dialog{opacity:0;scale:.5}.media-minimal-skin .media-error__content{flex-direction:column;gap:.5rem;padding:.375rem 0;display:flex}.media-minimal-skin .media-error__title{font-weight:600;line-height:1.25}.media-minimal-skin .media-error__description{opacity:.7;overflow-wrap:anywhere}.media-minimal-skin .media-error__actions{gap:.5rem;display:flex;&>*{flex:1}}.media-minimal-skin .media-controls{--media-controls-current-shadow-color:oklch(from currentColor 0 0 0 / clamp(0, calc((l - .5) * .5), .15));--media-controls-current-shadow-color-subtle:oklch(from var(--media-controls-current-shadow-color) l c h / calc(alpha * .4));text-shadow:0 1px 0 var(--media-controls-current-shadow-color);align-items:center;display:flex;container:media-controls/inline-size}.media-minimal-skin .media-time-controls{flex-direction:row-reverse;flex:1;align-items:center;gap:.75rem;display:flex}.media-minimal-skin .media-time{align-items:center;gap:.25rem;display:flex}.media-minimal-skin .media-time__value{font-variant-numeric:tabular-nums}.media-minimal-skin .media-time__value--current,.media-minimal-skin .media-time__separator{display:none}@container media-controls (width>28rem){.media-minimal-skin .media-time-controls{flex-direction:row}.media-minimal-skin .media-time__value--duration,.media-minimal-skin .media-time__separator{color:oklch(from currentColor l c h / .6)}.media-minimal-skin .media-time__value--current,.media-minimal-skin .media-time__separator{display:inline}}.media-minimal-skin .media-button-group{align-items:center;gap:.075rem;display:flex;@container media-root (width>40rem){gap:.125rem}}.media-minimal-skin .media-button{outline-offset:-2px;color:oklch(0% 0 0);text-align:center;text-shadow:inherit;cursor:pointer;user-select:none;touch-action:manipulation;background:oklch(100% 0 0);border:none;border-radius:.5rem;outline:2px solid #0000;flex-shrink:0;justify-content:center;align-items:center;padding:.5rem 1rem;font-weight:500;transition-property:background-color,color,outline-offset,scale;transition-duration:.15s;transition-timing-function:ease-out;display:flex;&:focus-visible{outline-offset:2px;outline-color:currentColor}&[disabled]{opacity:.5;filter:grayscale();cursor:not-allowed}&[data-availability=unavailable]{display:none}}.media-minimal-skin .media-button--icon{aspect-ratio:1;width:2.375rem;color:inherit;background:0 0;padding:0;display:grid;&:hover,&:focus-visible,&[aria-expanded=true]{color:oklch(from currentColor l c h / .8);text-decoration:none}&:active{scale:.9}& .media-icon{filter:drop-shadow(0 1px 0 var(--media-controls-current-shadow-color,oklch(0% 0 0/.25)))}}.media-minimal-skin .media-button--seek{& .media-icon__label{font-variant-numeric:tabular-nums;font-size:.75em;font-weight:480;position:absolute;bottom:-3px;right:-1px}&:has(.media-icon--flipped) .media-icon__label{right:unset;left:-1px}@container media-controls (width<28rem){display:none}}.media-minimal-skin .media-button--playback-rate{padding:0;&:after{content:attr(data-rate) "×";font-variant-numeric:tabular-nums;width:4ch}}.media-minimal-skin .media-icon__container{position:relative}.media-minimal-skin .media-icon{transition-behavior:allow-discrete;flex-shrink:0;grid-area:1/1;width:18px;height:18px;transition-property:display,opacity;transition-duration:.15s;transition-timing-function:ease-out;display:block}.media-minimal-skin .media-icon--flipped{scale:-1 1}.media-minimal-skin .media-slider{cursor:pointer;border-radius:3.40282e38px;outline:none;flex:1;justify-content:center;align-items:center;display:flex;position:relative;&[data-orientation=horizontal]{width:100%;min-width:5rem;height:1.25rem}&[data-orientation=vertical]{width:1.25rem;height:4.5rem}}.media-minimal-skin .media-slider__track{isolation:isolate;border-radius:inherit;user-select:none;background-color:oklch(from currentColor l c h / .2);position:relative;overflow:hidden;&[data-orientation=horizontal]{width:100%;height:.1875rem}&[data-orientation=vertical]{width:.1875rem;height:100%}}.media-minimal-skin .media-slider__thumb{z-index:10;width:.75rem;height:.75rem;box-shadow:0 0 0 1px var(--media-controls-current-shadow-color-subtle,oklch(0% 0 0/.1)), 0 1px 3px 0 oklch(0% 0 0/.15), 0 1px 2px -1px oklch(0% 0 0/.15);opacity:0;transform-origin:50%;user-select:none;outline-offset:-2px;background-color:currentColor;border-radius:3.40282e38px;outline:2px solid #0000;transition-property:opacity,scale,outline-offset;transition-duration:.15s;transition-timing-function:ease-out;position:absolute;translate:-50% -50%;scale:.7;&[data-orientation=horizontal]{top:50%;left:var(--media-slider-fill)}&[data-orientation=vertical]{left:50%;top:calc(100% - var(--media-slider-fill))}&:focus-visible{outline-offset:2px;outline-color:currentColor}}.media-minimal-skin .media-slider:hover .media-slider__thumb,.media-minimal-skin .media-slider:focus-within .media-slider__thumb,.media-minimal-skin .media-slider__thumb--persistent{opacity:1;scale:1}.media-minimal-skin .media-slider__buffer,.media-minimal-skin .media-slider__fill{border-radius:inherit;pointer-events:none;position:absolute}.media-minimal-skin .media-slider__buffer[data-orientation=horizontal],.media-minimal-skin .media-slider__fill[data-orientation=horizontal]{inset-block:0;left:0}.media-minimal-skin .media-slider__buffer[data-orientation=vertical],.media-minimal-skin .media-slider__fill[data-orientation=vertical]{inset-inline:0;bottom:0}.media-minimal-skin .media-slider__buffer{background-color:oklch(from currentColor l c h / .2);transition-duration:.25s;transition-timing-function:ease-out;&[data-orientation=horizontal]{width:var(--media-slider-buffer);transition-property:width}&[data-orientation=vertical]{height:var(--media-slider-buffer);transition-property:height}}.media-minimal-skin .media-slider__fill{background-color:currentColor;&[data-orientation=horizontal]{width:var(--media-slider-fill)}&[data-orientation=vertical]{height:var(--media-slider-fill)}}.media-minimal-skin .media-popover,.media-minimal-skin .media-tooltip{color:inherit;border:0;margin:0;transition-property:scale,opacity,filter;transition-duration:.15s;overflow:visible;&[data-starting-style],&[data-ending-style]{opacity:0;filter:blur(8px);scale:.5}&[data-instant]{transition-duration:0s}&[data-side=top]{transform-origin:bottom}&[data-side=bottom]{transform-origin:top}&[data-side=left]{transform-origin:100%}&[data-side=right]{transform-origin:0}&:before{content:"";pointer-events:inherit;position:absolute}&[data-side=top]:before,&[data-side=bottom]:before{width:100%;inset-inline:0}&[data-side=top]:before{top:100%}&[data-side=bottom]:before{bottom:100%}&[data-side=left]:before,&[data-side=right]:before{height:100%;inset-block:0}&[data-side=left]:before{left:100%}&[data-side=right]:before{right:100%}}.media-minimal-skin .media-popover{&[data-side=top]:before,&[data-side=bottom]:before{height:var(--media-popover-side-offset)}&[data-side=left]:before,&[data-side=right]:before{width:var(--media-popover-side-offset)}}.media-minimal-skin .media-tooltip{backdrop-filter:blur(16px)saturate(1.5);white-space:nowrap;--media-tooltip-side-offset:.75rem;background-color:oklch(100% 0 0/.1);border-radius:.25rem;padding:.25rem .5rem;font-size:.75rem;box-shadow:0 4px 6px -1px oklch(0% 0 0/.1),0 2px 4px -2px oklch(0% 0 0/.1);&[data-side=top]:before,&[data-side=bottom]:before{height:var(--media-tooltip-side-offset)}&[data-side=left]:before,&[data-side=right]:before{width:var(--media-tooltip-side-offset)}@media (prefers-reduced-transparency:reduce){background-color:oklch(0% 0 0/.7)}@media (prefers-contrast:more){background-color:oklch(0% 0 0/.9)}}.media-minimal-skin .media-popover--volume:has(media-volume-slider[data-availability=unsupported]){display:none}.media-minimal-skin--audio{--media-controls-background-color:oklch(100% 0 0);--media-controls-border-color:oklch(0% 0 0/.1);--media-controls-text-color:var(--media-color-primary,oklch(0% 0 0));@media (prefers-color-scheme:dark){--media-controls-background-color:oklch(0% 0 0);--media-controls-border-color:oklch(100% 0 0/.1);--media-controls-text-color:var(--media-color-primary,oklch(100% 0 0))}}.media-minimal-skin--audio .media-controls{background-color:var(--media-controls-background-color);backdrop-filter:blur(16px)saturate(1.5);border-radius:var(--media-border-radius,.75rem);color:var(--media-controls-text-color);box-shadow:0 0 0 1px var(--media-controls-border-color);gap:.5rem;padding:.375rem}.media-minimal-skin--audio .media-popover--volume{background:linear-gradient(to left, var(--media-controls-background-color) 80%, transparent 100%);--media-popover-side-offset:.75rem;padding:.5rem 0 .5rem 4rem}`;function a(){return`<media-container class="media-minimal-skin media-minimal-skin--audio"><slot name="media"></slot><slot></slot><div class="media-controls"><media-tooltip-group><div class="media-button-group"><media-play-button commandfor="play-tooltip" class="media-button media-button--icon media-button--play"> ${r(`restart`,{class:`media-icon media-icon--restart`})} ${r(`play`,{class:`media-icon media-icon--play`})} ${r(`pause`,{class:`media-icon media-icon--pause`})} </media-play-button><media-tooltip id="play-tooltip" side="top" class="media-tooltip"><span class="media-tooltip-label media-tooltip-label--replay">Replay</span><span class="media-tooltip-label media-tooltip-label--play">Play</span><span class="media-tooltip-label media-tooltip-label--pause">Pause</span></media-tooltip><media-seek-button commandfor="seek-backward-tooltip" seconds="-10" class="media-button media-button--icon media-button--seek"> <span class="media-icon__container"> ${r(`seek`,{class:`media-icon media-icon--seek media-icon--flipped`})} <span class="media-icon__label">10</span></span></media-seek-button><media-tooltip id="seek-backward-tooltip" side="top" class="media-tooltip"> Seek backward 10 seconds </media-tooltip><media-seek-button commandfor="seek-forward-tooltip" seconds="10" class="media-button media-button--icon media-button--seek"> <span class="media-icon__container"> ${r(`seek`,{class:`media-icon media-icon--seek`})} <span class="media-icon__label">10</span></span></media-seek-button><media-tooltip id="seek-forward-tooltip" side="top" class="media-tooltip"> Seek forward 10 seconds </media-tooltip></div><div class="media-time-controls"><media-time-group class="media-time"><media-time type="current" class="media-time__value media-time__value--current"></media-time><media-time-separator class="media-time__separator"></media-time-separator><media-time type="duration" class="media-time__value media-time__value--duration"></media-time></media-time-group><media-time-slider class="media-slider"><media-slider-track class="media-slider__track"><media-slider-fill class="media-slider__fill"></media-slider-fill><media-slider-buffer class="media-slider__buffer"></media-slider-buffer></media-slider-track><media-slider-thumb class="media-slider__thumb"></media-slider-thumb></media-time-slider></div><div class="media-button-group"><media-playback-rate-button commandfor="playback-rate-tooltip" class="media-button media-button--icon media-button--playback-rate"></media-playback-rate-button><media-tooltip id="playback-rate-tooltip" side="top" class="media-tooltip"> Toggle playback rate </media-tooltip><media-mute-button commandfor="audio-volume-popover" class="media-button media-button--icon media-button--mute"> ${r(`volume-off`,{class:`media-icon media-icon--volume-off`})} ${r(`volume-low`,{class:`media-icon media-icon--volume-low`})} ${r(`volume-high`,{class:`media-icon media-icon--volume-high`})} </media-mute-button><media-popover id="audio-volume-popover" open-on-hover delay="200" close-delay="100" side="left" class="media-popover media-popover--volume"><media-volume-slider class="media-slider" orientation="horizontal" thumb-alignment="edge"><media-slider-track class="media-slider__track"><media-slider-fill class="media-slider__fill"></media-slider-fill></media-slider-track><media-slider-thumb class="media-slider__thumb media-slider__thumb--persistent"></media-slider-thumb></media-volume-slider></media-popover></div></media-tooltip-group></div></media-container>`}var o=class extends n(e){static{this.tagName=`audio-minimal-skin`}static{this.styles=t(i)}static{this.getTemplateHTML=a}};customElements.define(o.tagName,o);
|
|
2
2
|
//# sourceMappingURL=audio-minimal.js.map
|
package/cdn/audio-minimal.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audio-minimal.js","names":[],"sources":["../inline-css:src/define/audio/minimal-skin.js","../src/define/audio/minimal-skin.ts"],"sourcesContent":["export default \".media-button--play .media-icon--restart,.media-button--play .media-icon--play,.media-button--play .media-icon--pause,.media-button--mute .media-icon--volume-off,.media-button--mute .media-icon--volume-low,.media-button--mute .media-icon--volume-high{opacity:0;display:none}.media-button--play[data-ended] .media-icon--restart,.media-button--play:not([data-ended])[data-paused] .media-icon--play,.media-button--play:not([data-paused]):not([data-ended]) .media-icon--pause,.media-button--mute[data-muted] .media-icon--volume-off,.media-button--mute:not([data-muted])[data-volume-level=low] .media-icon--volume-low,.media-button--mute:not([data-muted]):not([data-volume-level=low]) .media-icon--volume-high{opacity:1;display:block}.media-tooltip-label{display:none}.media-button--play[data-ended]+.media-tooltip .media-tooltip-label--replay,.media-button--play:not([data-ended])[data-paused]+.media-tooltip .media-tooltip-label--play,.media-button--play:not([data-paused]):not([data-ended])+.media-tooltip .media-tooltip-label--pause{display:block}.media-minimal-skin *,.media-minimal-skin :before,.media-minimal-skin :after{box-sizing:border-box}.media-minimal-skin img,.media-minimal-skin video,.media-minimal-skin svg{max-width:100%;display:block}.media-minimal-skin button{font:inherit}@media (prefers-reduced-motion:no-preference){.media-minimal-skin{interpolate-size:allow-keywords}}.media-minimal-skin{isolation:isolate;border-radius:var(--media-border-radius,.75rem);letter-spacing:normal;-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto;width:100%;height:100%;font-family:Inter Variable,Inter,ui-sans-serif,system-ui,sans-serif;font-size:.8125rem;line-height:1.5;display:block;position:relative;container:media-root/inline-size}.media-minimal-skin .media-buffering-indicator{color:oklch(100% 0 0);pointer-events:none;justify-content:center;align-items:center;display:none;position:absolute;inset:0;&[data-visible]{display:flex}}.media-minimal-skin .media-error{z-index:20;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.media-minimal-skin .media-error__dialog{color:oklch(100% 0 0);text-shadow:0 1px oklch(0% 0 0/.5);max-width:16rem;transition-property:opacity,scale;transition-duration:.5s;transition-delay:.1s;transition-timing-function:linear(0, .034 1.5%, .763 9.7%, 1.066 13.9%, 1.198 19.9%, 1.184 21.8%, .963 37.5%, .997 50.9%, 1);flex-direction:column;gap:.75rem;padding:1rem;font-size:.875rem;display:flex;@media (prefers-reduced-motion:reduce){transition-duration:.1s;transition-delay:0s;transition-timing-function:ease-out}}.media-minimal-skin .media-error[data-starting-style] .media-error__dialog,.media-minimal-skin .media-error[data-ending-style] .media-error__dialog{opacity:0;scale:.5}.media-minimal-skin .media-error__content{flex-direction:column;gap:.5rem;padding:.375rem 0;display:flex}.media-minimal-skin .media-error__title{font-weight:600;line-height:1.25}.media-minimal-skin .media-error__description{opacity:.7;overflow-wrap:anywhere}.media-minimal-skin .media-error__actions{gap:.5rem;display:flex;&>*{flex:1}}.media-minimal-skin .media-controls{--media-controls-current-shadow-color:oklch(from currentColor 0 0 0 / clamp(0, calc((l - .5) * .5), .15));--media-controls-current-shadow-color-subtle:oklch(from var(--media-controls-current-shadow-color) l c h / calc(alpha * .4));text-shadow:0 1px 0 var(--media-controls-current-shadow-color);align-items:center;display:flex;container:media-controls/inline-size}.media-minimal-skin .media-time-controls{flex-direction:row-reverse;flex:1;align-items:center;gap:.75rem;display:flex}.media-minimal-skin .media-time{align-items:center;gap:.25rem;display:flex}.media-minimal-skin .media-time__value{font-variant-numeric:tabular-nums}.media-minimal-skin .media-time__value--current,.media-minimal-skin .media-time__separator{display:none}@container media-controls (width>28rem){.media-minimal-skin .media-time-controls{flex-direction:row}.media-minimal-skin .media-time__value--duration,.media-minimal-skin .media-time__separator{color:oklch(from currentColor l c h / .6)}.media-minimal-skin .media-time__value--current,.media-minimal-skin .media-time__separator{display:inline}}.media-minimal-skin .media-button-group{align-items:center;gap:.075rem;display:flex;@container media-root (width>40rem){gap:.125rem}}.media-minimal-skin .media-button{outline-offset:-2px;color:oklch(0% 0 0);text-align:center;text-shadow:inherit;cursor:pointer;user-select:none;touch-action:manipulation;background:oklch(100% 0 0);border:none;border-radius:.5rem;outline:2px solid #0000;flex-shrink:0;justify-content:center;align-items:center;padding:.5rem 1rem;font-weight:500;transition-property:background-color,color,outline-offset,scale;transition-duration:.15s;transition-timing-function:ease-out;display:flex;&:focus-visible{outline-offset:2px;outline-color:currentColor}&[disabled]{opacity:.5;filter:grayscale();cursor:not-allowed}&[data-availability=unavailable]{display:none}}.media-minimal-skin .media-button--icon{aspect-ratio:1;width:2.375rem;color:inherit;background:0 0;padding:0;display:grid;&:hover,&:focus-visible,&[aria-expanded=true]{color:oklch(from currentColor l c h / .8);text-decoration:none}&:active{scale:.9}& .media-icon{filter:drop-shadow(0 1px 0 var(--media-controls-current-shadow-color,oklch(0% 0 0/.25)))}}.media-minimal-skin .media-button--seek{& .media-icon__label{font-variant-numeric:tabular-nums;font-size:.75em;font-weight:480;position:absolute;bottom:-3px;right:-1px}&:has(.media-icon--flipped) .media-icon__label{right:unset;left:-1px}@container media-controls (width<28rem){display:none}}.media-minimal-skin .media-button--playback-rate{padding:0;&:after{content:attr(data-rate) \\\"×\\\";font-variant-numeric:tabular-nums;width:4ch}}.media-minimal-skin .media-icon__container{position:relative}.media-minimal-skin .media-icon{transition-behavior:allow-discrete;flex-shrink:0;grid-area:1/1;width:18px;height:18px;transition-property:display,opacity;transition-duration:.15s;transition-timing-function:ease-out;display:block}.media-minimal-skin .media-icon--flipped{scale:-1 1}.media-minimal-skin .media-slider{cursor:pointer;border-radius:3.40282e38px;outline:none;flex:1;justify-content:center;align-items:center;display:flex;position:relative;&[data-orientation=horizontal]{width:100%;min-width:5rem;height:1.25rem}&[data-orientation=vertical]{width:1.25rem;height:4.5rem}}.media-minimal-skin .media-slider__track{isolation:isolate;border-radius:inherit;user-select:none;background-color:oklch(from currentColor l c h / .2);position:relative;overflow:hidden;&[data-orientation=horizontal]{width:100%;height:.1875rem}&[data-orientation=vertical]{width:.1875rem;height:100%}}.media-minimal-skin .media-slider__thumb{z-index:10;width:.75rem;height:.75rem;box-shadow:0 0 0 1px var(--media-controls-current-shadow-color-subtle,oklch(0% 0 0/.1)), 0 1px 3px 0 oklch(0% 0 0/.15), 0 1px 2px -1px oklch(0% 0 0/.15);opacity:0;transform-origin:50%;user-select:none;outline-offset:-2px;background-color:currentColor;border-radius:3.40282e38px;outline:2px solid #0000;transition-property:opacity,scale,outline-offset;transition-duration:.15s;transition-timing-function:ease-out;position:absolute;translate:-50% -50%;scale:.7;&[data-orientation=horizontal]{top:50%;left:var(--media-slider-fill)}&[data-orientation=vertical]{left:50%;top:calc(100% - var(--media-slider-fill))}&:focus-visible{outline-offset:2px;outline-color:currentColor}}.media-minimal-skin .media-slider:hover .media-slider__thumb,.media-minimal-skin .media-slider:focus-within .media-slider__thumb,.media-minimal-skin .media-slider__thumb--persistent{opacity:1;scale:1}.media-minimal-skin .media-slider__buffer,.media-minimal-skin .media-slider__fill{border-radius:inherit;pointer-events:none;position:absolute}.media-minimal-skin .media-slider__buffer[data-orientation=horizontal],.media-minimal-skin .media-slider__fill[data-orientation=horizontal]{inset-block:0;left:0}.media-minimal-skin .media-slider__buffer[data-orientation=vertical],.media-minimal-skin .media-slider__fill[data-orientation=vertical]{inset-inline:0;bottom:0}.media-minimal-skin .media-slider__buffer{background-color:oklch(from currentColor l c h / .2);transition-duration:.25s;transition-timing-function:ease-out;&[data-orientation=horizontal]{width:var(--media-slider-buffer);transition-property:width}&[data-orientation=vertical]{height:var(--media-slider-buffer);transition-property:height}}.media-minimal-skin .media-slider__fill{background-color:currentColor;&[data-orientation=horizontal]{width:var(--media-slider-fill)}&[data-orientation=vertical]{height:var(--media-slider-fill)}}.media-minimal-skin .media-popover,.media-minimal-skin .media-tooltip{color:inherit;border:0;margin:0;transition-property:scale,opacity,filter;transition-duration:.15s;overflow:visible;&[data-starting-style],&[data-ending-style]{opacity:0;filter:blur(8px);scale:.5}&[data-instant]{transition-duration:0s}&[data-side=top]{transform-origin:bottom}&[data-side=bottom]{transform-origin:top}&[data-side=left]{transform-origin:100%}&[data-side=right]{transform-origin:0}&:before{content:\\\"\\\";pointer-events:inherit;position:absolute}&[data-side=top]:before,&[data-side=bottom]:before{width:100%;inset-inline:0}&[data-side=top]:before{top:100%}&[data-side=bottom]:before{bottom:100%}&[data-side=left]:before,&[data-side=right]:before{height:100%;inset-block:0}&[data-side=left]:before{left:100%}&[data-side=right]:before{right:100%}}.media-minimal-skin .media-popover{&[data-side=top]:before,&[data-side=bottom]:before{height:var(--media-popover-side-offset)}&[data-side=left]:before,&[data-side=right]:before{width:var(--media-popover-side-offset)}}.media-minimal-skin .media-tooltip{backdrop-filter:blur(16px)saturate(1.5);white-space:nowrap;--media-tooltip-side-offset:.75rem;background-color:oklch(100% 0 0/.1);border-radius:.25rem;padding:.25rem .5rem;font-size:.75rem;box-shadow:0 4px 6px -1px oklch(0% 0 0/.1),0 2px 4px -2px oklch(0% 0 0/.1);&[data-side=top]:before,&[data-side=bottom]:before{height:var(--media-tooltip-side-offset)}&[data-side=left]:before,&[data-side=right]:before{width:var(--media-tooltip-side-offset)}@media (prefers-reduced-transparency:reduce){background-color:oklch(0% 0 0/.7)}@media (prefers-contrast:more){background-color:oklch(0% 0 0/.9)}}.media-minimal-skin .media-popover--volume:has(media-volume-slider[data-availability=unsupported]){display:none}.media-minimal-skin--audio{--media-controls-background-color:oklch(100% 0 0);--media-controls-border-color:oklch(0% 0 0/.1);--media-controls-text-color:var(--media-color-primary,oklch(0% 0 0));@media (prefers-color-scheme:dark){--media-controls-background-color:oklch(0% 0 0);--media-controls-border-color:oklch(100% 0 0/.1);--media-controls-text-color:var(--media-color-primary,oklch(100% 0 0))}}.media-minimal-skin--audio .media-controls{background-color:var(--media-controls-background-color);backdrop-filter:blur(16px)saturate(1.5);border-radius:var(--media-border-radius,.75rem);color:var(--media-controls-text-color);box-shadow:0 0 0 1px var(--media-controls-border-color);gap:.5rem;padding:.375rem}.media-minimal-skin--audio .media-popover--volume{background:linear-gradient(to left, var(--media-controls-background-color) 80%, transparent 100%);--media-popover-side-offset:.75rem;padding:.5rem 0 .5rem 4rem}\";","import { ReactiveElement } from '@videojs/element';\nimport { renderIcon } from '@videojs/icons/render/minimal';\nimport { createStyles, SkinMixin } from '../skin-mixin';\nimport styles from './minimal-skin.css?inline';\n\n// Side-effect imports: register all custom elements used in the template.\nimport '../media/container';\nimport '../ui/mute-button';\nimport '../ui/play-button';\nimport '../ui/playback-rate-button';\nimport '../ui/popover';\nimport '../ui/seek-button';\nimport '../ui/time';\nimport '../ui/time-slider';\nimport '../ui/tooltip';\nimport '../ui/tooltip-group';\nimport '../ui/volume-slider';\n\nconst SEEK_TIME = 10;\n\nfunction getTemplateHTML() {\n return /*html*/ `\n <media-container class=\"media-minimal-skin media-minimal-skin--audio\">\n <!-- @deprecated slot=\"media\" is no longer required, use the default slot instead -->\n <slot name=\"media\"></slot>\n <slot></slot>\n\n <div class=\"media-controls\">\n <media-tooltip-group>\n <div class=\"media-button-group\">\n <media-play-button commandfor=\"play-tooltip\" class=\"media-button media-button--icon media-button--play\">\n ${renderIcon('restart', { class: 'media-icon media-icon--restart' })}\n ${renderIcon('play', { class: 'media-icon media-icon--play' })}\n ${renderIcon('pause', { class: 'media-icon media-icon--pause' })}\n </media-play-button>\n <media-tooltip id=\"play-tooltip\" side=\"top\" class=\"media-tooltip\">\n <span class=\"media-tooltip-label media-tooltip-label--replay\">Replay</span>\n <span class=\"media-tooltip-label media-tooltip-label--play\">Play</span>\n <span class=\"media-tooltip-label media-tooltip-label--pause\">Pause</span>\n </media-tooltip>\n\n <media-seek-button commandfor=\"seek-backward-tooltip\" seconds=\"${-SEEK_TIME}\" class=\"media-button media-button--icon media-button--seek\">\n <span class=\"media-icon__container\">\n ${renderIcon('seek', { class: 'media-icon media-icon--seek media-icon--flipped' })}\n <span class=\"media-icon__label\">${SEEK_TIME}</span>\n </span>\n </media-seek-button>\n <media-tooltip id=\"seek-backward-tooltip\" side=\"top\" class=\"media-tooltip\">\n Seek backward ${SEEK_TIME} seconds\n </media-tooltip>\n\n <media-seek-button commandfor=\"seek-forward-tooltip\" seconds=\"${SEEK_TIME}\" class=\"media-button media-button--icon media-button--seek\">\n <span class=\"media-icon__container\">\n ${renderIcon('seek', { class: 'media-icon media-icon--seek' })}\n <span class=\"media-icon__label\">${SEEK_TIME}</span>\n </span>\n </media-seek-button>\n <media-tooltip id=\"seek-forward-tooltip\" side=\"top\" class=\"media-tooltip\">\n Seek forward ${SEEK_TIME} seconds\n </media-tooltip>\n </div>\n\n <div class=\"media-time-controls\">\n <media-time-group class=\"media-time\">\n <media-time type=\"current\" class=\"media-time__value media-time__value--current\"></media-time>\n <media-time-separator class=\"media-time__separator\"></media-time-separator>\n <media-time type=\"duration\" class=\"media-time__value media-time__value--duration\"></media-time>\n </media-time-group>\n\n <media-time-slider class=\"media-slider\">\n <media-slider-track class=\"media-slider__track\">\n <media-slider-fill class=\"media-slider__fill\"></media-slider-fill>\n <media-slider-buffer class=\"media-slider__buffer\"></media-slider-buffer>\n </media-slider-track>\n <media-slider-thumb class=\"media-slider__thumb\"></media-slider-thumb>\n </media-time-slider>\n </div>\n\n <div class=\"media-button-group\">\n <media-playback-rate-button commandfor=\"playback-rate-tooltip\" class=\"media-button media-button--icon media-button--playback-rate\">\n </media-playback-rate-button>\n <media-tooltip id=\"playback-rate-tooltip\" side=\"top\" class=\"media-tooltip\">\n Toggle playback rate\n </media-tooltip>\n\n <media-mute-button commandfor=\"audio-volume-popover\" class=\"media-button media-button--icon media-button--mute\">\n ${renderIcon('volume-off', { class: 'media-icon media-icon--volume-off' })}\n ${renderIcon('volume-low', { class: 'media-icon media-icon--volume-low' })}\n ${renderIcon('volume-high', { class: 'media-icon media-icon--volume-high' })}\n </media-mute-button>\n\n <media-popover id=\"audio-volume-popover\" open-on-hover delay=\"200\" close-delay=\"100\" side=\"left\" class=\"media-popover media-popover--volume\">\n <media-volume-slider class=\"media-slider\" orientation=\"horizontal\" thumb-alignment=\"edge\">\n <media-slider-track class=\"media-slider__track\">\n <media-slider-fill class=\"media-slider__fill\"></media-slider-fill>\n </media-slider-track>\n <media-slider-thumb class=\"media-slider__thumb media-slider__thumb--persistent\"></media-slider-thumb>\n </media-volume-slider>\n </media-popover>\n </div>\n </media-tooltip-group>\n </div>\n </media-container>\n `;\n}\n\nexport class MinimalAudioSkinElement extends SkinMixin(ReactiveElement) {\n static readonly tagName = 'audio-minimal-skin';\n static styles = createStyles(styles);\n static getTemplateHTML = getTemplateHTML;\n}\n\ncustomElements.define(MinimalAudioSkinElement.tagName, MinimalAudioSkinElement);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [MinimalAudioSkinElement.tagName]: MinimalAudioSkinElement;\n }\n}\n"],"mappings":"gNAAA,IAAA,EAAe,qmWCoBf,SAAS,GAAkB,CACzB,MAAgB,0SAAA,EAAA,UAAA,CAAA,MAAA,iCAAA,CAAA,CAAA,GAAA,EAAA,OAAA,CAAA,MAAA,8BAAA,CAAA,CAAA,GAAA,EAAA,QAAA,CAAA,MAAA,+BAAA,CAAA,CAAA,weAAA,EAAA,OAAA,CAAA,MAAA,kDAAA,CAAA,CAAA,8VAAA,EAAA,OAAA,CAAA,MAAA,8BAAA,CAAA,CAAA,wxCAAA,EAAA,aAAA,CAAA,MAAA,oCAAA,CAAA,CAAA,GAAA,EAAA,aAAA,CAAA,MAAA,oCAAA,CAAA,CAAA,GAAA,EAAA,cAAA,CAAA,MAAA,qCAAA,CAAA,CAAA,okBAGlB,IAAY,EAAZ,cAA+B,EAAA,EAAA,AAAA,qBACb,yEAEM,IAGxB,eAAa,OAAM,EAAwB,QAAY,EAAsB"}
|
|
1
|
+
{"version":3,"file":"audio-minimal.js","names":[],"sources":["../inline-css:src/define/audio/minimal-skin.js","../src/define/audio/minimal-skin.ts"],"sourcesContent":["export default \".media-button--play .media-icon--restart,.media-button--play .media-icon--play,.media-button--play .media-icon--pause,.media-button--mute .media-icon--volume-off,.media-button--mute .media-icon--volume-low,.media-button--mute .media-icon--volume-high{opacity:0;display:none}.media-button--play[data-ended] .media-icon--restart,.media-button--play:not([data-ended])[data-paused] .media-icon--play,.media-button--play:not([data-paused]):not([data-ended]) .media-icon--pause,.media-button--mute[data-muted] .media-icon--volume-off,.media-button--mute:not([data-muted])[data-volume-level=low] .media-icon--volume-low,.media-button--mute:not([data-muted]):not([data-volume-level=low]) .media-icon--volume-high{opacity:1;display:block}.media-tooltip-label{display:none}.media-button--play[data-ended]+.media-tooltip .media-tooltip-label--replay,.media-button--play:not([data-ended])[data-paused]+.media-tooltip .media-tooltip-label--play,.media-button--play:not([data-paused]):not([data-ended])+.media-tooltip .media-tooltip-label--pause{display:block}.media-minimal-skin *,.media-minimal-skin :before,.media-minimal-skin :after{box-sizing:border-box}.media-minimal-skin img,.media-minimal-skin video,.media-minimal-skin svg{max-width:100%;display:block}.media-minimal-skin button{font:inherit}@media (prefers-reduced-motion:no-preference){.media-minimal-skin{interpolate-size:allow-keywords}}.media-minimal-skin{isolation:isolate;border-radius:var(--media-border-radius,.75rem);letter-spacing:normal;-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto;width:100%;height:100%;font-family:Inter Variable,Inter,ui-sans-serif,system-ui,sans-serif;font-size:.8125rem;line-height:1.5;display:block;position:relative;container:media-root/inline-size}.media-minimal-skin .media-buffering-indicator{color:oklch(100% 0 0);pointer-events:none;justify-content:center;align-items:center;display:none;position:absolute;inset:0;&[data-visible]{display:flex}}.media-minimal-skin .media-error{z-index:20;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.media-minimal-skin .media-error__dialog{color:oklch(100% 0 0);text-shadow:0 1px oklch(0% 0 0/.5);max-width:16rem;transition-property:opacity,scale;transition-duration:.5s;transition-delay:.1s;transition-timing-function:linear(0, .034 1.5%, .763 9.7%, 1.066 13.9%, 1.198 19.9%, 1.184 21.8%, .963 37.5%, .997 50.9%, 1);flex-direction:column;gap:.75rem;padding:1rem;font-size:.875rem;display:flex;@media (prefers-reduced-motion:reduce){transition-duration:.1s;transition-delay:0s;transition-timing-function:ease-out}}.media-minimal-skin .media-error[data-starting-style] .media-error__dialog,.media-minimal-skin .media-error[data-ending-style] .media-error__dialog{opacity:0;scale:.5}.media-minimal-skin .media-error__content{flex-direction:column;gap:.5rem;padding:.375rem 0;display:flex}.media-minimal-skin .media-error__title{font-weight:600;line-height:1.25}.media-minimal-skin .media-error__description{opacity:.7;overflow-wrap:anywhere}.media-minimal-skin .media-error__actions{gap:.5rem;display:flex;&>*{flex:1}}.media-minimal-skin .media-controls{--media-controls-current-shadow-color:oklch(from currentColor 0 0 0 / clamp(0, calc((l - .5) * .5), .15));--media-controls-current-shadow-color-subtle:oklch(from var(--media-controls-current-shadow-color) l c h / calc(alpha * .4));text-shadow:0 1px 0 var(--media-controls-current-shadow-color);align-items:center;display:flex;container:media-controls/inline-size}.media-minimal-skin .media-time-controls{flex-direction:row-reverse;flex:1;align-items:center;gap:.75rem;display:flex}.media-minimal-skin .media-time{align-items:center;gap:.25rem;display:flex}.media-minimal-skin .media-time__value{font-variant-numeric:tabular-nums}.media-minimal-skin .media-time__value--current,.media-minimal-skin .media-time__separator{display:none}@container media-controls (width>28rem){.media-minimal-skin .media-time-controls{flex-direction:row}.media-minimal-skin .media-time__value--duration,.media-minimal-skin .media-time__separator{color:oklch(from currentColor l c h / .6)}.media-minimal-skin .media-time__value--current,.media-minimal-skin .media-time__separator{display:inline}}.media-minimal-skin .media-button-group{align-items:center;gap:.075rem;display:flex;@container media-root (width>40rem){gap:.125rem}}.media-minimal-skin .media-button{outline-offset:-2px;color:oklch(0% 0 0);text-align:center;text-shadow:inherit;cursor:pointer;user-select:none;touch-action:manipulation;background:oklch(100% 0 0);border:none;border-radius:.5rem;outline:2px solid #0000;flex-shrink:0;justify-content:center;align-items:center;padding:.5rem 1rem;font-weight:500;transition-property:background-color,color,outline-offset,scale;transition-duration:.15s;transition-timing-function:ease-out;display:flex;&:focus-visible{outline-offset:2px;outline-color:currentColor}&[disabled]{opacity:.5;filter:grayscale();cursor:not-allowed}&[data-availability=unavailable]{display:none}}.media-minimal-skin .media-button--icon{aspect-ratio:1;width:2.375rem;color:inherit;background:0 0;padding:0;display:grid;&:hover,&:focus-visible,&[aria-expanded=true]{color:oklch(from currentColor l c h / .8);text-decoration:none}&:active{scale:.9}& .media-icon{filter:drop-shadow(0 1px 0 var(--media-controls-current-shadow-color,oklch(0% 0 0/.25)))}}.media-minimal-skin .media-button--seek{& .media-icon__label{font-variant-numeric:tabular-nums;font-size:.75em;font-weight:480;position:absolute;bottom:-3px;right:-1px}&:has(.media-icon--flipped) .media-icon__label{right:unset;left:-1px}@container media-controls (width<28rem){display:none}}.media-minimal-skin .media-button--playback-rate{padding:0;&:after{content:attr(data-rate) \\\"×\\\";font-variant-numeric:tabular-nums;width:4ch}}.media-minimal-skin .media-icon__container{position:relative}.media-minimal-skin .media-icon{transition-behavior:allow-discrete;flex-shrink:0;grid-area:1/1;width:18px;height:18px;transition-property:display,opacity;transition-duration:.15s;transition-timing-function:ease-out;display:block}.media-minimal-skin .media-icon--flipped{scale:-1 1}.media-minimal-skin .media-slider{cursor:pointer;border-radius:3.40282e38px;outline:none;flex:1;justify-content:center;align-items:center;display:flex;position:relative;&[data-orientation=horizontal]{width:100%;min-width:5rem;height:1.25rem}&[data-orientation=vertical]{width:1.25rem;height:4.5rem}}.media-minimal-skin .media-slider__track{isolation:isolate;border-radius:inherit;user-select:none;background-color:oklch(from currentColor l c h / .2);position:relative;overflow:hidden;&[data-orientation=horizontal]{width:100%;height:.1875rem}&[data-orientation=vertical]{width:.1875rem;height:100%}}.media-minimal-skin .media-slider__thumb{z-index:10;width:.75rem;height:.75rem;box-shadow:0 0 0 1px var(--media-controls-current-shadow-color-subtle,oklch(0% 0 0/.1)), 0 1px 3px 0 oklch(0% 0 0/.15), 0 1px 2px -1px oklch(0% 0 0/.15);opacity:0;transform-origin:50%;user-select:none;outline-offset:-2px;background-color:currentColor;border-radius:3.40282e38px;outline:2px solid #0000;transition-property:opacity,scale,outline-offset;transition-duration:.15s;transition-timing-function:ease-out;position:absolute;translate:-50% -50%;scale:.7;&[data-orientation=horizontal]{top:50%;left:var(--media-slider-fill)}&[data-orientation=vertical]{left:50%;top:calc(100% - var(--media-slider-fill))}&:focus-visible{outline-offset:2px;outline-color:currentColor}}.media-minimal-skin .media-slider:hover .media-slider__thumb,.media-minimal-skin .media-slider:focus-within .media-slider__thumb,.media-minimal-skin .media-slider__thumb--persistent{opacity:1;scale:1}.media-minimal-skin .media-slider__buffer,.media-minimal-skin .media-slider__fill{border-radius:inherit;pointer-events:none;position:absolute}.media-minimal-skin .media-slider__buffer[data-orientation=horizontal],.media-minimal-skin .media-slider__fill[data-orientation=horizontal]{inset-block:0;left:0}.media-minimal-skin .media-slider__buffer[data-orientation=vertical],.media-minimal-skin .media-slider__fill[data-orientation=vertical]{inset-inline:0;bottom:0}.media-minimal-skin .media-slider__buffer{background-color:oklch(from currentColor l c h / .2);transition-duration:.25s;transition-timing-function:ease-out;&[data-orientation=horizontal]{width:var(--media-slider-buffer);transition-property:width}&[data-orientation=vertical]{height:var(--media-slider-buffer);transition-property:height}}.media-minimal-skin .media-slider__fill{background-color:currentColor;&[data-orientation=horizontal]{width:var(--media-slider-fill)}&[data-orientation=vertical]{height:var(--media-slider-fill)}}.media-minimal-skin .media-popover,.media-minimal-skin .media-tooltip{color:inherit;border:0;margin:0;transition-property:scale,opacity,filter;transition-duration:.15s;overflow:visible;&[data-starting-style],&[data-ending-style]{opacity:0;filter:blur(8px);scale:.5}&[data-instant]{transition-duration:0s}&[data-side=top]{transform-origin:bottom}&[data-side=bottom]{transform-origin:top}&[data-side=left]{transform-origin:100%}&[data-side=right]{transform-origin:0}&:before{content:\\\"\\\";pointer-events:inherit;position:absolute}&[data-side=top]:before,&[data-side=bottom]:before{width:100%;inset-inline:0}&[data-side=top]:before{top:100%}&[data-side=bottom]:before{bottom:100%}&[data-side=left]:before,&[data-side=right]:before{height:100%;inset-block:0}&[data-side=left]:before{left:100%}&[data-side=right]:before{right:100%}}.media-minimal-skin .media-popover{&[data-side=top]:before,&[data-side=bottom]:before{height:var(--media-popover-side-offset)}&[data-side=left]:before,&[data-side=right]:before{width:var(--media-popover-side-offset)}}.media-minimal-skin .media-tooltip{backdrop-filter:blur(16px)saturate(1.5);white-space:nowrap;--media-tooltip-side-offset:.75rem;background-color:oklch(100% 0 0/.1);border-radius:.25rem;padding:.25rem .5rem;font-size:.75rem;box-shadow:0 4px 6px -1px oklch(0% 0 0/.1),0 2px 4px -2px oklch(0% 0 0/.1);&[data-side=top]:before,&[data-side=bottom]:before{height:var(--media-tooltip-side-offset)}&[data-side=left]:before,&[data-side=right]:before{width:var(--media-tooltip-side-offset)}@media (prefers-reduced-transparency:reduce){background-color:oklch(0% 0 0/.7)}@media (prefers-contrast:more){background-color:oklch(0% 0 0/.9)}}.media-minimal-skin .media-popover--volume:has(media-volume-slider[data-availability=unsupported]){display:none}.media-minimal-skin--audio{--media-controls-background-color:oklch(100% 0 0);--media-controls-border-color:oklch(0% 0 0/.1);--media-controls-text-color:var(--media-color-primary,oklch(0% 0 0));@media (prefers-color-scheme:dark){--media-controls-background-color:oklch(0% 0 0);--media-controls-border-color:oklch(100% 0 0/.1);--media-controls-text-color:var(--media-color-primary,oklch(100% 0 0))}}.media-minimal-skin--audio .media-controls{background-color:var(--media-controls-background-color);backdrop-filter:blur(16px)saturate(1.5);border-radius:var(--media-border-radius,.75rem);color:var(--media-controls-text-color);box-shadow:0 0 0 1px var(--media-controls-border-color);gap:.5rem;padding:.375rem}.media-minimal-skin--audio .media-popover--volume{background:linear-gradient(to left, var(--media-controls-background-color) 80%, transparent 100%);--media-popover-side-offset:.75rem;padding:.5rem 0 .5rem 4rem}\";","import { ReactiveElement } from '@videojs/element';\nimport { renderIcon } from '@videojs/icons/render/minimal';\nimport { createStyles, SkinMixin } from '../skin-mixin';\nimport styles from './minimal-skin.css?inline';\n\n// Side-effect imports: register all custom elements used in the template.\nimport '../media/container';\nimport '../ui/mute-button';\nimport '../ui/play-button';\nimport '../ui/playback-rate-button';\nimport '../ui/popover';\nimport '../ui/seek-button';\nimport '../ui/time';\nimport '../ui/time-slider';\nimport '../ui/tooltip';\nimport '../ui/tooltip-group';\nimport '../ui/volume-slider';\n\nconst SEEK_TIME = 10;\n\nfunction getTemplateHTML() {\n return /*html*/ `\n <media-container class=\"media-minimal-skin media-minimal-skin--audio\">\n <!-- @deprecated slot=\"media\" is no longer required, use the default slot instead -->\n <slot name=\"media\"></slot>\n <slot></slot>\n\n <div class=\"media-controls\">\n <media-tooltip-group>\n <div class=\"media-button-group\">\n <media-play-button commandfor=\"play-tooltip\" class=\"media-button media-button--icon media-button--play\">\n ${renderIcon('restart', { class: 'media-icon media-icon--restart' })}\n ${renderIcon('play', { class: 'media-icon media-icon--play' })}\n ${renderIcon('pause', { class: 'media-icon media-icon--pause' })}\n </media-play-button>\n <media-tooltip id=\"play-tooltip\" side=\"top\" class=\"media-tooltip\">\n <span class=\"media-tooltip-label media-tooltip-label--replay\">Replay</span>\n <span class=\"media-tooltip-label media-tooltip-label--play\">Play</span>\n <span class=\"media-tooltip-label media-tooltip-label--pause\">Pause</span>\n </media-tooltip>\n\n <media-seek-button commandfor=\"seek-backward-tooltip\" seconds=\"${-SEEK_TIME}\" class=\"media-button media-button--icon media-button--seek\">\n <span class=\"media-icon__container\">\n ${renderIcon('seek', { class: 'media-icon media-icon--seek media-icon--flipped' })}\n <span class=\"media-icon__label\">${SEEK_TIME}</span>\n </span>\n </media-seek-button>\n <media-tooltip id=\"seek-backward-tooltip\" side=\"top\" class=\"media-tooltip\">\n Seek backward ${SEEK_TIME} seconds\n </media-tooltip>\n\n <media-seek-button commandfor=\"seek-forward-tooltip\" seconds=\"${SEEK_TIME}\" class=\"media-button media-button--icon media-button--seek\">\n <span class=\"media-icon__container\">\n ${renderIcon('seek', { class: 'media-icon media-icon--seek' })}\n <span class=\"media-icon__label\">${SEEK_TIME}</span>\n </span>\n </media-seek-button>\n <media-tooltip id=\"seek-forward-tooltip\" side=\"top\" class=\"media-tooltip\">\n Seek forward ${SEEK_TIME} seconds\n </media-tooltip>\n </div>\n\n <div class=\"media-time-controls\">\n <media-time-group class=\"media-time\">\n <media-time type=\"current\" class=\"media-time__value media-time__value--current\"></media-time>\n <media-time-separator class=\"media-time__separator\"></media-time-separator>\n <media-time type=\"duration\" class=\"media-time__value media-time__value--duration\"></media-time>\n </media-time-group>\n\n <media-time-slider class=\"media-slider\">\n <media-slider-track class=\"media-slider__track\">\n <media-slider-fill class=\"media-slider__fill\"></media-slider-fill>\n <media-slider-buffer class=\"media-slider__buffer\"></media-slider-buffer>\n </media-slider-track>\n <media-slider-thumb class=\"media-slider__thumb\"></media-slider-thumb>\n </media-time-slider>\n </div>\n\n <div class=\"media-button-group\">\n <media-playback-rate-button commandfor=\"playback-rate-tooltip\" class=\"media-button media-button--icon media-button--playback-rate\">\n </media-playback-rate-button>\n <media-tooltip id=\"playback-rate-tooltip\" side=\"top\" class=\"media-tooltip\">\n Toggle playback rate\n </media-tooltip>\n\n <media-mute-button commandfor=\"audio-volume-popover\" class=\"media-button media-button--icon media-button--mute\">\n ${renderIcon('volume-off', { class: 'media-icon media-icon--volume-off' })}\n ${renderIcon('volume-low', { class: 'media-icon media-icon--volume-low' })}\n ${renderIcon('volume-high', { class: 'media-icon media-icon--volume-high' })}\n </media-mute-button>\n\n <media-popover id=\"audio-volume-popover\" open-on-hover delay=\"200\" close-delay=\"100\" side=\"left\" class=\"media-popover media-popover--volume\">\n <media-volume-slider class=\"media-slider\" orientation=\"horizontal\" thumb-alignment=\"edge\">\n <media-slider-track class=\"media-slider__track\">\n <media-slider-fill class=\"media-slider__fill\"></media-slider-fill>\n </media-slider-track>\n <media-slider-thumb class=\"media-slider__thumb media-slider__thumb--persistent\"></media-slider-thumb>\n </media-volume-slider>\n </media-popover>\n </div>\n </media-tooltip-group>\n </div>\n </media-container>\n `;\n}\n\nexport class MinimalAudioSkinElement extends SkinMixin(ReactiveElement) {\n static readonly tagName = 'audio-minimal-skin';\n static styles = createStyles(styles);\n static getTemplateHTML = getTemplateHTML;\n}\n\ncustomElements.define(MinimalAudioSkinElement.tagName, MinimalAudioSkinElement);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [MinimalAudioSkinElement.tagName]: MinimalAudioSkinElement;\n }\n}\n"],"mappings":"gNAAA,IAAA,EAAe,qmWCoBf,SAAS,GAAkB,CACzB,MAAgB,0SAAA,EAAA,UAAA,CAAA,MAAA,iCAAA,CAAA,CAAA,GAAA,EAAA,OAAA,CAAA,MAAA,8BAAA,CAAA,CAAA,GAAA,EAAA,QAAA,CAAA,MAAA,+BAAA,CAAA,CAAA,yeAAA,EAAA,OAAA,CAAA,MAAA,kDAAA,CAAA,CAAA,+VAAA,EAAA,OAAA,CAAA,MAAA,8BAAA,CAAA,CAAA,wxCAAA,EAAA,aAAA,CAAA,MAAA,oCAAA,CAAA,CAAA,GAAA,EAAA,aAAA,CAAA,MAAA,oCAAA,CAAA,CAAA,GAAA,EAAA,cAAA,CAAA,MAAA,qCAAA,CAAA,CAAA,okBAGlB,IAAY,EAAZ,cAA+B,EAAA,EAAA,AAAA,qBACb,yEAEM,IAGxB,eAAa,OAAM,EAAwB,QAAY,EAAsB"}
|
package/cdn/audio.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{o as e}from"./create-player-QjiNZlh7.js";import{g as t,h as n}from"./volume-slider-BqzTytgB.js";import"./safe-define-GrHW3P9e.js";import{t as r}from"./default-GgKND7a8.js";import"./player-CztIlNio.js";var i=`.media-button--play .media-icon--restart,.media-button--play .media-icon--play,.media-button--play .media-icon--pause,.media-button--mute .media-icon--volume-off,.media-button--mute .media-icon--volume-low,.media-button--mute .media-icon--volume-high{opacity:0;display:none}.media-button--play[data-ended] .media-icon--restart,.media-button--play:not([data-ended])[data-paused] .media-icon--play,.media-button--play:not([data-paused]):not([data-ended]) .media-icon--pause,.media-button--mute[data-muted] .media-icon--volume-off,.media-button--mute:not([data-muted])[data-volume-level=low] .media-icon--volume-low,.media-button--mute:not([data-muted]):not([data-volume-level=low]) .media-icon--volume-high{opacity:1;display:block}.media-tooltip-label{display:none}.media-button--play[data-ended]+.media-tooltip .media-tooltip-label--replay,.media-button--play:not([data-ended])[data-paused]+.media-tooltip .media-tooltip-label--play,.media-button--play:not([data-paused]):not([data-ended])+.media-tooltip .media-tooltip-label--pause{display:block}.media-default-skin *,.media-default-skin :before,.media-default-skin :after{box-sizing:border-box}.media-default-skin img,.media-default-skin video,.media-default-skin svg{max-width:100%;display:block}.media-default-skin button{font:inherit}@media (prefers-reduced-motion:no-preference){.media-default-skin{interpolate-size:allow-keywords}}.media-default-skin{isolation:isolate;border-radius:var(--media-border-radius,2rem);letter-spacing:normal;-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto;width:100%;height:100%;font-family:Inter Variable,Inter,ui-sans-serif,system-ui,sans-serif;font-size:.8125rem;line-height:1.5;display:block;position:relative;container:media-root/inline-size}.media-default-skin .media-surface{background-color:var(--media-surface-background-color);backdrop-filter:var(--media-surface-backdrop-filter);box-shadow:0 0 0 1px var(--media-surface-outer-border-color), 0 1px 3px 0 var(--media-surface-shadow-color), 0 1px 2px -1px var(--media-surface-shadow-color);&:after{content:"";z-index:10;border-radius:inherit;box-shadow:inset 0 0 0 1px var(--media-surface-inner-border-color);pointer-events:none;position:absolute;inset:0}@media (prefers-reduced-transparency:reduce){background-color:oklch(from var(--media-surface-background-color) l c h / .7)}@media (prefers-contrast:more){background-color:oklch(from var(--media-surface-background-color) l c h / .9)}}.media-default-skin .media-buffering-indicator{color:oklch(100% 0 0);pointer-events:none;justify-content:center;align-items:center;display:none;position:absolute;inset:0;&[data-visible]{display:flex}& .media-surface{border-radius:100%;padding:.25rem}}.media-default-skin .media-error{z-index:20;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.media-default-skin .media-error__dialog{color:oklch(100% 0 0);max-width:18rem;transition-property:opacity,scale;transition-duration:.5s;transition-delay:.1s;transition-timing-function:linear(0, .034 1.5%, .763 9.7%, 1.066 13.9%, 1.198 19.9%, 1.184 21.8%, .963 37.5%, .997 50.9%, 1);border-radius:1.75rem;flex-direction:column;gap:.75rem;padding:.75rem;font-size:.875rem;display:flex;@media (prefers-reduced-motion:reduce){transition-duration:.1s;transition-delay:0s;transition-timing-function:ease-out}}.media-default-skin .media-error[data-starting-style] .media-error__dialog,.media-default-skin .media-error[data-ending-style] .media-error__dialog{opacity:0;scale:.5}.media-default-skin .media-error__content{flex-direction:column;gap:.5rem;padding:.5rem .5rem .375rem;display:flex}.media-default-skin .media-error__title{font-weight:600;line-height:1.25}.media-default-skin .media-error__description{opacity:.7;overflow-wrap:anywhere}.media-default-skin .media-error__actions{gap:.5rem;display:flex;&>*{flex:1}}.media-default-skin .media-controls{--media-controls-current-shadow-color:oklch(from currentColor 0 0 0 / clamp(0, calc((l - .5) * .5), .15));--media-controls-current-shadow-color-subtle:oklch(from var(--media-controls-current-shadow-color) l c h / calc(alpha * .4));text-shadow:0 1px 0 var(--media-controls-current-shadow-color);border-radius:3.40282e38px;align-items:center;gap:.075rem;padding:.175rem;display:flex;container:media-controls/inline-size;@container media-root (width>40rem){gap:.125rem;padding:.25rem}}.media-default-skin .media-time{flex:1;align-items:center;gap:.75rem;padding-inline:.5rem;display:flex;container:media-time/inline-size;& .media-time__value:first-child{display:none;@container media-time (width>18rem){display:block}}}.media-default-skin .media-time__value{font-variant-numeric:tabular-nums}.media-default-skin .media-button{outline-offset:-2px;color:oklch(0% 0 0);text-align:center;cursor:pointer;user-select:none;touch-action:manipulation;background:oklch(100% 0 0);border:none;border-radius:3.40282e38px;outline:2px solid #0000;flex-shrink:0;justify-content:center;align-items:center;padding:.5rem 1rem;font-weight:500;transition-property:background-color,color,outline-offset,scale;transition-duration:.15s;transition-timing-function:ease-out;display:flex;&:focus-visible{outline-offset:2px;outline-color:oklch(62.3% .214 259.815)}&[disabled]{opacity:.5;filter:grayscale();cursor:not-allowed}&[data-availability=unavailable]{display:none}}.media-default-skin .media-button--icon{aspect-ratio:1;width:2.125rem;color:inherit;text-shadow:inherit;background:0 0;padding:0;display:grid;&:hover,&:focus-visible,&[aria-expanded=true]{background-color:oklch(from currentColor l c h / .1);text-decoration:none}&:active{scale:.9}& .media-icon{filter:drop-shadow(0 1px 0 var(--media-controls-current-shadow-color,oklch(0% 0 0/.25)))}}.media-default-skin .media-button--seek{& .media-icon__label{font-variant-numeric:tabular-nums;font-size:.75em;font-weight:480;position:absolute;bottom:-3px;right:-1px}&:has(.media-icon--flipped) .media-icon__label{right:unset;left:-1px}@container media-controls (width<28rem){display:none}}.media-default-skin .media-button--playback-rate{padding:0;&:after{content:attr(data-rate) "×";font-variant-numeric:tabular-nums;width:4ch}}.media-default-skin .media-icon__container{position:relative}.media-default-skin .media-icon{transition-behavior:allow-discrete;flex-shrink:0;grid-area:1/1;width:18px;height:18px;transition-property:display,opacity;transition-duration:.15s;transition-timing-function:ease-out;display:block}.media-default-skin .media-icon--flipped{scale:-1 1}.media-default-skin .media-slider{cursor:pointer;border-radius:3.40282e38px;outline:none;flex:1;justify-content:center;align-items:center;display:flex;position:relative;&[data-orientation=horizontal]{width:100%;min-width:5rem;height:1.25rem}&[data-orientation=vertical]{width:1.25rem;height:5rem}}.media-default-skin .media-slider__track{isolation:isolate;border-radius:inherit;user-select:none;position:relative;overflow:hidden;&[data-orientation=horizontal]{width:100%;height:.25rem}&[data-orientation=vertical]{width:.25rem;height:100%}}.media-default-skin .media-slider__thumb{z-index:10;width:.625rem;height:.625rem;box-shadow:0 0 0 1px var(--media-controls-current-shadow-color-subtle,oklch(0% 0 0/.1)), 0 1px 3px 0 oklch(0% 0 0/.15), 0 1px 2px -1px oklch(0% 0 0/.15);opacity:0;user-select:none;outline-offset:-4px;background-color:currentColor;border-radius:3.40282e38px;outline:4px solid #0000;transition-property:opacity,height,width,outline-offset;transition-duration:.15s;transition-timing-function:ease-out;position:absolute;translate:-50% -50%;&[data-orientation=horizontal]{top:50%;left:var(--media-slider-fill)}&[data-orientation=vertical]{left:50%;top:calc(100% - var(--media-slider-fill))}&:hover,&:focus{outline-color:oklch(from currentColor l c h / .25);outline-offset:0}}.media-default-skin .media-slider:active .media-slider__thumb,.media-default-skin .media-slider__thumb--persistent{width:.75rem;height:.75rem}.media-default-skin .media-slider:hover .media-slider__thumb,.media-default-skin .media-slider__thumb:focus-visible,.media-default-skin .media-slider__thumb--persistent{opacity:1}.media-default-skin .media-slider__buffer,.media-default-skin .media-slider__fill{border-radius:inherit;pointer-events:none;position:absolute}.media-default-skin .media-slider__buffer[data-orientation=horizontal],.media-default-skin .media-slider__fill[data-orientation=horizontal]{inset-block:0;left:0}.media-default-skin .media-slider__buffer[data-orientation=vertical],.media-default-skin .media-slider__fill[data-orientation=vertical]{inset-inline:0;bottom:0}.media-default-skin .media-slider__buffer{background-color:oklch(from currentColor l c h / .2);transition-duration:.25s;transition-timing-function:ease-out;&[data-orientation=horizontal]{width:var(--media-slider-buffer);transition-property:width}&[data-orientation=vertical]{height:var(--media-slider-buffer);transition-property:height}}.media-default-skin .media-slider__fill{background-color:currentColor;&[data-orientation=horizontal]{width:var(--media-slider-fill)}&[data-orientation=vertical]{height:var(--media-slider-fill)}}.media-default-skin .media-popover,.media-default-skin .media-tooltip{color:inherit;border:0;margin:0;transition-property:scale,opacity,filter;transition-duration:.15s;overflow:visible;&[data-starting-style],&[data-ending-style]{opacity:0;filter:blur(8px);scale:.5}&[data-instant]{transition-duration:0s}&[data-side=top]{transform-origin:bottom}&[data-side=bottom]{transform-origin:top}&[data-side=left]{transform-origin:100%}&[data-side=right]{transform-origin:0}&:before{content:"";pointer-events:inherit;position:absolute}&[data-side=top]:before,&[data-side=bottom]:before{width:100%;inset-inline:0}&[data-side=top]:before{top:100%}&[data-side=bottom]:before{bottom:100%}&[data-side=left]:before,&[data-side=right]:before{height:100%;inset-block:0}&[data-side=left]:before{left:100%}&[data-side=right]:before{right:100%}}.media-default-skin .media-popover{--media-popover-side-offset:.5rem;&[data-side=top]:before,&[data-side=bottom]:before{height:var(--media-popover-side-offset)}&[data-side=left]:before,&[data-side=right]:before{width:var(--media-popover-side-offset)}}.media-default-skin .media-popover--volume{border-radius:3.40282e38px;padding:.625rem .25rem;&:has(media-volume-slider[data-availability=unsupported]){display:none}}.media-default-skin .media-tooltip{white-space:nowrap;--media-tooltip-side-offset:.75rem;border-radius:3.40282e38px;padding:.25rem .625rem;font-size:.75rem;&[data-side=top]:before,&[data-side=bottom]:before{height:var(--media-tooltip-side-offset)}&[data-side=left]:before,&[data-side=right]:before{width:var(--media-tooltip-side-offset)}}.media-default-skin--audio{--media-border-color:oklch(0% 0 0/.1);--media-surface-background-color:oklch(100% 0 0/.5);--media-surface-inner-border-color:oklch(100% 0 0/.1);--media-surface-outer-border-color:oklch(0% 0 0/.05);--media-surface-shadow-color:oklch(0% 0 0/.15);--media-surface-backdrop-filter:blur(16px) saturate(1.5);--media-controls-text-color:var(--media-color-primary,oklch(0% 0 0));@media (prefers-color-scheme:dark){--media-border-color:oklch(100% 0 0/.1);--media-surface-background-color:oklch(0% 0 0/.4);--media-controls-text-color:var(--media-color-primary,oklch(100% 0 0))}}.media-default-skin--audio .media-controls{color:var(--media-controls-text-color)}.media-default-skin--audio .media-slider__track{background-color:oklch(0% 0 0/.1);@media (prefers-color-scheme:dark){background-color:oklch(100% 0 0/.2);box-shadow:0 0 0 1px oklch(0% 0 0/.05)}}`;function a(){return`<media-container class="media-default-skin media-default-skin--audio"><slot name="media"></slot><slot></slot><div class="media-surface media-controls"><media-tooltip-group><media-play-button commandfor="play-tooltip" class="media-button media-button--icon media-button--play"> ${r(`restart`,{class:`media-icon media-icon--restart`})} ${r(`play`,{class:`media-icon media-icon--play`})} ${r(`pause`,{class:`media-icon media-icon--pause`})} </media-play-button><media-tooltip id="play-tooltip" side="top" class="media-surface media-tooltip"><span class="media-tooltip-label media-tooltip-label--replay">Replay</span><span class="media-tooltip-label media-tooltip-label--play">Play</span><span class="media-tooltip-label media-tooltip-label--pause">Pause</span></media-tooltip><media-seek-button commandfor="seek-backward-tooltip" seconds="-10" class="media-button media-button--icon media-button--seek"><span class="media-icon__container"> ${r(`seek`,{class:`media-icon media-icon--seek media-icon--flipped`})} <span class="media-icon__label">10</span></span></media-seek-button><media-tooltip id="seek-backward-tooltip" side="top" class="media-surface media-tooltip"> Seek backward 10 seconds </media-tooltip><media-seek-button commandfor="seek-forward-tooltip" seconds="10" class="media-button media-button--icon media-button--seek"><span class="media-icon__container"> ${r(`seek`,{class:`media-icon media-icon--seek`})} <span class="media-icon__label">10</span></span></media-seek-button><media-tooltip id="seek-forward-tooltip" side="top" class="media-surface media-tooltip"> Seek forward 10 seconds </media-tooltip><media-time-group class="media-time"><media-time type="current" class="media-time__value"></media-time><media-time-slider class="media-slider"><media-slider-track class="media-slider__track"><media-slider-fill class="media-slider__fill"></media-slider-fill><media-slider-buffer class="media-slider__buffer"></media-slider-buffer></media-slider-track><media-slider-thumb class="media-slider__thumb"></media-slider-thumb></media-time-slider><media-time type="duration" class="media-time__value"></media-time></media-time-group><media-playback-rate-button commandfor="playback-rate-tooltip" class="media-button media-button--icon media-button--playback-rate"></media-playback-rate-button><media-tooltip id="playback-rate-tooltip" side="top" class="media-surface media-tooltip"> Toggle playback rate </media-tooltip><media-mute-button commandfor="audio-volume-popover" class="media-button media-button--icon media-button--mute"> ${r(`volume-off`,{class:`media-icon media-icon--volume-off`})} ${r(`volume-low`,{class:`media-icon media-icon--volume-low`})} ${r(`volume-high`,{class:`media-icon media-icon--volume-high`})} </media-mute-button><media-popover id="audio-volume-popover" open-on-hover delay="200" close-delay="100" side="top" class="media-surface media-popover media-popover--volume"><media-volume-slider class="media-slider" orientation="vertical" thumb-alignment="edge"><media-slider-track class="media-slider__track"><media-slider-fill class="media-slider__fill"></media-slider-fill></media-slider-track><media-slider-thumb class="media-slider__thumb media-slider__thumb--persistent"></media-slider-thumb></media-volume-slider></media-popover></media-tooltip-group></div></media-container>`}var o=class extends n(e){static{this.tagName=`audio-skin`}static{this.styles=t(i)}static{this.getTemplateHTML=a}};customElements.define(o.tagName,o);
|
|
1
|
+
import{o as e}from"./create-player-QjiNZlh7.js";import{g as t,h as n}from"./volume-slider-BqzTytgB.js";import"./safe-define-GrHW3P9e.js";import{t as r}from"./default-GgKND7a8.js";import"./player-CztIlNio.js";var i=`.media-button--play .media-icon--restart,.media-button--play .media-icon--play,.media-button--play .media-icon--pause,.media-button--mute .media-icon--volume-off,.media-button--mute .media-icon--volume-low,.media-button--mute .media-icon--volume-high{opacity:0;display:none}.media-button--play[data-ended] .media-icon--restart,.media-button--play:not([data-ended])[data-paused] .media-icon--play,.media-button--play:not([data-paused]):not([data-ended]) .media-icon--pause,.media-button--mute[data-muted] .media-icon--volume-off,.media-button--mute:not([data-muted])[data-volume-level=low] .media-icon--volume-low,.media-button--mute:not([data-muted]):not([data-volume-level=low]) .media-icon--volume-high{opacity:1;display:block}.media-tooltip-label{display:none}.media-button--play[data-ended]+.media-tooltip .media-tooltip-label--replay,.media-button--play:not([data-ended])[data-paused]+.media-tooltip .media-tooltip-label--play,.media-button--play:not([data-paused]):not([data-ended])+.media-tooltip .media-tooltip-label--pause{display:block}.media-default-skin *,.media-default-skin :before,.media-default-skin :after{box-sizing:border-box}.media-default-skin img,.media-default-skin video,.media-default-skin svg{max-width:100%;display:block}.media-default-skin button{font:inherit}@media (prefers-reduced-motion:no-preference){.media-default-skin{interpolate-size:allow-keywords}}.media-default-skin{isolation:isolate;border-radius:var(--media-border-radius,2rem);letter-spacing:normal;-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto;width:100%;height:100%;font-family:Inter Variable,Inter,ui-sans-serif,system-ui,sans-serif;font-size:.8125rem;line-height:1.5;display:block;position:relative;container:media-root/inline-size}.media-default-skin .media-surface{background-color:var(--media-surface-background-color);backdrop-filter:var(--media-surface-backdrop-filter);box-shadow:0 0 0 1px var(--media-surface-outer-border-color), 0 1px 3px 0 var(--media-surface-shadow-color), 0 1px 2px -1px var(--media-surface-shadow-color);&:after{content:"";z-index:10;border-radius:inherit;box-shadow:inset 0 0 0 1px var(--media-surface-inner-border-color);pointer-events:none;position:absolute;inset:0}@media (prefers-reduced-transparency:reduce){background-color:oklch(from var(--media-surface-background-color) l c h / .7)}@media (prefers-contrast:more){background-color:oklch(from var(--media-surface-background-color) l c h / .9)}}.media-default-skin .media-buffering-indicator{color:oklch(100% 0 0);pointer-events:none;justify-content:center;align-items:center;display:none;position:absolute;inset:0;&[data-visible]{display:flex}& .media-surface{border-radius:100%;padding:.25rem}}.media-default-skin .media-error{z-index:20;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.media-default-skin .media-error__dialog{color:oklch(100% 0 0);max-width:18rem;transition-property:opacity,scale;transition-duration:.5s;transition-delay:.1s;transition-timing-function:linear(0, .034 1.5%, .763 9.7%, 1.066 13.9%, 1.198 19.9%, 1.184 21.8%, .963 37.5%, .997 50.9%, 1);border-radius:1.75rem;flex-direction:column;gap:.75rem;padding:.75rem;font-size:.875rem;display:flex;@media (prefers-reduced-motion:reduce){transition-duration:.1s;transition-delay:0s;transition-timing-function:ease-out}}.media-default-skin .media-error[data-starting-style] .media-error__dialog,.media-default-skin .media-error[data-ending-style] .media-error__dialog{opacity:0;scale:.5}.media-default-skin .media-error__content{flex-direction:column;gap:.5rem;padding:.5rem .5rem .375rem;display:flex}.media-default-skin .media-error__title{font-weight:600;line-height:1.25}.media-default-skin .media-error__description{opacity:.7;overflow-wrap:anywhere}.media-default-skin .media-error__actions{gap:.5rem;display:flex;&>*{flex:1}}.media-default-skin .media-controls{--media-controls-current-shadow-color:oklch(from currentColor 0 0 0 / clamp(0, calc((l - .5) * .5), .15));--media-controls-current-shadow-color-subtle:oklch(from var(--media-controls-current-shadow-color) l c h / calc(alpha * .4));text-shadow:0 1px 0 var(--media-controls-current-shadow-color);border-radius:3.40282e38px;align-items:center;gap:.075rem;padding:.175rem;display:flex;container:media-controls/inline-size;@container media-root (width>40rem){gap:.125rem;padding:.25rem}}.media-default-skin .media-time{flex:1;align-items:center;gap:.75rem;padding-inline:.5rem;display:flex;container:media-time/inline-size;& .media-time__value:first-child{display:none;@container media-time (width>18rem){display:block}}}.media-default-skin .media-time__value{font-variant-numeric:tabular-nums}.media-default-skin .media-button{outline-offset:-2px;color:oklch(0% 0 0);text-align:center;cursor:pointer;user-select:none;touch-action:manipulation;background:oklch(100% 0 0);border:none;border-radius:3.40282e38px;outline:2px solid #0000;flex-shrink:0;justify-content:center;align-items:center;padding:.5rem 1rem;font-weight:500;transition-property:background-color,color,outline-offset,scale;transition-duration:.15s;transition-timing-function:ease-out;display:flex;&:focus-visible{outline-offset:2px;outline-color:oklch(62.3% .214 259.815)}&[disabled]{opacity:.5;filter:grayscale();cursor:not-allowed}&[data-availability=unavailable]{display:none}}.media-default-skin .media-button--icon{aspect-ratio:1;width:2.125rem;color:inherit;text-shadow:inherit;background:0 0;padding:0;display:grid;&:hover,&:focus-visible,&[aria-expanded=true]{background-color:oklch(from currentColor l c h / .1);text-decoration:none}&:active{scale:.9}& .media-icon{filter:drop-shadow(0 1px 0 var(--media-controls-current-shadow-color,oklch(0% 0 0/.25)))}}.media-default-skin .media-button--seek{& .media-icon__label{font-variant-numeric:tabular-nums;font-size:.75em;font-weight:480;position:absolute;bottom:-3px;right:-1px}&:has(.media-icon--flipped) .media-icon__label{right:unset;left:-1px}@container media-controls (width<28rem){display:none}}.media-default-skin .media-button--playback-rate{padding:0;&:after{content:attr(data-rate) "×";font-variant-numeric:tabular-nums;width:4ch}}.media-default-skin .media-icon__container{position:relative}.media-default-skin .media-icon{transition-behavior:allow-discrete;flex-shrink:0;grid-area:1/1;width:18px;height:18px;transition-property:display,opacity;transition-duration:.15s;transition-timing-function:ease-out;display:block}.media-default-skin .media-icon--flipped{scale:-1 1}.media-default-skin .media-slider{cursor:pointer;border-radius:3.40282e38px;outline:none;flex:1;justify-content:center;align-items:center;display:flex;position:relative;&[data-orientation=horizontal]{width:100%;min-width:5rem;height:1.25rem}&[data-orientation=vertical]{width:1.25rem;height:5rem}}.media-default-skin .media-slider__track{isolation:isolate;border-radius:inherit;user-select:none;position:relative;overflow:hidden;&[data-orientation=horizontal]{width:100%;height:.25rem}&[data-orientation=vertical]{width:.25rem;height:100%}}.media-default-skin .media-slider__thumb{z-index:10;width:.625rem;height:.625rem;box-shadow:0 0 0 1px var(--media-controls-current-shadow-color-subtle,oklch(0% 0 0/.1)), 0 1px 3px 0 oklch(0% 0 0/.15), 0 1px 2px -1px oklch(0% 0 0/.15);opacity:0;user-select:none;outline-offset:-4px;background-color:currentColor;border-radius:3.40282e38px;outline:4px solid #0000;transition-property:opacity,height,width,outline-offset;transition-duration:.15s;transition-timing-function:ease-out;position:absolute;translate:-50% -50%;&[data-orientation=horizontal]{top:50%;left:var(--media-slider-fill)}&[data-orientation=vertical]{left:50%;top:calc(100% - var(--media-slider-fill))}&:hover,&:focus{outline-color:oklch(from currentColor l c h / .25);outline-offset:0}}.media-default-skin .media-slider:active .media-slider__thumb,.media-default-skin .media-slider__thumb--persistent{width:.75rem;height:.75rem}.media-default-skin .media-slider:hover .media-slider__thumb,.media-default-skin .media-slider__thumb:focus-visible,.media-default-skin .media-slider__thumb--persistent{opacity:1}.media-default-skin .media-slider__buffer,.media-default-skin .media-slider__fill{border-radius:inherit;pointer-events:none;position:absolute}.media-default-skin .media-slider__buffer[data-orientation=horizontal],.media-default-skin .media-slider__fill[data-orientation=horizontal]{inset-block:0;left:0}.media-default-skin .media-slider__buffer[data-orientation=vertical],.media-default-skin .media-slider__fill[data-orientation=vertical]{inset-inline:0;bottom:0}.media-default-skin .media-slider__buffer{background-color:oklch(from currentColor l c h / .2);transition-duration:.25s;transition-timing-function:ease-out;&[data-orientation=horizontal]{width:var(--media-slider-buffer);transition-property:width}&[data-orientation=vertical]{height:var(--media-slider-buffer);transition-property:height}}.media-default-skin .media-slider__fill{background-color:currentColor;&[data-orientation=horizontal]{width:var(--media-slider-fill)}&[data-orientation=vertical]{height:var(--media-slider-fill)}}.media-default-skin .media-popover,.media-default-skin .media-tooltip{color:inherit;border:0;margin:0;transition-property:scale,opacity,filter;transition-duration:.15s;overflow:visible;&[data-starting-style],&[data-ending-style]{opacity:0;filter:blur(8px);scale:.5}&[data-instant]{transition-duration:0s}&[data-side=top]{transform-origin:bottom}&[data-side=bottom]{transform-origin:top}&[data-side=left]{transform-origin:100%}&[data-side=right]{transform-origin:0}&:before{content:"";pointer-events:inherit;position:absolute}&[data-side=top]:before,&[data-side=bottom]:before{width:100%;inset-inline:0}&[data-side=top]:before{top:100%}&[data-side=bottom]:before{bottom:100%}&[data-side=left]:before,&[data-side=right]:before{height:100%;inset-block:0}&[data-side=left]:before{left:100%}&[data-side=right]:before{right:100%}}.media-default-skin .media-popover{--media-popover-side-offset:.5rem;&[data-side=top]:before,&[data-side=bottom]:before{height:var(--media-popover-side-offset)}&[data-side=left]:before,&[data-side=right]:before{width:var(--media-popover-side-offset)}}.media-default-skin .media-popover--volume{border-radius:3.40282e38px;padding:.625rem .25rem;&:has(media-volume-slider[data-availability=unsupported]){display:none}}.media-default-skin .media-tooltip{white-space:nowrap;--media-tooltip-side-offset:.75rem;border-radius:3.40282e38px;padding:.25rem .625rem;font-size:.75rem;&[data-side=top]:before,&[data-side=bottom]:before{height:var(--media-tooltip-side-offset)}&[data-side=left]:before,&[data-side=right]:before{width:var(--media-tooltip-side-offset)}}.media-default-skin--audio{--media-border-color:oklch(0% 0 0/.1);--media-surface-background-color:oklch(100% 0 0/.5);--media-surface-inner-border-color:oklch(100% 0 0/.1);--media-surface-outer-border-color:oklch(0% 0 0/.05);--media-surface-shadow-color:oklch(0% 0 0/.15);--media-surface-backdrop-filter:blur(16px) saturate(1.5);--media-controls-text-color:var(--media-color-primary,oklch(0% 0 0));@media (prefers-color-scheme:dark){--media-border-color:oklch(100% 0 0/.1);--media-surface-background-color:oklch(0% 0 0/.4);--media-controls-text-color:var(--media-color-primary,oklch(100% 0 0))}}.media-default-skin--audio .media-controls{color:var(--media-controls-text-color)}.media-default-skin--audio .media-slider__track{background-color:oklch(0% 0 0/.1);@media (prefers-color-scheme:dark){background-color:oklch(100% 0 0/.2);box-shadow:0 0 0 1px oklch(0% 0 0/.05)}}`;function a(){return`<media-container class="media-default-skin media-default-skin--audio"><slot name="media"></slot><slot></slot><div class="media-surface media-controls"><media-tooltip-group><media-play-button commandfor="play-tooltip" class="media-button media-button--icon media-button--play"> ${r(`restart`,{class:`media-icon media-icon--restart`})} ${r(`play`,{class:`media-icon media-icon--play`})} ${r(`pause`,{class:`media-icon media-icon--pause`})} </media-play-button><media-tooltip id="play-tooltip" side="top" class="media-surface media-tooltip"><span class="media-tooltip-label media-tooltip-label--replay">Replay</span><span class="media-tooltip-label media-tooltip-label--play">Play</span><span class="media-tooltip-label media-tooltip-label--pause">Pause</span></media-tooltip><media-seek-button commandfor="seek-backward-tooltip" seconds="-10" class="media-button media-button--icon media-button--seek"> <span class="media-icon__container"> ${r(`seek`,{class:`media-icon media-icon--seek media-icon--flipped`})} <span class="media-icon__label">10</span></span></media-seek-button><media-tooltip id="seek-backward-tooltip" side="top" class="media-surface media-tooltip"> Seek backward 10 seconds </media-tooltip><media-seek-button commandfor="seek-forward-tooltip" seconds="10" class="media-button media-button--icon media-button--seek"> <span class="media-icon__container"> ${r(`seek`,{class:`media-icon media-icon--seek`})} <span class="media-icon__label">10</span></span></media-seek-button><media-tooltip id="seek-forward-tooltip" side="top" class="media-surface media-tooltip"> Seek forward 10 seconds </media-tooltip><media-time-group class="media-time"><media-time type="current" class="media-time__value"></media-time><media-time-slider class="media-slider"><media-slider-track class="media-slider__track"><media-slider-fill class="media-slider__fill"></media-slider-fill><media-slider-buffer class="media-slider__buffer"></media-slider-buffer></media-slider-track><media-slider-thumb class="media-slider__thumb"></media-slider-thumb></media-time-slider><media-time type="duration" class="media-time__value"></media-time></media-time-group><media-playback-rate-button commandfor="playback-rate-tooltip" class="media-button media-button--icon media-button--playback-rate"></media-playback-rate-button><media-tooltip id="playback-rate-tooltip" side="top" class="media-surface media-tooltip"> Toggle playback rate </media-tooltip><media-mute-button commandfor="audio-volume-popover" class="media-button media-button--icon media-button--mute"> ${r(`volume-off`,{class:`media-icon media-icon--volume-off`})} ${r(`volume-low`,{class:`media-icon media-icon--volume-low`})} ${r(`volume-high`,{class:`media-icon media-icon--volume-high`})} </media-mute-button><media-popover id="audio-volume-popover" open-on-hover delay="200" close-delay="100" side="top" class="media-surface media-popover media-popover--volume"><media-volume-slider class="media-slider" orientation="vertical" thumb-alignment="edge"><media-slider-track class="media-slider__track"><media-slider-fill class="media-slider__fill"></media-slider-fill></media-slider-track><media-slider-thumb class="media-slider__thumb media-slider__thumb--persistent"></media-slider-thumb></media-volume-slider></media-popover></media-tooltip-group></div></media-container>`}var o=class extends n(e){static{this.tagName=`audio-skin`}static{this.styles=t(i)}static{this.getTemplateHTML=a}};customElements.define(o.tagName,o);
|
|
2
2
|
//# sourceMappingURL=audio.js.map
|
package/cdn/audio.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audio.js","names":[],"sources":["../inline-css:src/define/audio/skin.js","../src/define/audio/skin.ts"],"sourcesContent":["export default \".media-button--play .media-icon--restart,.media-button--play .media-icon--play,.media-button--play .media-icon--pause,.media-button--mute .media-icon--volume-off,.media-button--mute .media-icon--volume-low,.media-button--mute .media-icon--volume-high{opacity:0;display:none}.media-button--play[data-ended] .media-icon--restart,.media-button--play:not([data-ended])[data-paused] .media-icon--play,.media-button--play:not([data-paused]):not([data-ended]) .media-icon--pause,.media-button--mute[data-muted] .media-icon--volume-off,.media-button--mute:not([data-muted])[data-volume-level=low] .media-icon--volume-low,.media-button--mute:not([data-muted]):not([data-volume-level=low]) .media-icon--volume-high{opacity:1;display:block}.media-tooltip-label{display:none}.media-button--play[data-ended]+.media-tooltip .media-tooltip-label--replay,.media-button--play:not([data-ended])[data-paused]+.media-tooltip .media-tooltip-label--play,.media-button--play:not([data-paused]):not([data-ended])+.media-tooltip .media-tooltip-label--pause{display:block}.media-default-skin *,.media-default-skin :before,.media-default-skin :after{box-sizing:border-box}.media-default-skin img,.media-default-skin video,.media-default-skin svg{max-width:100%;display:block}.media-default-skin button{font:inherit}@media (prefers-reduced-motion:no-preference){.media-default-skin{interpolate-size:allow-keywords}}.media-default-skin{isolation:isolate;border-radius:var(--media-border-radius,2rem);letter-spacing:normal;-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto;width:100%;height:100%;font-family:Inter Variable,Inter,ui-sans-serif,system-ui,sans-serif;font-size:.8125rem;line-height:1.5;display:block;position:relative;container:media-root/inline-size}.media-default-skin .media-surface{background-color:var(--media-surface-background-color);backdrop-filter:var(--media-surface-backdrop-filter);box-shadow:0 0 0 1px var(--media-surface-outer-border-color), 0 1px 3px 0 var(--media-surface-shadow-color), 0 1px 2px -1px var(--media-surface-shadow-color);&:after{content:\\\"\\\";z-index:10;border-radius:inherit;box-shadow:inset 0 0 0 1px var(--media-surface-inner-border-color);pointer-events:none;position:absolute;inset:0}@media (prefers-reduced-transparency:reduce){background-color:oklch(from var(--media-surface-background-color) l c h / .7)}@media (prefers-contrast:more){background-color:oklch(from var(--media-surface-background-color) l c h / .9)}}.media-default-skin .media-buffering-indicator{color:oklch(100% 0 0);pointer-events:none;justify-content:center;align-items:center;display:none;position:absolute;inset:0;&[data-visible]{display:flex}& .media-surface{border-radius:100%;padding:.25rem}}.media-default-skin .media-error{z-index:20;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.media-default-skin .media-error__dialog{color:oklch(100% 0 0);max-width:18rem;transition-property:opacity,scale;transition-duration:.5s;transition-delay:.1s;transition-timing-function:linear(0, .034 1.5%, .763 9.7%, 1.066 13.9%, 1.198 19.9%, 1.184 21.8%, .963 37.5%, .997 50.9%, 1);border-radius:1.75rem;flex-direction:column;gap:.75rem;padding:.75rem;font-size:.875rem;display:flex;@media (prefers-reduced-motion:reduce){transition-duration:.1s;transition-delay:0s;transition-timing-function:ease-out}}.media-default-skin .media-error[data-starting-style] .media-error__dialog,.media-default-skin .media-error[data-ending-style] .media-error__dialog{opacity:0;scale:.5}.media-default-skin .media-error__content{flex-direction:column;gap:.5rem;padding:.5rem .5rem .375rem;display:flex}.media-default-skin .media-error__title{font-weight:600;line-height:1.25}.media-default-skin .media-error__description{opacity:.7;overflow-wrap:anywhere}.media-default-skin .media-error__actions{gap:.5rem;display:flex;&>*{flex:1}}.media-default-skin .media-controls{--media-controls-current-shadow-color:oklch(from currentColor 0 0 0 / clamp(0, calc((l - .5) * .5), .15));--media-controls-current-shadow-color-subtle:oklch(from var(--media-controls-current-shadow-color) l c h / calc(alpha * .4));text-shadow:0 1px 0 var(--media-controls-current-shadow-color);border-radius:3.40282e38px;align-items:center;gap:.075rem;padding:.175rem;display:flex;container:media-controls/inline-size;@container media-root (width>40rem){gap:.125rem;padding:.25rem}}.media-default-skin .media-time{flex:1;align-items:center;gap:.75rem;padding-inline:.5rem;display:flex;container:media-time/inline-size;& .media-time__value:first-child{display:none;@container media-time (width>18rem){display:block}}}.media-default-skin .media-time__value{font-variant-numeric:tabular-nums}.media-default-skin .media-button{outline-offset:-2px;color:oklch(0% 0 0);text-align:center;cursor:pointer;user-select:none;touch-action:manipulation;background:oklch(100% 0 0);border:none;border-radius:3.40282e38px;outline:2px solid #0000;flex-shrink:0;justify-content:center;align-items:center;padding:.5rem 1rem;font-weight:500;transition-property:background-color,color,outline-offset,scale;transition-duration:.15s;transition-timing-function:ease-out;display:flex;&:focus-visible{outline-offset:2px;outline-color:oklch(62.3% .214 259.815)}&[disabled]{opacity:.5;filter:grayscale();cursor:not-allowed}&[data-availability=unavailable]{display:none}}.media-default-skin .media-button--icon{aspect-ratio:1;width:2.125rem;color:inherit;text-shadow:inherit;background:0 0;padding:0;display:grid;&:hover,&:focus-visible,&[aria-expanded=true]{background-color:oklch(from currentColor l c h / .1);text-decoration:none}&:active{scale:.9}& .media-icon{filter:drop-shadow(0 1px 0 var(--media-controls-current-shadow-color,oklch(0% 0 0/.25)))}}.media-default-skin .media-button--seek{& .media-icon__label{font-variant-numeric:tabular-nums;font-size:.75em;font-weight:480;position:absolute;bottom:-3px;right:-1px}&:has(.media-icon--flipped) .media-icon__label{right:unset;left:-1px}@container media-controls (width<28rem){display:none}}.media-default-skin .media-button--playback-rate{padding:0;&:after{content:attr(data-rate) \\\"×\\\";font-variant-numeric:tabular-nums;width:4ch}}.media-default-skin .media-icon__container{position:relative}.media-default-skin .media-icon{transition-behavior:allow-discrete;flex-shrink:0;grid-area:1/1;width:18px;height:18px;transition-property:display,opacity;transition-duration:.15s;transition-timing-function:ease-out;display:block}.media-default-skin .media-icon--flipped{scale:-1 1}.media-default-skin .media-slider{cursor:pointer;border-radius:3.40282e38px;outline:none;flex:1;justify-content:center;align-items:center;display:flex;position:relative;&[data-orientation=horizontal]{width:100%;min-width:5rem;height:1.25rem}&[data-orientation=vertical]{width:1.25rem;height:5rem}}.media-default-skin .media-slider__track{isolation:isolate;border-radius:inherit;user-select:none;position:relative;overflow:hidden;&[data-orientation=horizontal]{width:100%;height:.25rem}&[data-orientation=vertical]{width:.25rem;height:100%}}.media-default-skin .media-slider__thumb{z-index:10;width:.625rem;height:.625rem;box-shadow:0 0 0 1px var(--media-controls-current-shadow-color-subtle,oklch(0% 0 0/.1)), 0 1px 3px 0 oklch(0% 0 0/.15), 0 1px 2px -1px oklch(0% 0 0/.15);opacity:0;user-select:none;outline-offset:-4px;background-color:currentColor;border-radius:3.40282e38px;outline:4px solid #0000;transition-property:opacity,height,width,outline-offset;transition-duration:.15s;transition-timing-function:ease-out;position:absolute;translate:-50% -50%;&[data-orientation=horizontal]{top:50%;left:var(--media-slider-fill)}&[data-orientation=vertical]{left:50%;top:calc(100% - var(--media-slider-fill))}&:hover,&:focus{outline-color:oklch(from currentColor l c h / .25);outline-offset:0}}.media-default-skin .media-slider:active .media-slider__thumb,.media-default-skin .media-slider__thumb--persistent{width:.75rem;height:.75rem}.media-default-skin .media-slider:hover .media-slider__thumb,.media-default-skin .media-slider__thumb:focus-visible,.media-default-skin .media-slider__thumb--persistent{opacity:1}.media-default-skin .media-slider__buffer,.media-default-skin .media-slider__fill{border-radius:inherit;pointer-events:none;position:absolute}.media-default-skin .media-slider__buffer[data-orientation=horizontal],.media-default-skin .media-slider__fill[data-orientation=horizontal]{inset-block:0;left:0}.media-default-skin .media-slider__buffer[data-orientation=vertical],.media-default-skin .media-slider__fill[data-orientation=vertical]{inset-inline:0;bottom:0}.media-default-skin .media-slider__buffer{background-color:oklch(from currentColor l c h / .2);transition-duration:.25s;transition-timing-function:ease-out;&[data-orientation=horizontal]{width:var(--media-slider-buffer);transition-property:width}&[data-orientation=vertical]{height:var(--media-slider-buffer);transition-property:height}}.media-default-skin .media-slider__fill{background-color:currentColor;&[data-orientation=horizontal]{width:var(--media-slider-fill)}&[data-orientation=vertical]{height:var(--media-slider-fill)}}.media-default-skin .media-popover,.media-default-skin .media-tooltip{color:inherit;border:0;margin:0;transition-property:scale,opacity,filter;transition-duration:.15s;overflow:visible;&[data-starting-style],&[data-ending-style]{opacity:0;filter:blur(8px);scale:.5}&[data-instant]{transition-duration:0s}&[data-side=top]{transform-origin:bottom}&[data-side=bottom]{transform-origin:top}&[data-side=left]{transform-origin:100%}&[data-side=right]{transform-origin:0}&:before{content:\\\"\\\";pointer-events:inherit;position:absolute}&[data-side=top]:before,&[data-side=bottom]:before{width:100%;inset-inline:0}&[data-side=top]:before{top:100%}&[data-side=bottom]:before{bottom:100%}&[data-side=left]:before,&[data-side=right]:before{height:100%;inset-block:0}&[data-side=left]:before{left:100%}&[data-side=right]:before{right:100%}}.media-default-skin .media-popover{--media-popover-side-offset:.5rem;&[data-side=top]:before,&[data-side=bottom]:before{height:var(--media-popover-side-offset)}&[data-side=left]:before,&[data-side=right]:before{width:var(--media-popover-side-offset)}}.media-default-skin .media-popover--volume{border-radius:3.40282e38px;padding:.625rem .25rem;&:has(media-volume-slider[data-availability=unsupported]){display:none}}.media-default-skin .media-tooltip{white-space:nowrap;--media-tooltip-side-offset:.75rem;border-radius:3.40282e38px;padding:.25rem .625rem;font-size:.75rem;&[data-side=top]:before,&[data-side=bottom]:before{height:var(--media-tooltip-side-offset)}&[data-side=left]:before,&[data-side=right]:before{width:var(--media-tooltip-side-offset)}}.media-default-skin--audio{--media-border-color:oklch(0% 0 0/.1);--media-surface-background-color:oklch(100% 0 0/.5);--media-surface-inner-border-color:oklch(100% 0 0/.1);--media-surface-outer-border-color:oklch(0% 0 0/.05);--media-surface-shadow-color:oklch(0% 0 0/.15);--media-surface-backdrop-filter:blur(16px) saturate(1.5);--media-controls-text-color:var(--media-color-primary,oklch(0% 0 0));@media (prefers-color-scheme:dark){--media-border-color:oklch(100% 0 0/.1);--media-surface-background-color:oklch(0% 0 0/.4);--media-controls-text-color:var(--media-color-primary,oklch(100% 0 0))}}.media-default-skin--audio .media-controls{color:var(--media-controls-text-color)}.media-default-skin--audio .media-slider__track{background-color:oklch(0% 0 0/.1);@media (prefers-color-scheme:dark){background-color:oklch(100% 0 0/.2);box-shadow:0 0 0 1px oklch(0% 0 0/.05)}}\";","import { ReactiveElement } from '@videojs/element';\nimport { renderIcon } from '@videojs/icons/render';\nimport { createStyles, SkinMixin } from '../skin-mixin';\nimport styles from './skin.css?inline';\n\n// Side-effect imports: register all custom elements used in the template.\nimport '../media/container';\nimport '../ui/mute-button';\nimport '../ui/play-button';\nimport '../ui/playback-rate-button';\nimport '../ui/popover';\nimport '../ui/seek-button';\nimport '../ui/time';\nimport '../ui/time-slider';\nimport '../ui/tooltip';\nimport '../ui/tooltip-group';\nimport '../ui/volume-slider';\n\nconst SEEK_TIME = 10;\n\nfunction getTemplateHTML() {\n return /*html*/ `\n <media-container class=\"media-default-skin media-default-skin--audio\">\n <!-- @deprecated slot=\"media\" is no longer required, use the default slot instead -->\n <slot name=\"media\"></slot>\n <slot></slot>\n\n <div class=\"media-surface media-controls\">\n <media-tooltip-group>\n <media-play-button commandfor=\"play-tooltip\" class=\"media-button media-button--icon media-button--play\">\n ${renderIcon('restart', { class: 'media-icon media-icon--restart' })}\n ${renderIcon('play', { class: 'media-icon media-icon--play' })}\n ${renderIcon('pause', { class: 'media-icon media-icon--pause' })}\n </media-play-button>\n <media-tooltip id=\"play-tooltip\" side=\"top\" class=\"media-surface media-tooltip\">\n <span class=\"media-tooltip-label media-tooltip-label--replay\">Replay</span>\n <span class=\"media-tooltip-label media-tooltip-label--play\">Play</span>\n <span class=\"media-tooltip-label media-tooltip-label--pause\">Pause</span>\n </media-tooltip>\n\n <media-seek-button commandfor=\"seek-backward-tooltip\" seconds=\"${-SEEK_TIME}\" class=\"media-button media-button--icon media-button--seek\">\n <span class=\"media-icon__container\">\n ${renderIcon('seek', { class: 'media-icon media-icon--seek media-icon--flipped' })}\n <span class=\"media-icon__label\">${SEEK_TIME}</span>\n </span>\n </media-seek-button>\n <media-tooltip id=\"seek-backward-tooltip\" side=\"top\" class=\"media-surface media-tooltip\">\n Seek backward ${SEEK_TIME} seconds\n </media-tooltip>\n\n <media-seek-button commandfor=\"seek-forward-tooltip\" seconds=\"${SEEK_TIME}\" class=\"media-button media-button--icon media-button--seek\">\n <span class=\"media-icon__container\">\n ${renderIcon('seek', { class: 'media-icon media-icon--seek' })}\n <span class=\"media-icon__label\">${SEEK_TIME}</span>\n </span>\n </media-seek-button>\n <media-tooltip id=\"seek-forward-tooltip\" side=\"top\" class=\"media-surface media-tooltip\">\n Seek forward ${SEEK_TIME} seconds\n </media-tooltip>\n\n <media-time-group class=\"media-time\">\n <media-time type=\"current\" class=\"media-time__value\"></media-time>\n <media-time-slider class=\"media-slider\">\n <media-slider-track class=\"media-slider__track\">\n <media-slider-fill class=\"media-slider__fill\"></media-slider-fill>\n <media-slider-buffer class=\"media-slider__buffer\"></media-slider-buffer>\n </media-slider-track>\n <media-slider-thumb class=\"media-slider__thumb\"></media-slider-thumb>\n </media-time-slider>\n <media-time type=\"duration\" class=\"media-time__value\"></media-time>\n </media-time-group>\n\n <media-playback-rate-button commandfor=\"playback-rate-tooltip\" class=\"media-button media-button--icon media-button--playback-rate\"></media-playback-rate-button>\n <media-tooltip id=\"playback-rate-tooltip\" side=\"top\" class=\"media-surface media-tooltip\">\n Toggle playback rate\n </media-tooltip>\n\n <media-mute-button commandfor=\"audio-volume-popover\" class=\"media-button media-button--icon media-button--mute\">\n ${renderIcon('volume-off', { class: 'media-icon media-icon--volume-off' })}\n ${renderIcon('volume-low', { class: 'media-icon media-icon--volume-low' })}\n ${renderIcon('volume-high', { class: 'media-icon media-icon--volume-high' })}\n </media-mute-button>\n\n <media-popover id=\"audio-volume-popover\" open-on-hover delay=\"200\" close-delay=\"100\" side=\"top\" class=\"media-surface media-popover media-popover--volume\">\n <media-volume-slider class=\"media-slider\" orientation=\"vertical\" thumb-alignment=\"edge\">\n <media-slider-track class=\"media-slider__track\">\n <media-slider-fill class=\"media-slider__fill\"></media-slider-fill>\n </media-slider-track>\n <media-slider-thumb class=\"media-slider__thumb media-slider__thumb--persistent\"></media-slider-thumb>\n </media-volume-slider>\n </media-popover>\n </media-tooltip-group>\n </div>\n </media-container>\n `;\n}\n\nexport class AudioSkinElement extends SkinMixin(ReactiveElement) {\n static readonly tagName = 'audio-skin';\n static styles = createStyles(styles);\n static getTemplateHTML = getTemplateHTML;\n}\n\ncustomElements.define(AudioSkinElement.tagName, AudioSkinElement);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [AudioSkinElement.tagName]: AudioSkinElement;\n }\n}\n"],"mappings":"gNAAA,IAAA,EAAe,kwWCoBf,SAAS,GAAkB,CACzB,MAAgB,wRAAA,EAAA,UAAA,CAAA,MAAA,iCAAA,CAAA,CAAA,GAAA,EAAA,OAAA,CAAA,MAAA,8BAAA,CAAA,CAAA,GAAA,EAAA,QAAA,CAAA,MAAA,+BAAA,CAAA,CAAA,sfAAA,EAAA,OAAA,CAAA,MAAA,kDAAA,CAAA,CAAA,4WAAA,EAAA,OAAA,CAAA,MAAA,8BAAA,CAAA,CAAA,qmCAAA,EAAA,aAAA,CAAA,MAAA,oCAAA,CAAA,CAAA,GAAA,EAAA,aAAA,CAAA,MAAA,oCAAA,CAAA,CAAA,GAAA,EAAA,cAAA,CAAA,MAAA,qCAAA,CAAA,CAAA,ykBAGlB,IAAY,EAAZ,cAA+B,EAAA,EAAA,AAAA,qBACb,iEAEM,IAGxB,eAAc,OAAA,EAAwB,QAAQ,EAAiB"}
|
|
1
|
+
{"version":3,"file":"audio.js","names":[],"sources":["../inline-css:src/define/audio/skin.js","../src/define/audio/skin.ts"],"sourcesContent":["export default \".media-button--play .media-icon--restart,.media-button--play .media-icon--play,.media-button--play .media-icon--pause,.media-button--mute .media-icon--volume-off,.media-button--mute .media-icon--volume-low,.media-button--mute .media-icon--volume-high{opacity:0;display:none}.media-button--play[data-ended] .media-icon--restart,.media-button--play:not([data-ended])[data-paused] .media-icon--play,.media-button--play:not([data-paused]):not([data-ended]) .media-icon--pause,.media-button--mute[data-muted] .media-icon--volume-off,.media-button--mute:not([data-muted])[data-volume-level=low] .media-icon--volume-low,.media-button--mute:not([data-muted]):not([data-volume-level=low]) .media-icon--volume-high{opacity:1;display:block}.media-tooltip-label{display:none}.media-button--play[data-ended]+.media-tooltip .media-tooltip-label--replay,.media-button--play:not([data-ended])[data-paused]+.media-tooltip .media-tooltip-label--play,.media-button--play:not([data-paused]):not([data-ended])+.media-tooltip .media-tooltip-label--pause{display:block}.media-default-skin *,.media-default-skin :before,.media-default-skin :after{box-sizing:border-box}.media-default-skin img,.media-default-skin video,.media-default-skin svg{max-width:100%;display:block}.media-default-skin button{font:inherit}@media (prefers-reduced-motion:no-preference){.media-default-skin{interpolate-size:allow-keywords}}.media-default-skin{isolation:isolate;border-radius:var(--media-border-radius,2rem);letter-spacing:normal;-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto;width:100%;height:100%;font-family:Inter Variable,Inter,ui-sans-serif,system-ui,sans-serif;font-size:.8125rem;line-height:1.5;display:block;position:relative;container:media-root/inline-size}.media-default-skin .media-surface{background-color:var(--media-surface-background-color);backdrop-filter:var(--media-surface-backdrop-filter);box-shadow:0 0 0 1px var(--media-surface-outer-border-color), 0 1px 3px 0 var(--media-surface-shadow-color), 0 1px 2px -1px var(--media-surface-shadow-color);&:after{content:\\\"\\\";z-index:10;border-radius:inherit;box-shadow:inset 0 0 0 1px var(--media-surface-inner-border-color);pointer-events:none;position:absolute;inset:0}@media (prefers-reduced-transparency:reduce){background-color:oklch(from var(--media-surface-background-color) l c h / .7)}@media (prefers-contrast:more){background-color:oklch(from var(--media-surface-background-color) l c h / .9)}}.media-default-skin .media-buffering-indicator{color:oklch(100% 0 0);pointer-events:none;justify-content:center;align-items:center;display:none;position:absolute;inset:0;&[data-visible]{display:flex}& .media-surface{border-radius:100%;padding:.25rem}}.media-default-skin .media-error{z-index:20;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.media-default-skin .media-error__dialog{color:oklch(100% 0 0);max-width:18rem;transition-property:opacity,scale;transition-duration:.5s;transition-delay:.1s;transition-timing-function:linear(0, .034 1.5%, .763 9.7%, 1.066 13.9%, 1.198 19.9%, 1.184 21.8%, .963 37.5%, .997 50.9%, 1);border-radius:1.75rem;flex-direction:column;gap:.75rem;padding:.75rem;font-size:.875rem;display:flex;@media (prefers-reduced-motion:reduce){transition-duration:.1s;transition-delay:0s;transition-timing-function:ease-out}}.media-default-skin .media-error[data-starting-style] .media-error__dialog,.media-default-skin .media-error[data-ending-style] .media-error__dialog{opacity:0;scale:.5}.media-default-skin .media-error__content{flex-direction:column;gap:.5rem;padding:.5rem .5rem .375rem;display:flex}.media-default-skin .media-error__title{font-weight:600;line-height:1.25}.media-default-skin .media-error__description{opacity:.7;overflow-wrap:anywhere}.media-default-skin .media-error__actions{gap:.5rem;display:flex;&>*{flex:1}}.media-default-skin .media-controls{--media-controls-current-shadow-color:oklch(from currentColor 0 0 0 / clamp(0, calc((l - .5) * .5), .15));--media-controls-current-shadow-color-subtle:oklch(from var(--media-controls-current-shadow-color) l c h / calc(alpha * .4));text-shadow:0 1px 0 var(--media-controls-current-shadow-color);border-radius:3.40282e38px;align-items:center;gap:.075rem;padding:.175rem;display:flex;container:media-controls/inline-size;@container media-root (width>40rem){gap:.125rem;padding:.25rem}}.media-default-skin .media-time{flex:1;align-items:center;gap:.75rem;padding-inline:.5rem;display:flex;container:media-time/inline-size;& .media-time__value:first-child{display:none;@container media-time (width>18rem){display:block}}}.media-default-skin .media-time__value{font-variant-numeric:tabular-nums}.media-default-skin .media-button{outline-offset:-2px;color:oklch(0% 0 0);text-align:center;cursor:pointer;user-select:none;touch-action:manipulation;background:oklch(100% 0 0);border:none;border-radius:3.40282e38px;outline:2px solid #0000;flex-shrink:0;justify-content:center;align-items:center;padding:.5rem 1rem;font-weight:500;transition-property:background-color,color,outline-offset,scale;transition-duration:.15s;transition-timing-function:ease-out;display:flex;&:focus-visible{outline-offset:2px;outline-color:oklch(62.3% .214 259.815)}&[disabled]{opacity:.5;filter:grayscale();cursor:not-allowed}&[data-availability=unavailable]{display:none}}.media-default-skin .media-button--icon{aspect-ratio:1;width:2.125rem;color:inherit;text-shadow:inherit;background:0 0;padding:0;display:grid;&:hover,&:focus-visible,&[aria-expanded=true]{background-color:oklch(from currentColor l c h / .1);text-decoration:none}&:active{scale:.9}& .media-icon{filter:drop-shadow(0 1px 0 var(--media-controls-current-shadow-color,oklch(0% 0 0/.25)))}}.media-default-skin .media-button--seek{& .media-icon__label{font-variant-numeric:tabular-nums;font-size:.75em;font-weight:480;position:absolute;bottom:-3px;right:-1px}&:has(.media-icon--flipped) .media-icon__label{right:unset;left:-1px}@container media-controls (width<28rem){display:none}}.media-default-skin .media-button--playback-rate{padding:0;&:after{content:attr(data-rate) \\\"×\\\";font-variant-numeric:tabular-nums;width:4ch}}.media-default-skin .media-icon__container{position:relative}.media-default-skin .media-icon{transition-behavior:allow-discrete;flex-shrink:0;grid-area:1/1;width:18px;height:18px;transition-property:display,opacity;transition-duration:.15s;transition-timing-function:ease-out;display:block}.media-default-skin .media-icon--flipped{scale:-1 1}.media-default-skin .media-slider{cursor:pointer;border-radius:3.40282e38px;outline:none;flex:1;justify-content:center;align-items:center;display:flex;position:relative;&[data-orientation=horizontal]{width:100%;min-width:5rem;height:1.25rem}&[data-orientation=vertical]{width:1.25rem;height:5rem}}.media-default-skin .media-slider__track{isolation:isolate;border-radius:inherit;user-select:none;position:relative;overflow:hidden;&[data-orientation=horizontal]{width:100%;height:.25rem}&[data-orientation=vertical]{width:.25rem;height:100%}}.media-default-skin .media-slider__thumb{z-index:10;width:.625rem;height:.625rem;box-shadow:0 0 0 1px var(--media-controls-current-shadow-color-subtle,oklch(0% 0 0/.1)), 0 1px 3px 0 oklch(0% 0 0/.15), 0 1px 2px -1px oklch(0% 0 0/.15);opacity:0;user-select:none;outline-offset:-4px;background-color:currentColor;border-radius:3.40282e38px;outline:4px solid #0000;transition-property:opacity,height,width,outline-offset;transition-duration:.15s;transition-timing-function:ease-out;position:absolute;translate:-50% -50%;&[data-orientation=horizontal]{top:50%;left:var(--media-slider-fill)}&[data-orientation=vertical]{left:50%;top:calc(100% - var(--media-slider-fill))}&:hover,&:focus{outline-color:oklch(from currentColor l c h / .25);outline-offset:0}}.media-default-skin .media-slider:active .media-slider__thumb,.media-default-skin .media-slider__thumb--persistent{width:.75rem;height:.75rem}.media-default-skin .media-slider:hover .media-slider__thumb,.media-default-skin .media-slider__thumb:focus-visible,.media-default-skin .media-slider__thumb--persistent{opacity:1}.media-default-skin .media-slider__buffer,.media-default-skin .media-slider__fill{border-radius:inherit;pointer-events:none;position:absolute}.media-default-skin .media-slider__buffer[data-orientation=horizontal],.media-default-skin .media-slider__fill[data-orientation=horizontal]{inset-block:0;left:0}.media-default-skin .media-slider__buffer[data-orientation=vertical],.media-default-skin .media-slider__fill[data-orientation=vertical]{inset-inline:0;bottom:0}.media-default-skin .media-slider__buffer{background-color:oklch(from currentColor l c h / .2);transition-duration:.25s;transition-timing-function:ease-out;&[data-orientation=horizontal]{width:var(--media-slider-buffer);transition-property:width}&[data-orientation=vertical]{height:var(--media-slider-buffer);transition-property:height}}.media-default-skin .media-slider__fill{background-color:currentColor;&[data-orientation=horizontal]{width:var(--media-slider-fill)}&[data-orientation=vertical]{height:var(--media-slider-fill)}}.media-default-skin .media-popover,.media-default-skin .media-tooltip{color:inherit;border:0;margin:0;transition-property:scale,opacity,filter;transition-duration:.15s;overflow:visible;&[data-starting-style],&[data-ending-style]{opacity:0;filter:blur(8px);scale:.5}&[data-instant]{transition-duration:0s}&[data-side=top]{transform-origin:bottom}&[data-side=bottom]{transform-origin:top}&[data-side=left]{transform-origin:100%}&[data-side=right]{transform-origin:0}&:before{content:\\\"\\\";pointer-events:inherit;position:absolute}&[data-side=top]:before,&[data-side=bottom]:before{width:100%;inset-inline:0}&[data-side=top]:before{top:100%}&[data-side=bottom]:before{bottom:100%}&[data-side=left]:before,&[data-side=right]:before{height:100%;inset-block:0}&[data-side=left]:before{left:100%}&[data-side=right]:before{right:100%}}.media-default-skin .media-popover{--media-popover-side-offset:.5rem;&[data-side=top]:before,&[data-side=bottom]:before{height:var(--media-popover-side-offset)}&[data-side=left]:before,&[data-side=right]:before{width:var(--media-popover-side-offset)}}.media-default-skin .media-popover--volume{border-radius:3.40282e38px;padding:.625rem .25rem;&:has(media-volume-slider[data-availability=unsupported]){display:none}}.media-default-skin .media-tooltip{white-space:nowrap;--media-tooltip-side-offset:.75rem;border-radius:3.40282e38px;padding:.25rem .625rem;font-size:.75rem;&[data-side=top]:before,&[data-side=bottom]:before{height:var(--media-tooltip-side-offset)}&[data-side=left]:before,&[data-side=right]:before{width:var(--media-tooltip-side-offset)}}.media-default-skin--audio{--media-border-color:oklch(0% 0 0/.1);--media-surface-background-color:oklch(100% 0 0/.5);--media-surface-inner-border-color:oklch(100% 0 0/.1);--media-surface-outer-border-color:oklch(0% 0 0/.05);--media-surface-shadow-color:oklch(0% 0 0/.15);--media-surface-backdrop-filter:blur(16px) saturate(1.5);--media-controls-text-color:var(--media-color-primary,oklch(0% 0 0));@media (prefers-color-scheme:dark){--media-border-color:oklch(100% 0 0/.1);--media-surface-background-color:oklch(0% 0 0/.4);--media-controls-text-color:var(--media-color-primary,oklch(100% 0 0))}}.media-default-skin--audio .media-controls{color:var(--media-controls-text-color)}.media-default-skin--audio .media-slider__track{background-color:oklch(0% 0 0/.1);@media (prefers-color-scheme:dark){background-color:oklch(100% 0 0/.2);box-shadow:0 0 0 1px oklch(0% 0 0/.05)}}\";","import { ReactiveElement } from '@videojs/element';\nimport { renderIcon } from '@videojs/icons/render';\nimport { createStyles, SkinMixin } from '../skin-mixin';\nimport styles from './skin.css?inline';\n\n// Side-effect imports: register all custom elements used in the template.\nimport '../media/container';\nimport '../ui/mute-button';\nimport '../ui/play-button';\nimport '../ui/playback-rate-button';\nimport '../ui/popover';\nimport '../ui/seek-button';\nimport '../ui/time';\nimport '../ui/time-slider';\nimport '../ui/tooltip';\nimport '../ui/tooltip-group';\nimport '../ui/volume-slider';\n\nconst SEEK_TIME = 10;\n\nfunction getTemplateHTML() {\n return /*html*/ `\n <media-container class=\"media-default-skin media-default-skin--audio\">\n <!-- @deprecated slot=\"media\" is no longer required, use the default slot instead -->\n <slot name=\"media\"></slot>\n <slot></slot>\n\n <div class=\"media-surface media-controls\">\n <media-tooltip-group>\n <media-play-button commandfor=\"play-tooltip\" class=\"media-button media-button--icon media-button--play\">\n ${renderIcon('restart', { class: 'media-icon media-icon--restart' })}\n ${renderIcon('play', { class: 'media-icon media-icon--play' })}\n ${renderIcon('pause', { class: 'media-icon media-icon--pause' })}\n </media-play-button>\n <media-tooltip id=\"play-tooltip\" side=\"top\" class=\"media-surface media-tooltip\">\n <span class=\"media-tooltip-label media-tooltip-label--replay\">Replay</span>\n <span class=\"media-tooltip-label media-tooltip-label--play\">Play</span>\n <span class=\"media-tooltip-label media-tooltip-label--pause\">Pause</span>\n </media-tooltip>\n\n <media-seek-button commandfor=\"seek-backward-tooltip\" seconds=\"${-SEEK_TIME}\" class=\"media-button media-button--icon media-button--seek\">\n <span class=\"media-icon__container\">\n ${renderIcon('seek', { class: 'media-icon media-icon--seek media-icon--flipped' })}\n <span class=\"media-icon__label\">${SEEK_TIME}</span>\n </span>\n </media-seek-button>\n <media-tooltip id=\"seek-backward-tooltip\" side=\"top\" class=\"media-surface media-tooltip\">\n Seek backward ${SEEK_TIME} seconds\n </media-tooltip>\n\n <media-seek-button commandfor=\"seek-forward-tooltip\" seconds=\"${SEEK_TIME}\" class=\"media-button media-button--icon media-button--seek\">\n <span class=\"media-icon__container\">\n ${renderIcon('seek', { class: 'media-icon media-icon--seek' })}\n <span class=\"media-icon__label\">${SEEK_TIME}</span>\n </span>\n </media-seek-button>\n <media-tooltip id=\"seek-forward-tooltip\" side=\"top\" class=\"media-surface media-tooltip\">\n Seek forward ${SEEK_TIME} seconds\n </media-tooltip>\n\n <media-time-group class=\"media-time\">\n <media-time type=\"current\" class=\"media-time__value\"></media-time>\n <media-time-slider class=\"media-slider\">\n <media-slider-track class=\"media-slider__track\">\n <media-slider-fill class=\"media-slider__fill\"></media-slider-fill>\n <media-slider-buffer class=\"media-slider__buffer\"></media-slider-buffer>\n </media-slider-track>\n <media-slider-thumb class=\"media-slider__thumb\"></media-slider-thumb>\n </media-time-slider>\n <media-time type=\"duration\" class=\"media-time__value\"></media-time>\n </media-time-group>\n\n <media-playback-rate-button commandfor=\"playback-rate-tooltip\" class=\"media-button media-button--icon media-button--playback-rate\"></media-playback-rate-button>\n <media-tooltip id=\"playback-rate-tooltip\" side=\"top\" class=\"media-surface media-tooltip\">\n Toggle playback rate\n </media-tooltip>\n\n <media-mute-button commandfor=\"audio-volume-popover\" class=\"media-button media-button--icon media-button--mute\">\n ${renderIcon('volume-off', { class: 'media-icon media-icon--volume-off' })}\n ${renderIcon('volume-low', { class: 'media-icon media-icon--volume-low' })}\n ${renderIcon('volume-high', { class: 'media-icon media-icon--volume-high' })}\n </media-mute-button>\n\n <media-popover id=\"audio-volume-popover\" open-on-hover delay=\"200\" close-delay=\"100\" side=\"top\" class=\"media-surface media-popover media-popover--volume\">\n <media-volume-slider class=\"media-slider\" orientation=\"vertical\" thumb-alignment=\"edge\">\n <media-slider-track class=\"media-slider__track\">\n <media-slider-fill class=\"media-slider__fill\"></media-slider-fill>\n </media-slider-track>\n <media-slider-thumb class=\"media-slider__thumb media-slider__thumb--persistent\"></media-slider-thumb>\n </media-volume-slider>\n </media-popover>\n </media-tooltip-group>\n </div>\n </media-container>\n `;\n}\n\nexport class AudioSkinElement extends SkinMixin(ReactiveElement) {\n static readonly tagName = 'audio-skin';\n static styles = createStyles(styles);\n static getTemplateHTML = getTemplateHTML;\n}\n\ncustomElements.define(AudioSkinElement.tagName, AudioSkinElement);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [AudioSkinElement.tagName]: AudioSkinElement;\n }\n}\n"],"mappings":"gNAAA,IAAA,EAAe,kwWCoBf,SAAS,GAAkB,CACzB,MAAgB,wRAAA,EAAA,UAAA,CAAA,MAAA,iCAAA,CAAA,CAAA,GAAA,EAAA,OAAA,CAAA,MAAA,8BAAA,CAAA,CAAA,GAAA,EAAA,QAAA,CAAA,MAAA,+BAAA,CAAA,CAAA,ufAAA,EAAA,OAAA,CAAA,MAAA,kDAAA,CAAA,CAAA,6WAAA,EAAA,OAAA,CAAA,MAAA,8BAAA,CAAA,CAAA,qmCAAA,EAAA,aAAA,CAAA,MAAA,oCAAA,CAAA,CAAA,GAAA,EAAA,aAAA,CAAA,MAAA,oCAAA,CAAA,CAAA,GAAA,EAAA,cAAA,CAAA,MAAA,qCAAA,CAAA,CAAA,ykBAGlB,IAAY,EAAZ,cAA+B,EAAA,EAAA,AAAA,qBACb,iEAEM,IAGxB,eAAc,OAAA,EAAwB,QAAQ,EAAiB"}
|
package/cdn/background.dev.js
CHANGED
|
@@ -20,8 +20,20 @@ var BackgroundVideoPlayerElement = class extends ProviderMixin(MediaElement) {
|
|
|
20
20
|
safeDefine(BackgroundVideoPlayerElement);
|
|
21
21
|
safeDefine(MediaContainerElement);
|
|
22
22
|
|
|
23
|
+
//#endregion
|
|
24
|
+
//#region inline-css:src/define/background/skin.js
|
|
25
|
+
var skin_default = "background-video-player {\n display: contents;\n}\n\nbackground-video-skin {\n display: block;\n position: relative;\n width: 100%;\n height: 100%;\n --media-object-fit: cover;\n object-fit: var(--media-object-fit);\n}\n\nbackground-video-skin > background-video {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n object-fit: inherit;\n}\n\nbackground-video-skin > img,\nbackground-video-skin > picture {\n width: 100%;\n height: 100%;\n object-fit: inherit;\n}\n";
|
|
26
|
+
|
|
23
27
|
//#endregion
|
|
24
28
|
//#region src/define/background/skin.ts
|
|
29
|
+
const STYLES_ID = "__media-background-styles";
|
|
30
|
+
function ensureBackgroundStyles() {
|
|
31
|
+
if (document.getElementById(STYLES_ID)) return;
|
|
32
|
+
const style = document.createElement("style");
|
|
33
|
+
style.id = STYLES_ID;
|
|
34
|
+
style.textContent = skin_default;
|
|
35
|
+
document.head.appendChild(style);
|
|
36
|
+
}
|
|
25
37
|
function getTemplateHTML$1(_attrs) {
|
|
26
38
|
return `
|
|
27
39
|
<media-container>
|
|
@@ -43,6 +55,7 @@ var BackgroundVideoSkinElement = class extends ReactiveElement {
|
|
|
43
55
|
}
|
|
44
56
|
constructor() {
|
|
45
57
|
super();
|
|
58
|
+
ensureBackgroundStyles();
|
|
46
59
|
if (!this.shadowRoot) {
|
|
47
60
|
this.attachShadow(this.constructor.shadowRootOptions);
|
|
48
61
|
this.shadowRoot.innerHTML = getTemplateHTML$1(namedNodeMapToObject(this.attributes));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"background.dev.js","names":["getTemplateHTML"],"sources":["../../utils/dist/dom/attributes.js","../src/define/background/player.ts","../src/define/background/skin.ts","../src/media/background-video/index.ts","../src/define/media/background-video.ts"],"sourcesContent":["//#region src/dom/attributes.ts\nfunction namedNodeMapToObject(namedNodeMap) {\n\tconst obj = {};\n\tfor (const attr of namedNodeMap) obj[attr.name] = attr.value;\n\treturn obj;\n}\n\n//#endregion\nexport { namedNodeMapToObject };\n//# sourceMappingURL=attributes.js.map","import { backgroundFeatures } from '@videojs/core/dom';\nimport { MediaContainerElement } from '../../media/container-element';\nimport { createPlayer } from '../../player/create-player';\nimport { MediaElement } from '../../ui/media-element';\nimport { safeDefine } from '../safe-define';\n\nconst { ProviderMixin } = createPlayer({\n features: backgroundFeatures,\n});\n\nexport class BackgroundVideoPlayerElement extends ProviderMixin(MediaElement) {\n static readonly tagName = 'background-video-player';\n}\n\n// Provider must be defined before consumer for context handshake during upgrade.\nsafeDefine(BackgroundVideoPlayerElement);\nsafeDefine(MediaContainerElement);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [BackgroundVideoPlayerElement.tagName]: BackgroundVideoPlayerElement;\n }\n}\n","import { ReactiveElement } from '@videojs/element';\nimport { namedNodeMapToObject } from '@videojs/utils/dom';\nimport { safeDefine } from '../safe-define';\n\nfunction getTemplateHTML(_attrs: Record<string, string>) {\n return /*html*/ `\n <media-container>\n <!-- @deprecated slot=\"media\" is no longer required, use the default slot instead -->\n <slot name=\"media\"></slot>\n <slot></slot>\n </media-container>\n `;\n}\n\nexport class BackgroundVideoSkinElement extends ReactiveElement {\n static readonly tagName = 'background-video-skin';\n static shadowRootOptions = { mode: 'open' as ShadowRootMode };\n static getTemplateHTML = getTemplateHTML;\n\n constructor() {\n super();\n\n if (!this.shadowRoot) {\n this.attachShadow((this.constructor as typeof BackgroundVideoSkinElement).shadowRootOptions);\n this.shadowRoot!.innerHTML = getTemplateHTML(namedNodeMapToObject(this.attributes));\n }\n }\n}\n\nsafeDefine(BackgroundVideoSkinElement);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [BackgroundVideoSkinElement.tagName]: BackgroundVideoSkinElement;\n }\n}\n","import type { Media } from '@videojs/core/dom';\nimport { namedNodeMapToObject } from '@videojs/utils/dom';\nimport { MediaAttachMixin } from '../../store/media-attach-mixin';\n\nfunction getTemplateHTML(attrs: Record<string, string>) {\n return /*html*/ `\n <style>\n :host {\n position: relative;\n }\n\n video {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n object-fit: var(--media-object-fit, inherit);\n object-position: var(--media-object-position, 50% 50%);\n }\n </style>\n <slot></slot>\n <video ${serializeAttributes(attrs)}></video>\n `;\n}\n\n// Don't extend CustomMediaMixin to save some bytes, background videos don't need the full Media API.\nexport class BackgroundVideo extends MediaAttachMixin(HTMLElement) {\n static shadowRootOptions = { mode: 'open' as ShadowRootMode };\n static getTemplateHTML = getTemplateHTML;\n static get observedAttributes() {\n return ['src'];\n }\n\n constructor() {\n super();\n\n if (!this.shadowRoot) {\n this.attachShadow((this.constructor as typeof BackgroundVideo).shadowRootOptions);\n\n const attrs = {\n ...namedNodeMapToObject(this.attributes),\n ...(!this.hasAttribute('nomuted') && { muted: '' }),\n ...(!this.hasAttribute('noloop') && { loop: '' }),\n ...(!this.hasAttribute('noautoplay') && { autoplay: '' }),\n playsinline: '',\n disableremoteplayback: '',\n disablepictureinpicture: '',\n };\n\n this.shadowRoot!.innerHTML = getTemplateHTML(attrs);\n }\n\n // Neither Chrome or Firefox support setting the muted attribute\n // after using document.createElement.\n // Get around this by setting the muted property manually.\n this.target!.muted = !this.hasAttribute('nomuted');\n }\n\n // Register the inner <video> (not `this`) with the provider.\n getMediaTarget(): Media | null {\n return this.target;\n }\n\n attributeChangedCallback(attrName: string, oldValue: string | null, newValue: string | null): void {\n if (attrName === 'src' && oldValue !== newValue) {\n this.target!.src = newValue ?? '';\n }\n }\n\n get target(): HTMLVideoElement | null {\n return (\n this.querySelector(':scope > [slot=media]') ??\n this.querySelector('video') ??\n this.shadowRoot?.querySelector('video') ??\n null\n );\n }\n}\n\nconst VideoAttributes = [\n 'autoplay',\n 'controls',\n 'controlslist',\n 'crossorigin',\n 'disablepictureinpicture',\n 'disableremoteplayback',\n 'loop',\n 'muted',\n 'playsinline',\n 'preload',\n] as const;\n\nfunction serializeAttributes(attrs: Record<string, string>): string {\n let html = '';\n for (const key in attrs) {\n // Skip forwarding non native video attributes.\n if (!VideoAttributes.includes(key as any)) continue;\n\n const value = attrs[key];\n if (value === '') html += ` ${key}`;\n else html += ` ${key}=\"${value}\"`;\n }\n return html;\n}\n","import { BackgroundVideo } from '../../media/background-video';\nimport { safeDefine } from '../safe-define';\n\nexport class BackgroundVideoElement extends BackgroundVideo {\n static readonly tagName = 'background-video';\n}\n\nsafeDefine(BackgroundVideoElement);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [BackgroundVideoElement.tagName]: BackgroundVideoElement;\n }\n}\n"],"mappings":";;;;;AACA,SAAS,qBAAqB,cAAc;CAC3C,MAAM,MAAM,EAAE;AACd,MAAK,MAAM,QAAQ,aAAc,KAAI,KAAK,QAAQ,KAAK;AACvD,QAAO;;;;;ACER,MAAM,EAAE,kBAAkB,aAAa,EACrC,UAAU,oBACX,CAAC;AAEF,IAAa,+BAAb,cAAkD,cAAc,aAAa,CAAC;;iBAClD;;;AAI5B,WAAW,6BAA6B;AACxC,WAAW,sBAAsB;;;;
|
|
1
|
+
{"version":3,"file":"background.dev.js","names":["styles","getTemplateHTML"],"sources":["../../utils/dist/dom/attributes.js","../src/define/background/player.ts","../inline-css:src/define/background/skin.js","../src/define/background/skin.ts","../src/media/background-video/index.ts","../src/define/media/background-video.ts"],"sourcesContent":["//#region src/dom/attributes.ts\nfunction namedNodeMapToObject(namedNodeMap) {\n\tconst obj = {};\n\tfor (const attr of namedNodeMap) obj[attr.name] = attr.value;\n\treturn obj;\n}\n\n//#endregion\nexport { namedNodeMapToObject };\n//# sourceMappingURL=attributes.js.map","import { backgroundFeatures } from '@videojs/core/dom';\nimport { MediaContainerElement } from '../../media/container-element';\nimport { createPlayer } from '../../player/create-player';\nimport { MediaElement } from '../../ui/media-element';\nimport { safeDefine } from '../safe-define';\n\nconst { ProviderMixin } = createPlayer({\n features: backgroundFeatures,\n});\n\nexport class BackgroundVideoPlayerElement extends ProviderMixin(MediaElement) {\n static readonly tagName = 'background-video-player';\n}\n\n// Provider must be defined before consumer for context handshake during upgrade.\nsafeDefine(BackgroundVideoPlayerElement);\nsafeDefine(MediaContainerElement);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [BackgroundVideoPlayerElement.tagName]: BackgroundVideoPlayerElement;\n }\n}\n","export default \"background-video-player {\\n display: contents;\\n}\\n\\nbackground-video-skin {\\n display: block;\\n position: relative;\\n width: 100%;\\n height: 100%;\\n --media-object-fit: cover;\\n object-fit: var(--media-object-fit);\\n}\\n\\nbackground-video-skin > background-video {\\n position: absolute;\\n inset: 0;\\n width: 100%;\\n height: 100%;\\n object-fit: inherit;\\n}\\n\\nbackground-video-skin > img,\\nbackground-video-skin > picture {\\n width: 100%;\\n height: 100%;\\n object-fit: inherit;\\n}\\n\";","import { ReactiveElement } from '@videojs/element';\nimport { namedNodeMapToObject } from '@videojs/utils/dom';\nimport { safeDefine } from '../safe-define';\nimport styles from './skin.css?inline';\n\nconst STYLES_ID = '__media-background-styles';\n\nfunction ensureBackgroundStyles(): void {\n if (document.getElementById(STYLES_ID)) return;\n const style = document.createElement('style');\n style.id = STYLES_ID;\n style.textContent = styles;\n document.head.appendChild(style);\n}\n\nfunction getTemplateHTML(_attrs: Record<string, string>) {\n return /*html*/ `\n <media-container>\n <!-- @deprecated slot=\"media\" is no longer required, use the default slot instead -->\n <slot name=\"media\"></slot>\n <slot></slot>\n </media-container>\n `;\n}\n\nexport class BackgroundVideoSkinElement extends ReactiveElement {\n static readonly tagName = 'background-video-skin';\n static shadowRootOptions = { mode: 'open' as ShadowRootMode };\n static getTemplateHTML = getTemplateHTML;\n\n constructor() {\n super();\n\n ensureBackgroundStyles();\n\n if (!this.shadowRoot) {\n this.attachShadow((this.constructor as typeof BackgroundVideoSkinElement).shadowRootOptions);\n this.shadowRoot!.innerHTML = getTemplateHTML(namedNodeMapToObject(this.attributes));\n }\n }\n}\n\nsafeDefine(BackgroundVideoSkinElement);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [BackgroundVideoSkinElement.tagName]: BackgroundVideoSkinElement;\n }\n}\n","import type { Media } from '@videojs/core/dom';\nimport { namedNodeMapToObject } from '@videojs/utils/dom';\nimport { MediaAttachMixin } from '../../store/media-attach-mixin';\n\nfunction getTemplateHTML(attrs: Record<string, string>) {\n return /*html*/ `\n <style>\n :host {\n position: relative;\n }\n\n video {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n object-fit: var(--media-object-fit, inherit);\n object-position: var(--media-object-position, 50% 50%);\n }\n </style>\n <slot></slot>\n <video ${serializeAttributes(attrs)}></video>\n `;\n}\n\n// Don't extend CustomMediaMixin to save some bytes, background videos don't need the full Media API.\nexport class BackgroundVideo extends MediaAttachMixin(HTMLElement) {\n static shadowRootOptions = { mode: 'open' as ShadowRootMode };\n static getTemplateHTML = getTemplateHTML;\n static get observedAttributes() {\n return ['src'];\n }\n\n constructor() {\n super();\n\n if (!this.shadowRoot) {\n this.attachShadow((this.constructor as typeof BackgroundVideo).shadowRootOptions);\n\n const attrs = {\n ...namedNodeMapToObject(this.attributes),\n ...(!this.hasAttribute('nomuted') && { muted: '' }),\n ...(!this.hasAttribute('noloop') && { loop: '' }),\n ...(!this.hasAttribute('noautoplay') && { autoplay: '' }),\n playsinline: '',\n disableremoteplayback: '',\n disablepictureinpicture: '',\n };\n\n this.shadowRoot!.innerHTML = getTemplateHTML(attrs);\n }\n\n // Neither Chrome or Firefox support setting the muted attribute\n // after using document.createElement.\n // Get around this by setting the muted property manually.\n this.target!.muted = !this.hasAttribute('nomuted');\n }\n\n // Register the inner <video> (not `this`) with the provider.\n getMediaTarget(): Media | null {\n return this.target;\n }\n\n attributeChangedCallback(attrName: string, oldValue: string | null, newValue: string | null): void {\n if (attrName === 'src' && oldValue !== newValue) {\n this.target!.src = newValue ?? '';\n }\n }\n\n get target(): HTMLVideoElement | null {\n return (\n this.querySelector(':scope > [slot=media]') ??\n this.querySelector('video') ??\n this.shadowRoot?.querySelector('video') ??\n null\n );\n }\n}\n\nconst VideoAttributes = [\n 'autoplay',\n 'controls',\n 'controlslist',\n 'crossorigin',\n 'disablepictureinpicture',\n 'disableremoteplayback',\n 'loop',\n 'muted',\n 'playsinline',\n 'preload',\n] as const;\n\nfunction serializeAttributes(attrs: Record<string, string>): string {\n let html = '';\n for (const key in attrs) {\n // Skip forwarding non native video attributes.\n if (!VideoAttributes.includes(key as any)) continue;\n\n const value = attrs[key];\n if (value === '') html += ` ${key}`;\n else html += ` ${key}=\"${value}\"`;\n }\n return html;\n}\n","import { BackgroundVideo } from '../../media/background-video';\nimport { safeDefine } from '../safe-define';\n\nexport class BackgroundVideoElement extends BackgroundVideo {\n static readonly tagName = 'background-video';\n}\n\nsafeDefine(BackgroundVideoElement);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [BackgroundVideoElement.tagName]: BackgroundVideoElement;\n }\n}\n"],"mappings":";;;;;AACA,SAAS,qBAAqB,cAAc;CAC3C,MAAM,MAAM,EAAE;AACd,MAAK,MAAM,QAAQ,aAAc,KAAI,KAAK,QAAQ,KAAK;AACvD,QAAO;;;;;ACER,MAAM,EAAE,kBAAkB,aAAa,EACrC,UAAU,oBACX,CAAC;AAEF,IAAa,+BAAb,cAAkD,cAAc,aAAa,CAAC;;iBAClD;;;AAI5B,WAAW,6BAA6B;AACxC,WAAW,sBAAsB;;;;AChBjC,mBAAe;;;;ACKf,MAAM,YAAY;AAElB,SAAS,yBAA+B;AACtC,KAAI,SAAS,eAAe,UAAU,CAAE;CACxC,MAAM,QAAQ,SAAS,cAAc,QAAQ;AAC7C,OAAM,KAAK;AACX,OAAM,cAAcA;AACpB,UAAS,KAAK,YAAY,MAAM;;AAGlC,SAASC,kBAAgB,QAAgC;AACvD,QAAgB;;;;;;;;AASlB,IAAa,6BAAb,cAAgD,gBAAgB;;iBACpC;;;2BACC,EAAE,MAAM,QAA0B;;;yBACpCA;;CAEzB,cAAc;AACZ,SAAO;AAEP,0BAAwB;AAExB,MAAI,CAAC,KAAK,YAAY;AACpB,QAAK,aAAc,KAAK,YAAkD,kBAAkB;AAC5F,QAAK,WAAY,YAAYA,kBAAgB,qBAAqB,KAAK,WAAW,CAAC;;;;AAKzF,WAAW,2BAA2B;;;;ACtCtC,SAAS,gBAAgB,OAA+B;AACtD,QAAgB;;;;;;;;;;;;;;;;aAgBL,oBAAoB,MAAM,CAAC;;;AAKxC,IAAa,kBAAb,cAAqC,iBAAiB,YAAY,CAAC;;2BACtC,EAAE,MAAM,QAA0B;;;yBACpC;;CACzB,WAAW,qBAAqB;AAC9B,SAAO,CAAC,MAAM;;CAGhB,cAAc;AACZ,SAAO;AAEP,MAAI,CAAC,KAAK,YAAY;AACpB,QAAK,aAAc,KAAK,YAAuC,kBAAkB;GAEjF,MAAM,QAAQ;IACZ,GAAG,qBAAqB,KAAK,WAAW;IACxC,GAAI,CAAC,KAAK,aAAa,UAAU,IAAI,EAAE,OAAO,IAAI;IAClD,GAAI,CAAC,KAAK,aAAa,SAAS,IAAI,EAAE,MAAM,IAAI;IAChD,GAAI,CAAC,KAAK,aAAa,aAAa,IAAI,EAAE,UAAU,IAAI;IACxD,aAAa;IACb,uBAAuB;IACvB,yBAAyB;IAC1B;AAED,QAAK,WAAY,YAAY,gBAAgB,MAAM;;AAMrD,OAAK,OAAQ,QAAQ,CAAC,KAAK,aAAa,UAAU;;CAIpD,iBAA+B;AAC7B,SAAO,KAAK;;CAGd,yBAAyB,UAAkB,UAAyB,UAA+B;AACjG,MAAI,aAAa,SAAS,aAAa,SACrC,MAAK,OAAQ,MAAM,YAAY;;CAInC,IAAI,SAAkC;AACpC,SACE,KAAK,cAAc,wBAAwB,IAC3C,KAAK,cAAc,QAAQ,IAC3B,KAAK,YAAY,cAAc,QAAQ,IACvC;;;AAKN,MAAM,kBAAkB;CACtB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACD;AAED,SAAS,oBAAoB,OAAuC;CAClE,IAAI,OAAO;AACX,MAAK,MAAM,OAAO,OAAO;AAEvB,MAAI,CAAC,gBAAgB,SAAS,IAAW,CAAE;EAE3C,MAAM,QAAQ,MAAM;AACpB,MAAI,UAAU,GAAI,SAAQ,IAAI;MACzB,SAAQ,IAAI,IAAI,IAAI,MAAM;;AAEjC,QAAO;;;;;ACnGT,IAAa,yBAAb,cAA4C,gBAAgB;;iBAChC;;;AAG5B,WAAW,uBAAuB"}
|
package/cdn/background.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{L as e,a as t,i as n,o as r,t as i}from"./create-player-QjiNZlh7.js";import{t as a}from"./safe-define-GrHW3P9e.js";import{t as o}from"./media-attach-mixin-tFNcHnvo.js";function s(e){let t={};for(let n of e)t[n.name]=n.value;return t}const{ProviderMixin:c}=i({features:e});a(class extends c(t){static{this.tagName=`background-video-player`}}),a(n);function l(e){return`<media-container><slot name="media"></slot><slot></slot></media-container>`}a(class extends r{static{this.tagName=`background-video-skin`}static{this.shadowRootOptions={mode:`open`}}static{this.getTemplateHTML=
|
|
1
|
+
import{L as e,a as t,i as n,o as r,t as i}from"./create-player-QjiNZlh7.js";import{t as a}from"./safe-define-GrHW3P9e.js";import{t as o}from"./media-attach-mixin-tFNcHnvo.js";function s(e){let t={};for(let n of e)t[n.name]=n.value;return t}const{ProviderMixin:c}=i({features:e});a(class extends c(t){static{this.tagName=`background-video-player`}}),a(n);var l=`background-video-player{display:contents}background-video-skin{--media-object-fit:cover;object-fit:var(--media-object-fit);width:100%;height:100%;display:block;position:relative}background-video-skin>background-video{object-fit:inherit;width:100%;height:100%;position:absolute;inset:0}background-video-skin>img,background-video-skin>picture{object-fit:inherit;width:100%;height:100%}`;const u=`__media-background-styles`;function d(){if(document.getElementById(u))return;let e=document.createElement(`style`);e.id=u,e.textContent=l,document.head.appendChild(e)}function f(e){return`<media-container><slot name="media"></slot><slot></slot></media-container>`}a(class extends r{static{this.tagName=`background-video-skin`}static{this.shadowRootOptions={mode:`open`}}static{this.getTemplateHTML=f}constructor(){super(),d(),this.shadowRoot||(this.attachShadow(this.constructor.shadowRootOptions),this.shadowRoot.innerHTML=f(s(this.attributes)))}});function p(e){return`<style> :host { position: relative; } video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: var(--media-object-fit, inherit); object-position: var(--media-object-position, 50% 50%); } </style><slot></slot><video ${g(e)}></video>`}var m=class extends o(HTMLElement){static{this.shadowRootOptions={mode:`open`}}static{this.getTemplateHTML=p}static get observedAttributes(){return[`src`]}constructor(){if(super(),!this.shadowRoot){this.attachShadow(this.constructor.shadowRootOptions);let e={...s(this.attributes),...!this.hasAttribute(`nomuted`)&&{muted:``},...!this.hasAttribute(`noloop`)&&{loop:``},...!this.hasAttribute(`noautoplay`)&&{autoplay:``},playsinline:``,disableremoteplayback:``,disablepictureinpicture:``};this.shadowRoot.innerHTML=p(e)}this.target.muted=!this.hasAttribute(`nomuted`)}getMediaTarget(){return this.target}attributeChangedCallback(e,t,n){e===`src`&&t!==n&&(this.target.src=n??``)}get target(){return this.querySelector(`:scope > [slot=media]`)??this.querySelector(`video`)??this.shadowRoot?.querySelector(`video`)??null}};const h=[`autoplay`,`controls`,`controlslist`,`crossorigin`,`disablepictureinpicture`,`disableremoteplayback`,`loop`,`muted`,`playsinline`,`preload`];function g(e){let t=``;for(let n in e){if(!h.includes(n))continue;let r=e[n];r===``?t+=` ${n}`:t+=` ${n}="${r}"`}return t}a(class extends m{static{this.tagName=`background-video`}});
|
|
2
2
|
//# sourceMappingURL=background.js.map
|
package/cdn/background.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"background.js","names":[],"sources":["../../utils/dist/dom/attributes.js","../src/define/background/player.ts","../src/define/background/skin.ts","../src/media/background-video/index.ts","../src/define/media/background-video.ts"],"sourcesContent":["//#region src/dom/attributes.ts\nfunction namedNodeMapToObject(namedNodeMap) {\n\tconst obj = {};\n\tfor (const attr of namedNodeMap) obj[attr.name] = attr.value;\n\treturn obj;\n}\n\n//#endregion\nexport { namedNodeMapToObject };\n//# sourceMappingURL=attributes.js.map","import { backgroundFeatures } from '@videojs/core/dom';\nimport { MediaContainerElement } from '../../media/container-element';\nimport { createPlayer } from '../../player/create-player';\nimport { MediaElement } from '../../ui/media-element';\nimport { safeDefine } from '../safe-define';\n\nconst { ProviderMixin } = createPlayer({\n features: backgroundFeatures,\n});\n\nexport class BackgroundVideoPlayerElement extends ProviderMixin(MediaElement) {\n static readonly tagName = 'background-video-player';\n}\n\n// Provider must be defined before consumer for context handshake during upgrade.\nsafeDefine(BackgroundVideoPlayerElement);\nsafeDefine(MediaContainerElement);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [BackgroundVideoPlayerElement.tagName]: BackgroundVideoPlayerElement;\n }\n}\n","import { ReactiveElement } from '@videojs/element';\nimport { namedNodeMapToObject } from '@videojs/utils/dom';\nimport { safeDefine } from '../safe-define';\n\nfunction getTemplateHTML(_attrs: Record<string, string>) {\n return /*html*/ `\n <media-container>\n <!-- @deprecated slot=\"media\" is no longer required, use the default slot instead -->\n <slot name=\"media\"></slot>\n <slot></slot>\n </media-container>\n `;\n}\n\nexport class BackgroundVideoSkinElement extends ReactiveElement {\n static readonly tagName = 'background-video-skin';\n static shadowRootOptions = { mode: 'open' as ShadowRootMode };\n static getTemplateHTML = getTemplateHTML;\n\n constructor() {\n super();\n\n if (!this.shadowRoot) {\n this.attachShadow((this.constructor as typeof BackgroundVideoSkinElement).shadowRootOptions);\n this.shadowRoot!.innerHTML = getTemplateHTML(namedNodeMapToObject(this.attributes));\n }\n }\n}\n\nsafeDefine(BackgroundVideoSkinElement);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [BackgroundVideoSkinElement.tagName]: BackgroundVideoSkinElement;\n }\n}\n","import type { Media } from '@videojs/core/dom';\nimport { namedNodeMapToObject } from '@videojs/utils/dom';\nimport { MediaAttachMixin } from '../../store/media-attach-mixin';\n\nfunction getTemplateHTML(attrs: Record<string, string>) {\n return /*html*/ `\n <style>\n :host {\n position: relative;\n }\n\n video {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n object-fit: var(--media-object-fit, inherit);\n object-position: var(--media-object-position, 50% 50%);\n }\n </style>\n <slot></slot>\n <video ${serializeAttributes(attrs)}></video>\n `;\n}\n\n// Don't extend CustomMediaMixin to save some bytes, background videos don't need the full Media API.\nexport class BackgroundVideo extends MediaAttachMixin(HTMLElement) {\n static shadowRootOptions = { mode: 'open' as ShadowRootMode };\n static getTemplateHTML = getTemplateHTML;\n static get observedAttributes() {\n return ['src'];\n }\n\n constructor() {\n super();\n\n if (!this.shadowRoot) {\n this.attachShadow((this.constructor as typeof BackgroundVideo).shadowRootOptions);\n\n const attrs = {\n ...namedNodeMapToObject(this.attributes),\n ...(!this.hasAttribute('nomuted') && { muted: '' }),\n ...(!this.hasAttribute('noloop') && { loop: '' }),\n ...(!this.hasAttribute('noautoplay') && { autoplay: '' }),\n playsinline: '',\n disableremoteplayback: '',\n disablepictureinpicture: '',\n };\n\n this.shadowRoot!.innerHTML = getTemplateHTML(attrs);\n }\n\n // Neither Chrome or Firefox support setting the muted attribute\n // after using document.createElement.\n // Get around this by setting the muted property manually.\n this.target!.muted = !this.hasAttribute('nomuted');\n }\n\n // Register the inner <video> (not `this`) with the provider.\n getMediaTarget(): Media | null {\n return this.target;\n }\n\n attributeChangedCallback(attrName: string, oldValue: string | null, newValue: string | null): void {\n if (attrName === 'src' && oldValue !== newValue) {\n this.target!.src = newValue ?? '';\n }\n }\n\n get target(): HTMLVideoElement | null {\n return (\n this.querySelector(':scope > [slot=media]') ??\n this.querySelector('video') ??\n this.shadowRoot?.querySelector('video') ??\n null\n );\n }\n}\n\nconst VideoAttributes = [\n 'autoplay',\n 'controls',\n 'controlslist',\n 'crossorigin',\n 'disablepictureinpicture',\n 'disableremoteplayback',\n 'loop',\n 'muted',\n 'playsinline',\n 'preload',\n] as const;\n\nfunction serializeAttributes(attrs: Record<string, string>): string {\n let html = '';\n for (const key in attrs) {\n // Skip forwarding non native video attributes.\n if (!VideoAttributes.includes(key as any)) continue;\n\n const value = attrs[key];\n if (value === '') html += ` ${key}`;\n else html += ` ${key}=\"${value}\"`;\n }\n return html;\n}\n","import { BackgroundVideo } from '../../media/background-video';\nimport { safeDefine } from '../safe-define';\n\nexport class BackgroundVideoElement extends BackgroundVideo {\n static readonly tagName = 'background-video';\n}\n\nsafeDefine(BackgroundVideoElement);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [BackgroundVideoElement.tagName]: BackgroundVideoElement;\n }\n}\n"],"mappings":"+KACA,SAAS,EAAqB,EAAc,CAC3C,IAAM,EAAM,EAAE,CACd,IAAK,IAAM,KAAQ,EAAc,EAAI,EAAK,MAAQ,EAAK,MACvD,OAAO,ECER,KAAM,CAAE,iBAAkB,EAAa,CACrC,SAAU,EACX,CAAC,CAOF,EALA,cAAkD,EAAc,EAAa,AAAC,qBAClD,4BAIY,CACxC,EAAW,EAAsB,
|
|
1
|
+
{"version":3,"file":"background.js","names":[],"sources":["../../utils/dist/dom/attributes.js","../src/define/background/player.ts","../inline-css:src/define/background/skin.js","../src/define/background/skin.ts","../src/media/background-video/index.ts","../src/define/media/background-video.ts"],"sourcesContent":["//#region src/dom/attributes.ts\nfunction namedNodeMapToObject(namedNodeMap) {\n\tconst obj = {};\n\tfor (const attr of namedNodeMap) obj[attr.name] = attr.value;\n\treturn obj;\n}\n\n//#endregion\nexport { namedNodeMapToObject };\n//# sourceMappingURL=attributes.js.map","import { backgroundFeatures } from '@videojs/core/dom';\nimport { MediaContainerElement } from '../../media/container-element';\nimport { createPlayer } from '../../player/create-player';\nimport { MediaElement } from '../../ui/media-element';\nimport { safeDefine } from '../safe-define';\n\nconst { ProviderMixin } = createPlayer({\n features: backgroundFeatures,\n});\n\nexport class BackgroundVideoPlayerElement extends ProviderMixin(MediaElement) {\n static readonly tagName = 'background-video-player';\n}\n\n// Provider must be defined before consumer for context handshake during upgrade.\nsafeDefine(BackgroundVideoPlayerElement);\nsafeDefine(MediaContainerElement);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [BackgroundVideoPlayerElement.tagName]: BackgroundVideoPlayerElement;\n }\n}\n","export default \"background-video-player{display:contents}background-video-skin{--media-object-fit:cover;object-fit:var(--media-object-fit);width:100%;height:100%;display:block;position:relative}background-video-skin>background-video{object-fit:inherit;width:100%;height:100%;position:absolute;inset:0}background-video-skin>img,background-video-skin>picture{object-fit:inherit;width:100%;height:100%}\";","import { ReactiveElement } from '@videojs/element';\nimport { namedNodeMapToObject } from '@videojs/utils/dom';\nimport { safeDefine } from '../safe-define';\nimport styles from './skin.css?inline';\n\nconst STYLES_ID = '__media-background-styles';\n\nfunction ensureBackgroundStyles(): void {\n if (document.getElementById(STYLES_ID)) return;\n const style = document.createElement('style');\n style.id = STYLES_ID;\n style.textContent = styles;\n document.head.appendChild(style);\n}\n\nfunction getTemplateHTML(_attrs: Record<string, string>) {\n return /*html*/ `\n <media-container>\n <!-- @deprecated slot=\"media\" is no longer required, use the default slot instead -->\n <slot name=\"media\"></slot>\n <slot></slot>\n </media-container>\n `;\n}\n\nexport class BackgroundVideoSkinElement extends ReactiveElement {\n static readonly tagName = 'background-video-skin';\n static shadowRootOptions = { mode: 'open' as ShadowRootMode };\n static getTemplateHTML = getTemplateHTML;\n\n constructor() {\n super();\n\n ensureBackgroundStyles();\n\n if (!this.shadowRoot) {\n this.attachShadow((this.constructor as typeof BackgroundVideoSkinElement).shadowRootOptions);\n this.shadowRoot!.innerHTML = getTemplateHTML(namedNodeMapToObject(this.attributes));\n }\n }\n}\n\nsafeDefine(BackgroundVideoSkinElement);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [BackgroundVideoSkinElement.tagName]: BackgroundVideoSkinElement;\n }\n}\n","import type { Media } from '@videojs/core/dom';\nimport { namedNodeMapToObject } from '@videojs/utils/dom';\nimport { MediaAttachMixin } from '../../store/media-attach-mixin';\n\nfunction getTemplateHTML(attrs: Record<string, string>) {\n return /*html*/ `\n <style>\n :host {\n position: relative;\n }\n\n video {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n object-fit: var(--media-object-fit, inherit);\n object-position: var(--media-object-position, 50% 50%);\n }\n </style>\n <slot></slot>\n <video ${serializeAttributes(attrs)}></video>\n `;\n}\n\n// Don't extend CustomMediaMixin to save some bytes, background videos don't need the full Media API.\nexport class BackgroundVideo extends MediaAttachMixin(HTMLElement) {\n static shadowRootOptions = { mode: 'open' as ShadowRootMode };\n static getTemplateHTML = getTemplateHTML;\n static get observedAttributes() {\n return ['src'];\n }\n\n constructor() {\n super();\n\n if (!this.shadowRoot) {\n this.attachShadow((this.constructor as typeof BackgroundVideo).shadowRootOptions);\n\n const attrs = {\n ...namedNodeMapToObject(this.attributes),\n ...(!this.hasAttribute('nomuted') && { muted: '' }),\n ...(!this.hasAttribute('noloop') && { loop: '' }),\n ...(!this.hasAttribute('noautoplay') && { autoplay: '' }),\n playsinline: '',\n disableremoteplayback: '',\n disablepictureinpicture: '',\n };\n\n this.shadowRoot!.innerHTML = getTemplateHTML(attrs);\n }\n\n // Neither Chrome or Firefox support setting the muted attribute\n // after using document.createElement.\n // Get around this by setting the muted property manually.\n this.target!.muted = !this.hasAttribute('nomuted');\n }\n\n // Register the inner <video> (not `this`) with the provider.\n getMediaTarget(): Media | null {\n return this.target;\n }\n\n attributeChangedCallback(attrName: string, oldValue: string | null, newValue: string | null): void {\n if (attrName === 'src' && oldValue !== newValue) {\n this.target!.src = newValue ?? '';\n }\n }\n\n get target(): HTMLVideoElement | null {\n return (\n this.querySelector(':scope > [slot=media]') ??\n this.querySelector('video') ??\n this.shadowRoot?.querySelector('video') ??\n null\n );\n }\n}\n\nconst VideoAttributes = [\n 'autoplay',\n 'controls',\n 'controlslist',\n 'crossorigin',\n 'disablepictureinpicture',\n 'disableremoteplayback',\n 'loop',\n 'muted',\n 'playsinline',\n 'preload',\n] as const;\n\nfunction serializeAttributes(attrs: Record<string, string>): string {\n let html = '';\n for (const key in attrs) {\n // Skip forwarding non native video attributes.\n if (!VideoAttributes.includes(key as any)) continue;\n\n const value = attrs[key];\n if (value === '') html += ` ${key}`;\n else html += ` ${key}=\"${value}\"`;\n }\n return html;\n}\n","import { BackgroundVideo } from '../../media/background-video';\nimport { safeDefine } from '../safe-define';\n\nexport class BackgroundVideoElement extends BackgroundVideo {\n static readonly tagName = 'background-video';\n}\n\nsafeDefine(BackgroundVideoElement);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [BackgroundVideoElement.tagName]: BackgroundVideoElement;\n }\n}\n"],"mappings":"+KACA,SAAS,EAAqB,EAAc,CAC3C,IAAM,EAAM,EAAE,CACd,IAAK,IAAM,KAAQ,EAAc,EAAI,EAAK,MAAQ,EAAK,MACvD,OAAO,ECER,KAAM,CAAE,iBAAkB,EAAa,CACrC,SAAU,EACX,CAAC,CAOF,EALA,cAAkD,EAAc,EAAa,AAAC,qBAClD,4BAIY,CACxC,EAAW,EAAsB,CChBjC,IAAA,EAAe,kYCKf,MAAM,EAAY,4BAElB,SAAS,GAA+B,CACtC,GAAI,SAAS,eAAe,EAAU,CAAE,OACxC,IAAM,EAAQ,SAAS,cAAc,QAAQ,CAC7C,EAAM,GAAK,EACX,EAAM,YAAc,EACpB,SAAS,KAAK,YAAY,EAAM,CAGlC,SAAS,EAAgB,EAAgC,CACvD,MAAgB,6EAoBlB,EAjBA,cAA+B,CAAA,qBACb,sDACG,CAAA,KAAA,OAAA,6BAClB,gBAGH,OAAO,CAEL,GAA0B,mBAG1B,KAAA,aAAc,KAAA,YAAA,kBAAA,CACZ,KAAO,WAAA,UAAA,EAAA,EAAA,KAAA,WAAA,CAAA,IAKmB,CChC9B,SAAS,EAAgB,EAA+B,CACtD,MAAgB,8OAAA,EAAA,EAAA,CAAA,WAIlB,IAAM,EAAN,cAAM,EAAA,YAAA,AAAA,yEAEM,EACV,WAAM,oBAAkB,CACtB,MAAI,CAAA,MAAQ,CAGd,aAAa,CAGX,GAFA,OAAI,CAEF,CAAA,KAAK,WAAA,CACN,KAAM,aAAK,KAAA,YAAA,kBAAA,CAEb,IAAA,EAAA,CACH,GAAA,EAAA,KAAA,WAAA,8CAEQ,GAAC,CAAA,KAAO,aAAA,SAAwB,EAAC,CAAK,KAAM,GAAC,CAC9C,GAAK,CAAC,KAAA,aAAgB,aAAQ,EAAA,CAAA,SAAiB,GAAA,CAC9C,YAAC,GACD,sBAAmB,GACnB,wBAAyB,GAC7B,gFAYF,gBAA8B,CAC5B,OAAO,KAAE,OAGX,yBAAM,EAA2B,EAAA,EAAA,CAC5B,IAAA,OAAA,IAAA,IAAA,KAAA,OAAA,IAAA,GAAA,IAKL,IAAI,QAAkC,CACpC,OACE,KAAK,cAAc,wBAAmB,EACxC,KAAK,cAAgB,QAAM,EAC7B,KAAA,YAAA,cAAA,QAAA,EAAA,gBAOA,WACA,WACA,eACA,cACA,kDAEA,OACA,QACA,cACA,UACD,CAED,SAAK,EAAA,EAAA,CACH,IAAA,EAAA,GACF,IAAA,IAAA,KAAA,EAAA,CAEA,GAAM,CAAA,EAAkB,SAAA,EAAA,CAAA,SAErB,IAAA,EAAS,EAAA,GACT,IAAa,GAAA,GAAA,IAAA,IACb,GAAY,IAAA,EAAA,IAAA,EAAA,GAEb,OAAC,EC9EH,EAJA,cAA4C,CAAgB,qBAChC,qBAGM"}
|