@oiz/stzh-components 4.0.0-beta3 → 4.0.1-beta

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 (461) hide show
  1. package/dist/cjs/{app-globals-17244c89.js → app-globals-f56c764f.js} +2 -2
  2. package/dist/cjs/{app-globals-17244c89.js.map → app-globals-f56c764f.js.map} +1 -1
  3. package/dist/cjs/loader.cjs.js +2 -2
  4. package/dist/cjs/stzh-audio.cjs.entry.js +1 -1
  5. package/dist/cjs/stzh-audio.cjs.entry.js.map +1 -1
  6. package/dist/cjs/stzh-breadcrumb_2.cjs.entry.js +1 -1
  7. package/dist/cjs/stzh-card-searchresult.cjs.entry.js +1 -1
  8. package/dist/cjs/stzh-card-searchresult.cjs.entry.js.map +1 -1
  9. package/dist/cjs/stzh-card.cjs.entry.js +11 -8
  10. package/dist/cjs/stzh-card.cjs.entry.js.map +1 -1
  11. package/dist/cjs/stzh-cardlist_3.cjs.entry.js +1 -1
  12. package/dist/cjs/stzh-components.cjs.js +2 -2
  13. package/dist/cjs/stzh-datalist_2.cjs.entry.js +3 -3
  14. package/dist/cjs/stzh-datalist_2.cjs.entry.js.map +1 -1
  15. package/dist/cjs/stzh-ghettobox_3.cjs.entry.js +3 -3
  16. package/dist/cjs/stzh-popover.cjs.entry.js +1 -1
  17. package/dist/cjs/stzh-popover.cjs.entry.js.map +1 -1
  18. package/dist/cjs/stzh-print_2.cjs.entry.js +1 -1
  19. package/dist/cjs/stzh-ratio.cjs.entry.js +1 -1
  20. package/dist/cjs/stzh-ratio.cjs.entry.js.map +1 -1
  21. package/dist/cjs/stzh-readspeaker.cjs.entry.js +3 -3
  22. package/dist/cjs/stzh-readspeaker.cjs.entry.js.map +1 -1
  23. package/dist/cjs/stzh-row.cjs.entry.js +2 -2
  24. package/dist/cjs/stzh-saptcha.cjs.entry.js +2 -2
  25. package/dist/cjs/stzh-scrollup.cjs.entry.js +1 -1
  26. package/dist/cjs/stzh-search.cjs.entry.js +2 -2
  27. package/dist/cjs/stzh-section.cjs.entry.js +2 -2
  28. package/dist/cjs/stzh-sitemap.cjs.entry.js +1 -1
  29. package/dist/cjs/stzh-skin-portal-mitwirken.cjs.entry.js +2 -2
  30. package/dist/cjs/stzh-skin-portal-mitwirken.cjs.entry.js.map +1 -1
  31. package/dist/cjs/stzh-skin-storybook-preview.cjs.entry.js +1 -1
  32. package/dist/cjs/stzh-skiplink.cjs.entry.js +1 -1
  33. package/dist/cjs/stzh-socialmediastream-item.cjs.entry.js +1 -1
  34. package/dist/cjs/stzh-socialmediastream.cjs.entry.js +1 -1
  35. package/dist/cjs/stzh-space.cjs.entry.js +2 -2
  36. package/dist/cjs/stzh-status.cjs.entry.js +4 -4
  37. package/dist/cjs/stzh-stepper-item.cjs.entry.js +4 -4
  38. package/dist/cjs/stzh-stepper.cjs.entry.js +2 -2
  39. package/dist/cjs/stzh-sticky-actions.cjs.entry.js +1 -1
  40. package/dist/cjs/stzh-sticky.cjs.entry.js +1 -1
  41. package/dist/cjs/stzh-table.cjs.entry.js +1 -1
  42. package/dist/cjs/stzh-text.cjs.entry.js +2 -2
  43. package/dist/cjs/stzh-textandimage.cjs.entry.js +1 -1
  44. package/dist/cjs/stzh-timeline-item.cjs.entry.js +3 -3
  45. package/dist/cjs/stzh-timeline.cjs.entry.js +1 -1
  46. package/dist/cjs/stzh-timepicker.cjs.entry.js +1 -1
  47. package/dist/cjs/stzh-toast_2.cjs.entry.js +4 -4
  48. package/dist/cjs/stzh-toggle.cjs.entry.js +4 -4
  49. package/dist/cjs/stzh-tooltip.cjs.entry.js +2 -2
  50. package/dist/cjs/stzh-tooltip.cjs.entry.js.map +1 -1
  51. package/dist/cjs/stzh-twocolumns.cjs.entry.js +1 -1
  52. package/dist/cjs/stzh-upload.cjs.entry.js +2 -2
  53. package/dist/cjs/stzh-vbz-carousel.cjs.entry.js +1 -1
  54. package/dist/cjs/stzh-vbz-connection-finder.cjs.entry.js +1 -1
  55. package/dist/cjs/stzh-vbz-intro.cjs.entry.js +1 -1
  56. package/dist/cjs/stzh-vbz-linechip.cjs.entry.js +2 -2
  57. package/dist/cjs/stzh-vbz-majorticker.cjs.entry.js +2 -2
  58. package/dist/cjs/stzh-vbz-ticker.cjs.entry.js +2 -2
  59. package/dist/cjs/stzh-visuallyhidden.cjs.entry.js +2 -2
  60. package/dist/cjs/stzh-vspace.cjs.entry.js +2 -2
  61. package/dist/cjs/stzh-youtube.cjs.entry.js +1 -1
  62. package/dist/collection/components/stzh-audio/stzh-audio.css +2 -2
  63. package/dist/collection/components/stzh-card/stzh-card.css +10 -1
  64. package/dist/collection/components/stzh-card/stzh-card.js +28 -7
  65. package/dist/collection/components/stzh-card/stzh-card.js.map +1 -1
  66. package/dist/collection/components/stzh-card-searchresult/stzh-card-searchresult.js +1 -1
  67. package/dist/collection/components/stzh-card-searchresult/stzh-card-searchresult.js.map +1 -1
  68. package/dist/collection/components/stzh-checkbox/stzh-checkbox.stories.js +102 -1
  69. package/dist/collection/components/stzh-checkboxgroup/stzh-checkboxgroup.stories.js +89 -1
  70. package/dist/collection/components/stzh-datalist-item/stzh-datalist-item.css +12 -10
  71. package/dist/collection/components/stzh-datalist-item/stzh-datalist-item.js +5 -5
  72. package/dist/collection/components/stzh-datalist-item/stzh-datalist-item.js.map +1 -1
  73. package/dist/collection/components/stzh-popover/stzh-popover.css +2 -2
  74. package/dist/collection/components/stzh-ratio/stzh-ratio.js +1 -1
  75. package/dist/collection/components/stzh-ratio/stzh-ratio.js.map +1 -1
  76. package/dist/collection/components/stzh-readspeaker/stzh-readspeaker.css +4 -4
  77. package/dist/collection/components/stzh-readspeaker/stzh-readspeaker.js +2 -2
  78. package/dist/collection/components/stzh-richtext/stzh-richtext.js +1 -1
  79. package/dist/collection/components/stzh-row/stzh-row.js +2 -2
  80. package/dist/collection/components/stzh-saptcha/stzh-saptcha.js +2 -2
  81. package/dist/collection/components/stzh-scrollup/stzh-scrollup.js +1 -1
  82. package/dist/collection/components/stzh-search/stzh-search.js +2 -2
  83. package/dist/collection/components/stzh-section/stzh-section.js +2 -2
  84. package/dist/collection/components/stzh-share/stzh-share.js +1 -1
  85. package/dist/collection/components/stzh-show/stzh-show.js +2 -2
  86. package/dist/collection/components/stzh-sitemap/stzh-sitemap.js +1 -1
  87. package/dist/collection/components/stzh-skin-portal-mitwirken/stzh-skin-portal-mitwirken.css +168 -4
  88. package/dist/collection/components/stzh-skin-portal-mitwirken/stzh-skin-portal-mitwirken.js +1 -1
  89. package/dist/collection/components/stzh-skin-storybook-preview/stzh-skin-storybook-preview.js +1 -1
  90. package/dist/collection/components/stzh-skiplink/stzh-skiplink.js +1 -1
  91. package/dist/collection/components/stzh-socialmediastream/stzh-socialmediastream.js +1 -1
  92. package/dist/collection/components/stzh-socialmediastream-item/stzh-socialmediastream-item.js +1 -1
  93. package/dist/collection/components/stzh-sortable/stzh-sortable.js +1 -1
  94. package/dist/collection/components/stzh-space/stzh-space.js +2 -2
  95. package/dist/collection/components/stzh-status/stzh-status.js +4 -4
  96. package/dist/collection/components/stzh-stepper/stzh-stepper.component.js +2 -2
  97. package/dist/collection/components/stzh-stepper-item/stzh-stepper-item.js +4 -4
  98. package/dist/collection/components/stzh-sticky/stzh-sticky.js +1 -1
  99. package/dist/collection/components/stzh-sticky-actions/stzh-sticky-actions.js +1 -1
  100. package/dist/collection/components/stzh-table/stzh-table.js +1 -1
  101. package/dist/collection/components/stzh-tag/stzh-tag.js +1 -1
  102. package/dist/collection/components/stzh-text/stzh-text.js +2 -2
  103. package/dist/collection/components/stzh-textandimage/stzh-textandimage.js +1 -1
  104. package/dist/collection/components/stzh-timeline/stzh-timeline.js +1 -1
  105. package/dist/collection/components/stzh-timeline-item/stzh-timeline-item.js +3 -3
  106. package/dist/collection/components/stzh-timepicker/stzh-timepicker.js +1 -1
  107. package/dist/collection/components/stzh-toast/stzh-toast.js +3 -3
  108. package/dist/collection/components/stzh-toastbar/stzh-toastbar.js +1 -1
  109. package/dist/collection/components/stzh-toggle/stzh-toggle.js +4 -4
  110. package/dist/collection/components/stzh-tooltip/stzh-tooltip.css +2 -2
  111. package/dist/collection/components/stzh-tooltip/stzh-tooltip.js +1 -1
  112. package/dist/collection/components/stzh-twocolumns/stzh-twocolumns.js +1 -1
  113. package/dist/collection/components/stzh-upload/stzh-upload.js +2 -2
  114. package/dist/collection/components/stzh-vbz-carousel/stzh-vbz-carousel.js +1 -1
  115. package/dist/collection/components/stzh-vbz-connection-finder/stzh-vbz-connection-finder.js +1 -1
  116. package/dist/collection/components/stzh-vbz-intro/stzh-vbz-intro.js +1 -1
  117. package/dist/collection/components/stzh-vbz-linechip/stzh-vbz-linechip.js +2 -2
  118. package/dist/collection/components/stzh-vbz-majorticker/stzh-vbz-majorticker.js +2 -2
  119. package/dist/collection/components/stzh-vbz-ticker/stzh-vbz-ticker.js +2 -2
  120. package/dist/collection/components/stzh-visuallyhidden/stzh-visuallyhidden.js +2 -2
  121. package/dist/collection/components/stzh-vspace/stzh-vspace.js +2 -2
  122. package/dist/collection/components/stzh-youtube/stzh-youtube.js +1 -1
  123. package/dist/components/index.js +1 -1
  124. package/dist/components/{p-84f171a0.js → p-02bdd12e.js} +2 -2
  125. package/dist/components/{p-84f171a0.js.map → p-02bdd12e.js.map} +1 -1
  126. package/dist/components/{p-324831e2.js → p-0dae7190.js} +3 -3
  127. package/dist/components/{p-324831e2.js.map → p-0dae7190.js.map} +1 -1
  128. package/dist/components/{p-631b7bfa.js → p-123ddd01.js} +5 -5
  129. package/dist/components/{p-631b7bfa.js.map → p-123ddd01.js.map} +1 -1
  130. package/dist/components/{p-18ad2006.js → p-1e02d63c.js} +17 -13
  131. package/dist/components/p-1e02d63c.js.map +1 -0
  132. package/dist/components/{p-ef28cd34.js → p-1fe5af54.js} +3 -3
  133. package/dist/components/{p-ef28cd34.js.map → p-1fe5af54.js.map} +1 -1
  134. package/dist/components/{p-0b0557e7.js → p-55042ae5.js} +4 -4
  135. package/dist/components/{p-0b0557e7.js.map → p-55042ae5.js.map} +1 -1
  136. package/dist/components/{p-48a20e2d.js → p-6c821944.js} +5 -5
  137. package/dist/components/{p-48a20e2d.js.map → p-6c821944.js.map} +1 -1
  138. package/dist/components/{p-3d24141a.js → p-7eced0db.js} +2 -2
  139. package/dist/components/{p-3d24141a.js.map → p-7eced0db.js.map} +1 -1
  140. package/dist/components/{p-e5a0d7ce.js → p-84f3d0c4.js} +6 -6
  141. package/dist/components/{p-e5a0d7ce.js.map → p-84f3d0c4.js.map} +1 -1
  142. package/dist/components/{p-875cd549.js → p-86473146.js} +2 -2
  143. package/dist/components/{p-875cd549.js.map → p-86473146.js.map} +1 -1
  144. package/dist/components/{p-8123a294.js → p-87537095.js} +2 -2
  145. package/dist/components/{p-8123a294.js.map → p-87537095.js.map} +1 -1
  146. package/dist/components/{p-1ee94681.js → p-877e658f.js} +3 -3
  147. package/dist/components/{p-1ee94681.js.map → p-877e658f.js.map} +1 -1
  148. package/dist/components/{p-0c5f315f.js → p-8c4ca44f.js} +3 -3
  149. package/dist/components/{p-0c5f315f.js.map → p-8c4ca44f.js.map} +1 -1
  150. package/dist/components/{p-70aa77ed.js → p-978466ee.js} +4 -4
  151. package/dist/components/{p-70aa77ed.js.map → p-978466ee.js.map} +1 -1
  152. package/dist/components/{p-043132df.js → p-9c27b812.js} +2 -2
  153. package/dist/components/{p-043132df.js.map → p-9c27b812.js.map} +1 -1
  154. package/dist/components/{p-6a5f4569.js → p-9fd614bc.js} +3 -3
  155. package/dist/components/{p-6a5f4569.js.map → p-9fd614bc.js.map} +1 -1
  156. package/dist/components/{p-da29e441.js → p-a518f263.js} +4 -4
  157. package/dist/components/{p-da29e441.js.map → p-a518f263.js.map} +1 -1
  158. package/dist/components/{p-d8b73add.js → p-a74ffd15.js} +4 -4
  159. package/dist/components/{p-d8b73add.js.map → p-a74ffd15.js.map} +1 -1
  160. package/dist/components/{p-1036baa8.js → p-a93fe963.js} +2 -2
  161. package/dist/components/{p-1036baa8.js.map → p-a93fe963.js.map} +1 -1
  162. package/dist/components/{p-b5d9d5a1.js → p-adf66b29.js} +4 -4
  163. package/dist/components/{p-b5d9d5a1.js.map → p-adf66b29.js.map} +1 -1
  164. package/dist/components/{p-adc06dc4.js → p-ae7adee7.js} +3 -3
  165. package/dist/components/{p-adc06dc4.js.map → p-ae7adee7.js.map} +1 -1
  166. package/dist/components/{p-a367fa4a.js → p-b4ffee20.js} +2 -2
  167. package/dist/components/p-b4ffee20.js.map +1 -0
  168. package/dist/components/{p-8bab76e0.js → p-bed8abab.js} +5 -5
  169. package/dist/components/{p-8bab76e0.js.map → p-bed8abab.js.map} +1 -1
  170. package/dist/components/{p-6be31cce.js → p-c056c339.js} +3 -3
  171. package/dist/components/{p-6be31cce.js.map → p-c056c339.js.map} +1 -1
  172. package/dist/components/{p-c06d0057.js → p-d19eef5f.js} +4 -4
  173. package/dist/components/{p-c06d0057.js.map → p-d19eef5f.js.map} +1 -1
  174. package/dist/components/{p-ded0ad1c.js → p-d40751ba.js} +4 -4
  175. package/dist/components/{p-ded0ad1c.js.map → p-d40751ba.js.map} +1 -1
  176. package/dist/components/{p-3e69bb48.js → p-e48a4be2.js} +3 -3
  177. package/dist/components/{p-3e69bb48.js.map → p-e48a4be2.js.map} +1 -1
  178. package/dist/components/{p-d9bd5b30.js → p-f0db184a.js} +3 -3
  179. package/dist/components/{p-d9bd5b30.js.map → p-f0db184a.js.map} +1 -1
  180. package/dist/components/{p-5748d860.js → p-f254ab81.js} +8 -8
  181. package/dist/components/p-f254ab81.js.map +1 -0
  182. package/dist/components/{p-7d72e50c.js → p-fd0fbd98.js} +2 -2
  183. package/dist/components/{p-7d72e50c.js.map → p-fd0fbd98.js.map} +1 -1
  184. package/dist/components/{p-af0ed46a.js → p-fe546990.js} +3 -3
  185. package/dist/components/{p-af0ed46a.js.map → p-fe546990.js.map} +1 -1
  186. package/dist/components/{p-3d684a4f.js → p-fef8bda1.js} +2 -2
  187. package/dist/components/{p-3d684a4f.js.map → p-fef8bda1.js.map} +1 -1
  188. package/dist/components/stzh-actionset.js +1 -1
  189. package/dist/components/stzh-amount.js +4 -4
  190. package/dist/components/stzh-appointments.js +8 -8
  191. package/dist/components/stzh-audio.js +3 -3
  192. package/dist/components/stzh-audio.js.map +1 -1
  193. package/dist/components/stzh-calendar.js +1 -1
  194. package/dist/components/stzh-card-searchresult.js +8 -8
  195. package/dist/components/stzh-card-searchresult.js.map +1 -1
  196. package/dist/components/stzh-card-superteaser.js +7 -7
  197. package/dist/components/stzh-card.js +1 -1
  198. package/dist/components/stzh-cardlist.js +1 -1
  199. package/dist/components/stzh-checkbox.js +1 -1
  200. package/dist/components/stzh-checkboxgroup.js +2 -2
  201. package/dist/components/stzh-chipselect.js +1 -1
  202. package/dist/components/stzh-contact-cv.js +1 -1
  203. package/dist/components/stzh-cta.js +1 -1
  204. package/dist/components/stzh-datalist-item.js +1 -1
  205. package/dist/components/stzh-datalist.js +1 -1
  206. package/dist/components/stzh-datamessagelist-item.js +2 -2
  207. package/dist/components/stzh-datatable.js +9 -9
  208. package/dist/components/stzh-datepicker.js +1 -1
  209. package/dist/components/stzh-dropdown.js +1 -1
  210. package/dist/components/stzh-feedreader.js +1 -1
  211. package/dist/components/stzh-gallery.js +1 -1
  212. package/dist/components/stzh-geo-ref-data.js +9 -9
  213. package/dist/components/stzh-header.js +1 -1
  214. package/dist/components/stzh-homepage-service-highlights.js +1 -1
  215. package/dist/components/stzh-http-error.js +1 -1
  216. package/dist/components/stzh-input.js +1 -1
  217. package/dist/components/stzh-microsite-teaserlist.js +9 -9
  218. package/dist/components/stzh-monthyearpicker.js +3 -3
  219. package/dist/components/stzh-offline-indicator.js +2 -2
  220. package/dist/components/stzh-pagebottom.js +3 -3
  221. package/dist/components/stzh-pagetitle-home.js +1 -1
  222. package/dist/components/stzh-pagetitle.js +1 -1
  223. package/dist/components/stzh-pagination.js +1 -1
  224. package/dist/components/stzh-panorama.js +5 -5
  225. package/dist/components/stzh-pi-content-navigation.js +1 -1
  226. package/dist/components/stzh-pi-pagetitle.js +1 -1
  227. package/dist/components/stzh-pi-teaser.js +1 -1
  228. package/dist/components/stzh-poicard.js +1 -1
  229. package/dist/components/stzh-poilist.js +6 -6
  230. package/dist/components/stzh-popover.js +1 -1
  231. package/dist/components/stzh-radio.js +1 -1
  232. package/dist/components/stzh-radiogroup.js +1 -1
  233. package/dist/components/stzh-ratio.js +1 -1
  234. package/dist/components/stzh-readspeaker.js +3 -3
  235. package/dist/components/stzh-readspeaker.js.map +1 -1
  236. package/dist/components/stzh-richtext.js +1 -1
  237. package/dist/components/stzh-row.js +2 -2
  238. package/dist/components/stzh-saptcha.js +5 -5
  239. package/dist/components/stzh-scrollup.js +1 -1
  240. package/dist/components/stzh-search.js +6 -6
  241. package/dist/components/stzh-section.js +2 -2
  242. package/dist/components/stzh-share.js +1 -1
  243. package/dist/components/stzh-show.js +1 -1
  244. package/dist/components/stzh-sitemap.js +6 -6
  245. package/dist/components/stzh-skin-portal-mitwirken.js +2 -2
  246. package/dist/components/stzh-skin-portal-mitwirken.js.map +1 -1
  247. package/dist/components/stzh-skin-storybook-preview.js +1 -1
  248. package/dist/components/stzh-skiplink.js +1 -1
  249. package/dist/components/stzh-socialmediastream-item.js +1 -1
  250. package/dist/components/stzh-socialmediastream.js +4 -4
  251. package/dist/components/stzh-sortable.js +1 -1
  252. package/dist/components/stzh-space.js +2 -2
  253. package/dist/components/stzh-status.js +1 -1
  254. package/dist/components/stzh-stepper-item.js +1 -1
  255. package/dist/components/stzh-stepper.js +3 -3
  256. package/dist/components/stzh-sticky-actions.js +2 -2
  257. package/dist/components/stzh-sticky.js +1 -1
  258. package/dist/components/stzh-table.js +1 -1
  259. package/dist/components/stzh-tag.js +1 -1
  260. package/dist/components/stzh-text.js +1 -1
  261. package/dist/components/stzh-textandimage.js +1 -1
  262. package/dist/components/stzh-timeline-item.js +3 -3
  263. package/dist/components/stzh-timeline.js +1 -1
  264. package/dist/components/stzh-timepicker.js +4 -4
  265. package/dist/components/stzh-toast.js +1 -1
  266. package/dist/components/stzh-toastbar.js +1 -1
  267. package/dist/components/stzh-toggle.js +6 -6
  268. package/dist/components/stzh-tooltip.js +1 -1
  269. package/dist/components/stzh-twocolumns.js +1 -1
  270. package/dist/components/stzh-upload.js +6 -6
  271. package/dist/components/stzh-vbz-carousel.js +1 -1
  272. package/dist/components/stzh-vbz-connection-finder.js +1 -1
  273. package/dist/components/stzh-vbz-intro.js +1 -1
  274. package/dist/components/stzh-vbz-linechip.js +1 -1
  275. package/dist/components/stzh-vbz-majorticker.js +4 -4
  276. package/dist/components/stzh-vbz-ticker.js +5 -5
  277. package/dist/components/stzh-visuallyhidden.js +2 -2
  278. package/dist/components/stzh-vspace.js +2 -2
  279. package/dist/components/stzh-youtube.js +2 -2
  280. package/dist/esm/{app-globals-4169aa9e.js → app-globals-24afa4b5.js} +2 -2
  281. package/dist/esm/{app-globals-4169aa9e.js.map → app-globals-24afa4b5.js.map} +1 -1
  282. package/dist/esm/loader.js +2 -2
  283. package/dist/esm/stzh-audio.entry.js +1 -1
  284. package/dist/esm/stzh-audio.entry.js.map +1 -1
  285. package/dist/esm/stzh-breadcrumb_2.entry.js +1 -1
  286. package/dist/esm/stzh-card-searchresult.entry.js +1 -1
  287. package/dist/esm/stzh-card-searchresult.entry.js.map +1 -1
  288. package/dist/esm/stzh-card.entry.js +11 -8
  289. package/dist/esm/stzh-card.entry.js.map +1 -1
  290. package/dist/esm/stzh-cardlist_3.entry.js +1 -1
  291. package/dist/esm/stzh-components.js +2 -2
  292. package/dist/esm/stzh-datalist_2.entry.js +3 -3
  293. package/dist/esm/stzh-datalist_2.entry.js.map +1 -1
  294. package/dist/esm/stzh-ghettobox_3.entry.js +3 -3
  295. package/dist/esm/stzh-popover.entry.js +1 -1
  296. package/dist/esm/stzh-popover.entry.js.map +1 -1
  297. package/dist/esm/stzh-print_2.entry.js +1 -1
  298. package/dist/esm/stzh-ratio.entry.js +1 -1
  299. package/dist/esm/stzh-ratio.entry.js.map +1 -1
  300. package/dist/esm/stzh-readspeaker.entry.js +3 -3
  301. package/dist/esm/stzh-readspeaker.entry.js.map +1 -1
  302. package/dist/esm/stzh-row.entry.js +2 -2
  303. package/dist/esm/stzh-saptcha.entry.js +2 -2
  304. package/dist/esm/stzh-scrollup.entry.js +1 -1
  305. package/dist/esm/stzh-search.entry.js +2 -2
  306. package/dist/esm/stzh-section.entry.js +2 -2
  307. package/dist/esm/stzh-sitemap.entry.js +1 -1
  308. package/dist/esm/stzh-skin-portal-mitwirken.entry.js +2 -2
  309. package/dist/esm/stzh-skin-portal-mitwirken.entry.js.map +1 -1
  310. package/dist/esm/stzh-skin-storybook-preview.entry.js +1 -1
  311. package/dist/esm/stzh-skiplink.entry.js +1 -1
  312. package/dist/esm/stzh-socialmediastream-item.entry.js +1 -1
  313. package/dist/esm/stzh-socialmediastream.entry.js +1 -1
  314. package/dist/esm/stzh-space.entry.js +2 -2
  315. package/dist/esm/stzh-status.entry.js +4 -4
  316. package/dist/esm/stzh-stepper-item.entry.js +4 -4
  317. package/dist/esm/stzh-stepper.entry.js +2 -2
  318. package/dist/esm/stzh-sticky-actions.entry.js +1 -1
  319. package/dist/esm/stzh-sticky.entry.js +1 -1
  320. package/dist/esm/stzh-table.entry.js +1 -1
  321. package/dist/esm/stzh-text.entry.js +2 -2
  322. package/dist/esm/stzh-textandimage.entry.js +1 -1
  323. package/dist/esm/stzh-timeline-item.entry.js +3 -3
  324. package/dist/esm/stzh-timeline.entry.js +1 -1
  325. package/dist/esm/stzh-timepicker.entry.js +1 -1
  326. package/dist/esm/stzh-toast_2.entry.js +4 -4
  327. package/dist/esm/stzh-toggle.entry.js +4 -4
  328. package/dist/esm/stzh-tooltip.entry.js +2 -2
  329. package/dist/esm/stzh-tooltip.entry.js.map +1 -1
  330. package/dist/esm/stzh-twocolumns.entry.js +1 -1
  331. package/dist/esm/stzh-upload.entry.js +2 -2
  332. package/dist/esm/stzh-vbz-carousel.entry.js +1 -1
  333. package/dist/esm/stzh-vbz-connection-finder.entry.js +1 -1
  334. package/dist/esm/stzh-vbz-intro.entry.js +1 -1
  335. package/dist/esm/stzh-vbz-linechip.entry.js +2 -2
  336. package/dist/esm/stzh-vbz-majorticker.entry.js +2 -2
  337. package/dist/esm/stzh-vbz-ticker.entry.js +2 -2
  338. package/dist/esm/stzh-visuallyhidden.entry.js +2 -2
  339. package/dist/esm/stzh-vspace.entry.js +2 -2
  340. package/dist/esm/stzh-youtube.entry.js +1 -1
  341. package/dist/stzh-components/{p-96fe4abd.entry.js → p-043ad510.entry.js} +2 -2
  342. package/dist/stzh-components/{p-bb73cb7c.entry.js → p-0a9f2a26.entry.js} +2 -2
  343. package/dist/stzh-components/{p-fc5fd4e3.entry.js → p-0c454ed4.entry.js} +2 -2
  344. package/dist/stzh-components/{p-5b908c23.entry.js → p-0c7abc07.entry.js} +2 -2
  345. package/dist/stzh-components/{p-7026a4fd.entry.js → p-12ea12f4.entry.js} +2 -2
  346. package/dist/stzh-components/p-17d26a11.entry.js +2 -0
  347. package/dist/stzh-components/{p-404ba037.entry.js.map → p-17d26a11.entry.js.map} +1 -1
  348. package/dist/stzh-components/{p-adb98a13.entry.js → p-24c37b16.entry.js} +2 -2
  349. package/dist/stzh-components/{p-c2837379.entry.js → p-263f1fc6.entry.js} +2 -2
  350. package/dist/stzh-components/p-29ff3759.entry.js +2 -0
  351. package/dist/stzh-components/{p-6b57e800.entry.js.map → p-29ff3759.entry.js.map} +1 -1
  352. package/dist/stzh-components/{p-0971c453.entry.js → p-2b22da62.entry.js} +2 -2
  353. package/dist/stzh-components/{p-e5935628.entry.js → p-3edb8127.entry.js} +2 -2
  354. package/dist/stzh-components/p-43390ffd.entry.js +2 -0
  355. package/dist/stzh-components/p-43390ffd.entry.js.map +1 -0
  356. package/dist/stzh-components/{p-cb78d001.entry.js → p-44860eb8.entry.js} +2 -2
  357. package/dist/stzh-components/{p-c63ce489.entry.js → p-4a0e5c91.entry.js} +2 -2
  358. package/dist/stzh-components/{p-e4083254.entry.js → p-52b21470.entry.js} +2 -2
  359. package/dist/stzh-components/{p-4423fbf1.entry.js → p-5ea61577.entry.js} +2 -2
  360. package/dist/stzh-components/p-5ea61577.entry.js.map +1 -0
  361. package/dist/stzh-components/{p-dce69ebb.entry.js → p-628b2a1b.entry.js} +2 -2
  362. package/dist/stzh-components/{p-28f4fd43.entry.js → p-6f71f9a1.entry.js} +2 -2
  363. package/dist/stzh-components/p-705fb85c.entry.js +2 -0
  364. package/dist/stzh-components/{p-e0743aaf.entry.js.map → p-705fb85c.entry.js.map} +1 -1
  365. package/dist/stzh-components/{p-da065baa.entry.js → p-7467c517.entry.js} +2 -2
  366. package/dist/stzh-components/{p-46d8ebf9.entry.js → p-77c64b4b.entry.js} +2 -2
  367. package/dist/stzh-components/{p-46d8ebf9.entry.js.map → p-77c64b4b.entry.js.map} +1 -1
  368. package/dist/stzh-components/{p-a128eb07.entry.js → p-79a63bd9.entry.js} +2 -2
  369. package/dist/stzh-components/p-836ee7e5.entry.js +2 -0
  370. package/dist/stzh-components/p-836ee7e5.entry.js.map +1 -0
  371. package/dist/stzh-components/{p-1a3a2442.entry.js → p-84ae023f.entry.js} +2 -2
  372. package/dist/stzh-components/{p-3c60c70f.entry.js → p-976d5ab9.entry.js} +2 -2
  373. package/dist/stzh-components/{p-04669d52.entry.js → p-99d39d04.entry.js} +2 -2
  374. package/dist/stzh-components/{p-2b75dc62.entry.js → p-a08056c1.entry.js} +2 -2
  375. package/dist/stzh-components/{p-c6552960.entry.js → p-ab439c71.entry.js} +2 -2
  376. package/dist/stzh-components/{p-c6552960.entry.js.map → p-ab439c71.entry.js.map} +1 -1
  377. package/dist/stzh-components/{p-71886cdf.entry.js → p-ac4b1753.entry.js} +2 -2
  378. package/dist/stzh-components/{p-444ba687.entry.js → p-b0d12ac9.entry.js} +2 -2
  379. package/dist/stzh-components/p-b159d0bc.entry.js +2 -0
  380. package/dist/stzh-components/{p-624be23e.entry.js.map → p-b159d0bc.entry.js.map} +1 -1
  381. package/dist/stzh-components/{p-fb73afa9.entry.js → p-b6b39492.entry.js} +2 -2
  382. package/dist/stzh-components/{p-97e2a5ae.entry.js → p-c26e45c7.entry.js} +2 -2
  383. package/dist/stzh-components/{p-68dccf19.entry.js → p-c34c7f87.entry.js} +2 -2
  384. package/dist/stzh-components/{p-5ca3df89.entry.js → p-cd9be844.entry.js} +2 -2
  385. package/dist/stzh-components/p-cfff191d.js +2 -0
  386. package/dist/stzh-components/{p-1c01ddd2.js.map → p-cfff191d.js.map} +1 -1
  387. package/dist/stzh-components/{p-592452c5.entry.js → p-d12700c1.entry.js} +2 -2
  388. package/dist/stzh-components/{p-6802415a.entry.js → p-d17b4c21.entry.js} +2 -2
  389. package/dist/stzh-components/{p-8060775b.entry.js → p-d83dbb08.entry.js} +2 -2
  390. package/dist/stzh-components/p-d83dbb08.entry.js.map +1 -0
  391. package/dist/stzh-components/{p-549b5a54.entry.js → p-d98330d6.entry.js} +2 -2
  392. package/dist/stzh-components/p-dcf670a7.entry.js +2 -0
  393. package/dist/stzh-components/{p-8d664896.entry.js.map → p-dcf670a7.entry.js.map} +1 -1
  394. package/dist/stzh-components/{p-9c76b2dd.entry.js → p-dde1ffb8.entry.js} +2 -2
  395. package/dist/stzh-components/{p-420e839d.entry.js → p-e19dd2da.entry.js} +2 -2
  396. package/dist/stzh-components/{p-97fa8644.entry.js → p-e452b478.entry.js} +2 -2
  397. package/dist/stzh-components/{p-9130582f.entry.js → p-e496eb1a.entry.js} +2 -2
  398. package/dist/stzh-components/{p-6872230d.entry.js → p-e8a87eaf.entry.js} +2 -2
  399. package/dist/stzh-components/{p-ecb3ab05.entry.js → p-ec7f8a5a.entry.js} +2 -2
  400. package/dist/stzh-components/{p-824068d6.entry.js → p-f957fa77.entry.js} +2 -2
  401. package/dist/stzh-components/{p-7d590d24.entry.js → p-f9e3c785.entry.js} +2 -2
  402. package/dist/stzh-components/stzh-components.css +168 -4
  403. package/dist/stzh-components/stzh-components.esm.js +1 -1
  404. package/dist/stzh-components/stzh-components.esm.js.map +1 -1
  405. package/dist/types/components/stzh-card/stzh-card.d.ts +2 -0
  406. package/dist/types/components/stzh-datalist-item/stzh-datalist-item.d.ts +2 -2
  407. package/dist/types/components.d.ts +16 -8
  408. package/dist/vscode-data.json +16 -4
  409. package/package.json +1 -1
  410. package/dist/components/p-18ad2006.js.map +0 -1
  411. package/dist/components/p-5748d860.js.map +0 -1
  412. package/dist/components/p-a367fa4a.js.map +0 -1
  413. package/dist/stzh-components/p-1c01ddd2.js +0 -2
  414. package/dist/stzh-components/p-404ba037.entry.js +0 -2
  415. package/dist/stzh-components/p-4423fbf1.entry.js.map +0 -1
  416. package/dist/stzh-components/p-6042015f.entry.js +0 -2
  417. package/dist/stzh-components/p-6042015f.entry.js.map +0 -1
  418. package/dist/stzh-components/p-624be23e.entry.js +0 -2
  419. package/dist/stzh-components/p-6b57e800.entry.js +0 -2
  420. package/dist/stzh-components/p-8060775b.entry.js.map +0 -1
  421. package/dist/stzh-components/p-8d664896.entry.js +0 -2
  422. package/dist/stzh-components/p-b35032a8.entry.js +0 -2
  423. package/dist/stzh-components/p-b35032a8.entry.js.map +0 -1
  424. package/dist/stzh-components/p-e0743aaf.entry.js +0 -2
  425. /package/dist/stzh-components/{p-96fe4abd.entry.js.map → p-043ad510.entry.js.map} +0 -0
  426. /package/dist/stzh-components/{p-bb73cb7c.entry.js.map → p-0a9f2a26.entry.js.map} +0 -0
  427. /package/dist/stzh-components/{p-fc5fd4e3.entry.js.map → p-0c454ed4.entry.js.map} +0 -0
  428. /package/dist/stzh-components/{p-5b908c23.entry.js.map → p-0c7abc07.entry.js.map} +0 -0
  429. /package/dist/stzh-components/{p-7026a4fd.entry.js.map → p-12ea12f4.entry.js.map} +0 -0
  430. /package/dist/stzh-components/{p-adb98a13.entry.js.map → p-24c37b16.entry.js.map} +0 -0
  431. /package/dist/stzh-components/{p-c2837379.entry.js.map → p-263f1fc6.entry.js.map} +0 -0
  432. /package/dist/stzh-components/{p-0971c453.entry.js.map → p-2b22da62.entry.js.map} +0 -0
  433. /package/dist/stzh-components/{p-e5935628.entry.js.map → p-3edb8127.entry.js.map} +0 -0
  434. /package/dist/stzh-components/{p-cb78d001.entry.js.map → p-44860eb8.entry.js.map} +0 -0
  435. /package/dist/stzh-components/{p-c63ce489.entry.js.map → p-4a0e5c91.entry.js.map} +0 -0
  436. /package/dist/stzh-components/{p-e4083254.entry.js.map → p-52b21470.entry.js.map} +0 -0
  437. /package/dist/stzh-components/{p-dce69ebb.entry.js.map → p-628b2a1b.entry.js.map} +0 -0
  438. /package/dist/stzh-components/{p-28f4fd43.entry.js.map → p-6f71f9a1.entry.js.map} +0 -0
  439. /package/dist/stzh-components/{p-da065baa.entry.js.map → p-7467c517.entry.js.map} +0 -0
  440. /package/dist/stzh-components/{p-a128eb07.entry.js.map → p-79a63bd9.entry.js.map} +0 -0
  441. /package/dist/stzh-components/{p-1a3a2442.entry.js.map → p-84ae023f.entry.js.map} +0 -0
  442. /package/dist/stzh-components/{p-3c60c70f.entry.js.map → p-976d5ab9.entry.js.map} +0 -0
  443. /package/dist/stzh-components/{p-04669d52.entry.js.map → p-99d39d04.entry.js.map} +0 -0
  444. /package/dist/stzh-components/{p-2b75dc62.entry.js.map → p-a08056c1.entry.js.map} +0 -0
  445. /package/dist/stzh-components/{p-71886cdf.entry.js.map → p-ac4b1753.entry.js.map} +0 -0
  446. /package/dist/stzh-components/{p-444ba687.entry.js.map → p-b0d12ac9.entry.js.map} +0 -0
  447. /package/dist/stzh-components/{p-fb73afa9.entry.js.map → p-b6b39492.entry.js.map} +0 -0
  448. /package/dist/stzh-components/{p-97e2a5ae.entry.js.map → p-c26e45c7.entry.js.map} +0 -0
  449. /package/dist/stzh-components/{p-68dccf19.entry.js.map → p-c34c7f87.entry.js.map} +0 -0
  450. /package/dist/stzh-components/{p-5ca3df89.entry.js.map → p-cd9be844.entry.js.map} +0 -0
  451. /package/dist/stzh-components/{p-592452c5.entry.js.map → p-d12700c1.entry.js.map} +0 -0
  452. /package/dist/stzh-components/{p-6802415a.entry.js.map → p-d17b4c21.entry.js.map} +0 -0
  453. /package/dist/stzh-components/{p-549b5a54.entry.js.map → p-d98330d6.entry.js.map} +0 -0
  454. /package/dist/stzh-components/{p-9c76b2dd.entry.js.map → p-dde1ffb8.entry.js.map} +0 -0
  455. /package/dist/stzh-components/{p-420e839d.entry.js.map → p-e19dd2da.entry.js.map} +0 -0
  456. /package/dist/stzh-components/{p-97fa8644.entry.js.map → p-e452b478.entry.js.map} +0 -0
  457. /package/dist/stzh-components/{p-9130582f.entry.js.map → p-e496eb1a.entry.js.map} +0 -0
  458. /package/dist/stzh-components/{p-6872230d.entry.js.map → p-e8a87eaf.entry.js.map} +0 -0
  459. /package/dist/stzh-components/{p-ecb3ab05.entry.js.map → p-ec7f8a5a.entry.js.map} +0 -0
  460. /package/dist/stzh-components/{p-824068d6.entry.js.map → p-f957fa77.entry.js.map} +0 -0
  461. /package/dist/stzh-components/{p-7d590d24.entry.js.map → p-f9e3c785.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"file":"stzh-audio.entry.js","mappings":"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","names":["t","i","s","e","o","n","l","h","r","u","d","c","a","S","LitElement","html","property","state","DisposalBin2","vdsEvent2","throttle","debounce","listen2","DisposalBin3","isString2","isNumber2","css","setAttribute2","get"],"sources":["node_modules/lit-html/lit-html.js","node_modules/just-debounce-it/index.mjs","node_modules/just-throttle/index.mjs","node_modules/@vidstack/foundation/dist/prod/index.js","node_modules/@vidstack/player/dist/prod/chunks/chunk.APMKZUJJ.js","node_modules/@vidstack/player/dist/prod/chunks/chunk.O2H47C42.js","node_modules/@vidstack/player/dist/prod/chunks/chunk.LNH2V2XS.js","node_modules/@lit/reactive-element/css-tag.js","node_modules/@lit/reactive-element/reactive-element.js","node_modules/lit-element/lit-element.js","node_modules/@lit/reactive-element/decorators/property.js","node_modules/@lit/reactive-element/decorators/state.js","node_modules/@vidstack/player/dist/prod/chunks/chunk.63VUN3OP.js","node_modules/@vidstack/player/dist/prod/chunks/chunk.YGYRCKY2.js","node_modules/@vidstack/player/dist/prod/chunks/chunk.3RP67ZHA.js","node_modules/@vidstack/player/dist/prod/chunks/chunk.M7J7NUUF.js","node_modules/@vidstack/player/dist/prod/chunks/chunk.MWM7HRI6.js","node_modules/@vidstack/player/dist/prod/chunks/chunk.6QN55WFS.js","node_modules/@vidstack/player/dist/prod/chunks/chunk.KIF3XDBQ.js","node_modules/@vidstack/player/dist/prod/chunks/chunk.JDCQU7GF.js","node_modules/@vidstack/player/dist/prod/chunks/chunk.5LQ54Q2B.js","node_modules/@vidstack/player/dist/prod/chunks/chunk.66B2ZPSA.js","node_modules/@vidstack/player/dist/prod/chunks/chunk.OS5G3YJW.js","node_modules/@vidstack/player/dist/prod/chunks/chunk.AIREQQLN.js","node_modules/@vidstack/player/dist/prod/chunks/chunk.CQHSYXO3.js","node_modules/@vidstack/player/dist/prod/chunks/chunk.33ZMGU5I.js","node_modules/@vidstack/player/dist/prod/chunks/chunk.JA2WRFAV.js","node_modules/@vidstack/player/dist/prod/chunks/chunk.T4J4ZIUS.js","node_modules/@vidstack/player/dist/prod/chunks/chunk.63ZIHMNQ.js","node_modules/@vidstack/player/dist/prod/chunks/chunk.2U56ALO2.js","node_modules/@vidstack/player/dist/prod/chunks/chunk.7KY74HUU.js","node_modules/@vidstack/player/dist/prod/chunks/chunk.WSW2QITQ.js","node_modules/@vidstack/player/dist/prod/chunks/chunk.K4RXYACL.js","node_modules/@vidstack/player/dist/prod/chunks/chunk.OEXORVMF.js","src/components/stzh-audio/stzh-audio.scss?tag=stzh-audio&encapsulation=scoped","src/components/stzh-audio/stzh-audio.tsx"],"sourcesContent":["/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nvar t;const i=window,s=i.trustedTypes,e=s?s.createPolicy(\"lit-html\",{createHTML:t=>t}):void 0,o=\"$lit$\",n=`lit$${(Math.random()+\"\").slice(9)}$`,l=\"?\"+n,h=`<${l}>`,r=document,u=()=>r.createComment(\"\"),d=t=>null===t||\"object\"!=typeof t&&\"function\"!=typeof t,c=Array.isArray,v=t=>c(t)||\"function\"==typeof(null==t?void 0:t[Symbol.iterator]),a=\"[ \\t\\n\\f\\r]\",f=/<(?:(!--|\\/[^a-zA-Z])|(\\/?[a-zA-Z][^>\\s]*)|(\\/?$))/g,_=/-->/g,m=/>/g,p=RegExp(`>|${a}(?:([^\\\\s\"'>=/]+)(${a}*=${a}*(?:[^ \\t\\n\\f\\r\"'\\`<>=]|(\"|')|))|$)`,\"g\"),g=/'/g,$=/\"/g,y=/^(?:script|style|textarea|title)$/i,w=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),x=w(1),b=w(2),T=Symbol.for(\"lit-noChange\"),A=Symbol.for(\"lit-nothing\"),E=new WeakMap,C=r.createTreeWalker(r,129,null,!1);function P(t,i){if(!Array.isArray(t)||!t.hasOwnProperty(\"raw\"))throw Error(\"invalid template strings array\");return void 0!==e?e.createHTML(i):i}const V=(t,i)=>{const s=t.length-1,e=[];let l,r=2===i?\"<svg>\":\"\",u=f;for(let i=0;i<s;i++){const s=t[i];let d,c,v=-1,a=0;for(;a<s.length&&(u.lastIndex=a,c=u.exec(s),null!==c);)a=u.lastIndex,u===f?\"!--\"===c[1]?u=_:void 0!==c[1]?u=m:void 0!==c[2]?(y.test(c[2])&&(l=RegExp(\"</\"+c[2],\"g\")),u=p):void 0!==c[3]&&(u=p):u===p?\">\"===c[0]?(u=null!=l?l:f,v=-1):void 0===c[1]?v=-2:(v=u.lastIndex-c[2].length,d=c[1],u=void 0===c[3]?p:'\"'===c[3]?$:g):u===$||u===g?u=p:u===_||u===m?u=f:(u=p,l=void 0);const w=u===p&&t[i+1].startsWith(\"/>\")?\" \":\"\";r+=u===f?s+h:v>=0?(e.push(d),s.slice(0,v)+o+s.slice(v)+n+w):s+n+(-2===v?(e.push(void 0),i):w)}return[P(t,r+(t[s]||\"<?>\")+(2===i?\"</svg>\":\"\")),e]};class N{constructor({strings:t,_$litType$:i},e){let h;this.parts=[];let r=0,d=0;const c=t.length-1,v=this.parts,[a,f]=V(t,i);if(this.el=N.createElement(a,e),C.currentNode=this.el.content,2===i){const t=this.el.content,i=t.firstChild;i.remove(),t.append(...i.childNodes)}for(;null!==(h=C.nextNode())&&v.length<c;){if(1===h.nodeType){if(h.hasAttributes()){const t=[];for(const i of h.getAttributeNames())if(i.endsWith(o)||i.startsWith(n)){const s=f[d++];if(t.push(i),void 0!==s){const t=h.getAttribute(s.toLowerCase()+o).split(n),i=/([.?@])?(.*)/.exec(s);v.push({type:1,index:r,name:i[2],strings:t,ctor:\".\"===i[1]?H:\"?\"===i[1]?L:\"@\"===i[1]?z:k})}else v.push({type:6,index:r})}for(const i of t)h.removeAttribute(i)}if(y.test(h.tagName)){const t=h.textContent.split(n),i=t.length-1;if(i>0){h.textContent=s?s.emptyScript:\"\";for(let s=0;s<i;s++)h.append(t[s],u()),C.nextNode(),v.push({type:2,index:++r});h.append(t[i],u())}}}else if(8===h.nodeType)if(h.data===l)v.push({type:2,index:r});else{let t=-1;for(;-1!==(t=h.data.indexOf(n,t+1));)v.push({type:7,index:r}),t+=n.length-1}r++}}static createElement(t,i){const s=r.createElement(\"template\");return s.innerHTML=t,s}}function S(t,i,s=t,e){var o,n,l,h;if(i===T)return i;let r=void 0!==e?null===(o=s._$Co)||void 0===o?void 0:o[e]:s._$Cl;const u=d(i)?void 0:i._$litDirective$;return(null==r?void 0:r.constructor)!==u&&(null===(n=null==r?void 0:r._$AO)||void 0===n||n.call(r,!1),void 0===u?r=void 0:(r=new u(t),r._$AT(t,s,e)),void 0!==e?(null!==(l=(h=s)._$Co)&&void 0!==l?l:h._$Co=[])[e]=r:s._$Cl=r),void 0!==r&&(i=S(t,r._$AS(t,i.values),r,e)),i}class M{constructor(t,i){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=i}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){var i;const{el:{content:s},parts:e}=this._$AD,o=(null!==(i=null==t?void 0:t.creationScope)&&void 0!==i?i:r).importNode(s,!0);C.currentNode=o;let n=C.nextNode(),l=0,h=0,u=e[0];for(;void 0!==u;){if(l===u.index){let i;2===u.type?i=new R(n,n.nextSibling,this,t):1===u.type?i=new u.ctor(n,u.name,u.strings,this,t):6===u.type&&(i=new Z(n,this,t)),this._$AV.push(i),u=e[++h]}l!==(null==u?void 0:u.index)&&(n=C.nextNode(),l++)}return C.currentNode=r,o}v(t){let i=0;for(const s of this._$AV)void 0!==s&&(void 0!==s.strings?(s._$AI(t,s,i),i+=s.strings.length-2):s._$AI(t[i])),i++}}class R{constructor(t,i,s,e){var o;this.type=2,this._$AH=A,this._$AN=void 0,this._$AA=t,this._$AB=i,this._$AM=s,this.options=e,this._$Cp=null===(o=null==e?void 0:e.isConnected)||void 0===o||o}get _$AU(){var t,i;return null!==(i=null===(t=this._$AM)||void 0===t?void 0:t._$AU)&&void 0!==i?i:this._$Cp}get parentNode(){let t=this._$AA.parentNode;const i=this._$AM;return void 0!==i&&11===(null==t?void 0:t.nodeType)&&(t=i.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,i=this){t=S(this,t,i),d(t)?t===A||null==t||\"\"===t?(this._$AH!==A&&this._$AR(),this._$AH=A):t!==this._$AH&&t!==T&&this._(t):void 0!==t._$litType$?this.g(t):void 0!==t.nodeType?this.$(t):v(t)?this.T(t):this._(t)}k(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}$(t){this._$AH!==t&&(this._$AR(),this._$AH=this.k(t))}_(t){this._$AH!==A&&d(this._$AH)?this._$AA.nextSibling.data=t:this.$(r.createTextNode(t)),this._$AH=t}g(t){var i;const{values:s,_$litType$:e}=t,o=\"number\"==typeof e?this._$AC(t):(void 0===e.el&&(e.el=N.createElement(P(e.h,e.h[0]),this.options)),e);if((null===(i=this._$AH)||void 0===i?void 0:i._$AD)===o)this._$AH.v(s);else{const t=new M(o,this),i=t.u(this.options);t.v(s),this.$(i),this._$AH=t}}_$AC(t){let i=E.get(t.strings);return void 0===i&&E.set(t.strings,i=new N(t)),i}T(t){c(this._$AH)||(this._$AH=[],this._$AR());const i=this._$AH;let s,e=0;for(const o of t)e===i.length?i.push(s=new R(this.k(u()),this.k(u()),this,this.options)):s=i[e],s._$AI(o),e++;e<i.length&&(this._$AR(s&&s._$AB.nextSibling,e),i.length=e)}_$AR(t=this._$AA.nextSibling,i){var s;for(null===(s=this._$AP)||void 0===s||s.call(this,!1,!0,i);t&&t!==this._$AB;){const i=t.nextSibling;t.remove(),t=i}}setConnected(t){var i;void 0===this._$AM&&(this._$Cp=t,null===(i=this._$AP)||void 0===i||i.call(this,t))}}class k{constructor(t,i,s,e,o){this.type=1,this._$AH=A,this._$AN=void 0,this.element=t,this.name=i,this._$AM=e,this.options=o,s.length>2||\"\"!==s[0]||\"\"!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=A}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(t,i=this,s,e){const o=this.strings;let n=!1;if(void 0===o)t=S(this,t,i,0),n=!d(t)||t!==this._$AH&&t!==T,n&&(this._$AH=t);else{const e=t;let l,h;for(t=o[0],l=0;l<o.length-1;l++)h=S(this,e[s+l],i,l),h===T&&(h=this._$AH[l]),n||(n=!d(h)||h!==this._$AH[l]),h===A?t=A:t!==A&&(t+=(null!=h?h:\"\")+o[l+1]),this._$AH[l]=h}n&&!e&&this.j(t)}j(t){t===A?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,null!=t?t:\"\")}}class H extends k{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===A?void 0:t}}const I=s?s.emptyScript:\"\";class L extends k{constructor(){super(...arguments),this.type=4}j(t){t&&t!==A?this.element.setAttribute(this.name,I):this.element.removeAttribute(this.name)}}class z extends k{constructor(t,i,s,e,o){super(t,i,s,e,o),this.type=5}_$AI(t,i=this){var s;if((t=null!==(s=S(this,t,i,0))&&void 0!==s?s:A)===T)return;const e=this._$AH,o=t===A&&e!==A||t.capture!==e.capture||t.once!==e.once||t.passive!==e.passive,n=t!==A&&(e===A||o);o&&this.element.removeEventListener(this.name,this,e),n&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){var i,s;\"function\"==typeof this._$AH?this._$AH.call(null!==(s=null===(i=this.options)||void 0===i?void 0:i.host)&&void 0!==s?s:this.element,t):this._$AH.handleEvent(t)}}class Z{constructor(t,i,s){this.element=t,this.type=6,this._$AN=void 0,this._$AM=i,this.options=s}get _$AU(){return this._$AM._$AU}_$AI(t){S(this,t)}}const j={O:o,P:n,A:l,C:1,M:V,L:M,R:v,D:S,I:R,V:k,H:L,N:z,U:H,F:Z},B=i.litHtmlPolyfillSupport;null==B||B(N,R),(null!==(t=i.litHtmlVersions)&&void 0!==t?t:i.litHtmlVersions=[]).push(\"2.8.0\");const D=(t,i,s)=>{var e,o;const n=null!==(e=null==s?void 0:s.renderBefore)&&void 0!==e?e:i;let l=n._$litPart$;if(void 0===l){const t=null!==(o=null==s?void 0:s.renderBefore)&&void 0!==o?o:null;n._$litPart$=l=new R(i.insertBefore(u(),t),t,void 0,null!=s?s:{})}return l._$AI(t),l};export{j as _$LH,x as html,T as noChange,A as nothing,D as render,b as svg};\n//# sourceMappingURL=lit-html.js.map\n","var functionDebounce = debounce;\n\nfunction debounce(fn, wait, callFirst) {\n var timeout = null;\n var debouncedFn = null;\n\n var clear = function() {\n if (timeout) {\n clearTimeout(timeout);\n\n debouncedFn = null;\n timeout = null;\n }\n };\n\n var flush = function() {\n var call = debouncedFn;\n clear();\n\n if (call) {\n call();\n }\n };\n\n var debounceWrapper = function() {\n if (!wait) {\n return fn.apply(this, arguments);\n }\n\n var context = this;\n var args = arguments;\n var callNow = callFirst && !timeout;\n clear();\n\n debouncedFn = function() {\n fn.apply(context, args);\n };\n\n timeout = setTimeout(function() {\n timeout = null;\n\n if (!callNow) {\n var call = debouncedFn;\n debouncedFn = null;\n\n return call();\n }\n }, wait);\n\n if (callNow) {\n return debouncedFn();\n }\n };\n\n debounceWrapper.cancel = clear;\n debounceWrapper.flush = flush;\n\n return debounceWrapper;\n}\n\nexport {functionDebounce as default};\n","var functionThrottle = throttle;\n\nfunction throttle(fn, interval, options) {\n var timeoutId = null;\n var throttledFn = null;\n var leading = (options && options.leading);\n var trailing = (options && options.trailing);\n\n if (leading == null) {\n leading = true; // default\n }\n\n if (trailing == null) {\n trailing = !leading; //default\n }\n\n if (leading == true) {\n trailing = false; // forced because there should be invocation per call\n }\n\n var cancel = function() {\n if (timeoutId) {\n clearTimeout(timeoutId);\n timeoutId = null;\n }\n };\n\n var flush = function() {\n var call = throttledFn;\n cancel();\n\n if (call) {\n call();\n }\n };\n\n var throttleWrapper = function() {\n var callNow = leading && !timeoutId;\n var context = this;\n var args = arguments;\n\n throttledFn = function() {\n return fn.apply(context, args);\n };\n\n if (!timeoutId) {\n timeoutId = setTimeout(function() {\n timeoutId = null;\n\n if (trailing) {\n return throttledFn();\n }\n }, interval);\n }\n\n if (callNow) {\n callNow = false;\n return throttledFn();\n }\n };\n\n throttleWrapper.cancel = cancel;\n throttleWrapper.flush = flush;\n\n return throttleWrapper;\n}\n\nexport {functionThrottle as default};\n","// src/utils/events.ts\nfunction listen(target, type, listener, options) {\n target.addEventListener(type, listener, options);\n return () => {\n target.removeEventListener(type, listener, options);\n };\n}\nfunction eventTypeIncludes(event, types) {\n return types.some((type) => event?.type.includes(type) ?? false);\n}\nfunction isPointerEvent(event) {\n return eventTypeIncludes(event, [\"pointer\"]);\n}\nfunction isTouchEvent(event) {\n return eventTypeIncludes(event, [\"touch\"]);\n}\nfunction isMouseEvent(event) {\n return eventTypeIncludes(event, [\"click\", \"mouse\"]);\n}\nasync function waitForEvent(target, type, options) {\n return new Promise((resolve, reject) => {\n const timerId = window.setTimeout(() => {\n reject(`Timed out waiting for event \\`${type}\\`.`);\n }, options?.timeout ?? 1e3);\n listen(\n target,\n type,\n (event) => {\n window.clearTimeout(timerId);\n resolve(event);\n },\n options\n );\n });\n}\nvar DisposalBin = class {\n constructor() {\n this._disposal = this._disposal ?? [];\n }\n add(...callbacks) {\n if (callbacks) {\n callbacks.forEach((cb) => {\n this._disposal.push(cb);\n });\n }\n }\n empty() {\n this._disposal.forEach((fn) => fn());\n this._disposal = [];\n }\n};\n\n// src/events/event-listener.ts\nfunction eventListener(host, type, listener, options) {\n let off;\n function attach() {\n if (!off) {\n off = listen(options?.target ?? host, type, listener, options);\n }\n }\n attach();\n host.addController({\n hostConnected() {\n attach();\n },\n hostDisconnected() {\n off?.();\n off = void 0;\n }\n });\n}\n\n// src/events/VdsEvent.ts\nvar VdsEvent = class extends CustomEvent {\n constructor(type, eventInit = {}) {\n super(type, eventInit);\n this.triggerEvent = eventInit.triggerEvent;\n if (!this.hasOwnProperty(\"originEvent\")) {\n Object.defineProperties(this, {\n originEvent: {\n get() {\n return getOriginEvent(this) ?? this;\n }\n },\n isOriginTrusted: {\n get() {\n return getOriginEvent(this)?.isTrusted ?? false;\n }\n }\n });\n }\n }\n get originEvent() {\n return getOriginEvent(this) ?? this;\n }\n get isOriginTrusted() {\n return this.originEvent?.isTrusted ?? false;\n }\n};\nfunction vdsEvent(type, eventInit = {}) {\n return new VdsEvent(type, eventInit);\n}\nfunction isVdsEvent(event) {\n return event?.hasOwnProperty(\"triggerEvent\") ?? false;\n}\nfunction getOriginEvent(event) {\n let triggerEvent = event.triggerEvent;\n while (triggerEvent && triggerEvent.triggerEvent) {\n triggerEvent = triggerEvent.triggerEvent;\n }\n return triggerEvent;\n}\nfunction walkTriggerEventChain(event, callback) {\n if (!isVdsEvent(event))\n return;\n let triggerEvent = event.triggerEvent;\n while (triggerEvent && triggerEvent.triggerEvent) {\n const returnValue = callback(triggerEvent);\n if (returnValue)\n return [triggerEvent, returnValue];\n triggerEvent = triggerEvent.triggerEvent;\n }\n return;\n}\nfunction findTriggerEvent(event, eventType) {\n return walkTriggerEventChain(event, (e) => e.type === eventType)?.[0];\n}\nfunction hasTriggerEvent(event, eventType) {\n return !!findTriggerEvent(event, eventType);\n}\nfunction appendTriggerEvent(event, triggerEvent) {\n (getOriginEvent(event) ?? event).triggerEvent = triggerEvent;\n}\n\n// src/events/redispatch.ts\nfunction redispatchEvent(target, event) {\n if (event.bubbles && event.composed)\n return;\n const newEvent = new VdsEvent(event.type, {\n triggerEvent: event.triggerEvent ?? event,\n detail: event.detail,\n bubbles: event.bubbles,\n cancelable: event.cancelable,\n composed: event.composed\n });\n target.dispatchEvent(newEvent);\n}\n\n// src/context/ContextConsumerController.ts\nvar orphanConsumers = /* @__PURE__ */ new Map();\nvar ContextConsumerController = class {\n constructor(_host, initialValue, _options) {\n this._host = _host;\n this.initialValue = initialValue;\n this._options = _options;\n this._registrationCallbacks = [];\n _host.addController({\n hostConnected: () => {\n this._connect();\n },\n hostDisconnected: () => {\n delete this._host[this.id];\n }\n });\n }\n get id() {\n return this._options.id;\n }\n get value() {\n return this._host[this.id] ?? this.initialValue;\n }\n get registered() {\n return this.id in this._host;\n }\n _connect() {\n if (this.id in this._host)\n return;\n const setValue = (value) => {\n this._host[this.id] = value;\n this._registrationCallbacks?.forEach((fn) => fn(value));\n this._registrationCallbacks = void 0;\n };\n this._host.dispatchEvent(\n vdsEvent(\"vds-context-consumer-connect\", {\n bubbles: true,\n composed: true,\n detail: {\n id: this.id,\n setValue\n }\n })\n );\n if (!this.registered) {\n const orphans = orphanConsumers.get(this.id) ?? [];\n orphans.push({ host: this._host, setValue });\n orphanConsumers.set(this.id, orphans);\n }\n }\n whenRegistered(callback) {\n if (this.registered) {\n callback(this.value);\n return;\n }\n this._registrationCallbacks?.push(callback);\n }\n};\nfunction adoptOrphans(id, provider) {\n const orphans = orphanConsumers.get(id) ?? [];\n const adoptees = orphans.filter(({ host }) => provider.contains(host));\n orphanConsumers.set(\n id,\n orphans.filter(({ host }) => !provider.contains(host))\n );\n return adoptees;\n}\n\n// src/context/ContextProviderController.ts\nvar ContextProviderController = class {\n constructor(_host, _initValue, _options) {\n this._host = _host;\n this._initValue = _initValue;\n this._options = _options;\n this._stopDisposal = new DisposalBin();\n this._value = _initValue();\n _host.addController({\n hostConnected: this.start.bind(this),\n hostDisconnected: this.stop.bind(this)\n });\n }\n get id() {\n return this._options.id;\n }\n get value() {\n return this._value;\n }\n start() {\n const dispose = listen(\n this._host,\n \"vds-context-consumer-connect\",\n this._handleConsumerConnect.bind(this)\n );\n for (const orphan of adoptOrphans(this.id, this._host)) {\n orphan.setValue(this._value);\n }\n this._stopDisposal.add(dispose);\n }\n stop() {\n this._stopDisposal.empty();\n }\n _handleConsumerConnect(event) {\n const consumer = event.detail;\n if (consumer.id !== this.id)\n return;\n event.stopImmediatePropagation();\n consumer.setValue(this._value);\n }\n};\n\n// src/context/context.ts\nfunction createContext(initValue) {\n const id = Symbol(\"@vidstack/context\");\n return {\n id,\n consume(host) {\n return new ContextConsumerController(host, initValue(), { id });\n },\n provide(host) {\n return new ContextProviderController(host, initValue, { id });\n }\n };\n}\nfunction isContext(context) {\n return typeof context?.id === \"symbol\" && context.id.description === \"@vidstack/context\";\n}\n\n// src/directives/if-non-empty.ts\nimport { ifDefined } from \"lit/directives/if-defined.js\";\nfunction ifNonEmpty(value) {\n return ifDefined(value === \"\" || value === \"undefined\" ? void 0 : value);\n}\n\n// src/directives/if-number.ts\nimport { ifDefined as ifDefined2 } from \"lit/directives/if-defined.js\";\n\n// src/utils/unit.ts\nfunction noop(...args) {\n}\nfunction notEqual(valueA, valueB) {\n return valueB !== valueA && (valueB === valueB || valueA === valueA);\n}\nfunction safeNotEqual(a, b) {\n return a != a ? b == b : a !== b || a && typeof a === \"object\" || typeof a === \"function\";\n}\nfunction equal(valueA, valueB) {\n return !notEqual(valueA, valueB);\n}\nfunction isNull(value) {\n return value === null;\n}\nfunction isUndefined(value) {\n return typeof value === \"undefined\";\n}\nfunction isNil(value) {\n return isNull(value) || isUndefined(value);\n}\nfunction isObject(value) {\n return value?.constructor === Object;\n}\nfunction isNumber(value) {\n return typeof value === \"number\" && !Number.isNaN(value);\n}\nfunction isString(value) {\n return typeof value === \"string\";\n}\nfunction isBoolean(value) {\n return typeof value === \"boolean\";\n}\nfunction isFunction(value) {\n return typeof value === \"function\";\n}\nfunction isArray(value) {\n return Array.isArray(value);\n}\nfunction createRegex(regex) {\n return isString(regex) ? new RegExp(regex) : regex;\n}\nfunction isWindow(value) {\n return value === window;\n}\n\n// src/directives/if-number.ts\nfunction ifNumber(value) {\n return ifDefined2(isNumber(value) ? value : void 0);\n}\n\n// src/elements/discovery/discover.ts\nvar discoverers = /* @__PURE__ */ new Map();\nvar discoverables = /* @__PURE__ */ new Map();\nfunction connect(discoverable2, id, onDisconnect) {\n for (const { host, callback } of Array.from(discoverers.get(id) ?? [])) {\n if (host !== discoverable2 && host.contains(discoverable2)) {\n callback(discoverable2, onDisconnect);\n }\n }\n}\nfunction find(host, id) {\n return Array.from(discoverables.get(id) ?? []).filter(\n ({ element }) => host !== element && host.contains(element)\n );\n}\nfunction discover(host, id, callback) {\n const discoverer = { host, callback };\n host.addController({\n hostConnected: () => {\n for (const { element, onDisconnect } of find(host, id)) {\n callback(element, onDisconnect);\n }\n discoverers.set(id, (discoverers.get(id) ?? /* @__PURE__ */ new Set()).add(discoverer));\n },\n hostDisconnected: () => {\n discoverers.get(id)?.delete(discoverer);\n }\n });\n}\nfunction discoverable(host, eventType, options = {}) {\n const id = options.register;\n const disconnectDisposal = new DisposalBin();\n const onDisconnect = (callback) => {\n disconnectDisposal.add(callback);\n };\n const discoverable2 = {\n element: host,\n onDisconnect\n };\n host.addController({\n hostConnected() {\n const event = vdsEvent(eventType, {\n bubbles: true,\n composed: true,\n detail: discoverable2\n });\n host.dispatchEvent(event);\n if (id) {\n discoverables.set(id, (discoverables.get(id) ?? /* @__PURE__ */ new Set()).add(discoverable2));\n connect(host, id, onDisconnect);\n }\n },\n hostDisconnected() {\n disconnectDisposal.empty();\n if (id) {\n discoverables.get(id)?.delete(discoverable2);\n }\n }\n });\n}\n\n// src/utils/support.ts\nvar IS_CLIENT = typeof window !== \"undefined\";\nvar UA = IS_CLIENT ? window.navigator?.userAgent.toLowerCase() : \"\";\nvar IS_IOS = /iphone|ipad|ipod|ios|CriOS|FxiOS/.test(UA);\nvar IS_ANDROID = /android/.test(UA);\nvar IS_MOBILE = IS_CLIENT && (IS_IOS || IS_ANDROID);\nvar IS_IPHONE = IS_CLIENT && /(iPhone|iPod)/gi.test(window.navigator?.platform);\nvar IS_FIREFOX = /firefox/.test(UA);\nvar IS_CHROME = IS_CLIENT && !!window.chrome;\nvar IS_SAFARI = IS_CLIENT && !IS_CHROME && (window.safari || IS_IOS || /(apple|safari)/.test(UA));\nvar ORIGIN = IS_CLIENT && window.location.protocol !== \"file:\" ? `${window.location.protocol}//${window.location.hostname}` : void 0;\nfunction currentSafariVersion() {\n return IS_CLIENT ? Number((/Safari\\/(\\d+)/.exec(navigator.userAgent) ?? [\"\", 0])[1]) : 0;\n}\nfunction canFullscreenVideo() {\n if (!IS_CLIENT)\n return false;\n const video = document.createElement(\"video\");\n return isFunction(video.webkitEnterFullscreen);\n}\nfunction canObserveIntersection() {\n return IS_CLIENT && !isUndefined(window.IntersectionObserver);\n}\nfunction canOrientScreen() {\n return IS_CLIENT && !isUndefined(screen.orientation) && isFunction(screen.orientation.lock) && isFunction(screen.orientation.unlock);\n}\nfunction canRotateScreen() {\n return IS_CLIENT && !isUndefined(window.screen.orientation) && !isUndefined(window.screen.orientation.lock);\n}\nfunction isReducedMotionPreferred() {\n return IS_CLIENT && \"matchMedia\" in window && window.matchMedia(\"(prefers-reduced-motion)\").matches;\n}\nfunction canPlayHLSNatively() {\n if (!IS_CLIENT)\n return false;\n const video = document.createElement(\"video\");\n return video.canPlayType(\"application/vnd.apple.mpegurl\").length > 0;\n}\nfunction canUsePiPInChrome() {\n if (!IS_CLIENT)\n return false;\n const video = document.createElement(\"video\");\n return !!document.pictureInPictureEnabled && !video.disablePictureInPicture;\n}\nfunction canUsePiPInSafari() {\n if (!IS_CLIENT)\n return false;\n const video = document.createElement(\"video\");\n return isFunction(video.webkitSupportsPresentationMode) && isFunction(video.webkitSetPresentationMode) && !IS_IPHONE;\n}\nfunction canUsePiP() {\n return canUsePiPInChrome() || canUsePiPInSafari();\n}\nfunction canAutoplay(muted = true, playsinline = true) {\n if (!IS_CLIENT)\n return Promise.resolve(false);\n const video = document.createElement(\"video\");\n if (muted) {\n video.setAttribute(\"muted\", \"\");\n video.muted = true;\n }\n if (playsinline) {\n video.setAttribute(\"playsinline\", \"\");\n video.setAttribute(\"webkit-playsinline\", \"\");\n }\n video.setAttribute(\"height\", \"0\");\n video.setAttribute(\"width\", \"0\");\n video.style.position = \"fixed\";\n video.style.top = \"0\";\n video.style.width = \"0\";\n video.style.height = \"0\";\n video.style.opacity = \"0\";\n new Promise((resolve) => resolve(video.play())).catch(noop);\n return Promise.resolve(!video.paused);\n}\nfunction getMediaSource() {\n return window?.MediaSource ?? window?.WebKitMediaSource;\n}\nfunction getSourceBuffer() {\n return window?.SourceBuffer ?? window?.WebKitSourceBuffer;\n}\nfunction isHlsjsSupported() {\n const mediaSource = getMediaSource();\n if (isUndefined(mediaSource)) {\n return false;\n }\n const isTypeSupported = mediaSource && isFunction(mediaSource.isTypeSupported) && mediaSource.isTypeSupported('video/mp4; codecs=\"avc1.42E01E,mp4a.40.2\"');\n const sourceBuffer = getSourceBuffer();\n const isSourceBufferValid = isUndefined(sourceBuffer) || !isUndefined(sourceBuffer.prototype) && isFunction(sourceBuffer.prototype.appendBuffer) && isFunction(sourceBuffer.prototype.remove);\n return !!isTypeSupported && !!isSourceBufferValid;\n}\n\n// src/elements/WithFocus.ts\nvar focusableSelector = `\n ${[\n \"a[href]\",\n \"area[href]\",\n `input:not([disabled]):not([tabindex='-1'])`,\n `button:not([disabled]):not([tabindex='-1'])`,\n `select:not([disabled]):not([tabindex='-1'])`,\n `textarea:not([disabled]):not([tabindex='-1'])`,\n \"iframe\",\n \"object\",\n \"embed\",\n `*[tabindex]:not([tabindex='-1'])`,\n \"*[contenteditable=true]\",\n \"vds-fullscreen-button\",\n \"vds-mute-button\",\n \"vds-play-button\",\n \"vds-slider\",\n \"vds-time-slider\",\n \"vds-volume-slider\"\n].join(\", \")}\n`;\nfunction WithFocus(Base) {\n return class WithFocusMixin extends Base {\n static get shadowRootOptions() {\n return {\n ...Base.shadowRootOptions,\n delegatesFocus: currentSafariVersion() <= 537\n };\n }\n focus() {\n if (this.shadowRoot?.delegatesFocus) {\n super.focus();\n } else {\n const delegateTarget = this.shadowRoot?.querySelector(focusableSelector) || this.querySelector(focusableSelector);\n if (delegateTarget) {\n delegateTarget.focus();\n } else {\n super.focus();\n }\n }\n }\n };\n}\n\n// ../../node_modules/.pnpm/fscreen@1.2.0/node_modules/fscreen/dist/fscreen.esm.js\nvar key = {\n fullscreenEnabled: 0,\n fullscreenElement: 1,\n requestFullscreen: 2,\n exitFullscreen: 3,\n fullscreenchange: 4,\n fullscreenerror: 5,\n fullscreen: 6\n};\nvar webkit = [\n \"webkitFullscreenEnabled\",\n \"webkitFullscreenElement\",\n \"webkitRequestFullscreen\",\n \"webkitExitFullscreen\",\n \"webkitfullscreenchange\",\n \"webkitfullscreenerror\",\n \"-webkit-full-screen\"\n];\nvar moz = [\n \"mozFullScreenEnabled\",\n \"mozFullScreenElement\",\n \"mozRequestFullScreen\",\n \"mozCancelFullScreen\",\n \"mozfullscreenchange\",\n \"mozfullscreenerror\",\n \"-moz-full-screen\"\n];\nvar ms = [\n \"msFullscreenEnabled\",\n \"msFullscreenElement\",\n \"msRequestFullscreen\",\n \"msExitFullscreen\",\n \"MSFullscreenChange\",\n \"MSFullscreenError\",\n \"-ms-fullscreen\"\n];\nvar document2 = typeof window !== \"undefined\" && typeof window.document !== \"undefined\" ? window.document : {};\nvar vendor = \"fullscreenEnabled\" in document2 && Object.keys(key) || webkit[0] in document2 && webkit || moz[0] in document2 && moz || ms[0] in document2 && ms || [];\nvar fscreen = {\n requestFullscreen: function(element) {\n return element[vendor[key.requestFullscreen]]();\n },\n requestFullscreenFunction: function(element) {\n return element[vendor[key.requestFullscreen]];\n },\n get exitFullscreen() {\n return document2[vendor[key.exitFullscreen]].bind(document2);\n },\n get fullscreenPseudoClass() {\n return \":\" + vendor[key.fullscreen];\n },\n addEventListener: function(type, handler, options) {\n return document2.addEventListener(vendor[key[type]], handler, options);\n },\n removeEventListener: function(type, handler, options) {\n return document2.removeEventListener(vendor[key[type]], handler, options);\n },\n get fullscreenEnabled() {\n return Boolean(document2[vendor[key.fullscreenEnabled]]);\n },\n set fullscreenEnabled(val) {\n },\n get fullscreenElement() {\n return document2[vendor[key.fullscreenElement]];\n },\n set fullscreenElement(val) {\n },\n get onfullscreenchange() {\n return document2[(\"on\" + vendor[key.fullscreenchange]).toLowerCase()];\n },\n set onfullscreenchange(handler) {\n return document2[(\"on\" + vendor[key.fullscreenchange]).toLowerCase()] = handler;\n },\n get onfullscreenerror() {\n return document2[(\"on\" + vendor[key.fullscreenerror]).toLowerCase()];\n },\n set onfullscreenerror(handler) {\n return document2[(\"on\" + vendor[key.fullscreenerror]).toLowerCase()] = handler;\n }\n};\nvar fscreen_esm_default = fscreen;\n\n// src/logger/events.ts\nfunction logEvent(level, ...data) {\n return vdsEvent(\"vds-log\", {\n bubbles: true,\n composed: true,\n detail: {\n level,\n data\n }\n });\n}\n\n// src/logger/grouped-log.ts\nvar GROUPED_LOG_ID = Symbol(\"@vidstack/grouped-log\");\nfunction isGroupedLog(data) {\n return isObject(data) && data[GROUPED_LOG_ID] === true;\n}\nfunction groupedLog(title, parent) {\n const logs = [];\n const group = {\n [GROUPED_LOG_ID]: true,\n title,\n logs,\n log(...data) {\n logs.push({ data });\n return group;\n },\n labelledLog(label, ...data) {\n logs.push({ label, data });\n return group;\n },\n groupStart(title2) {\n return groupedLog(title2, group);\n },\n groupEnd() {\n parent?.logs.push(group);\n return parent ?? group;\n }\n };\n return group;\n}\n\n// src/logger/LogDispatcher.ts\nvar LogDispatcher = class {\n constructor(_host) {\n this._host = _host;\n }\n error(...data) {\n this._dispatch(\"error\", ...data);\n }\n warn(...data) {\n this._dispatch(\"warn\", ...data);\n }\n info(...data) {\n this._dispatch(\"info\", ...data);\n }\n debug(...data) {\n this._dispatch(\"debug\", ...data);\n }\n errorGroup(title) {\n return this._groupDispatcher(\"error\", title);\n }\n warnGroup(title) {\n return this._groupDispatcher(\"warn\", title);\n }\n infoGroup(title) {\n return this._groupDispatcher(\"info\", title);\n }\n debugGroup(title) {\n return this._groupDispatcher(\"debug\", title);\n }\n _dispatch(level, ...data) {\n this._host.dispatchEvent(logEvent(level, ...data));\n }\n _groupDispatcher(level, title, rootGroup, parentGroup) {\n const group = groupedLog(title, parentGroup);\n group.dispatch = () => {\n this._dispatch(level, rootGroup ?? group);\n };\n return {\n ...group,\n groupStart: (title2) => {\n return this._groupDispatcher(level, title2, rootGroup ?? group, group);\n }\n };\n }\n};\n\n// src/logger/log-lifecycle.ts\nfunction logElementLifecycle(_host) {\n const logger = new LogDispatcher(_host);\n _host.addController({\n hostConnected() {\n logger.debug(\"\\u{1F517} connected\");\n },\n hostUpdated() {\n logger.debug(\"\\u{1F504} updated\");\n },\n hostDisconnected() {\n logger.debug(\"\\u{1F5D1}\\uFE0F disconnected\");\n }\n });\n}\n\n// src/logger/colors.ts\nvar LOCAL_STORAGE_KEY = \"@vidstack/log-colors\";\nvar colors = getSavedColors();\nfunction getSavedColors() {\n if (IS_CLIENT && !isUndefined(window.localStorage)) {\n let colors2 = {};\n try {\n colors2 = JSON.parse(localStorage.getItem(LOCAL_STORAGE_KEY) ?? \"\");\n } catch {\n }\n return new Map(Object.entries(colors2));\n }\n return /* @__PURE__ */ new Map();\n}\nfunction getColor(key2) {\n return colors.get(key2);\n}\nfunction saveColor(key2, { color = generateColor(), overwrite = false } = {}) {\n if (!colors.has(key2) || overwrite) {\n colors.set(key2, color);\n saveColors();\n }\n}\nfunction generateColor() {\n return `hsl(${Math.random() * 360}, 55%, 70%)`;\n}\nfunction saveColors() {\n if (IS_CLIENT && !isUndefined(window.localStorage)) {\n const map = {};\n colors.forEach(function(value, key2) {\n map[key2] = value;\n });\n localStorage.setItem(LOCAL_STORAGE_KEY, JSON.stringify(map));\n }\n}\n\n// src/logger/LogLevel.ts\nvar LogLevelValue = Object.freeze({\n silent: 0,\n error: 1,\n warn: 2,\n info: 3,\n debug: 4\n});\nvar LogLevelColor = Object.freeze({\n silent: \"white\",\n error: \"hsl(6, 58%, 50%)\",\n warn: \"hsl(51, 58%, 50%)\",\n info: \"hsl(219, 58%, 50%)\",\n debug: \"hsl(280, 58%, 50%)\"\n});\n\n// src/utils/number.ts\nfunction round(num, decimalPlaces = 2) {\n return Number(num.toFixed(decimalPlaces));\n}\nfunction clampNumber(min, value, max) {\n return Math.max(min, Math.min(max, value));\n}\nfunction getNumberOfDecimalPlaces(num) {\n return String(num).split(\".\")[1]?.length ?? 0;\n}\n\n// src/logger/ms.ts\nvar s = 1e3;\nvar m = s * 60;\nvar h = m * 60;\nvar d = h * 24;\nfunction ms2(val) {\n const msAbs = Math.abs(val);\n if (msAbs >= d) {\n return Math.round(val / d) + \"d\";\n }\n if (msAbs >= h) {\n return Math.round(val / h) + \"h\";\n }\n if (msAbs >= m) {\n return Math.round(val / m) + \"m\";\n }\n if (msAbs >= s) {\n return Math.round(val / s) + \"s\";\n }\n return round(val, 2) + \"ms\";\n}\n\n// src/logger/LogController.ts\nvar LogController = class {\n constructor(_host) {\n this._host = _host;\n this.logLevel = false ? \"warn\" : \"silent\";\n this._disposal = new DisposalBin();\n _host.addController({\n hostConnected: this._start.bind(this),\n hostDisconnected: this._stop.bind(this)\n });\n }\n _start() {\n this._disposal.add(\n listen(this._host, \"vds-log\", (event) => {\n event.stopPropagation();\n const eventTargetName = (event.path?.[0] ?? event.target).tagName.toLowerCase();\n const { level = \"warn\", data } = event.detail;\n if (LogLevelValue[this.logLevel] < LogLevelValue[level]) {\n return;\n }\n saveColor(eventTargetName);\n const hint = data?.length === 1 && isGroupedLog(data[0]) ? data[0].title : isString(data?.[0]) ? data[0] : \"\";\n console.groupCollapsed(\n `%c${level.toUpperCase()}%c ${eventTargetName}%c ${hint.slice(0, 50)}${hint.length > 50 ? \"...\" : \"\"}`,\n `background: ${LogLevelColor[level]}; color: white; padding: 1.5px 2.2px; border-radius: 2px; font-size: 11px;`,\n `color: ${getColor(eventTargetName)}; padding: 4px 0px; font-size: 11px;`,\n \"color: gray; font-size: 11px; padding-left: 4px;\"\n );\n if (data?.length === 1 && isGroupedLog(data[0])) {\n this._logGroup(level, data[0]);\n } else if (data) {\n this._log(level, ...data);\n }\n this._logTimeDiff();\n this._logStackTrace();\n console.groupEnd();\n })\n );\n }\n _stop() {\n this._lastLogTimestamp = void 0;\n this._disposal.empty();\n }\n _logGroup(level, groupedLog2) {\n console.groupCollapsed(groupedLog2.title);\n for (const log of groupedLog2.logs) {\n if (isGroupedLog(log)) {\n this._logGroup(level, log);\n } else if (\"label\" in log && !isUndefined(log.label)) {\n this._labelledLog(log.label, ...log.data);\n } else {\n this._log(level, ...log.data);\n }\n }\n console.groupEnd();\n }\n _log(level, ...data) {\n console[level](...data);\n }\n _labelledLog(label, ...data) {\n console.log(`%c${label}:`, \"color: gray\", ...data);\n }\n _logStackTrace() {\n console.groupCollapsed(\"%cStack Trace\", \"color: gray\");\n console.trace();\n console.groupEnd();\n }\n _logTimeDiff() {\n this._labelledLog(\"Time since last log\", this._getLastLogTimeDiff());\n }\n _getLastLogTimeDiff() {\n const time = performance.now();\n const diff = time - (this._lastLogTimestamp || (this._lastLogTimestamp = performance.now()));\n this._lastLogTimestamp = time;\n return ms2(diff);\n }\n};\n\n// src/fullscreen/FullscreenController.ts\nvar FullscreenController = class {\n constructor(_host, _screenOrientationController) {\n this._host = _host;\n this._screenOrientationController = _screenOrientationController;\n this._logger = false ? new LogDispatcher(this._host) : void 0;\n this._listenerDisposal = new DisposalBin();\n _host.addController({\n hostDisconnected: this._handleHostDisconnected.bind(this)\n });\n }\n async _handleHostDisconnected() {\n if (this.isFullscreen)\n await this.exitFullscreen();\n this._listenerDisposal.empty();\n }\n get isSupported() {\n return this.isSupportedNatively;\n }\n get isSupportedNatively() {\n return fscreen_esm_default.fullscreenEnabled;\n }\n get isFullscreen() {\n return this.isNativeFullscreen;\n }\n get isNativeFullscreen() {\n if (fscreen_esm_default.fullscreenElement === this._host)\n return true;\n try {\n return this._host.matches(\n fscreen_esm_default.fullscreenPseudoClass\n );\n } catch (error) {\n return false;\n }\n }\n _addFullscreenChangeEventListener(listener) {\n if (!this.isSupported)\n return noop;\n if (false) {\n this._logger?.debug(\"adding `fullscreenchange` listener\");\n }\n const dispose = listen(fscreen_esm_default, \"fullscreenchange\", listener);\n return () => {\n if (false) {\n this._logger?.debug(\"removing `fullscreenchange` listener\");\n }\n dispose();\n };\n }\n _addFullscreenErrorEventListener(listener) {\n if (!this.isSupported)\n return noop;\n if (false) {\n this._logger?.debug(\"adding `fullscreenerror` listener\");\n }\n const dispose = listen(fscreen_esm_default, \"fullscreenerror\", listener);\n return () => {\n if (false) {\n this._logger?.debug(\"removing `fullscreenerror` listener\");\n }\n dispose();\n };\n }\n async enterFullscreen() {\n if (this.isFullscreen)\n return;\n this._throwIfNoFullscreenSupport();\n if (false) {\n this._logger?.debug(\"requesting fullscreen\");\n }\n this._listenerDisposal.add(\n this._addFullscreenChangeEventListener(this._handleFullscreenChange.bind(this))\n );\n this._listenerDisposal.add(\n this._addFullscreenErrorEventListener(this._handleFullscreenError.bind(this))\n );\n const response = await this._makeEnterFullscreenRequest();\n await this._lockScreenOrientation();\n return response;\n }\n async _makeEnterFullscreenRequest() {\n return fscreen_esm_default.requestFullscreen(this._host);\n }\n _handleFullscreenChange(event) {\n if (!this.isFullscreen)\n this._listenerDisposal.empty();\n this._host.dispatchEvent(\n vdsEvent(\"vds-fullscreen-change\", {\n bubbles: true,\n composed: true,\n detail: this.isFullscreen,\n triggerEvent: event\n })\n );\n }\n _handleFullscreenError(event) {\n this._host.dispatchEvent(\n vdsEvent(\"vds-fullscreen-error\", {\n bubbles: true,\n composed: true,\n triggerEvent: event\n })\n );\n }\n async exitFullscreen() {\n if (!this.isFullscreen)\n return;\n this._throwIfNoFullscreenSupport();\n if (false) {\n this._logger?.debug(\"exiting fullscreen\");\n }\n const response = await this._makeExitFullscreenRequest();\n await this._unlockScreenOrientation();\n return response;\n }\n async _makeExitFullscreenRequest() {\n return fscreen_esm_default.exitFullscreen();\n }\n _shouldOrientScreen() {\n return this._screenOrientationController.canOrient && !isUndefined(this.screenOrientationLock);\n }\n async _lockScreenOrientation() {\n if (isUndefined(this.screenOrientationLock) || !this._shouldOrientScreen()) {\n return;\n }\n await this._screenOrientationController.lock(this.screenOrientationLock);\n }\n async _unlockScreenOrientation() {\n if (!this._shouldOrientScreen())\n return;\n await this._screenOrientationController.unlock();\n }\n _throwIfNoFullscreenSupport() {\n if (this.isSupported)\n return;\n throw Error(\"Fullscreen API is not enabled or supported in this environment.\");\n }\n};\n\n// src/observers/FocusVisibleController.ts\nvar FocusVisibleController = class {\n constructor(_host) {\n this._host = _host;\n const disposal = new DisposalBin();\n let hadKeyboardEvent = false;\n disposal.add(\n listen(document, \"pointerdown\", () => {\n hadKeyboardEvent = false;\n })\n );\n eventListener(_host, \"keydown\", (e) => {\n if (e.metaKey || e.altKey || e.ctrlKey) {\n return;\n }\n hadKeyboardEvent = true;\n });\n eventListener(_host, \"focus\", (e) => {\n if (hadKeyboardEvent) {\n _host.classList.add(\"focus-visible\");\n }\n });\n eventListener(_host, \"blur\", (e) => {\n _host.classList.remove(\"focus-visible\");\n });\n _host.addController({\n hostDisconnected: () => {\n disposal.empty();\n }\n });\n }\n};\nfunction focusVisiblePolyfill(host) {\n return new FocusVisibleController(host);\n}\n\n// src/observers/IntersectionController.ts\nvar IntersectionController = class {\n constructor(_host, config = {}, _callback = () => true, _logger = false ? new LogDispatcher(_host) : void 0) {\n this._host = _host;\n this._callback = _callback;\n this._logger = _logger;\n this._skipInitial = false;\n this._unobservedUpdate = false;\n const { target, skipInitial, ...intersectionObserverInit } = config;\n this._target = target ?? void 0;\n this._skipInitial = skipInitial ?? this._skipInitial;\n if (!window.IntersectionObserver) {\n if (false) {\n _logger?.warn(`Browser does not support \\`IntersectionObserver\\`.`);\n }\n return;\n }\n this._observer = new IntersectionObserver((entries) => {\n const unobservedUpdate = this._unobservedUpdate;\n this._unobservedUpdate = false;\n if (this._skipInitial && unobservedUpdate)\n return;\n this.handleChanges(entries);\n this._host.requestUpdate();\n }, intersectionObserverInit);\n _host.addController(this);\n }\n handleChanges(entries) {\n this.value = this._callback(entries, this._observer);\n }\n hostConnected() {\n if (this._target) {\n this.observe(this._target);\n }\n }\n hostDisconnected() {\n this._disconnect();\n }\n async hostUpdated() {\n const pendingRecords = this._observer.takeRecords();\n if (pendingRecords.length) {\n this.handleChanges(pendingRecords);\n }\n }\n observe(target) {\n this._observer.observe(target);\n this._unobservedUpdate = true;\n return () => {\n this._observer.unobserve(target);\n };\n }\n _disconnect() {\n this._observer.disconnect();\n }\n};\nfunction createIntersectionController(...params) {\n return new IntersectionController(...params);\n}\n\n// src/observers/PageController.ts\nvar IS_SAFARI2 = typeof window !== \"undefined\" && typeof window.safari === \"object\" && window?.safari.pushNotification;\nvar PageController = class {\n constructor(_host, _callback, _logger = false ? new LogDispatcher(_host) : void 0) {\n this._host = _host;\n this._callback = _callback;\n this._logger = _logger;\n this._state = this._determinePageState();\n this._visibility = document.visibilityState;\n this._disposal = new DisposalBin();\n _host.addController(this);\n }\n get state() {\n return this._state;\n }\n get visibility() {\n return this._visibility;\n }\n hostConnected() {\n const pageEvents = [\"focus\", \"blur\", \"visibilitychange\", \"pageshow\", \"pagehide\"];\n this._state = this._determinePageState();\n this._visibility = document.visibilityState;\n pageEvents.forEach((pageEvent) => {\n const off = listen(window, pageEvent, this._handlePageEvent.bind(this));\n this._disposal.add(off);\n });\n if (IS_SAFARI2) {\n this._disposal.add(\n listen(window, \"beforeunload\", (event) => {\n this._safariBeforeUnloadTimeout = setTimeout(() => {\n if (!(event.defaultPrevented || event.returnValue.length > 0)) {\n this._state = \"hidden\";\n this._visibility = \"hidden\";\n this._triggerCallback();\n }\n }, 0);\n })\n );\n }\n }\n hostDisconnected() {\n this._disposal.empty();\n }\n _handlePageEvent(event) {\n if (IS_SAFARI2) {\n window.clearTimeout(this._safariBeforeUnloadTimeout);\n }\n const prevState = this._state;\n const prevVisibility = this._visibility;\n if (event.type !== \"blur\" || this.state === \"active\") {\n this._state = this._determinePageState(event);\n this._visibility = document.visibilityState == \"hidden\" ? \"hidden\" : \"visible\";\n }\n if (this.state !== prevState || this.visibility !== prevVisibility) {\n this._triggerCallback();\n }\n }\n _triggerCallback() {\n this._callback({ state: this.state, visibility: this.visibility });\n }\n _determinePageState(event) {\n if (false)\n return \"hidden\";\n if (event?.type === \"blur\" || document.visibilityState === \"hidden\") {\n return \"hidden\";\n }\n if (document.hasFocus()) {\n return \"active\";\n }\n return \"passive\";\n }\n};\n\n// src/utils/promise.ts\nfunction deferredPromise() {\n let resolve = noop;\n let reject = noop;\n const promise = new Promise((res, rej) => {\n resolve = res;\n reject = rej;\n });\n return { promise, resolve, reject };\n}\nfunction timedPromise(promise, timeout, timeoutMsg) {\n const timer = new Promise((_, reject) => {\n const timerId = window.setTimeout(() => {\n window.clearTimeout(timerId);\n reject(timeoutMsg);\n }, timeout);\n });\n return Promise.race([promise, timer]);\n}\n\n// src/queue/RequestQueue.ts\nvar RequestQueue = class {\n constructor() {\n this._requestQueue = /* @__PURE__ */ new Map();\n this._requestKeys = [];\n this._pendingFlush = deferredPromise();\n this._isServing = false;\n }\n get isServing() {\n return this._isServing;\n }\n get size() {\n return this._requestQueue.size;\n }\n async waitForFlush() {\n if (this._isServing)\n return;\n await this._pendingFlush.promise;\n }\n queue(key2, callback) {\n if (this._isServing) {\n callback();\n return;\n }\n this._requestKeys = [...this._requestKeys.filter((k) => k !== key2), key2];\n this._requestQueue.set(key2, callback);\n }\n serve(key2) {\n this._requestQueue.get(key2)?.();\n this._requestQueue.delete(key2);\n }\n start() {\n this._flush();\n this._isServing = true;\n if (this._requestQueue.size > 0) {\n this._flush();\n }\n }\n _flush() {\n for (const requestKey of this._requestKeys) {\n this.serve(requestKey);\n }\n this._requestKeys = [];\n this._release();\n }\n _empty() {\n this._requestQueue.clear();\n }\n _release() {\n this._pendingFlush.resolve();\n this._pendingFlush = deferredPromise();\n }\n stop() {\n this._isServing = false;\n }\n destroy() {\n this.stop();\n this._empty();\n this._release();\n }\n};\n\n// src/queue/host-request-queue.ts\nfunction hostRequestQueue(host) {\n const q = new RequestQueue();\n host.addController({\n hostConnected: q.start.bind(q),\n hostDisconnected: q.destroy.bind(q)\n });\n return q;\n}\n\n// src/screen-orientation/ScreenOrientationController.ts\nvar ScreenOrientationController = class {\n constructor(_host) {\n this._host = _host;\n this._isScreenOrientationLocked = false;\n this._logger = false ? new LogDispatcher(this._host) : void 0;\n this._updateScreenOrientation();\n this._listenerDisposal = new DisposalBin();\n _host.addController({\n hostConnected: this._handleHostConnected.bind(this),\n hostDisconnected: this._handleHostDisconnected.bind(this)\n });\n }\n async _handleHostConnected() {\n this._updateScreenOrientation();\n this._addScreenOrientationEventListeners();\n }\n async _handleHostDisconnected() {\n if (this.canOrient && this._isScreenOrientationLocked)\n await this.unlock();\n this._listenerDisposal.empty();\n }\n get currentOrientation() {\n return this._screenOrientation;\n }\n get canOrient() {\n return canOrientScreen();\n }\n get isLocked() {\n return this._isScreenOrientationLocked;\n }\n async lock(lockType) {\n this._throwIfScreenOrientationUnavailable();\n if (false) {\n this._logger?.debug(\"locking screen orientation to\", lockType);\n }\n await screen.orientation.lock(lockType);\n this._isScreenOrientationLocked = true;\n this._host.dispatchEvent(\n vdsEvent(\"vds-screen-orientation-lock-change\", {\n bubbles: true,\n composed: true,\n detail: lockType\n })\n );\n }\n async unlock() {\n this._throwIfScreenOrientationUnavailable();\n if (false) {\n this._logger?.debug(\"unlocking screen orientation\");\n }\n await screen.orientation.unlock();\n this._isScreenOrientationLocked = false;\n this._host.dispatchEvent(\n vdsEvent(\"vds-screen-orientation-lock-change\", {\n bubbles: true,\n composed: true,\n detail: screen.orientation.type\n })\n );\n }\n _addScreenOrientationEventListeners() {\n if (!this.canOrient)\n return;\n this._listenerDisposal.add(this._addScreenOrientationChangeEventListener());\n }\n _addScreenOrientationChangeEventListener() {\n return listen(screen.orientation, \"change\", this._handleOrientationChange.bind(this));\n }\n _handleOrientationChange(event) {\n this._screenOrientation = window.screen.orientation.type;\n if (false) {\n this._logger?.debug(\"screen orientation changed to\", this._screenOrientation);\n }\n this._host.dispatchEvent(\n vdsEvent(\"vds-screen-orientation-change\", {\n bubbles: true,\n composed: true,\n detail: this._screenOrientation,\n triggerEvent: event\n })\n );\n }\n _updateScreenOrientation() {\n this._screenOrientation = IS_CLIENT ? window.screen?.orientation?.type : void 0;\n }\n _throwIfScreenOrientationUnavailable() {\n if (this.canOrient)\n return;\n throw Error(\"Screen orientation API is not available.\");\n }\n};\n\n// src/utils/object.ts\nfunction keysOf(obj) {\n return Object.keys(obj);\n}\nfunction pick(obj, keys) {\n return keys.reduce(\n (newObj, key2) => ({\n ...newObj,\n [key2]: obj[key2]\n }),\n {}\n );\n}\nfunction omit(obj, keys) {\n return keysOf(obj).filter((key2) => keys.indexOf(key2) < 0).reduce(\n (newObj, key2) => ({\n ...newObj,\n [key2]: obj[key2]\n }),\n {}\n );\n}\nvar hasOwnProperty = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop);\nvar sortObjectsBy = (objects, sortKey) => objects.sort((a, b) => {\n if (a[sortKey] === b[sortKey])\n return 0;\n return a[sortKey] < b[sortKey] ? -1 : 1;\n});\n\n// src/stores/store-subscription.ts\nfunction storeSubscription(host, store, onChange) {\n let consumer;\n let unsubscribe;\n const subscribe = () => {\n unsubscribe = (consumer?.value ?? store).subscribe(onChange);\n };\n if (isContext(store)) {\n consumer = store.consume(host);\n }\n host.addController({\n hostConnected() {\n if (isContext(store)) {\n consumer.whenRegistered(subscribe);\n } else {\n subscribe();\n }\n },\n hostDisconnected() {\n unsubscribe?.();\n }\n });\n}\n\n// src/stores/stores.ts\nvar subscriberQueue = [];\nfunction readable(value, start) {\n return {\n initialValue: value,\n subscribe: writable(value, start).subscribe\n };\n}\nfunction writable(value, start = noop) {\n let stop;\n const subscribers = /* @__PURE__ */ new Set();\n function set(newValue) {\n if (safeNotEqual(value, newValue)) {\n value = newValue;\n if (stop) {\n const runQueue = !subscriberQueue.length;\n for (const subscriber of subscribers) {\n subscriber[1]();\n subscriberQueue.push(subscriber, value);\n }\n if (runQueue) {\n for (let i = 0; i < subscriberQueue.length; i += 2) {\n subscriberQueue[i][0](subscriberQueue[i + 1]);\n }\n subscriberQueue.length = 0;\n }\n }\n }\n }\n function update(updater) {\n set(updater(value));\n }\n function subscribe(run, invalidate = noop) {\n const subscriber = [run, invalidate];\n subscribers.add(subscriber);\n if (subscribers.size === 1) {\n stop = start(set) || noop;\n }\n run(value);\n return () => {\n subscribers.delete(subscriber);\n if (subscribers.size === 0) {\n stop?.();\n stop = null;\n }\n };\n }\n return { initialValue: value, set, update, subscribe };\n}\nfunction derived(stores, fn, initialValue) {\n const single = !Array.isArray(stores);\n const storesArray = single ? [stores] : stores;\n const auto = fn.length < 2;\n return readable(initialValue, (set) => {\n let initialized = false;\n const values = [];\n let pending = 0;\n let cleanup = noop;\n const sync = () => {\n if (pending) {\n return;\n }\n cleanup();\n const result = fn(single ? values[0] : values, set);\n if (auto) {\n set(result);\n } else {\n cleanup = isFunction(result) ? result : noop;\n }\n };\n const unsubscribers = storesArray.map(\n (store, i) => store.subscribe(\n (value) => {\n values[i] = value;\n pending &= ~(1 << i);\n if (initialized) {\n sync();\n }\n },\n () => {\n pending |= 1 << i;\n }\n )\n );\n initialized = true;\n sync();\n return function stop() {\n unsubscribers.forEach((fn2) => fn2());\n cleanup();\n };\n });\n}\nfunction getStoreValue(store) {\n let value;\n store.subscribe((_) => value = _)();\n return value;\n}\n\n// src/stores/store-record.ts\nfunction storeRecordSubscription(host, store, key2, onChange) {\n if (isContext(store)) {\n const consumer = store.consume(host);\n let unsubscribe;\n const subscribe = () => {\n unsubscribe = consumer.value[key2].subscribe(onChange);\n };\n host.addController({\n hostConnected: () => {\n consumer.whenRegistered(subscribe);\n },\n hostDisconnected: () => {\n unsubscribe?.();\n }\n });\n } else {\n return storeSubscription(host, store[key2], onChange);\n }\n}\nfunction copyStoreRecords(storeRecordA, storeRecordB) {\n for (const key2 of keysOf(storeRecordA)) {\n const storeA = storeRecordA[key2];\n const storeB = storeRecordB[key2];\n if (!storeA || !storeB)\n continue;\n const valA = getStoreValue(storeA);\n const valB = getStoreValue(storeB);\n if (valA !== valB)\n storeB.set(valA);\n }\n}\nfunction unwrapStoreRecord(store) {\n return new Proxy(store, {\n get(target, key2) {\n return getStoreValue(target[key2]);\n },\n has(target, key2) {\n return Reflect.has(target, key2);\n },\n ownKeys(target) {\n return Reflect.ownKeys(target);\n },\n getOwnPropertyDescriptor(target, key2) {\n return Reflect.getOwnPropertyDescriptor(target, key2);\n }\n });\n}\n\n// src/utils/aria.ts\nfunction ariaBool(value) {\n return value ? \"true\" : \"false\";\n}\n\n// src/utils/array.ts\nfunction isScalarArrayEqual(arrayA, arrayB) {\n return arrayA.length === arrayB.length && arrayA.every((value, i) => value === arrayB[i]);\n}\nfunction filterUnique(items, key2, options = {}) {\n const seen = /* @__PURE__ */ new Set();\n return items.filter((item) => {\n if (options.removeNull && isNull(item[key2]))\n return false;\n if (options.removeUndefined && isUndefined(item[key2]))\n return false;\n const isUnique = !seen.has(item[key2]);\n if (!isUnique) {\n options.onDuplicateFound?.(item);\n }\n seen.add(item[key2]);\n return isUnique;\n });\n}\n\n// src/utils/dom.ts\nfunction raf(callback) {\n return new Promise((resolve) => {\n const rafId = window.requestAnimationFrame(async () => {\n await callback?.();\n resolve(rafId);\n });\n });\n}\nfunction walkUpDOMTree(node, onDiscover) {\n let parent = node.parentElement;\n while (parent) {\n const skip = onDiscover(parent);\n parent = skip ? null : parent.parentElement;\n }\n}\nfunction buildExportPartsAttr(parts, prefix) {\n return parts.map(\n (part) => `${part}: ${!isFunction(prefix) ? prefix ? `${prefix}-` : \"\" : prefix(part)}${part}`\n ).join(\", \");\n}\nfunction safelyDefineCustomElement(name, constructor, isClient = IS_CLIENT) {\n const isElementRegistered = isClient && !isUndefined(window.customElements.get(name));\n if (!isClient || isElementRegistered)\n return;\n window.customElements.define(name, constructor);\n}\nfunction setAttribute(element, attrName, attrValue) {\n if (isNil(attrValue) || attrValue === false) {\n element.removeAttribute(attrName);\n } else {\n const value = isString(attrValue) ? attrValue : \"\";\n element.setAttribute(attrName, value);\n }\n}\nfunction setAttributeIfEmpty(element, attrName, attrValue) {\n if (!element.hasAttribute(attrName)) {\n element.setAttribute(attrName, attrValue);\n }\n}\nfunction setCSSProperty(element, name, value, prefix = \"vds\") {\n element.style.setProperty(`--${prefix}-${name}`, value ? value : null);\n}\nfunction getSlottedChildren(el, name) {\n const selector = name ? `slot[name=\"${name}\"]` : \"slot:not([name])\";\n const slot = el.shadowRoot?.querySelector(selector);\n const childNodes = slot?.assignedNodes({ flatten: true }) ?? [];\n return Array.prototype.filter.call(childNodes, (node) => node.nodeType == Node.ELEMENT_NODE);\n}\nfunction getElementAttributes(elementCtor) {\n return new Set(elementCtor.observedAttributes);\n}\nfunction observeAttributes(element, attributes, onChange, { skipInitial = false } = {}) {\n const callback = (attrName) => {\n const attrValue = element.getAttribute(attrName);\n onChange?.(attrName, attrValue);\n };\n const observer = new MutationObserver((mutations) => {\n for (const mutation of mutations) {\n if (mutation.type === \"attributes\") {\n callback(mutation.attributeName);\n }\n }\n });\n if (!skipInitial) {\n for (const attrName of attributes) {\n callback(attrName);\n }\n }\n observer.observe(element, {\n attributeFilter: Array.from(attributes)\n });\n return observer;\n}\nfunction requestIdleCallback(callback) {\n if (false) {\n callback();\n return;\n }\n const idle = window.requestIdleCallback ?? ((fn) => fn());\n if (document.readyState === \"complete\") {\n idle(callback);\n } else {\n window.addEventListener(\n \"load\",\n () => {\n idle(callback);\n },\n { once: true }\n );\n }\n}\n\n// src/utils/keyboard.ts\nfunction isKeyboardEvent(event) {\n return event?.type.startsWith(\"key\") ?? false;\n}\nfunction wasEnterKeyPressed(event) {\n return isKeyboardEvent(event) && event.key === \"Enter\";\n}\nfunction wasEscapeKeyPressed(event) {\n return isKeyboardEvent(event) && event.key === \"Escape\";\n}\nfunction isKeyboardClick(event) {\n return isKeyboardEvent(event) && (event.key === \"Enter\" || event.key === \" \");\n}\n\n// src/utils/network.ts\nfunction tryParseJSON(json) {\n if (!isString(json))\n return void 0;\n try {\n return JSON.parse(json);\n } catch (error) {\n return void 0;\n }\n}\nfunction isObjOrJSON(value) {\n return isString(value) && value.startsWith(\"{\") || isObject(value);\n}\nfunction objOrParseJSON(value) {\n return isObject(value) ? value : tryParseJSON(value);\n}\nfunction loadImage(src, minWidth = 1) {\n return new Promise((resolve, reject) => {\n const image = new Image();\n const handler = () => {\n image.naturalWidth >= minWidth ? resolve(image) : reject(image);\n };\n Object.assign(image, { onload: handler, onerror: handler, src });\n });\n}\nasync function loadScript(src) {\n const hasLoaded = document.querySelector(`script[src=\"${src}\"]`);\n if (!isNull(hasLoaded))\n return;\n const script = document.createElement(\"script\");\n const load = deferredPromise();\n script.src = src;\n script.onload = load.resolve;\n script.onerror = load.reject;\n const firstScriptTag = document.getElementsByTagName(\"script\")[0];\n if (!isNil(firstScriptTag.parentNode)) {\n firstScriptTag.parentNode.insertBefore(script, firstScriptTag);\n }\n return load.promise;\n}\nfunction decodeJSON(data) {\n if (!isObjOrJSON(data))\n return void 0;\n return objOrParseJSON(data);\n}\nfunction tryDecodeURIComponent(component, fallback = \"\", isClient = IS_CLIENT) {\n if (!isClient)\n return fallback;\n try {\n return window.decodeURIComponent(component);\n } catch (error) {\n return fallback;\n }\n}\nvar QUERY_STRING_REGEX = /(?:^[#?]?|&)([^=&]+)(?:=([^&]*))?/g;\nfunction parseQueryString(qs) {\n const params = /* @__PURE__ */ Object.create(null);\n if (isUndefined(qs))\n return params;\n let match;\n while (match = QUERY_STRING_REGEX.exec(qs)) {\n const name = tryDecodeURIComponent(match[1], match[1]).replace(\"[]\", \"\");\n const value = isString(match[2]) ? tryDecodeURIComponent(match[2].replace(/\\+/g, \" \"), match[2]) : \"\";\n const currValue = params[name];\n if (currValue && !isArray(currValue))\n params[name] = [currValue];\n currValue ? params[name].push(value) : params[name] = value;\n }\n return params;\n}\nfunction serializeQueryString(params) {\n const qs = [];\n const appendQueryParam = (param, v) => {\n qs.push(`${encodeURIComponent(param)}=${encodeURIComponent(v)}`);\n };\n Object.keys(params).forEach((param) => {\n const value = params[param];\n if (isNil(value))\n return;\n if (isArray(value)) {\n value.forEach((v) => appendQueryParam(param, v));\n } else {\n appendQueryParam(param, value);\n }\n });\n return qs.join(\"&\");\n}\nfunction preconnect(url, rel = \"preconnect\", isClient = IS_CLIENT) {\n if (!isClient)\n return false;\n const hasLink = document.querySelector(`link[href=\"${url}\"]`);\n if (!isNull(hasLink))\n return true;\n const link = document.createElement(\"link\");\n link.rel = rel;\n link.href = url;\n link.crossOrigin = \"true\";\n document.head.append(link);\n return true;\n}\nfunction appendQueryStringToURL(url, qs) {\n if (isUndefined(qs) || qs.length === 0)\n return url;\n const mainAndQuery = url.split(\"?\", 2);\n return mainAndQuery[0] + (!isUndefined(mainAndQuery[1]) ? `?${mainAndQuery[1]}&${qs}` : `?${qs}`);\n}\nfunction appendParamsToURL(url, params) {\n return appendQueryStringToURL(url, isObject(params) ? serializeQueryString(params) : params);\n}\nfunction decodeQueryString(qs) {\n if (!isString(qs))\n return void 0;\n return parseQueryString(qs);\n}\nvar ScriptLoader = class {\n static async load(src) {\n return new Promise((resolve, reject) => {\n if (this.pendingRequests[src]) {\n this.pendingRequests[src].push({ resolve, reject });\n return;\n }\n this.pendingRequests[src] = [{ resolve, reject }];\n loadScript(src).then(() => {\n this.pendingRequests[src].forEach((request) => request.resolve());\n delete this.pendingRequests[src];\n }).catch((err) => {\n this.pendingRequests[src].forEach((request) => request.reject(err));\n delete this.pendingRequests[src];\n });\n });\n }\n};\nScriptLoader.pendingRequests = {};\n\n// src/utils/scroll.ts\nfunction hideDocumentScrollbar(hidden) {\n window.requestAnimationFrame(() => {\n document.documentElement.classList[hidden ? \"add\" : \"remove\"](\"overflow-hidden\");\n document.documentElement.classList[!hidden ? \"add\" : \"remove\"](\"overflow-x-hidden\");\n });\n}\nfunction scrollIntoCenter(scroll, element, options = {}) {\n const scrollTop = isWindow(scroll) ? window.pageYOffset : scroll.scrollTop;\n const scrollHeight = isWindow(scroll) ? window.innerHeight : scroll.getBoundingClientRect().height;\n const elementRect = element.getBoundingClientRect();\n const center = elementRect.top + scrollTop - scrollHeight / 2;\n scroll.scrollTo({\n top: center + (options?.offset ?? 0),\n behavior: options.behaviour\n });\n}\n\n// src/utils/string.ts\nvar escapeQuotes = (str) => str.replace(/^\"+|\"+$/g, \"\").replace(/^'+|'+$/g, \"\");\nvar normalizeLineBreaks = (str) => str.replace(/\\\\r/g, \"\\n\");\nfunction splitLineBreaks(str) {\n if (typeof str !== \"string\")\n return [];\n return normalizeLineBreaks(str).split(\"\\n\");\n}\nfunction uppercaseFirstLetter(str) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n}\nfunction lowercaseFirstLetter(str) {\n return str.charAt(0).toLowerCase() + str.slice(1);\n}\nfunction kebabToTitleCase(str) {\n return uppercaseFirstLetter(str.replace(/-./g, (x) => \" \" + x[1].toUpperCase()));\n}\nfunction camelToKebabCase(str) {\n return str.replace(/([a-z])([A-Z])/g, \"$1-$2\").toLowerCase();\n}\nfunction kebabToCamelCase(str) {\n return str.replace(/-./g, (x) => x[1].toUpperCase());\n}\nfunction kebabToPascalCase(str) {\n return kebabToTitleCase(str).replace(/\\s/g, \"\");\n}\nfunction camelToTitleCase(str) {\n return uppercaseFirstLetter(str.replace(/([A-Z])/g, \" $1\"));\n}\n\n// src/utils/time.ts\nfunction padNumberWithZeroes(num, expectedLength) {\n const str = String(num);\n const actualLength = str.length;\n const shouldPad = actualLength < expectedLength;\n if (shouldPad) {\n const padLength = expectedLength - actualLength;\n const padding = `0`.repeat(padLength);\n return `${padding}${num}`;\n }\n return str;\n}\nvar TimeUnit = /* @__PURE__ */ ((TimeUnit2) => {\n TimeUnit2[\"Hours\"] = \"hours\";\n TimeUnit2[\"Minutes\"] = \"minutes\";\n TimeUnit2[\"Seconds\"] = \"seconds\";\n TimeUnit2[\"Fraction\"] = \"fraction\";\n return TimeUnit2;\n})(TimeUnit || {});\nfunction parseTime(duration) {\n const hours = Math.trunc(duration / 3600);\n const minutes = Math.trunc(duration % 3600 / 60);\n const seconds = Math.trunc(duration % 60);\n const fraction = Number((duration - Math.trunc(duration)).toPrecision(3));\n return {\n [\"hours\" /* Hours */]: hours,\n [\"minutes\" /* Minutes */]: minutes,\n [\"seconds\" /* Seconds */]: seconds,\n [\"fraction\" /* Fraction */]: fraction\n };\n}\nfunction formatTime(duration, shouldPadHours = false, shouldAlwaysShowHours = false) {\n const { hours, minutes, seconds } = parseTime(duration);\n const paddedHours = shouldPadHours ? padNumberWithZeroes(hours, 2) : hours;\n const paddedMinutes = padNumberWithZeroes(minutes, 2);\n const paddedSeconds = padNumberWithZeroes(seconds, 2);\n if (hours > 0 || shouldAlwaysShowHours) {\n return `${paddedHours}:${paddedMinutes}:${paddedSeconds}`;\n }\n return `${minutes}:${paddedSeconds}`;\n}\nfunction formatSpokenTime(duration) {\n const spokenParts = [];\n const { hours, minutes, seconds } = parseTime(duration);\n const pluralize = (num, word) => num === 1 ? word : `${word}s`;\n if (hours > 0) {\n spokenParts.push(`${hours} ${pluralize(hours, \"hour\")}`);\n }\n if (minutes > 0) {\n spokenParts.push(`${minutes} ${pluralize(minutes, \"minute\")}`);\n }\n if (seconds > 0 || spokenParts.length === 0) {\n spokenParts.push(`${seconds} ${pluralize(seconds, \"second\")}`);\n }\n return spokenParts.join(\", \");\n}\nfunction formatHtml5Duration(duration) {\n const { hours, minutes, seconds, fraction } = parseTime(duration);\n return `PT${hours}H${minutes}M${seconds + fraction}S`;\n}\n\n// src/utils/timing.ts\nimport debounce from \"just-debounce-it\";\nimport throttle from \"just-throttle\";\nfunction wait(delay) {\n return new Promise((resolve) => setTimeout(resolve, delay));\n}\nfunction rafThrottle(func) {\n let rafId;\n const pending = () => !isUndefined(rafId);\n const cancel = () => {\n if (isUndefined(rafId))\n return;\n window.cancelAnimationFrame(rafId);\n rafId = void 0;\n };\n function throttled(...args) {\n if (pending())\n return;\n rafId = window.requestAnimationFrame(() => {\n func.apply(this, args);\n rafId = void 0;\n });\n }\n throttled.cancel = cancel;\n throttled.pending = pending;\n return throttled;\n}\nexport {\n ContextConsumerController,\n ContextProviderController,\n DisposalBin,\n FocusVisibleController,\n FullscreenController,\n GROUPED_LOG_ID,\n IS_ANDROID,\n IS_CHROME,\n IS_CLIENT,\n IS_FIREFOX,\n IS_IOS,\n IS_IPHONE,\n IS_MOBILE,\n IS_SAFARI,\n IntersectionController,\n LogController,\n LogDispatcher,\n LogLevelColor,\n LogLevelValue,\n ORIGIN,\n PageController,\n RequestQueue,\n ScreenOrientationController,\n ScriptLoader,\n TimeUnit,\n UA,\n VdsEvent,\n WithFocus,\n adoptOrphans,\n appendParamsToURL,\n appendQueryStringToURL,\n appendTriggerEvent,\n ariaBool,\n buildExportPartsAttr,\n camelToKebabCase,\n camelToTitleCase,\n canAutoplay,\n canFullscreenVideo,\n canObserveIntersection,\n canOrientScreen,\n canPlayHLSNatively,\n canRotateScreen,\n canUsePiP,\n canUsePiPInChrome,\n canUsePiPInSafari,\n clampNumber,\n copyStoreRecords,\n createContext,\n createIntersectionController,\n createRegex,\n currentSafariVersion,\n debounce,\n decodeJSON,\n decodeQueryString,\n deferredPromise,\n derived,\n discover,\n discoverable,\n equal,\n escapeQuotes,\n eventListener,\n filterUnique,\n findTriggerEvent,\n focusVisiblePolyfill,\n focusableSelector,\n formatHtml5Duration,\n formatSpokenTime,\n formatTime,\n getStoreValue as get,\n getElementAttributes,\n getMediaSource,\n getNumberOfDecimalPlaces,\n getOriginEvent,\n getSlottedChildren,\n getSourceBuffer,\n groupedLog,\n hasOwnProperty,\n hasTriggerEvent,\n hideDocumentScrollbar,\n hostRequestQueue,\n ifNonEmpty,\n ifNumber,\n isArray,\n isBoolean,\n isContext,\n isFunction,\n isGroupedLog,\n isHlsjsSupported,\n isKeyboardClick,\n isKeyboardEvent,\n isMouseEvent,\n isNil,\n isNull,\n isNumber,\n isObjOrJSON,\n isObject,\n isPointerEvent,\n isReducedMotionPreferred,\n isScalarArrayEqual,\n isString,\n isTouchEvent,\n isUndefined,\n isVdsEvent,\n isWindow,\n kebabToCamelCase,\n kebabToPascalCase,\n kebabToTitleCase,\n keysOf,\n listen,\n loadImage,\n loadScript,\n logElementLifecycle,\n logEvent,\n lowercaseFirstLetter,\n noop,\n normalizeLineBreaks,\n notEqual,\n objOrParseJSON,\n observeAttributes,\n omit,\n padNumberWithZeroes,\n parseQueryString,\n parseTime,\n pick,\n preconnect,\n raf,\n rafThrottle,\n readable,\n redispatchEvent,\n requestIdleCallback,\n round,\n safeNotEqual,\n safelyDefineCustomElement,\n scrollIntoCenter,\n serializeQueryString,\n setAttribute,\n setAttributeIfEmpty,\n setCSSProperty,\n sortObjectsBy,\n splitLineBreaks,\n storeRecordSubscription,\n storeSubscription,\n throttle,\n timedPromise,\n tryDecodeURIComponent,\n tryParseJSON,\n unwrapStoreRecord,\n uppercaseFirstLetter,\n vdsEvent,\n wait,\n waitForEvent,\n walkTriggerEventChain,\n walkUpDOMTree,\n wasEnterKeyPressed,\n wasEscapeKeyPressed,\n writable\n};\n","// src/media/provider/media-provider-context.ts\nimport { createContext, writable } from \"@vidstack/foundation\";\nvar mediaProviderElementContext = createContext(\n () => writable(void 0)\n);\n\nexport {\n mediaProviderElementContext\n};\n","// src/media/MediaType.ts\nvar MediaType = /* @__PURE__ */ ((MediaType2) => {\n MediaType2[\"Unknown\"] = \"unknown\";\n MediaType2[\"Audio\"] = \"audio\";\n MediaType2[\"Video\"] = \"video\";\n MediaType2[\"LiveVideo\"] = \"live-video\";\n return MediaType2;\n})(MediaType || {});\n\n// src/media/ViewType.ts\nvar ViewType = /* @__PURE__ */ ((ViewType2) => {\n ViewType2[\"Unknown\"] = \"unknown\";\n ViewType2[\"Audio\"] = \"audio\";\n ViewType2[\"Video\"] = \"video\";\n return ViewType2;\n})(ViewType || {});\n\n// src/media/store.ts\nimport {\n createContext,\n keysOf,\n storeRecordSubscription,\n writable\n} from \"@vidstack/foundation\";\n\n// src/media/time-ranges.ts\nimport { isArray, isNumber, isUndefined } from \"@vidstack/foundation\";\nfunction rangeCheck(fnName, index, maxIndex) {\n if (!isNumber(index) || index < 0 || index > maxIndex) {\n throw new Error(\n `Failed to execute '${fnName}' on 'TimeRanges': The index provided (${index}) is non-numeric or out of bounds (0-${maxIndex}).`\n );\n }\n}\nfunction getRange(fnName, valueIndex, ranges, rangeIndex) {\n rangeCheck(fnName, rangeIndex, ranges.length - 1);\n return ranges[rangeIndex][valueIndex];\n}\nfunction createTimeRangesObj(ranges) {\n if (isUndefined(ranges) || ranges.length === 0) {\n const throwEmptyError = () => {\n throw new Error(\"This TimeRanges object is empty\");\n };\n return {\n length: 0,\n start: throwEmptyError,\n end: throwEmptyError\n };\n }\n return {\n length: ranges.length,\n start: getRange.bind(null, \"start\", 0, ranges),\n end: getRange.bind(null, \"end\", 1, ranges)\n };\n}\nfunction createTimeRanges(start, end) {\n if (isArray(start)) {\n return createTimeRangesObj(start);\n } else if (isUndefined(start) || isUndefined(end)) {\n return createTimeRangesObj();\n }\n return createTimeRangesObj([[start, end]]);\n}\n\n// src/media/store.ts\nvar MEDIA_STORE_DEFAULTS = {\n autoplay: false,\n autoplayError: void 0,\n buffered: createTimeRanges(),\n duration: 0,\n bufferedAmount: 0,\n canLoad: false,\n canPlay: false,\n canFullscreen: false,\n controls: false,\n poster: \"\",\n currentSrc: \"\",\n currentTime: 0,\n ended: false,\n error: void 0,\n fullscreen: false,\n userIdle: false,\n loop: false,\n mediaType: \"unknown\" /* Unknown */,\n muted: false,\n paused: true,\n played: createTimeRanges(),\n playing: false,\n playsinline: false,\n seekable: createTimeRanges(),\n seekableAmount: 0,\n seeking: false,\n src: [],\n started: false,\n viewType: \"unknown\" /* Unknown */,\n volume: 1,\n waiting: false\n};\nfunction createMediaStore() {\n const store = {};\n for (const prop of keysOf(MEDIA_STORE_DEFAULTS)) {\n store[prop] = writable(MEDIA_STORE_DEFAULTS[prop]);\n }\n return store;\n}\nvar DO_NOT_RESET_ON_SRC_CHANGE = /* @__PURE__ */ new Set([\n \"autoplay\",\n \"canFullscreen\",\n \"canLoad\",\n \"controls\",\n \"currentSrc\",\n \"loop\",\n \"muted\",\n \"playsinline\",\n \"poster\",\n \"src\",\n \"viewType\",\n \"volume\"\n]);\nfunction softResetMediaStore(store) {\n keysOf(store).forEach((prop) => {\n if (!DO_NOT_RESET_ON_SRC_CHANGE.has(prop)) {\n store[prop].set(store[prop].initialValue);\n }\n });\n}\nfunction resetMediaStore(store) {\n for (const prop of keysOf(MEDIA_STORE_DEFAULTS)) {\n store[prop].set(MEDIA_STORE_DEFAULTS[prop]);\n }\n}\nvar mediaStoreContext = createContext(createMediaStore);\nfunction mediaStoreSubscription(host, property, onChange) {\n return storeRecordSubscription(host, mediaStoreContext, property, onChange);\n}\n\nexport {\n MediaType,\n ViewType,\n MEDIA_STORE_DEFAULTS,\n createMediaStore,\n softResetMediaStore,\n resetMediaStore,\n mediaStoreContext,\n mediaStoreSubscription\n};\n","var __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __decorateClass = (decorators, target, key, kind) => {\n var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;\n for (var i = decorators.length - 1, decorator; i >= 0; i--)\n if (decorator = decorators[i])\n result = (kind ? decorator(target, key, result) : decorator(result)) || result;\n if (kind && result)\n __defProp(target, key, result);\n return result;\n};\n\nexport {\n __decorateClass\n};\n","/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=window,e=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&\"adoptedStyleSheets\"in Document.prototype&&\"replace\"in CSSStyleSheet.prototype,s=Symbol(),n=new WeakMap;class o{constructor(t,e,n){if(this._$cssResult$=!0,n!==s)throw Error(\"CSSResult is not constructable. Use `unsafeCSS` or `css` instead.\");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const s=this.t;if(e&&void 0===t){const e=void 0!==s&&1===s.length;e&&(t=n.get(s)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&n.set(s,t))}return t}toString(){return this.cssText}}const r=t=>new o(\"string\"==typeof t?t:t+\"\",void 0,s),i=(t,...e)=>{const n=1===t.length?t[0]:e.reduce(((e,s,n)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if(\"number\"==typeof t)return t;throw Error(\"Value passed to 'css' function must be a 'css' function result: \"+t+\". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.\")})(s)+t[n+1]),t[0]);return new o(n,t,s)},S=(s,n)=>{e?s.adoptedStyleSheets=n.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet)):n.forEach((e=>{const n=document.createElement(\"style\"),o=t.litNonce;void 0!==o&&n.setAttribute(\"nonce\",o),n.textContent=e.cssText,s.appendChild(n)}))},c=e?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e=\"\";for(const s of t.cssRules)e+=s.cssText;return r(e)})(t):t;export{o as CSSResult,S as adoptStyles,i as css,c as getCompatibleStyle,e as supportsAdoptingStyleSheets,r as unsafeCSS};\n//# sourceMappingURL=css-tag.js.map\n","import{getCompatibleStyle as t,adoptStyles as i}from\"./css-tag.js\";export{CSSResult,adoptStyles,css,getCompatibleStyle,supportsAdoptingStyleSheets,unsafeCSS}from\"./css-tag.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */var s;const e=window,r=e.trustedTypes,h=r?r.emptyScript:\"\",o=e.reactiveElementPolyfillSupport,n={toAttribute(t,i){switch(i){case Boolean:t=t?h:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,i){let s=t;switch(i){case Boolean:s=null!==t;break;case Number:s=null===t?null:Number(t);break;case Object:case Array:try{s=JSON.parse(t)}catch(t){s=null}}return s}},a=(t,i)=>i!==t&&(i==i||t==t),l={attribute:!0,type:String,converter:n,reflect:!1,hasChanged:a},d=\"finalized\";class u extends HTMLElement{constructor(){super(),this._$Ei=new Map,this.isUpdatePending=!1,this.hasUpdated=!1,this._$El=null,this._$Eu()}static addInitializer(t){var i;this.finalize(),(null!==(i=this.h)&&void 0!==i?i:this.h=[]).push(t)}static get observedAttributes(){this.finalize();const t=[];return this.elementProperties.forEach(((i,s)=>{const e=this._$Ep(s,i);void 0!==e&&(this._$Ev.set(e,s),t.push(e))})),t}static createProperty(t,i=l){if(i.state&&(i.attribute=!1),this.finalize(),this.elementProperties.set(t,i),!i.noAccessor&&!this.prototype.hasOwnProperty(t)){const s=\"symbol\"==typeof t?Symbol():\"__\"+t,e=this.getPropertyDescriptor(t,s,i);void 0!==e&&Object.defineProperty(this.prototype,t,e)}}static getPropertyDescriptor(t,i,s){return{get(){return this[i]},set(e){const r=this[t];this[i]=e,this.requestUpdate(t,r,s)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)||l}static finalize(){if(this.hasOwnProperty(d))return!1;this[d]=!0;const t=Object.getPrototypeOf(this);if(t.finalize(),void 0!==t.h&&(this.h=[...t.h]),this.elementProperties=new Map(t.elementProperties),this._$Ev=new Map,this.hasOwnProperty(\"properties\")){const t=this.properties,i=[...Object.getOwnPropertyNames(t),...Object.getOwnPropertySymbols(t)];for(const s of i)this.createProperty(s,t[s])}return this.elementStyles=this.finalizeStyles(this.styles),!0}static finalizeStyles(i){const s=[];if(Array.isArray(i)){const e=new Set(i.flat(1/0).reverse());for(const i of e)s.unshift(t(i))}else void 0!==i&&s.push(t(i));return s}static _$Ep(t,i){const s=i.attribute;return!1===s?void 0:\"string\"==typeof s?s:\"string\"==typeof t?t.toLowerCase():void 0}_$Eu(){var t;this._$E_=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$Eg(),this.requestUpdate(),null===(t=this.constructor.h)||void 0===t||t.forEach((t=>t(this)))}addController(t){var i,s;(null!==(i=this._$ES)&&void 0!==i?i:this._$ES=[]).push(t),void 0!==this.renderRoot&&this.isConnected&&(null===(s=t.hostConnected)||void 0===s||s.call(t))}removeController(t){var i;null===(i=this._$ES)||void 0===i||i.splice(this._$ES.indexOf(t)>>>0,1)}_$Eg(){this.constructor.elementProperties.forEach(((t,i)=>{this.hasOwnProperty(i)&&(this._$Ei.set(i,this[i]),delete this[i])}))}createRenderRoot(){var t;const s=null!==(t=this.shadowRoot)&&void 0!==t?t:this.attachShadow(this.constructor.shadowRootOptions);return i(s,this.constructor.elementStyles),s}connectedCallback(){var t;void 0===this.renderRoot&&(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),null===(t=this._$ES)||void 0===t||t.forEach((t=>{var i;return null===(i=t.hostConnected)||void 0===i?void 0:i.call(t)}))}enableUpdating(t){}disconnectedCallback(){var t;null===(t=this._$ES)||void 0===t||t.forEach((t=>{var i;return null===(i=t.hostDisconnected)||void 0===i?void 0:i.call(t)}))}attributeChangedCallback(t,i,s){this._$AK(t,s)}_$EO(t,i,s=l){var e;const r=this.constructor._$Ep(t,s);if(void 0!==r&&!0===s.reflect){const h=(void 0!==(null===(e=s.converter)||void 0===e?void 0:e.toAttribute)?s.converter:n).toAttribute(i,s.type);this._$El=t,null==h?this.removeAttribute(r):this.setAttribute(r,h),this._$El=null}}_$AK(t,i){var s;const e=this.constructor,r=e._$Ev.get(t);if(void 0!==r&&this._$El!==r){const t=e.getPropertyOptions(r),h=\"function\"==typeof t.converter?{fromAttribute:t.converter}:void 0!==(null===(s=t.converter)||void 0===s?void 0:s.fromAttribute)?t.converter:n;this._$El=r,this[r]=h.fromAttribute(i,t.type),this._$El=null}}requestUpdate(t,i,s){let e=!0;void 0!==t&&(((s=s||this.constructor.getPropertyOptions(t)).hasChanged||a)(this[t],i)?(this._$AL.has(t)||this._$AL.set(t,i),!0===s.reflect&&this._$El!==t&&(void 0===this._$EC&&(this._$EC=new Map),this._$EC.set(t,s))):e=!1),!this.isUpdatePending&&e&&(this._$E_=this._$Ej())}async _$Ej(){this.isUpdatePending=!0;try{await this._$E_}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var t;if(!this.isUpdatePending)return;this.hasUpdated,this._$Ei&&(this._$Ei.forEach(((t,i)=>this[i]=t)),this._$Ei=void 0);let i=!1;const s=this._$AL;try{i=this.shouldUpdate(s),i?(this.willUpdate(s),null===(t=this._$ES)||void 0===t||t.forEach((t=>{var i;return null===(i=t.hostUpdate)||void 0===i?void 0:i.call(t)})),this.update(s)):this._$Ek()}catch(t){throw i=!1,this._$Ek(),t}i&&this._$AE(s)}willUpdate(t){}_$AE(t){var i;null===(i=this._$ES)||void 0===i||i.forEach((t=>{var i;return null===(i=t.hostUpdated)||void 0===i?void 0:i.call(t)})),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$Ek(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$E_}shouldUpdate(t){return!0}update(t){void 0!==this._$EC&&(this._$EC.forEach(((t,i)=>this._$EO(i,this[i],t))),this._$EC=void 0),this._$Ek()}updated(t){}firstUpdated(t){}}u[d]=!0,u.elementProperties=new Map,u.elementStyles=[],u.shadowRootOptions={mode:\"open\"},null==o||o({ReactiveElement:u}),(null!==(s=e.reactiveElementVersions)&&void 0!==s?s:e.reactiveElementVersions=[]).push(\"1.6.3\");export{u as ReactiveElement,n as defaultConverter,a as notEqual};\n//# sourceMappingURL=reactive-element.js.map\n","import{ReactiveElement as t}from\"@lit/reactive-element\";export*from\"@lit/reactive-element\";import{render as e,noChange as i}from\"lit-html\";export*from\"lit-html\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */var l,o;const r=t;class s extends t{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){var t,e;const i=super.createRenderRoot();return null!==(t=(e=this.renderOptions).renderBefore)&&void 0!==t||(e.renderBefore=i.firstChild),i}update(t){const i=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=e(i,this.renderRoot,this.renderOptions)}connectedCallback(){var t;super.connectedCallback(),null===(t=this._$Do)||void 0===t||t.setConnected(!0)}disconnectedCallback(){var t;super.disconnectedCallback(),null===(t=this._$Do)||void 0===t||t.setConnected(!1)}render(){return i}}s.finalized=!0,s._$litElement$=!0,null===(l=globalThis.litElementHydrateSupport)||void 0===l||l.call(globalThis,{LitElement:s});const n=globalThis.litElementPolyfillSupport;null==n||n({LitElement:s});const h={_$AK:(t,e,i)=>{t._$AK(e,i)},_$AL:t=>t._$AL};(null!==(o=globalThis.litElementVersions)&&void 0!==o?o:globalThis.litElementVersions=[]).push(\"3.3.3\");export{s as LitElement,r as UpdatingElement,h as _$LE};\n//# sourceMappingURL=lit-element.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst i=(i,e)=>\"method\"===e.kind&&e.descriptor&&!(\"value\"in e.descriptor)?{...e,finisher(n){n.createProperty(e.key,i)}}:{kind:\"field\",key:Symbol(),placement:\"own\",descriptor:{},originalKey:e.key,initializer(){\"function\"==typeof e.initializer&&(this[e.key]=e.initializer.call(this))},finisher(n){n.createProperty(e.key,i)}},e=(i,e,n)=>{e.constructor.createProperty(n,i)};function n(n){return(t,o)=>void 0!==o?e(n,t,o):i(n,t)}export{n as property};\n//# sourceMappingURL=property.js.map\n","import{property as r}from\"./property.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function t(t){return r({...t,state:!0})}export{t as state};\n//# sourceMappingURL=state.js.map\n","import {\n createMediaStore\n} from \"./chunk.O2H47C42.js\";\nimport {\n __decorateClass\n} from \"./chunk.LNH2V2XS.js\";\n\n// src/media/provider/MediaProviderElement.ts\nimport {\n clampNumber,\n copyStoreRecords,\n createIntersectionController,\n discoverable,\n DisposalBin,\n FullscreenController,\n hostRequestQueue,\n isUndefined,\n raf,\n requestIdleCallback,\n RequestQueue,\n ScreenOrientationController,\n unwrapStoreRecord,\n vdsEvent\n} from \"@vidstack/foundation\";\nimport { html, LitElement } from \"lit\";\nimport { property, state } from \"lit/decorators.js\";\nvar mediaProviderDiscoveryId = Symbol(\"@vidstack/media-provider-discovery\");\nvar MediaProviderElement = class extends LitElement {\n constructor() {\n super();\n this._disconnectDisposal = new DisposalBin();\n this._logger = false ? new LogDispatcher(this) : void 0;\n this.loading = \"visible\";\n this._attemptingAutoplay = false;\n this.controllerQueue = new RequestQueue();\n this._store = createMediaStore();\n this._state = unwrapStoreRecord(this._store);\n this.connectedQueue = hostRequestQueue(this);\n this.mediaQueue = new RequestQueue();\n this.screenOrientationController = new ScreenOrientationController(this);\n this.fullscreenController = new FullscreenController(this, this.screenOrientationController);\n discoverable(this, \"vds-media-provider-connect\", { register: mediaProviderDiscoveryId });\n const intersectionController = createIntersectionController(\n this,\n { target: this, threshold: 0 },\n (entries) => {\n if (!/(visible|lazy)/.test(this.loading)) {\n intersectionController.hostDisconnected();\n return;\n }\n if (entries[0]?.isIntersecting) {\n this.startLoadingMedia();\n intersectionController.hostDisconnected();\n }\n }\n );\n }\n connectedCallback() {\n super.connectedCallback();\n this._logMediaEvents();\n window.requestAnimationFrame(() => {\n if (isUndefined(this.canLoadPoster)) {\n this.canLoadPoster = true;\n }\n });\n }\n firstUpdated(changedProperties) {\n super.firstUpdated(changedProperties);\n this.dispatchEvent(\n vdsEvent(\"vds-fullscreen-support-change\", {\n detail: this.canFullscreen\n })\n );\n if (this.canLoad || this.loading === \"eager\") {\n window?.requestAnimationFrame(() => {\n this.startLoadingMedia();\n });\n } else if (this.loading === \"idle\") {\n requestIdleCallback(() => {\n this.startLoadingMedia();\n });\n }\n }\n render() {\n return html`<slot @slotchange=\"${this.handleDefaultSlotChange}\"></slot>`;\n }\n disconnectedCallback() {\n this._updateMediaStoreOnDisconnect(this._store);\n this.mediaQueue.destroy();\n this._disconnectDisposal.empty();\n super.disconnectedCallback();\n raf(() => {\n raf(() => {\n if (!this.isConnected)\n this.destroy();\n });\n });\n }\n _updateMediaStoreOnDisconnect(store) {\n store.paused.set(true);\n store.playing.set(false);\n store.seeking.set(false);\n store.waiting.set(false);\n store.fullscreen.set(false);\n }\n destroy() {\n if (this.isConnected)\n this.disconnectedCallback();\n this.dispatchEvent(vdsEvent(\"vds-destroy\"));\n }\n _logMediaEvents() {\n if (false) {\n const mediaEvents = [\n \"vds-abort\",\n \"vds-can-play\",\n \"vds-can-play-through\",\n \"vds-current-src-change\",\n \"vds-duration-change\",\n \"vds-emptied\",\n \"vds-ended\",\n \"vds-error\",\n \"vds-fullscreen-change\",\n \"vds-loaded-data\",\n \"vds-loaded-metadata\",\n \"vds-load-start\",\n \"vds-media-type-change\",\n \"vds-pause\",\n \"vds-play\",\n \"vds-playing\",\n \"vds-progress\",\n \"vds-seeked\",\n \"vds-seeking\",\n \"vds-stalled\",\n \"vds-started\",\n \"vds-suspend\",\n \"vds-replay\",\n \"vds-view-type-change\",\n \"vds-volume-change\",\n \"vds-waiting\"\n ];\n mediaEvents.forEach((eventType) => {\n const dispose = listen(this, eventType, (event) => {\n this._logger?.infoGroup(`\\u{1F4E1} dispatching \\`${eventType}\\``).labelledLog(\"State\", { ...this.state }).labelledLog(\"Event\", event).dispatch();\n });\n this._disconnectDisposal.add(dispose);\n });\n }\n }\n get volume() {\n return this._getVolume();\n }\n set volume(newVolume) {\n this.mediaQueue.queue(\"volume\", () => {\n const oldVol = this.volume;\n const newVol = clampNumber(0, newVolume, 1);\n if (oldVol !== newVol) {\n this._setVolume(newVol);\n this.requestUpdate(\"volume\", oldVol);\n }\n });\n }\n get paused() {\n return this._getPaused();\n }\n set paused(newPaused) {\n this.mediaQueue.queue(\"paused\", () => {\n if (this.paused === newPaused)\n return;\n try {\n if (!newPaused) {\n this.play();\n } else {\n this.pause();\n }\n this.requestUpdate(\"paused\", !newPaused);\n } catch (e) {\n this._logger?.error(\"paused-change-fail\", e);\n }\n });\n }\n get currentTime() {\n return this._getCurrentTime();\n }\n set currentTime(newTime) {\n this.mediaQueue.queue(\"current-time\", () => {\n const oldTime = this.currentTime;\n if (oldTime !== newTime) {\n this._setCurrentTime(newTime);\n this.requestUpdate(\"currentTime\", oldTime);\n }\n });\n }\n get muted() {\n return this._getMuted();\n }\n set muted(newMuted) {\n this.mediaQueue.queue(\"muted\", () => {\n const oldMuted = this.muted;\n if (oldMuted !== newMuted) {\n this._setMuted(newMuted);\n this.requestUpdate(\"muted\", oldMuted);\n }\n });\n }\n get poster() {\n return this.state.poster;\n }\n set poster(newPoster) {\n const oldPoster = this.poster;\n if (oldPoster !== newPoster) {\n this.dispatchEvent(vdsEvent(\"vds-poster-change\", { detail: newPoster }));\n this.requestUpdate(\"poster\", oldPoster);\n }\n }\n get loop() {\n return this.state.loop;\n }\n set loop(newLoop) {\n const oldLoop = this.loop;\n if (oldLoop !== newLoop) {\n this.dispatchEvent(vdsEvent(\"vds-loop-change\", { detail: newLoop }));\n this.requestUpdate(\"loop\", oldLoop);\n }\n }\n get controls() {\n return this.state.controls;\n }\n set controls(newControls) {\n const oldControls = this.controls;\n if (oldControls !== newControls) {\n this.dispatchEvent(vdsEvent(\"vds-controls-change\", { detail: newControls }));\n this.requestUpdate(\"controls\", oldControls);\n }\n }\n get canLoad() {\n return this.state.canLoad;\n }\n startLoadingMedia() {\n if (this.state.canPlay)\n return;\n this.dispatchEvent(vdsEvent(\"vds-can-load\"));\n }\n _throwIfNotReadyForPlayback() {\n if (!this.state.canPlay) {\n throw Error(`Media is not ready - wait for \\`vds-can-play\\` event.`);\n }\n }\n async _resetPlaybackIfEnded() {\n if (!this.state.ended || this.state.currentTime === 0)\n return;\n return this._setCurrentTime(0);\n }\n _throwIfNotVideoView() {\n if (this.state.viewType !== \"video\" /* Video */) {\n throw Error(\"Player is currently not in a video view.\");\n }\n }\n async _handleMediaReady({ event, duration }) {\n if (this.state.canPlay)\n return;\n this.dispatchEvent(\n vdsEvent(\"vds-can-play\", {\n triggerEvent: event,\n detail: { duration }\n })\n );\n this.mediaQueue.start();\n if (false) {\n this._logger?.infoGroup(\"-~-~-~-~-~-~-~-~- \\u2705 MEDIA READY -~-~-~-~-~-~-~-~-\").labelledLog(\"State\", { ...this.state }).labelledLog(\"Event\", event).dispatch();\n }\n await this._attemptAutoplay();\n }\n _handleCurrentSrcChange(currentSrc, triggerEvent) {\n if (this.state.currentSrc === currentSrc)\n return;\n if (false) {\n this._logger?.infoGroup(\"\\u{1F4FC} Media source change\").labelledLog(\"Src\", this.state.src).labelledLog(\"Current Src\", currentSrc).dispatch();\n }\n this.mediaQueue.stop();\n this.dispatchEvent(\n vdsEvent(\"vds-current-src-change\", {\n detail: currentSrc,\n triggerEvent\n })\n );\n }\n get autoplay() {\n return this.state.autoplay;\n }\n set autoplay(newAutoplay) {\n if (this.autoplay !== newAutoplay) {\n this.dispatchEvent(vdsEvent(\"vds-autoplay-change\", { detail: newAutoplay }));\n this.requestUpdate(\"autoplay\", !newAutoplay);\n }\n this._attemptAutoplay();\n }\n get _canAttemptAutoplay() {\n return this.state.canPlay && this.state.autoplay && !this.state.started;\n }\n async _attemptAutoplay() {\n if (!this._canAttemptAutoplay)\n return;\n this._attemptingAutoplay = true;\n try {\n await this.play();\n this.dispatchEvent(vdsEvent(\"vds-autoplay\", { detail: { muted: this.muted } }));\n } catch (error) {\n this.dispatchEvent(\n vdsEvent(\"vds-autoplay-fail\", {\n detail: {\n muted: this.muted,\n error\n }\n })\n );\n this.requestUpdate();\n }\n this._attemptingAutoplay = false;\n }\n get controller() {\n return this._controller;\n }\n get logLevel() {\n return this._controller?.logLevel ?? \"silent\";\n }\n set logLevel(level) {\n if (false) {\n this.controllerQueue.queue(\"log-level\", () => {\n this._controller.logLevel = level;\n });\n }\n }\n get idleDelay() {\n return this._controller?.idleDelay ?? 0;\n }\n set idleDelay(delay) {\n this.controllerQueue.queue(\"idle-delay\", () => {\n this._controller.idleDelay = delay;\n });\n }\n attachMediaController(controller, onDisconnect) {\n this._controller = controller;\n this._store = controller._store;\n this._state = controller.state;\n this.controllerQueue.start();\n onDisconnect(() => {\n this.controllerQueue.destroy();\n this._store = createMediaStore();\n this._state = unwrapStoreRecord(this._store);\n if (this._controller) {\n copyStoreRecords(this._controller._store, this._store);\n this._updateMediaStoreOnDisconnect(this._controller._store);\n }\n this._controller = void 0;\n });\n }\n dispatchEvent(event) {\n if (!this._controller && event.type.startsWith(\"vds-\") && event.type !== \"vds-destroy\") {\n this.controllerQueue.queue(event.type, () => {\n super.dispatchEvent(event);\n });\n return false;\n }\n return super.dispatchEvent(event);\n }\n store() {\n return this._store;\n }\n get state() {\n return this._state;\n }\n get canFullscreen() {\n return this.fullscreenController.isSupported;\n }\n get fullscreen() {\n return this.fullscreenController.isFullscreen;\n }\n get fullscreenOrientation() {\n return this.fullscreenController.screenOrientationLock;\n }\n set fullscreenOrientation(lockType) {\n const prevLockType = this.fullscreenController.screenOrientationLock;\n if (prevLockType !== lockType) {\n this.fullscreenController.screenOrientationLock = lockType;\n this.requestUpdate(\"fullscreen-orientation\", prevLockType);\n }\n }\n enterFullscreen() {\n return this.fullscreenController.enterFullscreen();\n }\n exitFullscreen() {\n return this.fullscreenController.exitFullscreen();\n }\n};\n__decorateClass([\n property({ type: Number })\n], MediaProviderElement.prototype, \"volume\", 1);\n__decorateClass([\n property({ type: Boolean })\n], MediaProviderElement.prototype, \"paused\", 1);\n__decorateClass([\n property({ type: Number })\n], MediaProviderElement.prototype, \"currentTime\", 1);\n__decorateClass([\n property({ type: Boolean })\n], MediaProviderElement.prototype, \"muted\", 1);\n__decorateClass([\n property()\n], MediaProviderElement.prototype, \"poster\", 1);\n__decorateClass([\n property({ type: Boolean })\n], MediaProviderElement.prototype, \"loop\", 1);\n__decorateClass([\n property({ type: Boolean })\n], MediaProviderElement.prototype, \"controls\", 1);\n__decorateClass([\n state()\n], MediaProviderElement.prototype, \"canLoadPoster\", 2);\n__decorateClass([\n property({ attribute: \"loading\" })\n], MediaProviderElement.prototype, \"loading\", 2);\n__decorateClass([\n property({ type: Boolean })\n], MediaProviderElement.prototype, \"autoplay\", 1);\n__decorateClass([\n property({ attribute: \"log-level\" })\n], MediaProviderElement.prototype, \"logLevel\", 1);\n__decorateClass([\n property({ attribute: \"idle-delay\", type: Number })\n], MediaProviderElement.prototype, \"idleDelay\", 1);\n__decorateClass([\n property({ attribute: \"fullscreen-orientation\" })\n], MediaProviderElement.prototype, \"fullscreenOrientation\", 1);\n\nexport {\n mediaProviderDiscoveryId,\n MediaProviderElement\n};\n","import {\n mediaProviderElementContext\n} from \"./chunk.APMKZUJJ.js\";\nimport {\n mediaProviderDiscoveryId\n} from \"./chunk.63VUN3OP.js\";\nimport {\n mediaStoreContext,\n mediaStoreSubscription,\n resetMediaStore,\n softResetMediaStore\n} from \"./chunk.O2H47C42.js\";\nimport {\n __decorateClass\n} from \"./chunk.LNH2V2XS.js\";\n\n// src/media/controller/UserIdleController.ts\nimport { DisposalBin, listen, vdsEvent } from \"@vidstack/foundation\";\nvar UserIdleController = class {\n constructor(_host, _mediaStore) {\n this._host = _host;\n this._mediaStore = _mediaStore;\n this._idle = false;\n this._mediaPaused = false;\n this._idlingPaused = false;\n this._disposal = new DisposalBin();\n this.delay = 2e3;\n _host.addController(this);\n }\n get paused() {\n return this._idlingPaused || this._mediaPaused;\n }\n set paused(paused) {\n this._idlingPaused = paused;\n this._handleIdleChange();\n }\n hostConnected() {\n this._disposal.add(\n this._mediaStore.paused.subscribe(($paused) => {\n this._mediaPaused = $paused;\n this._handleIdleChange();\n })\n );\n const startIdleTimerEvents = [\"pointerdown\", \"pointermove\", \"focus\", \"keydown\"];\n startIdleTimerEvents.forEach((eventType) => {\n const off = listen(this._host, eventType, this._handleIdleChange.bind(this));\n this._disposal.add(off);\n });\n }\n hostDisconnected() {\n this._disposal.empty();\n this._stopIdleTimer();\n }\n _handleIdleChange() {\n if (this.paused) {\n this._stopIdleTimer();\n } else {\n this._startIdleTimer();\n }\n }\n _startIdleTimer() {\n this._stopIdleTimer();\n this._idleTimeout = window.setTimeout(() => {\n this._dispatchIdleChange(!this.paused);\n }, this.delay);\n }\n _stopIdleTimer() {\n window.clearTimeout(this._idleTimeout);\n this._dispatchIdleChange(false);\n }\n _dispatchIdleChange(isIdle) {\n if (this._idle !== isIdle) {\n this._host.dispatchEvent(vdsEvent(\"vds-user-idle-change\", { detail: isIdle }));\n this._idle = isIdle;\n }\n }\n};\n\n// src/media/controller/MediaController.ts\nimport {\n appendTriggerEvent,\n copyStoreRecords,\n debounce,\n discover,\n DisposalBin as DisposalBin2,\n eventListener,\n isNil,\n keysOf,\n listen as listen2,\n RequestQueue,\n throttle,\n unwrapStoreRecord,\n vdsEvent as vdsEvent2\n} from \"@vidstack/foundation\";\nvar MediaController = class {\n constructor(_host) {\n this._host = _host;\n this._disconnectDisposal = new DisposalBin2();\n this.providerQueue = new RequestQueue();\n this.providerDisposal = new DisposalBin2();\n this._logController = false ? new LogController(this._host) : void 0;\n this._logger = false ? new LogDispatcher(this._host) : void 0;\n this._providerContext = mediaProviderElementContext.provide(this._host);\n this._mediaStoreProvider = mediaStoreContext.provide(this._host);\n this.state = unwrapStoreRecord(this._store);\n this._userIdleController = new UserIdleController(this._host, this._store);\n this._handleIdleChange = eventListener(this._host, \"vds-user-idle-change\", (event) => {\n this._store.userIdle.set(event.detail);\n this._satisfyMediaRequest(\"userIdle\", event);\n });\n this._pendingMediaRequests = {\n loading: [],\n play: [],\n pause: [],\n volume: [],\n fullscreen: [],\n seeked: [],\n seeking: [],\n userIdle: []\n };\n this._handleStartLoadingRequest = eventListener(\n this._host,\n \"vds-start-loading\",\n this._createMediaRequestHandler(\"loading\", (event) => {\n if (this.state.canLoad)\n return;\n this._pendingMediaRequests.loading.push(event);\n this._provider.startLoadingMedia();\n })\n );\n this._handleMuteRequest = eventListener(\n this._host,\n \"vds-mute-request\",\n this._createMediaRequestHandler(\"muted\", (event) => {\n if (this.state.muted)\n return;\n this._pendingMediaRequests.volume.push(event);\n this.provider.muted = true;\n })\n );\n this._handleUnmuteRequest = eventListener(\n this._host,\n \"vds-unmute-request\",\n this._createMediaRequestHandler(\"muted\", (event) => {\n if (!this.state.muted)\n return;\n this._pendingMediaRequests.volume.push(event);\n this.provider.muted = false;\n if (this.state.volume === 0) {\n this._pendingMediaRequests.volume.push(event);\n this.provider.volume = 0.25;\n }\n })\n );\n this._handlePlayRequest = eventListener(\n this._host,\n \"vds-play-request\",\n this._createMediaRequestHandler(\"paused\", (event) => {\n if (!this.state.paused)\n return;\n this._pendingMediaRequests.play.push(event);\n this.provider.paused = false;\n })\n );\n this._handlePauseRequest = eventListener(\n this._host,\n \"vds-pause-request\",\n this._createMediaRequestHandler(\"paused\", (event) => {\n if (this.state.paused)\n return;\n this._pendingMediaRequests.pause.push(event);\n this.provider.paused = true;\n })\n );\n this._isSeekingRequestPending = false;\n this._handleSeekingRequest = eventListener(\n this._host,\n \"vds-seeking-request\",\n this._createMediaRequestHandler(\"seeking\", (event) => {\n this._stopWaiting();\n this._pendingMediaRequests.seeking.push(event);\n this._isSeekingRequestPending = true;\n this._store.seeking.set(true);\n })\n );\n this._handleSeekRequest = eventListener(\n this._host,\n \"vds-seek-request\",\n this._createMediaRequestHandler(\"seeking\", (event) => {\n if (this.store.ended) {\n this._isReplay = true;\n }\n this._pendingMediaRequests.seeked.push(event);\n this._isSeekingRequestPending = false;\n let time = event.detail;\n if (this.state.duration - event.detail < 0.25) {\n time = this.state.duration;\n }\n this.provider.currentTime = time;\n })\n );\n this._handleVolumeChangeRequest = eventListener(\n this._host,\n \"vds-volume-change-request\",\n this._createMediaRequestHandler(\"volume\", (event) => {\n const volume = event.detail;\n if (this.state.volume === volume)\n return;\n this._pendingMediaRequests.volume.push(event);\n this.provider.volume = volume;\n if (volume > 0 && this.state.muted) {\n this._pendingMediaRequests.volume.push(event);\n this.provider.muted = false;\n }\n })\n );\n this._handleEnterFullscreenRequest = eventListener(\n this._host,\n \"vds-enter-fullscreen-request\",\n this._createMediaRequestHandler(\"fullscreen\", async (event) => {\n if (this.state.fullscreen)\n return;\n const target = event.detail ?? \"media\";\n if (target === \"media\" && this._host.canFullscreen) {\n this._pendingMediaRequests.fullscreen.push(event);\n await this._host.enterFullscreen?.();\n } else if (this.provider) {\n this._pendingMediaRequests.fullscreen.push(event);\n await this.provider.enterFullscreen();\n }\n })\n );\n this._handleExitFullscreenRequest = eventListener(\n this._host,\n \"vds-exit-fullscreen-request\",\n this._createMediaRequestHandler(\"fullscreen\", async (event) => {\n if (!this.state.fullscreen)\n return;\n const target = event.detail ?? \"media\";\n if (target === \"media\" && this._host.canFullscreen) {\n this._pendingMediaRequests.fullscreen.push(event);\n await this._host.exitFullscreen?.();\n } else if (this.provider) {\n this._pendingMediaRequests.fullscreen.push(event);\n await this.provider.exitFullscreen();\n }\n })\n );\n this._handleResumeIdlingRequest = eventListener(\n this._host,\n \"vds-resume-user-idle-request\",\n (event) => {\n if (!this._mediaRequestEventGateway(event))\n return;\n this._pendingMediaRequests.userIdle.push(event);\n this._userIdleController.paused = false;\n }\n );\n this._handlePauseIdlingRequest = eventListener(\n this._host,\n \"vds-pause-user-idle-request\",\n (event) => {\n if (!this._mediaRequestEventGateway(event))\n return;\n this._pendingMediaRequests.userIdle.push(event);\n this._userIdleController.paused = true;\n }\n );\n this._handleShowPosterRequest = eventListener(\n this._host,\n \"vds-show-poster-request\",\n this._createMediaRequestHandler(\"poster\", () => {\n this._provider.canLoadPoster = true;\n })\n );\n this._handleHidePosterRequest = eventListener(\n this._host,\n \"vds-hide-poster-request\",\n this._createMediaRequestHandler(\"poster\", () => {\n this._provider.canLoadPoster = false;\n })\n );\n this._handleLoopRequest = this._createMediaRequestHandler(\"loop\", () => {\n window.requestAnimationFrame(async () => {\n try {\n this._isLooping = true;\n this._isReplay = true;\n await this._provider.play();\n } catch (e) {\n this._isReplay = false;\n this._isLooping = false;\n }\n });\n });\n this._handleFullscreenChange = eventListener(\n this._host,\n \"vds-fullscreen-change\",\n (event) => {\n this._store.fullscreen.set(event.detail);\n if (event.target !== this._host)\n return;\n this._satisfyMediaRequest(\"fullscreen\", event);\n this._provider?.dispatchEvent(\n vdsEvent2(\"vds-fullscreen-change\", {\n detail: event.detail,\n triggerEvent: event\n })\n );\n }\n );\n this._handleFullscreenError = eventListener(\n this._host,\n \"vds-fullscreen-error\",\n (event) => {\n if (event.target !== this._host)\n return;\n this._satisfyMediaRequest(\"fullscreen\", event);\n this._provider?.dispatchEvent(\n vdsEvent2(\"vds-fullscreen-error\", {\n detail: event.detail,\n triggerEvent: event\n })\n );\n }\n );\n this._isReplay = false;\n this._isLooping = false;\n this._firingWaiting = false;\n this._mediaEvents = [];\n this._handleSeeking = throttle(\n (event) => {\n this._mediaEvents.push(event);\n this._store.seeking.set(true);\n this._store.currentTime.set(event.detail);\n this._satisfyMediaRequest(\"seeking\", event);\n },\n 150,\n { leading: true }\n );\n this._fireWaiting = debounce(() => {\n if (!this._originalWaitingEvent)\n return;\n this._firingWaiting = true;\n const event = vdsEvent2(\"vds-waiting\", this._originalWaitingEvent);\n this._mediaEvents.push(event);\n this._store.waiting.set(true);\n this._store.playing.set(false);\n this._provider?.dispatchEvent(event);\n this._originalWaitingEvent = void 0;\n this._firingWaiting = false;\n }, 300);\n this._skipInitialSrcChange = true;\n discover(_host, mediaProviderDiscoveryId, (provider, onDisconnect) => {\n this.attachMediaProvider(provider, onDisconnect);\n });\n _host.addController({\n hostConnected: () => {\n if (!this.state.canPlay) {\n this._host.setAttribute(\"aria-busy\", \"true\");\n }\n },\n hostDisconnected: () => {\n this._clearMediaStateTracking();\n this._clearPendingMediaRequests();\n this.providerQueue.destroy();\n this.providerDisposal.empty();\n this._skipInitialSrcChange = true;\n this._disconnectDisposal.empty();\n }\n });\n }\n get logLevel() {\n return this._logController?.logLevel ?? \"silent\";\n }\n set logLevel(level) {\n if (false) {\n this._logController.logLevel = level;\n }\n }\n get provider() {\n return this._provider;\n }\n attachMediaProvider(provider, onDisconnect) {\n if (!isNil(this.provider) || this.provider === provider)\n return;\n this._handleMediaProviderDisconnect();\n this._provider = provider;\n this._providerContext.value.set(provider);\n copyStoreRecords(this._provider._store, this._store);\n this._attachMediaEventListeners();\n provider.attachMediaController(this, (cb) => this._disconnectDisposal.add(cb));\n this._flushMediaProviderConnectedQueue();\n onDisconnect(this._handleMediaProviderDisconnect.bind(this));\n }\n _handleMediaProviderDisconnect() {\n if (isNil(this.provider))\n return;\n this._stopWaiting();\n this.providerQueue.destroy();\n this.providerDisposal.empty();\n this._provider = void 0;\n this._providerContext.value.set(void 0);\n resetMediaStore(this._store);\n this._store.viewType.set(\"unknown\" /* Unknown */);\n }\n _flushMediaProviderConnectedQueue() {\n this.providerQueue.start();\n this.providerDisposal.add(() => {\n this.providerQueue.stop();\n });\n }\n get store() {\n return this._mediaStoreProvider.value;\n }\n get _store() {\n return this._mediaStoreProvider.value;\n }\n get idleDelay() {\n return this._userIdleController.delay;\n }\n set idleDelay(delay) {\n this._userIdleController.delay = delay;\n }\n _clearPendingMediaRequests() {\n keysOf(this._pendingMediaRequests).forEach((key) => {\n this._pendingMediaRequests[key] = [];\n });\n }\n _satisfyMediaRequest(type, event) {\n const requestEvent = this._pendingMediaRequests[type].shift();\n if (requestEvent) {\n event.requestEvent = requestEvent;\n appendTriggerEvent(event, requestEvent);\n }\n }\n _mediaRequestEventGateway(event) {\n event.stopPropagation();\n if (false) {\n this._logger?.infoGroup(`\\u{1F4EC} received \\`${event.type}\\``).labelledLog(\"Request\", event).dispatch();\n }\n return true;\n }\n _createMediaRequestHandler(queueKey, callback) {\n return (event) => {\n if (!this._mediaRequestEventGateway(event))\n return;\n if (this._provider) {\n callback(event);\n return;\n }\n this.providerQueue.queue(queueKey, () => {\n callback(event);\n });\n };\n }\n _attachMediaEventListeners() {\n if (!this._provider)\n return;\n const mediaEventListeners = {\n \"vds-can-load\": this._handleCanLoad,\n \"vds-load-start\": this._handleLoadStart,\n \"vds-loaded-data\": this._handleLoadedData,\n \"vds-loaded-metadata\": this._handleLoadedMetadata,\n \"vds-can-play\": this._handleCanPlay,\n \"vds-can-play-through\": this._handleCanPlayThrough,\n \"vds-current-src-change\": this._handleCurrentSrcChange,\n \"vds-autoplay\": this._handleAutoplay,\n \"vds-autoplay-fail\": this._handleAutoplayFail,\n \"vds-loop-request\": this._handleLoopRequest,\n \"vds-play\": this._handlePlay,\n \"vds-play-fail\": this._handlePlayFail,\n \"vds-playing\": this._handlePlaying,\n \"vds-pause\": this._handlePause,\n \"vds-time-update\": this._handleTimeUpdate,\n \"vds-volume-change\": this._handleVolumeChange,\n \"vds-seeking\": this._handleSeeking,\n \"vds-seeked\": this._handleSeeked,\n \"vds-waiting\": this._handleWaiting,\n \"vds-ended\": this._handleEnded,\n \"vds-autoplay-change\": this._handleAutoplayChange,\n \"vds-error\": this._handleError,\n \"vds-fullscreen-support-change\": this._handleFullscreenSupportChange,\n \"vds-poster-change\": this._handlePosterChange,\n \"vds-loop-change\": this._handleLoopChange,\n \"vds-playsinline-change\": this._handlePlaysinlineChange,\n \"vds-controls-change\": this._handleControlsChange,\n \"vds-media-type-change\": this._handleMediaTypeChange,\n \"vds-view-type-change\": this._handleViewTypeChange,\n \"vds-duration-change\": this._handleDurationChange,\n \"vds-progress\": this._handleProgress,\n \"vds-src-change\": this._handleSrcChange\n };\n for (const eventType of keysOf(mediaEventListeners)) {\n const handler = mediaEventListeners[eventType].bind(this);\n this.providerDisposal.add(listen2(this._provider, eventType, handler));\n }\n }\n _clearMediaStateTracking() {\n this._isReplay = false;\n this._isLooping = false;\n this._firingWaiting = false;\n this._originalWaitingEvent = void 0;\n this._mediaEvents = [];\n }\n _findLastMediaEvent(eventType) {\n return this._mediaEvents[this._mediaEvents.map((e) => e.type).lastIndexOf(eventType)];\n }\n _handleCanLoad(event) {\n this._store.canLoad.set(true);\n this._mediaEvents.push(event);\n this._satisfyMediaRequest(\"loading\", event);\n }\n _updateMetadata(metadata) {\n this._store.currentSrc.set(metadata.currentSrc);\n this._store.mediaType.set(metadata.mediaType);\n this._store.viewType.set(metadata.viewType);\n }\n _handleLoadStart(event) {\n this._updateMetadata(event.detail);\n this._mediaEvents.push(event);\n appendTriggerEvent(event, this._findLastMediaEvent(\"vds-src-change\"));\n appendTriggerEvent(event, this._findLastMediaEvent(\"vds-can-load\"));\n }\n _handleLoadedData(event) {\n this._mediaEvents.push(event);\n appendTriggerEvent(event, this._findLastMediaEvent(\"vds-load-start\"));\n }\n _handleLoadedMetadata(event) {\n this._updateMetadata(event.detail);\n this._mediaEvents.push(event);\n appendTriggerEvent(event, this._findLastMediaEvent(\"vds-load-start\"));\n }\n _handleCanPlay(event) {\n this._mediaEvents.push(event);\n if (event.triggerEvent?.type !== \"loadedmetadata\") {\n appendTriggerEvent(event, this._findLastMediaEvent(\"vds-loaded-metadata\"));\n }\n this._store.canPlay.set(true);\n this._store.duration.set(event.detail.duration);\n this._host.setAttribute(\"aria-busy\", \"false\");\n }\n _handleCanPlayThrough(event) {\n this._store.canPlay.set(true);\n this._store.duration.set(event.detail.duration);\n appendTriggerEvent(event, this._findLastMediaEvent(\"vds-can-play\"));\n }\n _handleAutoplay(event) {\n this._mediaEvents.push(event);\n appendTriggerEvent(event, this._findLastMediaEvent(\"vds-play\"));\n appendTriggerEvent(event, this._findLastMediaEvent(\"vds-can-play\"));\n this._store.autoplayError.set(void 0);\n }\n _handleAutoplayFail(event) {\n appendTriggerEvent(event, this._findLastMediaEvent(\"vds-play-fail\"));\n appendTriggerEvent(event, this._findLastMediaEvent(\"vds-can-play\"));\n this._store.autoplayError.set(event.detail);\n this._clearMediaStateTracking();\n }\n _handlePlay(event) {\n if (this._isLooping || !this.state.paused) {\n event.stopImmediatePropagation();\n return;\n }\n this._mediaEvents.push(event);\n appendTriggerEvent(event, this._findLastMediaEvent(\"vds-waiting\"));\n this._satisfyMediaRequest(\"play\", event);\n this._store.paused.set(false);\n this._store.autoplayError.set(void 0);\n if (this.state.ended || this._isReplay) {\n this._isReplay = false;\n this._store.ended.set(false);\n const replayEvent = vdsEvent2(\"vds-replay\", {\n triggerEvent: event\n });\n this._provider?.dispatchEvent(replayEvent);\n }\n }\n _handlePlayFail(event) {\n this._mediaEvents.push(event);\n this._stopWaiting();\n appendTriggerEvent(event, this._findLastMediaEvent(\"vds-play\"));\n this._store.paused.set(true);\n this._store.playing.set(false);\n this._satisfyMediaRequest(\"play\", event);\n this._clearMediaStateTracking();\n }\n _handlePlaying(event) {\n this._mediaEvents.push(event);\n const playEvent = this._findLastMediaEvent(\"vds-play\");\n if (playEvent) {\n appendTriggerEvent(event, this._findLastMediaEvent(\"vds-waiting\"));\n appendTriggerEvent(event, playEvent);\n } else {\n appendTriggerEvent(event, this._findLastMediaEvent(\"vds-seeked\"));\n }\n this._stopWaiting();\n this._clearMediaStateTracking();\n this._store.paused.set(false);\n this._store.playing.set(true);\n this._store.seeking.set(false);\n this._store.ended.set(false);\n if (this._isLooping) {\n event.stopImmediatePropagation();\n this._isLooping = false;\n return;\n }\n if (!this.state.started) {\n this._store.started.set(true);\n this._provider?.dispatchEvent(vdsEvent2(\"vds-started\", { triggerEvent: event }));\n }\n }\n _handlePause(event) {\n if (this._isLooping) {\n event.stopImmediatePropagation();\n return;\n }\n appendTriggerEvent(event, this._findLastMediaEvent(\"vds-seeked\"));\n this._satisfyMediaRequest(\"pause\", event);\n this._store.paused.set(true);\n this._store.playing.set(false);\n this._store.seeking.set(false);\n this._stopWaiting();\n this._clearMediaStateTracking();\n }\n _handleTimeUpdate(event) {\n const { currentTime, played } = event.detail;\n this._store.currentTime.set(currentTime);\n this._store.played.set(played);\n this._store.waiting.set(false);\n }\n _handleVolumeChange(event) {\n this._store.volume.set(event.detail.volume);\n this._store.muted.set(event.detail.muted || event.detail.volume === 0);\n this._satisfyMediaRequest(\"volume\", event);\n }\n _handleSeeked(event) {\n if (this._isSeekingRequestPending) {\n this._store.seeking.set(true);\n event.stopImmediatePropagation();\n } else if (this.state.seeking) {\n this._mediaEvents.push(event);\n appendTriggerEvent(event, this._findLastMediaEvent(\"vds-waiting\"));\n appendTriggerEvent(event, this._findLastMediaEvent(\"vds-seeking\"));\n if (this.state.paused) {\n this._stopWaiting();\n }\n this._store.seeking.set(false);\n if (event.detail !== this.state.duration) {\n this._store.ended.set(false);\n }\n this._store.currentTime.set(event.detail);\n this._satisfyMediaRequest(\"seeked\", event);\n }\n }\n _stopWaiting() {\n this._fireWaiting.cancel();\n this._store.waiting.set(false);\n }\n _handleWaiting(event) {\n if (this._firingWaiting)\n return;\n event.stopImmediatePropagation();\n this._originalWaitingEvent = event;\n this._fireWaiting();\n }\n _handleEnded(event) {\n if (this._isLooping) {\n event.stopImmediatePropagation();\n return;\n }\n this._stopWaiting();\n this._store.paused.set(true);\n this._store.playing.set(false);\n this._store.seeking.set(false);\n this._store.ended.set(true);\n this._clearMediaStateTracking();\n }\n _handleAutoplayChange(event) {\n this._store.autoplay.set(event.detail);\n }\n _handleCurrentSrcChange(event) {\n this._store.currentSrc.set(event.detail);\n if (this._skipInitialSrcChange) {\n this._skipInitialSrcChange = false;\n return;\n }\n this._clearMediaStateTracking();\n softResetMediaStore(this._store);\n this._host.setAttribute(\"aria-busy\", \"true\");\n }\n _handleError(event) {\n this._store.error.set(event.detail);\n }\n _handleFullscreenSupportChange(event) {\n this._store.canFullscreen.set(event.detail);\n }\n _handlePosterChange(event) {\n this._store.poster.set(event.detail);\n }\n _handleLoopChange(event) {\n this._store.loop.set(event.detail);\n }\n _handlePlaysinlineChange(event) {\n this._store.playsinline.set(event.detail);\n }\n _handleControlsChange(event) {\n this._store.controls.set(event.detail);\n }\n _handleMediaTypeChange(event) {\n this._store.mediaType.set(event.detail);\n }\n _handleDurationChange(event) {\n const duration = event.detail;\n this._store.duration.set(!isNaN(duration) ? duration : 0);\n }\n _handleProgress(event) {\n const { buffered, seekable } = event.detail;\n const bufferedAmount = buffered.length === 0 ? 0 : buffered.end(buffered.length - 1);\n const seekableAmount = seekable.length === 0 ? 0 : seekable.end(seekable.length - 1);\n this._store.buffered.set(buffered);\n this._store.bufferedAmount.set(bufferedAmount);\n this._store.seekable.set(seekable);\n this._store.seekableAmount.set(seekableAmount);\n }\n _handleSrcChange(event) {\n this._store.src.set(event.detail);\n }\n _handleViewTypeChange(event) {\n this._store.viewType.set(event.detail);\n }\n};\n\n// src/media/MediaElement.ts\nimport {\n discoverable,\n FullscreenController,\n IS_IOS,\n ScreenOrientationController,\n setAttribute as setAttribute2\n} from \"@vidstack/foundation\";\nimport {\n css,\n html,\n LitElement\n} from \"lit\";\nimport { property, state } from \"lit/decorators.js\";\n\n// src/media/style/MediaAttrsController.ts\nimport { isNumber, isString, setAttribute } from \"@vidstack/foundation\";\n\n// src/media/style/MediaStyleController.ts\nimport { camelToKebabCase, DisposalBin as DisposalBin3, requestIdleCallback } from \"@vidstack/foundation\";\nvar MediaStyleController = class {\n constructor(_host, _store, _mediaProps) {\n this._host = _host;\n this._store = _store;\n this._mediaProps = _mediaProps;\n this._disposal = new DisposalBin3();\n this._host.addController({\n hostConnected: this._hostConnected.bind(this),\n hostDisconnected: this._hostDisconnected.bind(this)\n });\n }\n _hostConnected() {\n requestIdleCallback(() => {\n for (const propName of this._mediaProps) {\n const store = this._store[propName];\n if (store) {\n const attrName = this._getMediaAttrName(propName);\n const unsub = store.subscribe(($v) => {\n window?.requestAnimationFrame(() => {\n this._handleValueChange(propName, attrName, $v);\n });\n });\n this._disposal.add(unsub);\n }\n }\n });\n }\n _hostDisconnected() {\n for (const propName of this._mediaProps) {\n this._handleDisconnect(propName, this._getMediaAttrName(propName));\n }\n this._disposal.empty();\n }\n _getMediaAttrName(propName) {\n return camelToKebabCase(propName);\n }\n};\n\n// src/media/style/MediaAttrsController.ts\nvar MediaAttrsController = class extends MediaStyleController {\n _handleValueChange(_, attrName, value) {\n window.requestAnimationFrame(() => {\n setAttribute(\n this._host,\n attrName,\n isString(value) || isNumber(value) ? String(value) : !!value\n );\n });\n }\n _handleDisconnect(_, attrName) {\n this._host.removeAttribute(attrName);\n }\n};\nfunction bindMediaPropsToAttrs(...params) {\n return new MediaAttrsController(...params);\n}\n\n// src/media/style/MediaCssPropsController.ts\nimport { isNumber as isNumber2, isString as isString2 } from \"@vidstack/foundation\";\nvar MediaCssPropsController = class extends MediaStyleController {\n _handleValueChange(_, attrName, value) {\n window.requestAnimationFrame(() => {\n this._host.style.setProperty(\n this._getCssPropName(attrName),\n isString2(value) || isNumber2(value) ? String(value) : null\n );\n });\n }\n _getCssPropName(attrName) {\n return `--vds-${attrName}`;\n }\n _handleDisconnect(_, attrName) {\n this._host.style.setProperty(this._getCssPropName(attrName), null);\n }\n};\nfunction bindMediaPropsToCssProps(...params) {\n return new MediaCssPropsController(...params);\n}\n\n// src/media/MediaElement.ts\nvar mediaDiscoveryId = Symbol(\"@vidstack/media-discovery\");\nvar MediaElement = class extends LitElement {\n constructor() {\n super();\n this.controller = new MediaController(this);\n this.__mediaFullscreen = false;\n this.__mediaIsVideoView = false;\n this.__mediaPlaysinline = false;\n this.screenOrientationController = new ScreenOrientationController(this);\n this.fullscreenController = new FullscreenController(this, this.screenOrientationController);\n discoverable(this, \"vds-media-connect\", { register: mediaDiscoveryId });\n mediaStoreSubscription(this, \"fullscreen\", ($fullscreen) => {\n this.__mediaFullscreen = $fullscreen;\n });\n mediaStoreSubscription(this, \"viewType\", ($viewType) => {\n this.__mediaIsVideoView = $viewType === \"video\" /* Video */;\n });\n mediaStoreSubscription(this, \"playsinline\", ($playsinline) => {\n this.__mediaPlaysinline = $playsinline;\n });\n this._bindMediaAttributes();\n this._bindMediaCSSProperties();\n }\n static get styles() {\n return [\n css`:host{display:inline-block;position:relative;contain:content}:host([hidden]){display:none}`\n ];\n }\n get provider() {\n return this.controller.provider;\n }\n update(changedProperties) {\n setAttribute2(this, \"hide-ui\", this._shouldHideMediaUI());\n super.update(changedProperties);\n }\n render() {\n return html`<slot></slot>`;\n }\n get canFullscreen() {\n return this.fullscreenController.isSupported;\n }\n get fullscreen() {\n return this.fullscreenController.isFullscreen;\n }\n get fullscreenOrientation() {\n return this.fullscreenController.screenOrientationLock;\n }\n set fullscreenOrientation(lockType) {\n const prevLockType = this.fullscreenController.screenOrientationLock;\n if (prevLockType !== lockType) {\n this.fullscreenController.screenOrientationLock = lockType;\n this.requestUpdate(\"fullscreen-orientation\", prevLockType);\n }\n }\n enterFullscreen() {\n return this.fullscreenController.enterFullscreen();\n }\n exitFullscreen() {\n return this.fullscreenController.exitFullscreen();\n }\n _bindMediaAttributes() {\n bindMediaPropsToAttrs(this, this.controller.store, [\n \"autoplay\",\n \"autoplayError\",\n \"canLoad\",\n \"canPlay\",\n \"canFullscreen\",\n \"ended\",\n \"error\",\n \"fullscreen\",\n \"userIdle\",\n \"loop\",\n \"mediaType\",\n \"muted\",\n \"paused\",\n \"playing\",\n \"playsinline\",\n \"seeking\",\n \"started\",\n \"viewType\",\n \"waiting\"\n ]);\n }\n _bindMediaCSSProperties() {\n bindMediaPropsToCssProps(this, this.controller.store, [\n \"bufferedAmount\",\n \"currentTime\",\n \"duration\",\n \"seekableAmount\"\n ]);\n }\n _shouldHideMediaUI() {\n return IS_IOS && this.__mediaIsVideoView && (!this.__mediaPlaysinline || this.__mediaFullscreen);\n }\n};\n__decorateClass([\n state()\n], MediaElement.prototype, \"__mediaFullscreen\", 2);\n__decorateClass([\n state()\n], MediaElement.prototype, \"__mediaIsVideoView\", 2);\n__decorateClass([\n state()\n], MediaElement.prototype, \"__mediaPlaysinline\", 2);\n__decorateClass([\n property({ attribute: \"fullscreen-orientation\" })\n], MediaElement.prototype, \"fullscreenOrientation\", 1);\n\nexport {\n UserIdleController,\n MediaController,\n mediaDiscoveryId,\n MediaElement\n};\n","import {\n MediaElement\n} from \"./chunk.YGYRCKY2.js\";\n\n// src/define/vds-media.ts\nimport { safelyDefineCustomElement } from \"@vidstack/foundation\";\nsafelyDefineCustomElement(\"vds-media\", MediaElement);\n","import {\n MediaProviderElement\n} from \"./chunk.63VUN3OP.js\";\nimport {\n __decorateClass\n} from \"./chunk.LNH2V2XS.js\";\n\n// src/providers/html5/Html5MediaElement.ts\nimport {\n DisposalBin,\n getNumberOfDecimalPlaces,\n getSlottedChildren,\n isNil,\n isNumber,\n isScalarArrayEqual,\n isUndefined,\n keysOf,\n listen,\n setAttribute,\n vdsEvent\n} from \"@vidstack/foundation\";\nimport { property } from \"lit/decorators.js\";\nvar AUDIO_EXTENSIONS = /\\.(m4a|mp4a|mpga|mp2|mp2a|mp3|m2a|m3a|wav|weba|aac|oga|spx)($|\\?)/i;\nvar VIDEO_EXTENSIONS = /\\.(mp4|og[gv]|webm|mov|m4v|avi)($|\\?)/i;\nfunction getMediaTypeFromExt(src) {\n if (AUDIO_EXTENSIONS.test(src))\n return \"audio\" /* Audio */;\n if (VIDEO_EXTENSIONS.test(src))\n return \"video\" /* Video */;\n return \"unknown\" /* Unknown */;\n}\nvar Html5MediaElement = class extends MediaProviderElement {\n constructor() {\n super(...arguments);\n this.preload = \"metadata\";\n this._timeRAF = void 0;\n this._hasMediaElementConnected = false;\n this._mediaElementDisposal = new DisposalBin();\n this._isMediaWaiting = false;\n this._ignoreNextAbortEvent = false;\n this._ignoreNextEmptiedEvent = false;\n }\n get mediaElement() {\n return this._mediaElement;\n }\n disconnectedCallback() {\n this._isMediaWaiting = false;\n super.disconnectedCallback();\n this._cancelTimeUpdates();\n }\n destroy() {\n if (this.mediaElement) {\n this.mediaElement.pause();\n this.mediaElement.src = \"\";\n this.mediaElement.innerHTML = \"\";\n this.mediaElement.load();\n }\n super.destroy();\n }\n _cancelTimeUpdates() {\n if (isNumber(this._timeRAF))\n window.cancelAnimationFrame(this._timeRAF);\n this._timeRAF = void 0;\n }\n _requestTimeUpdates() {\n if (!isUndefined(this._timeRAF))\n return;\n this._requestTimeUpdate();\n }\n _requestTimeUpdate() {\n const newTime = this.mediaElement?.currentTime ?? 0;\n if (this.state.currentTime !== newTime) {\n this._updateCurrentTime(newTime);\n }\n this._timeRAF = window.requestAnimationFrame(() => {\n if (isUndefined(this._timeRAF))\n return;\n this._requestTimeUpdate();\n });\n }\n _updateCurrentTime(newTime, triggerEvent) {\n this.dispatchEvent(\n vdsEvent(\"vds-time-update\", {\n detail: {\n currentTime: Math.min(newTime, this.mediaElement?.duration ?? 0),\n played: this.mediaElement.played\n },\n triggerEvent\n })\n );\n }\n handleDefaultSlotChange() {\n this._handleMediaElementDisconnect();\n this._handleMediaElementConnect();\n }\n get _canMediaElementConnect() {\n return this.canLoad && !isNil(this.mediaElement) && !this._hasMediaElementConnected;\n }\n _findSlottedMediaElement() {\n const mediaElement = getSlottedChildren(this)[0];\n const tagName = mediaElement?.tagName ?? \"\";\n if (!/^(audio|video)$/i.test(tagName)) {\n if (false) {\n throw Error(`[vds]: expected <audio> or <video> in default slot. Received: <${tagName}>.`);\n }\n }\n this._mediaElement = mediaElement ?? void 0;\n }\n _handleMediaElementConnect() {\n window.requestAnimationFrame(() => {\n this._findSlottedMediaElement();\n if (!this._canMediaElementConnect)\n return;\n const mediaEl = this.mediaElement;\n if (mediaEl.hasAttribute(\"loop\")) {\n this.loop = true;\n }\n mediaEl.removeAttribute(\"loop\");\n mediaEl.removeAttribute(\"poster\");\n setAttribute(mediaEl, \"controls\", this.controls);\n if (!this.state.canFullscreen && this.fullscreenController.isSupported) {\n this.dispatchEvent(\n vdsEvent(\"vds-fullscreen-support-change\", {\n detail: this.canFullscreen\n })\n );\n }\n this._attachMediaEventListeners();\n this._observePlaysinline();\n this._observeMediaSources();\n if (this.canLoadPoster && this.poster.length > 0 && mediaEl.getAttribute(\"poster\") !== this.poster) {\n mediaEl.setAttribute(\"poster\", this.poster);\n }\n this._startPreloadingMedia();\n if (false) {\n this._logger?.infoGroup(\"Media element connected\").labelledLog(\"Media Element\", mediaEl).dispatch();\n }\n this._hasMediaElementConnected = true;\n this._disconnectDisposal.add(this._handleMediaElementDisconnect.bind(this));\n });\n }\n _handleMediaElementDisconnect() {\n this._cancelTimeUpdates();\n window.requestAnimationFrame(() => {\n this._mediaElementDisposal.empty();\n this._mediaElement = void 0;\n });\n if (this._hasMediaElementConnected && false) {\n this._logger?.infoGroup(\"Media element disconnected\").labelledLog(\"Media Element\", this.mediaElement).dispatch();\n }\n this._hasMediaElementConnected = false;\n }\n startLoadingMedia() {\n super.startLoadingMedia();\n this._handleMediaElementConnect();\n }\n _startPreloadingMedia() {\n if (this.state.canPlay)\n return;\n this.mediaElement.setAttribute(\"preload\", this.preload);\n const isNetworkActive = this.mediaElement.networkState >= 1;\n this._ignoreNextAbortEvent = isNetworkActive;\n this._ignoreNextEmptiedEvent = isNetworkActive;\n this.mediaElement.load();\n setTimeout(() => {\n this._ignoreNextAbortEvent = false;\n this._ignoreNextEmptiedEvent = false;\n }, 0);\n }\n _observePlaysinline() {\n const isPlayingInline = () => this.mediaElement.hasAttribute(\"playsinline\");\n this._handlePlaysinlineChange(isPlayingInline());\n const observer = new MutationObserver(() => this._handlePlaysinlineChange(isPlayingInline()));\n observer.observe(this.mediaElement, { attributeFilter: [\"playsinline\"] });\n this._mediaElementDisposal.add(() => observer.disconnect());\n }\n _handlePlaysinlineChange(playsinline) {\n this.dispatchEvent(vdsEvent(\"vds-playsinline-change\", { detail: playsinline }));\n }\n _observeMediaSources() {\n this._handleSrcChange(this._getMediaSources());\n const observer = new MutationObserver(() => this._handleSrcChange(this._getMediaSources()));\n observer.observe(this.mediaElement, { attributeFilter: [\"src\"], subtree: true });\n this._mediaElementDisposal.add(() => observer.disconnect());\n }\n _handleSrcChange(sources) {\n const prevSources = this.state.src;\n if (!isScalarArrayEqual(prevSources, sources)) {\n this.dispatchEvent(vdsEvent(\"vds-src-change\", { detail: sources }));\n }\n }\n _getMediaSources() {\n const resources = [\n this.mediaElement?.src,\n ...Array.from(this.mediaElement?.querySelectorAll(\"source\") ?? []).map(\n (source) => source.src\n )\n ].filter(Boolean);\n return Array.from(new Set(resources));\n }\n _getMediaMetadata() {\n return {\n src: this.state.src,\n currentSrc: this.mediaElement.currentSrc,\n duration: this.mediaElement.duration || 0,\n poster: this.mediaElement.poster,\n mediaType: this._getMediaType(),\n viewType: this.state.viewType\n };\n }\n _attachMediaEventListeners() {\n if (isNil(this.mediaElement))\n return;\n const mediaEventListeners = {\n abort: this._handleAbort,\n canplay: this._handleCanPlay,\n canplaythrough: this._handleCanPlayThrough,\n durationchange: this._handleDurationChange,\n emptied: this._handleEmptied,\n ended: this._handleEnded,\n error: this._handleError,\n loadeddata: this._handleLoadedData,\n loadedmetadata: this._handleLoadedMetadata,\n loadstart: this._handleLoadStart,\n pause: this._handlePause,\n play: this._handlePlay,\n playing: this._handlePlaying,\n progress: this._handleProgress,\n ratechange: this._handleRateChange,\n seeked: this._handleSeeked,\n seeking: this._handleSeeking,\n stalled: this._handleStalled,\n suspend: this._handleSuspend,\n volumechange: this._handleVolumeChange,\n waiting: this._handleWaiting\n };\n keysOf(mediaEventListeners).forEach((type) => {\n const handler = mediaEventListeners[type].bind(this);\n const off = listen(this.mediaElement, type, async (event) => {\n if (false) {\n this._logger?.debugGroup(`\\u{1F4FA} fired \\`${event.type}\\``).labelledLog(\"Event\", event).labelledLog(\"State\", { ...this.state }).dispatch();\n }\n await handler(event);\n });\n this._mediaElementDisposal.add(off);\n });\n if (false) {\n this._logger?.debug(\"attached event listeners\");\n }\n }\n _handleAbort(event) {\n if (this._ignoreNextAbortEvent)\n return;\n this.dispatchEvent(vdsEvent(\"vds-abort\", { triggerEvent: event }));\n this._handleCurrentSrcChange(\"\", event);\n }\n _handleCanPlay(event) {\n this._handleMediaReady({ event, duration: this.mediaElement.duration });\n }\n _handleCanPlayThrough(event) {\n if (this.state.started)\n return;\n this.dispatchEvent(\n vdsEvent(\"vds-can-play-through\", {\n triggerEvent: event,\n detail: { duration: this.mediaElement.duration }\n })\n );\n }\n _handleLoadStart(event) {\n this._handleCurrentSrcChange(this.mediaElement.currentSrc, event);\n if (this.mediaElement.currentSrc === \"\") {\n this._handleAbort();\n return;\n }\n this.dispatchEvent(\n vdsEvent(\"vds-load-start\", {\n triggerEvent: event,\n detail: this._getMediaMetadata()\n })\n );\n }\n _handleEmptied(event) {\n if (this._ignoreNextEmptiedEvent)\n return;\n this.dispatchEvent(vdsEvent(\"vds-emptied\", { triggerEvent: event }));\n }\n _handleLoadedData(event) {\n this.dispatchEvent(vdsEvent(\"vds-loaded-data\", { triggerEvent: event }));\n }\n _handleLoadedMetadata(event) {\n this.dispatchEvent(\n vdsEvent(\"vds-volume-change\", {\n detail: {\n volume: this.mediaElement.volume,\n muted: this.mediaElement.muted\n }\n })\n );\n this.dispatchEvent(\n vdsEvent(\"vds-loaded-metadata\", {\n triggerEvent: event,\n detail: this._getMediaMetadata()\n })\n );\n }\n _determineMediaType(event) {\n this.dispatchEvent(\n vdsEvent(\"vds-media-type-change\", {\n detail: this._getMediaType(),\n triggerEvent: event\n })\n );\n }\n _handlePlay(event) {\n const playEvent = vdsEvent(\"vds-play\", { triggerEvent: event });\n playEvent.autoplay = this._attemptingAutoplay;\n this.dispatchEvent(playEvent);\n }\n _handlePause(event) {\n if (this.mediaElement.readyState === 1 && !this._isMediaWaiting) {\n return;\n }\n this._isMediaWaiting = false;\n this._cancelTimeUpdates();\n this.dispatchEvent(vdsEvent(\"vds-pause\", { triggerEvent: event }));\n }\n _handlePlaying(event) {\n this._isMediaWaiting = false;\n const playingEvent = vdsEvent(\"vds-playing\", { triggerEvent: event });\n this.dispatchEvent(playingEvent);\n this._requestTimeUpdates();\n }\n _handleDurationChange(event) {\n if (this.mediaElement.ended) {\n this._updateCurrentTime(this.mediaElement.duration, event);\n }\n this.dispatchEvent(\n vdsEvent(\"vds-duration-change\", {\n detail: this.mediaElement.duration,\n triggerEvent: event\n })\n );\n }\n _handleProgress(event) {\n this.dispatchEvent(\n vdsEvent(\"vds-progress\", {\n triggerEvent: event,\n detail: {\n buffered: this.mediaElement.buffered,\n seekable: this.mediaElement.seekable\n }\n })\n );\n }\n _handleRateChange(event) {\n throw Error(\"Not implemented\");\n }\n _handleSeeking(event) {\n this.dispatchEvent(\n vdsEvent(\"vds-seeking\", {\n detail: this.mediaElement.currentTime,\n triggerEvent: event\n })\n );\n }\n _handleSeeked(event) {\n const seekedEvent = vdsEvent(\"vds-seeked\", {\n detail: this.mediaElement.currentTime,\n triggerEvent: event\n });\n this.dispatchEvent(seekedEvent);\n const currentTime = this.mediaElement.currentTime;\n if (Math.trunc(currentTime) === Math.trunc(this.mediaElement.duration) && getNumberOfDecimalPlaces(this.mediaElement.duration) > getNumberOfDecimalPlaces(currentTime)) {\n this._updateCurrentTime(this.mediaElement.duration, event);\n if (!this.mediaElement.ended) {\n try {\n this.play();\n } catch (e) {\n }\n }\n }\n }\n _handleStalled(event) {\n this.dispatchEvent(vdsEvent(\"vds-stalled\", { triggerEvent: event }));\n if (this.mediaElement.readyState < 3) {\n this._isMediaWaiting = true;\n this.dispatchEvent(vdsEvent(\"vds-waiting\", { triggerEvent: event }));\n }\n }\n _handleVolumeChange(event) {\n this.dispatchEvent(\n vdsEvent(\"vds-volume-change\", {\n detail: {\n volume: this.mediaElement.volume,\n muted: this.mediaElement.muted\n },\n triggerEvent: event\n })\n );\n }\n _handleWaiting(event) {\n if (this.mediaElement.readyState < 3) {\n this._isMediaWaiting = true;\n this.dispatchEvent(vdsEvent(\"vds-waiting\", { triggerEvent: event }));\n }\n }\n _handleSuspend(event) {\n const suspendEvent = vdsEvent(\"vds-suspend\", { triggerEvent: event });\n this.dispatchEvent(suspendEvent);\n }\n _handleEnded(event) {\n this._cancelTimeUpdates();\n this._updateCurrentTime(this.mediaElement.duration, event);\n const endEvent = vdsEvent(\"vds-end\", { triggerEvent: event });\n this.dispatchEvent(endEvent);\n if (this.state.loop) {\n this._handleLoop();\n } else {\n this.dispatchEvent(vdsEvent(\"vds-ended\", { triggerEvent: event }));\n }\n }\n _handleLoop() {\n const hasCustomControls = isNil(this.controls);\n if (hasCustomControls) {\n this.mediaElement.controls = false;\n }\n this.dispatchEvent(vdsEvent(\"vds-loop-request\"));\n }\n _handleError(event) {\n const mediaError = this.mediaElement.error;\n if (!mediaError)\n return;\n this.dispatchEvent(\n vdsEvent(\"vds-error\", {\n detail: {\n message: mediaError.message,\n code: mediaError.code,\n mediaError\n },\n triggerEvent: event\n })\n );\n }\n _getPaused() {\n return this.mediaElement?.paused ?? true;\n }\n _getVolume() {\n return this.mediaElement?.volume ?? 1;\n }\n _setVolume(newVolume) {\n this.mediaElement.volume = newVolume;\n }\n _getCurrentTime() {\n return this.mediaElement?.currentTime ?? 0;\n }\n _setCurrentTime(newTime) {\n if (this.mediaElement.currentTime !== newTime) {\n this.mediaElement.currentTime = newTime;\n }\n }\n _getMuted() {\n return this.mediaElement?.muted ?? false;\n }\n _setMuted(isMuted) {\n this.mediaElement.muted = isMuted;\n }\n async play() {\n if (false) {\n this._logger?.info(\"attempting to play...\");\n }\n try {\n this._throwIfNotReadyForPlayback();\n await this._resetPlaybackIfEnded();\n return this.mediaElement?.play();\n } catch (error) {\n const playErrorEvent = vdsEvent(\"vds-play-fail\");\n playErrorEvent.autoplay = this._attemptingAutoplay;\n playErrorEvent.error = error;\n throw error;\n }\n }\n async pause() {\n if (false) {\n this._logger?.info(\"attempting to pause...\");\n }\n return this.mediaElement?.pause();\n }\n _getMediaType() {\n return getMediaTypeFromExt(this.state.currentSrc);\n }\n};\n__decorateClass([\n property()\n], Html5MediaElement.prototype, \"preload\", 2);\n\nexport {\n AUDIO_EXTENSIONS,\n VIDEO_EXTENSIONS,\n Html5MediaElement\n};\n","import {\n Html5MediaElement\n} from \"./chunk.M7J7NUUF.js\";\n\n// src/providers/audio/AudioElement.ts\nimport { vdsEvent } from \"@vidstack/foundation\";\nimport { css } from \"lit\";\nvar AudioElement = class extends Html5MediaElement {\n static get styles() {\n return [\n css`:host{display:inline-block}:host([hidden]){display:none}`\n ];\n }\n connectedCallback() {\n super.connectedCallback();\n this.dispatchEvent(\n vdsEvent(\"vds-view-type-change\", {\n detail: \"audio\" /* Audio */\n })\n );\n }\n};\n\nexport {\n AudioElement\n};\n","import {\n AudioElement\n} from \"./chunk.MWM7HRI6.js\";\n\n// src/define/vds-audio.ts\nimport { safelyDefineCustomElement } from \"@vidstack/foundation\";\nsafelyDefineCustomElement(\"vds-audio\", AudioElement);\n","import {\n __decorateClass\n} from \"./chunk.LNH2V2XS.js\";\n\n// src/ui/toggle-button/ToggleButtonElement.ts\nimport {\n eventListener,\n focusVisiblePolyfill,\n isKeyboardClick,\n isKeyboardEvent,\n setAttribute,\n setAttributeIfEmpty\n} from \"@vidstack/foundation\";\nimport {\n html,\n LitElement\n} from \"lit\";\nimport { property } from \"lit/decorators.js\";\n\n// src/ui/toggle-button/styles.ts\nimport { css } from \"lit\";\nvar toggleButtonElementStyles = css`:host{display:table;contain:content;user-select:none;cursor:pointer;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}:host([hidden]){display:none}:host(:focus){outline:0}:host(:focus-visible){outline:1px auto Highlight;outline:1px auto -webkit-focus-ring-color}:host(.focus-visible){outline:1px auto Highlight;outline:1px auto -webkit-focus-ring-color}`;\n\n// src/ui/toggle-button/ToggleButtonElement.ts\nvar ToggleButtonElement = class extends LitElement {\n constructor() {\n super();\n this.pressed = false;\n this.disabled = false;\n this._handleButtonClickCapture = eventListener(\n this,\n \"click\",\n (event) => {\n if (this.disabled) {\n event.preventDefault();\n event.stopImmediatePropagation();\n }\n },\n { capture: true }\n );\n if (false)\n logElementLifecycle(this);\n focusVisiblePolyfill(this);\n [\"pointerup\", \"keydown\"].forEach((eventType) => {\n eventListener(this, eventType, (event) => {\n if (this.disabled || isKeyboardEvent(event) && !isKeyboardClick(event)) {\n return;\n }\n this._handleButtonClick(event);\n });\n });\n }\n static get styles() {\n return [toggleButtonElementStyles];\n }\n static get parts() {\n return [];\n }\n connectedCallback() {\n super.connectedCallback();\n setAttributeIfEmpty(this, \"tabindex\", \"0\");\n setAttributeIfEmpty(this, \"role\", \"button\");\n this._updateAriaPressedAttr();\n }\n updated(changedProperties) {\n if (changedProperties.has(\"pressed\")) {\n this._updateAriaPressedAttr();\n }\n }\n _updateAriaPressedAttr() {\n setAttribute(this, \"aria-pressed\", this.pressed ? \"true\" : \"false\");\n }\n render() {\n return this._renderDefaultSlot();\n }\n _renderDefaultSlot() {\n return html`<slot></slot>`;\n }\n _handleButtonClick(event) {\n this.pressed = !this.pressed;\n }\n};\n__decorateClass([\n property({ type: Boolean })\n], ToggleButtonElement.prototype, \"pressed\", 2);\n__decorateClass([\n property({ type: Boolean, reflect: true })\n], ToggleButtonElement.prototype, \"disabled\", 2);\n\nexport {\n ToggleButtonElement\n};\n","// src/media/interact/MediaRemoteControl.ts\nimport {\n hostRequestQueue,\n RequestQueue,\n vdsEvent\n} from \"@vidstack/foundation\";\nvar MediaRemoteControl = class {\n constructor(_host) {\n if (_host) {\n this._target = _host;\n this._createLogger(_host);\n this._requests = hostRequestQueue(_host);\n } else {\n this._requests = new RequestQueue();\n }\n }\n startLoading(triggerEvent) {\n this._dispatchRequest(\"vds-start-loading\", { triggerEvent });\n }\n play(triggerEvent) {\n this._dispatchRequest(\"vds-play-request\", { triggerEvent });\n }\n pause(triggerEvent) {\n this._dispatchRequest(\"vds-pause-request\", { triggerEvent });\n }\n mute(triggerEvent) {\n this._dispatchRequest(\"vds-mute-request\", { triggerEvent });\n }\n unmute(triggerEvent) {\n this._dispatchRequest(\"vds-unmute-request\", { triggerEvent });\n }\n enterFullscreen(target, triggerEvent) {\n this._dispatchRequest(\"vds-enter-fullscreen-request\", {\n triggerEvent,\n detail: target\n });\n }\n exitFullscreen(target, triggerEvent) {\n this._dispatchRequest(\"vds-exit-fullscreen-request\", {\n triggerEvent,\n detail: target\n });\n }\n seeking(time, triggerEvent) {\n this._dispatchRequest(\"vds-seeking-request\", {\n detail: time,\n triggerEvent\n });\n }\n seek(time, triggerEvent) {\n this._dispatchRequest(\"vds-seek-request\", {\n detail: time,\n triggerEvent\n });\n }\n changeVolume(volume, triggerEvent) {\n this._dispatchRequest(\"vds-volume-change-request\", {\n detail: volume,\n triggerEvent\n });\n }\n resumeUserIdle(triggerEvent) {\n this._dispatchRequest(\"vds-resume-user-idle-request\", { triggerEvent });\n }\n pauseUserIdle(triggerEvent) {\n this._dispatchRequest(\"vds-pause-user-idle-request\", { triggerEvent });\n }\n showPoster(triggerEvent) {\n this._dispatchRequest(\"vds-show-poster-request\", { triggerEvent });\n }\n hidePoster(triggerEvent) {\n this._dispatchRequest(\"vds-hide-poster-request\", { triggerEvent });\n }\n setTarget(target) {\n if (this._target === target)\n return;\n this._target = target;\n if (target) {\n this._createLogger(target);\n this._requests.start();\n } else {\n this._requests.stop();\n }\n }\n _dispatchRequest(type, eventInit) {\n this._requests.queue(type, () => {\n const request = vdsEvent(type, {\n ...eventInit,\n bubbles: true,\n composed: true\n });\n if (false) {\n this._logger?.infoGroup(`\\u{1F4E8} dispatching \\`${type}\\``).labelledLog(\"Request Event\", request).labelledLog(\"Trigger Event\", eventInit.triggerEvent).dispatch();\n }\n this._target?.dispatchEvent(request);\n });\n }\n _createLogger(target) {\n if (false) {\n this._logger = new LogDispatcher(target);\n }\n }\n};\n\nexport {\n MediaRemoteControl\n};\n","import {\n ToggleButtonElement\n} from \"./chunk.KIF3XDBQ.js\";\nimport {\n MediaRemoteControl\n} from \"./chunk.JDCQU7GF.js\";\nimport {\n mediaStoreSubscription\n} from \"./chunk.O2H47C42.js\";\n\n// src/ui/play-button/PlayButtonElement.ts\nimport { setAttribute, setAttributeIfEmpty } from \"@vidstack/foundation\";\nvar PlayButtonElement = class extends ToggleButtonElement {\n constructor() {\n super();\n this._mediaRemote = new MediaRemoteControl(this);\n mediaStoreSubscription(this, \"paused\", ($paused) => {\n this.pressed = !$paused;\n setAttribute(this, \"paused\", $paused);\n });\n }\n connectedCallback() {\n super.connectedCallback();\n setAttributeIfEmpty(this, \"aria-label\", \"Play\");\n }\n _handleButtonClick(event) {\n if (this.disabled)\n return;\n if (this.pressed) {\n this._mediaRemote.pause(event);\n } else {\n this._mediaRemote.play(event);\n }\n }\n};\n\nexport {\n PlayButtonElement\n};\n","import {\n PlayButtonElement\n} from \"./chunk.5LQ54Q2B.js\";\n\n// src/define/vds-play-button.ts\nimport { safelyDefineCustomElement } from \"@vidstack/foundation\";\nsafelyDefineCustomElement(\"vds-play-button\", PlayButtonElement);\n","import {\n ToggleButtonElement\n} from \"./chunk.KIF3XDBQ.js\";\nimport {\n MediaRemoteControl\n} from \"./chunk.JDCQU7GF.js\";\nimport {\n mediaStoreSubscription\n} from \"./chunk.O2H47C42.js\";\n\n// src/ui/mute-button/MuteButtonElement.ts\nimport { setAttribute, setAttributeIfEmpty } from \"@vidstack/foundation\";\nvar MuteButtonElement = class extends ToggleButtonElement {\n constructor() {\n super();\n this._mediaRemote = new MediaRemoteControl(this);\n this._volume = 1;\n this._muted = false;\n mediaStoreSubscription(this, \"volume\", ($volume) => {\n this._volume = $volume;\n this._handleMutedChange();\n });\n mediaStoreSubscription(this, \"muted\", ($muted) => {\n this._muted = $muted;\n this._handleMutedChange();\n });\n }\n connectedCallback() {\n super.connectedCallback();\n setAttributeIfEmpty(this, \"aria-label\", \"Mute\");\n }\n _handleMutedChange() {\n const muted = this._muted || this._volume === 0;\n this.pressed = muted;\n setAttribute(this, \"muted\", muted);\n }\n _handleButtonClick(event) {\n if (this.disabled)\n return;\n if (this.pressed) {\n this._mediaRemote.unmute(event);\n } else {\n this._mediaRemote.mute(event);\n }\n }\n};\n\nexport {\n MuteButtonElement\n};\n","import {\n MuteButtonElement\n} from \"./chunk.OS5G3YJW.js\";\n\n// src/define/vds-mute-button.ts\nimport { safelyDefineCustomElement } from \"@vidstack/foundation\";\nsafelyDefineCustomElement(\"vds-mute-button\", MuteButtonElement);\n","// src/ui/slider/store.ts\nimport { createContext, derived, writable } from \"@vidstack/foundation\";\nfunction createSliderStore() {\n const dragging = writable(false);\n const pointing = writable(false);\n return {\n value: writable(50),\n pointerValue: writable(0),\n min: writable(0),\n max: writable(100),\n dragging,\n pointing,\n interactive: derived([dragging, pointing], ([$dragging, $pointing]) => $dragging || $pointing)\n };\n}\nvar sliderStoreContext = createContext(createSliderStore);\n\nexport {\n createSliderStore,\n sliderStoreContext\n};\n","import {\n sliderStoreContext\n} from \"./chunk.CQHSYXO3.js\";\nimport {\n MediaRemoteControl\n} from \"./chunk.JDCQU7GF.js\";\nimport {\n __decorateClass\n} from \"./chunk.LNH2V2XS.js\";\n\n// src/ui/slider/SliderElement.ts\nimport {\n clampNumber,\n DisposalBin,\n eventListener,\n focusVisiblePolyfill,\n get,\n getNumberOfDecimalPlaces,\n rafThrottle,\n round,\n setAttribute,\n setAttributeIfEmpty,\n setCSSProperty,\n vdsEvent\n} from \"@vidstack/foundation\";\nimport {\n html,\n LitElement\n} from \"lit\";\nimport { property } from \"lit/decorators.js\";\n\n// src/ui/slider/styles.ts\nimport { css } from \"lit\";\nvar sliderElementStyles = css`*{box-sizing:border-box;touch-action:none}:host{display:block;contain:layout;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}:host([hidden]){display:none}:host(:focus){outline:0}:host(:focus-visible){outline:1px auto Highlight;outline:1px auto -webkit-focus-ring-color}:host(.focus-visible){outline:1px auto Highlight;outline:1px auto -webkit-focus-ring-color}`;\n\n// src/ui/slider/SliderElement.ts\nvar SliderKeyDirection = /* @__PURE__ */ ((SliderKeyDirection2) => {\n SliderKeyDirection2[SliderKeyDirection2[\"Left\"] = -1] = \"Left\";\n SliderKeyDirection2[SliderKeyDirection2[\"ArrowLeft\"] = -1] = \"ArrowLeft\";\n SliderKeyDirection2[SliderKeyDirection2[\"Up\"] = -1] = \"Up\";\n SliderKeyDirection2[SliderKeyDirection2[\"ArrowUp\"] = -1] = \"ArrowUp\";\n SliderKeyDirection2[SliderKeyDirection2[\"Right\"] = 1] = \"Right\";\n SliderKeyDirection2[SliderKeyDirection2[\"ArrowRight\"] = 1] = \"ArrowRight\";\n SliderKeyDirection2[SliderKeyDirection2[\"Down\"] = 1] = \"Down\";\n SliderKeyDirection2[SliderKeyDirection2[\"ArrowDown\"] = 1] = \"ArrowDown\";\n return SliderKeyDirection2;\n})(SliderKeyDirection || {});\nvar SliderElement = class extends LitElement {\n constructor() {\n super();\n this._sliderStoreProvider = sliderStoreContext.provide(this);\n this.disabled = false;\n this.value = 50;\n this._step = 1;\n this._keyboardStep = 1;\n this.shiftKeyMultiplier = 5;\n this.customValueText = false;\n this._mediaRemote = new MediaRemoteControl(this);\n this._disconnectDisposal = new DisposalBin();\n this._handlePointerEnter = eventListener(this, \"pointerenter\", () => {\n if (this.disabled)\n return;\n this.setAttribute(\"pointing\", \"\");\n this.store.pointing.set(true);\n });\n this._handlePointerMove = eventListener(this, \"pointermove\", (event) => {\n if (this.disabled || this.isDragging)\n return;\n const value = this._getValueBasedOnThumbPosition(event);\n this.store.pointerValue.set(value);\n this._dispatchPointerValueChange(event);\n });\n this._handlePointerLeave = eventListener(this, \"pointerleave\", () => {\n if (this.disabled)\n return;\n this.removeAttribute(\"pointing\");\n this.store.pointing.set(false);\n });\n this._handlePointerDown = eventListener(this, \"pointerdown\", (event) => {\n if (this.disabled)\n return;\n this._startDragging(event);\n this._onDrag(event);\n });\n this._handleKeydown = eventListener(this, \"keydown\", (event) => {\n if (this.disabled)\n return;\n const { key, shiftKey } = event;\n const isValidKey = Object.keys(SliderKeyDirection).includes(key);\n if (!isValidKey)\n return;\n const modifiedStep = !shiftKey ? this.keyboardStep : this.keyboardStep * this.shiftKeyMultiplier;\n const direction = Number(SliderKeyDirection[key]);\n const diff = modifiedStep * direction;\n const steps = (this.value + diff) / this.step;\n const value = this.step * steps;\n this.value = this._getClampedValue(value);\n this._dispatchValueChange(event);\n });\n this._handleFillValueChange = eventListener(\n this,\n \"vds-slider-value-change\",\n this._updateFillCSSProps.bind(this)\n );\n this._handlePointerValueChange = eventListener(\n this,\n \"vds-slider-pointer-value-change\",\n this._updatePointerCSSProps.bind(this)\n );\n this._onDrag = rafThrottle((event) => {\n if (this.disabled || !this.isDragging)\n return;\n const value = this._getValueBasedOnThumbPosition(event);\n this.store.pointerValue.set(value);\n this._dispatchPointerValueChange(event);\n });\n this._handleDocumentPointerUp = eventListener(\n this,\n \"pointerup\",\n (event) => {\n if (this.disabled || !this.isDragging)\n return;\n this._stopDragging(event);\n },\n { target: document }\n );\n this._handleDocumentTouchMove = eventListener(\n this,\n \"touchmove\",\n (event) => {\n if (this.disabled || !this.isDragging)\n return;\n event.preventDefault();\n },\n { target: document, passive: false }\n );\n this._handleDocumentPointerMove = eventListener(\n this,\n \"pointermove\",\n (event) => {\n if (this.disabled || !this.isDragging)\n return;\n this._onDrag(event);\n },\n { target: document }\n );\n this._lastDispatchedValue = this.value;\n this._dispatchValueChange = rafThrottle((event) => {\n if (this.value === this._lastDispatchedValue)\n return;\n this.dispatchEvent(\n vdsEvent(\"vds-slider-value-change\", {\n detail: this.value,\n triggerEvent: event\n })\n );\n this._lastDispatchedValue = this.value;\n });\n this._lastDispatchedPointerValue = this.pointerValue;\n this._dispatchPointerValueChange = rafThrottle((event) => {\n if (this.pointerValue === this._lastDispatchedPointerValue)\n return;\n const events = [\n \"vds-slider-pointer-value-change\",\n this.isDragging && \"vds-slider-drag-value-change\"\n ];\n events.forEach((eventType) => {\n if (eventType) {\n this.dispatchEvent(\n vdsEvent(eventType, {\n detail: this.pointerValue,\n triggerEvent: event\n })\n );\n }\n });\n this._lastDispatchedPointerValue = this.pointerValue;\n });\n if (false)\n logElementLifecycle(this);\n focusVisiblePolyfill(this);\n }\n static get styles() {\n return [sliderElementStyles];\n }\n static get parts() {\n return [];\n }\n get store() {\n return this._sliderStoreProvider.value;\n }\n get min() {\n return get(this.store.min);\n }\n set min(newMin) {\n this.store.min.set(newMin);\n }\n get max() {\n return get(this.store.max);\n }\n set max(newMax) {\n this.store.max.set(newMax);\n }\n get step() {\n return this._step;\n }\n set step(newStep) {\n this._step = newStep;\n }\n get keyboardStep() {\n return this._keyboardStep;\n }\n set keyboardStep(newStep) {\n this._keyboardStep = newStep;\n }\n get isDragging() {\n return get(this.store.dragging);\n }\n get fillRate() {\n const range = this.max - this.min, offset = this.value - this.min;\n return range > 0 ? offset / range : 0;\n }\n get fillPercent() {\n return this.fillRate * 100;\n }\n get pointerValue() {\n return get(this.store.pointerValue);\n }\n get pointerRate() {\n const range = this.max - this.min, offset = this.pointerValue - this.min;\n return range > 0 ? offset / range : 0;\n }\n get pointerPercent() {\n return this.pointerRate * 100;\n }\n connectedCallback() {\n super.connectedCallback();\n this._setupAriaAttrs();\n this._updateFillCSSProps();\n this._updatePointerCSSProps();\n this._disconnectDisposal.add(\n this.store.interactive.subscribe(($interactive) => {\n setAttribute(this, \"interactive\", $interactive);\n })\n );\n }\n willUpdate(changedProperties) {\n if (changedProperties.has(\"value\") || changedProperties.has(\"min\") || changedProperties.has(\"max\")) {\n this.value = this._getClampedValue(this.value);\n this.store.value.set(this.value);\n this._updateFillCSSProps();\n this._dispatchValueChange();\n }\n if (changedProperties.has(\"disabled\") && this.disabled) {\n this.store.dragging.set(false);\n this.store.pointing.set(false);\n this.removeAttribute(\"dragging\");\n this.removeAttribute(\"pointing\");\n this.removeAttribute(\"interactive\");\n setAttribute(this, \"aria-disabled\", this.disabled);\n }\n if (!this.customValueText) {\n this._updateAriaValueAttrs();\n }\n super.willUpdate(changedProperties);\n }\n disconnectedCallback() {\n this._onDrag.cancel();\n this._disconnectDisposal.empty();\n super.disconnectedCallback();\n }\n _updateFillCSSProps() {\n setCSSProperty(this, \"fill-value\", `${this.value}`);\n setCSSProperty(this, \"fill-rate\", `${this.fillRate}`);\n setCSSProperty(this, \"fill-percent\", `${this.fillPercent}%`);\n }\n _updatePointerCSSProps() {\n setCSSProperty(this, \"pointer-value\", `${this.pointerValue}`);\n setCSSProperty(this, \"pointer-rate\", `${this.pointerRate}`);\n setCSSProperty(this, \"pointer-percent\", `${this.pointerPercent}%`);\n }\n render() {\n return this._renderSlider();\n }\n _renderSlider() {\n return html`${this._renderDefaultSlot()}`;\n }\n _renderDefaultSlot() {\n return html`<slot></slot>`;\n }\n _setupAriaAttrs() {\n setAttributeIfEmpty(this, \"role\", \"slider\");\n setAttributeIfEmpty(this, \"tabindex\", \"0\");\n setAttributeIfEmpty(this, \"aria-orientation\", \"horizontal\");\n setAttributeIfEmpty(this, \"autocomplete\", \"off\");\n }\n _updateAriaValueAttrs() {\n this.setAttribute(\"aria-valuemin\", this._getValueMin());\n this.setAttribute(\"aria-valuenow\", this._getValueNow());\n this.setAttribute(\"aria-valuemax\", this._getValueMax());\n this.setAttribute(\"aria-valuetext\", this._getValueText());\n }\n _getValueMin() {\n return String(this.min);\n }\n _getValueNow() {\n return String(this.value);\n }\n _getValueMax() {\n return String(this.max);\n }\n _getValueText() {\n return `${round(this.value / this.max * 100, 2)}%`;\n }\n _startDragging(event) {\n if (this.isDragging)\n return;\n this.store.dragging.set(true);\n this.setAttribute(\"dragging\", \"\");\n const value = this._getValueBasedOnThumbPosition(event);\n this.store.pointerValue.set(value);\n this._dispatchPointerValueChange(event);\n this.dispatchEvent(\n vdsEvent(\"vds-slider-drag-start\", {\n triggerEvent: event,\n detail: this.value\n })\n );\n this._mediaRemote.pauseUserIdle(event);\n }\n _stopDragging(event) {\n if (!this.isDragging)\n return;\n this.store.dragging.set(false);\n this._dispatchValueChange.cancel();\n this.removeAttribute(\"dragging\");\n const value = this._getValueBasedOnThumbPosition(event);\n this.value = value;\n this.store.pointerValue.set(value);\n this._dispatchValueChange(event);\n this._dispatchPointerValueChange(event);\n this.dispatchEvent(\n vdsEvent(\"vds-slider-drag-end\", {\n triggerEvent: event,\n detail: this.value\n })\n );\n this._mediaRemote.resumeUserIdle(event);\n }\n _getClampedValue(value) {\n return clampNumber(this.min, round(value, getNumberOfDecimalPlaces(this.step)), this.max);\n }\n _getValueFromRate(rate) {\n const boundRate = clampNumber(0, rate, 1);\n const range = this.max - this.min;\n const fill = range * boundRate;\n const stepRatio = Math.round(fill / this.step);\n const steps = this.step * stepRatio;\n return this.min + steps;\n }\n _getValueBasedOnThumbPosition(event) {\n const thumbClientX = event.clientX;\n const { left: trackLeft, width: trackWidth } = this.getBoundingClientRect();\n const thumbPositionRate = (thumbClientX - trackLeft) / trackWidth;\n return this._getValueFromRate(thumbPositionRate);\n }\n};\n__decorateClass([\n property({ type: Number })\n], SliderElement.prototype, \"min\", 1);\n__decorateClass([\n property({ type: Number })\n], SliderElement.prototype, \"max\", 1);\n__decorateClass([\n property({ reflect: true, type: Boolean })\n], SliderElement.prototype, \"disabled\", 2);\n__decorateClass([\n property({ type: Number })\n], SliderElement.prototype, \"value\", 2);\n__decorateClass([\n property({ type: Number })\n], SliderElement.prototype, \"step\", 1);\n__decorateClass([\n property({ attribute: \"keyboard-step\", type: Number })\n], SliderElement.prototype, \"keyboardStep\", 1);\n__decorateClass([\n property({ attribute: \"shift-key-multiplier\", type: Number })\n], SliderElement.prototype, \"shiftKeyMultiplier\", 2);\n__decorateClass([\n property({ type: Boolean, attribute: \"custom-value-text\" })\n], SliderElement.prototype, \"customValueText\", 2);\n\nexport {\n SliderKeyDirection,\n SliderElement\n};\n","import {\n SliderElement\n} from \"./chunk.33ZMGU5I.js\";\nimport {\n mediaStoreSubscription\n} from \"./chunk.O2H47C42.js\";\nimport {\n __decorateClass\n} from \"./chunk.LNH2V2XS.js\";\n\n// src/ui/time-slider/TimeSliderElement.ts\nimport {\n eventListener,\n formatSpokenTime,\n isKeyboardEvent,\n setAttributeIfEmpty,\n throttle\n} from \"@vidstack/foundation\";\nimport { property, state } from \"lit/decorators.js\";\n\n// src/ui/time-slider/styles.ts\nimport { css } from \"lit\";\nvar timeSliderElementStyles = css``;\n\n// src/ui/time-slider/TimeSliderElement.ts\nvar TimeSliderElement = class extends SliderElement {\n constructor() {\n super();\n this._step = 0.1;\n this.value = 0;\n this.valueText = \"{currentTime} out of {duration}\";\n this.pauseWhileDragging = false;\n this.seekingRequestThrottle = 100;\n this.__mediaDuration = 0;\n this.__mediaPaused = true;\n this._handleSliderDragStart = eventListener(\n this,\n \"vds-slider-drag-start\",\n (event) => {\n this._togglePlaybackWhileDragging(event);\n }\n );\n this._handleSliderValueChange = eventListener(\n this,\n \"vds-slider-value-change\",\n (event) => {\n if (isKeyboardEvent(event.originEvent)) {\n this._dispatchSeekingRequest.cancel();\n this._mediaRemote.seek(this.value, event);\n }\n }\n );\n this._handleSliderDragValueChange = eventListener(\n this,\n \"vds-slider-drag-value-change\",\n (event) => {\n this._dispatchSeekingRequest(event);\n }\n );\n this._handleSliderDragEnd = eventListener(this, \"vds-slider-drag-end\", (event) => {\n this._dispatchSeekingRequest.cancel();\n this._mediaRemote.seek(this.value, event);\n this._togglePlaybackWhileDragging(event);\n });\n this._dispatchSeekingRequest = throttle((event) => {\n this._mediaRemote.seeking(this.value, event);\n }, this.seekingRequestThrottle);\n this._wasPlayingBeforeDragStart = false;\n mediaStoreSubscription(this, \"currentTime\", ($currentTime) => {\n this.value = $currentTime;\n });\n mediaStoreSubscription(this, \"duration\", ($duration) => {\n this.__mediaDuration = $duration;\n this.requestUpdate(\"max\");\n });\n mediaStoreSubscription(this, \"paused\", ($paused) => {\n this.__mediaPaused = $paused;\n });\n }\n static get styles() {\n return [super.styles, timeSliderElementStyles];\n }\n connectedCallback() {\n super.connectedCallback();\n setAttributeIfEmpty(this, \"aria-label\", \"Media time\");\n }\n get min() {\n return 0;\n }\n set min(_) {\n }\n get max() {\n return this.__mediaDuration;\n }\n set max(_) {\n }\n update(changedProperties) {\n if (changedProperties.has(\"disabled\") && this.disabled) {\n this._dispatchSeekingRequest.cancel();\n }\n super.update(changedProperties);\n }\n disconnectedCallback() {\n this._dispatchSeekingRequest.cancel();\n super.disconnectedCallback();\n }\n _getValueMin() {\n return \"0%\";\n }\n _getValueNow() {\n return `${Math.round(this.fillPercent)}%`;\n }\n _getValueText() {\n return this.valueText.replace(\"{currentTime}\", formatSpokenTime(this.value)).replace(\"{duration}\", formatSpokenTime(this.__mediaDuration));\n }\n _getValueMax() {\n return \"100%\";\n }\n _togglePlaybackWhileDragging(event) {\n if (!this.pauseWhileDragging)\n return;\n if (this.isDragging && !this.__mediaPaused) {\n this._wasPlayingBeforeDragStart = true;\n this._mediaRemote.pause(event);\n } else if (this._wasPlayingBeforeDragStart && !this.isDragging && this.__mediaPaused) {\n this._wasPlayingBeforeDragStart = false;\n this._mediaRemote.play(event);\n }\n }\n};\n__decorateClass([\n property({ attribute: false, state: true })\n], TimeSliderElement.prototype, \"value\", 2);\n__decorateClass([\n property({ attribute: false })\n], TimeSliderElement.prototype, \"min\", 1);\n__decorateClass([\n property({ attribute: false })\n], TimeSliderElement.prototype, \"max\", 1);\n__decorateClass([\n property({ attribute: \"value-text\" })\n], TimeSliderElement.prototype, \"valueText\", 2);\n__decorateClass([\n property({ attribute: \"pause-while-dragging\", type: Boolean })\n], TimeSliderElement.prototype, \"pauseWhileDragging\", 2);\n__decorateClass([\n property({ attribute: \"seeking-request-throttle\", type: Number })\n], TimeSliderElement.prototype, \"seekingRequestThrottle\", 2);\n__decorateClass([\n state()\n], TimeSliderElement.prototype, \"__mediaDuration\", 2);\n__decorateClass([\n state()\n], TimeSliderElement.prototype, \"__mediaPaused\", 2);\n\nexport {\n TimeSliderElement\n};\n","import {\n TimeSliderElement\n} from \"./chunk.JA2WRFAV.js\";\n\n// src/define/vds-time-slider.ts\nimport { safelyDefineCustomElement } from \"@vidstack/foundation\";\nsafelyDefineCustomElement(\"vds-time-slider\", TimeSliderElement);\n","import {\n SliderElement\n} from \"./chunk.33ZMGU5I.js\";\nimport {\n mediaStoreSubscription\n} from \"./chunk.O2H47C42.js\";\nimport {\n __decorateClass\n} from \"./chunk.LNH2V2XS.js\";\n\n// src/ui/volume-slider/VolumeSliderElement.ts\nimport { eventListener, round, setAttributeIfEmpty } from \"@vidstack/foundation\";\nimport { property } from \"lit/decorators.js\";\nvar VolumeSliderElement = class extends SliderElement {\n constructor() {\n super();\n this.value = 100;\n this._handleSliderValueChange = eventListener(\n this,\n \"vds-slider-value-change\",\n this._changeVolume.bind(this)\n );\n this._handleSliderDragValueChange = eventListener(\n this,\n \"vds-slider-drag-value-change\",\n this._changeVolume.bind(this)\n );\n mediaStoreSubscription(this, \"volume\", ($volume) => {\n this.value = $volume * 100;\n });\n }\n connectedCallback() {\n super.connectedCallback();\n setAttributeIfEmpty(this, \"aria-label\", \"Media volume\");\n }\n get min() {\n return 0;\n }\n set min(_) {\n }\n get max() {\n return 100;\n }\n set max(_) {\n }\n _changeVolume(event) {\n const newVolume = event.detail;\n const mediaVolume = round(newVolume / 100, 3);\n this._mediaRemote.changeVolume(mediaVolume, event);\n }\n};\n__decorateClass([\n property({ attribute: false })\n], VolumeSliderElement.prototype, \"min\", 1);\n__decorateClass([\n property({ attribute: false })\n], VolumeSliderElement.prototype, \"max\", 1);\n__decorateClass([\n property({ attribute: false, state: true })\n], VolumeSliderElement.prototype, \"value\", 2);\n\nexport {\n VolumeSliderElement\n};\n","import {\n VolumeSliderElement\n} from \"./chunk.63ZIHMNQ.js\";\n\n// src/define/vds-volume-slider.ts\nimport { safelyDefineCustomElement } from \"@vidstack/foundation\";\nsafelyDefineCustomElement(\"vds-volume-slider\", VolumeSliderElement);\n","import {\n sliderStoreContext\n} from \"./chunk.CQHSYXO3.js\";\nimport {\n __decorateClass\n} from \"./chunk.LNH2V2XS.js\";\n\n// src/ui/slider/SliderValueTextElement.ts\nimport { derived, DisposalBin, formatTime, round } from \"@vidstack/foundation\";\nimport { css, html, LitElement } from \"lit\";\nimport { property, state } from \"lit/decorators.js\";\nvar SliderValueTextElement = class extends LitElement {\n constructor() {\n super(...arguments);\n this._disposal = new DisposalBin();\n this._sliderStoreConsumer = sliderStoreContext.consume(this);\n this.__value = 0;\n this.type = \"current\";\n this.showHours = false;\n this.padHours = false;\n this.decimalPlaces = 2;\n }\n static get styles() {\n return [\n css`:host{display:inline-block;contain:content}:host([hidden]){display:none}`\n ];\n }\n get _sliderStore() {\n return this._sliderStoreConsumer.value;\n }\n connectedCallback() {\n super.connectedCallback();\n this._handleTypeChange();\n }\n update(changedProperties) {\n if (changedProperties.has(\"type\") || changedProperties.has(\"format\")) {\n this._handleTypeChange();\n }\n super.update(changedProperties);\n }\n disconnectedCallback() {\n this._disposal.empty();\n super.disconnectedCallback();\n }\n render() {\n return html`${this._getValueText()}`;\n }\n _handleTypeChange() {\n this._disposal.empty();\n const valueStore = this._sliderStore[this.type === \"current\" ? \"value\" : \"pointerValue\"];\n const store = this.format === \"percent\" ? this._createPercentStore(valueStore) : valueStore;\n const unsub = store.subscribe(($value) => {\n this.__value = $value;\n });\n this._disposal.add(unsub);\n }\n _createPercentStore(valueStore) {\n return derived(\n [valueStore, this._sliderStore.min, this._sliderStore.max],\n ([$value, $min, $max]) => {\n const range = $max - $min;\n return $value / range * 100;\n }\n );\n }\n _getValueText() {\n switch (this.format) {\n case \"percent\":\n return this._getPercentFormat();\n case \"time\":\n return this._getTimeFormat();\n default:\n return `${this.__value}`;\n }\n }\n _getPercentFormat() {\n return `${round(this.__value, this.decimalPlaces)}%`;\n }\n _getTimeFormat() {\n return formatTime(this.__value, this.padHours, this.showHours);\n }\n};\n__decorateClass([\n state()\n], SliderValueTextElement.prototype, \"__value\", 2);\n__decorateClass([\n property()\n], SliderValueTextElement.prototype, \"type\", 2);\n__decorateClass([\n property()\n], SliderValueTextElement.prototype, \"format\", 2);\n__decorateClass([\n property({ attribute: \"show-hours\", type: Boolean })\n], SliderValueTextElement.prototype, \"showHours\", 2);\n__decorateClass([\n property({ attribute: \"pad-hours\", type: Boolean })\n], SliderValueTextElement.prototype, \"padHours\", 2);\n__decorateClass([\n property({ attribute: \"decimal-places\", type: Number })\n], SliderValueTextElement.prototype, \"decimalPlaces\", 2);\n\nexport {\n SliderValueTextElement\n};\n","import {\n SliderValueTextElement\n} from \"./chunk.7KY74HUU.js\";\n\n// src/define/vds-slider-value-text.ts\nimport { safelyDefineCustomElement } from \"@vidstack/foundation\";\nsafelyDefineCustomElement(\"vds-slider-value-text\", SliderValueTextElement);\n","import {\n mediaStoreContext\n} from \"./chunk.O2H47C42.js\";\nimport {\n __decorateClass\n} from \"./chunk.LNH2V2XS.js\";\n\n// src/ui/time/TimeElement.ts\nimport { derived, DisposalBin, formatTime } from \"@vidstack/foundation\";\nimport { css, html, LitElement } from \"lit\";\nimport { property, state } from \"lit/decorators.js\";\nvar TimeElement = class extends LitElement {\n constructor() {\n super(...arguments);\n this._disposal = new DisposalBin();\n this._mediaStoreConsumer = mediaStoreContext.consume(this);\n this.__seconds = 0;\n this.type = \"current\";\n this.showHours = false;\n this.padHours = false;\n this.remainder = false;\n }\n static get styles() {\n return [\n css`:host{display:inline-block;contain:content}:host([hidden]){display:none}`\n ];\n }\n get _mediaStore() {\n return this._mediaStoreConsumer.value;\n }\n connectedCallback() {\n super.connectedCallback();\n this._handleTypeChange();\n }\n update(changedProperties) {\n if (changedProperties.has(\"type\") || changedProperties.has(\"remainder\")) {\n this._handleTypeChange();\n }\n super.update(changedProperties);\n }\n disconnectedCallback() {\n this._disposal.empty();\n super.disconnectedCallback();\n }\n render() {\n return html`${this._getFormattedTime()}`;\n }\n _handleTypeChange() {\n this._disposal.empty();\n const store = this._getTypeStore();\n const unsub = (this.remainder ? this._createRemainderStore(store) : store).subscribe(\n ($seconds) => {\n this.__seconds = $seconds;\n }\n );\n this._disposal.add(unsub);\n }\n _getTypeStore() {\n switch (this.type) {\n case \"buffered\":\n return this._mediaStore.bufferedAmount;\n case \"seekable\":\n return this._mediaStore.seekableAmount;\n case \"duration\":\n return this._mediaStore.duration;\n default:\n return this._mediaStore.currentTime;\n }\n }\n _createRemainderStore(secondsStore) {\n return derived(\n [secondsStore, this._mediaStore.duration],\n ([$seconds, $duration]) => Math.max(0, $duration - $seconds)\n );\n }\n _getFormattedTime() {\n return formatTime(this.__seconds, this.padHours, this.showHours);\n }\n};\n__decorateClass([\n state()\n], TimeElement.prototype, \"__seconds\", 2);\n__decorateClass([\n property()\n], TimeElement.prototype, \"type\", 2);\n__decorateClass([\n property({ attribute: \"show-hours\", type: Boolean })\n], TimeElement.prototype, \"showHours\", 2);\n__decorateClass([\n property({ attribute: \"pad-hours\", type: Boolean })\n], TimeElement.prototype, \"padHours\", 2);\n__decorateClass([\n property({ type: Boolean })\n], TimeElement.prototype, \"remainder\", 2);\n\nexport {\n TimeElement\n};\n","import {\n TimeElement\n} from \"./chunk.K4RXYACL.js\";\n\n// src/define/vds-time.ts\nimport { safelyDefineCustomElement } from \"@vidstack/foundation\";\nsafelyDefineCustomElement(\"vds-time\", TimeElement);\n",":host {\n ::slotted([slot=\"transcript\"]) {\n margin: 0;\n\n br {\n @include spaceCurve('margin-bottom', 'regular');\n content: \" \";\n display: block;\n }\n }\n}\n\n.stzh-audio {\n display: block;\n contain: none;\n\n &__audio {\n @include visuallyhidden;\n }\n\n &__controls,\n &__transcript {\n @include spaceCurve('padding-left', 'regular');\n @include spaceCurve('padding-right', 'regular');\n }\n\n &__controls {\n @include spaceCurve('padding-bottom', 'tiny');\n padding-top: space('large');\n position: relative;\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n background-color: $colorGrey20;\n }\n\n\t&__controls-top,\n\t&__controls-bottom,\n &__controls-bottom-left,\n &__controls-bottom-right {\n\t\tdisplay: flex;\n\t\talign-items: center;\n }\n\n\t&__controls-top {\n\t\tmargin-bottom: space('small');\n\t}\n\n\t&__controls-bottom {\n\t\tdisplay: flex;\n flex-direction: column;\n align-items: stretch;\n\n @include mq($from: small) {\n flex-direction: row;\n align-items: center;\n }\n\t}\n\n &__controls-bottom-left {\n\t\tmargin-bottom: space('xsmall');\n\n @include mq($from: small) {\n flex-grow: 1;\n margin-bottom: 0;\n }\n }\n\n &__controls-bottom-right {\n align-self: flex-end;\n }\n\n &__transcript {\n @include fontCurve('p1');\n @include spaceCurve('padding-top', 'regular');\n @include spaceCurve('padding-bottom', 'medium');\n background-color: $colorGrey10;\n // line-height: 2.5;\n }\n\n &__button {\n &.is-play,\n &.is-mute,\n &.is-transcript {\n margin-right: space('xsmall');\n }\n\n &.is-mute {\n margin-left: auto;\n\n @include mq($from: small) {\n margin-left: 0px;\n }\n }\n\n width: 44px;\n height: 44px;\n display: grid;\n place-items: center;\n appearance: none;\n background-color: transparent;\n border: none;\n border-radius: $buttonBorderRadius;\n transition-duration: $baseTransitionAnimationSpeed;\n transition-property: color, background-color;\n color: $colorPrimary70;\n\n // use if needed for active transcript state\n // &.is-active {\n // }\n\n &:hover {\n color: $colorPrimary80;\n background-color: $colorSecondary20;\n }\n }\n\n &__loader-overlay {\n display: grid;\n place-items: center;\n position: absolute;\n z-index: 3;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: $colorWhite;\n opacity: 0;\n visibility: hidden;\n }\n\n &__time {\n @include fontSize('milli');\n color: $colorGrey70;\n display: inline-flex;\n margin-right: space('xlarge');\n }\n\n &__time-separator {\n margin: 0 space('xxsmall');\n }\n\n &__slider {\n --height: 16px;\n --thumb-width: 16px;\n --track-height: 6px;\n\n cursor: pointer;\n display: flex;\n align-items: center;\n height: var(--height);\n\n &.is-time {\n flex-grow: 1;\n }\n\n &.is-volume {\n --track-height: 4px;\n\n flex-grow: 1;\n min-width: 80px;\n max-width: 120px;\n\n @include mq($from: small) {\n display: flex;\n margin-right: auto;\n }\n }\n }\n\n &__slider-track {\n width: 100%;\n height: var(--track-height);\n position: absolute;\n top: 50%;\n left: 0;\n z-index: 0;\n transform: translateY(-50%);\n background-color: $colorBlack20op;\n transition: background-color $baseTransitionAnimationSpeed;\n }\n\n &__slider:hover &__slider-track {\n background-color: $colorBlack30op;\n }\n\n &__slider-track.is-fill {\n background-color: $colorSecondary40;\n transform-origin: left center;\n transform: translateY(-50%);\n width: calc(var(--vds-fill-rate) * 100%);\n z-index: 1; // above track\n }\n\n &__slider:hover &__slider-track.is-fill {\n background-color: $colorSecondary50;\n }\n\n &__slider.is-volume &__slider-track,\n &__slider.is-volume:hover &__slider-track {\n background-color: $colorBlack20op;\n }\n\n &__slider.is-volume &__slider-track.is-fill,\n &__slider.is-volume:hover &__slider-track.is-fill {\n background-color: $colorBlack50op;\n }\n\n &__slider-thumb-container {\n opacity: 0;\n transition: opacity $baseTransitionAnimationSpeed;\n position: absolute;\n top: 0;\n left: var(--vds-fill-percent);\n width: var(--thumb-width);\n height: 100%;\n transform: translateX(-50%); // re-center along x-axis\n z-index: 2; // above track fill\n\n &.is-shown {\n opacity: 1;\n }\n }\n\n &__slider:hover &__slider-thumb-container {\n opacity: 1;\n }\n\n &__slider[dragging] &__slider-thumb-container {\n opacity: 1;\n left: var(--vds-pointer-percent);\n }\n\n &__slider-thumb {\n position: absolute;\n top: 50%;\n left: 0;\n width: var(--thumb-width);\n height: var(--thumb-width);\n border-radius: 50%;\n background-color: $colorWhite;\n border: 2px solid $colorPrimary70;\n transform: translateY(-50%);\n }\n\n &__media-preview-container {\n --width: 42px;\n --width-half: calc(var(--width) / 2);\n --top: -24px;\n\n // clamp video to left and right of slider\n --left-clamp: max(var(--width-half), var(--vds-pointer-percent));\n --right-clamp: calc(100% - var(--width-half));\n --left: min(var(--left-clamp), var(--right-clamp));\n\n @include tooltip-dropshadow;\n display: grid;\n place-items: center;\n position: absolute;\n width: auto;\n width: (--width);\n top: var(--top);\n left: var(--left);\n opacity: 0;\n transition: opacity $baseTransitionAnimationSpeed;\n // re-position to center\n transform: translateX(-50%);\n z-index: $zIndexPopover;\n border-radius: $tooltipBorderRadius;\n background-color: $colorCoolgrey60;\n color: $colorWhite;\n }\n\n &__slider.is-time &__media-preview-container,\n &__slider.is-volume &__media-preview-container {\n width: auto;\n padding: space('xxsmall');\n }\n\n // show preview while device pointer is inside slider\n &__slider[pointing] &__media-preview-container {\n opacity: 1;\n }\n\n &__slider-text {\n @include tooltip-fontsize;\n }\n\n /* Variants */\n\n // avoid double controls on iOS when in fullscreen.\n &[hide-ui] &__controls {\n opacity: 0;\n visibility: hidden;\n }\n\n // show controls if autoplay fails\n &[autoplay-error] &__controls {\n opacity: 1;\n }\n\n // show buffering indicator while media is not ready, or buffering\n &:not([can-play]) &__loader-overlay,\n &[waiting] &__loader-overlay {\n opacity: 0.8;\n visibility: visible;\n }\n\n // hide pause text when media _is_ paused\n &[paused] &__paused {\n display: none;\n }\n\n // hide play text when media _is not_ paused\n &:not([paused]) &__played {\n display: none;\n }\n\n // hide mute text when media _is_ muted\n &[muted] &__muted {\n display: none;\n }\n\n // hide unmute text when media _is not_ muted\n &:not([muted]) &__unmuted {\n display: none;\n }\n}\n","import {\n Component,\n Host,\n h,\n Element,\n Prop,\n Event,\n EventEmitter,\n Method\n} from \"@stencil/core\";\n\nimport {\n StzhAudioPlayEvent,\n StzhAudioPlayingEvent,\n StzhAudioPauseEvent,\n StzhAudioReplayEvent,\n StzhAudioEndEvent,\n StzhAudioEndedEvent,\n StzhAudioErrorEvent\n} from \"../../index\"\n\nimport \"@vidstack/player/dist/prod/define/vds-media.js\";\nimport \"@vidstack/player/dist/prod/define/vds-audio.js\";\nimport \"@vidstack/player/dist/prod/define/vds-play-button.js\";\nimport \"@vidstack/player/dist/prod/define/vds-mute-button.js\";\nimport \"@vidstack/player/dist/prod/define/vds-time-slider.js\";\nimport \"@vidstack/player/dist/prod/define/vds-volume-slider.js\";\nimport \"@vidstack/player/dist/prod/define/vds-slider-value-text.js\";\nimport \"@vidstack/player/dist/prod/define/vds-time.js\";\n\nimport { hasSlot } from \"../../utils/utils\";\n\nimport { StzhAudioLocalizedText } from './stzh-audio.localization';\n\n/**\n * @slot - Slot for any content\n * @slot transcript - Slot for transcript text\n */\n@Component({\n tag: \"stzh-audio\",\n styleUrl: \"stzh-audio.scss\",\n scoped: true\n})\nexport class StzhAudio {\n /** Translation strings */\n @Prop() localization: StzhAudioLocalizedText;\n\n /** Path to audio file */\n @Prop() src: string = \"\";\n\n /** Preload strategy */\n @Prop() preload: \"none\" | \"metadata\" | \"auto\" = \"none\";\n\n /** Transcript text (alternative for slot) */\n @Prop() transcript: string = \"\";\n\n /** Whether transcript should be shown */\n @Prop({ mutable: true }) transcriptShown: boolean = false;\n\n /**\n * For Adobe Analytics.\n * Will be rendered as value of `s-object-id` attribute to the download link element.\n * Default value will be taken from translations.\n */\n @Prop() downloadAnalyticsId: string;\n\n /**\n * For Adobe Analytics.\n * Will be rendered as value of `s-object-id` attribute to the transcript button element.\n * Default value will be taken from translations.\n */\n @Prop() transcriptAnalyticsId: string;\n\n /** Fired when the paused property is changed from true to false, as a result of the play() method, or the autoplay attribute. */\n @Event() stzhPlay: EventEmitter<StzhAudioPlayEvent>;\n\n /** Fired when playback is ready to start after having been paused or delayed due to lack of data. */\n @Event() stzhPlaying: EventEmitter<StzhAudioPlayingEvent>;\n\n /** Fired when a request to pause an activity is handled and the activity has entered its paused state, most commonly after the media has been paused through a call to the pause() method. */\n @Event() stzhPause: EventEmitter<StzhAudioPauseEvent>;\n\n /** Fired when media playback starts again after being in an ended state. This is fired when the loop property is true and media loops, whereas the vds-play event is not. */\n @Event() stzhReplay: EventEmitter<StzhAudioReplayEvent>;\n\n /** Fired each time media playback has reached the end. This is fired even if the loop property is true, which is generally when you'd reach for this event over the MediaEndedEvent if you want to be notified of media looping. */\n @Event() stzhEnd: EventEmitter<StzhAudioEndEvent>;\n\n /** Fired when playback or streaming has stopped because the end of the media was reached or because no further data is available. This is not fired if playback will start from the beginning again due to the loop property being true (see MediaReplayEvent and MediaEndEvent). */\n @Event() stzhEnded: EventEmitter<StzhAudioEndedEvent>;\n\n /** Fired when media loading or playback has encountered any issues (for example, a network connectivity problem). The event detail contains a potential message containing more information about the error (empty string if nothing available), and a code that identifies the general type of error that occurred. */\n @Event() stzhError: EventEmitter<StzhAudioErrorEvent>;\n\n @Element() element: HTMLStzhAudioElement;\n\n @Method()\n async play() {\n this.vsdAudioElement.play();\n }\n\n @Method()\n async pause() {\n this.vsdAudioElement.pause();\n }\n\n private vsdAudioElement: any;\n\n async componentWillLoad() {\n if (!this.localization) {\n this.localization = await window.stzhComponents.utils.fetchTranslations(this.element, \"audio\");\n }\n }\n\n render() {\n const hasTranscript = !!this.transcript || hasSlot(this.element, \"transcript\");\n const classes = {\n \"stzh-audio\": true\n };\n\n return (\n <Host>\n <vds-media class={classes}>\n <vds-audio\n class=\"stzh-audio__audio\"\n ref={(el) => (this.vsdAudioElement = el as HTMLElement)}\n // events from: https://www.vidstack.io/docs/player/components/providers/audio/api.html#events--vds-progress\n onVds-play={() => {this.stzhPlay.emit({ component: \"stzh-audio\" })}}\n onVds-playing={() => {this.stzhPlaying.emit({ component: \"stzh-audio\" })}}\n onVds-end={() => {this.stzhEnd.emit({ component: \"stzh-audio\" })}}\n onVds-ended={() => {this.stzhEnded.emit({ component: \"stzh-audio\" })}}\n onVds-replay={() => {this.stzhReplay.emit({ component: \"stzh-audio\" })}}\n onVds-error={(e: ErrorEvent) => {this.stzhError.emit({ component: \"stzh-audio\", originalEvent: e })}}\n >\n <audio preload={this.preload} src={this.src}>\n <slot></slot>\n </audio>\n </vds-audio>\n\n <div class=\"stzh-audio__controls\">\n <div class=\"stzh-audio__loader-overlay\">\n <stzh-loader\n class=\"stzh-audio__loader\"\n label={this.localization.loading}\n hide-label\n ></stzh-loader>\n </div>\n\n <div class=\"stzh-audio__controls-top\">\n <vds-time-slider class=\"stzh-audio__slider is-time\">\n <div class=\"stzh-audio__slider-track\"></div>\n <div class=\"stzh-audio__slider-track is-fill\"></div>\n <div class=\"stzh-audio__slider-thumb-container\">\n <div class=\"stzh-audio__slider-thumb\"></div>\n </div>\n <div class=\"stzh-audio__media-preview-container\">\n <vds-slider-value-text class=\"stzh-audio__slider-text\" type=\"pointer\" format=\"time\"></vds-slider-value-text>\n </div>\n </vds-time-slider>\n </div>\n\n <div class=\"stzh-audio__controls-bottom\">\n <div class=\"stzh-audio__controls-bottom-left\">\n <stzh-tooltip>\n <vds-play-button class=\"stzh-audio__button is-play\">\n <stzh-icon class=\"stzh-audio__played\" name=\"play\"></stzh-icon>\n <stzh-icon class=\"stzh-audio__paused\" name=\"pause\"></stzh-icon>\n </vds-play-button>\n <span slot=\"content\">\n <span class=\"stzh-audio__played\">{this.localization.play}</span>\n <span class=\"stzh-audio__paused\">{this.localization.pause}</span>\n </span>\n </stzh-tooltip>\n\n <div class=\"stzh-audio__time\">\n <vds-time type=\"current\"></vds-time>\n <span class=\"stzh-audio__time-separator\">/</span>\n <vds-time type=\"duration\"></vds-time>\n </div>\n\n <stzh-tooltip>\n <vds-mute-button class=\"stzh-audio__button is-mute\">\n <stzh-icon class=\"stzh-audio__muted\" name=\"volume-medium\"></stzh-icon>\n <stzh-icon class=\"stzh-audio__unmuted\" name=\"silent-mode\"></stzh-icon>\n </vds-mute-button>\n <span slot=\"content\">\n <span class=\"stzh-audio__muted\">{this.localization.mute}</span>\n <span class=\"stzh-audio__unmuted\">{this.localization.unmute}</span>\n </span>\n </stzh-tooltip>\n\n <vds-volume-slider class=\"stzh-audio__slider is-volume\">\n <div class=\"stzh-audio__slider-track\"></div>\n <div class=\"stzh-audio__slider-track is-fill\"></div>\n <div class=\"stzh-audio__slider-thumb-container is-shown\">\n <div class=\"stzh-audio__slider-thumb\"></div>\n </div>\n <div class=\"stzh-audio__media-preview-container\">\n <vds-slider-value-text class=\"stzh-audio__slider-text\" type=\"pointer\" format=\"percent\"></vds-slider-value-text>\n </div>\n </vds-volume-slider>\n </div>\n\n <div class=\"stzh-audio__controls-bottom-right\">\n {hasTranscript &&\n <stzh-tooltip\n content={this.transcriptShown ? this.localization.hideTranscript : this.localization.showTranscript}\n >\n <button\n class={{\n \"stzh-audio__button is-transcript\": true,\n \"is-active\": this.transcriptShown\n }}\n onClick={() => this.transcriptShown = !this.transcriptShown}\n s-object-id={this.transcriptAnalyticsId || (this.transcriptShown ? this.localization.hideTranscript : this.localization.showTranscript)}\n >\n <stzh-icon name=\"transcript\"></stzh-icon>\n </button>\n </stzh-tooltip>\n }\n\n <stzh-tooltip content={this.localization.download}>\n <a\n class=\"stzh-audio__button is-download\"\n href={this.src}\n download=\"\"\n s-object-id={this.downloadAnalyticsId || this.localization.download}\n >\n <stzh-icon name=\"download\"></stzh-icon>\n </a>\n </stzh-tooltip>\n </div>\n </div>\n </div>\n\n <div class=\"stzh-audio__transcript\" hidden={!this.transcriptShown}>\n {this.transcript ? this.transcript : <slot name=\"transcript\"></slot>}\n </div>\n </vds-media>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"stzh-audio.entry.js","mappings":"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","names":["t","i","s","e","o","n","l","h","r","u","d","c","a","S","LitElement","html","property","state","DisposalBin2","vdsEvent2","throttle","debounce","listen2","DisposalBin3","isString2","isNumber2","css","setAttribute2","get"],"sources":["node_modules/lit-html/lit-html.js","node_modules/just-debounce-it/index.mjs","node_modules/just-throttle/index.mjs","node_modules/@vidstack/foundation/dist/prod/index.js","node_modules/@vidstack/player/dist/prod/chunks/chunk.APMKZUJJ.js","node_modules/@vidstack/player/dist/prod/chunks/chunk.O2H47C42.js","node_modules/@vidstack/player/dist/prod/chunks/chunk.LNH2V2XS.js","node_modules/@lit/reactive-element/css-tag.js","node_modules/@lit/reactive-element/reactive-element.js","node_modules/lit-element/lit-element.js","node_modules/@lit/reactive-element/decorators/property.js","node_modules/@lit/reactive-element/decorators/state.js","node_modules/@vidstack/player/dist/prod/chunks/chunk.63VUN3OP.js","node_modules/@vidstack/player/dist/prod/chunks/chunk.YGYRCKY2.js","node_modules/@vidstack/player/dist/prod/chunks/chunk.3RP67ZHA.js","node_modules/@vidstack/player/dist/prod/chunks/chunk.M7J7NUUF.js","node_modules/@vidstack/player/dist/prod/chunks/chunk.MWM7HRI6.js","node_modules/@vidstack/player/dist/prod/chunks/chunk.6QN55WFS.js","node_modules/@vidstack/player/dist/prod/chunks/chunk.KIF3XDBQ.js","node_modules/@vidstack/player/dist/prod/chunks/chunk.JDCQU7GF.js","node_modules/@vidstack/player/dist/prod/chunks/chunk.5LQ54Q2B.js","node_modules/@vidstack/player/dist/prod/chunks/chunk.66B2ZPSA.js","node_modules/@vidstack/player/dist/prod/chunks/chunk.OS5G3YJW.js","node_modules/@vidstack/player/dist/prod/chunks/chunk.AIREQQLN.js","node_modules/@vidstack/player/dist/prod/chunks/chunk.CQHSYXO3.js","node_modules/@vidstack/player/dist/prod/chunks/chunk.33ZMGU5I.js","node_modules/@vidstack/player/dist/prod/chunks/chunk.JA2WRFAV.js","node_modules/@vidstack/player/dist/prod/chunks/chunk.T4J4ZIUS.js","node_modules/@vidstack/player/dist/prod/chunks/chunk.63ZIHMNQ.js","node_modules/@vidstack/player/dist/prod/chunks/chunk.2U56ALO2.js","node_modules/@vidstack/player/dist/prod/chunks/chunk.7KY74HUU.js","node_modules/@vidstack/player/dist/prod/chunks/chunk.WSW2QITQ.js","node_modules/@vidstack/player/dist/prod/chunks/chunk.K4RXYACL.js","node_modules/@vidstack/player/dist/prod/chunks/chunk.OEXORVMF.js","src/components/stzh-audio/stzh-audio.scss?tag=stzh-audio&encapsulation=scoped","src/components/stzh-audio/stzh-audio.tsx"],"sourcesContent":["/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nvar t;const i=window,s=i.trustedTypes,e=s?s.createPolicy(\"lit-html\",{createHTML:t=>t}):void 0,o=\"$lit$\",n=`lit$${(Math.random()+\"\").slice(9)}$`,l=\"?\"+n,h=`<${l}>`,r=document,u=()=>r.createComment(\"\"),d=t=>null===t||\"object\"!=typeof t&&\"function\"!=typeof t,c=Array.isArray,v=t=>c(t)||\"function\"==typeof(null==t?void 0:t[Symbol.iterator]),a=\"[ \\t\\n\\f\\r]\",f=/<(?:(!--|\\/[^a-zA-Z])|(\\/?[a-zA-Z][^>\\s]*)|(\\/?$))/g,_=/-->/g,m=/>/g,p=RegExp(`>|${a}(?:([^\\\\s\"'>=/]+)(${a}*=${a}*(?:[^ \\t\\n\\f\\r\"'\\`<>=]|(\"|')|))|$)`,\"g\"),g=/'/g,$=/\"/g,y=/^(?:script|style|textarea|title)$/i,w=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),x=w(1),b=w(2),T=Symbol.for(\"lit-noChange\"),A=Symbol.for(\"lit-nothing\"),E=new WeakMap,C=r.createTreeWalker(r,129,null,!1);function P(t,i){if(!Array.isArray(t)||!t.hasOwnProperty(\"raw\"))throw Error(\"invalid template strings array\");return void 0!==e?e.createHTML(i):i}const V=(t,i)=>{const s=t.length-1,e=[];let l,r=2===i?\"<svg>\":\"\",u=f;for(let i=0;i<s;i++){const s=t[i];let d,c,v=-1,a=0;for(;a<s.length&&(u.lastIndex=a,c=u.exec(s),null!==c);)a=u.lastIndex,u===f?\"!--\"===c[1]?u=_:void 0!==c[1]?u=m:void 0!==c[2]?(y.test(c[2])&&(l=RegExp(\"</\"+c[2],\"g\")),u=p):void 0!==c[3]&&(u=p):u===p?\">\"===c[0]?(u=null!=l?l:f,v=-1):void 0===c[1]?v=-2:(v=u.lastIndex-c[2].length,d=c[1],u=void 0===c[3]?p:'\"'===c[3]?$:g):u===$||u===g?u=p:u===_||u===m?u=f:(u=p,l=void 0);const w=u===p&&t[i+1].startsWith(\"/>\")?\" \":\"\";r+=u===f?s+h:v>=0?(e.push(d),s.slice(0,v)+o+s.slice(v)+n+w):s+n+(-2===v?(e.push(void 0),i):w)}return[P(t,r+(t[s]||\"<?>\")+(2===i?\"</svg>\":\"\")),e]};class N{constructor({strings:t,_$litType$:i},e){let h;this.parts=[];let r=0,d=0;const c=t.length-1,v=this.parts,[a,f]=V(t,i);if(this.el=N.createElement(a,e),C.currentNode=this.el.content,2===i){const t=this.el.content,i=t.firstChild;i.remove(),t.append(...i.childNodes)}for(;null!==(h=C.nextNode())&&v.length<c;){if(1===h.nodeType){if(h.hasAttributes()){const t=[];for(const i of h.getAttributeNames())if(i.endsWith(o)||i.startsWith(n)){const s=f[d++];if(t.push(i),void 0!==s){const t=h.getAttribute(s.toLowerCase()+o).split(n),i=/([.?@])?(.*)/.exec(s);v.push({type:1,index:r,name:i[2],strings:t,ctor:\".\"===i[1]?H:\"?\"===i[1]?L:\"@\"===i[1]?z:k})}else v.push({type:6,index:r})}for(const i of t)h.removeAttribute(i)}if(y.test(h.tagName)){const t=h.textContent.split(n),i=t.length-1;if(i>0){h.textContent=s?s.emptyScript:\"\";for(let s=0;s<i;s++)h.append(t[s],u()),C.nextNode(),v.push({type:2,index:++r});h.append(t[i],u())}}}else if(8===h.nodeType)if(h.data===l)v.push({type:2,index:r});else{let t=-1;for(;-1!==(t=h.data.indexOf(n,t+1));)v.push({type:7,index:r}),t+=n.length-1}r++}}static createElement(t,i){const s=r.createElement(\"template\");return s.innerHTML=t,s}}function S(t,i,s=t,e){var o,n,l,h;if(i===T)return i;let r=void 0!==e?null===(o=s._$Co)||void 0===o?void 0:o[e]:s._$Cl;const u=d(i)?void 0:i._$litDirective$;return(null==r?void 0:r.constructor)!==u&&(null===(n=null==r?void 0:r._$AO)||void 0===n||n.call(r,!1),void 0===u?r=void 0:(r=new u(t),r._$AT(t,s,e)),void 0!==e?(null!==(l=(h=s)._$Co)&&void 0!==l?l:h._$Co=[])[e]=r:s._$Cl=r),void 0!==r&&(i=S(t,r._$AS(t,i.values),r,e)),i}class M{constructor(t,i){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=i}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){var i;const{el:{content:s},parts:e}=this._$AD,o=(null!==(i=null==t?void 0:t.creationScope)&&void 0!==i?i:r).importNode(s,!0);C.currentNode=o;let n=C.nextNode(),l=0,h=0,u=e[0];for(;void 0!==u;){if(l===u.index){let i;2===u.type?i=new R(n,n.nextSibling,this,t):1===u.type?i=new u.ctor(n,u.name,u.strings,this,t):6===u.type&&(i=new Z(n,this,t)),this._$AV.push(i),u=e[++h]}l!==(null==u?void 0:u.index)&&(n=C.nextNode(),l++)}return C.currentNode=r,o}v(t){let i=0;for(const s of this._$AV)void 0!==s&&(void 0!==s.strings?(s._$AI(t,s,i),i+=s.strings.length-2):s._$AI(t[i])),i++}}class R{constructor(t,i,s,e){var o;this.type=2,this._$AH=A,this._$AN=void 0,this._$AA=t,this._$AB=i,this._$AM=s,this.options=e,this._$Cp=null===(o=null==e?void 0:e.isConnected)||void 0===o||o}get _$AU(){var t,i;return null!==(i=null===(t=this._$AM)||void 0===t?void 0:t._$AU)&&void 0!==i?i:this._$Cp}get parentNode(){let t=this._$AA.parentNode;const i=this._$AM;return void 0!==i&&11===(null==t?void 0:t.nodeType)&&(t=i.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,i=this){t=S(this,t,i),d(t)?t===A||null==t||\"\"===t?(this._$AH!==A&&this._$AR(),this._$AH=A):t!==this._$AH&&t!==T&&this._(t):void 0!==t._$litType$?this.g(t):void 0!==t.nodeType?this.$(t):v(t)?this.T(t):this._(t)}k(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}$(t){this._$AH!==t&&(this._$AR(),this._$AH=this.k(t))}_(t){this._$AH!==A&&d(this._$AH)?this._$AA.nextSibling.data=t:this.$(r.createTextNode(t)),this._$AH=t}g(t){var i;const{values:s,_$litType$:e}=t,o=\"number\"==typeof e?this._$AC(t):(void 0===e.el&&(e.el=N.createElement(P(e.h,e.h[0]),this.options)),e);if((null===(i=this._$AH)||void 0===i?void 0:i._$AD)===o)this._$AH.v(s);else{const t=new M(o,this),i=t.u(this.options);t.v(s),this.$(i),this._$AH=t}}_$AC(t){let i=E.get(t.strings);return void 0===i&&E.set(t.strings,i=new N(t)),i}T(t){c(this._$AH)||(this._$AH=[],this._$AR());const i=this._$AH;let s,e=0;for(const o of t)e===i.length?i.push(s=new R(this.k(u()),this.k(u()),this,this.options)):s=i[e],s._$AI(o),e++;e<i.length&&(this._$AR(s&&s._$AB.nextSibling,e),i.length=e)}_$AR(t=this._$AA.nextSibling,i){var s;for(null===(s=this._$AP)||void 0===s||s.call(this,!1,!0,i);t&&t!==this._$AB;){const i=t.nextSibling;t.remove(),t=i}}setConnected(t){var i;void 0===this._$AM&&(this._$Cp=t,null===(i=this._$AP)||void 0===i||i.call(this,t))}}class k{constructor(t,i,s,e,o){this.type=1,this._$AH=A,this._$AN=void 0,this.element=t,this.name=i,this._$AM=e,this.options=o,s.length>2||\"\"!==s[0]||\"\"!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=A}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(t,i=this,s,e){const o=this.strings;let n=!1;if(void 0===o)t=S(this,t,i,0),n=!d(t)||t!==this._$AH&&t!==T,n&&(this._$AH=t);else{const e=t;let l,h;for(t=o[0],l=0;l<o.length-1;l++)h=S(this,e[s+l],i,l),h===T&&(h=this._$AH[l]),n||(n=!d(h)||h!==this._$AH[l]),h===A?t=A:t!==A&&(t+=(null!=h?h:\"\")+o[l+1]),this._$AH[l]=h}n&&!e&&this.j(t)}j(t){t===A?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,null!=t?t:\"\")}}class H extends k{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===A?void 0:t}}const I=s?s.emptyScript:\"\";class L extends k{constructor(){super(...arguments),this.type=4}j(t){t&&t!==A?this.element.setAttribute(this.name,I):this.element.removeAttribute(this.name)}}class z extends k{constructor(t,i,s,e,o){super(t,i,s,e,o),this.type=5}_$AI(t,i=this){var s;if((t=null!==(s=S(this,t,i,0))&&void 0!==s?s:A)===T)return;const e=this._$AH,o=t===A&&e!==A||t.capture!==e.capture||t.once!==e.once||t.passive!==e.passive,n=t!==A&&(e===A||o);o&&this.element.removeEventListener(this.name,this,e),n&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){var i,s;\"function\"==typeof this._$AH?this._$AH.call(null!==(s=null===(i=this.options)||void 0===i?void 0:i.host)&&void 0!==s?s:this.element,t):this._$AH.handleEvent(t)}}class Z{constructor(t,i,s){this.element=t,this.type=6,this._$AN=void 0,this._$AM=i,this.options=s}get _$AU(){return this._$AM._$AU}_$AI(t){S(this,t)}}const j={O:o,P:n,A:l,C:1,M:V,L:M,R:v,D:S,I:R,V:k,H:L,N:z,U:H,F:Z},B=i.litHtmlPolyfillSupport;null==B||B(N,R),(null!==(t=i.litHtmlVersions)&&void 0!==t?t:i.litHtmlVersions=[]).push(\"2.8.0\");const D=(t,i,s)=>{var e,o;const n=null!==(e=null==s?void 0:s.renderBefore)&&void 0!==e?e:i;let l=n._$litPart$;if(void 0===l){const t=null!==(o=null==s?void 0:s.renderBefore)&&void 0!==o?o:null;n._$litPart$=l=new R(i.insertBefore(u(),t),t,void 0,null!=s?s:{})}return l._$AI(t),l};export{j as _$LH,x as html,T as noChange,A as nothing,D as render,b as svg};\n//# sourceMappingURL=lit-html.js.map\n","var functionDebounce = debounce;\n\nfunction debounce(fn, wait, callFirst) {\n var timeout = null;\n var debouncedFn = null;\n\n var clear = function() {\n if (timeout) {\n clearTimeout(timeout);\n\n debouncedFn = null;\n timeout = null;\n }\n };\n\n var flush = function() {\n var call = debouncedFn;\n clear();\n\n if (call) {\n call();\n }\n };\n\n var debounceWrapper = function() {\n if (!wait) {\n return fn.apply(this, arguments);\n }\n\n var context = this;\n var args = arguments;\n var callNow = callFirst && !timeout;\n clear();\n\n debouncedFn = function() {\n fn.apply(context, args);\n };\n\n timeout = setTimeout(function() {\n timeout = null;\n\n if (!callNow) {\n var call = debouncedFn;\n debouncedFn = null;\n\n return call();\n }\n }, wait);\n\n if (callNow) {\n return debouncedFn();\n }\n };\n\n debounceWrapper.cancel = clear;\n debounceWrapper.flush = flush;\n\n return debounceWrapper;\n}\n\nexport {functionDebounce as default};\n","var functionThrottle = throttle;\n\nfunction throttle(fn, interval, options) {\n var timeoutId = null;\n var throttledFn = null;\n var leading = (options && options.leading);\n var trailing = (options && options.trailing);\n\n if (leading == null) {\n leading = true; // default\n }\n\n if (trailing == null) {\n trailing = !leading; //default\n }\n\n if (leading == true) {\n trailing = false; // forced because there should be invocation per call\n }\n\n var cancel = function() {\n if (timeoutId) {\n clearTimeout(timeoutId);\n timeoutId = null;\n }\n };\n\n var flush = function() {\n var call = throttledFn;\n cancel();\n\n if (call) {\n call();\n }\n };\n\n var throttleWrapper = function() {\n var callNow = leading && !timeoutId;\n var context = this;\n var args = arguments;\n\n throttledFn = function() {\n return fn.apply(context, args);\n };\n\n if (!timeoutId) {\n timeoutId = setTimeout(function() {\n timeoutId = null;\n\n if (trailing) {\n return throttledFn();\n }\n }, interval);\n }\n\n if (callNow) {\n callNow = false;\n return throttledFn();\n }\n };\n\n throttleWrapper.cancel = cancel;\n throttleWrapper.flush = flush;\n\n return throttleWrapper;\n}\n\nexport {functionThrottle as default};\n","// src/utils/events.ts\nfunction listen(target, type, listener, options) {\n target.addEventListener(type, listener, options);\n return () => {\n target.removeEventListener(type, listener, options);\n };\n}\nfunction eventTypeIncludes(event, types) {\n return types.some((type) => event?.type.includes(type) ?? false);\n}\nfunction isPointerEvent(event) {\n return eventTypeIncludes(event, [\"pointer\"]);\n}\nfunction isTouchEvent(event) {\n return eventTypeIncludes(event, [\"touch\"]);\n}\nfunction isMouseEvent(event) {\n return eventTypeIncludes(event, [\"click\", \"mouse\"]);\n}\nasync function waitForEvent(target, type, options) {\n return new Promise((resolve, reject) => {\n const timerId = window.setTimeout(() => {\n reject(`Timed out waiting for event \\`${type}\\`.`);\n }, options?.timeout ?? 1e3);\n listen(\n target,\n type,\n (event) => {\n window.clearTimeout(timerId);\n resolve(event);\n },\n options\n );\n });\n}\nvar DisposalBin = class {\n constructor() {\n this._disposal = this._disposal ?? [];\n }\n add(...callbacks) {\n if (callbacks) {\n callbacks.forEach((cb) => {\n this._disposal.push(cb);\n });\n }\n }\n empty() {\n this._disposal.forEach((fn) => fn());\n this._disposal = [];\n }\n};\n\n// src/events/event-listener.ts\nfunction eventListener(host, type, listener, options) {\n let off;\n function attach() {\n if (!off) {\n off = listen(options?.target ?? host, type, listener, options);\n }\n }\n attach();\n host.addController({\n hostConnected() {\n attach();\n },\n hostDisconnected() {\n off?.();\n off = void 0;\n }\n });\n}\n\n// src/events/VdsEvent.ts\nvar VdsEvent = class extends CustomEvent {\n constructor(type, eventInit = {}) {\n super(type, eventInit);\n this.triggerEvent = eventInit.triggerEvent;\n if (!this.hasOwnProperty(\"originEvent\")) {\n Object.defineProperties(this, {\n originEvent: {\n get() {\n return getOriginEvent(this) ?? this;\n }\n },\n isOriginTrusted: {\n get() {\n return getOriginEvent(this)?.isTrusted ?? false;\n }\n }\n });\n }\n }\n get originEvent() {\n return getOriginEvent(this) ?? this;\n }\n get isOriginTrusted() {\n return this.originEvent?.isTrusted ?? false;\n }\n};\nfunction vdsEvent(type, eventInit = {}) {\n return new VdsEvent(type, eventInit);\n}\nfunction isVdsEvent(event) {\n return event?.hasOwnProperty(\"triggerEvent\") ?? false;\n}\nfunction getOriginEvent(event) {\n let triggerEvent = event.triggerEvent;\n while (triggerEvent && triggerEvent.triggerEvent) {\n triggerEvent = triggerEvent.triggerEvent;\n }\n return triggerEvent;\n}\nfunction walkTriggerEventChain(event, callback) {\n if (!isVdsEvent(event))\n return;\n let triggerEvent = event.triggerEvent;\n while (triggerEvent && triggerEvent.triggerEvent) {\n const returnValue = callback(triggerEvent);\n if (returnValue)\n return [triggerEvent, returnValue];\n triggerEvent = triggerEvent.triggerEvent;\n }\n return;\n}\nfunction findTriggerEvent(event, eventType) {\n return walkTriggerEventChain(event, (e) => e.type === eventType)?.[0];\n}\nfunction hasTriggerEvent(event, eventType) {\n return !!findTriggerEvent(event, eventType);\n}\nfunction appendTriggerEvent(event, triggerEvent) {\n (getOriginEvent(event) ?? event).triggerEvent = triggerEvent;\n}\n\n// src/events/redispatch.ts\nfunction redispatchEvent(target, event) {\n if (event.bubbles && event.composed)\n return;\n const newEvent = new VdsEvent(event.type, {\n triggerEvent: event.triggerEvent ?? event,\n detail: event.detail,\n bubbles: event.bubbles,\n cancelable: event.cancelable,\n composed: event.composed\n });\n target.dispatchEvent(newEvent);\n}\n\n// src/context/ContextConsumerController.ts\nvar orphanConsumers = /* @__PURE__ */ new Map();\nvar ContextConsumerController = class {\n constructor(_host, initialValue, _options) {\n this._host = _host;\n this.initialValue = initialValue;\n this._options = _options;\n this._registrationCallbacks = [];\n _host.addController({\n hostConnected: () => {\n this._connect();\n },\n hostDisconnected: () => {\n delete this._host[this.id];\n }\n });\n }\n get id() {\n return this._options.id;\n }\n get value() {\n return this._host[this.id] ?? this.initialValue;\n }\n get registered() {\n return this.id in this._host;\n }\n _connect() {\n if (this.id in this._host)\n return;\n const setValue = (value) => {\n this._host[this.id] = value;\n this._registrationCallbacks?.forEach((fn) => fn(value));\n this._registrationCallbacks = void 0;\n };\n this._host.dispatchEvent(\n vdsEvent(\"vds-context-consumer-connect\", {\n bubbles: true,\n composed: true,\n detail: {\n id: this.id,\n setValue\n }\n })\n );\n if (!this.registered) {\n const orphans = orphanConsumers.get(this.id) ?? [];\n orphans.push({ host: this._host, setValue });\n orphanConsumers.set(this.id, orphans);\n }\n }\n whenRegistered(callback) {\n if (this.registered) {\n callback(this.value);\n return;\n }\n this._registrationCallbacks?.push(callback);\n }\n};\nfunction adoptOrphans(id, provider) {\n const orphans = orphanConsumers.get(id) ?? [];\n const adoptees = orphans.filter(({ host }) => provider.contains(host));\n orphanConsumers.set(\n id,\n orphans.filter(({ host }) => !provider.contains(host))\n );\n return adoptees;\n}\n\n// src/context/ContextProviderController.ts\nvar ContextProviderController = class {\n constructor(_host, _initValue, _options) {\n this._host = _host;\n this._initValue = _initValue;\n this._options = _options;\n this._stopDisposal = new DisposalBin();\n this._value = _initValue();\n _host.addController({\n hostConnected: this.start.bind(this),\n hostDisconnected: this.stop.bind(this)\n });\n }\n get id() {\n return this._options.id;\n }\n get value() {\n return this._value;\n }\n start() {\n const dispose = listen(\n this._host,\n \"vds-context-consumer-connect\",\n this._handleConsumerConnect.bind(this)\n );\n for (const orphan of adoptOrphans(this.id, this._host)) {\n orphan.setValue(this._value);\n }\n this._stopDisposal.add(dispose);\n }\n stop() {\n this._stopDisposal.empty();\n }\n _handleConsumerConnect(event) {\n const consumer = event.detail;\n if (consumer.id !== this.id)\n return;\n event.stopImmediatePropagation();\n consumer.setValue(this._value);\n }\n};\n\n// src/context/context.ts\nfunction createContext(initValue) {\n const id = Symbol(\"@vidstack/context\");\n return {\n id,\n consume(host) {\n return new ContextConsumerController(host, initValue(), { id });\n },\n provide(host) {\n return new ContextProviderController(host, initValue, { id });\n }\n };\n}\nfunction isContext(context) {\n return typeof context?.id === \"symbol\" && context.id.description === \"@vidstack/context\";\n}\n\n// src/directives/if-non-empty.ts\nimport { ifDefined } from \"lit/directives/if-defined.js\";\nfunction ifNonEmpty(value) {\n return ifDefined(value === \"\" || value === \"undefined\" ? void 0 : value);\n}\n\n// src/directives/if-number.ts\nimport { ifDefined as ifDefined2 } from \"lit/directives/if-defined.js\";\n\n// src/utils/unit.ts\nfunction noop(...args) {\n}\nfunction notEqual(valueA, valueB) {\n return valueB !== valueA && (valueB === valueB || valueA === valueA);\n}\nfunction safeNotEqual(a, b) {\n return a != a ? b == b : a !== b || a && typeof a === \"object\" || typeof a === \"function\";\n}\nfunction equal(valueA, valueB) {\n return !notEqual(valueA, valueB);\n}\nfunction isNull(value) {\n return value === null;\n}\nfunction isUndefined(value) {\n return typeof value === \"undefined\";\n}\nfunction isNil(value) {\n return isNull(value) || isUndefined(value);\n}\nfunction isObject(value) {\n return value?.constructor === Object;\n}\nfunction isNumber(value) {\n return typeof value === \"number\" && !Number.isNaN(value);\n}\nfunction isString(value) {\n return typeof value === \"string\";\n}\nfunction isBoolean(value) {\n return typeof value === \"boolean\";\n}\nfunction isFunction(value) {\n return typeof value === \"function\";\n}\nfunction isArray(value) {\n return Array.isArray(value);\n}\nfunction createRegex(regex) {\n return isString(regex) ? new RegExp(regex) : regex;\n}\nfunction isWindow(value) {\n return value === window;\n}\n\n// src/directives/if-number.ts\nfunction ifNumber(value) {\n return ifDefined2(isNumber(value) ? value : void 0);\n}\n\n// src/elements/discovery/discover.ts\nvar discoverers = /* @__PURE__ */ new Map();\nvar discoverables = /* @__PURE__ */ new Map();\nfunction connect(discoverable2, id, onDisconnect) {\n for (const { host, callback } of Array.from(discoverers.get(id) ?? [])) {\n if (host !== discoverable2 && host.contains(discoverable2)) {\n callback(discoverable2, onDisconnect);\n }\n }\n}\nfunction find(host, id) {\n return Array.from(discoverables.get(id) ?? []).filter(\n ({ element }) => host !== element && host.contains(element)\n );\n}\nfunction discover(host, id, callback) {\n const discoverer = { host, callback };\n host.addController({\n hostConnected: () => {\n for (const { element, onDisconnect } of find(host, id)) {\n callback(element, onDisconnect);\n }\n discoverers.set(id, (discoverers.get(id) ?? /* @__PURE__ */ new Set()).add(discoverer));\n },\n hostDisconnected: () => {\n discoverers.get(id)?.delete(discoverer);\n }\n });\n}\nfunction discoverable(host, eventType, options = {}) {\n const id = options.register;\n const disconnectDisposal = new DisposalBin();\n const onDisconnect = (callback) => {\n disconnectDisposal.add(callback);\n };\n const discoverable2 = {\n element: host,\n onDisconnect\n };\n host.addController({\n hostConnected() {\n const event = vdsEvent(eventType, {\n bubbles: true,\n composed: true,\n detail: discoverable2\n });\n host.dispatchEvent(event);\n if (id) {\n discoverables.set(id, (discoverables.get(id) ?? /* @__PURE__ */ new Set()).add(discoverable2));\n connect(host, id, onDisconnect);\n }\n },\n hostDisconnected() {\n disconnectDisposal.empty();\n if (id) {\n discoverables.get(id)?.delete(discoverable2);\n }\n }\n });\n}\n\n// src/utils/support.ts\nvar IS_CLIENT = typeof window !== \"undefined\";\nvar UA = IS_CLIENT ? window.navigator?.userAgent.toLowerCase() : \"\";\nvar IS_IOS = /iphone|ipad|ipod|ios|CriOS|FxiOS/.test(UA);\nvar IS_ANDROID = /android/.test(UA);\nvar IS_MOBILE = IS_CLIENT && (IS_IOS || IS_ANDROID);\nvar IS_IPHONE = IS_CLIENT && /(iPhone|iPod)/gi.test(window.navigator?.platform);\nvar IS_FIREFOX = /firefox/.test(UA);\nvar IS_CHROME = IS_CLIENT && !!window.chrome;\nvar IS_SAFARI = IS_CLIENT && !IS_CHROME && (window.safari || IS_IOS || /(apple|safari)/.test(UA));\nvar ORIGIN = IS_CLIENT && window.location.protocol !== \"file:\" ? `${window.location.protocol}//${window.location.hostname}` : void 0;\nfunction currentSafariVersion() {\n return IS_CLIENT ? Number((/Safari\\/(\\d+)/.exec(navigator.userAgent) ?? [\"\", 0])[1]) : 0;\n}\nfunction canFullscreenVideo() {\n if (!IS_CLIENT)\n return false;\n const video = document.createElement(\"video\");\n return isFunction(video.webkitEnterFullscreen);\n}\nfunction canObserveIntersection() {\n return IS_CLIENT && !isUndefined(window.IntersectionObserver);\n}\nfunction canOrientScreen() {\n return IS_CLIENT && !isUndefined(screen.orientation) && isFunction(screen.orientation.lock) && isFunction(screen.orientation.unlock);\n}\nfunction canRotateScreen() {\n return IS_CLIENT && !isUndefined(window.screen.orientation) && !isUndefined(window.screen.orientation.lock);\n}\nfunction isReducedMotionPreferred() {\n return IS_CLIENT && \"matchMedia\" in window && window.matchMedia(\"(prefers-reduced-motion)\").matches;\n}\nfunction canPlayHLSNatively() {\n if (!IS_CLIENT)\n return false;\n const video = document.createElement(\"video\");\n return video.canPlayType(\"application/vnd.apple.mpegurl\").length > 0;\n}\nfunction canUsePiPInChrome() {\n if (!IS_CLIENT)\n return false;\n const video = document.createElement(\"video\");\n return !!document.pictureInPictureEnabled && !video.disablePictureInPicture;\n}\nfunction canUsePiPInSafari() {\n if (!IS_CLIENT)\n return false;\n const video = document.createElement(\"video\");\n return isFunction(video.webkitSupportsPresentationMode) && isFunction(video.webkitSetPresentationMode) && !IS_IPHONE;\n}\nfunction canUsePiP() {\n return canUsePiPInChrome() || canUsePiPInSafari();\n}\nfunction canAutoplay(muted = true, playsinline = true) {\n if (!IS_CLIENT)\n return Promise.resolve(false);\n const video = document.createElement(\"video\");\n if (muted) {\n video.setAttribute(\"muted\", \"\");\n video.muted = true;\n }\n if (playsinline) {\n video.setAttribute(\"playsinline\", \"\");\n video.setAttribute(\"webkit-playsinline\", \"\");\n }\n video.setAttribute(\"height\", \"0\");\n video.setAttribute(\"width\", \"0\");\n video.style.position = \"fixed\";\n video.style.top = \"0\";\n video.style.width = \"0\";\n video.style.height = \"0\";\n video.style.opacity = \"0\";\n new Promise((resolve) => resolve(video.play())).catch(noop);\n return Promise.resolve(!video.paused);\n}\nfunction getMediaSource() {\n return window?.MediaSource ?? window?.WebKitMediaSource;\n}\nfunction getSourceBuffer() {\n return window?.SourceBuffer ?? window?.WebKitSourceBuffer;\n}\nfunction isHlsjsSupported() {\n const mediaSource = getMediaSource();\n if (isUndefined(mediaSource)) {\n return false;\n }\n const isTypeSupported = mediaSource && isFunction(mediaSource.isTypeSupported) && mediaSource.isTypeSupported('video/mp4; codecs=\"avc1.42E01E,mp4a.40.2\"');\n const sourceBuffer = getSourceBuffer();\n const isSourceBufferValid = isUndefined(sourceBuffer) || !isUndefined(sourceBuffer.prototype) && isFunction(sourceBuffer.prototype.appendBuffer) && isFunction(sourceBuffer.prototype.remove);\n return !!isTypeSupported && !!isSourceBufferValid;\n}\n\n// src/elements/WithFocus.ts\nvar focusableSelector = `\n ${[\n \"a[href]\",\n \"area[href]\",\n `input:not([disabled]):not([tabindex='-1'])`,\n `button:not([disabled]):not([tabindex='-1'])`,\n `select:not([disabled]):not([tabindex='-1'])`,\n `textarea:not([disabled]):not([tabindex='-1'])`,\n \"iframe\",\n \"object\",\n \"embed\",\n `*[tabindex]:not([tabindex='-1'])`,\n \"*[contenteditable=true]\",\n \"vds-fullscreen-button\",\n \"vds-mute-button\",\n \"vds-play-button\",\n \"vds-slider\",\n \"vds-time-slider\",\n \"vds-volume-slider\"\n].join(\", \")}\n`;\nfunction WithFocus(Base) {\n return class WithFocusMixin extends Base {\n static get shadowRootOptions() {\n return {\n ...Base.shadowRootOptions,\n delegatesFocus: currentSafariVersion() <= 537\n };\n }\n focus() {\n if (this.shadowRoot?.delegatesFocus) {\n super.focus();\n } else {\n const delegateTarget = this.shadowRoot?.querySelector(focusableSelector) || this.querySelector(focusableSelector);\n if (delegateTarget) {\n delegateTarget.focus();\n } else {\n super.focus();\n }\n }\n }\n };\n}\n\n// ../../node_modules/.pnpm/fscreen@1.2.0/node_modules/fscreen/dist/fscreen.esm.js\nvar key = {\n fullscreenEnabled: 0,\n fullscreenElement: 1,\n requestFullscreen: 2,\n exitFullscreen: 3,\n fullscreenchange: 4,\n fullscreenerror: 5,\n fullscreen: 6\n};\nvar webkit = [\n \"webkitFullscreenEnabled\",\n \"webkitFullscreenElement\",\n \"webkitRequestFullscreen\",\n \"webkitExitFullscreen\",\n \"webkitfullscreenchange\",\n \"webkitfullscreenerror\",\n \"-webkit-full-screen\"\n];\nvar moz = [\n \"mozFullScreenEnabled\",\n \"mozFullScreenElement\",\n \"mozRequestFullScreen\",\n \"mozCancelFullScreen\",\n \"mozfullscreenchange\",\n \"mozfullscreenerror\",\n \"-moz-full-screen\"\n];\nvar ms = [\n \"msFullscreenEnabled\",\n \"msFullscreenElement\",\n \"msRequestFullscreen\",\n \"msExitFullscreen\",\n \"MSFullscreenChange\",\n \"MSFullscreenError\",\n \"-ms-fullscreen\"\n];\nvar document2 = typeof window !== \"undefined\" && typeof window.document !== \"undefined\" ? window.document : {};\nvar vendor = \"fullscreenEnabled\" in document2 && Object.keys(key) || webkit[0] in document2 && webkit || moz[0] in document2 && moz || ms[0] in document2 && ms || [];\nvar fscreen = {\n requestFullscreen: function(element) {\n return element[vendor[key.requestFullscreen]]();\n },\n requestFullscreenFunction: function(element) {\n return element[vendor[key.requestFullscreen]];\n },\n get exitFullscreen() {\n return document2[vendor[key.exitFullscreen]].bind(document2);\n },\n get fullscreenPseudoClass() {\n return \":\" + vendor[key.fullscreen];\n },\n addEventListener: function(type, handler, options) {\n return document2.addEventListener(vendor[key[type]], handler, options);\n },\n removeEventListener: function(type, handler, options) {\n return document2.removeEventListener(vendor[key[type]], handler, options);\n },\n get fullscreenEnabled() {\n return Boolean(document2[vendor[key.fullscreenEnabled]]);\n },\n set fullscreenEnabled(val) {\n },\n get fullscreenElement() {\n return document2[vendor[key.fullscreenElement]];\n },\n set fullscreenElement(val) {\n },\n get onfullscreenchange() {\n return document2[(\"on\" + vendor[key.fullscreenchange]).toLowerCase()];\n },\n set onfullscreenchange(handler) {\n return document2[(\"on\" + vendor[key.fullscreenchange]).toLowerCase()] = handler;\n },\n get onfullscreenerror() {\n return document2[(\"on\" + vendor[key.fullscreenerror]).toLowerCase()];\n },\n set onfullscreenerror(handler) {\n return document2[(\"on\" + vendor[key.fullscreenerror]).toLowerCase()] = handler;\n }\n};\nvar fscreen_esm_default = fscreen;\n\n// src/logger/events.ts\nfunction logEvent(level, ...data) {\n return vdsEvent(\"vds-log\", {\n bubbles: true,\n composed: true,\n detail: {\n level,\n data\n }\n });\n}\n\n// src/logger/grouped-log.ts\nvar GROUPED_LOG_ID = Symbol(\"@vidstack/grouped-log\");\nfunction isGroupedLog(data) {\n return isObject(data) && data[GROUPED_LOG_ID] === true;\n}\nfunction groupedLog(title, parent) {\n const logs = [];\n const group = {\n [GROUPED_LOG_ID]: true,\n title,\n logs,\n log(...data) {\n logs.push({ data });\n return group;\n },\n labelledLog(label, ...data) {\n logs.push({ label, data });\n return group;\n },\n groupStart(title2) {\n return groupedLog(title2, group);\n },\n groupEnd() {\n parent?.logs.push(group);\n return parent ?? group;\n }\n };\n return group;\n}\n\n// src/logger/LogDispatcher.ts\nvar LogDispatcher = class {\n constructor(_host) {\n this._host = _host;\n }\n error(...data) {\n this._dispatch(\"error\", ...data);\n }\n warn(...data) {\n this._dispatch(\"warn\", ...data);\n }\n info(...data) {\n this._dispatch(\"info\", ...data);\n }\n debug(...data) {\n this._dispatch(\"debug\", ...data);\n }\n errorGroup(title) {\n return this._groupDispatcher(\"error\", title);\n }\n warnGroup(title) {\n return this._groupDispatcher(\"warn\", title);\n }\n infoGroup(title) {\n return this._groupDispatcher(\"info\", title);\n }\n debugGroup(title) {\n return this._groupDispatcher(\"debug\", title);\n }\n _dispatch(level, ...data) {\n this._host.dispatchEvent(logEvent(level, ...data));\n }\n _groupDispatcher(level, title, rootGroup, parentGroup) {\n const group = groupedLog(title, parentGroup);\n group.dispatch = () => {\n this._dispatch(level, rootGroup ?? group);\n };\n return {\n ...group,\n groupStart: (title2) => {\n return this._groupDispatcher(level, title2, rootGroup ?? group, group);\n }\n };\n }\n};\n\n// src/logger/log-lifecycle.ts\nfunction logElementLifecycle(_host) {\n const logger = new LogDispatcher(_host);\n _host.addController({\n hostConnected() {\n logger.debug(\"\\u{1F517} connected\");\n },\n hostUpdated() {\n logger.debug(\"\\u{1F504} updated\");\n },\n hostDisconnected() {\n logger.debug(\"\\u{1F5D1}\\uFE0F disconnected\");\n }\n });\n}\n\n// src/logger/colors.ts\nvar LOCAL_STORAGE_KEY = \"@vidstack/log-colors\";\nvar colors = getSavedColors();\nfunction getSavedColors() {\n if (IS_CLIENT && !isUndefined(window.localStorage)) {\n let colors2 = {};\n try {\n colors2 = JSON.parse(localStorage.getItem(LOCAL_STORAGE_KEY) ?? \"\");\n } catch {\n }\n return new Map(Object.entries(colors2));\n }\n return /* @__PURE__ */ new Map();\n}\nfunction getColor(key2) {\n return colors.get(key2);\n}\nfunction saveColor(key2, { color = generateColor(), overwrite = false } = {}) {\n if (!colors.has(key2) || overwrite) {\n colors.set(key2, color);\n saveColors();\n }\n}\nfunction generateColor() {\n return `hsl(${Math.random() * 360}, 55%, 70%)`;\n}\nfunction saveColors() {\n if (IS_CLIENT && !isUndefined(window.localStorage)) {\n const map = {};\n colors.forEach(function(value, key2) {\n map[key2] = value;\n });\n localStorage.setItem(LOCAL_STORAGE_KEY, JSON.stringify(map));\n }\n}\n\n// src/logger/LogLevel.ts\nvar LogLevelValue = Object.freeze({\n silent: 0,\n error: 1,\n warn: 2,\n info: 3,\n debug: 4\n});\nvar LogLevelColor = Object.freeze({\n silent: \"white\",\n error: \"hsl(6, 58%, 50%)\",\n warn: \"hsl(51, 58%, 50%)\",\n info: \"hsl(219, 58%, 50%)\",\n debug: \"hsl(280, 58%, 50%)\"\n});\n\n// src/utils/number.ts\nfunction round(num, decimalPlaces = 2) {\n return Number(num.toFixed(decimalPlaces));\n}\nfunction clampNumber(min, value, max) {\n return Math.max(min, Math.min(max, value));\n}\nfunction getNumberOfDecimalPlaces(num) {\n return String(num).split(\".\")[1]?.length ?? 0;\n}\n\n// src/logger/ms.ts\nvar s = 1e3;\nvar m = s * 60;\nvar h = m * 60;\nvar d = h * 24;\nfunction ms2(val) {\n const msAbs = Math.abs(val);\n if (msAbs >= d) {\n return Math.round(val / d) + \"d\";\n }\n if (msAbs >= h) {\n return Math.round(val / h) + \"h\";\n }\n if (msAbs >= m) {\n return Math.round(val / m) + \"m\";\n }\n if (msAbs >= s) {\n return Math.round(val / s) + \"s\";\n }\n return round(val, 2) + \"ms\";\n}\n\n// src/logger/LogController.ts\nvar LogController = class {\n constructor(_host) {\n this._host = _host;\n this.logLevel = false ? \"warn\" : \"silent\";\n this._disposal = new DisposalBin();\n _host.addController({\n hostConnected: this._start.bind(this),\n hostDisconnected: this._stop.bind(this)\n });\n }\n _start() {\n this._disposal.add(\n listen(this._host, \"vds-log\", (event) => {\n event.stopPropagation();\n const eventTargetName = (event.path?.[0] ?? event.target).tagName.toLowerCase();\n const { level = \"warn\", data } = event.detail;\n if (LogLevelValue[this.logLevel] < LogLevelValue[level]) {\n return;\n }\n saveColor(eventTargetName);\n const hint = data?.length === 1 && isGroupedLog(data[0]) ? data[0].title : isString(data?.[0]) ? data[0] : \"\";\n console.groupCollapsed(\n `%c${level.toUpperCase()}%c ${eventTargetName}%c ${hint.slice(0, 50)}${hint.length > 50 ? \"...\" : \"\"}`,\n `background: ${LogLevelColor[level]}; color: white; padding: 1.5px 2.2px; border-radius: 2px; font-size: 11px;`,\n `color: ${getColor(eventTargetName)}; padding: 4px 0px; font-size: 11px;`,\n \"color: gray; font-size: 11px; padding-left: 4px;\"\n );\n if (data?.length === 1 && isGroupedLog(data[0])) {\n this._logGroup(level, data[0]);\n } else if (data) {\n this._log(level, ...data);\n }\n this._logTimeDiff();\n this._logStackTrace();\n console.groupEnd();\n })\n );\n }\n _stop() {\n this._lastLogTimestamp = void 0;\n this._disposal.empty();\n }\n _logGroup(level, groupedLog2) {\n console.groupCollapsed(groupedLog2.title);\n for (const log of groupedLog2.logs) {\n if (isGroupedLog(log)) {\n this._logGroup(level, log);\n } else if (\"label\" in log && !isUndefined(log.label)) {\n this._labelledLog(log.label, ...log.data);\n } else {\n this._log(level, ...log.data);\n }\n }\n console.groupEnd();\n }\n _log(level, ...data) {\n console[level](...data);\n }\n _labelledLog(label, ...data) {\n console.log(`%c${label}:`, \"color: gray\", ...data);\n }\n _logStackTrace() {\n console.groupCollapsed(\"%cStack Trace\", \"color: gray\");\n console.trace();\n console.groupEnd();\n }\n _logTimeDiff() {\n this._labelledLog(\"Time since last log\", this._getLastLogTimeDiff());\n }\n _getLastLogTimeDiff() {\n const time = performance.now();\n const diff = time - (this._lastLogTimestamp || (this._lastLogTimestamp = performance.now()));\n this._lastLogTimestamp = time;\n return ms2(diff);\n }\n};\n\n// src/fullscreen/FullscreenController.ts\nvar FullscreenController = class {\n constructor(_host, _screenOrientationController) {\n this._host = _host;\n this._screenOrientationController = _screenOrientationController;\n this._logger = false ? new LogDispatcher(this._host) : void 0;\n this._listenerDisposal = new DisposalBin();\n _host.addController({\n hostDisconnected: this._handleHostDisconnected.bind(this)\n });\n }\n async _handleHostDisconnected() {\n if (this.isFullscreen)\n await this.exitFullscreen();\n this._listenerDisposal.empty();\n }\n get isSupported() {\n return this.isSupportedNatively;\n }\n get isSupportedNatively() {\n return fscreen_esm_default.fullscreenEnabled;\n }\n get isFullscreen() {\n return this.isNativeFullscreen;\n }\n get isNativeFullscreen() {\n if (fscreen_esm_default.fullscreenElement === this._host)\n return true;\n try {\n return this._host.matches(\n fscreen_esm_default.fullscreenPseudoClass\n );\n } catch (error) {\n return false;\n }\n }\n _addFullscreenChangeEventListener(listener) {\n if (!this.isSupported)\n return noop;\n if (false) {\n this._logger?.debug(\"adding `fullscreenchange` listener\");\n }\n const dispose = listen(fscreen_esm_default, \"fullscreenchange\", listener);\n return () => {\n if (false) {\n this._logger?.debug(\"removing `fullscreenchange` listener\");\n }\n dispose();\n };\n }\n _addFullscreenErrorEventListener(listener) {\n if (!this.isSupported)\n return noop;\n if (false) {\n this._logger?.debug(\"adding `fullscreenerror` listener\");\n }\n const dispose = listen(fscreen_esm_default, \"fullscreenerror\", listener);\n return () => {\n if (false) {\n this._logger?.debug(\"removing `fullscreenerror` listener\");\n }\n dispose();\n };\n }\n async enterFullscreen() {\n if (this.isFullscreen)\n return;\n this._throwIfNoFullscreenSupport();\n if (false) {\n this._logger?.debug(\"requesting fullscreen\");\n }\n this._listenerDisposal.add(\n this._addFullscreenChangeEventListener(this._handleFullscreenChange.bind(this))\n );\n this._listenerDisposal.add(\n this._addFullscreenErrorEventListener(this._handleFullscreenError.bind(this))\n );\n const response = await this._makeEnterFullscreenRequest();\n await this._lockScreenOrientation();\n return response;\n }\n async _makeEnterFullscreenRequest() {\n return fscreen_esm_default.requestFullscreen(this._host);\n }\n _handleFullscreenChange(event) {\n if (!this.isFullscreen)\n this._listenerDisposal.empty();\n this._host.dispatchEvent(\n vdsEvent(\"vds-fullscreen-change\", {\n bubbles: true,\n composed: true,\n detail: this.isFullscreen,\n triggerEvent: event\n })\n );\n }\n _handleFullscreenError(event) {\n this._host.dispatchEvent(\n vdsEvent(\"vds-fullscreen-error\", {\n bubbles: true,\n composed: true,\n triggerEvent: event\n })\n );\n }\n async exitFullscreen() {\n if (!this.isFullscreen)\n return;\n this._throwIfNoFullscreenSupport();\n if (false) {\n this._logger?.debug(\"exiting fullscreen\");\n }\n const response = await this._makeExitFullscreenRequest();\n await this._unlockScreenOrientation();\n return response;\n }\n async _makeExitFullscreenRequest() {\n return fscreen_esm_default.exitFullscreen();\n }\n _shouldOrientScreen() {\n return this._screenOrientationController.canOrient && !isUndefined(this.screenOrientationLock);\n }\n async _lockScreenOrientation() {\n if (isUndefined(this.screenOrientationLock) || !this._shouldOrientScreen()) {\n return;\n }\n await this._screenOrientationController.lock(this.screenOrientationLock);\n }\n async _unlockScreenOrientation() {\n if (!this._shouldOrientScreen())\n return;\n await this._screenOrientationController.unlock();\n }\n _throwIfNoFullscreenSupport() {\n if (this.isSupported)\n return;\n throw Error(\"Fullscreen API is not enabled or supported in this environment.\");\n }\n};\n\n// src/observers/FocusVisibleController.ts\nvar FocusVisibleController = class {\n constructor(_host) {\n this._host = _host;\n const disposal = new DisposalBin();\n let hadKeyboardEvent = false;\n disposal.add(\n listen(document, \"pointerdown\", () => {\n hadKeyboardEvent = false;\n })\n );\n eventListener(_host, \"keydown\", (e) => {\n if (e.metaKey || e.altKey || e.ctrlKey) {\n return;\n }\n hadKeyboardEvent = true;\n });\n eventListener(_host, \"focus\", (e) => {\n if (hadKeyboardEvent) {\n _host.classList.add(\"focus-visible\");\n }\n });\n eventListener(_host, \"blur\", (e) => {\n _host.classList.remove(\"focus-visible\");\n });\n _host.addController({\n hostDisconnected: () => {\n disposal.empty();\n }\n });\n }\n};\nfunction focusVisiblePolyfill(host) {\n return new FocusVisibleController(host);\n}\n\n// src/observers/IntersectionController.ts\nvar IntersectionController = class {\n constructor(_host, config = {}, _callback = () => true, _logger = false ? new LogDispatcher(_host) : void 0) {\n this._host = _host;\n this._callback = _callback;\n this._logger = _logger;\n this._skipInitial = false;\n this._unobservedUpdate = false;\n const { target, skipInitial, ...intersectionObserverInit } = config;\n this._target = target ?? void 0;\n this._skipInitial = skipInitial ?? this._skipInitial;\n if (!window.IntersectionObserver) {\n if (false) {\n _logger?.warn(`Browser does not support \\`IntersectionObserver\\`.`);\n }\n return;\n }\n this._observer = new IntersectionObserver((entries) => {\n const unobservedUpdate = this._unobservedUpdate;\n this._unobservedUpdate = false;\n if (this._skipInitial && unobservedUpdate)\n return;\n this.handleChanges(entries);\n this._host.requestUpdate();\n }, intersectionObserverInit);\n _host.addController(this);\n }\n handleChanges(entries) {\n this.value = this._callback(entries, this._observer);\n }\n hostConnected() {\n if (this._target) {\n this.observe(this._target);\n }\n }\n hostDisconnected() {\n this._disconnect();\n }\n async hostUpdated() {\n const pendingRecords = this._observer.takeRecords();\n if (pendingRecords.length) {\n this.handleChanges(pendingRecords);\n }\n }\n observe(target) {\n this._observer.observe(target);\n this._unobservedUpdate = true;\n return () => {\n this._observer.unobserve(target);\n };\n }\n _disconnect() {\n this._observer.disconnect();\n }\n};\nfunction createIntersectionController(...params) {\n return new IntersectionController(...params);\n}\n\n// src/observers/PageController.ts\nvar IS_SAFARI2 = typeof window !== \"undefined\" && typeof window.safari === \"object\" && window?.safari.pushNotification;\nvar PageController = class {\n constructor(_host, _callback, _logger = false ? new LogDispatcher(_host) : void 0) {\n this._host = _host;\n this._callback = _callback;\n this._logger = _logger;\n this._state = this._determinePageState();\n this._visibility = document.visibilityState;\n this._disposal = new DisposalBin();\n _host.addController(this);\n }\n get state() {\n return this._state;\n }\n get visibility() {\n return this._visibility;\n }\n hostConnected() {\n const pageEvents = [\"focus\", \"blur\", \"visibilitychange\", \"pageshow\", \"pagehide\"];\n this._state = this._determinePageState();\n this._visibility = document.visibilityState;\n pageEvents.forEach((pageEvent) => {\n const off = listen(window, pageEvent, this._handlePageEvent.bind(this));\n this._disposal.add(off);\n });\n if (IS_SAFARI2) {\n this._disposal.add(\n listen(window, \"beforeunload\", (event) => {\n this._safariBeforeUnloadTimeout = setTimeout(() => {\n if (!(event.defaultPrevented || event.returnValue.length > 0)) {\n this._state = \"hidden\";\n this._visibility = \"hidden\";\n this._triggerCallback();\n }\n }, 0);\n })\n );\n }\n }\n hostDisconnected() {\n this._disposal.empty();\n }\n _handlePageEvent(event) {\n if (IS_SAFARI2) {\n window.clearTimeout(this._safariBeforeUnloadTimeout);\n }\n const prevState = this._state;\n const prevVisibility = this._visibility;\n if (event.type !== \"blur\" || this.state === \"active\") {\n this._state = this._determinePageState(event);\n this._visibility = document.visibilityState == \"hidden\" ? \"hidden\" : \"visible\";\n }\n if (this.state !== prevState || this.visibility !== prevVisibility) {\n this._triggerCallback();\n }\n }\n _triggerCallback() {\n this._callback({ state: this.state, visibility: this.visibility });\n }\n _determinePageState(event) {\n if (false)\n return \"hidden\";\n if (event?.type === \"blur\" || document.visibilityState === \"hidden\") {\n return \"hidden\";\n }\n if (document.hasFocus()) {\n return \"active\";\n }\n return \"passive\";\n }\n};\n\n// src/utils/promise.ts\nfunction deferredPromise() {\n let resolve = noop;\n let reject = noop;\n const promise = new Promise((res, rej) => {\n resolve = res;\n reject = rej;\n });\n return { promise, resolve, reject };\n}\nfunction timedPromise(promise, timeout, timeoutMsg) {\n const timer = new Promise((_, reject) => {\n const timerId = window.setTimeout(() => {\n window.clearTimeout(timerId);\n reject(timeoutMsg);\n }, timeout);\n });\n return Promise.race([promise, timer]);\n}\n\n// src/queue/RequestQueue.ts\nvar RequestQueue = class {\n constructor() {\n this._requestQueue = /* @__PURE__ */ new Map();\n this._requestKeys = [];\n this._pendingFlush = deferredPromise();\n this._isServing = false;\n }\n get isServing() {\n return this._isServing;\n }\n get size() {\n return this._requestQueue.size;\n }\n async waitForFlush() {\n if (this._isServing)\n return;\n await this._pendingFlush.promise;\n }\n queue(key2, callback) {\n if (this._isServing) {\n callback();\n return;\n }\n this._requestKeys = [...this._requestKeys.filter((k) => k !== key2), key2];\n this._requestQueue.set(key2, callback);\n }\n serve(key2) {\n this._requestQueue.get(key2)?.();\n this._requestQueue.delete(key2);\n }\n start() {\n this._flush();\n this._isServing = true;\n if (this._requestQueue.size > 0) {\n this._flush();\n }\n }\n _flush() {\n for (const requestKey of this._requestKeys) {\n this.serve(requestKey);\n }\n this._requestKeys = [];\n this._release();\n }\n _empty() {\n this._requestQueue.clear();\n }\n _release() {\n this._pendingFlush.resolve();\n this._pendingFlush = deferredPromise();\n }\n stop() {\n this._isServing = false;\n }\n destroy() {\n this.stop();\n this._empty();\n this._release();\n }\n};\n\n// src/queue/host-request-queue.ts\nfunction hostRequestQueue(host) {\n const q = new RequestQueue();\n host.addController({\n hostConnected: q.start.bind(q),\n hostDisconnected: q.destroy.bind(q)\n });\n return q;\n}\n\n// src/screen-orientation/ScreenOrientationController.ts\nvar ScreenOrientationController = class {\n constructor(_host) {\n this._host = _host;\n this._isScreenOrientationLocked = false;\n this._logger = false ? new LogDispatcher(this._host) : void 0;\n this._updateScreenOrientation();\n this._listenerDisposal = new DisposalBin();\n _host.addController({\n hostConnected: this._handleHostConnected.bind(this),\n hostDisconnected: this._handleHostDisconnected.bind(this)\n });\n }\n async _handleHostConnected() {\n this._updateScreenOrientation();\n this._addScreenOrientationEventListeners();\n }\n async _handleHostDisconnected() {\n if (this.canOrient && this._isScreenOrientationLocked)\n await this.unlock();\n this._listenerDisposal.empty();\n }\n get currentOrientation() {\n return this._screenOrientation;\n }\n get canOrient() {\n return canOrientScreen();\n }\n get isLocked() {\n return this._isScreenOrientationLocked;\n }\n async lock(lockType) {\n this._throwIfScreenOrientationUnavailable();\n if (false) {\n this._logger?.debug(\"locking screen orientation to\", lockType);\n }\n await screen.orientation.lock(lockType);\n this._isScreenOrientationLocked = true;\n this._host.dispatchEvent(\n vdsEvent(\"vds-screen-orientation-lock-change\", {\n bubbles: true,\n composed: true,\n detail: lockType\n })\n );\n }\n async unlock() {\n this._throwIfScreenOrientationUnavailable();\n if (false) {\n this._logger?.debug(\"unlocking screen orientation\");\n }\n await screen.orientation.unlock();\n this._isScreenOrientationLocked = false;\n this._host.dispatchEvent(\n vdsEvent(\"vds-screen-orientation-lock-change\", {\n bubbles: true,\n composed: true,\n detail: screen.orientation.type\n })\n );\n }\n _addScreenOrientationEventListeners() {\n if (!this.canOrient)\n return;\n this._listenerDisposal.add(this._addScreenOrientationChangeEventListener());\n }\n _addScreenOrientationChangeEventListener() {\n return listen(screen.orientation, \"change\", this._handleOrientationChange.bind(this));\n }\n _handleOrientationChange(event) {\n this._screenOrientation = window.screen.orientation.type;\n if (false) {\n this._logger?.debug(\"screen orientation changed to\", this._screenOrientation);\n }\n this._host.dispatchEvent(\n vdsEvent(\"vds-screen-orientation-change\", {\n bubbles: true,\n composed: true,\n detail: this._screenOrientation,\n triggerEvent: event\n })\n );\n }\n _updateScreenOrientation() {\n this._screenOrientation = IS_CLIENT ? window.screen?.orientation?.type : void 0;\n }\n _throwIfScreenOrientationUnavailable() {\n if (this.canOrient)\n return;\n throw Error(\"Screen orientation API is not available.\");\n }\n};\n\n// src/utils/object.ts\nfunction keysOf(obj) {\n return Object.keys(obj);\n}\nfunction pick(obj, keys) {\n return keys.reduce(\n (newObj, key2) => ({\n ...newObj,\n [key2]: obj[key2]\n }),\n {}\n );\n}\nfunction omit(obj, keys) {\n return keysOf(obj).filter((key2) => keys.indexOf(key2) < 0).reduce(\n (newObj, key2) => ({\n ...newObj,\n [key2]: obj[key2]\n }),\n {}\n );\n}\nvar hasOwnProperty = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop);\nvar sortObjectsBy = (objects, sortKey) => objects.sort((a, b) => {\n if (a[sortKey] === b[sortKey])\n return 0;\n return a[sortKey] < b[sortKey] ? -1 : 1;\n});\n\n// src/stores/store-subscription.ts\nfunction storeSubscription(host, store, onChange) {\n let consumer;\n let unsubscribe;\n const subscribe = () => {\n unsubscribe = (consumer?.value ?? store).subscribe(onChange);\n };\n if (isContext(store)) {\n consumer = store.consume(host);\n }\n host.addController({\n hostConnected() {\n if (isContext(store)) {\n consumer.whenRegistered(subscribe);\n } else {\n subscribe();\n }\n },\n hostDisconnected() {\n unsubscribe?.();\n }\n });\n}\n\n// src/stores/stores.ts\nvar subscriberQueue = [];\nfunction readable(value, start) {\n return {\n initialValue: value,\n subscribe: writable(value, start).subscribe\n };\n}\nfunction writable(value, start = noop) {\n let stop;\n const subscribers = /* @__PURE__ */ new Set();\n function set(newValue) {\n if (safeNotEqual(value, newValue)) {\n value = newValue;\n if (stop) {\n const runQueue = !subscriberQueue.length;\n for (const subscriber of subscribers) {\n subscriber[1]();\n subscriberQueue.push(subscriber, value);\n }\n if (runQueue) {\n for (let i = 0; i < subscriberQueue.length; i += 2) {\n subscriberQueue[i][0](subscriberQueue[i + 1]);\n }\n subscriberQueue.length = 0;\n }\n }\n }\n }\n function update(updater) {\n set(updater(value));\n }\n function subscribe(run, invalidate = noop) {\n const subscriber = [run, invalidate];\n subscribers.add(subscriber);\n if (subscribers.size === 1) {\n stop = start(set) || noop;\n }\n run(value);\n return () => {\n subscribers.delete(subscriber);\n if (subscribers.size === 0) {\n stop?.();\n stop = null;\n }\n };\n }\n return { initialValue: value, set, update, subscribe };\n}\nfunction derived(stores, fn, initialValue) {\n const single = !Array.isArray(stores);\n const storesArray = single ? [stores] : stores;\n const auto = fn.length < 2;\n return readable(initialValue, (set) => {\n let initialized = false;\n const values = [];\n let pending = 0;\n let cleanup = noop;\n const sync = () => {\n if (pending) {\n return;\n }\n cleanup();\n const result = fn(single ? values[0] : values, set);\n if (auto) {\n set(result);\n } else {\n cleanup = isFunction(result) ? result : noop;\n }\n };\n const unsubscribers = storesArray.map(\n (store, i) => store.subscribe(\n (value) => {\n values[i] = value;\n pending &= ~(1 << i);\n if (initialized) {\n sync();\n }\n },\n () => {\n pending |= 1 << i;\n }\n )\n );\n initialized = true;\n sync();\n return function stop() {\n unsubscribers.forEach((fn2) => fn2());\n cleanup();\n };\n });\n}\nfunction getStoreValue(store) {\n let value;\n store.subscribe((_) => value = _)();\n return value;\n}\n\n// src/stores/store-record.ts\nfunction storeRecordSubscription(host, store, key2, onChange) {\n if (isContext(store)) {\n const consumer = store.consume(host);\n let unsubscribe;\n const subscribe = () => {\n unsubscribe = consumer.value[key2].subscribe(onChange);\n };\n host.addController({\n hostConnected: () => {\n consumer.whenRegistered(subscribe);\n },\n hostDisconnected: () => {\n unsubscribe?.();\n }\n });\n } else {\n return storeSubscription(host, store[key2], onChange);\n }\n}\nfunction copyStoreRecords(storeRecordA, storeRecordB) {\n for (const key2 of keysOf(storeRecordA)) {\n const storeA = storeRecordA[key2];\n const storeB = storeRecordB[key2];\n if (!storeA || !storeB)\n continue;\n const valA = getStoreValue(storeA);\n const valB = getStoreValue(storeB);\n if (valA !== valB)\n storeB.set(valA);\n }\n}\nfunction unwrapStoreRecord(store) {\n return new Proxy(store, {\n get(target, key2) {\n return getStoreValue(target[key2]);\n },\n has(target, key2) {\n return Reflect.has(target, key2);\n },\n ownKeys(target) {\n return Reflect.ownKeys(target);\n },\n getOwnPropertyDescriptor(target, key2) {\n return Reflect.getOwnPropertyDescriptor(target, key2);\n }\n });\n}\n\n// src/utils/aria.ts\nfunction ariaBool(value) {\n return value ? \"true\" : \"false\";\n}\n\n// src/utils/array.ts\nfunction isScalarArrayEqual(arrayA, arrayB) {\n return arrayA.length === arrayB.length && arrayA.every((value, i) => value === arrayB[i]);\n}\nfunction filterUnique(items, key2, options = {}) {\n const seen = /* @__PURE__ */ new Set();\n return items.filter((item) => {\n if (options.removeNull && isNull(item[key2]))\n return false;\n if (options.removeUndefined && isUndefined(item[key2]))\n return false;\n const isUnique = !seen.has(item[key2]);\n if (!isUnique) {\n options.onDuplicateFound?.(item);\n }\n seen.add(item[key2]);\n return isUnique;\n });\n}\n\n// src/utils/dom.ts\nfunction raf(callback) {\n return new Promise((resolve) => {\n const rafId = window.requestAnimationFrame(async () => {\n await callback?.();\n resolve(rafId);\n });\n });\n}\nfunction walkUpDOMTree(node, onDiscover) {\n let parent = node.parentElement;\n while (parent) {\n const skip = onDiscover(parent);\n parent = skip ? null : parent.parentElement;\n }\n}\nfunction buildExportPartsAttr(parts, prefix) {\n return parts.map(\n (part) => `${part}: ${!isFunction(prefix) ? prefix ? `${prefix}-` : \"\" : prefix(part)}${part}`\n ).join(\", \");\n}\nfunction safelyDefineCustomElement(name, constructor, isClient = IS_CLIENT) {\n const isElementRegistered = isClient && !isUndefined(window.customElements.get(name));\n if (!isClient || isElementRegistered)\n return;\n window.customElements.define(name, constructor);\n}\nfunction setAttribute(element, attrName, attrValue) {\n if (isNil(attrValue) || attrValue === false) {\n element.removeAttribute(attrName);\n } else {\n const value = isString(attrValue) ? attrValue : \"\";\n element.setAttribute(attrName, value);\n }\n}\nfunction setAttributeIfEmpty(element, attrName, attrValue) {\n if (!element.hasAttribute(attrName)) {\n element.setAttribute(attrName, attrValue);\n }\n}\nfunction setCSSProperty(element, name, value, prefix = \"vds\") {\n element.style.setProperty(`--${prefix}-${name}`, value ? value : null);\n}\nfunction getSlottedChildren(el, name) {\n const selector = name ? `slot[name=\"${name}\"]` : \"slot:not([name])\";\n const slot = el.shadowRoot?.querySelector(selector);\n const childNodes = slot?.assignedNodes({ flatten: true }) ?? [];\n return Array.prototype.filter.call(childNodes, (node) => node.nodeType == Node.ELEMENT_NODE);\n}\nfunction getElementAttributes(elementCtor) {\n return new Set(elementCtor.observedAttributes);\n}\nfunction observeAttributes(element, attributes, onChange, { skipInitial = false } = {}) {\n const callback = (attrName) => {\n const attrValue = element.getAttribute(attrName);\n onChange?.(attrName, attrValue);\n };\n const observer = new MutationObserver((mutations) => {\n for (const mutation of mutations) {\n if (mutation.type === \"attributes\") {\n callback(mutation.attributeName);\n }\n }\n });\n if (!skipInitial) {\n for (const attrName of attributes) {\n callback(attrName);\n }\n }\n observer.observe(element, {\n attributeFilter: Array.from(attributes)\n });\n return observer;\n}\nfunction requestIdleCallback(callback) {\n if (false) {\n callback();\n return;\n }\n const idle = window.requestIdleCallback ?? ((fn) => fn());\n if (document.readyState === \"complete\") {\n idle(callback);\n } else {\n window.addEventListener(\n \"load\",\n () => {\n idle(callback);\n },\n { once: true }\n );\n }\n}\n\n// src/utils/keyboard.ts\nfunction isKeyboardEvent(event) {\n return event?.type.startsWith(\"key\") ?? false;\n}\nfunction wasEnterKeyPressed(event) {\n return isKeyboardEvent(event) && event.key === \"Enter\";\n}\nfunction wasEscapeKeyPressed(event) {\n return isKeyboardEvent(event) && event.key === \"Escape\";\n}\nfunction isKeyboardClick(event) {\n return isKeyboardEvent(event) && (event.key === \"Enter\" || event.key === \" \");\n}\n\n// src/utils/network.ts\nfunction tryParseJSON(json) {\n if (!isString(json))\n return void 0;\n try {\n return JSON.parse(json);\n } catch (error) {\n return void 0;\n }\n}\nfunction isObjOrJSON(value) {\n return isString(value) && value.startsWith(\"{\") || isObject(value);\n}\nfunction objOrParseJSON(value) {\n return isObject(value) ? value : tryParseJSON(value);\n}\nfunction loadImage(src, minWidth = 1) {\n return new Promise((resolve, reject) => {\n const image = new Image();\n const handler = () => {\n image.naturalWidth >= minWidth ? resolve(image) : reject(image);\n };\n Object.assign(image, { onload: handler, onerror: handler, src });\n });\n}\nasync function loadScript(src) {\n const hasLoaded = document.querySelector(`script[src=\"${src}\"]`);\n if (!isNull(hasLoaded))\n return;\n const script = document.createElement(\"script\");\n const load = deferredPromise();\n script.src = src;\n script.onload = load.resolve;\n script.onerror = load.reject;\n const firstScriptTag = document.getElementsByTagName(\"script\")[0];\n if (!isNil(firstScriptTag.parentNode)) {\n firstScriptTag.parentNode.insertBefore(script, firstScriptTag);\n }\n return load.promise;\n}\nfunction decodeJSON(data) {\n if (!isObjOrJSON(data))\n return void 0;\n return objOrParseJSON(data);\n}\nfunction tryDecodeURIComponent(component, fallback = \"\", isClient = IS_CLIENT) {\n if (!isClient)\n return fallback;\n try {\n return window.decodeURIComponent(component);\n } catch (error) {\n return fallback;\n }\n}\nvar QUERY_STRING_REGEX = /(?:^[#?]?|&)([^=&]+)(?:=([^&]*))?/g;\nfunction parseQueryString(qs) {\n const params = /* @__PURE__ */ Object.create(null);\n if (isUndefined(qs))\n return params;\n let match;\n while (match = QUERY_STRING_REGEX.exec(qs)) {\n const name = tryDecodeURIComponent(match[1], match[1]).replace(\"[]\", \"\");\n const value = isString(match[2]) ? tryDecodeURIComponent(match[2].replace(/\\+/g, \" \"), match[2]) : \"\";\n const currValue = params[name];\n if (currValue && !isArray(currValue))\n params[name] = [currValue];\n currValue ? params[name].push(value) : params[name] = value;\n }\n return params;\n}\nfunction serializeQueryString(params) {\n const qs = [];\n const appendQueryParam = (param, v) => {\n qs.push(`${encodeURIComponent(param)}=${encodeURIComponent(v)}`);\n };\n Object.keys(params).forEach((param) => {\n const value = params[param];\n if (isNil(value))\n return;\n if (isArray(value)) {\n value.forEach((v) => appendQueryParam(param, v));\n } else {\n appendQueryParam(param, value);\n }\n });\n return qs.join(\"&\");\n}\nfunction preconnect(url, rel = \"preconnect\", isClient = IS_CLIENT) {\n if (!isClient)\n return false;\n const hasLink = document.querySelector(`link[href=\"${url}\"]`);\n if (!isNull(hasLink))\n return true;\n const link = document.createElement(\"link\");\n link.rel = rel;\n link.href = url;\n link.crossOrigin = \"true\";\n document.head.append(link);\n return true;\n}\nfunction appendQueryStringToURL(url, qs) {\n if (isUndefined(qs) || qs.length === 0)\n return url;\n const mainAndQuery = url.split(\"?\", 2);\n return mainAndQuery[0] + (!isUndefined(mainAndQuery[1]) ? `?${mainAndQuery[1]}&${qs}` : `?${qs}`);\n}\nfunction appendParamsToURL(url, params) {\n return appendQueryStringToURL(url, isObject(params) ? serializeQueryString(params) : params);\n}\nfunction decodeQueryString(qs) {\n if (!isString(qs))\n return void 0;\n return parseQueryString(qs);\n}\nvar ScriptLoader = class {\n static async load(src) {\n return new Promise((resolve, reject) => {\n if (this.pendingRequests[src]) {\n this.pendingRequests[src].push({ resolve, reject });\n return;\n }\n this.pendingRequests[src] = [{ resolve, reject }];\n loadScript(src).then(() => {\n this.pendingRequests[src].forEach((request) => request.resolve());\n delete this.pendingRequests[src];\n }).catch((err) => {\n this.pendingRequests[src].forEach((request) => request.reject(err));\n delete this.pendingRequests[src];\n });\n });\n }\n};\nScriptLoader.pendingRequests = {};\n\n// src/utils/scroll.ts\nfunction hideDocumentScrollbar(hidden) {\n window.requestAnimationFrame(() => {\n document.documentElement.classList[hidden ? \"add\" : \"remove\"](\"overflow-hidden\");\n document.documentElement.classList[!hidden ? \"add\" : \"remove\"](\"overflow-x-hidden\");\n });\n}\nfunction scrollIntoCenter(scroll, element, options = {}) {\n const scrollTop = isWindow(scroll) ? window.pageYOffset : scroll.scrollTop;\n const scrollHeight = isWindow(scroll) ? window.innerHeight : scroll.getBoundingClientRect().height;\n const elementRect = element.getBoundingClientRect();\n const center = elementRect.top + scrollTop - scrollHeight / 2;\n scroll.scrollTo({\n top: center + (options?.offset ?? 0),\n behavior: options.behaviour\n });\n}\n\n// src/utils/string.ts\nvar escapeQuotes = (str) => str.replace(/^\"+|\"+$/g, \"\").replace(/^'+|'+$/g, \"\");\nvar normalizeLineBreaks = (str) => str.replace(/\\\\r/g, \"\\n\");\nfunction splitLineBreaks(str) {\n if (typeof str !== \"string\")\n return [];\n return normalizeLineBreaks(str).split(\"\\n\");\n}\nfunction uppercaseFirstLetter(str) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n}\nfunction lowercaseFirstLetter(str) {\n return str.charAt(0).toLowerCase() + str.slice(1);\n}\nfunction kebabToTitleCase(str) {\n return uppercaseFirstLetter(str.replace(/-./g, (x) => \" \" + x[1].toUpperCase()));\n}\nfunction camelToKebabCase(str) {\n return str.replace(/([a-z])([A-Z])/g, \"$1-$2\").toLowerCase();\n}\nfunction kebabToCamelCase(str) {\n return str.replace(/-./g, (x) => x[1].toUpperCase());\n}\nfunction kebabToPascalCase(str) {\n return kebabToTitleCase(str).replace(/\\s/g, \"\");\n}\nfunction camelToTitleCase(str) {\n return uppercaseFirstLetter(str.replace(/([A-Z])/g, \" $1\"));\n}\n\n// src/utils/time.ts\nfunction padNumberWithZeroes(num, expectedLength) {\n const str = String(num);\n const actualLength = str.length;\n const shouldPad = actualLength < expectedLength;\n if (shouldPad) {\n const padLength = expectedLength - actualLength;\n const padding = `0`.repeat(padLength);\n return `${padding}${num}`;\n }\n return str;\n}\nvar TimeUnit = /* @__PURE__ */ ((TimeUnit2) => {\n TimeUnit2[\"Hours\"] = \"hours\";\n TimeUnit2[\"Minutes\"] = \"minutes\";\n TimeUnit2[\"Seconds\"] = \"seconds\";\n TimeUnit2[\"Fraction\"] = \"fraction\";\n return TimeUnit2;\n})(TimeUnit || {});\nfunction parseTime(duration) {\n const hours = Math.trunc(duration / 3600);\n const minutes = Math.trunc(duration % 3600 / 60);\n const seconds = Math.trunc(duration % 60);\n const fraction = Number((duration - Math.trunc(duration)).toPrecision(3));\n return {\n [\"hours\" /* Hours */]: hours,\n [\"minutes\" /* Minutes */]: minutes,\n [\"seconds\" /* Seconds */]: seconds,\n [\"fraction\" /* Fraction */]: fraction\n };\n}\nfunction formatTime(duration, shouldPadHours = false, shouldAlwaysShowHours = false) {\n const { hours, minutes, seconds } = parseTime(duration);\n const paddedHours = shouldPadHours ? padNumberWithZeroes(hours, 2) : hours;\n const paddedMinutes = padNumberWithZeroes(minutes, 2);\n const paddedSeconds = padNumberWithZeroes(seconds, 2);\n if (hours > 0 || shouldAlwaysShowHours) {\n return `${paddedHours}:${paddedMinutes}:${paddedSeconds}`;\n }\n return `${minutes}:${paddedSeconds}`;\n}\nfunction formatSpokenTime(duration) {\n const spokenParts = [];\n const { hours, minutes, seconds } = parseTime(duration);\n const pluralize = (num, word) => num === 1 ? word : `${word}s`;\n if (hours > 0) {\n spokenParts.push(`${hours} ${pluralize(hours, \"hour\")}`);\n }\n if (minutes > 0) {\n spokenParts.push(`${minutes} ${pluralize(minutes, \"minute\")}`);\n }\n if (seconds > 0 || spokenParts.length === 0) {\n spokenParts.push(`${seconds} ${pluralize(seconds, \"second\")}`);\n }\n return spokenParts.join(\", \");\n}\nfunction formatHtml5Duration(duration) {\n const { hours, minutes, seconds, fraction } = parseTime(duration);\n return `PT${hours}H${minutes}M${seconds + fraction}S`;\n}\n\n// src/utils/timing.ts\nimport debounce from \"just-debounce-it\";\nimport throttle from \"just-throttle\";\nfunction wait(delay) {\n return new Promise((resolve) => setTimeout(resolve, delay));\n}\nfunction rafThrottle(func) {\n let rafId;\n const pending = () => !isUndefined(rafId);\n const cancel = () => {\n if (isUndefined(rafId))\n return;\n window.cancelAnimationFrame(rafId);\n rafId = void 0;\n };\n function throttled(...args) {\n if (pending())\n return;\n rafId = window.requestAnimationFrame(() => {\n func.apply(this, args);\n rafId = void 0;\n });\n }\n throttled.cancel = cancel;\n throttled.pending = pending;\n return throttled;\n}\nexport {\n ContextConsumerController,\n ContextProviderController,\n DisposalBin,\n FocusVisibleController,\n FullscreenController,\n GROUPED_LOG_ID,\n IS_ANDROID,\n IS_CHROME,\n IS_CLIENT,\n IS_FIREFOX,\n IS_IOS,\n IS_IPHONE,\n IS_MOBILE,\n IS_SAFARI,\n IntersectionController,\n LogController,\n LogDispatcher,\n LogLevelColor,\n LogLevelValue,\n ORIGIN,\n PageController,\n RequestQueue,\n ScreenOrientationController,\n ScriptLoader,\n TimeUnit,\n UA,\n VdsEvent,\n WithFocus,\n adoptOrphans,\n appendParamsToURL,\n appendQueryStringToURL,\n appendTriggerEvent,\n ariaBool,\n buildExportPartsAttr,\n camelToKebabCase,\n camelToTitleCase,\n canAutoplay,\n canFullscreenVideo,\n canObserveIntersection,\n canOrientScreen,\n canPlayHLSNatively,\n canRotateScreen,\n canUsePiP,\n canUsePiPInChrome,\n canUsePiPInSafari,\n clampNumber,\n copyStoreRecords,\n createContext,\n createIntersectionController,\n createRegex,\n currentSafariVersion,\n debounce,\n decodeJSON,\n decodeQueryString,\n deferredPromise,\n derived,\n discover,\n discoverable,\n equal,\n escapeQuotes,\n eventListener,\n filterUnique,\n findTriggerEvent,\n focusVisiblePolyfill,\n focusableSelector,\n formatHtml5Duration,\n formatSpokenTime,\n formatTime,\n getStoreValue as get,\n getElementAttributes,\n getMediaSource,\n getNumberOfDecimalPlaces,\n getOriginEvent,\n getSlottedChildren,\n getSourceBuffer,\n groupedLog,\n hasOwnProperty,\n hasTriggerEvent,\n hideDocumentScrollbar,\n hostRequestQueue,\n ifNonEmpty,\n ifNumber,\n isArray,\n isBoolean,\n isContext,\n isFunction,\n isGroupedLog,\n isHlsjsSupported,\n isKeyboardClick,\n isKeyboardEvent,\n isMouseEvent,\n isNil,\n isNull,\n isNumber,\n isObjOrJSON,\n isObject,\n isPointerEvent,\n isReducedMotionPreferred,\n isScalarArrayEqual,\n isString,\n isTouchEvent,\n isUndefined,\n isVdsEvent,\n isWindow,\n kebabToCamelCase,\n kebabToPascalCase,\n kebabToTitleCase,\n keysOf,\n listen,\n loadImage,\n loadScript,\n logElementLifecycle,\n logEvent,\n lowercaseFirstLetter,\n noop,\n normalizeLineBreaks,\n notEqual,\n objOrParseJSON,\n observeAttributes,\n omit,\n padNumberWithZeroes,\n parseQueryString,\n parseTime,\n pick,\n preconnect,\n raf,\n rafThrottle,\n readable,\n redispatchEvent,\n requestIdleCallback,\n round,\n safeNotEqual,\n safelyDefineCustomElement,\n scrollIntoCenter,\n serializeQueryString,\n setAttribute,\n setAttributeIfEmpty,\n setCSSProperty,\n sortObjectsBy,\n splitLineBreaks,\n storeRecordSubscription,\n storeSubscription,\n throttle,\n timedPromise,\n tryDecodeURIComponent,\n tryParseJSON,\n unwrapStoreRecord,\n uppercaseFirstLetter,\n vdsEvent,\n wait,\n waitForEvent,\n walkTriggerEventChain,\n walkUpDOMTree,\n wasEnterKeyPressed,\n wasEscapeKeyPressed,\n writable\n};\n","// src/media/provider/media-provider-context.ts\nimport { createContext, writable } from \"@vidstack/foundation\";\nvar mediaProviderElementContext = createContext(\n () => writable(void 0)\n);\n\nexport {\n mediaProviderElementContext\n};\n","// src/media/MediaType.ts\nvar MediaType = /* @__PURE__ */ ((MediaType2) => {\n MediaType2[\"Unknown\"] = \"unknown\";\n MediaType2[\"Audio\"] = \"audio\";\n MediaType2[\"Video\"] = \"video\";\n MediaType2[\"LiveVideo\"] = \"live-video\";\n return MediaType2;\n})(MediaType || {});\n\n// src/media/ViewType.ts\nvar ViewType = /* @__PURE__ */ ((ViewType2) => {\n ViewType2[\"Unknown\"] = \"unknown\";\n ViewType2[\"Audio\"] = \"audio\";\n ViewType2[\"Video\"] = \"video\";\n return ViewType2;\n})(ViewType || {});\n\n// src/media/store.ts\nimport {\n createContext,\n keysOf,\n storeRecordSubscription,\n writable\n} from \"@vidstack/foundation\";\n\n// src/media/time-ranges.ts\nimport { isArray, isNumber, isUndefined } from \"@vidstack/foundation\";\nfunction rangeCheck(fnName, index, maxIndex) {\n if (!isNumber(index) || index < 0 || index > maxIndex) {\n throw new Error(\n `Failed to execute '${fnName}' on 'TimeRanges': The index provided (${index}) is non-numeric or out of bounds (0-${maxIndex}).`\n );\n }\n}\nfunction getRange(fnName, valueIndex, ranges, rangeIndex) {\n rangeCheck(fnName, rangeIndex, ranges.length - 1);\n return ranges[rangeIndex][valueIndex];\n}\nfunction createTimeRangesObj(ranges) {\n if (isUndefined(ranges) || ranges.length === 0) {\n const throwEmptyError = () => {\n throw new Error(\"This TimeRanges object is empty\");\n };\n return {\n length: 0,\n start: throwEmptyError,\n end: throwEmptyError\n };\n }\n return {\n length: ranges.length,\n start: getRange.bind(null, \"start\", 0, ranges),\n end: getRange.bind(null, \"end\", 1, ranges)\n };\n}\nfunction createTimeRanges(start, end) {\n if (isArray(start)) {\n return createTimeRangesObj(start);\n } else if (isUndefined(start) || isUndefined(end)) {\n return createTimeRangesObj();\n }\n return createTimeRangesObj([[start, end]]);\n}\n\n// src/media/store.ts\nvar MEDIA_STORE_DEFAULTS = {\n autoplay: false,\n autoplayError: void 0,\n buffered: createTimeRanges(),\n duration: 0,\n bufferedAmount: 0,\n canLoad: false,\n canPlay: false,\n canFullscreen: false,\n controls: false,\n poster: \"\",\n currentSrc: \"\",\n currentTime: 0,\n ended: false,\n error: void 0,\n fullscreen: false,\n userIdle: false,\n loop: false,\n mediaType: \"unknown\" /* Unknown */,\n muted: false,\n paused: true,\n played: createTimeRanges(),\n playing: false,\n playsinline: false,\n seekable: createTimeRanges(),\n seekableAmount: 0,\n seeking: false,\n src: [],\n started: false,\n viewType: \"unknown\" /* Unknown */,\n volume: 1,\n waiting: false\n};\nfunction createMediaStore() {\n const store = {};\n for (const prop of keysOf(MEDIA_STORE_DEFAULTS)) {\n store[prop] = writable(MEDIA_STORE_DEFAULTS[prop]);\n }\n return store;\n}\nvar DO_NOT_RESET_ON_SRC_CHANGE = /* @__PURE__ */ new Set([\n \"autoplay\",\n \"canFullscreen\",\n \"canLoad\",\n \"controls\",\n \"currentSrc\",\n \"loop\",\n \"muted\",\n \"playsinline\",\n \"poster\",\n \"src\",\n \"viewType\",\n \"volume\"\n]);\nfunction softResetMediaStore(store) {\n keysOf(store).forEach((prop) => {\n if (!DO_NOT_RESET_ON_SRC_CHANGE.has(prop)) {\n store[prop].set(store[prop].initialValue);\n }\n });\n}\nfunction resetMediaStore(store) {\n for (const prop of keysOf(MEDIA_STORE_DEFAULTS)) {\n store[prop].set(MEDIA_STORE_DEFAULTS[prop]);\n }\n}\nvar mediaStoreContext = createContext(createMediaStore);\nfunction mediaStoreSubscription(host, property, onChange) {\n return storeRecordSubscription(host, mediaStoreContext, property, onChange);\n}\n\nexport {\n MediaType,\n ViewType,\n MEDIA_STORE_DEFAULTS,\n createMediaStore,\n softResetMediaStore,\n resetMediaStore,\n mediaStoreContext,\n mediaStoreSubscription\n};\n","var __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __decorateClass = (decorators, target, key, kind) => {\n var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;\n for (var i = decorators.length - 1, decorator; i >= 0; i--)\n if (decorator = decorators[i])\n result = (kind ? decorator(target, key, result) : decorator(result)) || result;\n if (kind && result)\n __defProp(target, key, result);\n return result;\n};\n\nexport {\n __decorateClass\n};\n","/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=window,e=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&\"adoptedStyleSheets\"in Document.prototype&&\"replace\"in CSSStyleSheet.prototype,s=Symbol(),n=new WeakMap;class o{constructor(t,e,n){if(this._$cssResult$=!0,n!==s)throw Error(\"CSSResult is not constructable. Use `unsafeCSS` or `css` instead.\");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const s=this.t;if(e&&void 0===t){const e=void 0!==s&&1===s.length;e&&(t=n.get(s)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&n.set(s,t))}return t}toString(){return this.cssText}}const r=t=>new o(\"string\"==typeof t?t:t+\"\",void 0,s),i=(t,...e)=>{const n=1===t.length?t[0]:e.reduce(((e,s,n)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if(\"number\"==typeof t)return t;throw Error(\"Value passed to 'css' function must be a 'css' function result: \"+t+\". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.\")})(s)+t[n+1]),t[0]);return new o(n,t,s)},S=(s,n)=>{e?s.adoptedStyleSheets=n.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet)):n.forEach((e=>{const n=document.createElement(\"style\"),o=t.litNonce;void 0!==o&&n.setAttribute(\"nonce\",o),n.textContent=e.cssText,s.appendChild(n)}))},c=e?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e=\"\";for(const s of t.cssRules)e+=s.cssText;return r(e)})(t):t;export{o as CSSResult,S as adoptStyles,i as css,c as getCompatibleStyle,e as supportsAdoptingStyleSheets,r as unsafeCSS};\n//# sourceMappingURL=css-tag.js.map\n","import{getCompatibleStyle as t,adoptStyles as i}from\"./css-tag.js\";export{CSSResult,adoptStyles,css,getCompatibleStyle,supportsAdoptingStyleSheets,unsafeCSS}from\"./css-tag.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */var s;const e=window,r=e.trustedTypes,h=r?r.emptyScript:\"\",o=e.reactiveElementPolyfillSupport,n={toAttribute(t,i){switch(i){case Boolean:t=t?h:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,i){let s=t;switch(i){case Boolean:s=null!==t;break;case Number:s=null===t?null:Number(t);break;case Object:case Array:try{s=JSON.parse(t)}catch(t){s=null}}return s}},a=(t,i)=>i!==t&&(i==i||t==t),l={attribute:!0,type:String,converter:n,reflect:!1,hasChanged:a},d=\"finalized\";class u extends HTMLElement{constructor(){super(),this._$Ei=new Map,this.isUpdatePending=!1,this.hasUpdated=!1,this._$El=null,this._$Eu()}static addInitializer(t){var i;this.finalize(),(null!==(i=this.h)&&void 0!==i?i:this.h=[]).push(t)}static get observedAttributes(){this.finalize();const t=[];return this.elementProperties.forEach(((i,s)=>{const e=this._$Ep(s,i);void 0!==e&&(this._$Ev.set(e,s),t.push(e))})),t}static createProperty(t,i=l){if(i.state&&(i.attribute=!1),this.finalize(),this.elementProperties.set(t,i),!i.noAccessor&&!this.prototype.hasOwnProperty(t)){const s=\"symbol\"==typeof t?Symbol():\"__\"+t,e=this.getPropertyDescriptor(t,s,i);void 0!==e&&Object.defineProperty(this.prototype,t,e)}}static getPropertyDescriptor(t,i,s){return{get(){return this[i]},set(e){const r=this[t];this[i]=e,this.requestUpdate(t,r,s)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)||l}static finalize(){if(this.hasOwnProperty(d))return!1;this[d]=!0;const t=Object.getPrototypeOf(this);if(t.finalize(),void 0!==t.h&&(this.h=[...t.h]),this.elementProperties=new Map(t.elementProperties),this._$Ev=new Map,this.hasOwnProperty(\"properties\")){const t=this.properties,i=[...Object.getOwnPropertyNames(t),...Object.getOwnPropertySymbols(t)];for(const s of i)this.createProperty(s,t[s])}return this.elementStyles=this.finalizeStyles(this.styles),!0}static finalizeStyles(i){const s=[];if(Array.isArray(i)){const e=new Set(i.flat(1/0).reverse());for(const i of e)s.unshift(t(i))}else void 0!==i&&s.push(t(i));return s}static _$Ep(t,i){const s=i.attribute;return!1===s?void 0:\"string\"==typeof s?s:\"string\"==typeof t?t.toLowerCase():void 0}_$Eu(){var t;this._$E_=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$Eg(),this.requestUpdate(),null===(t=this.constructor.h)||void 0===t||t.forEach((t=>t(this)))}addController(t){var i,s;(null!==(i=this._$ES)&&void 0!==i?i:this._$ES=[]).push(t),void 0!==this.renderRoot&&this.isConnected&&(null===(s=t.hostConnected)||void 0===s||s.call(t))}removeController(t){var i;null===(i=this._$ES)||void 0===i||i.splice(this._$ES.indexOf(t)>>>0,1)}_$Eg(){this.constructor.elementProperties.forEach(((t,i)=>{this.hasOwnProperty(i)&&(this._$Ei.set(i,this[i]),delete this[i])}))}createRenderRoot(){var t;const s=null!==(t=this.shadowRoot)&&void 0!==t?t:this.attachShadow(this.constructor.shadowRootOptions);return i(s,this.constructor.elementStyles),s}connectedCallback(){var t;void 0===this.renderRoot&&(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),null===(t=this._$ES)||void 0===t||t.forEach((t=>{var i;return null===(i=t.hostConnected)||void 0===i?void 0:i.call(t)}))}enableUpdating(t){}disconnectedCallback(){var t;null===(t=this._$ES)||void 0===t||t.forEach((t=>{var i;return null===(i=t.hostDisconnected)||void 0===i?void 0:i.call(t)}))}attributeChangedCallback(t,i,s){this._$AK(t,s)}_$EO(t,i,s=l){var e;const r=this.constructor._$Ep(t,s);if(void 0!==r&&!0===s.reflect){const h=(void 0!==(null===(e=s.converter)||void 0===e?void 0:e.toAttribute)?s.converter:n).toAttribute(i,s.type);this._$El=t,null==h?this.removeAttribute(r):this.setAttribute(r,h),this._$El=null}}_$AK(t,i){var s;const e=this.constructor,r=e._$Ev.get(t);if(void 0!==r&&this._$El!==r){const t=e.getPropertyOptions(r),h=\"function\"==typeof t.converter?{fromAttribute:t.converter}:void 0!==(null===(s=t.converter)||void 0===s?void 0:s.fromAttribute)?t.converter:n;this._$El=r,this[r]=h.fromAttribute(i,t.type),this._$El=null}}requestUpdate(t,i,s){let e=!0;void 0!==t&&(((s=s||this.constructor.getPropertyOptions(t)).hasChanged||a)(this[t],i)?(this._$AL.has(t)||this._$AL.set(t,i),!0===s.reflect&&this._$El!==t&&(void 0===this._$EC&&(this._$EC=new Map),this._$EC.set(t,s))):e=!1),!this.isUpdatePending&&e&&(this._$E_=this._$Ej())}async _$Ej(){this.isUpdatePending=!0;try{await this._$E_}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var t;if(!this.isUpdatePending)return;this.hasUpdated,this._$Ei&&(this._$Ei.forEach(((t,i)=>this[i]=t)),this._$Ei=void 0);let i=!1;const s=this._$AL;try{i=this.shouldUpdate(s),i?(this.willUpdate(s),null===(t=this._$ES)||void 0===t||t.forEach((t=>{var i;return null===(i=t.hostUpdate)||void 0===i?void 0:i.call(t)})),this.update(s)):this._$Ek()}catch(t){throw i=!1,this._$Ek(),t}i&&this._$AE(s)}willUpdate(t){}_$AE(t){var i;null===(i=this._$ES)||void 0===i||i.forEach((t=>{var i;return null===(i=t.hostUpdated)||void 0===i?void 0:i.call(t)})),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$Ek(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$E_}shouldUpdate(t){return!0}update(t){void 0!==this._$EC&&(this._$EC.forEach(((t,i)=>this._$EO(i,this[i],t))),this._$EC=void 0),this._$Ek()}updated(t){}firstUpdated(t){}}u[d]=!0,u.elementProperties=new Map,u.elementStyles=[],u.shadowRootOptions={mode:\"open\"},null==o||o({ReactiveElement:u}),(null!==(s=e.reactiveElementVersions)&&void 0!==s?s:e.reactiveElementVersions=[]).push(\"1.6.3\");export{u as ReactiveElement,n as defaultConverter,a as notEqual};\n//# sourceMappingURL=reactive-element.js.map\n","import{ReactiveElement as t}from\"@lit/reactive-element\";export*from\"@lit/reactive-element\";import{render as e,noChange as i}from\"lit-html\";export*from\"lit-html\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */var l,o;const r=t;class s extends t{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){var t,e;const i=super.createRenderRoot();return null!==(t=(e=this.renderOptions).renderBefore)&&void 0!==t||(e.renderBefore=i.firstChild),i}update(t){const i=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=e(i,this.renderRoot,this.renderOptions)}connectedCallback(){var t;super.connectedCallback(),null===(t=this._$Do)||void 0===t||t.setConnected(!0)}disconnectedCallback(){var t;super.disconnectedCallback(),null===(t=this._$Do)||void 0===t||t.setConnected(!1)}render(){return i}}s.finalized=!0,s._$litElement$=!0,null===(l=globalThis.litElementHydrateSupport)||void 0===l||l.call(globalThis,{LitElement:s});const n=globalThis.litElementPolyfillSupport;null==n||n({LitElement:s});const h={_$AK:(t,e,i)=>{t._$AK(e,i)},_$AL:t=>t._$AL};(null!==(o=globalThis.litElementVersions)&&void 0!==o?o:globalThis.litElementVersions=[]).push(\"3.3.3\");export{s as LitElement,r as UpdatingElement,h as _$LE};\n//# sourceMappingURL=lit-element.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst i=(i,e)=>\"method\"===e.kind&&e.descriptor&&!(\"value\"in e.descriptor)?{...e,finisher(n){n.createProperty(e.key,i)}}:{kind:\"field\",key:Symbol(),placement:\"own\",descriptor:{},originalKey:e.key,initializer(){\"function\"==typeof e.initializer&&(this[e.key]=e.initializer.call(this))},finisher(n){n.createProperty(e.key,i)}},e=(i,e,n)=>{e.constructor.createProperty(n,i)};function n(n){return(t,o)=>void 0!==o?e(n,t,o):i(n,t)}export{n as property};\n//# sourceMappingURL=property.js.map\n","import{property as r}from\"./property.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function t(t){return r({...t,state:!0})}export{t as state};\n//# sourceMappingURL=state.js.map\n","import {\n createMediaStore\n} from \"./chunk.O2H47C42.js\";\nimport {\n __decorateClass\n} from \"./chunk.LNH2V2XS.js\";\n\n// src/media/provider/MediaProviderElement.ts\nimport {\n clampNumber,\n copyStoreRecords,\n createIntersectionController,\n discoverable,\n DisposalBin,\n FullscreenController,\n hostRequestQueue,\n isUndefined,\n raf,\n requestIdleCallback,\n RequestQueue,\n ScreenOrientationController,\n unwrapStoreRecord,\n vdsEvent\n} from \"@vidstack/foundation\";\nimport { html, LitElement } from \"lit\";\nimport { property, state } from \"lit/decorators.js\";\nvar mediaProviderDiscoveryId = Symbol(\"@vidstack/media-provider-discovery\");\nvar MediaProviderElement = class extends LitElement {\n constructor() {\n super();\n this._disconnectDisposal = new DisposalBin();\n this._logger = false ? new LogDispatcher(this) : void 0;\n this.loading = \"visible\";\n this._attemptingAutoplay = false;\n this.controllerQueue = new RequestQueue();\n this._store = createMediaStore();\n this._state = unwrapStoreRecord(this._store);\n this.connectedQueue = hostRequestQueue(this);\n this.mediaQueue = new RequestQueue();\n this.screenOrientationController = new ScreenOrientationController(this);\n this.fullscreenController = new FullscreenController(this, this.screenOrientationController);\n discoverable(this, \"vds-media-provider-connect\", { register: mediaProviderDiscoveryId });\n const intersectionController = createIntersectionController(\n this,\n { target: this, threshold: 0 },\n (entries) => {\n if (!/(visible|lazy)/.test(this.loading)) {\n intersectionController.hostDisconnected();\n return;\n }\n if (entries[0]?.isIntersecting) {\n this.startLoadingMedia();\n intersectionController.hostDisconnected();\n }\n }\n );\n }\n connectedCallback() {\n super.connectedCallback();\n this._logMediaEvents();\n window.requestAnimationFrame(() => {\n if (isUndefined(this.canLoadPoster)) {\n this.canLoadPoster = true;\n }\n });\n }\n firstUpdated(changedProperties) {\n super.firstUpdated(changedProperties);\n this.dispatchEvent(\n vdsEvent(\"vds-fullscreen-support-change\", {\n detail: this.canFullscreen\n })\n );\n if (this.canLoad || this.loading === \"eager\") {\n window?.requestAnimationFrame(() => {\n this.startLoadingMedia();\n });\n } else if (this.loading === \"idle\") {\n requestIdleCallback(() => {\n this.startLoadingMedia();\n });\n }\n }\n render() {\n return html`<slot @slotchange=\"${this.handleDefaultSlotChange}\"></slot>`;\n }\n disconnectedCallback() {\n this._updateMediaStoreOnDisconnect(this._store);\n this.mediaQueue.destroy();\n this._disconnectDisposal.empty();\n super.disconnectedCallback();\n raf(() => {\n raf(() => {\n if (!this.isConnected)\n this.destroy();\n });\n });\n }\n _updateMediaStoreOnDisconnect(store) {\n store.paused.set(true);\n store.playing.set(false);\n store.seeking.set(false);\n store.waiting.set(false);\n store.fullscreen.set(false);\n }\n destroy() {\n if (this.isConnected)\n this.disconnectedCallback();\n this.dispatchEvent(vdsEvent(\"vds-destroy\"));\n }\n _logMediaEvents() {\n if (false) {\n const mediaEvents = [\n \"vds-abort\",\n \"vds-can-play\",\n \"vds-can-play-through\",\n \"vds-current-src-change\",\n \"vds-duration-change\",\n \"vds-emptied\",\n \"vds-ended\",\n \"vds-error\",\n \"vds-fullscreen-change\",\n \"vds-loaded-data\",\n \"vds-loaded-metadata\",\n \"vds-load-start\",\n \"vds-media-type-change\",\n \"vds-pause\",\n \"vds-play\",\n \"vds-playing\",\n \"vds-progress\",\n \"vds-seeked\",\n \"vds-seeking\",\n \"vds-stalled\",\n \"vds-started\",\n \"vds-suspend\",\n \"vds-replay\",\n \"vds-view-type-change\",\n \"vds-volume-change\",\n \"vds-waiting\"\n ];\n mediaEvents.forEach((eventType) => {\n const dispose = listen(this, eventType, (event) => {\n this._logger?.infoGroup(`\\u{1F4E1} dispatching \\`${eventType}\\``).labelledLog(\"State\", { ...this.state }).labelledLog(\"Event\", event).dispatch();\n });\n this._disconnectDisposal.add(dispose);\n });\n }\n }\n get volume() {\n return this._getVolume();\n }\n set volume(newVolume) {\n this.mediaQueue.queue(\"volume\", () => {\n const oldVol = this.volume;\n const newVol = clampNumber(0, newVolume, 1);\n if (oldVol !== newVol) {\n this._setVolume(newVol);\n this.requestUpdate(\"volume\", oldVol);\n }\n });\n }\n get paused() {\n return this._getPaused();\n }\n set paused(newPaused) {\n this.mediaQueue.queue(\"paused\", () => {\n if (this.paused === newPaused)\n return;\n try {\n if (!newPaused) {\n this.play();\n } else {\n this.pause();\n }\n this.requestUpdate(\"paused\", !newPaused);\n } catch (e) {\n this._logger?.error(\"paused-change-fail\", e);\n }\n });\n }\n get currentTime() {\n return this._getCurrentTime();\n }\n set currentTime(newTime) {\n this.mediaQueue.queue(\"current-time\", () => {\n const oldTime = this.currentTime;\n if (oldTime !== newTime) {\n this._setCurrentTime(newTime);\n this.requestUpdate(\"currentTime\", oldTime);\n }\n });\n }\n get muted() {\n return this._getMuted();\n }\n set muted(newMuted) {\n this.mediaQueue.queue(\"muted\", () => {\n const oldMuted = this.muted;\n if (oldMuted !== newMuted) {\n this._setMuted(newMuted);\n this.requestUpdate(\"muted\", oldMuted);\n }\n });\n }\n get poster() {\n return this.state.poster;\n }\n set poster(newPoster) {\n const oldPoster = this.poster;\n if (oldPoster !== newPoster) {\n this.dispatchEvent(vdsEvent(\"vds-poster-change\", { detail: newPoster }));\n this.requestUpdate(\"poster\", oldPoster);\n }\n }\n get loop() {\n return this.state.loop;\n }\n set loop(newLoop) {\n const oldLoop = this.loop;\n if (oldLoop !== newLoop) {\n this.dispatchEvent(vdsEvent(\"vds-loop-change\", { detail: newLoop }));\n this.requestUpdate(\"loop\", oldLoop);\n }\n }\n get controls() {\n return this.state.controls;\n }\n set controls(newControls) {\n const oldControls = this.controls;\n if (oldControls !== newControls) {\n this.dispatchEvent(vdsEvent(\"vds-controls-change\", { detail: newControls }));\n this.requestUpdate(\"controls\", oldControls);\n }\n }\n get canLoad() {\n return this.state.canLoad;\n }\n startLoadingMedia() {\n if (this.state.canPlay)\n return;\n this.dispatchEvent(vdsEvent(\"vds-can-load\"));\n }\n _throwIfNotReadyForPlayback() {\n if (!this.state.canPlay) {\n throw Error(`Media is not ready - wait for \\`vds-can-play\\` event.`);\n }\n }\n async _resetPlaybackIfEnded() {\n if (!this.state.ended || this.state.currentTime === 0)\n return;\n return this._setCurrentTime(0);\n }\n _throwIfNotVideoView() {\n if (this.state.viewType !== \"video\" /* Video */) {\n throw Error(\"Player is currently not in a video view.\");\n }\n }\n async _handleMediaReady({ event, duration }) {\n if (this.state.canPlay)\n return;\n this.dispatchEvent(\n vdsEvent(\"vds-can-play\", {\n triggerEvent: event,\n detail: { duration }\n })\n );\n this.mediaQueue.start();\n if (false) {\n this._logger?.infoGroup(\"-~-~-~-~-~-~-~-~- \\u2705 MEDIA READY -~-~-~-~-~-~-~-~-\").labelledLog(\"State\", { ...this.state }).labelledLog(\"Event\", event).dispatch();\n }\n await this._attemptAutoplay();\n }\n _handleCurrentSrcChange(currentSrc, triggerEvent) {\n if (this.state.currentSrc === currentSrc)\n return;\n if (false) {\n this._logger?.infoGroup(\"\\u{1F4FC} Media source change\").labelledLog(\"Src\", this.state.src).labelledLog(\"Current Src\", currentSrc).dispatch();\n }\n this.mediaQueue.stop();\n this.dispatchEvent(\n vdsEvent(\"vds-current-src-change\", {\n detail: currentSrc,\n triggerEvent\n })\n );\n }\n get autoplay() {\n return this.state.autoplay;\n }\n set autoplay(newAutoplay) {\n if (this.autoplay !== newAutoplay) {\n this.dispatchEvent(vdsEvent(\"vds-autoplay-change\", { detail: newAutoplay }));\n this.requestUpdate(\"autoplay\", !newAutoplay);\n }\n this._attemptAutoplay();\n }\n get _canAttemptAutoplay() {\n return this.state.canPlay && this.state.autoplay && !this.state.started;\n }\n async _attemptAutoplay() {\n if (!this._canAttemptAutoplay)\n return;\n this._attemptingAutoplay = true;\n try {\n await this.play();\n this.dispatchEvent(vdsEvent(\"vds-autoplay\", { detail: { muted: this.muted } }));\n } catch (error) {\n this.dispatchEvent(\n vdsEvent(\"vds-autoplay-fail\", {\n detail: {\n muted: this.muted,\n error\n }\n })\n );\n this.requestUpdate();\n }\n this._attemptingAutoplay = false;\n }\n get controller() {\n return this._controller;\n }\n get logLevel() {\n return this._controller?.logLevel ?? \"silent\";\n }\n set logLevel(level) {\n if (false) {\n this.controllerQueue.queue(\"log-level\", () => {\n this._controller.logLevel = level;\n });\n }\n }\n get idleDelay() {\n return this._controller?.idleDelay ?? 0;\n }\n set idleDelay(delay) {\n this.controllerQueue.queue(\"idle-delay\", () => {\n this._controller.idleDelay = delay;\n });\n }\n attachMediaController(controller, onDisconnect) {\n this._controller = controller;\n this._store = controller._store;\n this._state = controller.state;\n this.controllerQueue.start();\n onDisconnect(() => {\n this.controllerQueue.destroy();\n this._store = createMediaStore();\n this._state = unwrapStoreRecord(this._store);\n if (this._controller) {\n copyStoreRecords(this._controller._store, this._store);\n this._updateMediaStoreOnDisconnect(this._controller._store);\n }\n this._controller = void 0;\n });\n }\n dispatchEvent(event) {\n if (!this._controller && event.type.startsWith(\"vds-\") && event.type !== \"vds-destroy\") {\n this.controllerQueue.queue(event.type, () => {\n super.dispatchEvent(event);\n });\n return false;\n }\n return super.dispatchEvent(event);\n }\n store() {\n return this._store;\n }\n get state() {\n return this._state;\n }\n get canFullscreen() {\n return this.fullscreenController.isSupported;\n }\n get fullscreen() {\n return this.fullscreenController.isFullscreen;\n }\n get fullscreenOrientation() {\n return this.fullscreenController.screenOrientationLock;\n }\n set fullscreenOrientation(lockType) {\n const prevLockType = this.fullscreenController.screenOrientationLock;\n if (prevLockType !== lockType) {\n this.fullscreenController.screenOrientationLock = lockType;\n this.requestUpdate(\"fullscreen-orientation\", prevLockType);\n }\n }\n enterFullscreen() {\n return this.fullscreenController.enterFullscreen();\n }\n exitFullscreen() {\n return this.fullscreenController.exitFullscreen();\n }\n};\n__decorateClass([\n property({ type: Number })\n], MediaProviderElement.prototype, \"volume\", 1);\n__decorateClass([\n property({ type: Boolean })\n], MediaProviderElement.prototype, \"paused\", 1);\n__decorateClass([\n property({ type: Number })\n], MediaProviderElement.prototype, \"currentTime\", 1);\n__decorateClass([\n property({ type: Boolean })\n], MediaProviderElement.prototype, \"muted\", 1);\n__decorateClass([\n property()\n], MediaProviderElement.prototype, \"poster\", 1);\n__decorateClass([\n property({ type: Boolean })\n], MediaProviderElement.prototype, \"loop\", 1);\n__decorateClass([\n property({ type: Boolean })\n], MediaProviderElement.prototype, \"controls\", 1);\n__decorateClass([\n state()\n], MediaProviderElement.prototype, \"canLoadPoster\", 2);\n__decorateClass([\n property({ attribute: \"loading\" })\n], MediaProviderElement.prototype, \"loading\", 2);\n__decorateClass([\n property({ type: Boolean })\n], MediaProviderElement.prototype, \"autoplay\", 1);\n__decorateClass([\n property({ attribute: \"log-level\" })\n], MediaProviderElement.prototype, \"logLevel\", 1);\n__decorateClass([\n property({ attribute: \"idle-delay\", type: Number })\n], MediaProviderElement.prototype, \"idleDelay\", 1);\n__decorateClass([\n property({ attribute: \"fullscreen-orientation\" })\n], MediaProviderElement.prototype, \"fullscreenOrientation\", 1);\n\nexport {\n mediaProviderDiscoveryId,\n MediaProviderElement\n};\n","import {\n mediaProviderElementContext\n} from \"./chunk.APMKZUJJ.js\";\nimport {\n mediaProviderDiscoveryId\n} from \"./chunk.63VUN3OP.js\";\nimport {\n mediaStoreContext,\n mediaStoreSubscription,\n resetMediaStore,\n softResetMediaStore\n} from \"./chunk.O2H47C42.js\";\nimport {\n __decorateClass\n} from \"./chunk.LNH2V2XS.js\";\n\n// src/media/controller/UserIdleController.ts\nimport { DisposalBin, listen, vdsEvent } from \"@vidstack/foundation\";\nvar UserIdleController = class {\n constructor(_host, _mediaStore) {\n this._host = _host;\n this._mediaStore = _mediaStore;\n this._idle = false;\n this._mediaPaused = false;\n this._idlingPaused = false;\n this._disposal = new DisposalBin();\n this.delay = 2e3;\n _host.addController(this);\n }\n get paused() {\n return this._idlingPaused || this._mediaPaused;\n }\n set paused(paused) {\n this._idlingPaused = paused;\n this._handleIdleChange();\n }\n hostConnected() {\n this._disposal.add(\n this._mediaStore.paused.subscribe(($paused) => {\n this._mediaPaused = $paused;\n this._handleIdleChange();\n })\n );\n const startIdleTimerEvents = [\"pointerdown\", \"pointermove\", \"focus\", \"keydown\"];\n startIdleTimerEvents.forEach((eventType) => {\n const off = listen(this._host, eventType, this._handleIdleChange.bind(this));\n this._disposal.add(off);\n });\n }\n hostDisconnected() {\n this._disposal.empty();\n this._stopIdleTimer();\n }\n _handleIdleChange() {\n if (this.paused) {\n this._stopIdleTimer();\n } else {\n this._startIdleTimer();\n }\n }\n _startIdleTimer() {\n this._stopIdleTimer();\n this._idleTimeout = window.setTimeout(() => {\n this._dispatchIdleChange(!this.paused);\n }, this.delay);\n }\n _stopIdleTimer() {\n window.clearTimeout(this._idleTimeout);\n this._dispatchIdleChange(false);\n }\n _dispatchIdleChange(isIdle) {\n if (this._idle !== isIdle) {\n this._host.dispatchEvent(vdsEvent(\"vds-user-idle-change\", { detail: isIdle }));\n this._idle = isIdle;\n }\n }\n};\n\n// src/media/controller/MediaController.ts\nimport {\n appendTriggerEvent,\n copyStoreRecords,\n debounce,\n discover,\n DisposalBin as DisposalBin2,\n eventListener,\n isNil,\n keysOf,\n listen as listen2,\n RequestQueue,\n throttle,\n unwrapStoreRecord,\n vdsEvent as vdsEvent2\n} from \"@vidstack/foundation\";\nvar MediaController = class {\n constructor(_host) {\n this._host = _host;\n this._disconnectDisposal = new DisposalBin2();\n this.providerQueue = new RequestQueue();\n this.providerDisposal = new DisposalBin2();\n this._logController = false ? new LogController(this._host) : void 0;\n this._logger = false ? new LogDispatcher(this._host) : void 0;\n this._providerContext = mediaProviderElementContext.provide(this._host);\n this._mediaStoreProvider = mediaStoreContext.provide(this._host);\n this.state = unwrapStoreRecord(this._store);\n this._userIdleController = new UserIdleController(this._host, this._store);\n this._handleIdleChange = eventListener(this._host, \"vds-user-idle-change\", (event) => {\n this._store.userIdle.set(event.detail);\n this._satisfyMediaRequest(\"userIdle\", event);\n });\n this._pendingMediaRequests = {\n loading: [],\n play: [],\n pause: [],\n volume: [],\n fullscreen: [],\n seeked: [],\n seeking: [],\n userIdle: []\n };\n this._handleStartLoadingRequest = eventListener(\n this._host,\n \"vds-start-loading\",\n this._createMediaRequestHandler(\"loading\", (event) => {\n if (this.state.canLoad)\n return;\n this._pendingMediaRequests.loading.push(event);\n this._provider.startLoadingMedia();\n })\n );\n this._handleMuteRequest = eventListener(\n this._host,\n \"vds-mute-request\",\n this._createMediaRequestHandler(\"muted\", (event) => {\n if (this.state.muted)\n return;\n this._pendingMediaRequests.volume.push(event);\n this.provider.muted = true;\n })\n );\n this._handleUnmuteRequest = eventListener(\n this._host,\n \"vds-unmute-request\",\n this._createMediaRequestHandler(\"muted\", (event) => {\n if (!this.state.muted)\n return;\n this._pendingMediaRequests.volume.push(event);\n this.provider.muted = false;\n if (this.state.volume === 0) {\n this._pendingMediaRequests.volume.push(event);\n this.provider.volume = 0.25;\n }\n })\n );\n this._handlePlayRequest = eventListener(\n this._host,\n \"vds-play-request\",\n this._createMediaRequestHandler(\"paused\", (event) => {\n if (!this.state.paused)\n return;\n this._pendingMediaRequests.play.push(event);\n this.provider.paused = false;\n })\n );\n this._handlePauseRequest = eventListener(\n this._host,\n \"vds-pause-request\",\n this._createMediaRequestHandler(\"paused\", (event) => {\n if (this.state.paused)\n return;\n this._pendingMediaRequests.pause.push(event);\n this.provider.paused = true;\n })\n );\n this._isSeekingRequestPending = false;\n this._handleSeekingRequest = eventListener(\n this._host,\n \"vds-seeking-request\",\n this._createMediaRequestHandler(\"seeking\", (event) => {\n this._stopWaiting();\n this._pendingMediaRequests.seeking.push(event);\n this._isSeekingRequestPending = true;\n this._store.seeking.set(true);\n })\n );\n this._handleSeekRequest = eventListener(\n this._host,\n \"vds-seek-request\",\n this._createMediaRequestHandler(\"seeking\", (event) => {\n if (this.store.ended) {\n this._isReplay = true;\n }\n this._pendingMediaRequests.seeked.push(event);\n this._isSeekingRequestPending = false;\n let time = event.detail;\n if (this.state.duration - event.detail < 0.25) {\n time = this.state.duration;\n }\n this.provider.currentTime = time;\n })\n );\n this._handleVolumeChangeRequest = eventListener(\n this._host,\n \"vds-volume-change-request\",\n this._createMediaRequestHandler(\"volume\", (event) => {\n const volume = event.detail;\n if (this.state.volume === volume)\n return;\n this._pendingMediaRequests.volume.push(event);\n this.provider.volume = volume;\n if (volume > 0 && this.state.muted) {\n this._pendingMediaRequests.volume.push(event);\n this.provider.muted = false;\n }\n })\n );\n this._handleEnterFullscreenRequest = eventListener(\n this._host,\n \"vds-enter-fullscreen-request\",\n this._createMediaRequestHandler(\"fullscreen\", async (event) => {\n if (this.state.fullscreen)\n return;\n const target = event.detail ?? \"media\";\n if (target === \"media\" && this._host.canFullscreen) {\n this._pendingMediaRequests.fullscreen.push(event);\n await this._host.enterFullscreen?.();\n } else if (this.provider) {\n this._pendingMediaRequests.fullscreen.push(event);\n await this.provider.enterFullscreen();\n }\n })\n );\n this._handleExitFullscreenRequest = eventListener(\n this._host,\n \"vds-exit-fullscreen-request\",\n this._createMediaRequestHandler(\"fullscreen\", async (event) => {\n if (!this.state.fullscreen)\n return;\n const target = event.detail ?? \"media\";\n if (target === \"media\" && this._host.canFullscreen) {\n this._pendingMediaRequests.fullscreen.push(event);\n await this._host.exitFullscreen?.();\n } else if (this.provider) {\n this._pendingMediaRequests.fullscreen.push(event);\n await this.provider.exitFullscreen();\n }\n })\n );\n this._handleResumeIdlingRequest = eventListener(\n this._host,\n \"vds-resume-user-idle-request\",\n (event) => {\n if (!this._mediaRequestEventGateway(event))\n return;\n this._pendingMediaRequests.userIdle.push(event);\n this._userIdleController.paused = false;\n }\n );\n this._handlePauseIdlingRequest = eventListener(\n this._host,\n \"vds-pause-user-idle-request\",\n (event) => {\n if (!this._mediaRequestEventGateway(event))\n return;\n this._pendingMediaRequests.userIdle.push(event);\n this._userIdleController.paused = true;\n }\n );\n this._handleShowPosterRequest = eventListener(\n this._host,\n \"vds-show-poster-request\",\n this._createMediaRequestHandler(\"poster\", () => {\n this._provider.canLoadPoster = true;\n })\n );\n this._handleHidePosterRequest = eventListener(\n this._host,\n \"vds-hide-poster-request\",\n this._createMediaRequestHandler(\"poster\", () => {\n this._provider.canLoadPoster = false;\n })\n );\n this._handleLoopRequest = this._createMediaRequestHandler(\"loop\", () => {\n window.requestAnimationFrame(async () => {\n try {\n this._isLooping = true;\n this._isReplay = true;\n await this._provider.play();\n } catch (e) {\n this._isReplay = false;\n this._isLooping = false;\n }\n });\n });\n this._handleFullscreenChange = eventListener(\n this._host,\n \"vds-fullscreen-change\",\n (event) => {\n this._store.fullscreen.set(event.detail);\n if (event.target !== this._host)\n return;\n this._satisfyMediaRequest(\"fullscreen\", event);\n this._provider?.dispatchEvent(\n vdsEvent2(\"vds-fullscreen-change\", {\n detail: event.detail,\n triggerEvent: event\n })\n );\n }\n );\n this._handleFullscreenError = eventListener(\n this._host,\n \"vds-fullscreen-error\",\n (event) => {\n if (event.target !== this._host)\n return;\n this._satisfyMediaRequest(\"fullscreen\", event);\n this._provider?.dispatchEvent(\n vdsEvent2(\"vds-fullscreen-error\", {\n detail: event.detail,\n triggerEvent: event\n })\n );\n }\n );\n this._isReplay = false;\n this._isLooping = false;\n this._firingWaiting = false;\n this._mediaEvents = [];\n this._handleSeeking = throttle(\n (event) => {\n this._mediaEvents.push(event);\n this._store.seeking.set(true);\n this._store.currentTime.set(event.detail);\n this._satisfyMediaRequest(\"seeking\", event);\n },\n 150,\n { leading: true }\n );\n this._fireWaiting = debounce(() => {\n if (!this._originalWaitingEvent)\n return;\n this._firingWaiting = true;\n const event = vdsEvent2(\"vds-waiting\", this._originalWaitingEvent);\n this._mediaEvents.push(event);\n this._store.waiting.set(true);\n this._store.playing.set(false);\n this._provider?.dispatchEvent(event);\n this._originalWaitingEvent = void 0;\n this._firingWaiting = false;\n }, 300);\n this._skipInitialSrcChange = true;\n discover(_host, mediaProviderDiscoveryId, (provider, onDisconnect) => {\n this.attachMediaProvider(provider, onDisconnect);\n });\n _host.addController({\n hostConnected: () => {\n if (!this.state.canPlay) {\n this._host.setAttribute(\"aria-busy\", \"true\");\n }\n },\n hostDisconnected: () => {\n this._clearMediaStateTracking();\n this._clearPendingMediaRequests();\n this.providerQueue.destroy();\n this.providerDisposal.empty();\n this._skipInitialSrcChange = true;\n this._disconnectDisposal.empty();\n }\n });\n }\n get logLevel() {\n return this._logController?.logLevel ?? \"silent\";\n }\n set logLevel(level) {\n if (false) {\n this._logController.logLevel = level;\n }\n }\n get provider() {\n return this._provider;\n }\n attachMediaProvider(provider, onDisconnect) {\n if (!isNil(this.provider) || this.provider === provider)\n return;\n this._handleMediaProviderDisconnect();\n this._provider = provider;\n this._providerContext.value.set(provider);\n copyStoreRecords(this._provider._store, this._store);\n this._attachMediaEventListeners();\n provider.attachMediaController(this, (cb) => this._disconnectDisposal.add(cb));\n this._flushMediaProviderConnectedQueue();\n onDisconnect(this._handleMediaProviderDisconnect.bind(this));\n }\n _handleMediaProviderDisconnect() {\n if (isNil(this.provider))\n return;\n this._stopWaiting();\n this.providerQueue.destroy();\n this.providerDisposal.empty();\n this._provider = void 0;\n this._providerContext.value.set(void 0);\n resetMediaStore(this._store);\n this._store.viewType.set(\"unknown\" /* Unknown */);\n }\n _flushMediaProviderConnectedQueue() {\n this.providerQueue.start();\n this.providerDisposal.add(() => {\n this.providerQueue.stop();\n });\n }\n get store() {\n return this._mediaStoreProvider.value;\n }\n get _store() {\n return this._mediaStoreProvider.value;\n }\n get idleDelay() {\n return this._userIdleController.delay;\n }\n set idleDelay(delay) {\n this._userIdleController.delay = delay;\n }\n _clearPendingMediaRequests() {\n keysOf(this._pendingMediaRequests).forEach((key) => {\n this._pendingMediaRequests[key] = [];\n });\n }\n _satisfyMediaRequest(type, event) {\n const requestEvent = this._pendingMediaRequests[type].shift();\n if (requestEvent) {\n event.requestEvent = requestEvent;\n appendTriggerEvent(event, requestEvent);\n }\n }\n _mediaRequestEventGateway(event) {\n event.stopPropagation();\n if (false) {\n this._logger?.infoGroup(`\\u{1F4EC} received \\`${event.type}\\``).labelledLog(\"Request\", event).dispatch();\n }\n return true;\n }\n _createMediaRequestHandler(queueKey, callback) {\n return (event) => {\n if (!this._mediaRequestEventGateway(event))\n return;\n if (this._provider) {\n callback(event);\n return;\n }\n this.providerQueue.queue(queueKey, () => {\n callback(event);\n });\n };\n }\n _attachMediaEventListeners() {\n if (!this._provider)\n return;\n const mediaEventListeners = {\n \"vds-can-load\": this._handleCanLoad,\n \"vds-load-start\": this._handleLoadStart,\n \"vds-loaded-data\": this._handleLoadedData,\n \"vds-loaded-metadata\": this._handleLoadedMetadata,\n \"vds-can-play\": this._handleCanPlay,\n \"vds-can-play-through\": this._handleCanPlayThrough,\n \"vds-current-src-change\": this._handleCurrentSrcChange,\n \"vds-autoplay\": this._handleAutoplay,\n \"vds-autoplay-fail\": this._handleAutoplayFail,\n \"vds-loop-request\": this._handleLoopRequest,\n \"vds-play\": this._handlePlay,\n \"vds-play-fail\": this._handlePlayFail,\n \"vds-playing\": this._handlePlaying,\n \"vds-pause\": this._handlePause,\n \"vds-time-update\": this._handleTimeUpdate,\n \"vds-volume-change\": this._handleVolumeChange,\n \"vds-seeking\": this._handleSeeking,\n \"vds-seeked\": this._handleSeeked,\n \"vds-waiting\": this._handleWaiting,\n \"vds-ended\": this._handleEnded,\n \"vds-autoplay-change\": this._handleAutoplayChange,\n \"vds-error\": this._handleError,\n \"vds-fullscreen-support-change\": this._handleFullscreenSupportChange,\n \"vds-poster-change\": this._handlePosterChange,\n \"vds-loop-change\": this._handleLoopChange,\n \"vds-playsinline-change\": this._handlePlaysinlineChange,\n \"vds-controls-change\": this._handleControlsChange,\n \"vds-media-type-change\": this._handleMediaTypeChange,\n \"vds-view-type-change\": this._handleViewTypeChange,\n \"vds-duration-change\": this._handleDurationChange,\n \"vds-progress\": this._handleProgress,\n \"vds-src-change\": this._handleSrcChange\n };\n for (const eventType of keysOf(mediaEventListeners)) {\n const handler = mediaEventListeners[eventType].bind(this);\n this.providerDisposal.add(listen2(this._provider, eventType, handler));\n }\n }\n _clearMediaStateTracking() {\n this._isReplay = false;\n this._isLooping = false;\n this._firingWaiting = false;\n this._originalWaitingEvent = void 0;\n this._mediaEvents = [];\n }\n _findLastMediaEvent(eventType) {\n return this._mediaEvents[this._mediaEvents.map((e) => e.type).lastIndexOf(eventType)];\n }\n _handleCanLoad(event) {\n this._store.canLoad.set(true);\n this._mediaEvents.push(event);\n this._satisfyMediaRequest(\"loading\", event);\n }\n _updateMetadata(metadata) {\n this._store.currentSrc.set(metadata.currentSrc);\n this._store.mediaType.set(metadata.mediaType);\n this._store.viewType.set(metadata.viewType);\n }\n _handleLoadStart(event) {\n this._updateMetadata(event.detail);\n this._mediaEvents.push(event);\n appendTriggerEvent(event, this._findLastMediaEvent(\"vds-src-change\"));\n appendTriggerEvent(event, this._findLastMediaEvent(\"vds-can-load\"));\n }\n _handleLoadedData(event) {\n this._mediaEvents.push(event);\n appendTriggerEvent(event, this._findLastMediaEvent(\"vds-load-start\"));\n }\n _handleLoadedMetadata(event) {\n this._updateMetadata(event.detail);\n this._mediaEvents.push(event);\n appendTriggerEvent(event, this._findLastMediaEvent(\"vds-load-start\"));\n }\n _handleCanPlay(event) {\n this._mediaEvents.push(event);\n if (event.triggerEvent?.type !== \"loadedmetadata\") {\n appendTriggerEvent(event, this._findLastMediaEvent(\"vds-loaded-metadata\"));\n }\n this._store.canPlay.set(true);\n this._store.duration.set(event.detail.duration);\n this._host.setAttribute(\"aria-busy\", \"false\");\n }\n _handleCanPlayThrough(event) {\n this._store.canPlay.set(true);\n this._store.duration.set(event.detail.duration);\n appendTriggerEvent(event, this._findLastMediaEvent(\"vds-can-play\"));\n }\n _handleAutoplay(event) {\n this._mediaEvents.push(event);\n appendTriggerEvent(event, this._findLastMediaEvent(\"vds-play\"));\n appendTriggerEvent(event, this._findLastMediaEvent(\"vds-can-play\"));\n this._store.autoplayError.set(void 0);\n }\n _handleAutoplayFail(event) {\n appendTriggerEvent(event, this._findLastMediaEvent(\"vds-play-fail\"));\n appendTriggerEvent(event, this._findLastMediaEvent(\"vds-can-play\"));\n this._store.autoplayError.set(event.detail);\n this._clearMediaStateTracking();\n }\n _handlePlay(event) {\n if (this._isLooping || !this.state.paused) {\n event.stopImmediatePropagation();\n return;\n }\n this._mediaEvents.push(event);\n appendTriggerEvent(event, this._findLastMediaEvent(\"vds-waiting\"));\n this._satisfyMediaRequest(\"play\", event);\n this._store.paused.set(false);\n this._store.autoplayError.set(void 0);\n if (this.state.ended || this._isReplay) {\n this._isReplay = false;\n this._store.ended.set(false);\n const replayEvent = vdsEvent2(\"vds-replay\", {\n triggerEvent: event\n });\n this._provider?.dispatchEvent(replayEvent);\n }\n }\n _handlePlayFail(event) {\n this._mediaEvents.push(event);\n this._stopWaiting();\n appendTriggerEvent(event, this._findLastMediaEvent(\"vds-play\"));\n this._store.paused.set(true);\n this._store.playing.set(false);\n this._satisfyMediaRequest(\"play\", event);\n this._clearMediaStateTracking();\n }\n _handlePlaying(event) {\n this._mediaEvents.push(event);\n const playEvent = this._findLastMediaEvent(\"vds-play\");\n if (playEvent) {\n appendTriggerEvent(event, this._findLastMediaEvent(\"vds-waiting\"));\n appendTriggerEvent(event, playEvent);\n } else {\n appendTriggerEvent(event, this._findLastMediaEvent(\"vds-seeked\"));\n }\n this._stopWaiting();\n this._clearMediaStateTracking();\n this._store.paused.set(false);\n this._store.playing.set(true);\n this._store.seeking.set(false);\n this._store.ended.set(false);\n if (this._isLooping) {\n event.stopImmediatePropagation();\n this._isLooping = false;\n return;\n }\n if (!this.state.started) {\n this._store.started.set(true);\n this._provider?.dispatchEvent(vdsEvent2(\"vds-started\", { triggerEvent: event }));\n }\n }\n _handlePause(event) {\n if (this._isLooping) {\n event.stopImmediatePropagation();\n return;\n }\n appendTriggerEvent(event, this._findLastMediaEvent(\"vds-seeked\"));\n this._satisfyMediaRequest(\"pause\", event);\n this._store.paused.set(true);\n this._store.playing.set(false);\n this._store.seeking.set(false);\n this._stopWaiting();\n this._clearMediaStateTracking();\n }\n _handleTimeUpdate(event) {\n const { currentTime, played } = event.detail;\n this._store.currentTime.set(currentTime);\n this._store.played.set(played);\n this._store.waiting.set(false);\n }\n _handleVolumeChange(event) {\n this._store.volume.set(event.detail.volume);\n this._store.muted.set(event.detail.muted || event.detail.volume === 0);\n this._satisfyMediaRequest(\"volume\", event);\n }\n _handleSeeked(event) {\n if (this._isSeekingRequestPending) {\n this._store.seeking.set(true);\n event.stopImmediatePropagation();\n } else if (this.state.seeking) {\n this._mediaEvents.push(event);\n appendTriggerEvent(event, this._findLastMediaEvent(\"vds-waiting\"));\n appendTriggerEvent(event, this._findLastMediaEvent(\"vds-seeking\"));\n if (this.state.paused) {\n this._stopWaiting();\n }\n this._store.seeking.set(false);\n if (event.detail !== this.state.duration) {\n this._store.ended.set(false);\n }\n this._store.currentTime.set(event.detail);\n this._satisfyMediaRequest(\"seeked\", event);\n }\n }\n _stopWaiting() {\n this._fireWaiting.cancel();\n this._store.waiting.set(false);\n }\n _handleWaiting(event) {\n if (this._firingWaiting)\n return;\n event.stopImmediatePropagation();\n this._originalWaitingEvent = event;\n this._fireWaiting();\n }\n _handleEnded(event) {\n if (this._isLooping) {\n event.stopImmediatePropagation();\n return;\n }\n this._stopWaiting();\n this._store.paused.set(true);\n this._store.playing.set(false);\n this._store.seeking.set(false);\n this._store.ended.set(true);\n this._clearMediaStateTracking();\n }\n _handleAutoplayChange(event) {\n this._store.autoplay.set(event.detail);\n }\n _handleCurrentSrcChange(event) {\n this._store.currentSrc.set(event.detail);\n if (this._skipInitialSrcChange) {\n this._skipInitialSrcChange = false;\n return;\n }\n this._clearMediaStateTracking();\n softResetMediaStore(this._store);\n this._host.setAttribute(\"aria-busy\", \"true\");\n }\n _handleError(event) {\n this._store.error.set(event.detail);\n }\n _handleFullscreenSupportChange(event) {\n this._store.canFullscreen.set(event.detail);\n }\n _handlePosterChange(event) {\n this._store.poster.set(event.detail);\n }\n _handleLoopChange(event) {\n this._store.loop.set(event.detail);\n }\n _handlePlaysinlineChange(event) {\n this._store.playsinline.set(event.detail);\n }\n _handleControlsChange(event) {\n this._store.controls.set(event.detail);\n }\n _handleMediaTypeChange(event) {\n this._store.mediaType.set(event.detail);\n }\n _handleDurationChange(event) {\n const duration = event.detail;\n this._store.duration.set(!isNaN(duration) ? duration : 0);\n }\n _handleProgress(event) {\n const { buffered, seekable } = event.detail;\n const bufferedAmount = buffered.length === 0 ? 0 : buffered.end(buffered.length - 1);\n const seekableAmount = seekable.length === 0 ? 0 : seekable.end(seekable.length - 1);\n this._store.buffered.set(buffered);\n this._store.bufferedAmount.set(bufferedAmount);\n this._store.seekable.set(seekable);\n this._store.seekableAmount.set(seekableAmount);\n }\n _handleSrcChange(event) {\n this._store.src.set(event.detail);\n }\n _handleViewTypeChange(event) {\n this._store.viewType.set(event.detail);\n }\n};\n\n// src/media/MediaElement.ts\nimport {\n discoverable,\n FullscreenController,\n IS_IOS,\n ScreenOrientationController,\n setAttribute as setAttribute2\n} from \"@vidstack/foundation\";\nimport {\n css,\n html,\n LitElement\n} from \"lit\";\nimport { property, state } from \"lit/decorators.js\";\n\n// src/media/style/MediaAttrsController.ts\nimport { isNumber, isString, setAttribute } from \"@vidstack/foundation\";\n\n// src/media/style/MediaStyleController.ts\nimport { camelToKebabCase, DisposalBin as DisposalBin3, requestIdleCallback } from \"@vidstack/foundation\";\nvar MediaStyleController = class {\n constructor(_host, _store, _mediaProps) {\n this._host = _host;\n this._store = _store;\n this._mediaProps = _mediaProps;\n this._disposal = new DisposalBin3();\n this._host.addController({\n hostConnected: this._hostConnected.bind(this),\n hostDisconnected: this._hostDisconnected.bind(this)\n });\n }\n _hostConnected() {\n requestIdleCallback(() => {\n for (const propName of this._mediaProps) {\n const store = this._store[propName];\n if (store) {\n const attrName = this._getMediaAttrName(propName);\n const unsub = store.subscribe(($v) => {\n window?.requestAnimationFrame(() => {\n this._handleValueChange(propName, attrName, $v);\n });\n });\n this._disposal.add(unsub);\n }\n }\n });\n }\n _hostDisconnected() {\n for (const propName of this._mediaProps) {\n this._handleDisconnect(propName, this._getMediaAttrName(propName));\n }\n this._disposal.empty();\n }\n _getMediaAttrName(propName) {\n return camelToKebabCase(propName);\n }\n};\n\n// src/media/style/MediaAttrsController.ts\nvar MediaAttrsController = class extends MediaStyleController {\n _handleValueChange(_, attrName, value) {\n window.requestAnimationFrame(() => {\n setAttribute(\n this._host,\n attrName,\n isString(value) || isNumber(value) ? String(value) : !!value\n );\n });\n }\n _handleDisconnect(_, attrName) {\n this._host.removeAttribute(attrName);\n }\n};\nfunction bindMediaPropsToAttrs(...params) {\n return new MediaAttrsController(...params);\n}\n\n// src/media/style/MediaCssPropsController.ts\nimport { isNumber as isNumber2, isString as isString2 } from \"@vidstack/foundation\";\nvar MediaCssPropsController = class extends MediaStyleController {\n _handleValueChange(_, attrName, value) {\n window.requestAnimationFrame(() => {\n this._host.style.setProperty(\n this._getCssPropName(attrName),\n isString2(value) || isNumber2(value) ? String(value) : null\n );\n });\n }\n _getCssPropName(attrName) {\n return `--vds-${attrName}`;\n }\n _handleDisconnect(_, attrName) {\n this._host.style.setProperty(this._getCssPropName(attrName), null);\n }\n};\nfunction bindMediaPropsToCssProps(...params) {\n return new MediaCssPropsController(...params);\n}\n\n// src/media/MediaElement.ts\nvar mediaDiscoveryId = Symbol(\"@vidstack/media-discovery\");\nvar MediaElement = class extends LitElement {\n constructor() {\n super();\n this.controller = new MediaController(this);\n this.__mediaFullscreen = false;\n this.__mediaIsVideoView = false;\n this.__mediaPlaysinline = false;\n this.screenOrientationController = new ScreenOrientationController(this);\n this.fullscreenController = new FullscreenController(this, this.screenOrientationController);\n discoverable(this, \"vds-media-connect\", { register: mediaDiscoveryId });\n mediaStoreSubscription(this, \"fullscreen\", ($fullscreen) => {\n this.__mediaFullscreen = $fullscreen;\n });\n mediaStoreSubscription(this, \"viewType\", ($viewType) => {\n this.__mediaIsVideoView = $viewType === \"video\" /* Video */;\n });\n mediaStoreSubscription(this, \"playsinline\", ($playsinline) => {\n this.__mediaPlaysinline = $playsinline;\n });\n this._bindMediaAttributes();\n this._bindMediaCSSProperties();\n }\n static get styles() {\n return [\n css`:host{display:inline-block;position:relative;contain:content}:host([hidden]){display:none}`\n ];\n }\n get provider() {\n return this.controller.provider;\n }\n update(changedProperties) {\n setAttribute2(this, \"hide-ui\", this._shouldHideMediaUI());\n super.update(changedProperties);\n }\n render() {\n return html`<slot></slot>`;\n }\n get canFullscreen() {\n return this.fullscreenController.isSupported;\n }\n get fullscreen() {\n return this.fullscreenController.isFullscreen;\n }\n get fullscreenOrientation() {\n return this.fullscreenController.screenOrientationLock;\n }\n set fullscreenOrientation(lockType) {\n const prevLockType = this.fullscreenController.screenOrientationLock;\n if (prevLockType !== lockType) {\n this.fullscreenController.screenOrientationLock = lockType;\n this.requestUpdate(\"fullscreen-orientation\", prevLockType);\n }\n }\n enterFullscreen() {\n return this.fullscreenController.enterFullscreen();\n }\n exitFullscreen() {\n return this.fullscreenController.exitFullscreen();\n }\n _bindMediaAttributes() {\n bindMediaPropsToAttrs(this, this.controller.store, [\n \"autoplay\",\n \"autoplayError\",\n \"canLoad\",\n \"canPlay\",\n \"canFullscreen\",\n \"ended\",\n \"error\",\n \"fullscreen\",\n \"userIdle\",\n \"loop\",\n \"mediaType\",\n \"muted\",\n \"paused\",\n \"playing\",\n \"playsinline\",\n \"seeking\",\n \"started\",\n \"viewType\",\n \"waiting\"\n ]);\n }\n _bindMediaCSSProperties() {\n bindMediaPropsToCssProps(this, this.controller.store, [\n \"bufferedAmount\",\n \"currentTime\",\n \"duration\",\n \"seekableAmount\"\n ]);\n }\n _shouldHideMediaUI() {\n return IS_IOS && this.__mediaIsVideoView && (!this.__mediaPlaysinline || this.__mediaFullscreen);\n }\n};\n__decorateClass([\n state()\n], MediaElement.prototype, \"__mediaFullscreen\", 2);\n__decorateClass([\n state()\n], MediaElement.prototype, \"__mediaIsVideoView\", 2);\n__decorateClass([\n state()\n], MediaElement.prototype, \"__mediaPlaysinline\", 2);\n__decorateClass([\n property({ attribute: \"fullscreen-orientation\" })\n], MediaElement.prototype, \"fullscreenOrientation\", 1);\n\nexport {\n UserIdleController,\n MediaController,\n mediaDiscoveryId,\n MediaElement\n};\n","import {\n MediaElement\n} from \"./chunk.YGYRCKY2.js\";\n\n// src/define/vds-media.ts\nimport { safelyDefineCustomElement } from \"@vidstack/foundation\";\nsafelyDefineCustomElement(\"vds-media\", MediaElement);\n","import {\n MediaProviderElement\n} from \"./chunk.63VUN3OP.js\";\nimport {\n __decorateClass\n} from \"./chunk.LNH2V2XS.js\";\n\n// src/providers/html5/Html5MediaElement.ts\nimport {\n DisposalBin,\n getNumberOfDecimalPlaces,\n getSlottedChildren,\n isNil,\n isNumber,\n isScalarArrayEqual,\n isUndefined,\n keysOf,\n listen,\n setAttribute,\n vdsEvent\n} from \"@vidstack/foundation\";\nimport { property } from \"lit/decorators.js\";\nvar AUDIO_EXTENSIONS = /\\.(m4a|mp4a|mpga|mp2|mp2a|mp3|m2a|m3a|wav|weba|aac|oga|spx)($|\\?)/i;\nvar VIDEO_EXTENSIONS = /\\.(mp4|og[gv]|webm|mov|m4v|avi)($|\\?)/i;\nfunction getMediaTypeFromExt(src) {\n if (AUDIO_EXTENSIONS.test(src))\n return \"audio\" /* Audio */;\n if (VIDEO_EXTENSIONS.test(src))\n return \"video\" /* Video */;\n return \"unknown\" /* Unknown */;\n}\nvar Html5MediaElement = class extends MediaProviderElement {\n constructor() {\n super(...arguments);\n this.preload = \"metadata\";\n this._timeRAF = void 0;\n this._hasMediaElementConnected = false;\n this._mediaElementDisposal = new DisposalBin();\n this._isMediaWaiting = false;\n this._ignoreNextAbortEvent = false;\n this._ignoreNextEmptiedEvent = false;\n }\n get mediaElement() {\n return this._mediaElement;\n }\n disconnectedCallback() {\n this._isMediaWaiting = false;\n super.disconnectedCallback();\n this._cancelTimeUpdates();\n }\n destroy() {\n if (this.mediaElement) {\n this.mediaElement.pause();\n this.mediaElement.src = \"\";\n this.mediaElement.innerHTML = \"\";\n this.mediaElement.load();\n }\n super.destroy();\n }\n _cancelTimeUpdates() {\n if (isNumber(this._timeRAF))\n window.cancelAnimationFrame(this._timeRAF);\n this._timeRAF = void 0;\n }\n _requestTimeUpdates() {\n if (!isUndefined(this._timeRAF))\n return;\n this._requestTimeUpdate();\n }\n _requestTimeUpdate() {\n const newTime = this.mediaElement?.currentTime ?? 0;\n if (this.state.currentTime !== newTime) {\n this._updateCurrentTime(newTime);\n }\n this._timeRAF = window.requestAnimationFrame(() => {\n if (isUndefined(this._timeRAF))\n return;\n this._requestTimeUpdate();\n });\n }\n _updateCurrentTime(newTime, triggerEvent) {\n this.dispatchEvent(\n vdsEvent(\"vds-time-update\", {\n detail: {\n currentTime: Math.min(newTime, this.mediaElement?.duration ?? 0),\n played: this.mediaElement.played\n },\n triggerEvent\n })\n );\n }\n handleDefaultSlotChange() {\n this._handleMediaElementDisconnect();\n this._handleMediaElementConnect();\n }\n get _canMediaElementConnect() {\n return this.canLoad && !isNil(this.mediaElement) && !this._hasMediaElementConnected;\n }\n _findSlottedMediaElement() {\n const mediaElement = getSlottedChildren(this)[0];\n const tagName = mediaElement?.tagName ?? \"\";\n if (!/^(audio|video)$/i.test(tagName)) {\n if (false) {\n throw Error(`[vds]: expected <audio> or <video> in default slot. Received: <${tagName}>.`);\n }\n }\n this._mediaElement = mediaElement ?? void 0;\n }\n _handleMediaElementConnect() {\n window.requestAnimationFrame(() => {\n this._findSlottedMediaElement();\n if (!this._canMediaElementConnect)\n return;\n const mediaEl = this.mediaElement;\n if (mediaEl.hasAttribute(\"loop\")) {\n this.loop = true;\n }\n mediaEl.removeAttribute(\"loop\");\n mediaEl.removeAttribute(\"poster\");\n setAttribute(mediaEl, \"controls\", this.controls);\n if (!this.state.canFullscreen && this.fullscreenController.isSupported) {\n this.dispatchEvent(\n vdsEvent(\"vds-fullscreen-support-change\", {\n detail: this.canFullscreen\n })\n );\n }\n this._attachMediaEventListeners();\n this._observePlaysinline();\n this._observeMediaSources();\n if (this.canLoadPoster && this.poster.length > 0 && mediaEl.getAttribute(\"poster\") !== this.poster) {\n mediaEl.setAttribute(\"poster\", this.poster);\n }\n this._startPreloadingMedia();\n if (false) {\n this._logger?.infoGroup(\"Media element connected\").labelledLog(\"Media Element\", mediaEl).dispatch();\n }\n this._hasMediaElementConnected = true;\n this._disconnectDisposal.add(this._handleMediaElementDisconnect.bind(this));\n });\n }\n _handleMediaElementDisconnect() {\n this._cancelTimeUpdates();\n window.requestAnimationFrame(() => {\n this._mediaElementDisposal.empty();\n this._mediaElement = void 0;\n });\n if (this._hasMediaElementConnected && false) {\n this._logger?.infoGroup(\"Media element disconnected\").labelledLog(\"Media Element\", this.mediaElement).dispatch();\n }\n this._hasMediaElementConnected = false;\n }\n startLoadingMedia() {\n super.startLoadingMedia();\n this._handleMediaElementConnect();\n }\n _startPreloadingMedia() {\n if (this.state.canPlay)\n return;\n this.mediaElement.setAttribute(\"preload\", this.preload);\n const isNetworkActive = this.mediaElement.networkState >= 1;\n this._ignoreNextAbortEvent = isNetworkActive;\n this._ignoreNextEmptiedEvent = isNetworkActive;\n this.mediaElement.load();\n setTimeout(() => {\n this._ignoreNextAbortEvent = false;\n this._ignoreNextEmptiedEvent = false;\n }, 0);\n }\n _observePlaysinline() {\n const isPlayingInline = () => this.mediaElement.hasAttribute(\"playsinline\");\n this._handlePlaysinlineChange(isPlayingInline());\n const observer = new MutationObserver(() => this._handlePlaysinlineChange(isPlayingInline()));\n observer.observe(this.mediaElement, { attributeFilter: [\"playsinline\"] });\n this._mediaElementDisposal.add(() => observer.disconnect());\n }\n _handlePlaysinlineChange(playsinline) {\n this.dispatchEvent(vdsEvent(\"vds-playsinline-change\", { detail: playsinline }));\n }\n _observeMediaSources() {\n this._handleSrcChange(this._getMediaSources());\n const observer = new MutationObserver(() => this._handleSrcChange(this._getMediaSources()));\n observer.observe(this.mediaElement, { attributeFilter: [\"src\"], subtree: true });\n this._mediaElementDisposal.add(() => observer.disconnect());\n }\n _handleSrcChange(sources) {\n const prevSources = this.state.src;\n if (!isScalarArrayEqual(prevSources, sources)) {\n this.dispatchEvent(vdsEvent(\"vds-src-change\", { detail: sources }));\n }\n }\n _getMediaSources() {\n const resources = [\n this.mediaElement?.src,\n ...Array.from(this.mediaElement?.querySelectorAll(\"source\") ?? []).map(\n (source) => source.src\n )\n ].filter(Boolean);\n return Array.from(new Set(resources));\n }\n _getMediaMetadata() {\n return {\n src: this.state.src,\n currentSrc: this.mediaElement.currentSrc,\n duration: this.mediaElement.duration || 0,\n poster: this.mediaElement.poster,\n mediaType: this._getMediaType(),\n viewType: this.state.viewType\n };\n }\n _attachMediaEventListeners() {\n if (isNil(this.mediaElement))\n return;\n const mediaEventListeners = {\n abort: this._handleAbort,\n canplay: this._handleCanPlay,\n canplaythrough: this._handleCanPlayThrough,\n durationchange: this._handleDurationChange,\n emptied: this._handleEmptied,\n ended: this._handleEnded,\n error: this._handleError,\n loadeddata: this._handleLoadedData,\n loadedmetadata: this._handleLoadedMetadata,\n loadstart: this._handleLoadStart,\n pause: this._handlePause,\n play: this._handlePlay,\n playing: this._handlePlaying,\n progress: this._handleProgress,\n ratechange: this._handleRateChange,\n seeked: this._handleSeeked,\n seeking: this._handleSeeking,\n stalled: this._handleStalled,\n suspend: this._handleSuspend,\n volumechange: this._handleVolumeChange,\n waiting: this._handleWaiting\n };\n keysOf(mediaEventListeners).forEach((type) => {\n const handler = mediaEventListeners[type].bind(this);\n const off = listen(this.mediaElement, type, async (event) => {\n if (false) {\n this._logger?.debugGroup(`\\u{1F4FA} fired \\`${event.type}\\``).labelledLog(\"Event\", event).labelledLog(\"State\", { ...this.state }).dispatch();\n }\n await handler(event);\n });\n this._mediaElementDisposal.add(off);\n });\n if (false) {\n this._logger?.debug(\"attached event listeners\");\n }\n }\n _handleAbort(event) {\n if (this._ignoreNextAbortEvent)\n return;\n this.dispatchEvent(vdsEvent(\"vds-abort\", { triggerEvent: event }));\n this._handleCurrentSrcChange(\"\", event);\n }\n _handleCanPlay(event) {\n this._handleMediaReady({ event, duration: this.mediaElement.duration });\n }\n _handleCanPlayThrough(event) {\n if (this.state.started)\n return;\n this.dispatchEvent(\n vdsEvent(\"vds-can-play-through\", {\n triggerEvent: event,\n detail: { duration: this.mediaElement.duration }\n })\n );\n }\n _handleLoadStart(event) {\n this._handleCurrentSrcChange(this.mediaElement.currentSrc, event);\n if (this.mediaElement.currentSrc === \"\") {\n this._handleAbort();\n return;\n }\n this.dispatchEvent(\n vdsEvent(\"vds-load-start\", {\n triggerEvent: event,\n detail: this._getMediaMetadata()\n })\n );\n }\n _handleEmptied(event) {\n if (this._ignoreNextEmptiedEvent)\n return;\n this.dispatchEvent(vdsEvent(\"vds-emptied\", { triggerEvent: event }));\n }\n _handleLoadedData(event) {\n this.dispatchEvent(vdsEvent(\"vds-loaded-data\", { triggerEvent: event }));\n }\n _handleLoadedMetadata(event) {\n this.dispatchEvent(\n vdsEvent(\"vds-volume-change\", {\n detail: {\n volume: this.mediaElement.volume,\n muted: this.mediaElement.muted\n }\n })\n );\n this.dispatchEvent(\n vdsEvent(\"vds-loaded-metadata\", {\n triggerEvent: event,\n detail: this._getMediaMetadata()\n })\n );\n }\n _determineMediaType(event) {\n this.dispatchEvent(\n vdsEvent(\"vds-media-type-change\", {\n detail: this._getMediaType(),\n triggerEvent: event\n })\n );\n }\n _handlePlay(event) {\n const playEvent = vdsEvent(\"vds-play\", { triggerEvent: event });\n playEvent.autoplay = this._attemptingAutoplay;\n this.dispatchEvent(playEvent);\n }\n _handlePause(event) {\n if (this.mediaElement.readyState === 1 && !this._isMediaWaiting) {\n return;\n }\n this._isMediaWaiting = false;\n this._cancelTimeUpdates();\n this.dispatchEvent(vdsEvent(\"vds-pause\", { triggerEvent: event }));\n }\n _handlePlaying(event) {\n this._isMediaWaiting = false;\n const playingEvent = vdsEvent(\"vds-playing\", { triggerEvent: event });\n this.dispatchEvent(playingEvent);\n this._requestTimeUpdates();\n }\n _handleDurationChange(event) {\n if (this.mediaElement.ended) {\n this._updateCurrentTime(this.mediaElement.duration, event);\n }\n this.dispatchEvent(\n vdsEvent(\"vds-duration-change\", {\n detail: this.mediaElement.duration,\n triggerEvent: event\n })\n );\n }\n _handleProgress(event) {\n this.dispatchEvent(\n vdsEvent(\"vds-progress\", {\n triggerEvent: event,\n detail: {\n buffered: this.mediaElement.buffered,\n seekable: this.mediaElement.seekable\n }\n })\n );\n }\n _handleRateChange(event) {\n throw Error(\"Not implemented\");\n }\n _handleSeeking(event) {\n this.dispatchEvent(\n vdsEvent(\"vds-seeking\", {\n detail: this.mediaElement.currentTime,\n triggerEvent: event\n })\n );\n }\n _handleSeeked(event) {\n const seekedEvent = vdsEvent(\"vds-seeked\", {\n detail: this.mediaElement.currentTime,\n triggerEvent: event\n });\n this.dispatchEvent(seekedEvent);\n const currentTime = this.mediaElement.currentTime;\n if (Math.trunc(currentTime) === Math.trunc(this.mediaElement.duration) && getNumberOfDecimalPlaces(this.mediaElement.duration) > getNumberOfDecimalPlaces(currentTime)) {\n this._updateCurrentTime(this.mediaElement.duration, event);\n if (!this.mediaElement.ended) {\n try {\n this.play();\n } catch (e) {\n }\n }\n }\n }\n _handleStalled(event) {\n this.dispatchEvent(vdsEvent(\"vds-stalled\", { triggerEvent: event }));\n if (this.mediaElement.readyState < 3) {\n this._isMediaWaiting = true;\n this.dispatchEvent(vdsEvent(\"vds-waiting\", { triggerEvent: event }));\n }\n }\n _handleVolumeChange(event) {\n this.dispatchEvent(\n vdsEvent(\"vds-volume-change\", {\n detail: {\n volume: this.mediaElement.volume,\n muted: this.mediaElement.muted\n },\n triggerEvent: event\n })\n );\n }\n _handleWaiting(event) {\n if (this.mediaElement.readyState < 3) {\n this._isMediaWaiting = true;\n this.dispatchEvent(vdsEvent(\"vds-waiting\", { triggerEvent: event }));\n }\n }\n _handleSuspend(event) {\n const suspendEvent = vdsEvent(\"vds-suspend\", { triggerEvent: event });\n this.dispatchEvent(suspendEvent);\n }\n _handleEnded(event) {\n this._cancelTimeUpdates();\n this._updateCurrentTime(this.mediaElement.duration, event);\n const endEvent = vdsEvent(\"vds-end\", { triggerEvent: event });\n this.dispatchEvent(endEvent);\n if (this.state.loop) {\n this._handleLoop();\n } else {\n this.dispatchEvent(vdsEvent(\"vds-ended\", { triggerEvent: event }));\n }\n }\n _handleLoop() {\n const hasCustomControls = isNil(this.controls);\n if (hasCustomControls) {\n this.mediaElement.controls = false;\n }\n this.dispatchEvent(vdsEvent(\"vds-loop-request\"));\n }\n _handleError(event) {\n const mediaError = this.mediaElement.error;\n if (!mediaError)\n return;\n this.dispatchEvent(\n vdsEvent(\"vds-error\", {\n detail: {\n message: mediaError.message,\n code: mediaError.code,\n mediaError\n },\n triggerEvent: event\n })\n );\n }\n _getPaused() {\n return this.mediaElement?.paused ?? true;\n }\n _getVolume() {\n return this.mediaElement?.volume ?? 1;\n }\n _setVolume(newVolume) {\n this.mediaElement.volume = newVolume;\n }\n _getCurrentTime() {\n return this.mediaElement?.currentTime ?? 0;\n }\n _setCurrentTime(newTime) {\n if (this.mediaElement.currentTime !== newTime) {\n this.mediaElement.currentTime = newTime;\n }\n }\n _getMuted() {\n return this.mediaElement?.muted ?? false;\n }\n _setMuted(isMuted) {\n this.mediaElement.muted = isMuted;\n }\n async play() {\n if (false) {\n this._logger?.info(\"attempting to play...\");\n }\n try {\n this._throwIfNotReadyForPlayback();\n await this._resetPlaybackIfEnded();\n return this.mediaElement?.play();\n } catch (error) {\n const playErrorEvent = vdsEvent(\"vds-play-fail\");\n playErrorEvent.autoplay = this._attemptingAutoplay;\n playErrorEvent.error = error;\n throw error;\n }\n }\n async pause() {\n if (false) {\n this._logger?.info(\"attempting to pause...\");\n }\n return this.mediaElement?.pause();\n }\n _getMediaType() {\n return getMediaTypeFromExt(this.state.currentSrc);\n }\n};\n__decorateClass([\n property()\n], Html5MediaElement.prototype, \"preload\", 2);\n\nexport {\n AUDIO_EXTENSIONS,\n VIDEO_EXTENSIONS,\n Html5MediaElement\n};\n","import {\n Html5MediaElement\n} from \"./chunk.M7J7NUUF.js\";\n\n// src/providers/audio/AudioElement.ts\nimport { vdsEvent } from \"@vidstack/foundation\";\nimport { css } from \"lit\";\nvar AudioElement = class extends Html5MediaElement {\n static get styles() {\n return [\n css`:host{display:inline-block}:host([hidden]){display:none}`\n ];\n }\n connectedCallback() {\n super.connectedCallback();\n this.dispatchEvent(\n vdsEvent(\"vds-view-type-change\", {\n detail: \"audio\" /* Audio */\n })\n );\n }\n};\n\nexport {\n AudioElement\n};\n","import {\n AudioElement\n} from \"./chunk.MWM7HRI6.js\";\n\n// src/define/vds-audio.ts\nimport { safelyDefineCustomElement } from \"@vidstack/foundation\";\nsafelyDefineCustomElement(\"vds-audio\", AudioElement);\n","import {\n __decorateClass\n} from \"./chunk.LNH2V2XS.js\";\n\n// src/ui/toggle-button/ToggleButtonElement.ts\nimport {\n eventListener,\n focusVisiblePolyfill,\n isKeyboardClick,\n isKeyboardEvent,\n setAttribute,\n setAttributeIfEmpty\n} from \"@vidstack/foundation\";\nimport {\n html,\n LitElement\n} from \"lit\";\nimport { property } from \"lit/decorators.js\";\n\n// src/ui/toggle-button/styles.ts\nimport { css } from \"lit\";\nvar toggleButtonElementStyles = css`:host{display:table;contain:content;user-select:none;cursor:pointer;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}:host([hidden]){display:none}:host(:focus){outline:0}:host(:focus-visible){outline:1px auto Highlight;outline:1px auto -webkit-focus-ring-color}:host(.focus-visible){outline:1px auto Highlight;outline:1px auto -webkit-focus-ring-color}`;\n\n// src/ui/toggle-button/ToggleButtonElement.ts\nvar ToggleButtonElement = class extends LitElement {\n constructor() {\n super();\n this.pressed = false;\n this.disabled = false;\n this._handleButtonClickCapture = eventListener(\n this,\n \"click\",\n (event) => {\n if (this.disabled) {\n event.preventDefault();\n event.stopImmediatePropagation();\n }\n },\n { capture: true }\n );\n if (false)\n logElementLifecycle(this);\n focusVisiblePolyfill(this);\n [\"pointerup\", \"keydown\"].forEach((eventType) => {\n eventListener(this, eventType, (event) => {\n if (this.disabled || isKeyboardEvent(event) && !isKeyboardClick(event)) {\n return;\n }\n this._handleButtonClick(event);\n });\n });\n }\n static get styles() {\n return [toggleButtonElementStyles];\n }\n static get parts() {\n return [];\n }\n connectedCallback() {\n super.connectedCallback();\n setAttributeIfEmpty(this, \"tabindex\", \"0\");\n setAttributeIfEmpty(this, \"role\", \"button\");\n this._updateAriaPressedAttr();\n }\n updated(changedProperties) {\n if (changedProperties.has(\"pressed\")) {\n this._updateAriaPressedAttr();\n }\n }\n _updateAriaPressedAttr() {\n setAttribute(this, \"aria-pressed\", this.pressed ? \"true\" : \"false\");\n }\n render() {\n return this._renderDefaultSlot();\n }\n _renderDefaultSlot() {\n return html`<slot></slot>`;\n }\n _handleButtonClick(event) {\n this.pressed = !this.pressed;\n }\n};\n__decorateClass([\n property({ type: Boolean })\n], ToggleButtonElement.prototype, \"pressed\", 2);\n__decorateClass([\n property({ type: Boolean, reflect: true })\n], ToggleButtonElement.prototype, \"disabled\", 2);\n\nexport {\n ToggleButtonElement\n};\n","// src/media/interact/MediaRemoteControl.ts\nimport {\n hostRequestQueue,\n RequestQueue,\n vdsEvent\n} from \"@vidstack/foundation\";\nvar MediaRemoteControl = class {\n constructor(_host) {\n if (_host) {\n this._target = _host;\n this._createLogger(_host);\n this._requests = hostRequestQueue(_host);\n } else {\n this._requests = new RequestQueue();\n }\n }\n startLoading(triggerEvent) {\n this._dispatchRequest(\"vds-start-loading\", { triggerEvent });\n }\n play(triggerEvent) {\n this._dispatchRequest(\"vds-play-request\", { triggerEvent });\n }\n pause(triggerEvent) {\n this._dispatchRequest(\"vds-pause-request\", { triggerEvent });\n }\n mute(triggerEvent) {\n this._dispatchRequest(\"vds-mute-request\", { triggerEvent });\n }\n unmute(triggerEvent) {\n this._dispatchRequest(\"vds-unmute-request\", { triggerEvent });\n }\n enterFullscreen(target, triggerEvent) {\n this._dispatchRequest(\"vds-enter-fullscreen-request\", {\n triggerEvent,\n detail: target\n });\n }\n exitFullscreen(target, triggerEvent) {\n this._dispatchRequest(\"vds-exit-fullscreen-request\", {\n triggerEvent,\n detail: target\n });\n }\n seeking(time, triggerEvent) {\n this._dispatchRequest(\"vds-seeking-request\", {\n detail: time,\n triggerEvent\n });\n }\n seek(time, triggerEvent) {\n this._dispatchRequest(\"vds-seek-request\", {\n detail: time,\n triggerEvent\n });\n }\n changeVolume(volume, triggerEvent) {\n this._dispatchRequest(\"vds-volume-change-request\", {\n detail: volume,\n triggerEvent\n });\n }\n resumeUserIdle(triggerEvent) {\n this._dispatchRequest(\"vds-resume-user-idle-request\", { triggerEvent });\n }\n pauseUserIdle(triggerEvent) {\n this._dispatchRequest(\"vds-pause-user-idle-request\", { triggerEvent });\n }\n showPoster(triggerEvent) {\n this._dispatchRequest(\"vds-show-poster-request\", { triggerEvent });\n }\n hidePoster(triggerEvent) {\n this._dispatchRequest(\"vds-hide-poster-request\", { triggerEvent });\n }\n setTarget(target) {\n if (this._target === target)\n return;\n this._target = target;\n if (target) {\n this._createLogger(target);\n this._requests.start();\n } else {\n this._requests.stop();\n }\n }\n _dispatchRequest(type, eventInit) {\n this._requests.queue(type, () => {\n const request = vdsEvent(type, {\n ...eventInit,\n bubbles: true,\n composed: true\n });\n if (false) {\n this._logger?.infoGroup(`\\u{1F4E8} dispatching \\`${type}\\``).labelledLog(\"Request Event\", request).labelledLog(\"Trigger Event\", eventInit.triggerEvent).dispatch();\n }\n this._target?.dispatchEvent(request);\n });\n }\n _createLogger(target) {\n if (false) {\n this._logger = new LogDispatcher(target);\n }\n }\n};\n\nexport {\n MediaRemoteControl\n};\n","import {\n ToggleButtonElement\n} from \"./chunk.KIF3XDBQ.js\";\nimport {\n MediaRemoteControl\n} from \"./chunk.JDCQU7GF.js\";\nimport {\n mediaStoreSubscription\n} from \"./chunk.O2H47C42.js\";\n\n// src/ui/play-button/PlayButtonElement.ts\nimport { setAttribute, setAttributeIfEmpty } from \"@vidstack/foundation\";\nvar PlayButtonElement = class extends ToggleButtonElement {\n constructor() {\n super();\n this._mediaRemote = new MediaRemoteControl(this);\n mediaStoreSubscription(this, \"paused\", ($paused) => {\n this.pressed = !$paused;\n setAttribute(this, \"paused\", $paused);\n });\n }\n connectedCallback() {\n super.connectedCallback();\n setAttributeIfEmpty(this, \"aria-label\", \"Play\");\n }\n _handleButtonClick(event) {\n if (this.disabled)\n return;\n if (this.pressed) {\n this._mediaRemote.pause(event);\n } else {\n this._mediaRemote.play(event);\n }\n }\n};\n\nexport {\n PlayButtonElement\n};\n","import {\n PlayButtonElement\n} from \"./chunk.5LQ54Q2B.js\";\n\n// src/define/vds-play-button.ts\nimport { safelyDefineCustomElement } from \"@vidstack/foundation\";\nsafelyDefineCustomElement(\"vds-play-button\", PlayButtonElement);\n","import {\n ToggleButtonElement\n} from \"./chunk.KIF3XDBQ.js\";\nimport {\n MediaRemoteControl\n} from \"./chunk.JDCQU7GF.js\";\nimport {\n mediaStoreSubscription\n} from \"./chunk.O2H47C42.js\";\n\n// src/ui/mute-button/MuteButtonElement.ts\nimport { setAttribute, setAttributeIfEmpty } from \"@vidstack/foundation\";\nvar MuteButtonElement = class extends ToggleButtonElement {\n constructor() {\n super();\n this._mediaRemote = new MediaRemoteControl(this);\n this._volume = 1;\n this._muted = false;\n mediaStoreSubscription(this, \"volume\", ($volume) => {\n this._volume = $volume;\n this._handleMutedChange();\n });\n mediaStoreSubscription(this, \"muted\", ($muted) => {\n this._muted = $muted;\n this._handleMutedChange();\n });\n }\n connectedCallback() {\n super.connectedCallback();\n setAttributeIfEmpty(this, \"aria-label\", \"Mute\");\n }\n _handleMutedChange() {\n const muted = this._muted || this._volume === 0;\n this.pressed = muted;\n setAttribute(this, \"muted\", muted);\n }\n _handleButtonClick(event) {\n if (this.disabled)\n return;\n if (this.pressed) {\n this._mediaRemote.unmute(event);\n } else {\n this._mediaRemote.mute(event);\n }\n }\n};\n\nexport {\n MuteButtonElement\n};\n","import {\n MuteButtonElement\n} from \"./chunk.OS5G3YJW.js\";\n\n// src/define/vds-mute-button.ts\nimport { safelyDefineCustomElement } from \"@vidstack/foundation\";\nsafelyDefineCustomElement(\"vds-mute-button\", MuteButtonElement);\n","// src/ui/slider/store.ts\nimport { createContext, derived, writable } from \"@vidstack/foundation\";\nfunction createSliderStore() {\n const dragging = writable(false);\n const pointing = writable(false);\n return {\n value: writable(50),\n pointerValue: writable(0),\n min: writable(0),\n max: writable(100),\n dragging,\n pointing,\n interactive: derived([dragging, pointing], ([$dragging, $pointing]) => $dragging || $pointing)\n };\n}\nvar sliderStoreContext = createContext(createSliderStore);\n\nexport {\n createSliderStore,\n sliderStoreContext\n};\n","import {\n sliderStoreContext\n} from \"./chunk.CQHSYXO3.js\";\nimport {\n MediaRemoteControl\n} from \"./chunk.JDCQU7GF.js\";\nimport {\n __decorateClass\n} from \"./chunk.LNH2V2XS.js\";\n\n// src/ui/slider/SliderElement.ts\nimport {\n clampNumber,\n DisposalBin,\n eventListener,\n focusVisiblePolyfill,\n get,\n getNumberOfDecimalPlaces,\n rafThrottle,\n round,\n setAttribute,\n setAttributeIfEmpty,\n setCSSProperty,\n vdsEvent\n} from \"@vidstack/foundation\";\nimport {\n html,\n LitElement\n} from \"lit\";\nimport { property } from \"lit/decorators.js\";\n\n// src/ui/slider/styles.ts\nimport { css } from \"lit\";\nvar sliderElementStyles = css`*{box-sizing:border-box;touch-action:none}:host{display:block;contain:layout;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}:host([hidden]){display:none}:host(:focus){outline:0}:host(:focus-visible){outline:1px auto Highlight;outline:1px auto -webkit-focus-ring-color}:host(.focus-visible){outline:1px auto Highlight;outline:1px auto -webkit-focus-ring-color}`;\n\n// src/ui/slider/SliderElement.ts\nvar SliderKeyDirection = /* @__PURE__ */ ((SliderKeyDirection2) => {\n SliderKeyDirection2[SliderKeyDirection2[\"Left\"] = -1] = \"Left\";\n SliderKeyDirection2[SliderKeyDirection2[\"ArrowLeft\"] = -1] = \"ArrowLeft\";\n SliderKeyDirection2[SliderKeyDirection2[\"Up\"] = -1] = \"Up\";\n SliderKeyDirection2[SliderKeyDirection2[\"ArrowUp\"] = -1] = \"ArrowUp\";\n SliderKeyDirection2[SliderKeyDirection2[\"Right\"] = 1] = \"Right\";\n SliderKeyDirection2[SliderKeyDirection2[\"ArrowRight\"] = 1] = \"ArrowRight\";\n SliderKeyDirection2[SliderKeyDirection2[\"Down\"] = 1] = \"Down\";\n SliderKeyDirection2[SliderKeyDirection2[\"ArrowDown\"] = 1] = \"ArrowDown\";\n return SliderKeyDirection2;\n})(SliderKeyDirection || {});\nvar SliderElement = class extends LitElement {\n constructor() {\n super();\n this._sliderStoreProvider = sliderStoreContext.provide(this);\n this.disabled = false;\n this.value = 50;\n this._step = 1;\n this._keyboardStep = 1;\n this.shiftKeyMultiplier = 5;\n this.customValueText = false;\n this._mediaRemote = new MediaRemoteControl(this);\n this._disconnectDisposal = new DisposalBin();\n this._handlePointerEnter = eventListener(this, \"pointerenter\", () => {\n if (this.disabled)\n return;\n this.setAttribute(\"pointing\", \"\");\n this.store.pointing.set(true);\n });\n this._handlePointerMove = eventListener(this, \"pointermove\", (event) => {\n if (this.disabled || this.isDragging)\n return;\n const value = this._getValueBasedOnThumbPosition(event);\n this.store.pointerValue.set(value);\n this._dispatchPointerValueChange(event);\n });\n this._handlePointerLeave = eventListener(this, \"pointerleave\", () => {\n if (this.disabled)\n return;\n this.removeAttribute(\"pointing\");\n this.store.pointing.set(false);\n });\n this._handlePointerDown = eventListener(this, \"pointerdown\", (event) => {\n if (this.disabled)\n return;\n this._startDragging(event);\n this._onDrag(event);\n });\n this._handleKeydown = eventListener(this, \"keydown\", (event) => {\n if (this.disabled)\n return;\n const { key, shiftKey } = event;\n const isValidKey = Object.keys(SliderKeyDirection).includes(key);\n if (!isValidKey)\n return;\n const modifiedStep = !shiftKey ? this.keyboardStep : this.keyboardStep * this.shiftKeyMultiplier;\n const direction = Number(SliderKeyDirection[key]);\n const diff = modifiedStep * direction;\n const steps = (this.value + diff) / this.step;\n const value = this.step * steps;\n this.value = this._getClampedValue(value);\n this._dispatchValueChange(event);\n });\n this._handleFillValueChange = eventListener(\n this,\n \"vds-slider-value-change\",\n this._updateFillCSSProps.bind(this)\n );\n this._handlePointerValueChange = eventListener(\n this,\n \"vds-slider-pointer-value-change\",\n this._updatePointerCSSProps.bind(this)\n );\n this._onDrag = rafThrottle((event) => {\n if (this.disabled || !this.isDragging)\n return;\n const value = this._getValueBasedOnThumbPosition(event);\n this.store.pointerValue.set(value);\n this._dispatchPointerValueChange(event);\n });\n this._handleDocumentPointerUp = eventListener(\n this,\n \"pointerup\",\n (event) => {\n if (this.disabled || !this.isDragging)\n return;\n this._stopDragging(event);\n },\n { target: document }\n );\n this._handleDocumentTouchMove = eventListener(\n this,\n \"touchmove\",\n (event) => {\n if (this.disabled || !this.isDragging)\n return;\n event.preventDefault();\n },\n { target: document, passive: false }\n );\n this._handleDocumentPointerMove = eventListener(\n this,\n \"pointermove\",\n (event) => {\n if (this.disabled || !this.isDragging)\n return;\n this._onDrag(event);\n },\n { target: document }\n );\n this._lastDispatchedValue = this.value;\n this._dispatchValueChange = rafThrottle((event) => {\n if (this.value === this._lastDispatchedValue)\n return;\n this.dispatchEvent(\n vdsEvent(\"vds-slider-value-change\", {\n detail: this.value,\n triggerEvent: event\n })\n );\n this._lastDispatchedValue = this.value;\n });\n this._lastDispatchedPointerValue = this.pointerValue;\n this._dispatchPointerValueChange = rafThrottle((event) => {\n if (this.pointerValue === this._lastDispatchedPointerValue)\n return;\n const events = [\n \"vds-slider-pointer-value-change\",\n this.isDragging && \"vds-slider-drag-value-change\"\n ];\n events.forEach((eventType) => {\n if (eventType) {\n this.dispatchEvent(\n vdsEvent(eventType, {\n detail: this.pointerValue,\n triggerEvent: event\n })\n );\n }\n });\n this._lastDispatchedPointerValue = this.pointerValue;\n });\n if (false)\n logElementLifecycle(this);\n focusVisiblePolyfill(this);\n }\n static get styles() {\n return [sliderElementStyles];\n }\n static get parts() {\n return [];\n }\n get store() {\n return this._sliderStoreProvider.value;\n }\n get min() {\n return get(this.store.min);\n }\n set min(newMin) {\n this.store.min.set(newMin);\n }\n get max() {\n return get(this.store.max);\n }\n set max(newMax) {\n this.store.max.set(newMax);\n }\n get step() {\n return this._step;\n }\n set step(newStep) {\n this._step = newStep;\n }\n get keyboardStep() {\n return this._keyboardStep;\n }\n set keyboardStep(newStep) {\n this._keyboardStep = newStep;\n }\n get isDragging() {\n return get(this.store.dragging);\n }\n get fillRate() {\n const range = this.max - this.min, offset = this.value - this.min;\n return range > 0 ? offset / range : 0;\n }\n get fillPercent() {\n return this.fillRate * 100;\n }\n get pointerValue() {\n return get(this.store.pointerValue);\n }\n get pointerRate() {\n const range = this.max - this.min, offset = this.pointerValue - this.min;\n return range > 0 ? offset / range : 0;\n }\n get pointerPercent() {\n return this.pointerRate * 100;\n }\n connectedCallback() {\n super.connectedCallback();\n this._setupAriaAttrs();\n this._updateFillCSSProps();\n this._updatePointerCSSProps();\n this._disconnectDisposal.add(\n this.store.interactive.subscribe(($interactive) => {\n setAttribute(this, \"interactive\", $interactive);\n })\n );\n }\n willUpdate(changedProperties) {\n if (changedProperties.has(\"value\") || changedProperties.has(\"min\") || changedProperties.has(\"max\")) {\n this.value = this._getClampedValue(this.value);\n this.store.value.set(this.value);\n this._updateFillCSSProps();\n this._dispatchValueChange();\n }\n if (changedProperties.has(\"disabled\") && this.disabled) {\n this.store.dragging.set(false);\n this.store.pointing.set(false);\n this.removeAttribute(\"dragging\");\n this.removeAttribute(\"pointing\");\n this.removeAttribute(\"interactive\");\n setAttribute(this, \"aria-disabled\", this.disabled);\n }\n if (!this.customValueText) {\n this._updateAriaValueAttrs();\n }\n super.willUpdate(changedProperties);\n }\n disconnectedCallback() {\n this._onDrag.cancel();\n this._disconnectDisposal.empty();\n super.disconnectedCallback();\n }\n _updateFillCSSProps() {\n setCSSProperty(this, \"fill-value\", `${this.value}`);\n setCSSProperty(this, \"fill-rate\", `${this.fillRate}`);\n setCSSProperty(this, \"fill-percent\", `${this.fillPercent}%`);\n }\n _updatePointerCSSProps() {\n setCSSProperty(this, \"pointer-value\", `${this.pointerValue}`);\n setCSSProperty(this, \"pointer-rate\", `${this.pointerRate}`);\n setCSSProperty(this, \"pointer-percent\", `${this.pointerPercent}%`);\n }\n render() {\n return this._renderSlider();\n }\n _renderSlider() {\n return html`${this._renderDefaultSlot()}`;\n }\n _renderDefaultSlot() {\n return html`<slot></slot>`;\n }\n _setupAriaAttrs() {\n setAttributeIfEmpty(this, \"role\", \"slider\");\n setAttributeIfEmpty(this, \"tabindex\", \"0\");\n setAttributeIfEmpty(this, \"aria-orientation\", \"horizontal\");\n setAttributeIfEmpty(this, \"autocomplete\", \"off\");\n }\n _updateAriaValueAttrs() {\n this.setAttribute(\"aria-valuemin\", this._getValueMin());\n this.setAttribute(\"aria-valuenow\", this._getValueNow());\n this.setAttribute(\"aria-valuemax\", this._getValueMax());\n this.setAttribute(\"aria-valuetext\", this._getValueText());\n }\n _getValueMin() {\n return String(this.min);\n }\n _getValueNow() {\n return String(this.value);\n }\n _getValueMax() {\n return String(this.max);\n }\n _getValueText() {\n return `${round(this.value / this.max * 100, 2)}%`;\n }\n _startDragging(event) {\n if (this.isDragging)\n return;\n this.store.dragging.set(true);\n this.setAttribute(\"dragging\", \"\");\n const value = this._getValueBasedOnThumbPosition(event);\n this.store.pointerValue.set(value);\n this._dispatchPointerValueChange(event);\n this.dispatchEvent(\n vdsEvent(\"vds-slider-drag-start\", {\n triggerEvent: event,\n detail: this.value\n })\n );\n this._mediaRemote.pauseUserIdle(event);\n }\n _stopDragging(event) {\n if (!this.isDragging)\n return;\n this.store.dragging.set(false);\n this._dispatchValueChange.cancel();\n this.removeAttribute(\"dragging\");\n const value = this._getValueBasedOnThumbPosition(event);\n this.value = value;\n this.store.pointerValue.set(value);\n this._dispatchValueChange(event);\n this._dispatchPointerValueChange(event);\n this.dispatchEvent(\n vdsEvent(\"vds-slider-drag-end\", {\n triggerEvent: event,\n detail: this.value\n })\n );\n this._mediaRemote.resumeUserIdle(event);\n }\n _getClampedValue(value) {\n return clampNumber(this.min, round(value, getNumberOfDecimalPlaces(this.step)), this.max);\n }\n _getValueFromRate(rate) {\n const boundRate = clampNumber(0, rate, 1);\n const range = this.max - this.min;\n const fill = range * boundRate;\n const stepRatio = Math.round(fill / this.step);\n const steps = this.step * stepRatio;\n return this.min + steps;\n }\n _getValueBasedOnThumbPosition(event) {\n const thumbClientX = event.clientX;\n const { left: trackLeft, width: trackWidth } = this.getBoundingClientRect();\n const thumbPositionRate = (thumbClientX - trackLeft) / trackWidth;\n return this._getValueFromRate(thumbPositionRate);\n }\n};\n__decorateClass([\n property({ type: Number })\n], SliderElement.prototype, \"min\", 1);\n__decorateClass([\n property({ type: Number })\n], SliderElement.prototype, \"max\", 1);\n__decorateClass([\n property({ reflect: true, type: Boolean })\n], SliderElement.prototype, \"disabled\", 2);\n__decorateClass([\n property({ type: Number })\n], SliderElement.prototype, \"value\", 2);\n__decorateClass([\n property({ type: Number })\n], SliderElement.prototype, \"step\", 1);\n__decorateClass([\n property({ attribute: \"keyboard-step\", type: Number })\n], SliderElement.prototype, \"keyboardStep\", 1);\n__decorateClass([\n property({ attribute: \"shift-key-multiplier\", type: Number })\n], SliderElement.prototype, \"shiftKeyMultiplier\", 2);\n__decorateClass([\n property({ type: Boolean, attribute: \"custom-value-text\" })\n], SliderElement.prototype, \"customValueText\", 2);\n\nexport {\n SliderKeyDirection,\n SliderElement\n};\n","import {\n SliderElement\n} from \"./chunk.33ZMGU5I.js\";\nimport {\n mediaStoreSubscription\n} from \"./chunk.O2H47C42.js\";\nimport {\n __decorateClass\n} from \"./chunk.LNH2V2XS.js\";\n\n// src/ui/time-slider/TimeSliderElement.ts\nimport {\n eventListener,\n formatSpokenTime,\n isKeyboardEvent,\n setAttributeIfEmpty,\n throttle\n} from \"@vidstack/foundation\";\nimport { property, state } from \"lit/decorators.js\";\n\n// src/ui/time-slider/styles.ts\nimport { css } from \"lit\";\nvar timeSliderElementStyles = css``;\n\n// src/ui/time-slider/TimeSliderElement.ts\nvar TimeSliderElement = class extends SliderElement {\n constructor() {\n super();\n this._step = 0.1;\n this.value = 0;\n this.valueText = \"{currentTime} out of {duration}\";\n this.pauseWhileDragging = false;\n this.seekingRequestThrottle = 100;\n this.__mediaDuration = 0;\n this.__mediaPaused = true;\n this._handleSliderDragStart = eventListener(\n this,\n \"vds-slider-drag-start\",\n (event) => {\n this._togglePlaybackWhileDragging(event);\n }\n );\n this._handleSliderValueChange = eventListener(\n this,\n \"vds-slider-value-change\",\n (event) => {\n if (isKeyboardEvent(event.originEvent)) {\n this._dispatchSeekingRequest.cancel();\n this._mediaRemote.seek(this.value, event);\n }\n }\n );\n this._handleSliderDragValueChange = eventListener(\n this,\n \"vds-slider-drag-value-change\",\n (event) => {\n this._dispatchSeekingRequest(event);\n }\n );\n this._handleSliderDragEnd = eventListener(this, \"vds-slider-drag-end\", (event) => {\n this._dispatchSeekingRequest.cancel();\n this._mediaRemote.seek(this.value, event);\n this._togglePlaybackWhileDragging(event);\n });\n this._dispatchSeekingRequest = throttle((event) => {\n this._mediaRemote.seeking(this.value, event);\n }, this.seekingRequestThrottle);\n this._wasPlayingBeforeDragStart = false;\n mediaStoreSubscription(this, \"currentTime\", ($currentTime) => {\n this.value = $currentTime;\n });\n mediaStoreSubscription(this, \"duration\", ($duration) => {\n this.__mediaDuration = $duration;\n this.requestUpdate(\"max\");\n });\n mediaStoreSubscription(this, \"paused\", ($paused) => {\n this.__mediaPaused = $paused;\n });\n }\n static get styles() {\n return [super.styles, timeSliderElementStyles];\n }\n connectedCallback() {\n super.connectedCallback();\n setAttributeIfEmpty(this, \"aria-label\", \"Media time\");\n }\n get min() {\n return 0;\n }\n set min(_) {\n }\n get max() {\n return this.__mediaDuration;\n }\n set max(_) {\n }\n update(changedProperties) {\n if (changedProperties.has(\"disabled\") && this.disabled) {\n this._dispatchSeekingRequest.cancel();\n }\n super.update(changedProperties);\n }\n disconnectedCallback() {\n this._dispatchSeekingRequest.cancel();\n super.disconnectedCallback();\n }\n _getValueMin() {\n return \"0%\";\n }\n _getValueNow() {\n return `${Math.round(this.fillPercent)}%`;\n }\n _getValueText() {\n return this.valueText.replace(\"{currentTime}\", formatSpokenTime(this.value)).replace(\"{duration}\", formatSpokenTime(this.__mediaDuration));\n }\n _getValueMax() {\n return \"100%\";\n }\n _togglePlaybackWhileDragging(event) {\n if (!this.pauseWhileDragging)\n return;\n if (this.isDragging && !this.__mediaPaused) {\n this._wasPlayingBeforeDragStart = true;\n this._mediaRemote.pause(event);\n } else if (this._wasPlayingBeforeDragStart && !this.isDragging && this.__mediaPaused) {\n this._wasPlayingBeforeDragStart = false;\n this._mediaRemote.play(event);\n }\n }\n};\n__decorateClass([\n property({ attribute: false, state: true })\n], TimeSliderElement.prototype, \"value\", 2);\n__decorateClass([\n property({ attribute: false })\n], TimeSliderElement.prototype, \"min\", 1);\n__decorateClass([\n property({ attribute: false })\n], TimeSliderElement.prototype, \"max\", 1);\n__decorateClass([\n property({ attribute: \"value-text\" })\n], TimeSliderElement.prototype, \"valueText\", 2);\n__decorateClass([\n property({ attribute: \"pause-while-dragging\", type: Boolean })\n], TimeSliderElement.prototype, \"pauseWhileDragging\", 2);\n__decorateClass([\n property({ attribute: \"seeking-request-throttle\", type: Number })\n], TimeSliderElement.prototype, \"seekingRequestThrottle\", 2);\n__decorateClass([\n state()\n], TimeSliderElement.prototype, \"__mediaDuration\", 2);\n__decorateClass([\n state()\n], TimeSliderElement.prototype, \"__mediaPaused\", 2);\n\nexport {\n TimeSliderElement\n};\n","import {\n TimeSliderElement\n} from \"./chunk.JA2WRFAV.js\";\n\n// src/define/vds-time-slider.ts\nimport { safelyDefineCustomElement } from \"@vidstack/foundation\";\nsafelyDefineCustomElement(\"vds-time-slider\", TimeSliderElement);\n","import {\n SliderElement\n} from \"./chunk.33ZMGU5I.js\";\nimport {\n mediaStoreSubscription\n} from \"./chunk.O2H47C42.js\";\nimport {\n __decorateClass\n} from \"./chunk.LNH2V2XS.js\";\n\n// src/ui/volume-slider/VolumeSliderElement.ts\nimport { eventListener, round, setAttributeIfEmpty } from \"@vidstack/foundation\";\nimport { property } from \"lit/decorators.js\";\nvar VolumeSliderElement = class extends SliderElement {\n constructor() {\n super();\n this.value = 100;\n this._handleSliderValueChange = eventListener(\n this,\n \"vds-slider-value-change\",\n this._changeVolume.bind(this)\n );\n this._handleSliderDragValueChange = eventListener(\n this,\n \"vds-slider-drag-value-change\",\n this._changeVolume.bind(this)\n );\n mediaStoreSubscription(this, \"volume\", ($volume) => {\n this.value = $volume * 100;\n });\n }\n connectedCallback() {\n super.connectedCallback();\n setAttributeIfEmpty(this, \"aria-label\", \"Media volume\");\n }\n get min() {\n return 0;\n }\n set min(_) {\n }\n get max() {\n return 100;\n }\n set max(_) {\n }\n _changeVolume(event) {\n const newVolume = event.detail;\n const mediaVolume = round(newVolume / 100, 3);\n this._mediaRemote.changeVolume(mediaVolume, event);\n }\n};\n__decorateClass([\n property({ attribute: false })\n], VolumeSliderElement.prototype, \"min\", 1);\n__decorateClass([\n property({ attribute: false })\n], VolumeSliderElement.prototype, \"max\", 1);\n__decorateClass([\n property({ attribute: false, state: true })\n], VolumeSliderElement.prototype, \"value\", 2);\n\nexport {\n VolumeSliderElement\n};\n","import {\n VolumeSliderElement\n} from \"./chunk.63ZIHMNQ.js\";\n\n// src/define/vds-volume-slider.ts\nimport { safelyDefineCustomElement } from \"@vidstack/foundation\";\nsafelyDefineCustomElement(\"vds-volume-slider\", VolumeSliderElement);\n","import {\n sliderStoreContext\n} from \"./chunk.CQHSYXO3.js\";\nimport {\n __decorateClass\n} from \"./chunk.LNH2V2XS.js\";\n\n// src/ui/slider/SliderValueTextElement.ts\nimport { derived, DisposalBin, formatTime, round } from \"@vidstack/foundation\";\nimport { css, html, LitElement } from \"lit\";\nimport { property, state } from \"lit/decorators.js\";\nvar SliderValueTextElement = class extends LitElement {\n constructor() {\n super(...arguments);\n this._disposal = new DisposalBin();\n this._sliderStoreConsumer = sliderStoreContext.consume(this);\n this.__value = 0;\n this.type = \"current\";\n this.showHours = false;\n this.padHours = false;\n this.decimalPlaces = 2;\n }\n static get styles() {\n return [\n css`:host{display:inline-block;contain:content}:host([hidden]){display:none}`\n ];\n }\n get _sliderStore() {\n return this._sliderStoreConsumer.value;\n }\n connectedCallback() {\n super.connectedCallback();\n this._handleTypeChange();\n }\n update(changedProperties) {\n if (changedProperties.has(\"type\") || changedProperties.has(\"format\")) {\n this._handleTypeChange();\n }\n super.update(changedProperties);\n }\n disconnectedCallback() {\n this._disposal.empty();\n super.disconnectedCallback();\n }\n render() {\n return html`${this._getValueText()}`;\n }\n _handleTypeChange() {\n this._disposal.empty();\n const valueStore = this._sliderStore[this.type === \"current\" ? \"value\" : \"pointerValue\"];\n const store = this.format === \"percent\" ? this._createPercentStore(valueStore) : valueStore;\n const unsub = store.subscribe(($value) => {\n this.__value = $value;\n });\n this._disposal.add(unsub);\n }\n _createPercentStore(valueStore) {\n return derived(\n [valueStore, this._sliderStore.min, this._sliderStore.max],\n ([$value, $min, $max]) => {\n const range = $max - $min;\n return $value / range * 100;\n }\n );\n }\n _getValueText() {\n switch (this.format) {\n case \"percent\":\n return this._getPercentFormat();\n case \"time\":\n return this._getTimeFormat();\n default:\n return `${this.__value}`;\n }\n }\n _getPercentFormat() {\n return `${round(this.__value, this.decimalPlaces)}%`;\n }\n _getTimeFormat() {\n return formatTime(this.__value, this.padHours, this.showHours);\n }\n};\n__decorateClass([\n state()\n], SliderValueTextElement.prototype, \"__value\", 2);\n__decorateClass([\n property()\n], SliderValueTextElement.prototype, \"type\", 2);\n__decorateClass([\n property()\n], SliderValueTextElement.prototype, \"format\", 2);\n__decorateClass([\n property({ attribute: \"show-hours\", type: Boolean })\n], SliderValueTextElement.prototype, \"showHours\", 2);\n__decorateClass([\n property({ attribute: \"pad-hours\", type: Boolean })\n], SliderValueTextElement.prototype, \"padHours\", 2);\n__decorateClass([\n property({ attribute: \"decimal-places\", type: Number })\n], SliderValueTextElement.prototype, \"decimalPlaces\", 2);\n\nexport {\n SliderValueTextElement\n};\n","import {\n SliderValueTextElement\n} from \"./chunk.7KY74HUU.js\";\n\n// src/define/vds-slider-value-text.ts\nimport { safelyDefineCustomElement } from \"@vidstack/foundation\";\nsafelyDefineCustomElement(\"vds-slider-value-text\", SliderValueTextElement);\n","import {\n mediaStoreContext\n} from \"./chunk.O2H47C42.js\";\nimport {\n __decorateClass\n} from \"./chunk.LNH2V2XS.js\";\n\n// src/ui/time/TimeElement.ts\nimport { derived, DisposalBin, formatTime } from \"@vidstack/foundation\";\nimport { css, html, LitElement } from \"lit\";\nimport { property, state } from \"lit/decorators.js\";\nvar TimeElement = class extends LitElement {\n constructor() {\n super(...arguments);\n this._disposal = new DisposalBin();\n this._mediaStoreConsumer = mediaStoreContext.consume(this);\n this.__seconds = 0;\n this.type = \"current\";\n this.showHours = false;\n this.padHours = false;\n this.remainder = false;\n }\n static get styles() {\n return [\n css`:host{display:inline-block;contain:content}:host([hidden]){display:none}`\n ];\n }\n get _mediaStore() {\n return this._mediaStoreConsumer.value;\n }\n connectedCallback() {\n super.connectedCallback();\n this._handleTypeChange();\n }\n update(changedProperties) {\n if (changedProperties.has(\"type\") || changedProperties.has(\"remainder\")) {\n this._handleTypeChange();\n }\n super.update(changedProperties);\n }\n disconnectedCallback() {\n this._disposal.empty();\n super.disconnectedCallback();\n }\n render() {\n return html`${this._getFormattedTime()}`;\n }\n _handleTypeChange() {\n this._disposal.empty();\n const store = this._getTypeStore();\n const unsub = (this.remainder ? this._createRemainderStore(store) : store).subscribe(\n ($seconds) => {\n this.__seconds = $seconds;\n }\n );\n this._disposal.add(unsub);\n }\n _getTypeStore() {\n switch (this.type) {\n case \"buffered\":\n return this._mediaStore.bufferedAmount;\n case \"seekable\":\n return this._mediaStore.seekableAmount;\n case \"duration\":\n return this._mediaStore.duration;\n default:\n return this._mediaStore.currentTime;\n }\n }\n _createRemainderStore(secondsStore) {\n return derived(\n [secondsStore, this._mediaStore.duration],\n ([$seconds, $duration]) => Math.max(0, $duration - $seconds)\n );\n }\n _getFormattedTime() {\n return formatTime(this.__seconds, this.padHours, this.showHours);\n }\n};\n__decorateClass([\n state()\n], TimeElement.prototype, \"__seconds\", 2);\n__decorateClass([\n property()\n], TimeElement.prototype, \"type\", 2);\n__decorateClass([\n property({ attribute: \"show-hours\", type: Boolean })\n], TimeElement.prototype, \"showHours\", 2);\n__decorateClass([\n property({ attribute: \"pad-hours\", type: Boolean })\n], TimeElement.prototype, \"padHours\", 2);\n__decorateClass([\n property({ type: Boolean })\n], TimeElement.prototype, \"remainder\", 2);\n\nexport {\n TimeElement\n};\n","import {\n TimeElement\n} from \"./chunk.K4RXYACL.js\";\n\n// src/define/vds-time.ts\nimport { safelyDefineCustomElement } from \"@vidstack/foundation\";\nsafelyDefineCustomElement(\"vds-time\", TimeElement);\n",":host {\n ::slotted([slot=\"transcript\"]) {\n margin: 0;\n\n br {\n @include spaceCurve('margin-bottom', 'regular');\n content: \" \";\n display: block;\n }\n }\n}\n\n.stzh-audio {\n display: block;\n contain: none;\n\n &__audio {\n @include visuallyhidden;\n }\n\n &__controls,\n &__transcript {\n @include spaceCurve('padding-left', 'regular');\n @include spaceCurve('padding-right', 'regular');\n }\n\n &__controls {\n @include spaceCurve('padding-bottom', 'tiny');\n padding-top: space('large');\n position: relative;\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n background-color: $colorGrey20;\n }\n\n\t&__controls-top,\n\t&__controls-bottom,\n &__controls-bottom-left,\n &__controls-bottom-right {\n\t\tdisplay: flex;\n\t\talign-items: center;\n }\n\n\t&__controls-top {\n\t\tmargin-bottom: space('small');\n\t}\n\n\t&__controls-bottom {\n\t\tdisplay: flex;\n flex-direction: column;\n align-items: stretch;\n\n @include mq($from: small) {\n flex-direction: row;\n align-items: center;\n }\n\t}\n\n &__controls-bottom-left {\n\t\tmargin-bottom: space('xsmall');\n\n @include mq($from: small) {\n flex-grow: 1;\n margin-bottom: 0;\n }\n }\n\n &__controls-bottom-right {\n align-self: flex-end;\n }\n\n &__transcript {\n @include fontCurve('p1');\n @include spaceCurve('padding-top', 'regular');\n @include spaceCurve('padding-bottom', 'medium');\n background-color: $colorGrey10;\n // line-height: 2.5;\n }\n\n &__button {\n &.is-play,\n &.is-mute,\n &.is-transcript {\n margin-right: space('xsmall');\n }\n\n &.is-mute {\n margin-left: auto;\n\n @include mq($from: small) {\n margin-left: 0px;\n }\n }\n\n width: 44px;\n height: 44px;\n display: grid;\n place-items: center;\n appearance: none;\n background-color: transparent;\n border: none;\n border-radius: $buttonBorderRadius;\n transition-duration: $baseTransitionAnimationSpeed;\n transition-property: color, background-color;\n color: $colorPrimary70;\n\n // use if needed for active transcript state\n // &.is-active {\n // }\n\n &:hover {\n color: $colorPrimary80;\n background-color: $colorSecondary20;\n }\n }\n\n &__loader-overlay {\n display: grid;\n place-items: center;\n position: absolute;\n z-index: 3;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: $colorWhite;\n opacity: 0;\n visibility: hidden;\n }\n\n &__time {\n @include fontSize('milli');\n color: $colorGrey70;\n display: inline-flex;\n margin-right: space('xlarge');\n }\n\n &__time-separator {\n margin: 0 space('xxsmall');\n }\n\n &__slider {\n --height: 16px;\n --thumb-width: 16px;\n --track-height: 6px;\n\n cursor: pointer;\n display: flex;\n align-items: center;\n height: var(--height);\n\n &.is-time {\n flex-grow: 1;\n }\n\n &.is-volume {\n --track-height: 4px;\n\n flex-grow: 1;\n min-width: 80px;\n max-width: 120px;\n\n @include mq($from: small) {\n display: flex;\n margin-right: auto;\n }\n }\n }\n\n &__slider-track {\n width: 100%;\n height: var(--track-height);\n position: absolute;\n top: 50%;\n left: 0;\n z-index: 0;\n transform: translateY(-50%);\n background-color: $colorBlack20op;\n transition: background-color $baseTransitionAnimationSpeed;\n }\n\n &__slider:hover &__slider-track {\n background-color: $colorBlack30op;\n }\n\n &__slider-track.is-fill {\n background-color: $colorSecondary40;\n transform-origin: left center;\n transform: translateY(-50%);\n width: calc(var(--vds-fill-rate) * 100%);\n z-index: 1; // above track\n }\n\n &__slider:hover &__slider-track.is-fill {\n background-color: $colorSecondary50;\n }\n\n &__slider.is-volume &__slider-track,\n &__slider.is-volume:hover &__slider-track {\n background-color: $colorBlack20op;\n }\n\n &__slider.is-volume &__slider-track.is-fill,\n &__slider.is-volume:hover &__slider-track.is-fill {\n background-color: $colorBlack50op;\n }\n\n &__slider-thumb-container {\n opacity: 0;\n transition: opacity $baseTransitionAnimationSpeed;\n position: absolute;\n top: 0;\n left: var(--vds-fill-percent);\n width: var(--thumb-width);\n height: 100%;\n transform: translateX(-50%); // re-center along x-axis\n z-index: 2; // above track fill\n\n &.is-shown {\n opacity: 1;\n }\n }\n\n &__slider:hover &__slider-thumb-container {\n opacity: 1;\n }\n\n &__slider[dragging] &__slider-thumb-container {\n opacity: 1;\n left: var(--vds-pointer-percent);\n }\n\n &__slider-thumb {\n position: absolute;\n top: 50%;\n left: 0;\n width: var(--thumb-width);\n height: var(--thumb-width);\n border-radius: 50%;\n background-color: $colorWhite;\n border: 2px solid $colorPrimary70;\n transform: translateY(-50%);\n }\n\n &__media-preview-container {\n --width: 42px;\n --width-half: calc(var(--width) / 2);\n --top: -24px;\n\n // clamp video to left and right of slider\n --left-clamp: max(var(--width-half), var(--vds-pointer-percent));\n --right-clamp: calc(100% - var(--width-half));\n --left: min(var(--left-clamp), var(--right-clamp));\n\n @include tooltip-dropshadow;\n display: grid;\n place-items: center;\n position: absolute;\n width: auto;\n width: (--width);\n top: var(--top);\n left: var(--left);\n opacity: 0;\n transition: opacity $baseTransitionAnimationSpeed;\n // re-position to center\n transform: translateX(-50%);\n z-index: $zIndexPopover;\n border-radius: $tooltipBorderRadius;\n background-color: $colorCoolgrey60;\n color: $colorWhite;\n }\n\n &__slider.is-time &__media-preview-container,\n &__slider.is-volume &__media-preview-container {\n width: auto;\n padding: space('xxsmall');\n }\n\n // show preview while device pointer is inside slider\n &__slider[pointing] &__media-preview-container {\n opacity: 1;\n }\n\n &__slider-text {\n @include tooltip-fontsize;\n }\n\n /* Variants */\n\n // avoid double controls on iOS when in fullscreen.\n &[hide-ui] &__controls {\n opacity: 0;\n visibility: hidden;\n }\n\n // show controls if autoplay fails\n &[autoplay-error] &__controls {\n opacity: 1;\n }\n\n // show buffering indicator while media is not ready, or buffering\n &:not([can-play]) &__loader-overlay,\n &[waiting] &__loader-overlay {\n opacity: 0.8;\n visibility: visible;\n }\n\n // hide pause text when media _is_ paused\n &[paused] &__paused {\n display: none;\n }\n\n // hide play text when media _is not_ paused\n &:not([paused]) &__played {\n display: none;\n }\n\n // hide mute text when media _is_ muted\n &[muted] &__muted {\n display: none;\n }\n\n // hide unmute text when media _is not_ muted\n &:not([muted]) &__unmuted {\n display: none;\n }\n}\n","import {\n Component,\n Host,\n h,\n Element,\n Prop,\n Event,\n EventEmitter,\n Method\n} from \"@stencil/core\";\n\nimport {\n StzhAudioPlayEvent,\n StzhAudioPlayingEvent,\n StzhAudioPauseEvent,\n StzhAudioReplayEvent,\n StzhAudioEndEvent,\n StzhAudioEndedEvent,\n StzhAudioErrorEvent\n} from \"../../index\"\n\nimport \"@vidstack/player/dist/prod/define/vds-media.js\";\nimport \"@vidstack/player/dist/prod/define/vds-audio.js\";\nimport \"@vidstack/player/dist/prod/define/vds-play-button.js\";\nimport \"@vidstack/player/dist/prod/define/vds-mute-button.js\";\nimport \"@vidstack/player/dist/prod/define/vds-time-slider.js\";\nimport \"@vidstack/player/dist/prod/define/vds-volume-slider.js\";\nimport \"@vidstack/player/dist/prod/define/vds-slider-value-text.js\";\nimport \"@vidstack/player/dist/prod/define/vds-time.js\";\n\nimport { hasSlot } from \"../../utils/utils\";\n\nimport { StzhAudioLocalizedText } from './stzh-audio.localization';\n\n/**\n * @slot - Slot for any content\n * @slot transcript - Slot for transcript text\n */\n@Component({\n tag: \"stzh-audio\",\n styleUrl: \"stzh-audio.scss\",\n scoped: true\n})\nexport class StzhAudio {\n /** Translation strings */\n @Prop() localization: StzhAudioLocalizedText;\n\n /** Path to audio file */\n @Prop() src: string = \"\";\n\n /** Preload strategy */\n @Prop() preload: \"none\" | \"metadata\" | \"auto\" = \"none\";\n\n /** Transcript text (alternative for slot) */\n @Prop() transcript: string = \"\";\n\n /** Whether transcript should be shown */\n @Prop({ mutable: true }) transcriptShown: boolean = false;\n\n /**\n * For Adobe Analytics.\n * Will be rendered as value of `s-object-id` attribute to the download link element.\n * Default value will be taken from translations.\n */\n @Prop() downloadAnalyticsId: string;\n\n /**\n * For Adobe Analytics.\n * Will be rendered as value of `s-object-id` attribute to the transcript button element.\n * Default value will be taken from translations.\n */\n @Prop() transcriptAnalyticsId: string;\n\n /** Fired when the paused property is changed from true to false, as a result of the play() method, or the autoplay attribute. */\n @Event() stzhPlay: EventEmitter<StzhAudioPlayEvent>;\n\n /** Fired when playback is ready to start after having been paused or delayed due to lack of data. */\n @Event() stzhPlaying: EventEmitter<StzhAudioPlayingEvent>;\n\n /** Fired when a request to pause an activity is handled and the activity has entered its paused state, most commonly after the media has been paused through a call to the pause() method. */\n @Event() stzhPause: EventEmitter<StzhAudioPauseEvent>;\n\n /** Fired when media playback starts again after being in an ended state. This is fired when the loop property is true and media loops, whereas the vds-play event is not. */\n @Event() stzhReplay: EventEmitter<StzhAudioReplayEvent>;\n\n /** Fired each time media playback has reached the end. This is fired even if the loop property is true, which is generally when you'd reach for this event over the MediaEndedEvent if you want to be notified of media looping. */\n @Event() stzhEnd: EventEmitter<StzhAudioEndEvent>;\n\n /** Fired when playback or streaming has stopped because the end of the media was reached or because no further data is available. This is not fired if playback will start from the beginning again due to the loop property being true (see MediaReplayEvent and MediaEndEvent). */\n @Event() stzhEnded: EventEmitter<StzhAudioEndedEvent>;\n\n /** Fired when media loading or playback has encountered any issues (for example, a network connectivity problem). The event detail contains a potential message containing more information about the error (empty string if nothing available), and a code that identifies the general type of error that occurred. */\n @Event() stzhError: EventEmitter<StzhAudioErrorEvent>;\n\n @Element() element: HTMLStzhAudioElement;\n\n @Method()\n async play() {\n this.vsdAudioElement.play();\n }\n\n @Method()\n async pause() {\n this.vsdAudioElement.pause();\n }\n\n private vsdAudioElement: any;\n\n async componentWillLoad() {\n if (!this.localization) {\n this.localization = await window.stzhComponents.utils.fetchTranslations(this.element, \"audio\");\n }\n }\n\n render() {\n const hasTranscript = !!this.transcript || hasSlot(this.element, \"transcript\");\n const classes = {\n \"stzh-audio\": true\n };\n\n return (\n <Host>\n <vds-media class={classes}>\n <vds-audio\n class=\"stzh-audio__audio\"\n ref={(el) => (this.vsdAudioElement = el as HTMLElement)}\n // events from: https://www.vidstack.io/docs/player/components/providers/audio/api.html#events--vds-progress\n onVds-play={() => {this.stzhPlay.emit({ component: \"stzh-audio\" })}}\n onVds-playing={() => {this.stzhPlaying.emit({ component: \"stzh-audio\" })}}\n onVds-end={() => {this.stzhEnd.emit({ component: \"stzh-audio\" })}}\n onVds-ended={() => {this.stzhEnded.emit({ component: \"stzh-audio\" })}}\n onVds-replay={() => {this.stzhReplay.emit({ component: \"stzh-audio\" })}}\n onVds-error={(e: ErrorEvent) => {this.stzhError.emit({ component: \"stzh-audio\", originalEvent: e })}}\n >\n <audio preload={this.preload} src={this.src}>\n <slot></slot>\n </audio>\n </vds-audio>\n\n <div class=\"stzh-audio__controls\">\n <div class=\"stzh-audio__loader-overlay\">\n <stzh-loader\n class=\"stzh-audio__loader\"\n label={this.localization.loading}\n hide-label\n ></stzh-loader>\n </div>\n\n <div class=\"stzh-audio__controls-top\">\n <vds-time-slider class=\"stzh-audio__slider is-time\">\n <div class=\"stzh-audio__slider-track\"></div>\n <div class=\"stzh-audio__slider-track is-fill\"></div>\n <div class=\"stzh-audio__slider-thumb-container\">\n <div class=\"stzh-audio__slider-thumb\"></div>\n </div>\n <div class=\"stzh-audio__media-preview-container\">\n <vds-slider-value-text class=\"stzh-audio__slider-text\" type=\"pointer\" format=\"time\"></vds-slider-value-text>\n </div>\n </vds-time-slider>\n </div>\n\n <div class=\"stzh-audio__controls-bottom\">\n <div class=\"stzh-audio__controls-bottom-left\">\n <stzh-tooltip>\n <vds-play-button class=\"stzh-audio__button is-play\">\n <stzh-icon class=\"stzh-audio__played\" name=\"play\"></stzh-icon>\n <stzh-icon class=\"stzh-audio__paused\" name=\"pause\"></stzh-icon>\n </vds-play-button>\n <span slot=\"content\">\n <span class=\"stzh-audio__played\">{this.localization.play}</span>\n <span class=\"stzh-audio__paused\">{this.localization.pause}</span>\n </span>\n </stzh-tooltip>\n\n <div class=\"stzh-audio__time\">\n <vds-time type=\"current\"></vds-time>\n <span class=\"stzh-audio__time-separator\">/</span>\n <vds-time type=\"duration\"></vds-time>\n </div>\n\n <stzh-tooltip>\n <vds-mute-button class=\"stzh-audio__button is-mute\">\n <stzh-icon class=\"stzh-audio__muted\" name=\"volume-medium\"></stzh-icon>\n <stzh-icon class=\"stzh-audio__unmuted\" name=\"silent-mode\"></stzh-icon>\n </vds-mute-button>\n <span slot=\"content\">\n <span class=\"stzh-audio__muted\">{this.localization.mute}</span>\n <span class=\"stzh-audio__unmuted\">{this.localization.unmute}</span>\n </span>\n </stzh-tooltip>\n\n <vds-volume-slider class=\"stzh-audio__slider is-volume\">\n <div class=\"stzh-audio__slider-track\"></div>\n <div class=\"stzh-audio__slider-track is-fill\"></div>\n <div class=\"stzh-audio__slider-thumb-container is-shown\">\n <div class=\"stzh-audio__slider-thumb\"></div>\n </div>\n <div class=\"stzh-audio__media-preview-container\">\n <vds-slider-value-text class=\"stzh-audio__slider-text\" type=\"pointer\" format=\"percent\"></vds-slider-value-text>\n </div>\n </vds-volume-slider>\n </div>\n\n <div class=\"stzh-audio__controls-bottom-right\">\n {hasTranscript &&\n <stzh-tooltip\n content={this.transcriptShown ? this.localization.hideTranscript : this.localization.showTranscript}\n >\n <button\n class={{\n \"stzh-audio__button is-transcript\": true,\n \"is-active\": this.transcriptShown\n }}\n onClick={() => this.transcriptShown = !this.transcriptShown}\n s-object-id={this.transcriptAnalyticsId || (this.transcriptShown ? this.localization.hideTranscript : this.localization.showTranscript)}\n >\n <stzh-icon name=\"transcript\"></stzh-icon>\n </button>\n </stzh-tooltip>\n }\n\n <stzh-tooltip content={this.localization.download}>\n <a\n class=\"stzh-audio__button is-download\"\n href={this.src}\n download=\"\"\n s-object-id={this.downloadAnalyticsId || this.localization.download}\n >\n <stzh-icon name=\"download\"></stzh-icon>\n </a>\n </stzh-tooltip>\n </div>\n </div>\n </div>\n\n <div class=\"stzh-audio__transcript\" hidden={!this.transcriptShown}>\n {this.transcript ? this.transcript : <slot name=\"transcript\"></slot>}\n </div>\n </vds-media>\n </Host>\n );\n }\n}\n"],"version":3}