classicy 0.6.1 → 0.6.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (170) hide show
  1. package/package.json +6 -3
  2. package/dist/Preview-DFWgeXbD.js +0 -87
  3. package/dist/Preview-DFWgeXbD.js.map +0 -1
  4. package/dist/classicy.css +0 -1
  5. package/dist/classicy.es.js +0 -34154
  6. package/dist/classicy.es.js.map +0 -1
  7. package/dist/classicy.umd.js +0 -3619
  8. package/dist/classicy.umd.js.map +0 -1
  9. package/dist/dash.all.min-DWS2dLrE.js +0 -18789
  10. package/dist/dash.all.min-DWS2dLrE.js.map +0 -1
  11. package/dist/hls-BoR3u0PC.js +0 -21705
  12. package/dist/hls-BoR3u0PC.js.map +0 -1
  13. package/dist/index-Cd0v-WM7.js +0 -15697
  14. package/dist/index-Cd0v-WM7.js.map +0 -1
  15. package/dist/mixin-CkMUTfmX.js +0 -731
  16. package/dist/mixin-CkMUTfmX.js.map +0 -1
  17. package/dist/react-BnzwZp9T.js +0 -357
  18. package/dist/react-BnzwZp9T.js.map +0 -1
  19. package/dist/react-BzHiAeII.js +0 -402
  20. package/dist/react-BzHiAeII.js.map +0 -1
  21. package/dist/react-Ct5L317G.js +0 -217
  22. package/dist/react-Ct5L317G.js.map +0 -1
  23. package/dist/react-DY0DOTNY.js +0 -356
  24. package/dist/react-DY0DOTNY.js.map +0 -1
  25. package/dist/react-D_7TFUvN.js +0 -437
  26. package/dist/react-D_7TFUvN.js.map +0 -1
  27. package/dist/react-Ql_PNI5h.js +0 -267
  28. package/dist/react-Ql_PNI5h.js.map +0 -1
  29. package/dist/react-_-oMoy3X.js +0 -503
  30. package/dist/react-_-oMoy3X.js.map +0 -1
  31. package/dist/react-b5Gp0-6S.js +0 -3067
  32. package/dist/react-b5Gp0-6S.js.map +0 -1
  33. package/dist/sounds/platinum/platinum.ac3 +0 -0
  34. package/dist/sounds/platinum/platinum.caf +0 -0
  35. package/dist/sounds/platinum/platinum.json +0 -174
  36. package/dist/sounds/platinum/platinum.m4a +0 -0
  37. package/dist/sounds/platinum/platinum.mp3 +0 -0
  38. package/dist/sounds/platinum/platinum.ogg +0 -0
  39. package/dist/sounds/platinum/platinum.wav +0 -0
  40. package/dist/types/assets/sounds/platinum/platinum.json.d.ts +0 -176
  41. package/dist/types/src/SystemFolder/ControlPanels/AppManager/ClassicyAppManager.d.ts +0 -98
  42. package/dist/types/src/SystemFolder/ControlPanels/AppManager/ClassicyAppManager.d.ts.map +0 -1
  43. package/dist/types/src/SystemFolder/ControlPanels/AppManager/ClassicyAppManagerContext.d.ts +0 -9
  44. package/dist/types/src/SystemFolder/ControlPanels/AppManager/ClassicyAppManagerContext.d.ts.map +0 -1
  45. package/dist/types/src/SystemFolder/ControlPanels/AppManager/ClassicyAppManagerUtils.d.ts +0 -7
  46. package/dist/types/src/SystemFolder/ControlPanels/AppManager/ClassicyAppManagerUtils.d.ts.map +0 -1
  47. package/dist/types/src/SystemFolder/ControlPanels/AppearanceManager/ClassicyAppearance.d.ts +0 -120
  48. package/dist/types/src/SystemFolder/ControlPanels/AppearanceManager/ClassicyAppearance.d.ts.map +0 -1
  49. package/dist/types/src/SystemFolder/ControlPanels/AppearanceManager/ClassicyAppearanceManager.d.ts +0 -3
  50. package/dist/types/src/SystemFolder/ControlPanels/AppearanceManager/ClassicyAppearanceManager.d.ts.map +0 -1
  51. package/dist/types/src/SystemFolder/ControlPanels/AppearanceManager/ClassicyColors.d.ts +0 -3
  52. package/dist/types/src/SystemFolder/ControlPanels/AppearanceManager/ClassicyColors.d.ts.map +0 -1
  53. package/dist/types/src/SystemFolder/ControlPanels/AppearanceManager/ClassicySize.d.ts +0 -5
  54. package/dist/types/src/SystemFolder/ControlPanels/AppearanceManager/ClassicySize.d.ts.map +0 -1
  55. package/dist/types/src/SystemFolder/ControlPanels/AppearanceManager/styles/themes.json.d.ts +0 -1433
  56. package/dist/types/src/SystemFolder/ControlPanels/ClassicyControlPanels.d.ts +0 -2
  57. package/dist/types/src/SystemFolder/ControlPanels/ClassicyControlPanels.d.ts.map +0 -1
  58. package/dist/types/src/SystemFolder/ControlPanels/DateAndTimeManager/ClassicyDateAndTimeManager.d.ts +0 -3
  59. package/dist/types/src/SystemFolder/ControlPanels/DateAndTimeManager/ClassicyDateAndTimeManager.d.ts.map +0 -1
  60. package/dist/types/src/SystemFolder/ControlPanels/DateAndTimeManager/ClassicyDateAndTimeManagerUtils.d.ts +0 -3
  61. package/dist/types/src/SystemFolder/ControlPanels/DateAndTimeManager/ClassicyDateAndTimeManagerUtils.d.ts.map +0 -1
  62. package/dist/types/src/SystemFolder/ControlPanels/SoundManager/ClassicySoundManager.d.ts +0 -3
  63. package/dist/types/src/SystemFolder/ControlPanels/SoundManager/ClassicySoundManager.d.ts.map +0 -1
  64. package/dist/types/src/SystemFolder/ControlPanels/SoundManager/ClassicySoundManagerContext.d.ts +0 -79
  65. package/dist/types/src/SystemFolder/ControlPanels/SoundManager/ClassicySoundManagerContext.d.ts.map +0 -1
  66. package/dist/types/src/SystemFolder/ControlPanels/SoundManager/ClassicySoundManagerLabels.json.d.ts +0 -185
  67. package/dist/types/src/SystemFolder/Finder/Finder.d.ts +0 -2
  68. package/dist/types/src/SystemFolder/Finder/Finder.d.ts.map +0 -1
  69. package/dist/types/src/SystemFolder/Finder/FinderContext.d.ts +0 -3
  70. package/dist/types/src/SystemFolder/Finder/FinderContext.d.ts.map +0 -1
  71. package/dist/types/src/SystemFolder/QuickTime/MoviePlayer/MoviePlayer.d.ts +0 -3
  72. package/dist/types/src/SystemFolder/QuickTime/MoviePlayer/MoviePlayer.d.ts.map +0 -1
  73. package/dist/types/src/SystemFolder/QuickTime/MoviePlayer/MoviePlayerContext.d.ts +0 -16
  74. package/dist/types/src/SystemFolder/QuickTime/MoviePlayer/MoviePlayerContext.d.ts.map +0 -1
  75. package/dist/types/src/SystemFolder/QuickTime/MoviePlayer/MoviePlayerUtils.d.ts +0 -14
  76. package/dist/types/src/SystemFolder/QuickTime/MoviePlayer/MoviePlayerUtils.d.ts.map +0 -1
  77. package/dist/types/src/SystemFolder/QuickTime/PictureViewer/PictureViewer.d.ts +0 -13
  78. package/dist/types/src/SystemFolder/QuickTime/PictureViewer/PictureViewer.d.ts.map +0 -1
  79. package/dist/types/src/SystemFolder/QuickTime/PictureViewer/PictureViewerContext.d.ts +0 -10
  80. package/dist/types/src/SystemFolder/QuickTime/PictureViewer/PictureViewerContext.d.ts.map +0 -1
  81. package/dist/types/src/SystemFolder/SystemResources/AboutWindow/ClassicyAboutWindow.d.ts +0 -11
  82. package/dist/types/src/SystemFolder/SystemResources/AboutWindow/ClassicyAboutWindow.d.ts.map +0 -1
  83. package/dist/types/src/SystemFolder/SystemResources/AboutWindow/ClassicyAboutWindowUtils.d.ts +0 -3
  84. package/dist/types/src/SystemFolder/SystemResources/AboutWindow/ClassicyAboutWindowUtils.d.ts.map +0 -1
  85. package/dist/types/src/SystemFolder/SystemResources/Analytics/useClassicyAnalytics.d.ts +0 -27
  86. package/dist/types/src/SystemFolder/SystemResources/Analytics/useClassicyAnalytics.d.ts.map +0 -1
  87. package/dist/types/src/SystemFolder/SystemResources/App/ClassicyApp.d.ts +0 -13
  88. package/dist/types/src/SystemFolder/SystemResources/App/ClassicyApp.d.ts.map +0 -1
  89. package/dist/types/src/SystemFolder/SystemResources/App/ClassicyAppUtils.d.ts +0 -21
  90. package/dist/types/src/SystemFolder/SystemResources/App/ClassicyAppUtils.d.ts.map +0 -1
  91. package/dist/types/src/SystemFolder/SystemResources/Boot/ClassicyBoot.d.ts +0 -3
  92. package/dist/types/src/SystemFolder/SystemResources/Boot/ClassicyBoot.d.ts.map +0 -1
  93. package/dist/types/src/SystemFolder/SystemResources/Button/ClassicyButton.d.ts +0 -12
  94. package/dist/types/src/SystemFolder/SystemResources/Button/ClassicyButton.d.ts.map +0 -1
  95. package/dist/types/src/SystemFolder/SystemResources/Checkbox/ClassicyCheckbox.d.ts +0 -12
  96. package/dist/types/src/SystemFolder/SystemResources/Checkbox/ClassicyCheckbox.d.ts.map +0 -1
  97. package/dist/types/src/SystemFolder/SystemResources/ContextualMenu/ClassicyContextualMenu.d.ts +0 -10
  98. package/dist/types/src/SystemFolder/SystemResources/ContextualMenu/ClassicyContextualMenu.d.ts.map +0 -1
  99. package/dist/types/src/SystemFolder/SystemResources/ControlGroup/ClassicyControlGroup.d.ts +0 -9
  100. package/dist/types/src/SystemFolder/SystemResources/ControlGroup/ClassicyControlGroup.d.ts.map +0 -1
  101. package/dist/types/src/SystemFolder/SystemResources/ControlLabel/ClassicyControlLabel.d.ts +0 -17
  102. package/dist/types/src/SystemFolder/SystemResources/ControlLabel/ClassicyControlLabel.d.ts.map +0 -1
  103. package/dist/types/src/SystemFolder/SystemResources/DatePicker/ClassicyDatePicker.d.ts +0 -14
  104. package/dist/types/src/SystemFolder/SystemResources/DatePicker/ClassicyDatePicker.d.ts.map +0 -1
  105. package/dist/types/src/SystemFolder/SystemResources/DatePicker/ClassicyDatePickerUtils.d.ts +0 -3
  106. package/dist/types/src/SystemFolder/SystemResources/DatePicker/ClassicyDatePickerUtils.d.ts.map +0 -1
  107. package/dist/types/src/SystemFolder/SystemResources/Desktop/ClassicyDesktop.d.ts +0 -7
  108. package/dist/types/src/SystemFolder/SystemResources/Desktop/ClassicyDesktop.d.ts.map +0 -1
  109. package/dist/types/src/SystemFolder/SystemResources/Desktop/ClassicyDesktopIcon.d.ts +0 -14
  110. package/dist/types/src/SystemFolder/SystemResources/Desktop/ClassicyDesktopIcon.d.ts.map +0 -1
  111. package/dist/types/src/SystemFolder/SystemResources/Desktop/ClassicyDesktopIconContext.d.ts +0 -5
  112. package/dist/types/src/SystemFolder/SystemResources/Desktop/ClassicyDesktopIconContext.d.ts.map +0 -1
  113. package/dist/types/src/SystemFolder/SystemResources/Desktop/ClassicyDesktopManager.d.ts +0 -30
  114. package/dist/types/src/SystemFolder/SystemResources/Desktop/ClassicyDesktopManager.d.ts.map +0 -1
  115. package/dist/types/src/SystemFolder/SystemResources/Desktop/ClassicyDesktopWindowManagerContext.d.ts +0 -108
  116. package/dist/types/src/SystemFolder/SystemResources/Desktop/ClassicyDesktopWindowManagerContext.d.ts.map +0 -1
  117. package/dist/types/src/SystemFolder/SystemResources/Desktop/MenuBar/ClassicyDesktopMenuBar.d.ts +0 -3
  118. package/dist/types/src/SystemFolder/SystemResources/Desktop/MenuBar/ClassicyDesktopMenuBar.d.ts.map +0 -1
  119. package/dist/types/src/SystemFolder/SystemResources/Desktop/MenuBar/Widgets/Sound/ClassicyDesktopMenuWidgetSound.d.ts +0 -7
  120. package/dist/types/src/SystemFolder/SystemResources/Desktop/MenuBar/Widgets/Sound/ClassicyDesktopMenuWidgetSound.d.ts.map +0 -1
  121. package/dist/types/src/SystemFolder/SystemResources/Desktop/MenuBar/Widgets/Time/ClassicyDesktopMenuWidgetTime.d.ts +0 -3
  122. package/dist/types/src/SystemFolder/SystemResources/Desktop/MenuBar/Widgets/Time/ClassicyDesktopMenuWidgetTime.d.ts.map +0 -1
  123. package/dist/types/src/SystemFolder/SystemResources/Disclosure/ClassicyDisclosure.d.ts +0 -10
  124. package/dist/types/src/SystemFolder/SystemResources/Disclosure/ClassicyDisclosure.d.ts.map +0 -1
  125. package/dist/types/src/SystemFolder/SystemResources/File/ClassicyFileBrowser.d.ts +0 -13
  126. package/dist/types/src/SystemFolder/SystemResources/File/ClassicyFileBrowser.d.ts.map +0 -1
  127. package/dist/types/src/SystemFolder/SystemResources/File/ClassicyFileBrowserUtils.d.ts +0 -7
  128. package/dist/types/src/SystemFolder/SystemResources/File/ClassicyFileBrowserUtils.d.ts.map +0 -1
  129. package/dist/types/src/SystemFolder/SystemResources/File/ClassicyFileBrowserViewIcons.d.ts +0 -12
  130. package/dist/types/src/SystemFolder/SystemResources/File/ClassicyFileBrowserViewIcons.d.ts.map +0 -1
  131. package/dist/types/src/SystemFolder/SystemResources/File/ClassicyFileBrowserViewTable.d.ts +0 -14
  132. package/dist/types/src/SystemFolder/SystemResources/File/ClassicyFileBrowserViewTable.d.ts.map +0 -1
  133. package/dist/types/src/SystemFolder/SystemResources/File/ClassicyFileSystem.d.ts +0 -29
  134. package/dist/types/src/SystemFolder/SystemResources/File/ClassicyFileSystem.d.ts.map +0 -1
  135. package/dist/types/src/SystemFolder/SystemResources/File/ClassicyFileSystemModel.d.ts +0 -37
  136. package/dist/types/src/SystemFolder/SystemResources/File/ClassicyFileSystemModel.d.ts.map +0 -1
  137. package/dist/types/src/SystemFolder/SystemResources/File/DefaultClassicyFileSystem.d.ts +0 -94
  138. package/dist/types/src/SystemFolder/SystemResources/File/DefaultClassicyFileSystem.d.ts.map +0 -1
  139. package/dist/types/src/SystemFolder/SystemResources/Icon/ClassicyIcon.d.ts +0 -14
  140. package/dist/types/src/SystemFolder/SystemResources/Icon/ClassicyIcon.d.ts.map +0 -1
  141. package/dist/types/src/SystemFolder/SystemResources/Input/ClassicyInput.d.ts +0 -15
  142. package/dist/types/src/SystemFolder/SystemResources/Input/ClassicyInput.d.ts.map +0 -1
  143. package/dist/types/src/SystemFolder/SystemResources/Menu/ClassicyMenu.d.ts +0 -29
  144. package/dist/types/src/SystemFolder/SystemResources/Menu/ClassicyMenu.d.ts.map +0 -1
  145. package/dist/types/src/SystemFolder/SystemResources/PopUpMenu/ClassicyPopUpMenu.d.ts +0 -18
  146. package/dist/types/src/SystemFolder/SystemResources/PopUpMenu/ClassicyPopUpMenu.d.ts.map +0 -1
  147. package/dist/types/src/SystemFolder/SystemResources/ProgressBar/ClassicyProgressBar.d.ts +0 -1
  148. package/dist/types/src/SystemFolder/SystemResources/ProgressBar/ClassicyProgressBar.d.ts.map +0 -1
  149. package/dist/types/src/SystemFolder/SystemResources/QuickTime/QuickTimeMovieEmbed.d.ts +0 -16
  150. package/dist/types/src/SystemFolder/SystemResources/QuickTime/QuickTimeMovieEmbed.d.ts.map +0 -1
  151. package/dist/types/src/SystemFolder/SystemResources/QuickTime/QuickTimeUtils.d.ts +0 -3
  152. package/dist/types/src/SystemFolder/SystemResources/QuickTime/QuickTimeUtils.d.ts.map +0 -1
  153. package/dist/types/src/SystemFolder/SystemResources/RadioInput/ClassicyRadioInput.d.ts +0 -20
  154. package/dist/types/src/SystemFolder/SystemResources/RadioInput/ClassicyRadioInput.d.ts.map +0 -1
  155. package/dist/types/src/SystemFolder/SystemResources/RichTextEditor/ClassicyRichTextEditor.d.ts +0 -9
  156. package/dist/types/src/SystemFolder/SystemResources/RichTextEditor/ClassicyRichTextEditor.d.ts.map +0 -1
  157. package/dist/types/src/SystemFolder/SystemResources/Tabs/ClassicyTabs.d.ts +0 -11
  158. package/dist/types/src/SystemFolder/SystemResources/Tabs/ClassicyTabs.d.ts.map +0 -1
  159. package/dist/types/src/SystemFolder/SystemResources/TextEditor/ClassicyTextEditor.d.ts +0 -1
  160. package/dist/types/src/SystemFolder/SystemResources/TextEditor/ClassicyTextEditor.d.ts.map +0 -1
  161. package/dist/types/src/SystemFolder/SystemResources/TimePicker/ClassicyTimePicker.d.ts +0 -15
  162. package/dist/types/src/SystemFolder/SystemResources/TimePicker/ClassicyTimePicker.d.ts.map +0 -1
  163. package/dist/types/src/SystemFolder/SystemResources/Window/ClassicyWindow.d.ts +0 -29
  164. package/dist/types/src/SystemFolder/SystemResources/Window/ClassicyWindow.d.ts.map +0 -1
  165. package/dist/types/src/SystemFolder/SystemResources/Window/ClassicyWindowContext.d.ts +0 -19
  166. package/dist/types/src/SystemFolder/SystemResources/Window/ClassicyWindowContext.d.ts.map +0 -1
  167. package/dist/types/src/index.d.ts +0 -58
  168. package/dist/types/src/index.d.ts.map +0 -1
  169. package/dist/types/vite.config.d.ts +0 -3
  170. package/dist/types/vite.config.d.ts.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"mixin-CkMUTfmX.js","sources":["../node_modules/custom-media-element/dist/custom-media-element.js","../node_modules/media-tracks/dist/change-event.js","../node_modules/media-tracks/dist/utils.js","../node_modules/media-tracks/dist/video-track-list.js","../node_modules/media-tracks/dist/rendition-event.js","../node_modules/media-tracks/dist/video-rendition-list.js","../node_modules/media-tracks/dist/video-rendition.js","../node_modules/media-tracks/dist/video-track.js","../node_modules/media-tracks/dist/audio-rendition-list.js","../node_modules/media-tracks/dist/audio-rendition.js","../node_modules/media-tracks/dist/audio-track-list.js","../node_modules/media-tracks/dist/audio-track.js","../node_modules/media-tracks/dist/mixin.js"],"sourcesContent":["const Events = [\n \"abort\",\n \"canplay\",\n \"canplaythrough\",\n \"durationchange\",\n \"emptied\",\n \"encrypted\",\n \"ended\",\n \"error\",\n \"loadeddata\",\n \"loadedmetadata\",\n \"loadstart\",\n \"pause\",\n \"play\",\n \"playing\",\n \"progress\",\n \"ratechange\",\n \"seeked\",\n \"seeking\",\n \"stalled\",\n \"suspend\",\n \"timeupdate\",\n \"volumechange\",\n \"waiting\",\n \"waitingforkey\",\n \"resize\",\n \"enterpictureinpicture\",\n \"leavepictureinpicture\",\n \"webkitbeginfullscreen\",\n \"webkitendfullscreen\",\n \"webkitpresentationmodechanged\"\n];\nconst Attributes = [\n \"autopictureinpicture\",\n \"disablepictureinpicture\",\n \"disableremoteplayback\",\n \"autoplay\",\n \"controls\",\n \"controlslist\",\n \"crossorigin\",\n \"loop\",\n \"muted\",\n \"playsinline\",\n \"poster\",\n \"preload\",\n \"src\"\n];\nfunction getAudioTemplateHTML(attrs) {\n return (\n /*html*/\n `\n <style>\n :host {\n display: inline-flex;\n line-height: 0;\n flex-direction: column;\n justify-content: end;\n }\n\n audio {\n width: 100%;\n }\n </style>\n <slot name=\"media\">\n <audio${serializeAttributes(attrs)}></audio>\n </slot>\n <slot></slot>\n `\n );\n}\nfunction getVideoTemplateHTML(attrs) {\n return (\n /*html*/\n `\n <style>\n :host {\n display: inline-block;\n line-height: 0;\n }\n\n video {\n max-width: 100%;\n max-height: 100%;\n min-width: 100%;\n min-height: 100%;\n object-fit: var(--media-object-fit, contain);\n object-position: var(--media-object-position, 50% 50%);\n }\n\n video::-webkit-media-text-track-container {\n transform: var(--media-webkit-text-track-transform);\n transition: var(--media-webkit-text-track-transition);\n }\n </style>\n <slot name=\"media\">\n <video${serializeAttributes(attrs)}></video>\n </slot>\n <slot></slot>\n `\n );\n}\nfunction CustomMediaMixin(superclass, { tag, is }) {\n const nativeElTest = globalThis.document?.createElement?.(tag, { is });\n const nativeElProps = nativeElTest ? getNativeElProps(nativeElTest) : [];\n return class CustomMedia extends superclass {\n static getTemplateHTML = tag.endsWith(\"audio\") ? getAudioTemplateHTML : getVideoTemplateHTML;\n static shadowRootOptions = { mode: \"open\" };\n static Events = Events;\n static #isDefined = false;\n static get observedAttributes() {\n CustomMedia.#define();\n const natAttrs = nativeElTest?.constructor?.observedAttributes ?? [];\n return [\n ...natAttrs,\n ...Attributes\n ];\n }\n static #define() {\n if (this.#isDefined) return;\n this.#isDefined = true;\n const propsToAttrs = new Set(this.observedAttributes);\n propsToAttrs.delete(\"muted\");\n for (const prop of nativeElProps) {\n if (prop in this.prototype) continue;\n if (typeof nativeElTest[prop] === \"function\") {\n this.prototype[prop] = function(...args) {\n this.#init();\n const fn = () => {\n if (this.call) return this.call(prop, ...args);\n const nativeFn = this.nativeEl?.[prop];\n return nativeFn?.apply(this.nativeEl, args);\n };\n return fn();\n };\n } else {\n const config = {\n get() {\n this.#init();\n const attr = prop.toLowerCase();\n if (propsToAttrs.has(attr)) {\n const val = this.getAttribute(attr);\n return val === null ? false : val === \"\" ? true : val;\n }\n return this.get?.(prop) ?? this.nativeEl?.[prop];\n }\n };\n if (prop !== prop.toUpperCase()) {\n config.set = function(val) {\n this.#init();\n const attr = prop.toLowerCase();\n if (propsToAttrs.has(attr)) {\n if (val === true || val === false || val == null) {\n this.toggleAttribute(attr, Boolean(val));\n } else {\n this.setAttribute(attr, val);\n }\n return;\n }\n if (this.set) {\n this.set(prop, val);\n return;\n }\n if (this.nativeEl) {\n this.nativeEl[prop] = val;\n }\n };\n }\n Object.defineProperty(this.prototype, prop, config);\n }\n }\n }\n // Private fields\n #isInit = false;\n #nativeEl = null;\n #childMap = /* @__PURE__ */ new Map();\n #childObserver;\n get;\n set;\n call;\n // If the custom element is defined before the custom element's HTML is parsed\n // no attributes will be available in the constructor (construction process).\n // Wait until initializing in the attributeChangedCallback or\n // connectedCallback or accessing any properties.\n get nativeEl() {\n this.#init();\n return this.#nativeEl ?? this.querySelector(\":scope > [slot=media]\") ?? this.querySelector(tag) ?? this.shadowRoot?.querySelector(tag) ?? null;\n }\n set nativeEl(val) {\n this.#nativeEl = val;\n }\n get defaultMuted() {\n return this.hasAttribute(\"muted\");\n }\n set defaultMuted(val) {\n this.toggleAttribute(\"muted\", val);\n }\n get src() {\n return this.getAttribute(\"src\");\n }\n set src(val) {\n this.setAttribute(\"src\", `${val}`);\n }\n get preload() {\n return this.getAttribute(\"preload\") ?? this.nativeEl?.preload;\n }\n set preload(val) {\n this.setAttribute(\"preload\", `${val}`);\n }\n #init() {\n if (this.#isInit) return;\n this.#isInit = true;\n this.init();\n }\n init() {\n if (!this.shadowRoot) {\n this.attachShadow({ mode: \"open\" });\n const attrs = namedNodeMapToObject(this.attributes);\n if (is) attrs.is = is;\n if (tag) attrs.part = tag;\n this.shadowRoot.innerHTML = this.constructor.getTemplateHTML(attrs);\n }\n this.nativeEl.muted = this.hasAttribute(\"muted\");\n for (const prop of nativeElProps) {\n this.#upgradeProperty(prop);\n }\n this.#childObserver = new MutationObserver(this.#syncMediaChildAttribute.bind(this));\n this.shadowRoot.addEventListener(\"slotchange\", () => this.#syncMediaChildren());\n this.#syncMediaChildren();\n for (const type of this.constructor.Events) {\n this.shadowRoot.addEventListener(type, this, true);\n }\n }\n handleEvent(event) {\n if (event.target === this.nativeEl) {\n this.dispatchEvent(new CustomEvent(event.type, { detail: event.detail }));\n }\n }\n #syncMediaChildren() {\n const removeNativeChildren = new Map(this.#childMap);\n const defaultSlot = this.shadowRoot?.querySelector(\"slot:not([name])\");\n const mediaChildren = defaultSlot?.assignedElements({ flatten: true }).filter((el) => [\"track\", \"source\"].includes(el.localName));\n mediaChildren.forEach((el) => {\n removeNativeChildren.delete(el);\n let clone = this.#childMap.get(el);\n if (!clone) {\n clone = el.cloneNode();\n this.#childMap.set(el, clone);\n this.#childObserver?.observe(el, { attributes: true });\n }\n this.nativeEl?.append(clone);\n this.#enableDefaultTrack(clone);\n });\n removeNativeChildren.forEach((clone, el) => {\n clone.remove();\n this.#childMap.delete(el);\n });\n }\n #syncMediaChildAttribute(mutations) {\n for (const mutation of mutations) {\n if (mutation.type === \"attributes\") {\n const { target, attributeName } = mutation;\n const clone = this.#childMap.get(target);\n if (clone && attributeName) {\n clone.setAttribute(attributeName, target.getAttribute(attributeName) ?? \"\");\n this.#enableDefaultTrack(clone);\n }\n }\n }\n }\n #enableDefaultTrack(trackEl) {\n if (trackEl && trackEl.localName === \"track\" && trackEl.default && (trackEl.kind === \"chapters\" || trackEl.kind === \"metadata\") && trackEl.track.mode === \"disabled\") {\n trackEl.track.mode = \"hidden\";\n }\n }\n #upgradeProperty(prop) {\n if (Object.prototype.hasOwnProperty.call(this, prop)) {\n const value = this[prop];\n delete this[prop];\n this[prop] = value;\n }\n }\n attributeChangedCallback(attrName, oldValue, newValue) {\n this.#init();\n this.#forwardAttribute(attrName, oldValue, newValue);\n }\n #forwardAttribute(attrName, _oldValue, newValue) {\n if ([\"id\", \"class\"].includes(attrName)) return;\n if (!CustomMedia.observedAttributes.includes(attrName) && this.constructor.observedAttributes.includes(attrName)) {\n return;\n }\n if (newValue === null) {\n this.nativeEl?.removeAttribute(attrName);\n } else if (this.nativeEl?.getAttribute(attrName) !== newValue) {\n this.nativeEl?.setAttribute(attrName, newValue);\n }\n }\n connectedCallback() {\n this.#init();\n }\n };\n}\nfunction getNativeElProps(nativeElTest) {\n const nativeElProps = [];\n for (let proto = Object.getPrototypeOf(nativeElTest); proto && proto !== HTMLElement.prototype; proto = Object.getPrototypeOf(proto)) {\n const props = Object.getOwnPropertyNames(proto);\n nativeElProps.push(...props);\n }\n return nativeElProps;\n}\nfunction serializeAttributes(attrs) {\n let html = \"\";\n for (const key in attrs) {\n if (!Attributes.includes(key)) continue;\n const value = attrs[key];\n if (value === \"\") html += ` ${key}`;\n else html += ` ${key}=\"${value}\"`;\n }\n return html;\n}\nfunction namedNodeMapToObject(namedNodeMap) {\n const obj = {};\n for (const attr of namedNodeMap) {\n obj[attr.name] = attr.value;\n }\n return obj;\n}\nconst CustomVideoElement = CustomMediaMixin(globalThis.HTMLElement ?? class {\n}, {\n tag: \"video\"\n});\nconst CustomAudioElement = CustomMediaMixin(globalThis.HTMLElement ?? class {\n}, {\n tag: \"audio\"\n});\nexport {\n Attributes,\n CustomAudioElement,\n CustomMediaMixin,\n CustomVideoElement,\n Events\n};\n","class TrackEvent extends Event {\n track;\n constructor(type, init) {\n super(type);\n this.track = init.track;\n }\n}\nexport {\n TrackEvent\n};\n","const privateProps = /* @__PURE__ */ new WeakMap();\nfunction getPrivate(instance) {\n return privateProps.get(instance) ?? setPrivate(instance, {});\n}\nfunction setPrivate(instance, props) {\n let saved = privateProps.get(instance);\n if (!saved) privateProps.set(instance, saved = {});\n return Object.assign(saved, props);\n}\nexport {\n getPrivate,\n setPrivate\n};\n","import { TrackEvent } from \"./change-event.js\";\nimport { getPrivate } from \"./utils.js\";\nfunction addVideoTrack(media, track) {\n const trackList = media.videoTracks;\n getPrivate(track).media = media;\n if (!getPrivate(track).renditionSet) {\n getPrivate(track).renditionSet = /* @__PURE__ */ new Set();\n }\n const trackSet = getPrivate(trackList).trackSet;\n trackSet.add(track);\n const index = trackSet.size - 1;\n if (!(index in VideoTrackList.prototype)) {\n Object.defineProperty(VideoTrackList.prototype, index, {\n get() {\n return [...getPrivate(this).trackSet][index];\n }\n });\n }\n queueMicrotask(() => {\n trackList.dispatchEvent(new TrackEvent(\"addtrack\", { track }));\n });\n}\nfunction removeVideoTrack(track) {\n const trackList = getPrivate(track).media?.videoTracks;\n if (!trackList) return;\n const trackSet = getPrivate(trackList).trackSet;\n trackSet.delete(track);\n queueMicrotask(() => {\n trackList.dispatchEvent(new TrackEvent(\"removetrack\", { track }));\n });\n}\nfunction selectedChanged(selected) {\n const trackList = getPrivate(selected).media.videoTracks ?? [];\n let hasUnselected = false;\n for (const track of trackList) {\n if (track === selected) continue;\n track.selected = false;\n hasUnselected = true;\n }\n if (hasUnselected) {\n if (getPrivate(trackList).changeRequested) return;\n getPrivate(trackList).changeRequested = true;\n queueMicrotask(() => {\n delete getPrivate(trackList).changeRequested;\n trackList.dispatchEvent(new Event(\"change\"));\n });\n }\n}\nclass VideoTrackList extends EventTarget {\n #addTrackCallback;\n #removeTrackCallback;\n #changeCallback;\n constructor() {\n super();\n getPrivate(this).trackSet = /* @__PURE__ */ new Set();\n }\n get #tracks() {\n return getPrivate(this).trackSet;\n }\n [Symbol.iterator]() {\n return this.#tracks.values();\n }\n get length() {\n return this.#tracks.size;\n }\n getTrackById(id) {\n return [...this.#tracks].find((track) => track.id === id) ?? null;\n }\n get selectedIndex() {\n return [...this.#tracks].findIndex((track) => track.selected);\n }\n get onaddtrack() {\n return this.#addTrackCallback;\n }\n set onaddtrack(callback) {\n if (this.#addTrackCallback) {\n this.removeEventListener(\"addtrack\", this.#addTrackCallback);\n this.#addTrackCallback = void 0;\n }\n if (typeof callback == \"function\") {\n this.#addTrackCallback = callback;\n this.addEventListener(\"addtrack\", callback);\n }\n }\n get onremovetrack() {\n return this.#removeTrackCallback;\n }\n set onremovetrack(callback) {\n if (this.#removeTrackCallback) {\n this.removeEventListener(\"removetrack\", this.#removeTrackCallback);\n this.#removeTrackCallback = void 0;\n }\n if (typeof callback == \"function\") {\n this.#removeTrackCallback = callback;\n this.addEventListener(\"removetrack\", callback);\n }\n }\n get onchange() {\n return this.#changeCallback;\n }\n set onchange(callback) {\n if (this.#changeCallback) {\n this.removeEventListener(\"change\", this.#changeCallback);\n this.#changeCallback = void 0;\n }\n if (typeof callback == \"function\") {\n this.#changeCallback = callback;\n this.addEventListener(\"change\", callback);\n }\n }\n}\nexport {\n VideoTrackList,\n addVideoTrack,\n removeVideoTrack,\n selectedChanged\n};\n","class RenditionEvent extends Event {\n rendition;\n constructor(type, init) {\n super(type);\n this.rendition = init.rendition;\n }\n}\nexport {\n RenditionEvent\n};\n","import { RenditionEvent } from \"./rendition-event.js\";\nimport { getPrivate } from \"./utils.js\";\nfunction addRendition(track, rendition) {\n const renditionList = getPrivate(track).media.videoRenditions;\n getPrivate(rendition).media = getPrivate(track).media;\n getPrivate(rendition).track = track;\n const renditionSet = getPrivate(track).renditionSet;\n renditionSet.add(rendition);\n const index = renditionSet.size - 1;\n if (!(index in VideoRenditionList.prototype)) {\n Object.defineProperty(VideoRenditionList.prototype, index, {\n get() {\n return getCurrentRenditions(this)[index];\n }\n });\n }\n queueMicrotask(() => {\n if (!track.selected) return;\n renditionList.dispatchEvent(new RenditionEvent(\"addrendition\", { rendition }));\n });\n}\nfunction removeRendition(rendition) {\n const renditionList = getPrivate(rendition).media.videoRenditions;\n const track = getPrivate(rendition).track;\n const renditionSet = getPrivate(track).renditionSet;\n renditionSet.delete(rendition);\n queueMicrotask(() => {\n const track2 = getPrivate(rendition).track;\n if (!track2.selected) return;\n renditionList.dispatchEvent(new RenditionEvent(\"removerendition\", { rendition }));\n });\n}\nfunction selectedChanged(rendition) {\n const renditionList = getPrivate(rendition).media.videoRenditions;\n if (!renditionList || getPrivate(renditionList).changeRequested) return;\n getPrivate(renditionList).changeRequested = true;\n queueMicrotask(() => {\n delete getPrivate(renditionList).changeRequested;\n const track = getPrivate(rendition).track;\n if (!track.selected) return;\n renditionList.dispatchEvent(new Event(\"change\"));\n });\n}\nfunction getCurrentRenditions(renditionList) {\n const media = getPrivate(renditionList).media;\n return [...media.videoTracks].filter((track) => track.selected).flatMap((track) => [...getPrivate(track).renditionSet]);\n}\nclass VideoRenditionList extends EventTarget {\n #addRenditionCallback;\n #removeRenditionCallback;\n #changeCallback;\n [Symbol.iterator]() {\n return getCurrentRenditions(this).values();\n }\n get length() {\n return getCurrentRenditions(this).length;\n }\n getRenditionById(id) {\n return getCurrentRenditions(this).find((rendition) => `${rendition.id}` === `${id}`) ?? null;\n }\n get selectedIndex() {\n return getCurrentRenditions(this).findIndex((rendition) => rendition.selected);\n }\n set selectedIndex(index) {\n for (const [i, rendition] of getCurrentRenditions(this).entries()) {\n rendition.selected = i === index;\n }\n }\n get onaddrendition() {\n return this.#addRenditionCallback;\n }\n set onaddrendition(callback) {\n if (this.#addRenditionCallback) {\n this.removeEventListener(\"addrendition\", this.#addRenditionCallback);\n this.#addRenditionCallback = void 0;\n }\n if (typeof callback == \"function\") {\n this.#addRenditionCallback = callback;\n this.addEventListener(\"addrendition\", callback);\n }\n }\n get onremoverendition() {\n return this.#removeRenditionCallback;\n }\n set onremoverendition(callback) {\n if (this.#removeRenditionCallback) {\n this.removeEventListener(\"removerendition\", this.#removeRenditionCallback);\n this.#removeRenditionCallback = void 0;\n }\n if (typeof callback == \"function\") {\n this.#removeRenditionCallback = callback;\n this.addEventListener(\"removerendition\", callback);\n }\n }\n get onchange() {\n return this.#changeCallback;\n }\n set onchange(callback) {\n if (this.#changeCallback) {\n this.removeEventListener(\"change\", this.#changeCallback);\n this.#changeCallback = void 0;\n }\n if (typeof callback == \"function\") {\n this.#changeCallback = callback;\n this.addEventListener(\"change\", callback);\n }\n }\n}\nexport {\n VideoRenditionList,\n addRendition,\n removeRendition,\n selectedChanged\n};\n","import { selectedChanged } from \"./video-rendition-list.js\";\nclass VideoRendition {\n src;\n id;\n width;\n height;\n bitrate;\n frameRate;\n codec;\n #selected = false;\n get selected() {\n return this.#selected;\n }\n set selected(val) {\n if (this.#selected === val) return;\n this.#selected = val;\n selectedChanged(this);\n }\n}\nexport {\n VideoRendition\n};\n","import { selectedChanged } from \"./video-track-list.js\";\nimport { VideoRendition } from \"./video-rendition.js\";\nimport { addRendition, removeRendition } from \"./video-rendition-list.js\";\nconst VideoTrackKind = {\n alternative: \"alternative\",\n captions: \"captions\",\n main: \"main\",\n sign: \"sign\",\n subtitles: \"subtitles\",\n commentary: \"commentary\"\n};\nclass VideoTrack {\n id;\n kind;\n label = \"\";\n language = \"\";\n sourceBuffer;\n #selected = false;\n addRendition(src, width, height, codec, bitrate, frameRate) {\n const rendition = new VideoRendition();\n rendition.src = src;\n rendition.width = width;\n rendition.height = height;\n rendition.frameRate = frameRate;\n rendition.bitrate = bitrate;\n rendition.codec = codec;\n addRendition(this, rendition);\n return rendition;\n }\n removeRendition(rendition) {\n removeRendition(rendition);\n }\n get selected() {\n return this.#selected;\n }\n set selected(val) {\n if (this.#selected === val) return;\n this.#selected = val;\n if (val !== true) return;\n selectedChanged(this);\n }\n}\nexport {\n VideoTrack,\n VideoTrackKind\n};\n","import { RenditionEvent } from \"./rendition-event.js\";\nimport { getPrivate } from \"./utils.js\";\nfunction addRendition(track, rendition) {\n const renditionList = getPrivate(track).media.audioRenditions;\n getPrivate(rendition).media = getPrivate(track).media;\n getPrivate(rendition).track = track;\n const renditionSet = getPrivate(track).renditionSet;\n renditionSet.add(rendition);\n const index = renditionSet.size - 1;\n if (!(index in AudioRenditionList.prototype)) {\n Object.defineProperty(AudioRenditionList.prototype, index, {\n get() {\n return getCurrentRenditions(this)[index];\n }\n });\n }\n queueMicrotask(() => {\n if (!track.enabled) return;\n renditionList.dispatchEvent(new RenditionEvent(\"addrendition\", { rendition }));\n });\n}\nfunction removeRendition(rendition) {\n const renditionList = getPrivate(rendition).media.audioRenditions;\n const track = getPrivate(rendition).track;\n const renditionSet = getPrivate(track).renditionSet;\n renditionSet.delete(rendition);\n queueMicrotask(() => {\n const track2 = getPrivate(rendition).track;\n if (!track2.enabled) return;\n renditionList.dispatchEvent(new RenditionEvent(\"removerendition\", { rendition }));\n });\n}\nfunction selectedChanged(rendition) {\n const renditionList = getPrivate(rendition).media.audioRenditions;\n if (!renditionList || getPrivate(renditionList).changeRequested) return;\n getPrivate(renditionList).changeRequested = true;\n queueMicrotask(() => {\n delete getPrivate(renditionList).changeRequested;\n const track = getPrivate(rendition).track;\n if (!track.enabled) return;\n renditionList.dispatchEvent(new Event(\"change\"));\n });\n}\nfunction getCurrentRenditions(renditionList) {\n const media = getPrivate(renditionList).media;\n return [...media.audioTracks].filter((track) => track.enabled).flatMap((track) => [...getPrivate(track).renditionSet]);\n}\nclass AudioRenditionList extends EventTarget {\n #addRenditionCallback;\n #removeRenditionCallback;\n #changeCallback;\n [Symbol.iterator]() {\n return getCurrentRenditions(this).values();\n }\n get length() {\n return getCurrentRenditions(this).length;\n }\n getRenditionById(id) {\n return getCurrentRenditions(this).find((rendition) => `${rendition.id}` === `${id}`) ?? null;\n }\n get selectedIndex() {\n return getCurrentRenditions(this).findIndex((rendition) => rendition.selected);\n }\n set selectedIndex(index) {\n for (const [i, rendition] of getCurrentRenditions(this).entries()) {\n rendition.selected = i === index;\n }\n }\n get onaddrendition() {\n return this.#addRenditionCallback;\n }\n set onaddrendition(callback) {\n if (this.#addRenditionCallback) {\n this.removeEventListener(\"addrendition\", this.#addRenditionCallback);\n this.#addRenditionCallback = void 0;\n }\n if (typeof callback == \"function\") {\n this.#addRenditionCallback = callback;\n this.addEventListener(\"addrendition\", callback);\n }\n }\n get onremoverendition() {\n return this.#removeRenditionCallback;\n }\n set onremoverendition(callback) {\n if (this.#removeRenditionCallback) {\n this.removeEventListener(\"removerendition\", this.#removeRenditionCallback);\n this.#removeRenditionCallback = void 0;\n }\n if (typeof callback == \"function\") {\n this.#removeRenditionCallback = callback;\n this.addEventListener(\"removerendition\", callback);\n }\n }\n get onchange() {\n return this.#changeCallback;\n }\n set onchange(callback) {\n if (this.#changeCallback) {\n this.removeEventListener(\"change\", this.#changeCallback);\n this.#changeCallback = void 0;\n }\n if (typeof callback == \"function\") {\n this.#changeCallback = callback;\n this.addEventListener(\"change\", callback);\n }\n }\n}\nexport {\n AudioRenditionList,\n addRendition,\n removeRendition,\n selectedChanged\n};\n","import { selectedChanged } from \"./audio-rendition-list.js\";\nclass AudioRendition {\n src;\n id;\n bitrate;\n codec;\n #selected = false;\n get selected() {\n return this.#selected;\n }\n set selected(val) {\n if (this.#selected === val) return;\n this.#selected = val;\n selectedChanged(this);\n }\n}\nexport {\n AudioRendition\n};\n","import { TrackEvent } from \"./change-event.js\";\nimport { getPrivate } from \"./utils.js\";\nfunction addAudioTrack(media, track) {\n const trackList = media.audioTracks;\n getPrivate(track).media = media;\n if (!getPrivate(track).renditionSet) {\n getPrivate(track).renditionSet = /* @__PURE__ */ new Set();\n }\n const trackSet = getPrivate(trackList).trackSet;\n trackSet.add(track);\n const index = trackSet.size - 1;\n if (!(index in AudioTrackList.prototype)) {\n Object.defineProperty(AudioTrackList.prototype, index, {\n get() {\n return [...getPrivate(this).trackSet][index];\n }\n });\n }\n queueMicrotask(() => {\n trackList.dispatchEvent(new TrackEvent(\"addtrack\", { track }));\n });\n}\nfunction removeAudioTrack(track) {\n const trackList = getPrivate(track).media?.audioTracks;\n if (!trackList) return;\n const trackSet = getPrivate(trackList).trackSet;\n trackSet.delete(track);\n queueMicrotask(() => {\n trackList.dispatchEvent(new TrackEvent(\"removetrack\", { track }));\n });\n}\nfunction enabledChanged(track) {\n const trackList = getPrivate(track).media.audioTracks;\n if (!trackList || getPrivate(trackList).changeRequested) return;\n getPrivate(trackList).changeRequested = true;\n queueMicrotask(() => {\n delete getPrivate(trackList).changeRequested;\n trackList.dispatchEvent(new Event(\"change\"));\n });\n}\nclass AudioTrackList extends EventTarget {\n #addTrackCallback;\n #removeTrackCallback;\n #changeCallback;\n constructor() {\n super();\n getPrivate(this).trackSet = /* @__PURE__ */ new Set();\n }\n get #tracks() {\n return getPrivate(this).trackSet;\n }\n [Symbol.iterator]() {\n return this.#tracks.values();\n }\n get length() {\n return this.#tracks.size;\n }\n getTrackById(id) {\n return [...this.#tracks].find((track) => track.id === id) ?? null;\n }\n get onaddtrack() {\n return this.#addTrackCallback;\n }\n set onaddtrack(callback) {\n if (this.#addTrackCallback) {\n this.removeEventListener(\"addtrack\", this.#addTrackCallback);\n this.#addTrackCallback = void 0;\n }\n if (typeof callback == \"function\") {\n this.#addTrackCallback = callback;\n this.addEventListener(\"addtrack\", callback);\n }\n }\n get onremovetrack() {\n return this.#removeTrackCallback;\n }\n set onremovetrack(callback) {\n if (this.#removeTrackCallback) {\n this.removeEventListener(\"removetrack\", this.#removeTrackCallback);\n this.#removeTrackCallback = void 0;\n }\n if (typeof callback == \"function\") {\n this.#removeTrackCallback = callback;\n this.addEventListener(\"removetrack\", callback);\n }\n }\n get onchange() {\n return this.#changeCallback;\n }\n set onchange(callback) {\n if (this.#changeCallback) {\n this.removeEventListener(\"change\", this.#changeCallback);\n this.#changeCallback = void 0;\n }\n if (typeof callback == \"function\") {\n this.#changeCallback = callback;\n this.addEventListener(\"change\", callback);\n }\n }\n}\nexport {\n AudioTrackList,\n addAudioTrack,\n enabledChanged,\n removeAudioTrack\n};\n","import { AudioRendition } from \"./audio-rendition.js\";\nimport { enabledChanged } from \"./audio-track-list.js\";\nimport { addRendition, removeRendition } from \"./audio-rendition-list.js\";\nconst AudioTrackKind = {\n alternative: \"alternative\",\n descriptions: \"descriptions\",\n main: \"main\",\n \"main-desc\": \"main-desc\",\n translation: \"translation\",\n commentary: \"commentary\"\n};\nclass AudioTrack {\n id;\n kind;\n label = \"\";\n language = \"\";\n sourceBuffer;\n #enabled = false;\n addRendition(src, codec, bitrate) {\n const rendition = new AudioRendition();\n rendition.src = src;\n rendition.codec = codec;\n rendition.bitrate = bitrate;\n addRendition(this, rendition);\n return rendition;\n }\n removeRendition(rendition) {\n removeRendition(rendition);\n }\n get enabled() {\n return this.#enabled;\n }\n set enabled(val) {\n if (this.#enabled === val) return;\n this.#enabled = val;\n enabledChanged(this);\n }\n}\nexport {\n AudioTrack,\n AudioTrackKind\n};\n","import { VideoTrack } from \"./video-track.js\";\nimport { VideoTrackList, addVideoTrack, removeVideoTrack } from \"./video-track-list.js\";\nimport { AudioTrack } from \"./audio-track.js\";\nimport { AudioTrackList, addAudioTrack, removeAudioTrack } from \"./audio-track-list.js\";\nimport { VideoRenditionList } from \"./video-rendition-list.js\";\nimport { AudioRenditionList } from \"./audio-rendition-list.js\";\nimport { getPrivate } from \"./utils.js\";\nconst nativeVideoTracksFn = getBaseMediaTracksFn(globalThis.HTMLMediaElement, \"video\");\nconst nativeAudioTracksFn = getBaseMediaTracksFn(globalThis.HTMLMediaElement, \"audio\");\nfunction MediaTracksMixin(MediaElementClass) {\n if (!MediaElementClass?.prototype) return MediaElementClass;\n const videoTracksFn = getBaseMediaTracksFn(MediaElementClass, \"video\");\n if (!videoTracksFn || `${videoTracksFn}`.includes(\"[native code]\")) {\n Object.defineProperty(MediaElementClass.prototype, \"videoTracks\", {\n get() {\n return getVideoTracks(this);\n }\n });\n }\n const audioTracksFn = getBaseMediaTracksFn(MediaElementClass, \"audio\");\n if (!audioTracksFn || `${audioTracksFn}`.includes(\"[native code]\")) {\n Object.defineProperty(MediaElementClass.prototype, \"audioTracks\", {\n get() {\n return getAudioTracks(this);\n }\n });\n }\n if (!(\"addVideoTrack\" in MediaElementClass.prototype)) {\n MediaElementClass.prototype.addVideoTrack = function(kind, label = \"\", language = \"\") {\n const track = new VideoTrack();\n track.kind = kind;\n track.label = label;\n track.language = language;\n addVideoTrack(this, track);\n return track;\n };\n }\n if (!(\"removeVideoTrack\" in MediaElementClass.prototype)) {\n MediaElementClass.prototype.removeVideoTrack = removeVideoTrack;\n }\n if (!(\"addAudioTrack\" in MediaElementClass.prototype)) {\n MediaElementClass.prototype.addAudioTrack = function(kind, label = \"\", language = \"\") {\n const track = new AudioTrack();\n track.kind = kind;\n track.label = label;\n track.language = language;\n addAudioTrack(this, track);\n return track;\n };\n }\n if (!(\"removeAudioTrack\" in MediaElementClass.prototype)) {\n MediaElementClass.prototype.removeAudioTrack = removeAudioTrack;\n }\n if (!(\"videoRenditions\" in MediaElementClass.prototype)) {\n Object.defineProperty(MediaElementClass.prototype, \"videoRenditions\", {\n get() {\n return initVideoRenditions(this);\n }\n });\n }\n const initVideoRenditions = (media) => {\n let renditions = getPrivate(media).videoRenditions;\n if (!renditions) {\n renditions = new VideoRenditionList();\n getPrivate(renditions).media = media;\n getPrivate(media).videoRenditions = renditions;\n }\n return renditions;\n };\n if (!(\"audioRenditions\" in MediaElementClass.prototype)) {\n Object.defineProperty(MediaElementClass.prototype, \"audioRenditions\", {\n get() {\n return initAudioRenditions(this);\n }\n });\n }\n const initAudioRenditions = (media) => {\n let renditions = getPrivate(media).audioRenditions;\n if (!renditions) {\n renditions = new AudioRenditionList();\n getPrivate(renditions).media = media;\n getPrivate(media).audioRenditions = renditions;\n }\n return renditions;\n };\n return MediaElementClass;\n}\nfunction getBaseMediaTracksFn(MediaElementClass, type) {\n if (MediaElementClass?.prototype) {\n return Object.getOwnPropertyDescriptor(MediaElementClass.prototype, `${type}Tracks`)?.get;\n }\n}\nfunction getVideoTracks(media) {\n let tracks = getPrivate(media).videoTracks;\n if (!tracks) {\n tracks = new VideoTrackList();\n getPrivate(media).videoTracks = tracks;\n if (nativeVideoTracksFn) {\n const nativeTracks = nativeVideoTracksFn.call(media.nativeEl ?? media);\n for (const nativeTrack of nativeTracks) {\n addVideoTrack(media, nativeTrack);\n }\n nativeTracks.addEventListener(\"change\", () => {\n tracks.dispatchEvent(new Event(\"change\"));\n });\n nativeTracks.addEventListener(\"addtrack\", (event) => {\n if ([...tracks].some((t) => t instanceof VideoTrack)) {\n for (const nativeTrack of nativeTracks) {\n removeVideoTrack(nativeTrack);\n }\n return;\n }\n addVideoTrack(media, event.track);\n });\n nativeTracks.addEventListener(\"removetrack\", (event) => {\n removeVideoTrack(event.track);\n });\n }\n }\n return tracks;\n}\nfunction getAudioTracks(media) {\n let tracks = getPrivate(media).audioTracks;\n if (!tracks) {\n tracks = new AudioTrackList();\n getPrivate(media).audioTracks = tracks;\n if (nativeAudioTracksFn) {\n const nativeTracks = nativeAudioTracksFn.call(media.nativeEl ?? media);\n for (const nativeTrack of nativeTracks) {\n addAudioTrack(media, nativeTrack);\n }\n nativeTracks.addEventListener(\"change\", () => {\n tracks.dispatchEvent(new Event(\"change\"));\n });\n nativeTracks.addEventListener(\"addtrack\", (event) => {\n if ([...tracks].some((t) => t instanceof AudioTrack)) {\n for (const nativeTrack of nativeTracks) {\n removeAudioTrack(nativeTrack);\n }\n return;\n }\n addAudioTrack(media, event.track);\n });\n nativeTracks.addEventListener(\"removetrack\", (event) => {\n removeAudioTrack(event.track);\n });\n }\n }\n return tracks;\n}\nexport {\n MediaTracksMixin\n};\n"],"names":["Events","Attributes","getAudioTemplateHTML","attrs","serializeAttributes","getVideoTemplateHTML","CustomMediaMixin","superclass","tag","is","nativeElTest","nativeElProps","getNativeElProps","CustomMedia","#isDefined","#define","propsToAttrs","prop","args","#init","config","attr","val","#isInit","#nativeEl","#childMap","#childObserver","namedNodeMapToObject","#upgradeProperty","#syncMediaChildAttribute","#syncMediaChildren","type","event","removeNativeChildren","el","clone","#enableDefaultTrack","mutations","mutation","target","attributeName","trackEl","value","attrName","oldValue","newValue","#forwardAttribute","_oldValue","proto","props","html","key","namedNodeMap","obj","CustomVideoElement","TrackEvent","init","privateProps","getPrivate","instance","setPrivate","saved","addVideoTrack","media","track","trackList","trackSet","index","VideoTrackList","removeVideoTrack","selectedChanged","selected","hasUnselected","#addTrackCallback","#removeTrackCallback","#changeCallback","#tracks","id","callback","RenditionEvent","addRendition","rendition","renditionList","renditionSet","VideoRenditionList","getCurrentRenditions","removeRendition","#addRenditionCallback","#removeRenditionCallback","VideoRendition","#selected","VideoTrack","src","width","height","codec","bitrate","frameRate","AudioRenditionList","AudioRendition","addAudioTrack","AudioTrackList","removeAudioTrack","enabledChanged","AudioTrack","#enabled","nativeVideoTracksFn","getBaseMediaTracksFn","nativeAudioTracksFn","MediaTracksMixin","MediaElementClass","videoTracksFn","getVideoTracks","audioTracksFn","getAudioTracks","kind","label","language","initVideoRenditions","renditions","initAudioRenditions","tracks","nativeTracks","nativeTrack","t"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12]}
@@ -1,357 +0,0 @@
1
- import H from "react";
2
- const D = "https://www.tiktok.com/player/v1", O = /tiktok\.com\/(?:player\/v1\/|share\/video\/|@[^/]+\/video\/)([0-9]+)/, d = { INIT: -1, ENDED: 0, PLAYING: 1, PAUSED: 2, BUFFERING: 3 }, x = {
3
- [d.INIT]: "emptied",
4
- [d.PAUSED]: "pause",
5
- [d.ENDED]: "ended",
6
- [d.PLAYING]: "play",
7
- [d.BUFFERING]: "waiting"
8
- };
9
- function N(o, t = {}) {
10
- const e = {
11
- src: S(o, t),
12
- frameborder: 0,
13
- width: "100%",
14
- height: "100%",
15
- allow: "accelerometer; autoplay; fullscreen; encrypted-media; gyroscope; picture-in-picture"
16
- };
17
- return t.config && (e["data-config"] = JSON.stringify(t.config)), /*html*/
18
- `
19
- <style>
20
- :host {
21
- display:inline-block;
22
- min-width: 300px;
23
- min-height: 150px;
24
- position: relative;
25
- }
26
- iframe {
27
- position:absolute;
28
- top:0;
29
- left:0;
30
- width:100%;
31
- height:100%;
32
- border:0;
33
- }
34
- </style>
35
- <iframe ${$(e)} title="TikTok video"></iframe>
36
- `;
37
- }
38
- function S(o, t = {}) {
39
- if (!o.src) return;
40
- const e = o.src.match(O), i = e && e[1], a = {
41
- controls: o.controls === "" ? null : 0,
42
- autoplay: o.autoplay,
43
- muted: o.muted,
44
- loop: o.loop,
45
- rel: 0,
46
- ...t.config
47
- };
48
- return `${D}/${i}?${W(a)}`;
49
- }
50
- class v extends (globalThis.HTMLElement ?? class {
51
- }) {
52
- static getTemplateHTML = N;
53
- static shadowRootOptions = { mode: "open" };
54
- static get observedAttributes() {
55
- return ["src", "controls", "loop", "autoplay", "muted"];
56
- }
57
- loadComplete = new A();
58
- #s;
59
- #r;
60
- #e = !1;
61
- #n = 0;
62
- #a = !0;
63
- #l = null;
64
- #o = 100;
65
- #u = 0;
66
- #i;
67
- constructor() {
68
- super(), this.#m("config");
69
- }
70
- async load() {
71
- if (this.#s) return;
72
- this.shadowRoot || this.attachShadow(v.shadowRootOptions);
73
- const t = !this.#r;
74
- if (this.#r && (this.loadComplete = new A()), this.#r = !0, await (this.#s = Promise.resolve()), this.#s = null, this.#n = 0, this.#e = !1, this.#a = !0, !this.src) {
75
- this.shadowRoot.innerHTML = "", globalThis.removeEventListener("message", this.#c);
76
- return;
77
- }
78
- let e = this.shadowRoot.querySelector("iframe");
79
- const i = F(this.attributes);
80
- t && e && (this.#l = JSON.parse(e.getAttribute("data-config") || "{}")), (!e?.src || e.src !== S(i, this)) && (this.shadowRoot.innerHTML = N(i, this), e = this.shadowRoot.querySelector("iframe")), this.#i = e, globalThis.addEventListener("message", this.#c);
81
- }
82
- async attributeChangedCallback(t, e, i) {
83
- if (e !== i)
84
- switch (t) {
85
- case "muted": {
86
- await this.loadComplete, this.muted = i != null;
87
- break;
88
- }
89
- case "autoplay":
90
- case "controls":
91
- case "loop":
92
- case "src": {
93
- this.load();
94
- return;
95
- }
96
- }
97
- }
98
- get config() {
99
- return this.#l;
100
- }
101
- set config(t) {
102
- this.#l = t;
103
- }
104
- #c = (t) => {
105
- var e;
106
- if (t.source !== ((e = this.#i) == null ? void 0 : e.contentWindow)) return;
107
- const i = t.data;
108
- if (i?.["x-tiktok-player"])
109
- switch (i.type) {
110
- case "onPlayerReady":
111
- this.loadComplete.resolve();
112
- break;
113
- case "onStateChange": {
114
- this.#a = [d.INIT, d.PAUSED, d.ENDED].includes(i.value);
115
- const a = x[i.value];
116
- a && this.dispatchEvent(new Event(a));
117
- break;
118
- }
119
- case "onCurrentTime":
120
- this.#n = i.value.currentTime, this.#u = i.value.duration, this.dispatchEvent(new Event("durationchange")), this.dispatchEvent(new Event("timeupdate"));
121
- break;
122
- case "onVolumeChange":
123
- this.#o = i.value, this.dispatchEvent(new Event("volumechange"));
124
- break;
125
- case "onMute":
126
- this.#e = !!i.value, this.#o = i.value ? 0 : this.#o, this.dispatchEvent(new Event("volumechange"));
127
- break;
128
- case "onError":
129
- this.dispatchEvent(new Event("error"));
130
- break;
131
- default:
132
- console.warn("Unhandled TikTok player message:", i);
133
- break;
134
- }
135
- };
136
- #t(t, e) {
137
- var i;
138
- if (!((i = this.#i) != null && i.contentWindow)) return;
139
- const a = { "x-tiktok-player": !0, type: t, ...e !== void 0 ? { value: e } : {} };
140
- this.#i.contentWindow.postMessage(a, "*");
141
- }
142
- async play() {
143
- await this.loadComplete, this.#t("play");
144
- }
145
- async pause() {
146
- await this.loadComplete, this.#t("pause");
147
- }
148
- async #d(t) {
149
- await this.loadComplete, this.#t("seekTo", Number(t));
150
- }
151
- async #h() {
152
- await this.loadComplete, this.#t("mute");
153
- }
154
- async #f() {
155
- await this.loadComplete, this.#t("unMute");
156
- }
157
- get volume() {
158
- return this.#o / 100;
159
- }
160
- set volume(t) {
161
- console.warn("Volume control is not supported for TikTok videos.");
162
- }
163
- get currentTime() {
164
- return this.#n;
165
- }
166
- set currentTime(t) {
167
- this.#d(t);
168
- }
169
- get muted() {
170
- return this.#e;
171
- }
172
- set muted(t) {
173
- this.#e = t, t ? this.#h() : this.#f();
174
- }
175
- get defaultMuted() {
176
- return this.hasAttribute("muted");
177
- }
178
- set defaultMuted(t) {
179
- this.toggleAttribute("muted", !!t);
180
- }
181
- get paused() {
182
- return this.#a;
183
- }
184
- get duration() {
185
- return this.#u;
186
- }
187
- get src() {
188
- return this.getAttribute("src");
189
- }
190
- set src(t) {
191
- this.setAttribute("src", t ?? "");
192
- }
193
- // This is a pattern to update property values that are set before
194
- // the custom element is upgraded.
195
- // https://web.dev/custom-elements-best-practices/#make-properties-lazy
196
- #m(t) {
197
- if (Object.prototype.hasOwnProperty.call(this, t)) {
198
- const e = this[t];
199
- delete this[t], this[t] = e;
200
- }
201
- }
202
- }
203
- class A extends Promise {
204
- constructor(t = () => {
205
- }) {
206
- let e, i;
207
- super((a, m) => {
208
- t(a, m), e = a, i = m;
209
- }), this.resolve = e, this.reject = i;
210
- }
211
- }
212
- function F(o) {
213
- let t = {};
214
- for (let e of o)
215
- t[e.name] = e.value;
216
- return t;
217
- }
218
- function U(o) {
219
- let t = {};
220
- for (let e in o) {
221
- let i = o[e];
222
- i === !0 || i === "" ? t[e] = 1 : i === !1 ? t[e] = 0 : i != null && (t[e] = i);
223
- }
224
- return t;
225
- }
226
- function W(o) {
227
- return String(new URLSearchParams(U(o)));
228
- }
229
- function $(o) {
230
- let t = "";
231
- for (const e in o) {
232
- const i = o[e];
233
- i === "" ? t += ` ${w(e)}` : t += ` ${w(e)}="${w(`${i}`)}"`;
234
- }
235
- return t;
236
- }
237
- function w(o) {
238
- return o.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&apos;").replace(/`/g, "&#x60;");
239
- }
240
- globalThis.customElements && !globalThis.customElements.get("tiktok-video") && globalThis.customElements.define("tiktok-video", v);
241
- var j = v, B = /* @__PURE__ */ new Set([
242
- "style",
243
- "children",
244
- "ref",
245
- "key",
246
- "suppressContentEditableWarning",
247
- "suppressHydrationWarning",
248
- "dangerouslySetInnerHTML"
249
- ]), q = {
250
- className: "class",
251
- htmlFor: "for"
252
- };
253
- function R(o) {
254
- return o.toLowerCase();
255
- }
256
- function P(o) {
257
- if (typeof o == "boolean") return o ? "" : void 0;
258
- if (typeof o != "function" && !(typeof o == "object" && o !== null))
259
- return o;
260
- }
261
- function G({
262
- react: o,
263
- tagName: t,
264
- elementClass: e,
265
- events: i,
266
- displayName: a,
267
- defaultProps: m,
268
- toAttributeName: C = R,
269
- toAttributeValue: I = P
270
- }) {
271
- const b = Number.parseInt(o.version) >= 19, E = o.forwardRef((T, f) => {
272
- var k, M;
273
- const l = o.useRef(null), g = o.useRef(/* @__PURE__ */ new Map()), y = {}, L = {}, u = {}, p = {};
274
- for (const [s, r] of Object.entries(T)) {
275
- if (B.has(s)) {
276
- u[s] = r;
277
- continue;
278
- }
279
- const n = C(q[s] ?? s);
280
- if (e.prototype && s in e.prototype && !(s in (((k = globalThis.HTMLElement) == null ? void 0 : k.prototype) ?? {})) && !((M = e.observedAttributes) != null && M.some((h) => h === n))) {
281
- p[s] = r;
282
- continue;
283
- }
284
- if (s.startsWith("on")) {
285
- y[s] = r;
286
- continue;
287
- }
288
- const c = I(r);
289
- if (n && c != null && (L[n] = String(c), b || (u[n] = c)), n && b) {
290
- const h = P(r);
291
- c !== h ? u[n] = c : u[n] = r;
292
- }
293
- }
294
- if (typeof window < "u") {
295
- for (const s in y) {
296
- const r = y[s], n = s.endsWith("Capture"), c = (i?.[s] ?? s.slice(2).toLowerCase()).slice(
297
- 0,
298
- n ? -7 : void 0
299
- );
300
- o.useLayoutEffect(() => {
301
- const h = l?.current;
302
- if (!(!h || typeof r != "function"))
303
- return h.addEventListener(c, r, n), () => {
304
- h.removeEventListener(c, r, n);
305
- };
306
- }, [l?.current, r]);
307
- }
308
- o.useLayoutEffect(() => {
309
- if (l.current === null) return;
310
- const s = /* @__PURE__ */ new Map();
311
- for (const r in p)
312
- _(l.current, r, p[r]), g.current.delete(r), s.set(r, p[r]);
313
- for (const [r, n] of g.current)
314
- _(l.current, r, void 0);
315
- g.current = s;
316
- });
317
- }
318
- if (typeof window > "u" && e?.getTemplateHTML && e?.shadowRootOptions) {
319
- const { mode: s, delegatesFocus: r } = e.shadowRootOptions, n = o.createElement("template", {
320
- shadowrootmode: s,
321
- shadowrootdelegatesfocus: r,
322
- dangerouslySetInnerHTML: {
323
- __html: e.getTemplateHTML(L, T)
324
- },
325
- key: "ce-la-react-ssr-template-shadow-root"
326
- });
327
- u.children = [n, u.children];
328
- }
329
- return o.createElement(t, {
330
- ...m,
331
- ...u,
332
- ref: o.useCallback(
333
- (s) => {
334
- l.current = s, typeof f == "function" ? f(s) : f !== null && (f.current = s);
335
- },
336
- [f]
337
- )
338
- }, u.children);
339
- });
340
- return E.displayName = a ?? e.name, E;
341
- }
342
- function _(o, t, e) {
343
- var i;
344
- o[t] = e, e == null && t in (((i = globalThis.HTMLElement) == null ? void 0 : i.prototype) ?? {}) && o.removeAttribute(t);
345
- }
346
- var J = G({
347
- react: H,
348
- tagName: "tiktok-video",
349
- elementClass: j,
350
- toAttributeName(o) {
351
- return o === "muted" ? "" : o === "defaultMuted" ? "muted" : R(o);
352
- }
353
- });
354
- export {
355
- J as default
356
- };
357
- //# sourceMappingURL=react-BnzwZp9T.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"react-BnzwZp9T.js","sources":["../node_modules/tiktok-video-element/dist/tiktok-video-element.js","../node_modules/tiktok-video-element/dist/react.js"],"sourcesContent":["const EMBED_BASE = \"https://www.tiktok.com/player/v1\";\nconst MATCH_SRC = /tiktok\\.com\\/(?:player\\/v1\\/|share\\/video\\/|@[^/]+\\/video\\/)([0-9]+)/;\nconst PlayerState = { INIT: -1, ENDED: 0, PLAYING: 1, PAUSED: 2, BUFFERING: 3 };\nconst EventMap = {\n [PlayerState.INIT]: \"emptied\",\n [PlayerState.PAUSED]: \"pause\",\n [PlayerState.ENDED]: \"ended\",\n [PlayerState.PLAYING]: \"play\",\n [PlayerState.BUFFERING]: \"waiting\"\n};\nfunction getTemplateHTML(attrs, props = {}) {\n const iframeAttrs = {\n src: serializeIframeUrl(attrs, props),\n frameborder: 0,\n width: \"100%\",\n height: \"100%\",\n allow: \"accelerometer; autoplay; fullscreen; encrypted-media; gyroscope; picture-in-picture\"\n };\n if (props.config) {\n iframeAttrs[\"data-config\"] = JSON.stringify(props.config);\n }\n return (\n /*html*/\n `\n <style>\n :host {\n display:inline-block;\n min-width: 300px;\n min-height: 150px;\n position: relative;\n }\n iframe {\n position:absolute;\n top:0;\n left:0;\n width:100%;\n height:100%;\n border:0;\n }\n </style>\n <iframe ${serializeAttributes(iframeAttrs)} title=\"TikTok video\"></iframe>\n `\n );\n}\nfunction serializeIframeUrl(attrs, props = {}) {\n if (!attrs.src) return;\n const matches = attrs.src.match(MATCH_SRC);\n const srcId = matches && matches[1];\n const params = {\n controls: attrs.controls === \"\" ? null : 0,\n autoplay: attrs.autoplay,\n muted: attrs.muted,\n loop: attrs.loop,\n rel: 0,\n ...props.config\n };\n return `${EMBED_BASE}/${srcId}?${serialize(params)}`;\n}\nclass TikTokVideoElement extends (globalThis.HTMLElement ?? class {\n}) {\n static getTemplateHTML = getTemplateHTML;\n static shadowRootOptions = { mode: \"open\" };\n static get observedAttributes() {\n return [\"src\", \"controls\", \"loop\", \"autoplay\", \"muted\"];\n }\n loadComplete = new PublicPromise();\n #loadRequested;\n #hasLoaded;\n #muted = false;\n #currentTime = 0;\n #paused = true;\n #config = null;\n #volume = 100;\n #duration = 0;\n #iframe;\n constructor() {\n super();\n this.#upgradeProperty(\"config\");\n }\n async load() {\n if (this.#loadRequested) return;\n if (!this.shadowRoot) {\n this.attachShadow(TikTokVideoElement.shadowRootOptions);\n }\n const isFirstLoad = !this.#hasLoaded;\n if (this.#hasLoaded) {\n this.loadComplete = new PublicPromise();\n }\n this.#hasLoaded = true;\n await (this.#loadRequested = Promise.resolve());\n this.#loadRequested = null;\n this.#currentTime = 0;\n this.#muted = false;\n this.#paused = true;\n if (!this.src) {\n this.shadowRoot.innerHTML = \"\";\n globalThis.removeEventListener(\"message\", this.#onMessage);\n return;\n }\n let iframe = this.shadowRoot.querySelector(\"iframe\");\n const attrs = namedNodeMapToObject(this.attributes);\n if (isFirstLoad && iframe) {\n this.#config = JSON.parse(iframe.getAttribute(\"data-config\") || \"{}\");\n }\n if (!(iframe == null ? void 0 : iframe.src) || iframe.src !== serializeIframeUrl(attrs, this)) {\n this.shadowRoot.innerHTML = getTemplateHTML(attrs, this);\n iframe = this.shadowRoot.querySelector(\"iframe\");\n }\n this.#iframe = iframe;\n globalThis.addEventListener(\"message\", this.#onMessage);\n }\n async attributeChangedCallback(attrName, oldValue, newValue) {\n if (oldValue === newValue) return;\n switch (attrName) {\n case \"muted\": {\n await this.loadComplete;\n this.muted = newValue != null;\n break;\n }\n case \"autoplay\":\n case \"controls\":\n case \"loop\":\n case \"src\": {\n this.load();\n return;\n }\n }\n }\n get config() {\n return this.#config;\n }\n set config(value) {\n this.#config = value;\n }\n #onMessage = (event) => {\n var _a;\n if (event.source !== ((_a = this.#iframe) == null ? void 0 : _a.contentWindow)) return;\n const msg = event.data;\n if (!(msg == null ? void 0 : msg[\"x-tiktok-player\"])) return;\n switch (msg.type) {\n case \"onPlayerReady\":\n this.loadComplete.resolve();\n break;\n case \"onStateChange\": {\n this.#paused = [PlayerState.INIT, PlayerState.PAUSED, PlayerState.ENDED].includes(msg.value);\n const eventType = EventMap[msg.value];\n if (eventType) this.dispatchEvent(new Event(eventType));\n break;\n }\n case \"onCurrentTime\":\n this.#currentTime = msg.value.currentTime;\n this.#duration = msg.value.duration;\n this.dispatchEvent(new Event(\"durationchange\"));\n this.dispatchEvent(new Event(\"timeupdate\"));\n break;\n case \"onVolumeChange\":\n this.#volume = msg.value;\n this.dispatchEvent(new Event(\"volumechange\"));\n break;\n case \"onMute\":\n this.#muted = msg.value ? true : false;\n this.#volume = msg.value ? 0 : this.#volume;\n this.dispatchEvent(new Event(\"volumechange\"));\n break;\n case \"onError\":\n this.dispatchEvent(new Event(\"error\"));\n break;\n default:\n console.warn(\"Unhandled TikTok player message:\", msg);\n break;\n }\n };\n #post(type, value) {\n var _a;\n if (!((_a = this.#iframe) == null ? void 0 : _a.contentWindow)) return;\n const message = { \"x-tiktok-player\": true, type, ...value !== void 0 ? { value } : {} };\n this.#iframe.contentWindow.postMessage(message, \"*\");\n }\n async play() {\n await this.loadComplete;\n this.#post(\"play\");\n }\n async pause() {\n await this.loadComplete;\n this.#post(\"pause\");\n }\n async #seekTo(sec) {\n await this.loadComplete;\n this.#post(\"seekTo\", Number(sec));\n }\n async #mute() {\n await this.loadComplete;\n this.#post(\"mute\");\n }\n async #unMute() {\n await this.loadComplete;\n this.#post(\"unMute\");\n }\n get volume() {\n return this.#volume / 100;\n }\n set volume(_val) {\n console.warn(\"Volume control is not supported for TikTok videos.\");\n }\n get currentTime() {\n return this.#currentTime;\n }\n set currentTime(val) {\n this.#seekTo(val);\n }\n get muted() {\n return this.#muted;\n }\n set muted(val) {\n this.#muted = val;\n val ? this.#mute() : this.#unMute();\n }\n get defaultMuted() {\n return this.hasAttribute(\"muted\");\n }\n set defaultMuted(val) {\n this.toggleAttribute(\"muted\", !!val);\n }\n get paused() {\n return this.#paused;\n }\n get duration() {\n return this.#duration;\n }\n get src() {\n return this.getAttribute(\"src\");\n }\n set src(val) {\n this.setAttribute(\"src\", val ?? \"\");\n }\n // This is a pattern to update property values that are set before\n // the custom element is upgraded.\n // https://web.dev/custom-elements-best-practices/#make-properties-lazy\n #upgradeProperty(prop) {\n if (Object.prototype.hasOwnProperty.call(this, prop)) {\n const value = this[prop];\n delete this[prop];\n this[prop] = value;\n }\n }\n}\nclass PublicPromise extends Promise {\n constructor(executor = () => {\n }) {\n let res, rej;\n super((resolve, reject) => {\n executor(resolve, reject);\n res = resolve;\n rej = reject;\n });\n this.resolve = res;\n this.reject = rej;\n }\n}\nfunction namedNodeMapToObject(namedNodeMap) {\n let obj = {};\n for (let attr of namedNodeMap) {\n obj[attr.name] = attr.value;\n }\n return obj;\n}\nfunction boolToBinary(props) {\n let p = {};\n for (let key in props) {\n let val = props[key];\n if (val === true || val === \"\") p[key] = 1;\n else if (val === false) p[key] = 0;\n else if (val != null) p[key] = val;\n }\n return p;\n}\nfunction serialize(props) {\n return String(new URLSearchParams(boolToBinary(props)));\n}\nfunction serializeAttributes(attrs) {\n let html = \"\";\n for (const key in attrs) {\n const value = attrs[key];\n if (value === \"\") html += ` ${escapeHtml(key)}`;\n else html += ` ${escapeHtml(key)}=\"${escapeHtml(`${value}`)}\"`;\n }\n return html;\n}\nfunction escapeHtml(str) {\n return str.replace(/&/g, \"&amp;\").replace(/</g, \"&lt;\").replace(/>/g, \"&gt;\").replace(/\"/g, \"&quot;\").replace(/'/g, \"&apos;\").replace(/`/g, \"&#x60;\");\n}\nif (globalThis.customElements && !globalThis.customElements.get(\"tiktok-video\")) {\n globalThis.customElements.define(\"tiktok-video\", TikTokVideoElement);\n}\nvar tiktok_video_element_default = TikTokVideoElement;\nexport {\n tiktok_video_element_default as default\n};\n","\"use client\";\n\n// dist/react.ts\nimport React from \"react\";\nimport CustomMediaElement from \"./tiktok-video-element.js\";\n\n// ../../node_modules/ce-la-react/dist/ce-la-react.js\nvar reservedReactProps = /* @__PURE__ */ new Set([\n \"style\",\n \"children\",\n \"ref\",\n \"key\",\n \"suppressContentEditableWarning\",\n \"suppressHydrationWarning\",\n \"dangerouslySetInnerHTML\"\n]);\nvar reactPropToAttrNameMap = {\n className: \"class\",\n htmlFor: \"for\"\n};\nfunction defaultToAttributeName(propName) {\n return propName.toLowerCase();\n}\nfunction defaultToAttributeValue(propValue) {\n if (typeof propValue === \"boolean\") return propValue ? \"\" : void 0;\n if (typeof propValue === \"function\") return void 0;\n if (typeof propValue === \"object\" && propValue !== null) return void 0;\n return propValue;\n}\nfunction createComponent({\n react: React2,\n tagName,\n elementClass,\n events,\n displayName,\n defaultProps,\n toAttributeName = defaultToAttributeName,\n toAttributeValue = defaultToAttributeValue\n}) {\n const IS_REACT_19_OR_NEWER = Number.parseInt(React2.version) >= 19;\n const ReactComponent = React2.forwardRef((props, ref) => {\n var _a, _b;\n const elementRef = React2.useRef(null);\n const prevElemPropsRef = React2.useRef(/* @__PURE__ */ new Map());\n const eventProps = {};\n const attrs = {};\n const reactProps = {};\n const elementProps = {};\n for (const [k, v] of Object.entries(props)) {\n if (reservedReactProps.has(k)) {\n reactProps[k] = v;\n continue;\n }\n const attrName = toAttributeName(reactPropToAttrNameMap[k] ?? k);\n if (elementClass.prototype && k in elementClass.prototype && !(k in (((_a = globalThis.HTMLElement) == null ? void 0 : _a.prototype) ?? {})) && !((_b = elementClass.observedAttributes) == null ? void 0 : _b.some((attr) => attr === attrName))) {\n elementProps[k] = v;\n continue;\n }\n if (k.startsWith(\"on\")) {\n eventProps[k] = v;\n continue;\n }\n const attrValue = toAttributeValue(v);\n if (attrName && attrValue != null) {\n attrs[attrName] = String(attrValue);\n if (!IS_REACT_19_OR_NEWER) {\n reactProps[attrName] = attrValue;\n }\n }\n if (attrName && IS_REACT_19_OR_NEWER) {\n const attrValueFromDefault = defaultToAttributeValue(v);\n if (attrValue !== attrValueFromDefault) {\n reactProps[attrName] = attrValue;\n } else {\n reactProps[attrName] = v;\n }\n }\n }\n if (typeof window !== \"undefined\") {\n for (const propName in eventProps) {\n const callback = eventProps[propName];\n const useCapture = propName.endsWith(\"Capture\");\n const eventName = ((events == null ? void 0 : events[propName]) ?? propName.slice(2).toLowerCase()).slice(\n 0,\n useCapture ? -7 : void 0\n );\n React2.useLayoutEffect(() => {\n const eventTarget = elementRef == null ? void 0 : elementRef.current;\n if (!eventTarget || typeof callback !== \"function\") return;\n eventTarget.addEventListener(eventName, callback, useCapture);\n return () => {\n eventTarget.removeEventListener(eventName, callback, useCapture);\n };\n }, [elementRef == null ? void 0 : elementRef.current, callback]);\n }\n React2.useLayoutEffect(() => {\n if (elementRef.current === null) return;\n const newElemProps = /* @__PURE__ */ new Map();\n for (const key in elementProps) {\n setProperty(elementRef.current, key, elementProps[key]);\n prevElemPropsRef.current.delete(key);\n newElemProps.set(key, elementProps[key]);\n }\n for (const [key, _value] of prevElemPropsRef.current) {\n setProperty(elementRef.current, key, void 0);\n }\n prevElemPropsRef.current = newElemProps;\n });\n }\n if (typeof window === \"undefined\" && (elementClass == null ? void 0 : elementClass.getTemplateHTML) && (elementClass == null ? void 0 : elementClass.shadowRootOptions)) {\n const { mode, delegatesFocus } = elementClass.shadowRootOptions;\n const templateShadowRoot = React2.createElement(\"template\", {\n shadowrootmode: mode,\n shadowrootdelegatesfocus: delegatesFocus,\n dangerouslySetInnerHTML: {\n __html: elementClass.getTemplateHTML(attrs, props)\n },\n key: \"ce-la-react-ssr-template-shadow-root\"\n });\n reactProps.children = [templateShadowRoot, reactProps.children];\n }\n return React2.createElement(tagName, {\n ...defaultProps,\n ...reactProps,\n ref: React2.useCallback(\n (node) => {\n elementRef.current = node;\n if (typeof ref === \"function\") {\n ref(node);\n } else if (ref !== null) {\n ref.current = node;\n }\n },\n [ref]\n )\n }, reactProps.children);\n });\n ReactComponent.displayName = displayName ?? elementClass.name;\n return ReactComponent;\n}\nfunction setProperty(node, name, value) {\n var _a;\n node[name] = value;\n if (value == null && name in (((_a = globalThis.HTMLElement) == null ? void 0 : _a.prototype) ?? {})) {\n node.removeAttribute(name);\n }\n}\n\n// dist/react.ts\nvar react_default = createComponent({\n react: React,\n tagName: \"tiktok-video\",\n elementClass: CustomMediaElement,\n toAttributeName(propName) {\n if (propName === \"muted\") return \"\";\n if (propName === \"defaultMuted\") return \"muted\";\n return defaultToAttributeName(propName);\n }\n});\nexport {\n react_default as default\n};\n/*! Bundled license information:\n\nce-la-react/dist/ce-la-react.js:\n (**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n *\n * Modified version of `@lit/react` for vanilla custom elements with support for SSR.\n *)\n*/\n"],"names":["EMBED_BASE","MATCH_SRC","PlayerState","EventMap","getTemplateHTML","attrs","props","iframeAttrs","serializeIframeUrl","serializeAttributes","matches","srcId","params","serialize","TikTokVideoElement","PublicPromise","#loadRequested","#hasLoaded","#muted","#currentTime","#paused","#config","#volume","#duration","#iframe","#upgradeProperty","isFirstLoad","#onMessage","iframe","namedNodeMapToObject","attrName","oldValue","newValue","value","event","_a","msg","eventType","#post","type","message","#seekTo","sec","#mute","#unMute","_val","val","prop","executor","res","rej","resolve","reject","namedNodeMap","obj","attr","boolToBinary","p","key","html","escapeHtml","str","tiktok_video_element_default","reservedReactProps","reactPropToAttrNameMap","defaultToAttributeName","propName","defaultToAttributeValue","propValue","createComponent","React2","tagName","elementClass","events","displayName","defaultProps","toAttributeName","toAttributeValue","IS_REACT_19_OR_NEWER","ReactComponent","ref","_b","elementRef","prevElemPropsRef","eventProps","reactProps","elementProps","k","v","attrValue","attrValueFromDefault","callback","useCapture","eventName","eventTarget","newElemProps","setProperty","_value","mode","delegatesFocus","templateShadowRoot","node","name","react_default","React","CustomMediaElement"],"mappings":"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","x_google_ignoreList":[0,1]}