@videojs/html 0.1.0-preview.2 → 0.1.0-preview.4

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.
Files changed (127) hide show
  1. package/README.md +2 -2
  2. package/dist/button-D1DWjsQu.js +57 -0
  3. package/dist/button-D1DWjsQu.js.map +1 -0
  4. package/dist/component-factory-DeAN6cjC.js +47 -0
  5. package/dist/component-factory-DeAN6cjC.js.map +1 -0
  6. package/dist/current-time-display-C3qndGf5.js +47 -0
  7. package/dist/current-time-display-C3qndGf5.js.map +1 -0
  8. package/dist/custom-element-3bDlB2XO.js +10 -0
  9. package/dist/custom-element-3bDlB2XO.js.map +1 -0
  10. package/dist/define/index.d.ts +12 -0
  11. package/dist/define/index.js +27 -0
  12. package/dist/define/media-container.d.ts +1 -0
  13. package/dist/define/media-container.js +3 -0
  14. package/dist/define/media-current-time-display.d.ts +1 -0
  15. package/dist/define/media-current-time-display.js +4 -0
  16. package/dist/define/media-duration-display.d.ts +1 -0
  17. package/dist/define/media-duration-display.js +4 -0
  18. package/dist/define/media-fullscreen-button.d.ts +1 -0
  19. package/dist/define/media-fullscreen-button.js +5 -0
  20. package/dist/define/media-mute-button.d.ts +1 -0
  21. package/dist/define/media-mute-button.js +5 -0
  22. package/dist/define/media-play-button.d.ts +1 -0
  23. package/dist/define/media-play-button.js +5 -0
  24. package/dist/define/media-popover.d.ts +1 -0
  25. package/dist/define/media-popover.js +3 -0
  26. package/dist/define/media-preview-time-display.d.ts +1 -0
  27. package/dist/define/media-preview-time-display.js +4 -0
  28. package/dist/define/media-provider.d.ts +1 -0
  29. package/dist/define/media-provider.js +3 -0
  30. package/dist/define/media-time-slider.d.ts +1 -0
  31. package/dist/define/media-time-slider.js +4 -0
  32. package/dist/define/media-tooltip.d.ts +1 -0
  33. package/dist/define/media-tooltip.js +3 -0
  34. package/dist/define/media-volume-slider.d.ts +1 -0
  35. package/dist/define/media-volume-slider.js +4 -0
  36. package/dist/duration-display-JOPp3bdU.js +49 -0
  37. package/dist/duration-display-JOPp3bdU.js.map +1 -0
  38. package/dist/fullscreen-button-CGO2UJjs.js +48 -0
  39. package/dist/fullscreen-button-CGO2UJjs.js.map +1 -0
  40. package/dist/{icons-YlVTDFdV.js → icons-CuxuONCk.js} +59 -48
  41. package/dist/icons-CuxuONCk.js.map +1 -0
  42. package/dist/icons.d.ts +1 -2
  43. package/dist/icons.js +2 -3
  44. package/dist/index-LKrIp3Oo.d.ts +1 -0
  45. package/dist/index.d.ts +172 -4
  46. package/dist/index.d.ts.map +1 -1
  47. package/dist/index.js +16 -9
  48. package/dist/media-container-BGEXSi9g.js +8 -0
  49. package/dist/media-container-BGEXSi9g.js.map +1 -0
  50. package/dist/media-container-C0MUzkJ_.js +83 -0
  51. package/dist/media-container-C0MUzkJ_.js.map +1 -0
  52. package/dist/media-container-DPnFjmtK.d.ts +1 -0
  53. package/dist/media-current-time-display-B-4Cp845.js +8 -0
  54. package/dist/media-current-time-display-B-4Cp845.js.map +1 -0
  55. package/dist/media-current-time-display-Cd0rPAuj.d.ts +1 -0
  56. package/dist/media-duration-display-BLMr7VHo.js +8 -0
  57. package/dist/media-duration-display-BLMr7VHo.js.map +1 -0
  58. package/dist/media-duration-display-qvm6YX-q.d.ts +1 -0
  59. package/dist/media-fullscreen-button-BgUK3lgu.d.ts +1 -0
  60. package/dist/media-fullscreen-button-Dcflbt54.js +8 -0
  61. package/dist/media-fullscreen-button-Dcflbt54.js.map +1 -0
  62. package/dist/media-mute-button-BOVhZ3aP.js +8 -0
  63. package/dist/media-mute-button-BOVhZ3aP.js.map +1 -0
  64. package/dist/media-mute-button-NVJF2EEW.d.ts +1 -0
  65. package/dist/media-play-button-CLj-hkwn.js +8 -0
  66. package/dist/media-play-button-CLj-hkwn.js.map +1 -0
  67. package/dist/media-play-button-oq8yDlxe.d.ts +1 -0
  68. package/dist/media-popover-BtJmPv0E.d.ts +1 -0
  69. package/dist/media-popover-F4M4Tq4z.js +8 -0
  70. package/dist/media-popover-F4M4Tq4z.js.map +1 -0
  71. package/dist/media-preview-time-display-4YX5Rics.d.ts +1 -0
  72. package/dist/media-preview-time-display-DAiMgLPX.js +8 -0
  73. package/dist/media-preview-time-display-DAiMgLPX.js.map +1 -0
  74. package/dist/media-provider-CyoL0bCx.js +17 -0
  75. package/dist/media-provider-CyoL0bCx.js.map +1 -0
  76. package/dist/media-provider-D7P2TLXG.d.ts +1 -0
  77. package/dist/media-provider-D_GL2_DN.js +8 -0
  78. package/dist/media-provider-D_GL2_DN.js.map +1 -0
  79. package/dist/media-skin-Di3vSHvS.d.ts +11 -0
  80. package/dist/media-skin-Di3vSHvS.d.ts.map +1 -0
  81. package/dist/media-skin-mHWwUPg3.js +36 -0
  82. package/dist/media-skin-mHWwUPg3.js.map +1 -0
  83. package/dist/media-time-slider-Bp2qnwsW.js +12 -0
  84. package/dist/media-time-slider-Bp2qnwsW.js.map +1 -0
  85. package/dist/media-time-slider-DvMnfYXZ.d.ts +1 -0
  86. package/dist/media-tooltip-BqV17mdM.d.ts +1 -0
  87. package/dist/media-tooltip-ClcVafMb.js +14 -0
  88. package/dist/media-tooltip-ClcVafMb.js.map +1 -0
  89. package/dist/media-volume-slider-CKSxmdQv.js +11 -0
  90. package/dist/media-volume-slider-CKSxmdQv.js.map +1 -0
  91. package/dist/media-volume-slider-DP47VLVi.d.ts +1 -0
  92. package/dist/mute-button-vW2sLqqY.js +50 -0
  93. package/dist/mute-button-vW2sLqqY.js.map +1 -0
  94. package/dist/play-button-aVb0g10G.js +44 -0
  95. package/dist/play-button-aVb0g10G.js.map +1 -0
  96. package/dist/popover-Dc0hyhwB.js +187 -0
  97. package/dist/popover-Dc0hyhwB.js.map +1 -0
  98. package/dist/preview-time-display-Dax0FQ2X.js +44 -0
  99. package/dist/preview-time-display-Dax0FQ2X.js.map +1 -0
  100. package/dist/skins/frosted.d.ts +23 -0
  101. package/dist/skins/frosted.d.ts.map +1 -0
  102. package/dist/skins/frosted.js +144 -0
  103. package/dist/skins/frosted.js.map +1 -0
  104. package/dist/skins/minimal.d.ts +23 -0
  105. package/dist/skins/minimal.d.ts.map +1 -0
  106. package/dist/skins/minimal.js +149 -0
  107. package/dist/skins/minimal.js.map +1 -0
  108. package/dist/time-slider-CA1GMs6A.js +201 -0
  109. package/dist/time-slider-CA1GMs6A.js.map +1 -0
  110. package/dist/tooltip-54fBUUpb.js +296 -0
  111. package/dist/tooltip-54fBUUpb.js.map +1 -0
  112. package/dist/volume-slider-guD8gqpi.js +206 -0
  113. package/dist/volume-slider-guD8gqpi.js.map +1 -0
  114. package/package.json +16 -7
  115. package/dist/chunk-Bp6m_JJh.js +0 -13
  116. package/dist/icons-YlVTDFdV.js.map +0 -1
  117. package/dist/index-BtSCzZKn.d.ts +0 -62
  118. package/dist/index-BtSCzZKn.d.ts.map +0 -1
  119. package/dist/index.js.map +0 -1
  120. package/dist/media-skin-BlXPC9wG.js +0 -1458
  121. package/dist/media-skin-BlXPC9wG.js.map +0 -1
  122. package/dist/media-skin-CbuyuCb-.d.ts +0 -208
  123. package/dist/media-skin-CbuyuCb-.d.ts.map +0 -1
  124. package/dist/skins/default.d.ts +0 -12
  125. package/dist/skins/default.d.ts.map +0 -1
  126. package/dist/skins/default.js +0 -424
  127. package/dist/skins/default.js.map +0 -1
@@ -0,0 +1,23 @@
1
+ import "../media-container-DPnFjmtK.js";
2
+ import "../media-provider-D7P2TLXG.js";
3
+ import "../media-play-button-oq8yDlxe.js";
4
+ import "../media-mute-button-NVJF2EEW.js";
5
+ import "../media-volume-slider-DP47VLVi.js";
6
+ import "../media-time-slider-DvMnfYXZ.js";
7
+ import "../media-fullscreen-button-BgUK3lgu.js";
8
+ import "../media-duration-display-qvm6YX-q.js";
9
+ import "../media-current-time-display-Cd0rPAuj.js";
10
+ import "../media-preview-time-display-4YX5Rics.js";
11
+ import "../media-popover-BtJmPv0E.js";
12
+ import "../media-tooltip-BqV17mdM.js";
13
+ import "../index-LKrIp3Oo.js";
14
+ import { t as MediaSkinElement } from "../media-skin-Di3vSHvS.js";
15
+
16
+ //#region src/skins/frosted/index.d.ts
17
+ declare function getTemplateHTML(): string;
18
+ declare class MediaSkinFrostedElement extends MediaSkinElement {
19
+ static getTemplateHTML: () => string;
20
+ }
21
+ //#endregion
22
+ export { MediaSkinFrostedElement, getTemplateHTML };
23
+ //# sourceMappingURL=frosted.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"frosted.d.ts","names":[],"sources":["../../src/skins/frosted/index.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;;iBAiBgB,eAAA,CAAA;cAoGH,uBAAA,SAAgC,gBAAA;EApG7C,OAAgB,eAAA,EAAA,GAAA,GAAA,MAAA;AAoGhB"}
@@ -0,0 +1,144 @@
1
+ import "../component-factory-DeAN6cjC.js";
2
+ import "../current-time-display-C3qndGf5.js";
3
+ import "../duration-display-JOPp3bdU.js";
4
+ import "../button-D1DWjsQu.js";
5
+ import "../fullscreen-button-CGO2UJjs.js";
6
+ import "../mute-button-vW2sLqqY.js";
7
+ import "../play-button-aVb0g10G.js";
8
+ import "../popover-Dc0hyhwB.js";
9
+ import "../preview-time-display-Dax0FQ2X.js";
10
+ import "../time-slider-CA1GMs6A.js";
11
+ import "../tooltip-54fBUUpb.js";
12
+ import "../volume-slider-guD8gqpi.js";
13
+ import "../media-container-C0MUzkJ_.js";
14
+ import "../media-provider-CyoL0bCx.js";
15
+ import { t as MediaSkinElement } from "../media-skin-mHWwUPg3.js";
16
+ import { t as defineCustomElement } from "../custom-element-3bDlB2XO.js";
17
+ import "../icons-CuxuONCk.js";
18
+ import "../media-container-BGEXSi9g.js";
19
+ import "../media-provider-D_GL2_DN.js";
20
+ import "../media-play-button-CLj-hkwn.js";
21
+ import "../media-mute-button-BOVhZ3aP.js";
22
+ import "../media-volume-slider-CKSxmdQv.js";
23
+ import "../media-time-slider-Bp2qnwsW.js";
24
+ import "../media-fullscreen-button-Dcflbt54.js";
25
+ import "../media-duration-display-BLMr7VHo.js";
26
+ import "../media-current-time-display-B-4Cp845.js";
27
+ import "../media-preview-time-display-DAiMgLPX.js";
28
+ import "../media-popover-F4M4Tq4z.js";
29
+ import "../media-tooltip-ClcVafMb.js";
30
+
31
+ //#region src/skins/frosted/styles.css
32
+ var styles_default = "media-container * {\n box-sizing: border-box;\n}\n\nmedia-container {\n position: relative;\n isolation: isolate;\n container: root / inline-size;\n overflow: clip;\n font-size: 0.8125rem;\n line-height: 1.5;\n border-radius: inherit;\n background: oklab(0 0 0);\n}\nmedia-container::before,\nmedia-container::after {\n content: '';\n position: absolute;\n pointer-events: none;\n border-radius: inherit;\n z-index: 10;\n}\nmedia-container::before {\n inset: 1px;\n box-shadow: inset 0 0 0 1px oklab(1 0 0 / 0.15);\n}\nmedia-container::after {\n inset: 0;\n box-shadow: inset 0 0 0 1px oklab(0 0 0 / 0.1);\n}\n\n/* Fullscreen */\nmedia-container:fullscreen {\n border-radius: 0;\n}\n\nmedia-container > ::slotted([slot='media']) {\n display: block;\n width: 100%;\n height: 100%;\n}\n\n/* Media Container UI Overlay Styling */\nmedia-container > .overlay {\n position: absolute;\n inset: 0;\n display: flex;\n flex-flow: column nowrap;\n align-items: start;\n pointer-events: none;\n border-radius: inherit;\n background-image: linear-gradient(to top, oklab(0 0 0 / 0.5), oklab(0 0 0 / 0.3), rgba(0, 0, 0, 0));\n backdrop-filter: saturate(1.5) brightness(0.9);\n transition: opacity 0.15s ease-out;\n transition-delay: 500ms;\n opacity: 0;\n}\nmedia-container:hover > .overlay,\nmedia-container:has([data-paused]) > .overlay,\nmedia-container:has([aria-expanded='true']) > .overlay {\n opacity: 1;\n transition-duration: 100ms;\n transition-delay: 0ms;\n}\n\n/* Common Surface Styles - e.g. tooltips, popovers, controls */\n.surface {\n background-color: oklab(1 0 0 / 0.1);\n backdrop-filter: blur(64px) brightness(0.9) saturate(1.5);\n box-shadow:\n inset 0 0 0 1px oklab(1 0 0 / 0.15),\n 0 0 0 1px oklab(0 0 0 / 0.15),\n oklab(0 0 0 / 0.15) 0px 1px 3px 0px,\n oklab(0 0 0 / 0.15) 0px 1px 2px -1px;\n}\n@media (prefers-reduced-transparency: reduce) {\n .surface {\n background-color: oklab(0 0 0 / 0.7);\n box-shadow:\n inset 0 0 0 1px oklab(0 0 0),\n 0 0 0 1px oklab(1 0 0 / 0.2);\n }\n}\n@media (prefers-contrast: more) {\n .surface {\n background-color: oklab(0 0 0 / 0.9);\n box-shadow:\n inset 0 0 0 1px oklab(0 0 0),\n 0 0 0 1px oklab(1 0 0 / 0.2);\n }\n}\n\n/* Media Control Bar UI/Styles */\n.control-bar {\n position: absolute;\n bottom: 0.75rem;\n inset-inline: 0.75rem;\n padding: 0.25rem;\n display: flex;\n align-items: center;\n gap: 0.125rem;\n border-radius: calc(infinity * 1px);\n will-change: scale, transform, filter, opacity;\n scale: 0.9;\n opacity: 0;\n filter: blur(8px);\n transition-property: scale, transform, filter, opacity;\n transition-delay: 500ms;\n transition-duration: 300ms;\n transition-timing-function: ease-out;\n transform-origin: bottom;\n color: oklab(1 0 0);\n}\nmedia-container:hover > .control-bar,\nmedia-container:has([data-paused]) > .control-bar,\nmedia-container:has([aria-expanded='true']) > .control-bar {\n opacity: 1;\n scale: 1;\n filter: blur(0px);\n transition-delay: 0ms;\n transition-duration: 100ms;\n}\n\n/* Time Display Styling */\n.time-controls {\n display: flex;\n align-items: center;\n flex: 1;\n gap: 0.75rem;\n padding-inline: 0.375rem;\n}\nmedia-current-time-display,\nmedia-duration-display {\n text-shadow: 0 1px 0 oklab(0 0 0 / 0.25);\n font-variant-numeric: tabular-nums;\n}\n\n/* Generic Media Button Styling */\n.button {\n display: grid;\n flex-shrink: 0;\n padding: 0.5rem;\n cursor: pointer;\n background: transparent;\n border: none;\n border-radius: calc(infinity * 1px);\n color: oklab(1 0 0 / 0.9);\n user-select: none;\n outline: 2px solid transparent;\n outline-offset: -2px;\n transition-property: background-color, color, outline-offset;\n transition-duration: 150ms;\n transition-timing-function: ease-out;\n}\n.button:hover,\n.button:focus-visible,\n.button[aria-expanded='true'] {\n background-color: oklab(1 0 0 / 0.1);\n color: oklab(1 0 0);\n text-decoration: none;\n}\n.button:focus-visible {\n outline-color: oklch(62.3% 0.214 259.815);\n outline-offset: 2px;\n}\n.button[disabled] {\n cursor: not-allowed;\n opacity: 0.5;\n filter: grayscale(1);\n}\n\n.button .icon {\n grid-area: 1 / 1;\n width: 18px;\n height: 18px;\n filter: drop-shadow(0 1px 0 oklab(0 0 0 / 0.25));\n}\n\n/* Media Play Button UI/Styles */\nmedia-play-button .icon {\n opacity: 0;\n transition: opacity 150ms linear;\n}\n\nmedia-play-button:not([data-paused]) .pause-icon,\nmedia-play-button[data-paused] .play-icon {\n opacity: 1;\n}\n\n/* Media Fullscreen Button UI/Styles */\nmedia-fullscreen-button .icon {\n display: none;\n}\nmedia-fullscreen-button:not([data-fullscreen]) .fullscreen-enter-icon,\nmedia-fullscreen-button[data-fullscreen] .fullscreen-exit-icon {\n display: inline;\n}\n\n/* One way to define the \"default visible\" icon (CJP) */\nmedia-mute-button .icon {\n display: none;\n}\nmedia-mute-button:not([data-volume-level]) .volume-low-icon,\nmedia-mute-button[data-volume-level='high'] .volume-high-icon,\nmedia-mute-button[data-volume-level='low'] .volume-low-icon,\nmedia-mute-button[data-volume-level='medium'] .volume-low-icon,\nmedia-mute-button[data-volume-level='off'] .volume-off-icon {\n display: inline;\n}\n\n/* TimeSlider Component Styles */\n.slider {\n flex: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n position: relative;\n border-radius: calc(infinity * 1px);\n outline: none;\n}\n\n/* Horizontal orientation styles */\n.slider[data-orientation='horizontal'] {\n min-width: 5rem;\n width: 100%;\n height: 1.25rem;\n}\n\n/* Vertical orientation styles */\n.slider[data-orientation='vertical'] {\n height: 5rem;\n width: 1.25rem;\n}\n\n.slider-track {\n position: relative;\n isolation: isolate;\n background-color: oklab(1 0 0 / 0.2);\n border-radius: inherit;\n overflow: hidden;\n user-select: none;\n outline: 2px solid transparent;\n outline-offset: -2px;\n transition: outline-offset 150ms ease-out;\n box-shadow: 0 0 0 1px oklab(0 0 0 / 0.05);\n}\n\n/* Horizontal track styles */\n.slider-track[data-orientation='horizontal'] {\n width: 100%;\n height: 0.25rem;\n}\n\n/* Vertical track styles */\n.slider-track[data-orientation='vertical'] {\n width: 0.25rem;\n height: 100%;\n}\n\n.slider:focus-visible .slider-track {\n outline-color: oklch(62.3% 0.214 259.815);\n outline-offset: 6px;\n}\n\n.slider-thumb {\n width: 0.625rem;\n height: 0.625rem;\n background-color: oklab(1 0 0);\n border-radius: calc(infinity * 1px);\n user-select: none;\n z-index: 10;\n box-shadow:\n 0 0 0 1px oklab(0 0 0 / 0.1),\n 0 1px 3px 0 oklab(0 0 0 / 0.15),\n 0 1px 2px -1px oklab(0 0 0 / 0.15);\n opacity: 0;\n transition-property: opacity, height, width;\n transition-duration: 150ms;\n transition-timing-function: ease-out;\n}\n.slider-thumb:active {\n width: 0.75rem;\n height: 0.75rem;\n}\n.slider:hover .slider-thumb,\n.slider:focus-within .slider-thumb {\n opacity: 1;\n}\n.slider-track[data-orientation='horizontal'] .slider-thumb {\n cursor: ew-resize;\n}\n.slider-track[data-orientation='vertical'] .slider-thumb {\n cursor: ns-resize;\n}\n\n.slider-pointer {\n background-color: oklab(1 0 0 / 0.2);\n border-radius: inherit;\n}\n\n.slider-progress {\n background-color: oklab(1 0 0);\n border-radius: inherit;\n}\n\nmedia-preview-time-display {\n font-variant-numeric: tabular-nums;\n}\n\n.popup-animation {\n transition-property: transform, scale, opacity, filter;\n transition-duration: 200ms;\n transform: scale(1);\n transform-origin: bottom;\n opacity: 1;\n filter: blur(0px);\n}\n.popup-animation[data-starting-style],\n.popup-animation[data-ending-style] {\n transform: scale(0);\n opacity: 0;\n filter: blur(8px);\n}\n.popup-animation[data-instant] {\n transition-duration: 0ms;\n}\n\nmedia-popover {\n margin: 0;\n border: none;\n box-shadow: none;\n background: transparent;\n padding: 0.75rem 0.25rem;\n border-radius: calc(infinity * 1px);\n}\n\n/* Tooltip Component Styles */\nmedia-tooltip-popup {\n color: oklab(1 0 0);\n padding: 0.25rem 0.625rem;\n border-radius: calc(infinity * 1px);\n font-size: 0.75rem;\n}\n\n.tooltip {\n display: none;\n white-space: nowrap;\n}\n\nmedia-tooltip-popup[data-paused] .play-tooltip,\nmedia-tooltip-popup:not([data-paused]) .pause-tooltip {\n display: block;\n}\n\nmedia-tooltip-popup[data-fullscreen] .fullscreen-exit-tooltip,\nmedia-tooltip-popup:not([data-fullscreen]) .fullscreen-enter-tooltip {\n display: block;\n}\n";
33
+
34
+ //#endregion
35
+ //#region src/skins/frosted/index.ts
36
+ function getTemplateHTML() {
37
+ return `
38
+ ${MediaSkinElement.getTemplateHTML()}
39
+ <style>${styles_default}</style>
40
+
41
+ <media-container>
42
+ <slot name="media" slot="media"></slot>
43
+
44
+ <div class="overlay"></div>
45
+
46
+ <div class="control-bar surface">
47
+ <!-- NOTE: We can decide if we further want to provide a further, "themed" media-play-button that comes with baked in default styles and icons. (CJP) -->
48
+ <media-tooltip delay="500" close-delay="0">
49
+ <media-tooltip-trigger>
50
+ <media-play-button class="button">
51
+ <media-play-icon class="icon play-icon"></media-play-icon>
52
+ <media-pause-icon class="icon pause-icon"></media-pause-icon>
53
+ </media-play-button>
54
+ </media-tooltip-trigger>
55
+ <media-tooltip-portal>
56
+ <media-tooltip-positioner side="top" side-offset="12" collision-padding="12">
57
+ <media-tooltip-popup class="surface popup-animation">
58
+ <span class="tooltip play-tooltip">Play</span>
59
+ <span class="tooltip pause-tooltip">Pause</span>
60
+ </media-tooltip-popup>
61
+ </media-tooltip-positioner>
62
+ </media-tooltip-portal>
63
+ </media-tooltip>
64
+
65
+ <div class="time-controls">
66
+ <!-- Use the show-remaining attribute to show count down/remaining time -->
67
+ <media-current-time-display></media-current-time-display>
68
+
69
+ <media-tooltip track-cursor-axis="x">
70
+ <media-tooltip-trigger>
71
+ <media-time-slider class="slider">
72
+ <media-time-slider-track class="slider-track">
73
+ <media-time-slider-progress class="slider-progress"></media-time-slider-progress>
74
+ <media-time-slider-pointer class="slider-pointer"></media-time-slider-pointer>
75
+ </media-time-slider-track>
76
+ <media-time-slider-thumb class="slider-thumb"></media-time-slider-thumb>
77
+ </media-time-slider>
78
+ </media-tooltip-trigger>
79
+ <media-tooltip-portal>
80
+ <media-tooltip-positioner side="top" side-offset="18" collision-padding="12">
81
+ <media-tooltip-popup class="surface popup-animation">
82
+ <media-preview-time-display></media-preview-time-display>
83
+ </media-tooltip-popup>
84
+ </media-tooltip-positioner>
85
+ </media-tooltip-portal>
86
+ </media-tooltip>
87
+
88
+ <media-duration-display></media-duration-display>
89
+ </div>
90
+
91
+ <media-mute-button popovertarget="volume-slider-popover" class="button">
92
+ <media-volume-high-icon class="icon volume-high-icon"></media-volume-high-icon>
93
+ <media-volume-low-icon class="icon volume-low-icon"></media-volume-low-icon>
94
+ <media-volume-off-icon class="icon volume-off-icon"></media-volume-off-icon>
95
+ </media-mute-button>
96
+ <media-popover
97
+ id="volume-slider-popover"
98
+ class="surface popup-animation"
99
+ popover
100
+ open-on-hover
101
+ delay="200"
102
+ close-delay="100"
103
+ side="top"
104
+ side-offset="12"
105
+ collision-padding="12"
106
+ >
107
+ <media-volume-slider class="slider" orientation="vertical">
108
+ <media-volume-slider-track class="slider-track">
109
+ <media-volume-slider-indicator class="slider-progress"></media-volume-slider-indicator>
110
+ </media-volume-slider-track>
111
+ <media-volume-slider-thumb class="slider-thumb"></media-volume-slider-thumb>
112
+ </media-volume-slider>
113
+ </media-popover>
114
+
115
+ <media-tooltip delay="500" close-delay="0">
116
+ <media-tooltip-trigger>
117
+ <media-fullscreen-button class="button">
118
+ <media-fullscreen-enter-icon class="icon fullscreen-enter-icon"></media-fullscreen-enter-icon>
119
+ <media-fullscreen-exit-icon class="icon fullscreen-exit-icon"></media-fullscreen-exit-icon>
120
+ </media-fullscreen-button>
121
+ </media-tooltip-trigger>
122
+ <media-tooltip-portal>
123
+ <media-tooltip-positioner side="top" side-offset="12" collision-padding="12">
124
+ <media-tooltip-popup class="surface popup-animation">
125
+ <span class="tooltip fullscreen-enter-tooltip">Enter Fullscreen</span>
126
+ <span class="tooltip fullscreen-exit-tooltip">Exit Fullscreen</span>
127
+ </media-tooltip-popup>
128
+ </media-tooltip-positioner>
129
+ </media-tooltip-portal>
130
+ </media-tooltip>
131
+ </div>
132
+ </media-container>
133
+ `;
134
+ }
135
+ var MediaSkinFrostedElement = class extends MediaSkinElement {
136
+ static {
137
+ this.getTemplateHTML = getTemplateHTML;
138
+ }
139
+ };
140
+ defineCustomElement("media-skin-frosted", MediaSkinFrostedElement);
141
+
142
+ //#endregion
143
+ export { MediaSkinFrostedElement, getTemplateHTML };
144
+ //# sourceMappingURL=frosted.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"frosted.js","names":["styles"],"sources":["../../src/skins/frosted/styles.css","../../src/skins/frosted/index.ts"],"sourcesContent":["\"media-container * {\\n box-sizing: border-box;\\n}\\n\\nmedia-container {\\n position: relative;\\n isolation: isolate;\\n container: root / inline-size;\\n overflow: clip;\\n font-size: 0.8125rem;\\n line-height: 1.5;\\n border-radius: inherit;\\n background: oklab(0 0 0);\\n}\\nmedia-container::before,\\nmedia-container::after {\\n content: '';\\n position: absolute;\\n pointer-events: none;\\n border-radius: inherit;\\n z-index: 10;\\n}\\nmedia-container::before {\\n inset: 1px;\\n box-shadow: inset 0 0 0 1px oklab(1 0 0 / 0.15);\\n}\\nmedia-container::after {\\n inset: 0;\\n box-shadow: inset 0 0 0 1px oklab(0 0 0 / 0.1);\\n}\\n\\n/* Fullscreen */\\nmedia-container:fullscreen {\\n border-radius: 0;\\n}\\n\\nmedia-container > ::slotted([slot='media']) {\\n display: block;\\n width: 100%;\\n height: 100%;\\n}\\n\\n/* Media Container UI Overlay Styling */\\nmedia-container > .overlay {\\n position: absolute;\\n inset: 0;\\n display: flex;\\n flex-flow: column nowrap;\\n align-items: start;\\n pointer-events: none;\\n border-radius: inherit;\\n background-image: linear-gradient(to top, oklab(0 0 0 / 0.5), oklab(0 0 0 / 0.3), rgba(0, 0, 0, 0));\\n backdrop-filter: saturate(1.5) brightness(0.9);\\n transition: opacity 0.15s ease-out;\\n transition-delay: 500ms;\\n opacity: 0;\\n}\\nmedia-container:hover > .overlay,\\nmedia-container:has([data-paused]) > .overlay,\\nmedia-container:has([aria-expanded='true']) > .overlay {\\n opacity: 1;\\n transition-duration: 100ms;\\n transition-delay: 0ms;\\n}\\n\\n/* Common Surface Styles - e.g. tooltips, popovers, controls */\\n.surface {\\n background-color: oklab(1 0 0 / 0.1);\\n backdrop-filter: blur(64px) brightness(0.9) saturate(1.5);\\n box-shadow:\\n inset 0 0 0 1px oklab(1 0 0 / 0.15),\\n 0 0 0 1px oklab(0 0 0 / 0.15),\\n oklab(0 0 0 / 0.15) 0px 1px 3px 0px,\\n oklab(0 0 0 / 0.15) 0px 1px 2px -1px;\\n}\\n@media (prefers-reduced-transparency: reduce) {\\n .surface {\\n background-color: oklab(0 0 0 / 0.7);\\n box-shadow:\\n inset 0 0 0 1px oklab(0 0 0),\\n 0 0 0 1px oklab(1 0 0 / 0.2);\\n }\\n}\\n@media (prefers-contrast: more) {\\n .surface {\\n background-color: oklab(0 0 0 / 0.9);\\n box-shadow:\\n inset 0 0 0 1px oklab(0 0 0),\\n 0 0 0 1px oklab(1 0 0 / 0.2);\\n }\\n}\\n\\n/* Media Control Bar UI/Styles */\\n.control-bar {\\n position: absolute;\\n bottom: 0.75rem;\\n inset-inline: 0.75rem;\\n padding: 0.25rem;\\n display: flex;\\n align-items: center;\\n gap: 0.125rem;\\n border-radius: calc(infinity * 1px);\\n will-change: scale, transform, filter, opacity;\\n scale: 0.9;\\n opacity: 0;\\n filter: blur(8px);\\n transition-property: scale, transform, filter, opacity;\\n transition-delay: 500ms;\\n transition-duration: 300ms;\\n transition-timing-function: ease-out;\\n transform-origin: bottom;\\n color: oklab(1 0 0);\\n}\\nmedia-container:hover > .control-bar,\\nmedia-container:has([data-paused]) > .control-bar,\\nmedia-container:has([aria-expanded='true']) > .control-bar {\\n opacity: 1;\\n scale: 1;\\n filter: blur(0px);\\n transition-delay: 0ms;\\n transition-duration: 100ms;\\n}\\n\\n/* Time Display Styling */\\n.time-controls {\\n display: flex;\\n align-items: center;\\n flex: 1;\\n gap: 0.75rem;\\n padding-inline: 0.375rem;\\n}\\nmedia-current-time-display,\\nmedia-duration-display {\\n text-shadow: 0 1px 0 oklab(0 0 0 / 0.25);\\n font-variant-numeric: tabular-nums;\\n}\\n\\n/* Generic Media Button Styling */\\n.button {\\n display: grid;\\n flex-shrink: 0;\\n padding: 0.5rem;\\n cursor: pointer;\\n background: transparent;\\n border: none;\\n border-radius: calc(infinity * 1px);\\n color: oklab(1 0 0 / 0.9);\\n user-select: none;\\n outline: 2px solid transparent;\\n outline-offset: -2px;\\n transition-property: background-color, color, outline-offset;\\n transition-duration: 150ms;\\n transition-timing-function: ease-out;\\n}\\n.button:hover,\\n.button:focus-visible,\\n.button[aria-expanded='true'] {\\n background-color: oklab(1 0 0 / 0.1);\\n color: oklab(1 0 0);\\n text-decoration: none;\\n}\\n.button:focus-visible {\\n outline-color: oklch(62.3% 0.214 259.815);\\n outline-offset: 2px;\\n}\\n.button[disabled] {\\n cursor: not-allowed;\\n opacity: 0.5;\\n filter: grayscale(1);\\n}\\n\\n.button .icon {\\n grid-area: 1 / 1;\\n width: 18px;\\n height: 18px;\\n filter: drop-shadow(0 1px 0 oklab(0 0 0 / 0.25));\\n}\\n\\n/* Media Play Button UI/Styles */\\nmedia-play-button .icon {\\n opacity: 0;\\n transition: opacity 150ms linear;\\n}\\n\\nmedia-play-button:not([data-paused]) .pause-icon,\\nmedia-play-button[data-paused] .play-icon {\\n opacity: 1;\\n}\\n\\n/* Media Fullscreen Button UI/Styles */\\nmedia-fullscreen-button .icon {\\n display: none;\\n}\\nmedia-fullscreen-button:not([data-fullscreen]) .fullscreen-enter-icon,\\nmedia-fullscreen-button[data-fullscreen] .fullscreen-exit-icon {\\n display: inline;\\n}\\n\\n/* One way to define the \\\"default visible\\\" icon (CJP) */\\nmedia-mute-button .icon {\\n display: none;\\n}\\nmedia-mute-button:not([data-volume-level]) .volume-low-icon,\\nmedia-mute-button[data-volume-level='high'] .volume-high-icon,\\nmedia-mute-button[data-volume-level='low'] .volume-low-icon,\\nmedia-mute-button[data-volume-level='medium'] .volume-low-icon,\\nmedia-mute-button[data-volume-level='off'] .volume-off-icon {\\n display: inline;\\n}\\n\\n/* TimeSlider Component Styles */\\n.slider {\\n flex: 1;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n position: relative;\\n border-radius: calc(infinity * 1px);\\n outline: none;\\n}\\n\\n/* Horizontal orientation styles */\\n.slider[data-orientation='horizontal'] {\\n min-width: 5rem;\\n width: 100%;\\n height: 1.25rem;\\n}\\n\\n/* Vertical orientation styles */\\n.slider[data-orientation='vertical'] {\\n height: 5rem;\\n width: 1.25rem;\\n}\\n\\n.slider-track {\\n position: relative;\\n isolation: isolate;\\n background-color: oklab(1 0 0 / 0.2);\\n border-radius: inherit;\\n overflow: hidden;\\n user-select: none;\\n outline: 2px solid transparent;\\n outline-offset: -2px;\\n transition: outline-offset 150ms ease-out;\\n box-shadow: 0 0 0 1px oklab(0 0 0 / 0.05);\\n}\\n\\n/* Horizontal track styles */\\n.slider-track[data-orientation='horizontal'] {\\n width: 100%;\\n height: 0.25rem;\\n}\\n\\n/* Vertical track styles */\\n.slider-track[data-orientation='vertical'] {\\n width: 0.25rem;\\n height: 100%;\\n}\\n\\n.slider:focus-visible .slider-track {\\n outline-color: oklch(62.3% 0.214 259.815);\\n outline-offset: 6px;\\n}\\n\\n.slider-thumb {\\n width: 0.625rem;\\n height: 0.625rem;\\n background-color: oklab(1 0 0);\\n border-radius: calc(infinity * 1px);\\n user-select: none;\\n z-index: 10;\\n box-shadow:\\n 0 0 0 1px oklab(0 0 0 / 0.1),\\n 0 1px 3px 0 oklab(0 0 0 / 0.15),\\n 0 1px 2px -1px oklab(0 0 0 / 0.15);\\n opacity: 0;\\n transition-property: opacity, height, width;\\n transition-duration: 150ms;\\n transition-timing-function: ease-out;\\n}\\n.slider-thumb:active {\\n width: 0.75rem;\\n height: 0.75rem;\\n}\\n.slider:hover .slider-thumb,\\n.slider:focus-within .slider-thumb {\\n opacity: 1;\\n}\\n.slider-track[data-orientation='horizontal'] .slider-thumb {\\n cursor: ew-resize;\\n}\\n.slider-track[data-orientation='vertical'] .slider-thumb {\\n cursor: ns-resize;\\n}\\n\\n.slider-pointer {\\n background-color: oklab(1 0 0 / 0.2);\\n border-radius: inherit;\\n}\\n\\n.slider-progress {\\n background-color: oklab(1 0 0);\\n border-radius: inherit;\\n}\\n\\nmedia-preview-time-display {\\n font-variant-numeric: tabular-nums;\\n}\\n\\n.popup-animation {\\n transition-property: transform, scale, opacity, filter;\\n transition-duration: 200ms;\\n transform: scale(1);\\n transform-origin: bottom;\\n opacity: 1;\\n filter: blur(0px);\\n}\\n.popup-animation[data-starting-style],\\n.popup-animation[data-ending-style] {\\n transform: scale(0);\\n opacity: 0;\\n filter: blur(8px);\\n}\\n.popup-animation[data-instant] {\\n transition-duration: 0ms;\\n}\\n\\nmedia-popover {\\n margin: 0;\\n border: none;\\n box-shadow: none;\\n background: transparent;\\n padding: 0.75rem 0.25rem;\\n border-radius: calc(infinity * 1px);\\n}\\n\\n/* Tooltip Component Styles */\\nmedia-tooltip-popup {\\n color: oklab(1 0 0);\\n padding: 0.25rem 0.625rem;\\n border-radius: calc(infinity * 1px);\\n font-size: 0.75rem;\\n}\\n\\n.tooltip {\\n display: none;\\n white-space: nowrap;\\n}\\n\\nmedia-tooltip-popup[data-paused] .play-tooltip,\\nmedia-tooltip-popup:not([data-paused]) .pause-tooltip {\\n display: block;\\n}\\n\\nmedia-tooltip-popup[data-fullscreen] .fullscreen-exit-tooltip,\\nmedia-tooltip-popup:not([data-fullscreen]) .fullscreen-enter-tooltip {\\n display: block;\\n}\\n\"","import { MediaSkinElement } from '@/media/media-skin';\nimport { defineCustomElement } from '@/utils/custom-element';\nimport styles from './styles.css';\nimport '@/define/media-container';\nimport '@/define/media-provider';\nimport '@/define/media-play-button';\nimport '@/define/media-mute-button';\nimport '@/define/media-volume-slider';\nimport '@/define/media-time-slider';\nimport '@/define/media-fullscreen-button';\nimport '@/define/media-duration-display';\nimport '@/define/media-current-time-display';\nimport '@/define/media-preview-time-display';\nimport '@/define/media-popover';\nimport '@/define/media-tooltip';\nimport '@/icons';\n\nexport function getTemplateHTML() {\n return /* html */`\n ${MediaSkinElement.getTemplateHTML()}\n <style>${styles}</style>\n\n <media-container>\n <slot name=\"media\" slot=\"media\"></slot>\n\n <div class=\"overlay\"></div>\n\n <div class=\"control-bar surface\">\n <!-- NOTE: We can decide if we further want to provide a further, \"themed\" media-play-button that comes with baked in default styles and icons. (CJP) -->\n <media-tooltip delay=\"500\" close-delay=\"0\">\n <media-tooltip-trigger>\n <media-play-button class=\"button\">\n <media-play-icon class=\"icon play-icon\"></media-play-icon>\n <media-pause-icon class=\"icon pause-icon\"></media-pause-icon>\n </media-play-button>\n </media-tooltip-trigger>\n <media-tooltip-portal>\n <media-tooltip-positioner side=\"top\" side-offset=\"12\" collision-padding=\"12\">\n <media-tooltip-popup class=\"surface popup-animation\">\n <span class=\"tooltip play-tooltip\">Play</span>\n <span class=\"tooltip pause-tooltip\">Pause</span>\n </media-tooltip-popup>\n </media-tooltip-positioner>\n </media-tooltip-portal>\n </media-tooltip>\n\n <div class=\"time-controls\">\n <!-- Use the show-remaining attribute to show count down/remaining time -->\n <media-current-time-display></media-current-time-display>\n\n <media-tooltip track-cursor-axis=\"x\">\n <media-tooltip-trigger>\n <media-time-slider class=\"slider\">\n <media-time-slider-track class=\"slider-track\">\n <media-time-slider-progress class=\"slider-progress\"></media-time-slider-progress>\n <media-time-slider-pointer class=\"slider-pointer\"></media-time-slider-pointer>\n </media-time-slider-track>\n <media-time-slider-thumb class=\"slider-thumb\"></media-time-slider-thumb>\n </media-time-slider>\n </media-tooltip-trigger>\n <media-tooltip-portal>\n <media-tooltip-positioner side=\"top\" side-offset=\"18\" collision-padding=\"12\">\n <media-tooltip-popup class=\"surface popup-animation\">\n <media-preview-time-display></media-preview-time-display>\n </media-tooltip-popup>\n </media-tooltip-positioner>\n </media-tooltip-portal>\n </media-tooltip>\n\n <media-duration-display></media-duration-display>\n </div>\n\n <media-mute-button popovertarget=\"volume-slider-popover\" class=\"button\">\n <media-volume-high-icon class=\"icon volume-high-icon\"></media-volume-high-icon>\n <media-volume-low-icon class=\"icon volume-low-icon\"></media-volume-low-icon>\n <media-volume-off-icon class=\"icon volume-off-icon\"></media-volume-off-icon>\n </media-mute-button>\n <media-popover \n id=\"volume-slider-popover\" \n class=\"surface popup-animation\" \n popover\n open-on-hover\n delay=\"200\"\n close-delay=\"100\"\n side=\"top\"\n side-offset=\"12\"\n collision-padding=\"12\"\n >\n <media-volume-slider class=\"slider\" orientation=\"vertical\">\n <media-volume-slider-track class=\"slider-track\">\n <media-volume-slider-indicator class=\"slider-progress\"></media-volume-slider-indicator>\n </media-volume-slider-track>\n <media-volume-slider-thumb class=\"slider-thumb\"></media-volume-slider-thumb>\n </media-volume-slider>\n </media-popover>\n\n <media-tooltip delay=\"500\" close-delay=\"0\">\n <media-tooltip-trigger>\n <media-fullscreen-button class=\"button\">\n <media-fullscreen-enter-icon class=\"icon fullscreen-enter-icon\"></media-fullscreen-enter-icon>\n <media-fullscreen-exit-icon class=\"icon fullscreen-exit-icon\"></media-fullscreen-exit-icon>\n </media-fullscreen-button>\n </media-tooltip-trigger>\n <media-tooltip-portal>\n <media-tooltip-positioner side=\"top\" side-offset=\"12\" collision-padding=\"12\">\n <media-tooltip-popup class=\"surface popup-animation\">\n <span class=\"tooltip fullscreen-enter-tooltip\">Enter Fullscreen</span>\n <span class=\"tooltip fullscreen-exit-tooltip\">Exit Fullscreen</span>\n </media-tooltip-popup>\n </media-tooltip-positioner>\n </media-tooltip-portal>\n </media-tooltip>\n </div>\n </media-container>\n `;\n}\n\nexport class MediaSkinFrostedElement extends MediaSkinElement {\n static getTemplateHTML: () => string = getTemplateHTML;\n}\n\ndefineCustomElement('media-skin-frosted', MediaSkinFrostedElement);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAAA;;;;ACiBA,SAAgB,kBAAkB;AAChC,QAAiB;MACb,iBAAiB,iBAAiB,CAAC;aAC5BA,eAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiGpB,IAAa,0BAAb,cAA6C,iBAAiB;;yBACrB;;;AAGzC,oBAAoB,sBAAsB,wBAAwB"}
@@ -0,0 +1,23 @@
1
+ import "../media-container-DPnFjmtK.js";
2
+ import "../media-provider-D7P2TLXG.js";
3
+ import "../media-play-button-oq8yDlxe.js";
4
+ import "../media-mute-button-NVJF2EEW.js";
5
+ import "../media-volume-slider-DP47VLVi.js";
6
+ import "../media-time-slider-DvMnfYXZ.js";
7
+ import "../media-fullscreen-button-BgUK3lgu.js";
8
+ import "../media-duration-display-qvm6YX-q.js";
9
+ import "../media-current-time-display-Cd0rPAuj.js";
10
+ import "../media-preview-time-display-4YX5Rics.js";
11
+ import "../media-popover-BtJmPv0E.js";
12
+ import "../media-tooltip-BqV17mdM.js";
13
+ import "../index-LKrIp3Oo.js";
14
+ import { t as MediaSkinElement } from "../media-skin-Di3vSHvS.js";
15
+
16
+ //#region src/skins/minimal/index.d.ts
17
+ declare function getTemplateHTML(): string;
18
+ declare class MediaSkinMinimalElement extends MediaSkinElement {
19
+ static getTemplateHTML: () => string;
20
+ }
21
+ //#endregion
22
+ export { MediaSkinMinimalElement, getTemplateHTML };
23
+ //# sourceMappingURL=minimal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"minimal.d.ts","names":[],"sources":["../../src/skins/minimal/index.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;;iBAkBgB,eAAA,CAAA;cAyGH,uBAAA,SAAgC,gBAAA;EAzG7C,OAAgB,eAAA,EAAA,GAAA,GAAA,MAAA;AAyGhB"}
@@ -0,0 +1,149 @@
1
+ import "../component-factory-DeAN6cjC.js";
2
+ import "../current-time-display-C3qndGf5.js";
3
+ import "../duration-display-JOPp3bdU.js";
4
+ import "../button-D1DWjsQu.js";
5
+ import "../fullscreen-button-CGO2UJjs.js";
6
+ import "../mute-button-vW2sLqqY.js";
7
+ import "../play-button-aVb0g10G.js";
8
+ import "../popover-Dc0hyhwB.js";
9
+ import "../preview-time-display-Dax0FQ2X.js";
10
+ import "../time-slider-CA1GMs6A.js";
11
+ import "../tooltip-54fBUUpb.js";
12
+ import "../volume-slider-guD8gqpi.js";
13
+ import "../media-container-C0MUzkJ_.js";
14
+ import "../media-provider-CyoL0bCx.js";
15
+ import { t as MediaSkinElement } from "../media-skin-mHWwUPg3.js";
16
+ import { t as defineCustomElement } from "../custom-element-3bDlB2XO.js";
17
+ import "../icons-CuxuONCk.js";
18
+ import "../media-container-BGEXSi9g.js";
19
+ import "../media-provider-D_GL2_DN.js";
20
+ import "../media-play-button-CLj-hkwn.js";
21
+ import "../media-mute-button-BOVhZ3aP.js";
22
+ import "../media-volume-slider-CKSxmdQv.js";
23
+ import "../media-time-slider-Bp2qnwsW.js";
24
+ import "../media-fullscreen-button-Dcflbt54.js";
25
+ import "../media-duration-display-BLMr7VHo.js";
26
+ import "../media-current-time-display-B-4Cp845.js";
27
+ import "../media-preview-time-display-DAiMgLPX.js";
28
+ import "../media-popover-F4M4Tq4z.js";
29
+ import "../media-tooltip-ClcVafMb.js";
30
+
31
+ //#region src/skins/minimal/styles.css
32
+ var styles_default = "media-container * {\n box-sizing: border-box;\n}\n\nmedia-container {\n position: relative;\n isolation: isolate;\n container: root / inline-size;\n overflow: clip;\n font-size: 0.8125rem;\n line-height: 1.5;\n border-radius: inherit;\n background: oklab(0 0 0);\n}\nmedia-container::after {\n content: '';\n position: absolute;\n pointer-events: none;\n border-radius: inherit;\n z-index: 10;\n inset: 0;\n box-shadow: inset 0 0 0 1px oklab(0 0 0 / 0.2);\n}\n@media (prefers-color-scheme: dark) {\n media-container::after {\n box-shadow: inset 0 0 0 1px oklab(1 0 0 / 0.2);\n }\n}\n\n/* Fullscreen */\nmedia-container:fullscreen {\n border-radius: 0;\n}\n\nmedia-container > ::slotted([slot='media']) {\n display: block;\n width: 100%;\n height: 100%;\n}\n\n/* Media Container UI Overlay Styling */\nmedia-container > .overlay {\n position: absolute;\n inset: 0;\n display: flex;\n flex-flow: column nowrap;\n align-items: start;\n pointer-events: none;\n border-radius: inherit;\n background-image: linear-gradient(to top, oklab(0 0 0 / 0.7), oklab(0 0 0 / 0.5) 7.5rem, rgba(0, 0, 0, 0));\n transform: translateY(100%);\n transition-property: transform, opacity;\n transition-duration: 150ms;\n transition-timing-function: ease-out;\n transition-delay: 500ms;\n opacity: 0;\n}\nmedia-container:hover > .overlay,\nmedia-container:has([data-paused]) > .overlay,\nmedia-container:has([aria-expanded='true']) > .overlay {\n opacity: 1;\n transform: translateY(0);\n transition-duration: 100ms;\n transition-delay: 0ms;\n}\n\n/* Media Control Bar UI/Styles */\n.control-bar {\n position: absolute;\n bottom: 0;\n inset-inline: 0;\n padding: 2.5rem 0.75rem 0.75rem 0.75rem;\n display: flex;\n align-items: center;\n gap: 0.875rem;\n will-change: transform, filter, opacity;\n transform: translateY(100%);\n opacity: 0;\n filter: blur(8px);\n transition-property: transform, filter, opacity;\n transition-delay: 500ms;\n transition-duration: 300ms;\n transition-timing-function: ease-out;\n color: oklab(1 0 0);\n}\nmedia-container:hover > .control-bar,\nmedia-container:has([data-paused]) > .control-bar,\nmedia-container:has([aria-expanded='true']) > .control-bar {\n opacity: 1;\n transform: translateY(0);\n filter: blur(0px);\n transition-delay: 0ms;\n transition-duration: 100ms;\n}\n\n/* Time Display Styling */\n.time-display-group {\n display: flex;\n align-items: center;\n gap: 0.25rem;\n}\n.duration-display {\n display: contents;\n color: oklab(1 0 0 / 0.5);\n}\nmedia-current-time-display,\nmedia-duration-display {\n text-shadow: 0 1px 0 oklab(0 0 0 / 0.2);\n font-variant-numeric: tabular-nums;\n}\n\n.button-group {\n display: flex;\n align-items: center;\n gap: 0.375rem;\n}\n\n/* Generic Media Button Styling */\n.button {\n display: grid;\n flex-shrink: 0;\n padding: 0.625rem;\n cursor: pointer;\n background: transparent;\n border: none;\n border-radius: 0.375rem;\n color: oklab(1 0 0);\n user-select: none;\n outline: 2px solid transparent;\n outline-offset: -2px;\n transition-property: background-color, color, outline-offset;\n transition-duration: 150ms;\n transition-timing-function: ease-out;\n}\n.button:hover,\n.button:focus-visible,\n.button[aria-expanded='true'] {\n color: oklab(1 0 0 / 0.8);\n text-decoration: none;\n}\n.button:focus-visible {\n outline-color: oklab(1 0 0);\n outline-offset: 2px;\n}\n.button[disabled] {\n cursor: not-allowed;\n opacity: 0.5;\n filter: grayscale(1);\n}\n\n.button .icon {\n grid-area: 1 / 1;\n width: 18px;\n height: 18px;\n filter: drop-shadow(0 1px 0 oklab(0 0 0 / 0.4));\n}\n\n/* Media Play Button UI/Styles */\nmedia-play-button .icon {\n opacity: 0;\n transition: opacity 150ms linear;\n}\n\nmedia-play-button:not([data-paused]) .pause-icon,\nmedia-play-button[data-paused] .play-icon {\n opacity: 1;\n}\n\n/* Media Fullscreen Button UI/Styles */\nmedia-fullscreen-button .icon {\n display: none;\n}\nmedia-fullscreen-button:not([data-fullscreen]) .fullscreen-enter-icon,\nmedia-fullscreen-button[data-fullscreen] .fullscreen-exit-icon {\n display: inline;\n}\n\n/* One way to define the \"default visible\" icon (CJP) */\nmedia-mute-button .icon {\n display: none;\n}\nmedia-mute-button:not([data-volume-level]) .volume-low-icon,\nmedia-mute-button[data-volume-level='high'] .volume-high-icon,\nmedia-mute-button[data-volume-level='low'] .volume-low-icon,\nmedia-mute-button[data-volume-level='medium'] .volume-low-icon,\nmedia-mute-button[data-volume-level='off'] .volume-off-icon {\n display: inline;\n}\n\n/* TimeSlider Component Styles */\n.slider {\n flex: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n position: relative;\n border-radius: calc(infinity * 1px);\n outline: none;\n}\n\n/* Horizontal orientation styles */\n.slider[data-orientation='horizontal'] {\n min-width: 5rem;\n width: 100%;\n height: 1.25rem;\n}\n\n/* Vertical orientation styles */\n.slider[data-orientation='vertical'] {\n height: 4.5rem;\n width: 1.25rem;\n}\n\n.slider-track {\n position: relative;\n isolation: isolate;\n background-color: oklab(1 0 0 / 0.2);\n border-radius: inherit;\n overflow: hidden;\n user-select: none;\n outline: 2px solid transparent;\n outline-offset: -2px;\n transition: outline-offset 150ms ease-out;\n box-shadow: 0 0 0 1px oklab(0 0 0 / 0.05);\n}\n\n/* Horizontal track styles */\n.slider-track[data-orientation='horizontal'] {\n width: 100%;\n height: 0.1875rem;\n}\n\n/* Vertical track styles */\n.slider-track[data-orientation='vertical'] {\n width: 0.1875rem;\n height: 100%;\n}\n\n.slider:focus-visible .slider-track {\n outline-color: oklab(1 0 0);\n outline-offset: 6px;\n}\n\n.slider-thumb {\n width: 0.75rem;\n height: 0.75rem;\n background-color: oklab(1 0 0);\n border-radius: calc(infinity * 1px);\n user-select: none;\n z-index: 10;\n box-shadow:\n 0 0 0 1px oklab(0 0 0 / 0.1),\n 0 1px 3px 0 oklab(0 0 0 / 0.15),\n 0 1px 2px -1px oklab(0 0 0 / 0.15);\n opacity: 0;\n scale: 0.7;\n transform-origin: center;\n transition-property: opacity, scale;\n transition-duration: 150ms;\n transition-timing-function: ease-out;\n}\n.slider:hover .slider-thumb,\n.slider:focus-within .slider-thumb {\n opacity: 1;\n scale: 1;\n}\n.slider-track[data-orientation='horizontal'] .slider-thumb {\n cursor: ew-resize;\n}\n.slider-track[data-orientation='vertical'] .slider-thumb {\n cursor: ns-resize;\n}\n\n.slider-pointer {\n display: none;\n}\n\n.slider-progress {\n background-color: oklab(1 0 0);\n border-radius: inherit;\n}\n\nmedia-preview-time-display {\n font-variant-numeric: tabular-nums;\n}\n\n.popup-animation {\n transition-property: transform, scale, opacity, filter;\n transition-duration: 200ms;\n transform: scale(1);\n transform-origin: bottom;\n opacity: 1;\n filter: blur(0px);\n}\n.popup-animation[data-starting-style],\n.popup-animation[data-ending-style] {\n transform: scale(0);\n opacity: 0;\n filter: blur(8px);\n}\n.popup-animation[data-instant] {\n transition-duration: 0ms;\n}\n\nmedia-popover {\n margin: 0;\n border: none;\n box-shadow: none;\n background: transparent;\n padding: 0.75rem 0.25rem;\n border-radius: calc(infinity * 1px);\n}\n\n/* Tooltip Component Styles */\nmedia-tooltip-popup {\n color: oklab(1 0 0);\n padding: 0.25rem 0.5rem;\n border-radius: 0.25rem;\n font-size: 0.75rem;\n background-color: oklab(1 0 0 / 0.1);\n backdrop-filter: blur(64px) brightness(0.9) saturate(1.5);\n box-shadow:\n 0 4px 6px -1px oklab(0 0 0 / 0.1),\n 0 2px 4px -2px oklab(0 0 0 / 0.1);\n}\n@media (prefers-reduced-transparency: reduce) {\n media-tooltip-popup {\n background-color: oklab(0 0 0 / 0.7);\n }\n}\n@media (prefers-contrast: more) {\n media-tooltip-popup {\n background-color: oklab(0 0 0 / 0.9);\n }\n}\n\n.tooltip {\n display: none;\n white-space: nowrap;\n}\n\nmedia-tooltip-popup[data-paused] .play-tooltip,\nmedia-tooltip-popup:not([data-paused]) .pause-tooltip {\n display: block;\n}\n\nmedia-tooltip-popup[data-fullscreen] .fullscreen-exit-tooltip,\nmedia-tooltip-popup:not([data-fullscreen]) .fullscreen-enter-tooltip {\n display: block;\n}\n";
33
+
34
+ //#endregion
35
+ //#region src/skins/minimal/index.ts
36
+ function getTemplateHTML() {
37
+ return `
38
+ ${MediaSkinElement.getTemplateHTML()}
39
+ <style>${styles_default}</style>
40
+
41
+ <media-container>
42
+ <slot name="media" slot="media"></slot>
43
+
44
+ <div class="overlay"></div>
45
+
46
+ <div class="control-bar">
47
+ <!-- NOTE: We can decide if we further want to provide a further, "themed" media-play-button that comes with baked in default styles and icons. (CJP) -->
48
+ <media-tooltip delay="500" close-delay="0">
49
+ <media-tooltip-trigger>
50
+ <media-play-button class="button">
51
+ <media-play-icon class="icon play-icon"></media-play-icon>
52
+ <media-pause-icon class="icon pause-icon"></media-pause-icon>
53
+ </media-play-button>
54
+ </media-tooltip-trigger>
55
+ <media-tooltip-portal>
56
+ <media-tooltip-positioner side="top" side-offset="6" collision-padding="12">
57
+ <media-tooltip-popup class="popup-animation">
58
+ <span class="tooltip play-tooltip">Play</span>
59
+ <span class="tooltip pause-tooltip">Pause</span>
60
+ </media-tooltip-popup>
61
+ </media-tooltip-positioner>
62
+ </media-tooltip-portal>
63
+ </media-tooltip>
64
+
65
+ <div class="time-display-group">
66
+ <!-- Use the show-remaining attribute to show count down/remaining time -->
67
+ <media-current-time-display></media-current-time-display>
68
+
69
+ <span class="duration-display">
70
+ /
71
+ <media-duration-display></media-duration-display>
72
+ </span>
73
+ </div>
74
+
75
+ <media-tooltip track-cursor-axis="x">
76
+ <media-tooltip-trigger>
77
+ <media-time-slider class="slider">
78
+ <media-time-slider-track class="slider-track">
79
+ <media-time-slider-progress class="slider-progress"></media-time-slider-progress>
80
+ <media-time-slider-pointer class="slider-pointer"></media-time-slider-pointer>
81
+ </media-time-slider-track>
82
+ <media-time-slider-thumb class="slider-thumb"></media-time-slider-thumb>
83
+ </media-time-slider>
84
+ </media-tooltip-trigger>
85
+ <media-tooltip-portal>
86
+ <media-tooltip-positioner side="top" side-offset="12" collision-padding="12">
87
+ <media-tooltip-popup class="popup-animation">
88
+ <media-preview-time-display></media-preview-time-display>
89
+ </media-tooltip-popup>
90
+ </media-tooltip-positioner>
91
+ </media-tooltip-portal>
92
+ </media-tooltip>
93
+
94
+ <div class="button-group">
95
+ <media-mute-button popovertarget="volume-slider-popover" class="button">
96
+ <media-volume-high-icon class="icon volume-high-icon"></media-volume-high-icon>
97
+ <media-volume-low-icon class="icon volume-low-icon"></media-volume-low-icon>
98
+ <media-volume-off-icon class="icon volume-off-icon"></media-volume-off-icon>
99
+ </media-mute-button>
100
+ <media-popover
101
+ id="volume-slider-popover"
102
+ class="popup-animation"
103
+ popover
104
+ open-on-hover
105
+ delay="200"
106
+ close-delay="100"
107
+ side="top"
108
+ side-offset="2"
109
+ collision-padding="12"
110
+ >
111
+ <media-volume-slider class="slider" orientation="vertical">
112
+ <media-volume-slider-track class="slider-track">
113
+ <media-volume-slider-indicator class="slider-progress"></media-volume-slider-indicator>
114
+ </media-volume-slider-track>
115
+ <media-volume-slider-thumb class="slider-thumb"></media-volume-slider-thumb>
116
+ </media-volume-slider>
117
+ </media-popover>
118
+
119
+ <media-tooltip delay="500" close-delay="0">
120
+ <media-tooltip-trigger>
121
+ <media-fullscreen-button class="button">
122
+ <media-fullscreen-enter-alt-icon class="icon fullscreen-enter-icon"></media-fullscreen-enter-alt-icon>
123
+ <media-fullscreen-exit-alt-icon class="icon fullscreen-exit-icon"></media-fullscreen-exit-alt-icon>
124
+ </media-fullscreen-button>
125
+ </media-tooltip-trigger>
126
+ <media-tooltip-portal>
127
+ <media-tooltip-positioner side="top" side-offset="6" collision-padding="12">
128
+ <media-tooltip-popup class="popup-animation">
129
+ <span class="tooltip fullscreen-enter-tooltip">Enter Fullscreen</span>
130
+ <span class="tooltip fullscreen-exit-tooltip">Exit Fullscreen</span>
131
+ </media-tooltip-popup>
132
+ </media-tooltip-positioner>
133
+ </media-tooltip-portal>
134
+ </media-tooltip>
135
+ </div>
136
+ </div>
137
+ </media-container>
138
+ `;
139
+ }
140
+ var MediaSkinMinimalElement = class extends MediaSkinElement {
141
+ static {
142
+ this.getTemplateHTML = getTemplateHTML;
143
+ }
144
+ };
145
+ defineCustomElement("media-skin-minimal", MediaSkinMinimalElement);
146
+
147
+ //#endregion
148
+ export { MediaSkinMinimalElement, getTemplateHTML };
149
+ //# sourceMappingURL=minimal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"minimal.js","names":["styles"],"sources":["../../src/skins/minimal/styles.css","../../src/skins/minimal/index.ts"],"sourcesContent":["\"media-container * {\\n box-sizing: border-box;\\n}\\n\\nmedia-container {\\n position: relative;\\n isolation: isolate;\\n container: root / inline-size;\\n overflow: clip;\\n font-size: 0.8125rem;\\n line-height: 1.5;\\n border-radius: inherit;\\n background: oklab(0 0 0);\\n}\\nmedia-container::after {\\n content: '';\\n position: absolute;\\n pointer-events: none;\\n border-radius: inherit;\\n z-index: 10;\\n inset: 0;\\n box-shadow: inset 0 0 0 1px oklab(0 0 0 / 0.2);\\n}\\n@media (prefers-color-scheme: dark) {\\n media-container::after {\\n box-shadow: inset 0 0 0 1px oklab(1 0 0 / 0.2);\\n }\\n}\\n\\n/* Fullscreen */\\nmedia-container:fullscreen {\\n border-radius: 0;\\n}\\n\\nmedia-container > ::slotted([slot='media']) {\\n display: block;\\n width: 100%;\\n height: 100%;\\n}\\n\\n/* Media Container UI Overlay Styling */\\nmedia-container > .overlay {\\n position: absolute;\\n inset: 0;\\n display: flex;\\n flex-flow: column nowrap;\\n align-items: start;\\n pointer-events: none;\\n border-radius: inherit;\\n background-image: linear-gradient(to top, oklab(0 0 0 / 0.7), oklab(0 0 0 / 0.5) 7.5rem, rgba(0, 0, 0, 0));\\n transform: translateY(100%);\\n transition-property: transform, opacity;\\n transition-duration: 150ms;\\n transition-timing-function: ease-out;\\n transition-delay: 500ms;\\n opacity: 0;\\n}\\nmedia-container:hover > .overlay,\\nmedia-container:has([data-paused]) > .overlay,\\nmedia-container:has([aria-expanded='true']) > .overlay {\\n opacity: 1;\\n transform: translateY(0);\\n transition-duration: 100ms;\\n transition-delay: 0ms;\\n}\\n\\n/* Media Control Bar UI/Styles */\\n.control-bar {\\n position: absolute;\\n bottom: 0;\\n inset-inline: 0;\\n padding: 2.5rem 0.75rem 0.75rem 0.75rem;\\n display: flex;\\n align-items: center;\\n gap: 0.875rem;\\n will-change: transform, filter, opacity;\\n transform: translateY(100%);\\n opacity: 0;\\n filter: blur(8px);\\n transition-property: transform, filter, opacity;\\n transition-delay: 500ms;\\n transition-duration: 300ms;\\n transition-timing-function: ease-out;\\n color: oklab(1 0 0);\\n}\\nmedia-container:hover > .control-bar,\\nmedia-container:has([data-paused]) > .control-bar,\\nmedia-container:has([aria-expanded='true']) > .control-bar {\\n opacity: 1;\\n transform: translateY(0);\\n filter: blur(0px);\\n transition-delay: 0ms;\\n transition-duration: 100ms;\\n}\\n\\n/* Time Display Styling */\\n.time-display-group {\\n display: flex;\\n align-items: center;\\n gap: 0.25rem;\\n}\\n.duration-display {\\n display: contents;\\n color: oklab(1 0 0 / 0.5);\\n}\\nmedia-current-time-display,\\nmedia-duration-display {\\n text-shadow: 0 1px 0 oklab(0 0 0 / 0.2);\\n font-variant-numeric: tabular-nums;\\n}\\n\\n.button-group {\\n display: flex;\\n align-items: center;\\n gap: 0.375rem;\\n}\\n\\n/* Generic Media Button Styling */\\n.button {\\n display: grid;\\n flex-shrink: 0;\\n padding: 0.625rem;\\n cursor: pointer;\\n background: transparent;\\n border: none;\\n border-radius: 0.375rem;\\n color: oklab(1 0 0);\\n user-select: none;\\n outline: 2px solid transparent;\\n outline-offset: -2px;\\n transition-property: background-color, color, outline-offset;\\n transition-duration: 150ms;\\n transition-timing-function: ease-out;\\n}\\n.button:hover,\\n.button:focus-visible,\\n.button[aria-expanded='true'] {\\n color: oklab(1 0 0 / 0.8);\\n text-decoration: none;\\n}\\n.button:focus-visible {\\n outline-color: oklab(1 0 0);\\n outline-offset: 2px;\\n}\\n.button[disabled] {\\n cursor: not-allowed;\\n opacity: 0.5;\\n filter: grayscale(1);\\n}\\n\\n.button .icon {\\n grid-area: 1 / 1;\\n width: 18px;\\n height: 18px;\\n filter: drop-shadow(0 1px 0 oklab(0 0 0 / 0.4));\\n}\\n\\n/* Media Play Button UI/Styles */\\nmedia-play-button .icon {\\n opacity: 0;\\n transition: opacity 150ms linear;\\n}\\n\\nmedia-play-button:not([data-paused]) .pause-icon,\\nmedia-play-button[data-paused] .play-icon {\\n opacity: 1;\\n}\\n\\n/* Media Fullscreen Button UI/Styles */\\nmedia-fullscreen-button .icon {\\n display: none;\\n}\\nmedia-fullscreen-button:not([data-fullscreen]) .fullscreen-enter-icon,\\nmedia-fullscreen-button[data-fullscreen] .fullscreen-exit-icon {\\n display: inline;\\n}\\n\\n/* One way to define the \\\"default visible\\\" icon (CJP) */\\nmedia-mute-button .icon {\\n display: none;\\n}\\nmedia-mute-button:not([data-volume-level]) .volume-low-icon,\\nmedia-mute-button[data-volume-level='high'] .volume-high-icon,\\nmedia-mute-button[data-volume-level='low'] .volume-low-icon,\\nmedia-mute-button[data-volume-level='medium'] .volume-low-icon,\\nmedia-mute-button[data-volume-level='off'] .volume-off-icon {\\n display: inline;\\n}\\n\\n/* TimeSlider Component Styles */\\n.slider {\\n flex: 1;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n position: relative;\\n border-radius: calc(infinity * 1px);\\n outline: none;\\n}\\n\\n/* Horizontal orientation styles */\\n.slider[data-orientation='horizontal'] {\\n min-width: 5rem;\\n width: 100%;\\n height: 1.25rem;\\n}\\n\\n/* Vertical orientation styles */\\n.slider[data-orientation='vertical'] {\\n height: 4.5rem;\\n width: 1.25rem;\\n}\\n\\n.slider-track {\\n position: relative;\\n isolation: isolate;\\n background-color: oklab(1 0 0 / 0.2);\\n border-radius: inherit;\\n overflow: hidden;\\n user-select: none;\\n outline: 2px solid transparent;\\n outline-offset: -2px;\\n transition: outline-offset 150ms ease-out;\\n box-shadow: 0 0 0 1px oklab(0 0 0 / 0.05);\\n}\\n\\n/* Horizontal track styles */\\n.slider-track[data-orientation='horizontal'] {\\n width: 100%;\\n height: 0.1875rem;\\n}\\n\\n/* Vertical track styles */\\n.slider-track[data-orientation='vertical'] {\\n width: 0.1875rem;\\n height: 100%;\\n}\\n\\n.slider:focus-visible .slider-track {\\n outline-color: oklab(1 0 0);\\n outline-offset: 6px;\\n}\\n\\n.slider-thumb {\\n width: 0.75rem;\\n height: 0.75rem;\\n background-color: oklab(1 0 0);\\n border-radius: calc(infinity * 1px);\\n user-select: none;\\n z-index: 10;\\n box-shadow:\\n 0 0 0 1px oklab(0 0 0 / 0.1),\\n 0 1px 3px 0 oklab(0 0 0 / 0.15),\\n 0 1px 2px -1px oklab(0 0 0 / 0.15);\\n opacity: 0;\\n scale: 0.7;\\n transform-origin: center;\\n transition-property: opacity, scale;\\n transition-duration: 150ms;\\n transition-timing-function: ease-out;\\n}\\n.slider:hover .slider-thumb,\\n.slider:focus-within .slider-thumb {\\n opacity: 1;\\n scale: 1;\\n}\\n.slider-track[data-orientation='horizontal'] .slider-thumb {\\n cursor: ew-resize;\\n}\\n.slider-track[data-orientation='vertical'] .slider-thumb {\\n cursor: ns-resize;\\n}\\n\\n.slider-pointer {\\n display: none;\\n}\\n\\n.slider-progress {\\n background-color: oklab(1 0 0);\\n border-radius: inherit;\\n}\\n\\nmedia-preview-time-display {\\n font-variant-numeric: tabular-nums;\\n}\\n\\n.popup-animation {\\n transition-property: transform, scale, opacity, filter;\\n transition-duration: 200ms;\\n transform: scale(1);\\n transform-origin: bottom;\\n opacity: 1;\\n filter: blur(0px);\\n}\\n.popup-animation[data-starting-style],\\n.popup-animation[data-ending-style] {\\n transform: scale(0);\\n opacity: 0;\\n filter: blur(8px);\\n}\\n.popup-animation[data-instant] {\\n transition-duration: 0ms;\\n}\\n\\nmedia-popover {\\n margin: 0;\\n border: none;\\n box-shadow: none;\\n background: transparent;\\n padding: 0.75rem 0.25rem;\\n border-radius: calc(infinity * 1px);\\n}\\n\\n/* Tooltip Component Styles */\\nmedia-tooltip-popup {\\n color: oklab(1 0 0);\\n padding: 0.25rem 0.5rem;\\n border-radius: 0.25rem;\\n font-size: 0.75rem;\\n background-color: oklab(1 0 0 / 0.1);\\n backdrop-filter: blur(64px) brightness(0.9) saturate(1.5);\\n box-shadow:\\n 0 4px 6px -1px oklab(0 0 0 / 0.1),\\n 0 2px 4px -2px oklab(0 0 0 / 0.1);\\n}\\n@media (prefers-reduced-transparency: reduce) {\\n media-tooltip-popup {\\n background-color: oklab(0 0 0 / 0.7);\\n }\\n}\\n@media (prefers-contrast: more) {\\n media-tooltip-popup {\\n background-color: oklab(0 0 0 / 0.9);\\n }\\n}\\n\\n.tooltip {\\n display: none;\\n white-space: nowrap;\\n}\\n\\nmedia-tooltip-popup[data-paused] .play-tooltip,\\nmedia-tooltip-popup:not([data-paused]) .pause-tooltip {\\n display: block;\\n}\\n\\nmedia-tooltip-popup[data-fullscreen] .fullscreen-exit-tooltip,\\nmedia-tooltip-popup:not([data-fullscreen]) .fullscreen-enter-tooltip {\\n display: block;\\n}\\n\"","import { MediaSkinElement } from '@/media/media-skin';\nimport { defineCustomElement } from '@/utils/custom-element';\nimport styles from './styles.css';\nimport '@/define/media-container';\nimport '@/define/media-provider';\nimport '@/define/media-play-button';\nimport '@/define/media-mute-button';\nimport '@/define/media-volume-slider';\nimport '@/define/media-time-slider';\nimport '@/define/media-fullscreen-button';\nimport '@/define/media-duration-display';\nimport '@/define/media-current-time-display';\nimport '@/define/media-preview-time-display';\nimport '@/define/media-popover';\n\nimport '@/define/media-tooltip';\nimport '@/icons';\n\nexport function getTemplateHTML() {\n return /* html */`\n ${MediaSkinElement.getTemplateHTML()}\n <style>${styles}</style>\n\n <media-container>\n <slot name=\"media\" slot=\"media\"></slot>\n\n <div class=\"overlay\"></div>\n\n <div class=\"control-bar\">\n <!-- NOTE: We can decide if we further want to provide a further, \"themed\" media-play-button that comes with baked in default styles and icons. (CJP) -->\n <media-tooltip delay=\"500\" close-delay=\"0\">\n <media-tooltip-trigger>\n <media-play-button class=\"button\">\n <media-play-icon class=\"icon play-icon\"></media-play-icon>\n <media-pause-icon class=\"icon pause-icon\"></media-pause-icon>\n </media-play-button>\n </media-tooltip-trigger>\n <media-tooltip-portal>\n <media-tooltip-positioner side=\"top\" side-offset=\"6\" collision-padding=\"12\">\n <media-tooltip-popup class=\"popup-animation\">\n <span class=\"tooltip play-tooltip\">Play</span>\n <span class=\"tooltip pause-tooltip\">Pause</span>\n </media-tooltip-popup>\n </media-tooltip-positioner>\n </media-tooltip-portal>\n </media-tooltip>\n\n <div class=\"time-display-group\">\n <!-- Use the show-remaining attribute to show count down/remaining time -->\n <media-current-time-display></media-current-time-display>\n\n <span class=\"duration-display\">\n /\n <media-duration-display></media-duration-display>\n </span>\n </div>\n\n <media-tooltip track-cursor-axis=\"x\">\n <media-tooltip-trigger>\n <media-time-slider class=\"slider\">\n <media-time-slider-track class=\"slider-track\">\n <media-time-slider-progress class=\"slider-progress\"></media-time-slider-progress>\n <media-time-slider-pointer class=\"slider-pointer\"></media-time-slider-pointer>\n </media-time-slider-track>\n <media-time-slider-thumb class=\"slider-thumb\"></media-time-slider-thumb>\n </media-time-slider>\n </media-tooltip-trigger>\n <media-tooltip-portal>\n <media-tooltip-positioner side=\"top\" side-offset=\"12\" collision-padding=\"12\">\n <media-tooltip-popup class=\"popup-animation\">\n <media-preview-time-display></media-preview-time-display>\n </media-tooltip-popup>\n </media-tooltip-positioner>\n </media-tooltip-portal>\n </media-tooltip>\n\n <div class=\"button-group\">\n <media-mute-button popovertarget=\"volume-slider-popover\" class=\"button\">\n <media-volume-high-icon class=\"icon volume-high-icon\"></media-volume-high-icon>\n <media-volume-low-icon class=\"icon volume-low-icon\"></media-volume-low-icon>\n <media-volume-off-icon class=\"icon volume-off-icon\"></media-volume-off-icon>\n </media-mute-button>\n <media-popover \n id=\"volume-slider-popover\" \n class=\"popup-animation\"\n popover\n open-on-hover\n delay=\"200\"\n close-delay=\"100\"\n side=\"top\"\n side-offset=\"2\"\n collision-padding=\"12\"\n >\n <media-volume-slider class=\"slider\" orientation=\"vertical\">\n <media-volume-slider-track class=\"slider-track\">\n <media-volume-slider-indicator class=\"slider-progress\"></media-volume-slider-indicator>\n </media-volume-slider-track>\n <media-volume-slider-thumb class=\"slider-thumb\"></media-volume-slider-thumb>\n </media-volume-slider>\n </media-popover>\n\n <media-tooltip delay=\"500\" close-delay=\"0\">\n <media-tooltip-trigger>\n <media-fullscreen-button class=\"button\">\n <media-fullscreen-enter-alt-icon class=\"icon fullscreen-enter-icon\"></media-fullscreen-enter-alt-icon>\n <media-fullscreen-exit-alt-icon class=\"icon fullscreen-exit-icon\"></media-fullscreen-exit-alt-icon>\n </media-fullscreen-button>\n </media-tooltip-trigger>\n <media-tooltip-portal>\n <media-tooltip-positioner side=\"top\" side-offset=\"6\" collision-padding=\"12\">\n <media-tooltip-popup class=\"popup-animation\">\n <span class=\"tooltip fullscreen-enter-tooltip\">Enter Fullscreen</span>\n <span class=\"tooltip fullscreen-exit-tooltip\">Exit Fullscreen</span>\n </media-tooltip-popup>\n </media-tooltip-positioner>\n </media-tooltip-portal>\n </media-tooltip>\n </div>\n </div>\n </media-container>\n `;\n}\n\nexport class MediaSkinMinimalElement extends MediaSkinElement {\n static getTemplateHTML: () => string = getTemplateHTML;\n}\n\ndefineCustomElement('media-skin-minimal', MediaSkinMinimalElement);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAAA;;;;ACkBA,SAAgB,kBAAkB;AAChC,QAAiB;MACb,iBAAiB,iBAAiB,CAAC;aAC5BA,eAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsGpB,IAAa,0BAAb,cAA6C,iBAAiB;;yBACrB;;;AAGzC,oBAAoB,sBAAsB,wBAAwB"}