tmg-media-player 0.0.9 → 0.0.10

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 (200) hide show
  1. package/dist/{chunk-IL5VRN3J.js → chunk-2KWQ2BJA.js} +4 -5
  2. package/dist/chunk-2KWQ2BJA.js.map +1 -0
  3. package/dist/{chunk-RSR33DL7.js → chunk-2Q353YGH.js} +49 -49
  4. package/dist/{chunk-DYYDBZVH.js → chunk-52QBFKDH.js} +2 -2
  5. package/dist/{chunk-X5N2SOX5.js → chunk-7P37TRZ5.js} +2 -2
  6. package/dist/{chunk-2BAQUGMN.js → chunk-CQOLKYPW.js} +4 -4
  7. package/dist/{chunk-JKKHPOIM.js → chunk-DK6YNSCO.js} +92 -92
  8. package/dist/{chunk-KMGCIVPM.js → chunk-E7AZFMQX.js} +17 -17
  9. package/dist/{chunk-S2QOATBM.js → chunk-F3PAGLUZ.js} +4 -4
  10. package/dist/{chunk-LSRNWSOS.js → chunk-IUSUPM45.js} +7 -7
  11. package/dist/{chunk-JB26PVHJ.js → chunk-JBAZVIWT.js} +2 -2
  12. package/dist/{chunk-PWHHD7T3.js → chunk-JC6UPKIA.js} +2 -2
  13. package/dist/{chunk-2TLAKFB7.js → chunk-OCU2ZQZV.js} +32 -32
  14. package/dist/{chunk-4HLCTO2J.js → chunk-POYDDFOW.js} +19 -19
  15. package/dist/{chunk-RNSCVEVT.js → chunk-SHDHGTLI.js} +47 -47
  16. package/dist/{chunk-RXMOYOS7.js → chunk-SNL5HLFG.js} +5 -5
  17. package/dist/{chunk-E5EK4GIX.js → chunk-VZVGUEAL.js} +4 -4
  18. package/dist/{chunk-UUG777H2.js → chunk-YFIWARZK.js} +4 -4
  19. package/dist/{chunk-Z4KCSX56.js → chunk-YLPGT7GW.js} +2 -2
  20. package/dist/{chunk-FL3K4GMT.js → chunk-YOMNGHJS.js} +111 -111
  21. package/dist/{chunk-63OCIEHV.js → chunk-ZLWOCMYX.js} +2 -2
  22. package/dist/chunk-ZLWOCMYX.js.map +1 -0
  23. package/dist/{chunk-SOIQEVRA.js → chunk-ZPYCRCIN.js} +7 -7
  24. package/dist/components/controls/airplay.js +1 -1
  25. package/dist/components/controls/backward10.js +1 -1
  26. package/dist/components/controls/bignext.js +1 -1
  27. package/dist/components/controls/bigplaypause.js +1 -1
  28. package/dist/components/controls/bigprevious.js +1 -1
  29. package/dist/components/controls/brightness/index.js +1 -1
  30. package/dist/components/controls/captions.js +1 -1
  31. package/dist/components/controls/capture.js +1 -1
  32. package/dist/components/controls/cast.js +1 -1
  33. package/dist/components/controls/expandminiplayer.js +1 -1
  34. package/dist/components/controls/forward10.js +1 -1
  35. package/dist/components/controls/fullscreen.js +1 -1
  36. package/dist/components/controls/fullscreenlock.js +1 -1
  37. package/dist/components/controls/fullscreenorientation.js +1 -1
  38. package/dist/components/controls/next.js +1 -1
  39. package/dist/components/controls/objectfit.js +1 -1
  40. package/dist/components/controls/pictureinpicture.js +1 -1
  41. package/dist/components/controls/playpause.js +1 -1
  42. package/dist/components/controls/previous.js +1 -1
  43. package/dist/components/controls/removeminiplayer.js +1 -1
  44. package/dist/components/controls/settings.js +1 -1
  45. package/dist/components/controls/theater.js +1 -1
  46. package/dist/components/controls/volume/index.js +1 -1
  47. package/dist/components/holders/airplayplaceholder.js +1 -1
  48. package/dist/components/holders/castplaceholder.js +1 -1
  49. package/dist/components/holders/pipplaceholder.js +3 -3
  50. package/dist/components/icons/z-register.js +22 -22
  51. package/dist/components/notifiers/airplay.js +1 -1
  52. package/dist/components/notifiers/brightness.js +1 -1
  53. package/dist/components/notifiers/captions.js +1 -1
  54. package/dist/components/notifiers/capture.js +1 -1
  55. package/dist/components/notifiers/cast.js +1 -1
  56. package/dist/components/notifiers/fastplay.js +1 -1
  57. package/dist/components/notifiers/fwdbwd.js +1 -1
  58. package/dist/components/notifiers/objectfit.js +1 -1
  59. package/dist/components/notifiers/playbackrate.js +1 -1
  60. package/dist/components/notifiers/playpause.js +1 -1
  61. package/dist/components/notifiers/prevnext.js +1 -1
  62. package/dist/components/notifiers/scrub.js +1 -1
  63. package/dist/components/notifiers/timer.js +1 -1
  64. package/dist/components/notifiers/touchbrightness.js +1 -1
  65. package/dist/components/notifiers/touchvolume.js +1 -1
  66. package/dist/components/notifiers/volume.js +1 -1
  67. package/dist/components/notifiers/z-register.js +8 -8
  68. package/dist/components/screenlock.js +1 -1
  69. package/dist/components/z-register.js +13 -13
  70. package/dist/core/controller.cjs +8 -9
  71. package/dist/core/controller.cjs.map +1 -1
  72. package/dist/core/controller.js +4 -4
  73. package/dist/index.cjs +3 -4
  74. package/dist/index.cjs.map +1 -1
  75. package/dist/index.js +5 -7
  76. package/dist/init.cjs +3 -3
  77. package/dist/init.cjs.map +1 -1
  78. package/dist/init.js +5 -5
  79. package/dist/plugs/base/index.js +1 -1
  80. package/dist/plugs/base/slider.js +1 -1
  81. package/dist/plugs/main/disabled/index.js +1 -1
  82. package/dist/plugs/main/lightState/index.js +1 -1
  83. package/dist/plugs/main/playlist/index.js +3 -3
  84. package/dist/plugs/main/skeleton/index.js +1 -1
  85. package/dist/plugs/menus/z-register.js +17 -17
  86. package/dist/plugs/settings/airplay/index.js +1 -1
  87. package/dist/plugs/settings/ambience/index.js +1 -1
  88. package/dist/plugs/settings/auto/index.js +3 -3
  89. package/dist/plugs/settings/brightness/index.js +1 -1
  90. package/dist/plugs/settings/captions/index.js +5 -5
  91. package/dist/plugs/settings/cast/index.js +1 -1
  92. package/dist/plugs/settings/controlPanel/draggable.js +3 -3
  93. package/dist/plugs/settings/controlPanel/index.js +3 -3
  94. package/dist/plugs/settings/css/index.js +1 -1
  95. package/dist/plugs/settings/errors/index.js +1 -1
  96. package/dist/plugs/settings/fastPlay/index.js +1 -1
  97. package/dist/plugs/settings/frame/index.js +3 -3
  98. package/dist/plugs/settings/gesture/base.js +3 -3
  99. package/dist/plugs/settings/gesture/index.js +3 -3
  100. package/dist/plugs/settings/gesture/touch.js +3 -3
  101. package/dist/plugs/settings/gesture/wheel.js +3 -3
  102. package/dist/plugs/settings/keys/index.js +5 -5
  103. package/dist/plugs/settings/locked/index.js +1 -1
  104. package/dist/plugs/settings/metadata/index.js +1 -1
  105. package/dist/plugs/settings/modes/fullscreen.cjs +0 -6
  106. package/dist/plugs/settings/modes/fullscreen.cjs.map +1 -1
  107. package/dist/plugs/settings/modes/fullscreen.js +5 -5
  108. package/dist/plugs/settings/modes/index.cjs +0 -4
  109. package/dist/plugs/settings/modes/index.cjs.map +1 -1
  110. package/dist/plugs/settings/modes/index.js +5 -5
  111. package/dist/plugs/settings/modes/miniplayer.cjs +0 -7
  112. package/dist/plugs/settings/modes/miniplayer.cjs.map +1 -1
  113. package/dist/plugs/settings/modes/miniplayer.js +5 -5
  114. package/dist/plugs/settings/modes/pictureInPicture.cjs +0 -5
  115. package/dist/plugs/settings/modes/pictureInPicture.cjs.map +1 -1
  116. package/dist/plugs/settings/modes/pictureInPicture.js +5 -5
  117. package/dist/plugs/settings/modes/theater.cjs +0 -7
  118. package/dist/plugs/settings/modes/theater.cjs.map +1 -1
  119. package/dist/plugs/settings/modes/theater.js +5 -5
  120. package/dist/plugs/settings/notifiers/index.js +1 -1
  121. package/dist/plugs/settings/objectFit/index.js +3 -3
  122. package/dist/plugs/settings/overlay/index.js +1 -1
  123. package/dist/plugs/settings/persist/index.js +1 -1
  124. package/dist/plugs/settings/playbackRate/index.js +1 -1
  125. package/dist/plugs/settings/poster/index.js +1 -1
  126. package/dist/plugs/settings/settingsView/index.cjs +1 -1
  127. package/dist/plugs/settings/settingsView/index.cjs.map +1 -1
  128. package/dist/plugs/settings/settingsView/index.js +3 -3
  129. package/dist/plugs/settings/settingsView/menu/index.cjs +1 -1
  130. package/dist/plugs/settings/settingsView/menu/index.cjs.map +1 -1
  131. package/dist/plugs/settings/settingsView/menu/index.js +2 -2
  132. package/dist/plugs/settings/settingsView/menu/panel/main.js +1 -1
  133. package/dist/plugs/settings/settingsView/menu/panel/sub.js +1 -1
  134. package/dist/plugs/settings/settingsView/menu/widgets/base.js +1 -1
  135. package/dist/plugs/settings/settingsView/menu/widgets/button.js +1 -1
  136. package/dist/plugs/settings/settingsView/menu/widgets/color.js +1 -1
  137. package/dist/plugs/settings/settingsView/menu/widgets/dragselect.js +1 -1
  138. package/dist/plugs/settings/settingsView/menu/widgets/group.js +1 -1
  139. package/dist/plugs/settings/settingsView/menu/widgets/index.js +1 -1
  140. package/dist/plugs/settings/settingsView/menu/widgets/input.js +1 -1
  141. package/dist/plugs/settings/settingsView/menu/widgets/limits.js +1 -1
  142. package/dist/plugs/settings/settingsView/menu/widgets/range.js +1 -1
  143. package/dist/plugs/settings/settingsView/menu/widgets/select.js +1 -1
  144. package/dist/plugs/settings/settingsView/menu/widgets/toggle.js +1 -1
  145. package/dist/plugs/settings/sleepTimer/index.js +4 -4
  146. package/dist/plugs/settings/time/index.js +3 -3
  147. package/dist/plugs/settings/timeTravel/index.cjs +5 -10
  148. package/dist/plugs/settings/timeTravel/index.cjs.map +1 -1
  149. package/dist/plugs/settings/timeTravel/index.js +5 -5
  150. package/dist/plugs/settings/toasts/index.js +1 -1
  151. package/dist/plugs/settings/voice/index.js +1 -1
  152. package/dist/plugs/settings/volume/index.cjs +0 -4
  153. package/dist/plugs/settings/volume/index.cjs.map +1 -1
  154. package/dist/plugs/settings/volume/index.js +5 -5
  155. package/dist/plugs/z-register.cjs +6 -9
  156. package/dist/plugs/z-register.cjs.map +1 -1
  157. package/dist/plugs/z-register.js +43 -43
  158. package/dist/super/components/icons.js +47 -47
  159. package/dist/super/components/index.js +126 -126
  160. package/dist/super/components/notifiers.js +18 -18
  161. package/dist/super/consts.js +7 -7
  162. package/dist/super/plugs/index.cjs +1 -4
  163. package/dist/super/plugs/index.cjs.map +1 -1
  164. package/dist/super/plugs/index.js +114 -114
  165. package/dist/super/plugs/menus.js +39 -39
  166. package/dist/super/techs.js +6 -6
  167. package/dist/super.cjs +4 -5
  168. package/dist/super.cjs.map +1 -1
  169. package/dist/super.global.js +4 -5
  170. package/dist/super.global.js.map +1 -1
  171. package/dist/super.js +157 -159
  172. package/dist/techs/z-register.js +6 -6
  173. package/dist/tools/player.cjs +8 -9
  174. package/dist/tools/player.cjs.map +1 -1
  175. package/dist/tools/player.js +4 -4
  176. package/dist/tools/runtime.cjs +3 -4
  177. package/dist/tools/runtime.cjs.map +1 -1
  178. package/dist/tools/runtime.js +4 -6
  179. package/package.json +1 -1
  180. package/dist/chunk-63OCIEHV.js.map +0 -1
  181. package/dist/chunk-IL5VRN3J.js.map +0 -1
  182. /package/dist/{chunk-RSR33DL7.js.map → chunk-2Q353YGH.js.map} +0 -0
  183. /package/dist/{chunk-DYYDBZVH.js.map → chunk-52QBFKDH.js.map} +0 -0
  184. /package/dist/{chunk-X5N2SOX5.js.map → chunk-7P37TRZ5.js.map} +0 -0
  185. /package/dist/{chunk-2BAQUGMN.js.map → chunk-CQOLKYPW.js.map} +0 -0
  186. /package/dist/{chunk-JKKHPOIM.js.map → chunk-DK6YNSCO.js.map} +0 -0
  187. /package/dist/{chunk-KMGCIVPM.js.map → chunk-E7AZFMQX.js.map} +0 -0
  188. /package/dist/{chunk-S2QOATBM.js.map → chunk-F3PAGLUZ.js.map} +0 -0
  189. /package/dist/{chunk-LSRNWSOS.js.map → chunk-IUSUPM45.js.map} +0 -0
  190. /package/dist/{chunk-JB26PVHJ.js.map → chunk-JBAZVIWT.js.map} +0 -0
  191. /package/dist/{chunk-PWHHD7T3.js.map → chunk-JC6UPKIA.js.map} +0 -0
  192. /package/dist/{chunk-2TLAKFB7.js.map → chunk-OCU2ZQZV.js.map} +0 -0
  193. /package/dist/{chunk-4HLCTO2J.js.map → chunk-POYDDFOW.js.map} +0 -0
  194. /package/dist/{chunk-RNSCVEVT.js.map → chunk-SHDHGTLI.js.map} +0 -0
  195. /package/dist/{chunk-RXMOYOS7.js.map → chunk-SNL5HLFG.js.map} +0 -0
  196. /package/dist/{chunk-E5EK4GIX.js.map → chunk-VZVGUEAL.js.map} +0 -0
  197. /package/dist/{chunk-UUG777H2.js.map → chunk-YFIWARZK.js.map} +0 -0
  198. /package/dist/{chunk-Z4KCSX56.js.map → chunk-YLPGT7GW.js.map} +0 -0
  199. /package/dist/{chunk-FL3K4GMT.js.map → chunk-YOMNGHJS.js.map} +0 -0
  200. /package/dist/{chunk-SOIQEVRA.js.map → chunk-ZPYCRCIN.js.map} +0 -0
@@ -60,7 +60,6 @@ var flagMutationId;
60
60
  var AUDIO_CONTEXT = null;
61
61
  var AUDIO_LIMITER = null;
62
62
  var IS_DOC_TRANSIENT = false;
63
- var STATE_BUILD = { readyState: 0, audioContextReady: !!AUDIO_CONTEXT, mediaIntersecting: true, mediaParentIntersecting: true, dimensions: { container: { width: 0, height: 0, tier: "x" }, pseudoContainer: { width: 0, height: 0, tier: "x" }, window: { width: win?.innerWidth, height: win?.innerHeight } }, screenOrientation: { type: win?.screen?.orientation?.type ?? "", angle: win?.screen?.orientation?.angle ?? win?.orientation ?? 0 }, docVisibilityState: win?.document.visibilityState, docInFullscreen: queryFullscreen() };
64
63
  var Controllers = [];
65
64
  function handleVidMutation(mutations) {
66
65
  for (const mutation of mutations) {
@@ -198,7 +197,7 @@ var Controller = class {
198
197
  guardAllMethods(this, this.guard);
199
198
  const defs = merge(getMediaReport(medium), build.media);
200
199
  this.config = reactive(volatile(build), { referenceTracking: true, smartCloning: true, debug: false });
201
- this.state = reactive(structuredClone(STATE_BUILD), { debug: false });
200
+ this.state = reactive({ readyState: 0, audioContextReady: !!AUDIO_CONTEXT, mediaIntersecting: true, mediaParentIntersecting: true, dimensions: { container: { width: 0, height: 0, tier: "x" }, pseudoContainer: { width: 0, height: 0, tier: "x" }, window: { width: window.innerWidth, height: window.innerHeight } }, screenOrientation: { type: screen.orientation?.type ?? "", angle: screen.orientation?.angle ?? 0 }, docVisibilityState: document.visibilityState, docInFullscreen: queryFullscreen() }, { debug: false });
202
201
  this.state.watch("readyState", (v) => (this.payload.readyState = v, this.payload.initialized = v > 0, this.payload.wired = v > 1, this.payload.destroyed = v < 0), { signal: this.signal });
203
202
  this.media = reactive({ intent: volatile(intent(defs.intent)), state: defs.state, status: defs.status, settings: volatile(intent(defs.settings)), type: medium.tagName.toLowerCase(), tech: inert({}), features: {}, element: medium, pseudoElement: createEl(medium.tagName.toLowerCase()), container: createEl("div"), pseudoContainer: createEl("div") }, { debug: false, crossRealms: true });
204
203
  this.media.set("tech", (t) => inert(t), { signal: this.signal });
@@ -307,7 +306,8 @@ var Controller = class {
307
306
  step.op === "toggle" ? setPath(root, step.path, !cur) : step.op === "increment" ? setPath(root, step.path, cur + (step.value ?? 1)) : step.op === "decrement" ? setPath(root, step.path, cur - (step.value ?? 1)) : setPath(root, step.path, step.value);
308
307
  }
309
308
  }
310
- action.fn?.(...args), !action.gates?.some((g) => this.media.features[g] === false) && (action.notify && this.plug("settings.notifiers")?.notify(action.notify), action.toast && this.plug("settings.toasts")?.toast?.((isFunc(action.toast.render) ? action.toast.render() : action.toast.render) || `Executed ${action.label ?? action.id}`, action.toast));
309
+ const can = !action.gates?.some((g) => this.media.features[g] === false);
310
+ can && action.notify && this.plug("settings.notifiers")?.notify(action.notify), action.fn?.(...args), can && action.toast && this.plug("settings.toasts")?.toast?.((isFunc(action.toast.render) ? action.toast.render() : action.toast.render) || `Executed ${action.label ?? action.id}`, action.toast);
311
311
  }, action.label ?? action.id);
312
312
  }
313
313
  isLogicPath(path) {
@@ -437,7 +437,6 @@ export {
437
437
  AUDIO_CONTEXT,
438
438
  AUDIO_LIMITER,
439
439
  IS_DOC_TRANSIENT,
440
- STATE_BUILD,
441
440
  Controllers,
442
441
  handleVidMutation,
443
442
  handleDOMMutation,
@@ -448,4 +447,4 @@ export {
448
447
  init,
449
448
  Controller
450
449
  };
451
- //# sourceMappingURL=chunk-IL5VRN3J.js.map
450
+ //# sourceMappingURL=chunk-2KWQ2BJA.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/ts/tools/runtime.ts","../src/ts/core/controller.ts","../src/ts/tools/player.ts"],"sourcesContent":["import { Player } from \"./player\";\r\nimport { type Controller } from \"@core/controller\";\r\nimport { type Dimensions } from \"@defs/generics\";\r\nimport { setTimeout } from \"@utils/fn\";\r\nimport { queryFullscreen, observeMutation } from \"@utils/dom\";\r\nconst win = \"undefined\" !== typeof window ? window : undefined;\r\n\r\n// Defines states explicitly managed by the TMG Environment Observers\r\nexport interface CtlrState {\r\n readyState: number;\r\n audioContextReady: boolean;\r\n mediaIntersecting: boolean;\r\n mediaParentIntersecting: boolean;\r\n dimensions: { container: Dimensions & { tier: string }; pseudoContainer: Dimensions & { tier: string }; window: Dimensions };\r\n screenOrientation: { type: string; angle: number };\r\n docVisibilityState: DocumentVisibilityState;\r\n docInFullscreen: boolean;\r\n frameReadyPromise?: Promise<null> | null;\r\n}\r\n\r\n// --- GLOBAL STATE ---\r\nconst flagMutationSet = new WeakSet<HTMLElement>(); // weak set for true magic\r\nlet flagMutationId: number | undefined;\r\n// --- EXPORTS ---\r\nexport let AUDIO_CONTEXT: AudioContext | null = null;\r\nexport let AUDIO_LIMITER: DynamicsCompressorNode | null = null;\r\nexport let IS_DOC_TRANSIENT = false;\r\nexport const Controllers: Controller[] = [];\r\n\r\nexport function handleVidMutation(mutations: MutationRecord[]): void {\r\n for (const mutation of mutations) {\r\n if (mutation.type !== \"attributes\") continue;\r\n const target = mutation.target as HTMLMediaElement;\r\n if (mutation.attributeName === \"tmgcontrols\") !flagMutationSet.has(target) && (target.tmgcontrols = target.hasAttribute(\"tmgcontrols\"));\r\n else if (mutation.attributeName?.startsWith(\"tmg\")) target.hasAttribute(mutation.attributeName) && target.tmgPlayer?.fetchOptions();\r\n else if (mutation.attributeName === \"controls\") target.hasAttribute(\"tmgcontrols\") && target.removeAttribute(\"controls\");\r\n }\r\n}\r\n\r\nexport function handleDOMMutation(mutations: MutationRecord[]): void {\r\n for (const mutation of mutations) {\r\n for (const node of Array.from(mutation.addedNodes)) {\r\n if (!(node instanceof HTMLElement)) continue;\r\n const els = node.matches(\":is(video,audio):not(.tmg-host)\") ? [node] : node.querySelectorAll(\":is(video,audio):not(.tmg-host)\");\r\n for (const el of els) {\r\n observeMutation(el, handleVidMutation, { attributes: true });\r\n (el as HTMLMediaElement).tmgcontrols = el.hasAttribute(\"tmgcontrols\");\r\n }\r\n }\r\n for (const node of Array.from(mutation.removedNodes)) {\r\n if (!(node instanceof HTMLElement)) continue;\r\n const els = node.matches(\".tmg-host\") ? [node] : node.querySelectorAll(\".tmg-host\");\r\n for (const el of els) !(el as HTMLMediaElement).tmgPlayer?.Controller?.mutatingDOMM && (el as HTMLMediaElement).tmgPlayer?.detach();\r\n }\r\n }\r\n}\r\n\r\nfunction flagMutation(m: HTMLElement, check = true): void {\r\n !flagMutationSet.has(m) && check && flagMutationSet.add(m);\r\n}\r\n\r\nfunction freeMutation(m: HTMLElement): void {\r\n clearTimeout(flagMutationId);\r\n flagMutationId = setTimeout(() => !(flagMutationId = undefined) && flagMutationSet.delete(m));\r\n}\r\n\r\nexport function mountMedia() {\r\n if (\"undefined\" === typeof HTMLMediaElement) return;\r\n for (const el of [HTMLVideoElement, HTMLAudioElement])\r\n Object.defineProperty(el.prototype, \"tmgcontrols\", {\r\n get: function () {\r\n return this.hasAttribute(\"tmgcontrols\");\r\n },\r\n set: async function (value) {\r\n if (value) {\r\n flagMutation(this);\r\n await ((this as HTMLMediaElement).tmgPlayer || new Player()).attach(this);\r\n this.setAttribute(\"tmgcontrols\", \"\");\r\n freeMutation(this);\r\n } else {\r\n flagMutation(this, this.hasAttribute(\"tmgcontrols\"));\r\n this.removeAttribute(\"tmgcontrols\");\r\n (this as HTMLMediaElement).tmgPlayer?.detach();\r\n freeMutation(this);\r\n }\r\n },\r\n enumerable: true,\r\n configurable: true,\r\n });\r\n}\r\n\r\nexport function unmountMedia(): void {\r\n for (const el of [HTMLVideoElement, HTMLAudioElement]) delete (el.prototype as any).tmgcontrols;\r\n}\r\n\r\nexport function startAudioManager(): void {\r\n if (!AUDIO_CONTEXT && IS_DOC_TRANSIENT) {\r\n AUDIO_CONTEXT = new (win!.AudioContext || (win as any).webkitAudioContext)() as AudioContext;\r\n const L = (AUDIO_LIMITER = AUDIO_CONTEXT!.createDynamicsCompressor());\r\n (L.threshold.value = -1.0), (L.knee.value = 0.0), (L.ratio.value = 20), (L.attack.value = 0.001), (L.release.value = 0.05);\r\n for (const c of Controllers) if (c.state) c.state.audioContextReady = true;\r\n } else if (AUDIO_CONTEXT?.state === \"suspended\") AUDIO_CONTEXT.resume();\r\n}\r\n\r\nexport function connectMediaToAudioManager(medium: HTMLMediaElement) {\r\n if (!AUDIO_CONTEXT) return \"unavailable\";\r\n medium.mediaElementSourceNode ??= AUDIO_CONTEXT.createMediaElementSource(medium);\r\n medium._tmgGainNode ??= AUDIO_CONTEXT.createGain();\r\n medium._tmgDynamicsCompressorNode ??= AUDIO_CONTEXT.createDynamicsCompressor();\r\n medium.mediaElementSourceNode.connect(medium._tmgDynamicsCompressorNode);\r\n medium._tmgDynamicsCompressorNode.connect(medium._tmgGainNode);\r\n medium._tmgGainNode.connect(AUDIO_LIMITER!);\r\n AUDIO_LIMITER!.connect(AUDIO_CONTEXT!.destination);\r\n}\r\n\r\nexport function init(): void {\r\n mountMedia();\r\n for (const e of [\"click\", \"pointerdown\", \"keydown\"]) document.addEventListener(e, () => ((IS_DOC_TRANSIENT = true), startAudioManager()), true);\r\n for (const medium of document.querySelectorAll<HTMLMediaElement>(\"video,audio\")) {\r\n observeMutation(medium, handleVidMutation, { attributes: true });\r\n medium.tmgcontrols = medium.hasAttribute(\"tmgcontrols\");\r\n }\r\n observeMutation(document.documentElement, handleDOMMutation, { childList: true, subtree: true });\r\n win!.addEventListener(\"resize\", () => {\r\n for (const c of Controllers) if (c.state) (c.state.dimensions.window.width = win!.innerWidth), (c.state.dimensions.window.height = win!.innerHeight);\r\n });\r\n if (win?.screen?.orientation)\r\n win.screen.orientation.addEventListener(\"change\", ({ target }, t = target as ScreenOrientation) => {\r\n for (const c of Controllers) if (c.state) (c.state.screenOrientation.type = t.type), (c.state.screenOrientation.angle = t.angle);\r\n });\r\n else\r\n win?.addEventListener(\"orientationchange\", () => {\r\n for (const c of Controllers) if (c.state) c.state.screenOrientation.angle = (win as any).orientation || 0;\r\n });\r\n document.addEventListener(\"visibilitychange\", () => {\r\n for (const c of Controllers) if (c.state) c.state.docVisibilityState = document.visibilityState;\r\n });\r\n for (const e of [\"fullscreenchange\", \"webkitfullscreenchange\", \"mozfullscreenchange\", \"msfullscreenchange\"])\r\n document.addEventListener(e, (_, inFs = queryFullscreen()) => {\r\n for (const c of Controllers) if (c.state) c.state.docInFullscreen = inFs;\r\n });\r\n}\r\n","import type { CtlrConfig } from \"@defs/config\";\r\nimport type { CtlrMedia } from \"@defs/contract\";\r\nimport type { Action } from \"@defs/actions\";\r\nimport { TechRegistry, PlugRegistry } from \"./registries\";\r\nimport { AUDIO_CONTEXT, type CtlrState } from \"@tools/runtime\";\r\nimport { HTML5Tech } from \"@techs/html5\";\r\nimport type { TechConstructor } from \"@techs/base\";\r\nimport { PlugConstructor as PC, type BasePlug as Plug } from \"@plugs/base\";\r\nimport { guardAllMethods, guardMethod } from \"@utils/methd\";\r\nimport { setTimeout, throttle, cancelRAFLoop, RAFLoop, mockAsync, debounce } from \"@utils/fn\";\r\nimport { getWindow, queryFullscreen } from \"@utils/dom\";\r\nimport { createEl, observeIntersection, observeResize } from \"@utils/dom\";\r\nimport { uncamelize } from \"@utils/str\";\r\nimport { cloneMedia, getMediaReport, isSameSources, getSizeTier } from \"@utils/media\";\r\nimport { type Volatile, reactive, type Reactive, inert, intent, volatile, getRaw } from \"sia-reactor\";\r\nimport { fanout, getPath, mergeObjs as merge, nuke, setPath } from \"sia-reactor/utils\";\r\nimport type { PlugRegistryMap, ControllerDOMMap } from \"@defs/registries\";\r\nimport { isFunc, isStr } from \"@utils/obj\";\r\nimport { silence, transaction } from \"sia-reactor/modules\";\r\nimport { AUDIO_EXTENSIONS } from \"@utils/match\";\r\nimport { MediaType } from \"@defs/generics\";\r\n\r\n// --- CONTROLLER (The Orchestrator) ---\r\nexport class Controller {\r\n // --- CORE SYSTEM ---\r\n private ac = new AbortController();\r\n public readonly signal = this.ac.signal;\r\n public plugs = new Map<string, Plug>();\r\n // --- RUNTIME (Global Controller States) ---\r\n public media: Reactive<CtlrMedia>;\r\n public state: Reactive<CtlrState> & Record<string, any>; // runtime state and states to be populated for easy reach\r\n public config: Reactive<Volatile<CtlrConfig>>;\r\n public get settings() {\r\n return this.config.settings; // can change ref\r\n } // for easy reach, better devx\r\n public get actions() {\r\n return this.config.actions; // for easy reach\r\n }\r\n // --- MEMORY ---\r\n public payload: { readyState: number; initialized: boolean; wired: boolean; destroyed: boolean; instance: Controller } = { instance: this } as any;\r\n public _build: CtlrConfig; // Build Cache\r\n // DOM References (Utilized by Externals)\r\n public DOM: ControllerDOMMap = {}; // To be populated with common elements for easy reach\r\n public mutatingDOMM = true; // mutatingDOMMedia: for external watchers that need to know\r\n\r\n constructor(medium: HTMLMediaElement, build: CtlrConfig) {\r\n guardAllMethods(this, this.guard);\r\n const defs = merge(getMediaReport(medium), build.media); // returns defaults and initials\r\n this.config = reactive(volatile(build), { referenceTracking: true, smartCloning: true, debug: false }); // `lineageTracing: false` so clone before reassigning \"already in state\" objects\r\n this.state = reactive<CtlrState>({ readyState: 0, audioContextReady: !!AUDIO_CONTEXT, mediaIntersecting: true, mediaParentIntersecting: true, dimensions: { container: { width: 0, height: 0, tier: \"x\" }, pseudoContainer: { width: 0, height: 0, tier: \"x\" }, window: { width: window.innerWidth, height: window.innerHeight } }, screenOrientation: { type: screen.orientation?.type ?? \"\", angle: screen.orientation?.angle ?? 0 }, docVisibilityState: document.visibilityState, docInFullscreen: queryFullscreen() }, { debug: false });\r\n this.state.watch(\"readyState\", (v) => ((this.payload.readyState = v), (this.payload.initialized = v > 0), (this.payload.wired = v > 1), (this.payload.destroyed = v < 0)), { signal: this.signal });\r\n this.media = reactive({ intent: volatile(intent(defs.intent)), state: defs.state, status: defs.status, settings: volatile(intent(defs.settings)), type: medium.tagName.toLowerCase() as MediaType, tech: inert({}), features: {}, element: medium, pseudoElement: createEl(medium.tagName.toLowerCase()), container: createEl(\"div\"), pseudoContainer: createEl(\"div\") }, { debug: false, crossRealms: true }) as any;\r\n this.media.set(\"tech\", (t) => inert(t!), { signal: this.signal });\r\n this.log((this._build = this.config.snapshot())), delete this.config.media; // clone for resets and fast subsequents\r\n this.setReadyState(0), this.boot();\r\n }\r\n\r\n private async boot(): Promise<void> {\r\n this.connectPlugs(), this.wireTechHandler(), this.wireStateHandler();\r\n await mockAsync(0), this.setReadyState(1); // wiring the machinery\r\n this.state.wonce(\"readyState\", () => (!this.media.state.paused ? this.setReadyState(3) : this.media.wonce(\"state.paused\", () => this.setReadyState(3), { signal: this.signal })), { signal: this.signal }); // first play(ed), matters to some\r\n await mockAsync(0), this.setReadyState(2); // block `set` to stall, e.g lightState\r\n setTimeout(() => (this.mutatingDOMM = false), 0, this.signal);\r\n }\r\n\r\n public connectPlugs(Plugs = PlugRegistry.getOrdered()): void {\r\n if (!this.payload.wired) for (const Plug of Plugs) this.plugIn(Plug); // solve the \"must wire before tech to capture\" or plugs go from \"higher power\" to slaves on re-connect\r\n const plugs = this.payload.wired && Plugs.filter((Plug) => this.config.noPlugList !== \"*\" && (!this.config.noPlugList.includes(Plug.fullName) || Plug.isCore)).map((Plug) => new Plug(this));\r\n if (plugs) plugs.forEach((plug) => plug.mount?.()), plugs.forEach((plug) => plug.wire?.()); // plugs might rely on others being plugged in\r\n }\r\n public disconnectPlugs(): void {\r\n for (const plug of [...this.plugs.values()].reverse()) plug.destroy();\r\n }\r\n public plugIn(Plug: PC, config?: any): this {\r\n return this.config.noPlugList !== \"*\" && (!this.config.noPlugList.includes(Plug.fullName) || Plug.isCore) && new Plug(this, config).setup(), this; // #RESPONSIBLE: no external setup\r\n }\r\n public plug<K extends keyof PlugRegistryMap>(fullName: K): InstanceType<PlugRegistryMap[K]> | undefined;\r\n public plug<T extends Plug = Plug>(fullName: string): T | undefined;\r\n public plug(fullName: string): any {\r\n return this.plugs.get(fullName);\r\n }\r\n\r\n protected wireTechHandler(): void {\r\n this.media.watch(\"intent.src\", this.handleTech, { signal: this.signal, init: true }); // load initial\r\n this.media.watch(\"intent.sources\", this.handleTech, { signal: this.signal });\r\n this.media.watch(\"settings.srcObject\", this.handleTech, { signal: this.signal });\r\n }\r\n protected handleTech(): void {\r\n const { src, sources } = this.media.intent;\r\n if (this.media.settings.srcObject) return this.useTech(); // `MediaProvider` is native only\r\n let selectedTech: TechConstructor | null = TechRegistry.pick(src, this.config.settings.techOrder),\r\n selectedSource: string | null = selectedTech ? src : null;\r\n if (!selectedTech && !isSameSources(sources, this.media.state.sources))\r\n for (const source of sources) {\r\n selectedTech = TechRegistry.pick(source.src, this.config.settings.techOrder);\r\n if (selectedTech) {\r\n selectedSource = source.src;\r\n break;\r\n }\r\n }\r\n (getRaw(this.media.state).src = src), (getRaw(this.media.state).sources = inert(sources)); // for tech fanout accuracy\r\n this.useTech(selectedTech || undefined);\r\n if (selectedSource !== src && !this.media.features.sources) silence(() => (this.media.intent.src = selectedSource!)); // bonus since tech can't handle sources\r\n }\r\n public useTech(TechClass: TechConstructor = HTML5Tech, reload = false): void {\r\n this.media.type = AUDIO_EXTENSIONS.test(this.media.state.src) ? \"audio\" : \"video\";\r\n (reload || TechClass !== this.media.tech.constructor) && (this.media.tech = new TechClass(this)).setup(); // #RESPONSIBLE: no external setup\r\n }\r\n public get techTruth(): \"state\" | \"intent\" {\r\n return this.payload.wired ? \"state\" : \"intent\";\r\n }\r\n public get isNativeEl(): boolean {\r\n return this.media.element === this.media.tech.element;\r\n }\r\n\r\n private wireStateHandler(): void {\r\n observeIntersection(this.media.container.parentElement!, (entry) => (this.state.mediaParentIntersecting = entry.isIntersecting), this.signal);\r\n observeIntersection(this.media.container, (entry) => (this.state.mediaIntersecting = entry.isIntersecting), this.signal);\r\n observeResize(this.media.container, () => fanout(this.state.dimensions.container, getSizeTier(this.media.container)), this.signal);\r\n observeResize(this.media.pseudoContainer, () => fanout(this.state.dimensions.pseudoContainer, getSizeTier(this.media.pseudoContainer)), this.signal);\r\n }\r\n\r\n public setReadyState(state?: number): void {\r\n this.state.readyState = !this.state ? 0 : state ?? this.state.readyState + 1;\r\n const rS = this.state.readyState; // incase of blocked sets, e.g. lightState\r\n this.fire(\"tmgreadystatechange\", this.payload), this.fire(rS === 0 ? \"tmgcreate\" : rS === 1 ? \"tmginit\" : rS === 2 ? \"tmgwire\" : rS === 3 ? \"tmgfirstplay\" : rS === -1 ? \"tmgdestroy\" : \"\", this.payload);\r\n }\r\n\r\n public guard = <Fn extends Function>(fn: Fn, silent = false) => guardMethod(fn, (e) => this.notice(e, \"error\", !silent)); // `()=>{}`: needs to be bounded even before initialization\r\n public notice(mssg: any, type: \"error\" | \"warn\" | \"log\" = \"error\", toast?: string | boolean | null, swallow = true): void {\r\n this.log(mssg, type, swallow), toast !== false && (type === \"log\" || (type === \"error\" && swallow && !this.config.devMode) ? this.plug(\"settings.toasts\")?.toast : this.plug(\"settings.toasts\")?.toast?.[type])?.(toast === null || this.config.devMode ? mssg : isStr(toast) ? toast : \"Something went wrong\", { tag: \"tmg-stwr\" });\r\n }\r\n\r\n public log(mssg: any, type: \"error\" | \"warn\" | \"log\" = \"log\", swallow = false): void {\r\n if (!this.config.debug) return;\r\n if (type === \"error\") return swallow && !this.config.devMode ? console.warn(`[TMG Controller] Error swallowed:`, mssg) : console.error(`[TMG Controller] Error occurred:`, mssg);\r\n else type === \"warn\" ? console.warn(`[TMG Controller] Warning:`, mssg) : console.log(`[TMG Controller] Log:`, mssg);\r\n }\r\n\r\n public fire(eN: string, detail: any = null, el: HTMLElement | EventTarget = this.media.element, bubbles = true, cancelable = true): void {\r\n eN && el?.dispatchEvent(new CustomEvent(eN, { detail, bubbles, cancelable }));\r\n }\r\n\r\n public zenlist: string[] = [\"settings\"]; // plugs append here to block actions while their UI is active\r\n public registerAction(key: string, action: Omit<Action, \"id\">): void {\r\n const existing = this.actions.entries[key] ?? {};\r\n this.actions.entries[key] = { ...action, ...existing, id: key as any, fn: action.fn }; // fn always comes from the registering plug (runtime source of truth), persisted fields (label, logic, notify) survive from existing entry\r\n this.config.on(`actions.entries.${key}` as any, () => this.actions.entries[key] && this.actions.entries[key].fn !== action.fn && (this.actions.entries[key].fn = action.fn), { signal: this.signal });\r\n }\r\n public unregisterAction(key: string): void {\r\n delete this.actions.entries[key];\r\n }\r\n public runAction(id: string, ...args: any[]): void {\r\n const action = this.actions.entries[id];\r\n if (!action || (!action.zen && this.zenlist.some(this.isUIActive))) return;\r\n transaction(() => {\r\n if (action.logic?.length) {\r\n const root = { media: this.media, settings: this.config.settings } as any;\r\n for (const step of action.logic) {\r\n const cur = getPath(root, step.path as any);\r\n step.op === \"toggle\" ? setPath(root, step.path as any, !cur) : step.op === \"increment\" ? setPath(root, step.path as any, (cur as number) + (step.value ?? 1)) : step.op === \"decrement\" ? setPath(root, step.path as any, (cur as number) - (step.value ?? 1)) : setPath(root, step.path as any, step.value);\r\n }\r\n }\r\n const can = !action.gates?.some((g) => this.media.features[g] === false);\r\n can && action.notify && this.plug(\"settings.notifiers\")?.notify(action.notify), action.fn?.(...args), can && action.toast && this.plug(\"settings.toasts\")?.toast?.((isFunc(action.toast.render) ? action.toast.render() : action.toast.render) || `Executed ${action.label ?? action.id}`, action.toast);\r\n }, action.label ?? action.id);\r\n }\r\n public isLogicPath(path: string): boolean {\r\n return this.config.actions.logicPathBlacklist.some((b) => path === b || path.startsWith(b + \".\")) || (path.startsWith(\"media.intent.\") && (this.media.features as any)[path.split(\".\").pop()!] === false) ? false : true;\r\n }\r\n\r\n public throttle(key: string, fn: Function, delay = 30, strict: ((fn: Function) => number) | boolean = true, signal = this.signal) {\r\n throttle(this.config.id + key, fn, delay, strict, signal, getWindow(this.media.container));\r\n }\r\n public debounce(key: string, fn: Function, delay = 30, strict = true, signal = this.signal) {\r\n debounce(this.config.id + key, fn, delay, strict, signal, getWindow(this.media.container));\r\n }\r\n public RAFLoop(key: string, fn: Function, signal = this.signal): void {\r\n RAFLoop(this.config.id + key, fn, signal, getWindow(this.media.container));\r\n }\r\n public cancelRAFLoop(key: string): void {\r\n cancelRAFLoop(this.config.id + key);\r\n }\r\n public cancelAllLoops(): void {\r\n if (t007._RAFLoopers) for (const k of t007._RAFLoopers.keys()) k.startsWith(this.config.id) && cancelRAFLoop(k);\r\n }\r\n\r\n public isUIActive(mode: string): boolean {\r\n return this.media.container.classList.contains(`tmg-media-${uncamelize(mode === \"settings\" ? \"settings-view\" : mode, \"-\")}`);\r\n }\r\n public queryDOM<K extends keyof HTMLElementTagNameMap>(query: K, all: true, isPseudo?: boolean): NodeListOf<HTMLElementTagNameMap[K]>;\r\n public queryDOM<E extends Element = HTMLElement>(query: string, all: true, isPseudo?: boolean): NodeListOf<E>;\r\n public queryDOM<K extends keyof HTMLElementTagNameMap>(query: K, all?: false, isPseudo?: boolean): HTMLElementTagNameMap[K] | null;\r\n public queryDOM<E extends Element = HTMLElement>(query: string, all?: false, isPseudo?: boolean): E | null;\r\n public queryDOM(query: string, all = false, isPseudo = false) {\r\n return all ? (isPseudo ? this.media.pseudoContainer : this.media.container).querySelectorAll(query) : (isPseudo ? this.media.pseudoContainer : this.media.container).querySelector(query);\r\n }\r\n\r\n public syncImgLoadState(img: HTMLImageElement, now = true): HTMLImageElement {\r\n return [\"load\", \"error\"].forEach((ev) => img.addEventListener(ev, this.setImgLoadState, { signal: this.signal })), now && this.setImgLoadState({ target: img }), img;\r\n }\r\n public setImgLoadState<Ev extends Partial<Pick<Event, \"target\" | \"type\">>>({ target: img, type = \"load\" }: Ev): void {\r\n img instanceof HTMLImageElement && img?.setAttribute(\"data-loaded\", String(type === \"load\" && img.complete && img.naturalWidth > 0));\r\n }\r\n public setImgFallback<Ev extends Partial<Pick<Event, \"target\">>>({ target: img }: Ev): void {\r\n img instanceof HTMLImageElement && img.src !== window.TMG_MEDIA_ALT_IMG_SRC && (img.src = window.TMG_MEDIA_ALT_IMG_SRC!);\r\n }\r\n private altImg?: HTMLImageElement;\r\n public setCanvasFallback(canvas: HTMLCanvasElement, context?: CanvasRenderingContext2D | null, _callback = (img = this.altImg) => context?.drawImage((this.altImg = img)!, 0, 0, canvas.width, canvas.height)): void {\r\n const _img = canvas && (this.altImg && this.altImg.src === window.TMG_MEDIA_ALT_IMG_SRC ? _callback() : createEl(\"img\", { src: window.TMG_MEDIA_ALT_IMG_SRC, onload: () => _callback(_img as HTMLImageElement) }));\r\n }\r\n\r\n public destroy() {\r\n this.mutatingDOMM = true; // destruction will mutate, flag external watchers\r\n this.setReadyState(-1);\r\n this.ac.abort(\"[TMG Controller] Instance is being destroyed\"), this.cancelAllLoops();\r\n this.disconnectPlugs(), this.media.tech.destroy();\r\n const el = this.config.cloneOnDetach ? cloneMedia(this.media.element) : this.media.element;\r\n this.state.destroy(), this.config.destroy(), this.media.destroy();\r\n return nuke(this), el;\r\n }\r\n}\r\n","import { Controller } from \"@core/controller\";\r\nimport { Controllers } from \"./runtime\";\r\nimport { loadResource } from \"@utils/dom\";\r\nimport { isIter, isObj, setHTMLConfig } from \"@utils/obj\";\r\nimport { luid } from \"@utils/str\";\r\nimport { CONFIG_BUILD } from \"@consts/config\";\r\nimport type { CtlrConfig } from \"@defs/config\";\r\nimport { DeepPartial, Paths, PathValue } from \"sia-reactor\";\r\nimport { mergeObjs, parsePathObj } from \"sia-reactor/utils\";\r\n\r\nexport type BuildParam = DeepPartial<CtlrConfig> & Record<Paths<CtlrConfig>, PathValue<CtlrConfig>>;\r\n\r\nexport class Player {\r\n private medium: HTMLMediaElement | null = null;\r\n private active: boolean = false;\r\n private _build: CtlrConfig = structuredClone(CONFIG_BUILD) as CtlrConfig;\r\n private controller: Controller | null = null;\r\n public get Controller() {\r\n return this.controller;\r\n }\r\n public get build(): CtlrConfig {\r\n return this._build;\r\n }\r\n public set build(build: BuildParam) {\r\n this.configure(build);\r\n }\r\n\r\n constructor(build: BuildParam = {} as BuildParam) {\r\n this.configure({ ...build, id: build.id ?? `${luid()}_Controller_${Controllers.length + 1}` });\r\n }\r\n\r\n private queryBuild(): boolean {\r\n return !this.active || (this.notice({ error: \"Already deployed the custom controls of your build configuration\", tip: \"Consider setting your build configuration before attaching your media element\" }), false);\r\n }\r\n public configure(build: BuildParam): void {\r\n if (this.queryBuild() && isObj(build)) this._build = mergeObjs(this._build, parsePathObj(build));\r\n }\r\n\r\n public async attach(medium: HTMLMediaElement) {\r\n if (isIter(medium)) return this.notice({ error: \"An iterable argument cannot be attached to the TMG media player\", tip: \"Consider looping the iterable argument to instantiate a new 'tmg.Player' for each\" });\r\n if (this.active) return medium;\r\n medium.tmgPlayer?.detach();\r\n Controllers.push(this.build.id as any); // dummy for liveness\r\n this.build.debug && console.time(`TMG Controller ${Controllers.length} Attach`);\r\n medium.tmgPlayer = this;\r\n this.medium = medium;\r\n await this.fetchOptions(), await this.deployController();\r\n this.build.debug && console.timeEnd(`TMG Controller ${Controllers.indexOf(this.controller!) + 1} Attach`);\r\n return this.controller?.fire(\"tmgattach\", this.controller.payload), medium;\r\n }\r\n public detach() {\r\n if (!this.active) return;\r\n const medium = this.controller?.destroy() ?? ({} as any);\r\n this.controller && Controllers.splice(Controllers.indexOf(this.controller), 1);\r\n medium.classList?.remove(`tmg-${medium.tagName.toLowerCase()}`, \"tmg-media\", \"tmg-host\");\r\n medium.tmgcontrols = this.active = false;\r\n // this.controller?.fire(\"tmgdetach\", this.controller.payload);\r\n return (medium.tmgPlayer = this.controller = this.medium = null), medium;\r\n }\r\n\r\n public async fetchOptions() {\r\n if (!this.medium) return;\r\n if (this.medium.getAttribute(\"tmg\")?.includes(\".json\"))\r\n await fetch(this.medium.getAttribute(\"tmg\")!)\r\n .then((res) => {\r\n if (!res.ok) throw new Error(`JSON file not found at provided URL!. Status: ${res.status}`);\r\n return res.json();\r\n })\r\n .then((json) => this.configure(json))\r\n .catch(({ message }) => this.notice({ error: message, tip: \"A valid JSON file is required for parsing your build configuration\" }));\r\n const build = {} as BuildParam,\r\n attributes = this.medium.getAttributeNames().filter((attr) => attr.startsWith(\"tmg--\"));\r\n for (const attr of attributes) setHTMLConfig<BuildParam>(build, attr as any, this.medium!.getAttribute(attr)!);\r\n this.configure(build);\r\n }\r\n\r\n private async deployController() {\r\n if (this.active || !this.medium?.isConnected) return;\r\n if (!(this.medium instanceof HTMLMediaElement)) return this.notice({ error: `Could not deploy custom controls on the '${(this.medium as HTMLElement).tagName}' element as it is not supported`, warning: \"Only the 'VIDEO' and 'AUDIO' elements are currently supported\", tip: \"\" });\r\n this.medium.controls = false;\r\n this.medium.tmgcontrols = this.active = true;\r\n this.medium.classList.add(`tmg-${this.medium.tagName.toLowerCase()}`, \"tmg-media\", \"tmg-host\");\r\n await Promise.all([loadResource(window.TMG_MEDIA_CSS_SRC!), loadResource(window.T007_TOAST_JS_SRC!, \"script\", { module: true }), loadResource(window.T007_INPUT_JS_SRC!, \"script\")]); // await\r\n Controllers[Controllers.indexOf(this.build.id as any)] = this.controller = new Controller(this.medium, this._build);\r\n }\r\n\r\n private notice({ error, warning, tip }: Partial<Record<\"error\" | \"warning\" | \"tip\", string>>): void {\r\n if (this.build.debug) error && console.error(`[TMG Player] ${error}`), warning && console.warn(`[TMG Player] ${warning}`), tip && console.info(`[TMG Player] ${tip}`);\r\n }\r\n}\r\n\r\nexport function getCtlrIdx(ctlr: Controller): number {\r\n const i = Controllers.indexOf(ctlr.config.id as any);\r\n return i === -1 ? Controllers.indexOf(ctlr) : i; // a magician never reveals his tricks :)\r\n}\r\n"],"mappings":"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","names":[]}
@@ -1,3 +1,12 @@
1
+ import {
2
+ tripletriangleright
3
+ } from "./chunk-YF3LWJL4.js";
4
+ import {
5
+ unlock
6
+ } from "./chunk-TMTWPBFD.js";
7
+ import {
8
+ videotrack
9
+ } from "./chunk-QDNY2FAX.js";
1
10
  import {
2
11
  volumehigh
3
12
  } from "./chunk-JRWYWTTT.js";
@@ -7,6 +16,15 @@ import {
7
16
  import {
8
17
  volumemuted
9
18
  } from "./chunk-EF7RQIJK.js";
19
+ import {
20
+ replay
21
+ } from "./chunk-YHTCXXEG.js";
22
+ import {
23
+ returnback
24
+ } from "./chunk-VCVMCKZI.js";
25
+ import {
26
+ settings
27
+ } from "./chunk-2J3FJY73.js";
10
28
  import {
11
29
  shuffle
12
30
  } from "./chunk-OEHNS7YX.js";
@@ -23,14 +41,14 @@ import {
23
41
  tripletriangleleft
24
42
  } from "./chunk-NTNVW4BG.js";
25
43
  import {
26
- tripletriangleright
27
- } from "./chunk-YF3LWJL4.js";
44
+ pause
45
+ } from "./chunk-OOXUZMZ7.js";
28
46
  import {
29
- unlock
30
- } from "./chunk-TMTWPBFD.js";
47
+ pipplaceholder
48
+ } from "./chunk-S2XKXJNC.js";
31
49
  import {
32
- videotrack
33
- } from "./chunk-QDNY2FAX.js";
50
+ play
51
+ } from "./chunk-K4UHBEDT.js";
34
52
  import {
35
53
  playbackrate
36
54
  } from "./chunk-NGX5YDCB.js";
@@ -47,14 +65,14 @@ import {
47
65
  removeminiplayer
48
66
  } from "./chunk-N2Q3TZXW.js";
49
67
  import {
50
- replay
51
- } from "./chunk-YHTCXXEG.js";
68
+ leavepip
69
+ } from "./chunk-3WHPH6Q5.js";
52
70
  import {
53
- returnback
54
- } from "./chunk-VCVMCKZI.js";
71
+ leavetheater
72
+ } from "./chunk-2VOAIUTU.js";
55
73
  import {
56
- settings
57
- } from "./chunk-2J3FJY73.js";
74
+ lock
75
+ } from "./chunk-R5PBXGKK.js";
58
76
  import {
59
77
  loop
60
78
  } from "./chunk-OSDM6ZVT.js";
@@ -71,14 +89,14 @@ import {
71
89
  objectfitfill
72
90
  } from "./chunk-MJ26PFRF.js";
73
91
  import {
74
- pause
75
- } from "./chunk-OOXUZMZ7.js";
92
+ enterfullscreen
93
+ } from "./chunk-3OZEBWCF.js";
76
94
  import {
77
- pipplaceholder
78
- } from "./chunk-S2XKXJNC.js";
95
+ enterpip
96
+ } from "./chunk-WQXLL5IV.js";
79
97
  import {
80
- play
81
- } from "./chunk-K4UHBEDT.js";
98
+ entertheater
99
+ } from "./chunk-H24E5FRE.js";
82
100
  import {
83
101
  expandminiplayer
84
102
  } from "./chunk-RKBRRJY6.js";
@@ -95,14 +113,14 @@ import {
95
113
  leavefullscreen
96
114
  } from "./chunk-IVA7LFT2.js";
97
115
  import {
98
- leavepip
99
- } from "./chunk-3WHPH6Q5.js";
116
+ cast
117
+ } from "./chunk-6S5BMP4A.js";
100
118
  import {
101
- leavetheater
102
- } from "./chunk-2VOAIUTU.js";
119
+ castplaceholder
120
+ } from "./chunk-ATE4NMIF.js";
103
121
  import {
104
- lock
105
- } from "./chunk-R5PBXGKK.js";
122
+ chapters
123
+ } from "./chunk-2W5XWGGE.js";
106
124
  import {
107
125
  deleteicon
108
126
  } from "./chunk-UJTVBENE.js";
@@ -119,14 +137,14 @@ import {
119
137
  edit
120
138
  } from "./chunk-UDZLXFLI.js";
121
139
  import {
122
- enterfullscreen
123
- } from "./chunk-3OZEBWCF.js";
140
+ autoplay
141
+ } from "./chunk-WTHHXWQM.js";
124
142
  import {
125
- enterpip
126
- } from "./chunk-WQXLL5IV.js";
143
+ backward10
144
+ } from "./chunk-3KD22Z7D.js";
127
145
  import {
128
- entertheater
129
- } from "./chunk-H24E5FRE.js";
146
+ brightnessdark
147
+ } from "./chunk-6IFGKHVM.js";
130
148
  import {
131
149
  brightnesshigh
132
150
  } from "./chunk-5TJURBKV.js";
@@ -142,15 +160,6 @@ import {
142
160
  import {
143
161
  capture
144
162
  } from "./chunk-HA2GK6KH.js";
145
- import {
146
- cast
147
- } from "./chunk-6S5BMP4A.js";
148
- import {
149
- castplaceholder
150
- } from "./chunk-ATE4NMIF.js";
151
- import {
152
- chapters
153
- } from "./chunk-2W5XWGGE.js";
154
163
  import {
155
164
  add
156
165
  } from "./chunk-ID72UAJE.js";
@@ -166,15 +175,6 @@ import {
166
175
  import {
167
176
  audiotrack
168
177
  } from "./chunk-OSYK6DSS.js";
169
- import {
170
- autoplay
171
- } from "./chunk-WTHHXWQM.js";
172
- import {
173
- backward10
174
- } from "./chunk-3KD22Z7D.js";
175
- import {
176
- brightnessdark
177
- } from "./chunk-6IFGKHVM.js";
178
178
  import {
179
179
  IconRegistry
180
180
  } from "./chunk-445PI4JX.js";
@@ -242,4 +242,4 @@ IconRegistry.registerAll({
242
242
  add,
243
243
  edit
244
244
  });
245
- //# sourceMappingURL=chunk-RSR33DL7.js.map
245
+ //# sourceMappingURL=chunk-2Q353YGH.js.map
@@ -7,7 +7,7 @@ import {
7
7
  import {
8
8
  AUDIO_CONTEXT,
9
9
  connectMediaToAudioManager
10
- } from "./chunk-IL5VRN3J.js";
10
+ } from "./chunk-2KWQ2BJA.js";
11
11
  import {
12
12
  clamp
13
13
  } from "./chunk-YWBPJGAR.js";
@@ -107,4 +107,4 @@ __publicField(VolumePlug, "BUILD", VOLUME_BUILD);
107
107
  export {
108
108
  VolumePlug
109
109
  };
110
- //# sourceMappingURL=chunk-DYYDBZVH.js.map
110
+ //# sourceMappingURL=chunk-52QBFKDH.js.map
@@ -6,7 +6,7 @@ import {
6
6
  } from "./chunk-GUFNBA6P.js";
7
7
  import {
8
8
  getCtlrIdx
9
- } from "./chunk-IL5VRN3J.js";
9
+ } from "./chunk-2KWQ2BJA.js";
10
10
  import {
11
11
  __publicField
12
12
  } from "./chunk-UVKRO5ER.js";
@@ -55,4 +55,4 @@ __publicField(TimeTravelPlug, "BUILD", TIME_TRAVEL_BUILD);
55
55
  export {
56
56
  TimeTravelPlug
57
57
  };
58
- //# sourceMappingURL=chunk-X5N2SOX5.js.map
58
+ //# sourceMappingURL=chunk-7P37TRZ5.js.map
@@ -4,12 +4,12 @@ import {
4
4
  import {
5
5
  BasePlug
6
6
  } from "./chunk-GUFNBA6P.js";
7
- import {
8
- formatMediaTime
9
- } from "./chunk-J3OR7IU3.js";
10
7
  import {
11
8
  IconRegistry
12
9
  } from "./chunk-445PI4JX.js";
10
+ import {
11
+ formatMediaTime
12
+ } from "./chunk-J3OR7IU3.js";
13
13
  import {
14
14
  __publicField
15
15
  } from "./chunk-UVKRO5ER.js";
@@ -54,4 +54,4 @@ __publicField(SleepTimerPlug, "BUILD", SLEEP_TIMER_BUILD);
54
54
  export {
55
55
  SleepTimerPlug
56
56
  };
57
- //# sourceMappingURL=chunk-2BAQUGMN.js.map
57
+ //# sourceMappingURL=chunk-CQOLKYPW.js.map
@@ -1,52 +1,51 @@
1
+ import {
2
+ VoicePlug
3
+ } from "./chunk-F452XVZC.js";
4
+ import {
5
+ VOICE_BUILD
6
+ } from "./chunk-MB5D2ET7.js";
1
7
  import {
2
8
  VolumePlug
3
- } from "./chunk-DYYDBZVH.js";
9
+ } from "./chunk-52QBFKDH.js";
4
10
  import {
5
11
  VOLUME_BUILD
6
12
  } from "./chunk-Q2XYS26I.js";
7
13
  import {
8
- ErrorsPlug
9
- } from "./chunk-5D4UUGQD.js";
10
- import {
11
- ERRORS_BUILD,
12
- ERROR_CODES
13
- } from "./chunk-4PWG5DNN.js";
14
+ TimePlug
15
+ } from "./chunk-U2XH3FHI.js";
14
16
  import {
15
17
  SleepTimerPlug
16
- } from "./chunk-2BAQUGMN.js";
18
+ } from "./chunk-CQOLKYPW.js";
19
+ import {
20
+ SLEEP_TIMER_BUILD
21
+ } from "./chunk-RGPGW4ZJ.js";
17
22
  import {
18
23
  TimeTravelPlug
19
- } from "./chunk-X5N2SOX5.js";
24
+ } from "./chunk-7P37TRZ5.js";
20
25
  import {
21
26
  TIME_TRAVEL_BUILD
22
27
  } from "./chunk-M653CZPD.js";
23
- import {
24
- VoicePlug
25
- } from "./chunk-F452XVZC.js";
26
- import {
27
- VOICE_BUILD
28
- } from "./chunk-MB5D2ET7.js";
29
- import {
30
- TimePlug
31
- } from "./chunk-U2XH3FHI.js";
32
- import {
33
- TIME_BUILD
34
- } from "./chunk-274C5J22.js";
35
28
  import {
36
29
  SettingsViewPlug
37
- } from "./chunk-Z4KCSX56.js";
30
+ } from "./chunk-YLPGT7GW.js";
38
31
  import {
39
32
  SETTINGS_BUILD
40
33
  } from "./chunk-NPTM6BGC.js";
41
- import {
42
- SLEEP_TIMER_BUILD
43
- } from "./chunk-RGPGW4ZJ.js";
44
34
  import {
45
35
  PlaybackRatePlug
46
36
  } from "./chunk-SJ4JQ3N7.js";
47
37
  import {
48
38
  PLAYBACK_RATE_BUILD
49
39
  } from "./chunk-K7AAKFQF.js";
40
+ import {
41
+ TIME_BUILD
42
+ } from "./chunk-274C5J22.js";
43
+ import {
44
+ OverlayPlug
45
+ } from "./chunk-WWYLXTLC.js";
46
+ import {
47
+ OVERLAY_BUILD
48
+ } from "./chunk-PXU563OY.js";
50
49
  import {
51
50
  PersistPlug
52
51
  } from "./chunk-HW3NSLNH.js";
@@ -62,6 +61,9 @@ import {
62
61
  import {
63
62
  NotifiersPlug
64
63
  } from "./chunk-OORIO2JT.js";
64
+ import {
65
+ NOTIFIERS_BUILD
66
+ } from "./chunk-ZCMJVQ6P.js";
65
67
  import {
66
68
  ObjectFitPlug
67
69
  } from "./chunk-L4FVJWVD.js";
@@ -69,37 +71,19 @@ import {
69
71
  OBJECT_FIT_BUILD,
70
72
  objectFits
71
73
  } from "./chunk-KD3OBG25.js";
72
- import {
73
- OverlayPlug
74
- } from "./chunk-WWYLXTLC.js";
75
- import {
76
- OVERLAY_BUILD
77
- } from "./chunk-PXU563OY.js";
78
74
  import {
79
75
  MetadataPlug
80
76
  } from "./chunk-LV46QIYT.js";
81
77
  import {
82
78
  METADATA_BUILD
83
79
  } from "./chunk-BGODOEUS.js";
84
- import {
85
- LockedPlug
86
- } from "./chunk-KICE2FTX.js";
87
- import {
88
- LOCKED_BUILD
89
- } from "./chunk-FHL5Z6MX.js";
90
- import {
91
- NOTIFIERS_BUILD
92
- } from "./chunk-ZCMJVQ6P.js";
93
- import {
94
- KeysPlug
95
- } from "./chunk-S2QOATBM.js";
96
80
  import {
97
81
  ModesFullscreenPin,
98
82
  ModesMiniplayerPin,
99
83
  ModesPictureInPicturePin,
100
84
  ModesPlug,
101
85
  ModesTheaterPin
102
- } from "./chunk-JB26PVHJ.js";
86
+ } from "./chunk-JBAZVIWT.js";
103
87
  import {
104
88
  MODES_BUILD,
105
89
  MODES_FULLSCREEN_BUILD,
@@ -108,6 +92,19 @@ import {
108
92
  MODES_THEATER_BUILD,
109
93
  ORIENTATION_OPTIONS
110
94
  } from "./chunk-NDUYN2X2.js";
95
+ import {
96
+ LockedPlug
97
+ } from "./chunk-KICE2FTX.js";
98
+ import {
99
+ KeysPlug
100
+ } from "./chunk-F3PAGLUZ.js";
101
+ import {
102
+ AutoPlug
103
+ } from "./chunk-M2PZB5PA.js";
104
+ import {
105
+ APT_AUTOPLAY_OPTIONS,
106
+ AUTO_BUILD
107
+ } from "./chunk-LJKSIFLD.js";
111
108
  import {
112
109
  GesturePlug,
113
110
  GestureTouchPin,
@@ -119,30 +116,12 @@ import {
119
116
  GESTURE_WHEEL_BUILD
120
117
  } from "./chunk-MEAGFRLE.js";
121
118
  import {
122
- FastPlayPlug
123
- } from "./chunk-UMYJXWZ2.js";
124
- import {
125
- FAST_PLAY_BUILD
126
- } from "./chunk-OBASYXH2.js";
127
- import {
128
- FramePlug
129
- } from "./chunk-53TJ5GMK.js";
130
- import {
131
- FRAME_BUILD
132
- } from "./chunk-4QQXED6P.js";
133
- import {
134
- CSSPlug
135
- } from "./chunk-QVRXLLHK.js";
136
- import {
137
- CSS_BUILD
138
- } from "./chunk-UCBDCGYX.js";
139
- import {
140
- CastPlug
141
- } from "./chunk-WU3EQI72.js";
119
+ LOCKED_BUILD
120
+ } from "./chunk-FHL5Z6MX.js";
142
121
  import {
143
122
  ControlPanelDraggablePin,
144
123
  ControlPanelPlug
145
- } from "./chunk-RXMOYOS7.js";
124
+ } from "./chunk-SNL5HLFG.js";
146
125
  import {
147
126
  ToastsPlug,
148
127
  tutorialOpts
@@ -151,24 +130,30 @@ import {
151
130
  TOASTS_BUILD
152
131
  } from "./chunk-IFYBKLFH.js";
153
132
  import {
154
- AutoPlug
155
- } from "./chunk-M2PZB5PA.js";
133
+ FramePlug
134
+ } from "./chunk-53TJ5GMK.js";
156
135
  import {
157
- APT_AUTOPLAY_OPTIONS,
158
- AUTO_BUILD
159
- } from "./chunk-LJKSIFLD.js";
136
+ FRAME_BUILD
137
+ } from "./chunk-4QQXED6P.js";
160
138
  import {
161
- CaptionsPlug
162
- } from "./chunk-UUG777H2.js";
139
+ FastPlayPlug
140
+ } from "./chunk-UMYJXWZ2.js";
163
141
  import {
164
- BrightnessPlug
165
- } from "./chunk-O25FBBRN.js";
142
+ FAST_PLAY_BUILD
143
+ } from "./chunk-OBASYXH2.js";
166
144
  import {
167
- BRIGHTNESS_BUILD
168
- } from "./chunk-JPWNE7JO.js";
145
+ CSSPlug
146
+ } from "./chunk-QVRXLLHK.js";
169
147
  import {
170
- AirPlayPlug
171
- } from "./chunk-I43HEKW2.js";
148
+ CSS_BUILD
149
+ } from "./chunk-UCBDCGYX.js";
150
+ import {
151
+ ErrorsPlug
152
+ } from "./chunk-5D4UUGQD.js";
153
+ import {
154
+ ERRORS_BUILD,
155
+ ERROR_CODES
156
+ } from "./chunk-4PWG5DNN.js";
172
157
  import {
173
158
  AmbiencePlug
174
159
  } from "./chunk-7E337RWO.js";
@@ -176,8 +161,14 @@ import {
176
161
  AMBIENT_BUILD
177
162
  } from "./chunk-WIHCBWQL.js";
178
163
  import {
179
- PlaylistPlug
180
- } from "./chunk-E5EK4GIX.js";
164
+ CaptionsPlug
165
+ } from "./chunk-YFIWARZK.js";
166
+ import {
167
+ CastPlug
168
+ } from "./chunk-WU3EQI72.js";
169
+ import {
170
+ AirPlayPlug
171
+ } from "./chunk-I43HEKW2.js";
181
172
  import {
182
173
  SkeletonPlug
183
174
  } from "./chunk-IHVE6Q4K.js";
@@ -185,11 +176,11 @@ import {
185
176
  SKELETON_BUILD
186
177
  } from "./chunk-QZ63RGAN.js";
187
178
  import {
188
- DisabledPlug
189
- } from "./chunk-XY53YSY2.js";
179
+ BrightnessPlug
180
+ } from "./chunk-O25FBBRN.js";
190
181
  import {
191
- DISABLED_BUILD
192
- } from "./chunk-WW56NFQS.js";
182
+ BRIGHTNESS_BUILD
183
+ } from "./chunk-JPWNE7JO.js";
193
184
  import {
194
185
  LightStatePlug
195
186
  } from "./chunk-VB24TO7N.js";
@@ -197,14 +188,14 @@ import {
197
188
  LIGHT_STATE_BUILD
198
189
  } from "./chunk-GM7YMURS.js";
199
190
  import {
200
- BasePin,
201
- BasePlug
202
- } from "./chunk-GUFNBA6P.js";
191
+ PlaylistPlug
192
+ } from "./chunk-VZVGUEAL.js";
203
193
  import {
204
- KEYS_BUILD,
205
- KEYS_WHITELIST,
206
- KEY_SHORTCUT_MOD_ACTIONS
207
- } from "./chunk-W7UIRU3J.js";
194
+ DisabledPlug
195
+ } from "./chunk-XY53YSY2.js";
196
+ import {
197
+ DISABLED_BUILD
198
+ } from "./chunk-WW56NFQS.js";
208
199
  import {
209
200
  CAPTIONS_BUILD,
210
201
  ROTATE_PATHS,
@@ -216,10 +207,19 @@ import {
216
207
  CONTROL_PANEL_DRAGGABLE_BUILD,
217
208
  ROWS_ARR
218
209
  } from "./chunk-5WUVFNKH.js";
210
+ import {
211
+ KEYS_BUILD,
212
+ KEYS_WHITELIST,
213
+ KEY_SHORTCUT_MOD_ACTIONS
214
+ } from "./chunk-W7UIRU3J.js";
219
215
  import {
220
216
  PLAYLIST_BUILD,
221
217
  PLAYLIST_ITEM_BUILD
222
218
  } from "./chunk-GSNYL64O.js";
219
+ import {
220
+ BasePin,
221
+ BasePlug
222
+ } from "./chunk-GUFNBA6P.js";
223
223
  import {
224
224
  __export
225
225
  } from "./chunk-UVKRO5ER.js";
@@ -324,4 +324,4 @@ __export(plugs_exports, {
324
324
  export {
325
325
  plugs_exports
326
326
  };
327
- //# sourceMappingURL=chunk-JKKHPOIM.js.map
327
+ //# sourceMappingURL=chunk-DK6YNSCO.js.map