tmg-media-player 0.0.51 → 0.0.52

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 (145) hide show
  1. package/dist/{chunk-2JHD2Z5P.js → chunk-2OHQBZKH.js} +37 -37
  2. package/dist/{chunk-UXPJX6DM.js → chunk-2QQKREUQ.js} +2 -2
  3. package/dist/chunk-2QQKREUQ.js.map +1 -0
  4. package/dist/{chunk-T2NVBWES.js → chunk-3QK62D6I.js} +2 -2
  5. package/dist/{chunk-R5V4VEDK.js → chunk-6WW7UDPB.js} +2 -2
  6. package/dist/{chunk-DQ6V36JC.js → chunk-7NPSUH5I.js} +91 -91
  7. package/dist/{chunk-XLO7XNXV.js → chunk-AAAC4LGM.js} +5 -5
  8. package/dist/{chunk-I6T5OEML.js → chunk-AQCRX34A.js} +45 -45
  9. package/dist/{chunk-PKTEMWP6.js → chunk-BDOMJ3H6.js} +2 -2
  10. package/dist/{chunk-H75ARQQO.js → chunk-BHOKUCTS.js} +4 -4
  11. package/dist/{chunk-AI3KGEY5.js → chunk-C2ZMET6S.js} +4 -4
  12. package/dist/{chunk-3F6W6DSD.js → chunk-C7CZOPIV.js} +2 -2
  13. package/dist/{chunk-652NRTUU.js → chunk-CDFBT733.js} +2 -2
  14. package/dist/{chunk-7GKTQSXW.js → chunk-D5BKHALZ.js} +2 -2
  15. package/dist/{chunk-2XGBSYGL.js → chunk-DI5S7MNA.js} +4 -4
  16. package/dist/{chunk-IWHLWKEJ.js → chunk-FOINI3A2.js} +7 -7
  17. package/dist/{chunk-G7L7VVQP.js → chunk-IB56NVNO.js} +5 -5
  18. package/dist/{chunk-NHQA3G5Z.js → chunk-ILS7NUF3.js} +2 -1
  19. package/dist/chunk-ILS7NUF3.js.map +1 -0
  20. package/dist/{chunk-WRKV2ZCC.js → chunk-ML7CF4SL.js} +2 -2
  21. package/dist/{chunk-JBZTSGCF.js → chunk-ONQRGELT.js} +3 -2
  22. package/dist/chunk-ONQRGELT.js.map +1 -0
  23. package/dist/{chunk-U3Z5BDE6.js → chunk-RBX5DK3W.js} +13 -13
  24. package/dist/{chunk-SCNWUIPE.js → chunk-RREGBI2M.js} +85 -85
  25. package/dist/{chunk-LHWOCLHD.js → chunk-SDJVECYC.js} +55 -55
  26. package/dist/{chunk-PXHP53JG.js → chunk-SWXX4V45.js} +2 -2
  27. package/dist/{chunk-WWLZBRD2.js → chunk-TUL4OVZV.js} +2 -2
  28. package/dist/{chunk-CU54FRYX.js → chunk-UPDR5G37.js} +7 -7
  29. package/dist/{chunk-OJENXHMW.js → chunk-WQFWYVD3.js} +2 -2
  30. package/dist/{chunk-LSXBXAAY.js → chunk-WX4S6YOV.js} +8 -4
  31. package/dist/{chunk-LSXBXAAY.js.map → chunk-WX4S6YOV.js.map} +1 -1
  32. package/dist/{chunk-C3WXXZAJ.js → chunk-XQXV7NVO.js} +2 -2
  33. package/dist/{chunk-EBZE2J5R.js → chunk-ZQEDE4MR.js} +4 -4
  34. package/dist/{chunk-TRAN6A57.js → chunk-ZUTXLQL4.js} +4 -4
  35. package/dist/components/controls/fullscreenOrientation.js +2 -2
  36. package/dist/components/controls/timeline/index.js +3 -3
  37. package/dist/components/icons/z-register.js +25 -25
  38. package/dist/components/z-register.js +20 -20
  39. package/dist/core/controller.js +2 -2
  40. package/dist/index.js +3 -3
  41. package/dist/init.js +3 -3
  42. package/dist/plugs/main/playlist/index.js +2 -2
  43. package/dist/plugs/menus/main/actions.js +2 -2
  44. package/dist/plugs/menus/settings/auto.js +2 -2
  45. package/dist/plugs/menus/settings/frame.js +2 -2
  46. package/dist/plugs/menus/settings/gesture.cjs +2 -1
  47. package/dist/plugs/menus/settings/gesture.cjs.map +1 -1
  48. package/dist/plugs/menus/settings/gesture.js +1 -1
  49. package/dist/plugs/menus/settings/modes.js +2 -2
  50. package/dist/plugs/menus/settings/sleepTimer.js +2 -2
  51. package/dist/plugs/menus/settings/toasts.js +2 -2
  52. package/dist/plugs/menus/settings/voice.js +2 -2
  53. package/dist/plugs/menus/z-register.cjs +2 -1
  54. package/dist/plugs/menus/z-register.cjs.map +1 -1
  55. package/dist/plugs/menus/z-register.js +8 -8
  56. package/dist/plugs/settings/auto/index.js +2 -2
  57. package/dist/plugs/settings/captions/index.js +4 -4
  58. package/dist/plugs/settings/controlPanel/draggable.js +2 -2
  59. package/dist/plugs/settings/controlPanel/index.js +2 -2
  60. package/dist/plugs/settings/gesture/build.cjs +1 -0
  61. package/dist/plugs/settings/gesture/build.cjs.map +1 -1
  62. package/dist/plugs/settings/gesture/build.js +1 -1
  63. package/dist/plugs/settings/gesture/index.cjs +7 -2
  64. package/dist/plugs/settings/gesture/index.cjs.map +1 -1
  65. package/dist/plugs/settings/gesture/index.js +2 -2
  66. package/dist/plugs/settings/gesture/touch.cjs +7 -2
  67. package/dist/plugs/settings/gesture/touch.cjs.map +1 -1
  68. package/dist/plugs/settings/gesture/touch.js +2 -2
  69. package/dist/plugs/settings/gesture/types.cjs.map +1 -1
  70. package/dist/plugs/settings/gesture/wheel.cjs.map +1 -1
  71. package/dist/plugs/settings/gesture/wheel.js +2 -2
  72. package/dist/plugs/settings/keys/index.js +2 -2
  73. package/dist/plugs/settings/modes/airplay.js +4 -4
  74. package/dist/plugs/settings/modes/cast.js +4 -4
  75. package/dist/plugs/settings/modes/fullscreen.js +3 -3
  76. package/dist/plugs/settings/modes/index.js +3 -3
  77. package/dist/plugs/settings/modes/miniplayer.js +3 -3
  78. package/dist/plugs/settings/modes/pictureInPicture.js +3 -3
  79. package/dist/plugs/settings/modes/theater.js +3 -3
  80. package/dist/plugs/settings/panel/index.cjs +1 -1
  81. package/dist/plugs/settings/panel/index.cjs.map +1 -1
  82. package/dist/plugs/settings/panel/index.js +2 -2
  83. package/dist/plugs/settings/panel/menu/index.cjs +1 -1
  84. package/dist/plugs/settings/panel/menu/index.cjs.map +1 -1
  85. package/dist/plugs/settings/panel/menu/index.js +1 -1
  86. package/dist/plugs/settings/sleepTimer/index.js +1 -1
  87. package/dist/plugs/settings/timeTravel/index.js +3 -3
  88. package/dist/plugs/settings/voice/index.js +2 -2
  89. package/dist/plugs/settings/volume/index.js +3 -3
  90. package/dist/plugs/z-register.cjs +8 -3
  91. package/dist/plugs/z-register.cjs.map +1 -1
  92. package/dist/plugs/z-register.js +42 -42
  93. package/dist/super/components/icons.js +55 -55
  94. package/dist/super/components/index.js +98 -98
  95. package/dist/super/plugs/index.cjs +10 -4
  96. package/dist/super/plugs/index.cjs.map +1 -1
  97. package/dist/super/plugs/index.js +99 -99
  98. package/dist/super/plugs/menus.cjs +2 -1
  99. package/dist/super/plugs/menus.cjs.map +1 -1
  100. package/dist/super/plugs/menus.js +21 -21
  101. package/dist/super/techs.js +11 -11
  102. package/dist/super.cjs +10 -4
  103. package/dist/super.cjs.map +1 -1
  104. package/dist/super.global.js +10 -4
  105. package/dist/super.global.js.map +1 -1
  106. package/dist/super.js +108 -108
  107. package/dist/techs/dash.js +3 -3
  108. package/dist/techs/hls.js +3 -3
  109. package/dist/techs/html5.js +2 -2
  110. package/dist/techs/shaka.js +3 -3
  111. package/dist/techs/vimeo.js +2 -2
  112. package/dist/techs/youtube.js +3 -3
  113. package/dist/techs/z-register.js +8 -8
  114. package/dist/tools/player.js +2 -2
  115. package/dist/tools/runtime/index.js +2 -2
  116. package/package.json +1 -1
  117. package/dist/chunk-JBZTSGCF.js.map +0 -1
  118. package/dist/chunk-NHQA3G5Z.js.map +0 -1
  119. package/dist/chunk-UXPJX6DM.js.map +0 -1
  120. /package/dist/{chunk-2JHD2Z5P.js.map → chunk-2OHQBZKH.js.map} +0 -0
  121. /package/dist/{chunk-T2NVBWES.js.map → chunk-3QK62D6I.js.map} +0 -0
  122. /package/dist/{chunk-R5V4VEDK.js.map → chunk-6WW7UDPB.js.map} +0 -0
  123. /package/dist/{chunk-DQ6V36JC.js.map → chunk-7NPSUH5I.js.map} +0 -0
  124. /package/dist/{chunk-XLO7XNXV.js.map → chunk-AAAC4LGM.js.map} +0 -0
  125. /package/dist/{chunk-I6T5OEML.js.map → chunk-AQCRX34A.js.map} +0 -0
  126. /package/dist/{chunk-PKTEMWP6.js.map → chunk-BDOMJ3H6.js.map} +0 -0
  127. /package/dist/{chunk-H75ARQQO.js.map → chunk-BHOKUCTS.js.map} +0 -0
  128. /package/dist/{chunk-AI3KGEY5.js.map → chunk-C2ZMET6S.js.map} +0 -0
  129. /package/dist/{chunk-3F6W6DSD.js.map → chunk-C7CZOPIV.js.map} +0 -0
  130. /package/dist/{chunk-652NRTUU.js.map → chunk-CDFBT733.js.map} +0 -0
  131. /package/dist/{chunk-7GKTQSXW.js.map → chunk-D5BKHALZ.js.map} +0 -0
  132. /package/dist/{chunk-2XGBSYGL.js.map → chunk-DI5S7MNA.js.map} +0 -0
  133. /package/dist/{chunk-IWHLWKEJ.js.map → chunk-FOINI3A2.js.map} +0 -0
  134. /package/dist/{chunk-G7L7VVQP.js.map → chunk-IB56NVNO.js.map} +0 -0
  135. /package/dist/{chunk-WRKV2ZCC.js.map → chunk-ML7CF4SL.js.map} +0 -0
  136. /package/dist/{chunk-U3Z5BDE6.js.map → chunk-RBX5DK3W.js.map} +0 -0
  137. /package/dist/{chunk-SCNWUIPE.js.map → chunk-RREGBI2M.js.map} +0 -0
  138. /package/dist/{chunk-LHWOCLHD.js.map → chunk-SDJVECYC.js.map} +0 -0
  139. /package/dist/{chunk-PXHP53JG.js.map → chunk-SWXX4V45.js.map} +0 -0
  140. /package/dist/{chunk-WWLZBRD2.js.map → chunk-TUL4OVZV.js.map} +0 -0
  141. /package/dist/{chunk-CU54FRYX.js.map → chunk-UPDR5G37.js.map} +0 -0
  142. /package/dist/{chunk-OJENXHMW.js.map → chunk-WQFWYVD3.js.map} +0 -0
  143. /package/dist/{chunk-C3WXXZAJ.js.map → chunk-XQXV7NVO.js.map} +0 -0
  144. /package/dist/{chunk-EBZE2J5R.js.map → chunk-ZQEDE4MR.js.map} +0 -0
  145. /package/dist/{chunk-TRAN6A57.js.map → chunk-ZUTXLQL4.js.map} +0 -0
@@ -1,15 +1,24 @@
1
1
  import {
2
2
  Timeline
3
- } from "./chunk-R5V4VEDK.js";
3
+ } from "./chunk-6WW7UDPB.js";
4
+ import {
5
+ BrightnessControl
6
+ } from "./chunk-OROFWE6I.js";
4
7
  import {
5
8
  VolumeControl
6
9
  } from "./chunk-DSBLE6EZ.js";
7
10
  import {
8
- BrightnessControl
9
- } from "./chunk-OROFWE6I.js";
11
+ PreviousButton
12
+ } from "./chunk-3C7GOQYU.js";
10
13
  import {
11
- RangeInput
12
- } from "./chunk-TASTWUFX.js";
14
+ RemoveMiniplayerButton
15
+ } from "./chunk-VNJHRSYQ.js";
16
+ import {
17
+ SettingsButton
18
+ } from "./chunk-QNMZYEE6.js";
19
+ import {
20
+ TheaterButton
21
+ } from "./chunk-ZSTM34TT.js";
13
22
  import {
14
23
  TimeButton
15
24
  } from "./chunk-5D3HDH6Z.js";
@@ -19,6 +28,18 @@ import {
19
28
  import {
20
29
  VoiceButton
21
30
  } from "./chunk-LAYMUY7H.js";
31
+ import {
32
+ FullscreenButton
33
+ } from "./chunk-Y3EURS3X.js";
34
+ import {
35
+ FullscreenLockButton
36
+ } from "./chunk-IY76OQFH.js";
37
+ import {
38
+ FullscreenOrientationButton
39
+ } from "./chunk-C7PX7UFL.js";
40
+ import {
41
+ Meta
42
+ } from "./chunk-WMDE4WR7.js";
22
43
  import {
23
44
  NextButton
24
45
  } from "./chunk-WW4W4H3K.js";
@@ -32,17 +53,17 @@ import {
32
53
  PlayPauseButton
33
54
  } from "./chunk-EXDMCSNM.js";
34
55
  import {
35
- PreviousButton
36
- } from "./chunk-3C7GOQYU.js";
56
+ BigPreviousButton
57
+ } from "./chunk-CQ2KNOKO.js";
37
58
  import {
38
- RemoveMiniplayerButton
39
- } from "./chunk-VNJHRSYQ.js";
59
+ CaptionsButton
60
+ } from "./chunk-CSGF474K.js";
40
61
  import {
41
- SettingsButton
42
- } from "./chunk-QNMZYEE6.js";
62
+ CaptureButton
63
+ } from "./chunk-OWJP4KEW.js";
43
64
  import {
44
- TheaterButton
45
- } from "./chunk-ZSTM34TT.js";
65
+ CastButton
66
+ } from "./chunk-3UQBX5R4.js";
46
67
  import {
47
68
  ChapterButton
48
69
  } from "./chunk-AND5RYXM.js";
@@ -55,18 +76,6 @@ import {
55
76
  import {
56
77
  Forward10Button
57
78
  } from "./chunk-MDEW46MK.js";
58
- import {
59
- FullscreenButton
60
- } from "./chunk-Y3EURS3X.js";
61
- import {
62
- FullscreenLockButton
63
- } from "./chunk-IY76OQFH.js";
64
- import {
65
- FullscreenOrientationButton
66
- } from "./chunk-C7PX7UFL.js";
67
- import {
68
- Meta
69
- } from "./chunk-WMDE4WR7.js";
70
79
  import {
71
80
  AirPlayButton
72
81
  } from "./chunk-SWPDXRNW.js";
@@ -80,17 +89,8 @@ import {
80
89
  BigPlayPauseButton
81
90
  } from "./chunk-B5JMAZS2.js";
82
91
  import {
83
- BigPreviousButton
84
- } from "./chunk-CQ2KNOKO.js";
85
- import {
86
- CaptionsButton
87
- } from "./chunk-CSGF474K.js";
88
- import {
89
- CaptureButton
90
- } from "./chunk-OWJP4KEW.js";
91
- import {
92
- CastButton
93
- } from "./chunk-3UQBX5R4.js";
92
+ RangeInput
93
+ } from "./chunk-TASTWUFX.js";
94
94
  import {
95
95
  AirPlayPlaceholder
96
96
  } from "./chunk-B472PVNA.js";
@@ -159,4 +159,4 @@ for (const Comp of [
159
159
  ErrorPlaceholder
160
160
  ])
161
161
  ComponentRegistry.register(Comp);
162
- //# sourceMappingURL=chunk-2JHD2Z5P.js.map
162
+ //# sourceMappingURL=chunk-2OHQBZKH.js.map
@@ -136,7 +136,7 @@ var SettingsMenu = class extends BaseComponent {
136
136
  if (!preserveStack) this.navStack = [];
137
137
  if (this.navStack.length === 0) this.syncMain(), this.subPanels.forEach((p) => this.hidePanel(p)), this.showPanel(this.mainPanel, "none");
138
138
  else this.syncUI(this.navStack[this.navStack.length - 1]), this.hidePanel(this.mainPanel), this.subPanels.forEach((p, idx) => idx !== this.navStack.length - 1 && this.hidePanel(p)), this.showPanel(this.subPanels[this.navStack.length - 1], "none");
139
- if (!this.anchor || isPOJO(this.anchor)) this.anchorIntervalId = setInterval(this.reposition, 250, this.signal);
139
+ if (this.anchor) this.anchorIntervalId = setInterval(this.reposition, 250, this.signal);
140
140
  this.reposition(), this.el.removeAttribute("inert"), this.el.classList.add("tmg-media-smenu-overlay-open"), this.el.classList.remove("tmg-media-smenu-overlay-closed");
141
141
  this.media.container.classList.add("tmg-media-settings-menu"), this.el.classList.toggle("tmg-media-smenu-context", !this.anchor || isPOJO(this.anchor));
142
142
  initOutsideClick(this.element, { enabled: true, onOutside: (e) => !this.anchor?.contains?.(e.relatedTarget || e?.target) && this.close() }), initFocusTrap(this.element, { enabled: true, initialSelector: MENU_FOCUS_SELECTOR });
@@ -210,4 +210,4 @@ __publicField(SettingsMenu, "componentName", "SettingsMenu");
210
210
  export {
211
211
  SettingsMenu
212
212
  };
213
- //# sourceMappingURL=chunk-UXPJX6DM.js.map
213
+ //# sourceMappingURL=chunk-2QQKREUQ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/ts/plugs/settings/panel/menu/index.ts"],"sourcesContent":["import { BaseComponent, type ComponentState } from \"@components/base\";\r\nimport type { SettingsMenuItem, SettingsMenuConfig } from \"../types\";\r\nimport { MainMenuPanel } from \"./panel/main\";\r\nimport { SubMenuPanel } from \"./panel/sub\";\r\nimport type { BaseMenuPanel, PanelDir } from \"./panel\";\r\nimport { MENU_FOCUS_SELECTOR } from \"../build\";\r\nimport { createEl } from \"@utils/dom\";\r\nimport { getActiveEl, isArr, isFunc } from \"@t007/utils\";\r\nimport { initArrowNavigation, initOutsideClick, initFocusTrap, removeArrowNavigation, removeOutsideClick, removeFocusTrap, syncFocusTrap, syncArrowNavigation } from \"@t007/utils/hooks/vanilla\";\r\nimport { requestAnimationFrame, setInterval } from \"@utils/fn\";\r\nimport { OrderedRegistry } from \"@core/registries\";\r\n// Side-effect imports so all widgets self-register\r\nimport \"./widgets/select\";\r\nimport \"./widgets/range\";\r\nimport \"./widgets/toggle\";\r\nimport \"./widgets/color\";\r\nimport \"./widgets/group\";\r\nimport { isPOJO } from \"sia-reactor/utils\";\r\n\r\nexport class SettingsMenu extends BaseComponent<SettingsMenuConfig, ComponentState, HTMLElement> {\r\n public static readonly componentName = \"SettingsMenu\";\r\n private registry = new OrderedRegistry<SettingsMenuItem>();\r\n private mainPanel!: MainMenuPanel;\r\n private subPanels: SubMenuPanel[] = [];\r\n public navStack: string[] = [];\r\n private menuOpen = false;\r\n public onViewClick?: () => void;\r\n\r\n public override create(): HTMLElement {\r\n this.element = createEl(\"div\", { className: \"tmg-media-smenu-overlay tmg-media-no-pointer\", inert: true });\r\n this.el.addEventListener(\"keydown\", (e: KeyboardEvent, active = getActiveEl(this.el.ownerDocument) as HTMLElement) => {\r\n if ((e.key === \"Enter\" || e.key === \" \") && active && !active.matches(\"input,textarea,[contenteditable]\") && active.tagName !== \"BUTTON\" && active.closest(\".tmg-media-smenu-panel-active\")) e.preventDefault(), active.click();\r\n else if (e.key === \"ArrowRight\" && active?.querySelector(\".tmg-media-smenu-row-arrow, .tmg-media-smenu-group-arrow\")) e.stopImmediatePropagation(), active.click();\r\n else if (e.key === \"ArrowLeft\" && !active?.matches(\"input,textarea,[contenteditable]\")) e.stopImmediatePropagation(), this.goBack(true);\r\n });\r\n return this.element;\r\n }\r\n\r\n public override mount(): void {\r\n if (!this.element) this.create();\r\n this.mainPanel = new MainMenuPanel(this.ctlr, this.config);\r\n this.mainPanel.setup(), this.mainPanel.build();\r\n this.mainPanel.onItemClick = (item) => this.goTo(item.id);\r\n this.mainPanel.onViewClick = this.onViewClick;\r\n this.el.append(this.mainPanel.element);\r\n this.media.container.append(this.element);\r\n }\r\n\r\n public override wire(): void {\r\n // ---- Media Listeners\r\n this.media.on(\"state.paused\", ({ value }) => !value && this.close(), { signal: this.signal });\r\n this.media.on(\"features\", () => this.menuOpen && this.syncUI(), { signal: this.signal });\r\n // ---- State --------\r\n for (const k of [\"width\", \"height\"] as const) this.ctlr.state.on(`dimensions.container.${k}`, () => this.menuOpen && this.syncUI(), { signal: this.signal });\r\n this.ctlr.config.on(\"settings.panel.menu.blacklist\", () => this.menuOpen && this.syncUI(), { signal: this.signal });\r\n }\r\n\r\n public override unmount(): void {\r\n if (this.element) removeOutsideClick(this.element), removeArrowNavigation(this.element), removeFocusTrap(this.element), super.unmount();\r\n }\r\n\r\n protected override onDestroy(): void {\r\n this.mainPanel?.destroy();\r\n for (const panel of this.subPanels) panel.destroy();\r\n this.subPanels.length = this.navStack.length = 0;\r\n this.registry.clear();\r\n }\r\n\r\n private mergeItem(item: SettingsMenuItem): SettingsMenuItem {\r\n const existing = this.getItem(item.id);\r\n if (!existing) {\r\n if (item.configPaths) for (const path of item.configPaths) this.ctlr.config.on(path, () => this.menuOpen && this.syncMain(), { signal: this.signal });\r\n if (item.mediaPaths) for (const path of item.mediaPaths) this.media.on(path, () => this.menuOpen && this.syncMain(), { signal: this.signal });\r\n }\r\n if (existing) {\r\n if (item.items) {\r\n existing.items ??= [];\r\n for (const subItem of item.items) {\r\n const exSub = existing.items.find((i) => i.id === subItem.id);\r\n exSub ? this.mergeItem(subItem) : existing.items.push(subItem);\r\n }\r\n }\r\n if (item.actions) existing.actions = [...(existing.actions || []), ...item.actions];\r\n if (item.footerActions) existing.footerActions = [...(existing.footerActions || []), ...item.footerActions];\r\n if (item.getTipHTML && !existing.getTipHTML) existing.getTipHTML = item.getTipHTML;\r\n return existing;\r\n }\r\n return item;\r\n }\r\n public register(items?: SettingsMenuItem | SettingsMenuItem[]): void {\r\n if (items) isArr(items) ? items.forEach((item) => ((item = this.mergeItem(item)), this.registry.register(item.id, item))) : ((items = this.mergeItem(items)), this.registry.register(items.id, items)), this.menuOpen && this.syncMain();\r\n }\r\n public registerFirst(item?: SettingsMenuItem): void {\r\n if (item) (item = this.mergeItem(item)), this.registry.registerFirst(item.id, item), this.menuOpen && this.syncMain();\r\n }\r\n public registerBefore(key: string, item?: SettingsMenuItem): void {\r\n if (item) (item = this.mergeItem(item)), this.registry.registerBefore(key, item.id, item), this.menuOpen && this.syncMain();\r\n }\r\n public registerAfter(key: string, item?: SettingsMenuItem): void {\r\n if (item) (item = this.mergeItem(item)), this.registry.registerAfter(key, item.id, item), this.menuOpen && this.syncMain();\r\n }\r\n public unregister(id: string): void {\r\n this.registry.unregister(id), this.menuOpen && this.syncMain();\r\n }\r\n\r\n public getItem(id: string, items = this.registry.getAll()): SettingsMenuItem | undefined {\r\n for (const item of items)\r\n if (item.id === id) return item;\r\n else if (item.items) {\r\n const found = this.getItem(id, item.items);\r\n if (found) return found;\r\n }\r\n return undefined;\r\n }\r\n\r\n public syncUI(id?: string): void {\r\n if (id) this.subPanels[this.navStack.indexOf(id)]?.syncUI(), this.syncMain();\r\n else this.syncMain(), this.subPanels.forEach((p) => p.syncUI());\r\n this.menuOpen && requestAnimationFrame(() => this.syncHeight(this.navStack.length === 0 ? this.mainPanel : this.subPanels[this.navStack.length - 1]), this.signal);\r\n }\r\n\r\n public anchor?: HTMLElement | { x: number; y: number } | null;\r\n private lastAnchorX = 0;\r\n private lastAnchorY = 0;\r\n private anchorIntervalId = -1;\r\n private lastClosedTime = 0;\r\n\r\n public toggle(anchor?: typeof this.anchor, preserveStack = false): void {\r\n this.menuOpen ? this.close() : this.open(anchor, preserveStack);\r\n }\r\n\r\n public open(anchor: typeof this.anchor = this.ctlr.plug(\"settings.controlPanel\")?.compEl(\"settings\"), preserveStack = false): void {\r\n if (this.menuOpen || performance.now() - this.lastClosedTime < 50) return;\r\n (this.anchor = anchor), (this.menuOpen = true), !this.mainPanel && this.mount();\r\n if (!preserveStack) this.navStack = [];\r\n if (this.navStack.length === 0) this.syncMain(), this.subPanels.forEach((p) => this.hidePanel(p)), this.showPanel(this.mainPanel, \"none\");\r\n else this.syncUI(this.navStack[this.navStack.length - 1]), this.hidePanel(this.mainPanel), this.subPanels.forEach((p, idx) => idx !== this.navStack.length - 1 && this.hidePanel(p)), this.showPanel(this.subPanels[this.navStack.length - 1], \"none\");\r\n if (this.anchor) this.anchorIntervalId = setInterval(this.reposition, 250, this.signal);\r\n this.reposition(), this.el.removeAttribute(\"inert\"), this.el.classList.add(\"tmg-media-smenu-overlay-open\"), this.el.classList.remove(\"tmg-media-smenu-overlay-closed\");\r\n this.media.container.classList.add(\"tmg-media-settings-menu\"), this.el.classList.toggle(\"tmg-media-smenu-context\", !this.anchor || isPOJO(this.anchor));\r\n initOutsideClick(this.element, { enabled: true, onOutside: (e) => !(this.anchor as HTMLElement)?.contains?.(((e as FocusEvent).relatedTarget || e?.target) as Node) && this.close() }), initFocusTrap(this.element, { enabled: true, initialSelector: MENU_FOCUS_SELECTOR });\r\n initArrowNavigation(this.element, { enabled: true, rovingTab: false, grid: { x: 1 }, selector: `.tmg-media-smenu-panel-active ${MENU_FOCUS_SELECTOR}` });\r\n }\r\n public close(): void {\r\n if (!this.menuOpen) return;\r\n this.menuOpen = false;\r\n this.lastClosedTime = performance.now();\r\n clearInterval(this.anchorIntervalId);\r\n this.el.setAttribute(\"inert\", \"\"), this.el.classList.remove(\"tmg-media-smenu-overlay-open\", \"tmg-media-smenu-drop-down\"), this.media.container.classList.remove(\"tmg-media-settings-menu\");\r\n removeOutsideClick(this.element), removeArrowNavigation(this.element), removeFocusTrap(this.element);\r\n (this.anchor as HTMLElement)?.focus?.(), (this.anchor = undefined);\r\n }\r\n public get isOpen(): boolean {\r\n return this.menuOpen;\r\n }\r\n\r\n private getSubPanel(depth: number): SubMenuPanel {\r\n if (!this.subPanels[depth]) {\r\n const p = new SubMenuPanel(this.ctlr);\r\n p.setup();\r\n p.onBack = this.goBack;\r\n p.onSubItemClick = (item) => this.goTo(item.id);\r\n this.element.append(p.element), syncFocusTrap(this.element);\r\n this.subPanels[depth] = p;\r\n }\r\n return this.subPanels[depth];\r\n }\r\n\r\n public goTo(id: string): void {\r\n const item = this.getItem(id);\r\n if (!item || (!item.items && !item.widget) || item.widget === \"button\" || item.widget === \"toggle\") return;\r\n const activePanel = this.navStack.length === 0 ? this.mainPanel : this.subPanels[this.navStack.length - 1];\r\n this.navStack.push(id);\r\n const nextPanel = this.getSubPanel(this.navStack.length - 1);\r\n nextPanel.load(item);\r\n this.hidePanel(activePanel, \"backward\"), this.showPanel(nextPanel, \"forward\");\r\n }\r\n public goBack(restore = false): void {\r\n if (this.navStack.length === 0) return;\r\n const activePanel = this.subPanels[this.navStack.length - 1];\r\n this.navStack.pop();\r\n this.hidePanel(activePanel, \"forward\"), this.showPanel(this.navStack.length === 0 ? this.mainPanel : this.subPanels[this.navStack.length - 1], \"backward\", restore);\r\n }\r\n\r\n private showPanel(panel: BaseMenuPanel, dir: PanelDir = \"forward\", restore = false): void {\r\n panel.enter(dir, restore), this.syncHeight(panel), syncArrowNavigation(this.element);\r\n }\r\n private hidePanel(panel: BaseMenuPanel, dir: PanelDir = \"backward\"): void {\r\n panel.exit(dir);\r\n }\r\n\r\n private syncMain(): void {\r\n this.mainPanel.sync(this.registry.getAll().filter((item) => !this.config.blacklist.includes(item.id) && !(isFunc(item.hidden) ? item.hidden() : item.hidden) && (!item.feature || !!this.media.features[item.feature])));\r\n this.menuOpen && requestAnimationFrame(() => this.syncHeight(this.navStack.length === 0 ? this.mainPanel : this.subPanels[this.navStack.length - 1]), this.signal);\r\n }\r\n private syncHeight(panel: BaseMenuPanel, height = panel.contentHeight): void {\r\n requestAnimationFrame(() => this.menuOpen && height && (this.el.style.height = `${height}px`), this.signal);\r\n }\r\n\r\n private reposition(anchor = this.anchor): void {\r\n if (!anchor && !this.menuOpen) return;\r\n const { top: cTop, left: cLeft, width: cWidth, height: cHeight, bottom: cBottom, right: cRight } = this.media.container.getBoundingClientRect(),\r\n menuWidth = this.el.offsetWidth || 320,\r\n { top: aTop, right: aRight } = !anchor ? { top: cBottom - (this.ctlr.DOM.bottomControlsWrapper?.offsetHeight || this.safeMargin), right: cRight - this.safeMargin - 10 } : isPOJO(anchor) ? { top: (anchor as any).y, right: (anchor as any).x + menuWidth - 10 } : (anchor as any).getBoundingClientRect(),\r\n y = aTop - cTop;\r\n let xPos = aRight - cLeft - menuWidth + 10;\r\n if (xPos < this.safeMargin) xPos = this.safeMargin;\r\n if (xPos + menuWidth > cWidth - this.safeMargin) xPos = cWidth - menuWidth - this.safeMargin;\r\n if (this.lastAnchorX === xPos && this.lastAnchorY === y) return;\r\n (this.lastAnchorX = xPos), (this.lastAnchorY = y);\r\n this.el.style.setProperty(\"--tmg-smenu-anchor-x\", `${xPos}px`), this.el.style.setProperty(\"--tmg-smenu-anchor-y\", `${y}px`);\r\n this.el.classList.toggle(\"tmg-media-smenu-drop-down\", y < cHeight / 2);\r\n }\r\n public safeMargin = 12;\r\n}\r\n\r\nexport type * from \"../types\";\r\n"],"mappings":"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","names":[]}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  init
3
- } from "./chunk-AI3KGEY5.js";
3
+ } from "./chunk-C2ZMET6S.js";
4
4
  import {
5
5
  globalState
6
6
  } from "./chunk-CFTZJH7J.js";
@@ -27,4 +27,4 @@ if ("undefined" !== typeof window) {
27
27
  console.log("\x1B[38;2;139;69;19mTMG Media Player Unavailable\x1B[0m");
28
28
  console.error("TMG Media Player cannot run in a terminal!"), console.warn("Consider moving to a browser environment to use the TMG Media Player");
29
29
  }
30
- //# sourceMappingURL=chunk-T2NVBWES.js.map
30
+ //# sourceMappingURL=chunk-3QK62D6I.js.map
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-TASTWUFX.js";
4
4
  import {
5
5
  HTML5Tech
6
- } from "./chunk-AI3KGEY5.js";
6
+ } from "./chunk-C2ZMET6S.js";
7
7
  import {
8
8
  IS_MOBILE
9
9
  } from "./chunk-RNETXJ63.js";
@@ -210,4 +210,4 @@ __publicField(Timeline, "isControl", true);
210
210
  export {
211
211
  Timeline
212
212
  };
213
- //# sourceMappingURL=chunk-R5V4VEDK.js.map
213
+ //# sourceMappingURL=chunk-6WW7UDPB.js.map
@@ -49,6 +49,15 @@ import {
49
49
  import {
50
50
  FastPlayNotifier
51
51
  } from "./chunk-QKSZHLCC.js";
52
+ import {
53
+ tripleTriangleRight
54
+ } from "./chunk-ZTOANBNR.js";
55
+ import {
56
+ unlock
57
+ } from "./chunk-TMTWPBFD.js";
58
+ import {
59
+ videoTrack
60
+ } from "./chunk-AIJWNUXU.js";
52
61
  import {
53
62
  volumeHigh
54
63
  } from "./chunk-W6TNR6NH.js";
@@ -64,6 +73,15 @@ import {
64
73
  import {
65
74
  BaseNotifier
66
75
  } from "./chunk-EWCRERLL.js";
76
+ import {
77
+ returnBack
78
+ } from "./chunk-BHHFZM5D.js";
79
+ import {
80
+ settings
81
+ } from "./chunk-2J3FJY73.js";
82
+ import {
83
+ shuffle
84
+ } from "./chunk-OEHNS7YX.js";
67
85
  import {
68
86
  sort
69
87
  } from "./chunk-QP2X53HC.js";
@@ -80,14 +98,14 @@ import {
80
98
  tripleTriangleLeft
81
99
  } from "./chunk-IIRP4XMQ.js";
82
100
  import {
83
- tripleTriangleRight
84
- } from "./chunk-ZTOANBNR.js";
101
+ pipPlaceholder
102
+ } from "./chunk-7CRW7VGS.js";
85
103
  import {
86
- unlock
87
- } from "./chunk-TMTWPBFD.js";
104
+ play
105
+ } from "./chunk-K4UHBEDT.js";
88
106
  import {
89
- videoTrack
90
- } from "./chunk-AIJWNUXU.js";
107
+ playbackRate
108
+ } from "./chunk-C3IEUYR3.js";
91
109
  import {
92
110
  playlist
93
111
  } from "./chunk-KLAI7YSD.js";
@@ -104,14 +122,14 @@ import {
104
122
  replay
105
123
  } from "./chunk-YHTCXXEG.js";
106
124
  import {
107
- returnBack
108
- } from "./chunk-BHHFZM5D.js";
125
+ lock
126
+ } from "./chunk-T4LAQEBY.js";
109
127
  import {
110
- settings
111
- } from "./chunk-2J3FJY73.js";
128
+ loop
129
+ } from "./chunk-OSDM6ZVT.js";
112
130
  import {
113
- shuffle
114
- } from "./chunk-OEHNS7YX.js";
131
+ mic
132
+ } from "./chunk-PEKXIISU.js";
115
133
  import {
116
134
  next
117
135
  } from "./chunk-MP2GRDUX.js";
@@ -128,14 +146,14 @@ import {
128
146
  pause
129
147
  } from "./chunk-OOXUZMZ7.js";
130
148
  import {
131
- pipPlaceholder
132
- } from "./chunk-7CRW7VGS.js";
149
+ exitFullscreen
150
+ } from "./chunk-DR2VKENG.js";
133
151
  import {
134
- play
135
- } from "./chunk-K4UHBEDT.js";
152
+ exitPip
153
+ } from "./chunk-OCWLEK2W.js";
136
154
  import {
137
- playbackRate
138
- } from "./chunk-C3IEUYR3.js";
155
+ exitTheater
156
+ } from "./chunk-CRH6DM5A.js";
139
157
  import {
140
158
  expandMiniplayer
141
159
  } from "./chunk-DN4TFOZV.js";
@@ -152,14 +170,14 @@ import {
152
170
  goBack
153
171
  } from "./chunk-4XUR7NSC.js";
154
172
  import {
155
- lock
156
- } from "./chunk-T4LAQEBY.js";
173
+ doubleTriangleLeft
174
+ } from "./chunk-VGWGAAZA.js";
157
175
  import {
158
- loop
159
- } from "./chunk-OSDM6ZVT.js";
176
+ doubleTriangleRight
177
+ } from "./chunk-Q5TE3ZDK.js";
160
178
  import {
161
- mic
162
- } from "./chunk-PEKXIISU.js";
179
+ dragIndicator
180
+ } from "./chunk-ZLZCQ3KJ.js";
163
181
  import {
164
182
  edit
165
183
  } from "./chunk-NLJQAJZB.js";
@@ -176,14 +194,14 @@ import {
176
194
  errorPlaceholder
177
195
  } from "./chunk-2K7QF6AQ.js";
178
196
  import {
179
- exitFullscreen
180
- } from "./chunk-DR2VKENG.js";
197
+ brightnessLow
198
+ } from "./chunk-63CB7WUR.js";
181
199
  import {
182
- exitPip
183
- } from "./chunk-OCWLEK2W.js";
200
+ bwd
201
+ } from "./chunk-PV24XKW2.js";
184
202
  import {
185
- exitTheater
186
- } from "./chunk-CRH6DM5A.js";
203
+ captions
204
+ } from "./chunk-CTSPKWKN.js";
187
205
  import {
188
206
  capture
189
207
  } from "./chunk-HA2GK6KH.js";
@@ -200,14 +218,14 @@ import {
200
218
  check
201
219
  } from "./chunk-O7XYY33O.js";
202
220
  import {
203
- doubleTriangleLeft
204
- } from "./chunk-VGWGAAZA.js";
221
+ airplayPlaceholder
222
+ } from "./chunk-URDNEQFP.js";
205
223
  import {
206
- doubleTriangleRight
207
- } from "./chunk-Q5TE3ZDK.js";
224
+ ambience
225
+ } from "./chunk-XHXIXEGS.js";
208
226
  import {
209
- dragIndicator
210
- } from "./chunk-ZLZCQ3KJ.js";
227
+ audioTrack
228
+ } from "./chunk-AH2VE4UI.js";
211
229
  import {
212
230
  autoplay
213
231
  } from "./chunk-WTHHXWQM.js";
@@ -223,42 +241,33 @@ import {
223
241
  import {
224
242
  brightnessHigh
225
243
  } from "./chunk-YEQ7IT4H.js";
226
- import {
227
- brightnessLow
228
- } from "./chunk-63CB7WUR.js";
229
- import {
230
- bwd
231
- } from "./chunk-PV24XKW2.js";
232
- import {
233
- captions
234
- } from "./chunk-CTSPKWKN.js";
235
244
  import {
236
245
  add
237
246
  } from "./chunk-ID72UAJE.js";
238
247
  import {
239
248
  airplay
240
249
  } from "./chunk-JP5X5JDL.js";
241
- import {
242
- airplayPlaceholder
243
- } from "./chunk-URDNEQFP.js";
244
- import {
245
- ambience
246
- } from "./chunk-XHXIXEGS.js";
247
- import {
248
- audioTrack
249
- } from "./chunk-AH2VE4UI.js";
250
250
  import {
251
251
  Timeline
252
- } from "./chunk-R5V4VEDK.js";
252
+ } from "./chunk-6WW7UDPB.js";
253
+ import {
254
+ BrightnessControl
255
+ } from "./chunk-OROFWE6I.js";
253
256
  import {
254
257
  VolumeControl
255
258
  } from "./chunk-DSBLE6EZ.js";
256
259
  import {
257
- BrightnessControl
258
- } from "./chunk-OROFWE6I.js";
260
+ PreviousButton
261
+ } from "./chunk-3C7GOQYU.js";
259
262
  import {
260
- RangeInput
261
- } from "./chunk-TASTWUFX.js";
263
+ RemoveMiniplayerButton
264
+ } from "./chunk-VNJHRSYQ.js";
265
+ import {
266
+ SettingsButton
267
+ } from "./chunk-QNMZYEE6.js";
268
+ import {
269
+ TheaterButton
270
+ } from "./chunk-ZSTM34TT.js";
262
271
  import {
263
272
  TimeButton
264
273
  } from "./chunk-5D3HDH6Z.js";
@@ -268,6 +277,18 @@ import {
268
277
  import {
269
278
  VoiceButton
270
279
  } from "./chunk-LAYMUY7H.js";
280
+ import {
281
+ FullscreenButton
282
+ } from "./chunk-Y3EURS3X.js";
283
+ import {
284
+ FullscreenLockButton
285
+ } from "./chunk-IY76OQFH.js";
286
+ import {
287
+ FullscreenOrientationButton
288
+ } from "./chunk-C7PX7UFL.js";
289
+ import {
290
+ Meta
291
+ } from "./chunk-WMDE4WR7.js";
271
292
  import {
272
293
  NextButton
273
294
  } from "./chunk-WW4W4H3K.js";
@@ -281,17 +302,17 @@ import {
281
302
  PlayPauseButton
282
303
  } from "./chunk-EXDMCSNM.js";
283
304
  import {
284
- PreviousButton
285
- } from "./chunk-3C7GOQYU.js";
305
+ BigPreviousButton
306
+ } from "./chunk-CQ2KNOKO.js";
286
307
  import {
287
- RemoveMiniplayerButton
288
- } from "./chunk-VNJHRSYQ.js";
308
+ CaptionsButton
309
+ } from "./chunk-CSGF474K.js";
289
310
  import {
290
- SettingsButton
291
- } from "./chunk-QNMZYEE6.js";
311
+ CaptureButton
312
+ } from "./chunk-OWJP4KEW.js";
292
313
  import {
293
- TheaterButton
294
- } from "./chunk-ZSTM34TT.js";
314
+ CastButton
315
+ } from "./chunk-3UQBX5R4.js";
295
316
  import {
296
317
  ChapterButton
297
318
  } from "./chunk-AND5RYXM.js";
@@ -304,18 +325,6 @@ import {
304
325
  import {
305
326
  Forward10Button
306
327
  } from "./chunk-MDEW46MK.js";
307
- import {
308
- FullscreenButton
309
- } from "./chunk-Y3EURS3X.js";
310
- import {
311
- FullscreenLockButton
312
- } from "./chunk-IY76OQFH.js";
313
- import {
314
- FullscreenOrientationButton
315
- } from "./chunk-C7PX7UFL.js";
316
- import {
317
- Meta
318
- } from "./chunk-WMDE4WR7.js";
319
328
  import {
320
329
  AirPlayButton
321
330
  } from "./chunk-SWPDXRNW.js";
@@ -329,17 +338,8 @@ import {
329
338
  BigPlayPauseButton
330
339
  } from "./chunk-B5JMAZS2.js";
331
340
  import {
332
- BigPreviousButton
333
- } from "./chunk-CQ2KNOKO.js";
334
- import {
335
- CaptionsButton
336
- } from "./chunk-CSGF474K.js";
337
- import {
338
- CaptureButton
339
- } from "./chunk-OWJP4KEW.js";
340
- import {
341
- CastButton
342
- } from "./chunk-3UQBX5R4.js";
341
+ RangeInput
342
+ } from "./chunk-TASTWUFX.js";
343
343
  import {
344
344
  AirPlayPlaceholder
345
345
  } from "./chunk-B472PVNA.js";
@@ -498,4 +498,4 @@ __export(components_exports, {
498
498
  export {
499
499
  components_exports
500
500
  };
501
- //# sourceMappingURL=chunk-DQ6V36JC.js.map
501
+ //# sourceMappingURL=chunk-7NPSUH5I.js.map
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  tutorialOpts
3
3
  } from "./chunk-2YPJBKRG.js";
4
- import {
5
- BasePin,
6
- BasePlug
7
- } from "./chunk-6HSZQ22A.js";
8
4
  import {
9
5
  CONTROL_PANEL_BUILD,
10
6
  CONTROL_PANEL_DRAGGABLE_BUILD,
11
7
  ROWS_ARR
12
8
  } from "./chunk-UPYFXPX3.js";
9
+ import {
10
+ BasePin,
11
+ BasePlug
12
+ } from "./chunk-6HSZQ22A.js";
13
13
  import {
14
14
  ComponentRegistry,
15
15
  PinRegistry
@@ -311,4 +311,4 @@ export {
311
311
  ControlPanelDraggablePin,
312
312
  ControlPanelPlug
313
313
  };
314
- //# sourceMappingURL=chunk-XLO7XNXV.js.map
314
+ //# sourceMappingURL=chunk-AAAC4LGM.js.map