tmg-media-player 0.0.74 → 0.0.75
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.
- package/dist/{chunk-4PU2NGKT.js → chunk-26JVLIQJ.js} +4 -4
- package/dist/{chunk-5FKIIPGJ.js → chunk-2ROZSPAK.js} +2 -2
- package/dist/{chunk-647KGJSU.js → chunk-3GPDVGHT.js} +4 -4
- package/dist/{chunk-7V323B2U.js → chunk-3GXIT3IF.js} +4 -4
- package/dist/{chunk-5GMFEEHC.js → chunk-3X6GITFD.js} +2 -2
- package/dist/{chunk-3YVXVGTD.js → chunk-3ZEI5IH3.js} +5 -5
- package/dist/{chunk-PDJQZX72.js → chunk-42GAQLCA.js} +4 -4
- package/dist/{chunk-7NFZPUKH.js → chunk-4KZX4X62.js} +4 -4
- package/dist/{chunk-YFTIBUJH.js → chunk-4YPPHIWT.js} +4 -4
- package/dist/{chunk-O4GR5H4E.js → chunk-5JKYZJ4M.js} +4 -4
- package/dist/{chunk-TBSWJZGN.js → chunk-5RKUKFVB.js} +2 -2
- package/dist/{chunk-GICW7PM5.js → chunk-6EGJSMMW.js} +8 -8
- package/dist/chunk-6EGJSMMW.js.map +1 -0
- package/dist/{chunk-5GGWGQZ6.js → chunk-77NT62PT.js} +4 -4
- package/dist/{chunk-K3PFLWR5.js → chunk-7BTIZLQT.js} +2 -2
- package/dist/{chunk-Q4ONBL4A.js → chunk-7DNRDHOS.js} +4 -4
- package/dist/{chunk-NKWM7ZYX.js → chunk-7LKQCZVO.js} +4 -4
- package/dist/{chunk-27M4MXNJ.js → chunk-7PVTTXB6.js} +5 -5
- package/dist/{chunk-JSUPFZJI.js → chunk-AOBVHOWO.js} +4 -4
- package/dist/{chunk-X7XP3PVL.js → chunk-AS4J74Q2.js} +17 -17
- package/dist/chunk-AS4J74Q2.js.map +1 -0
- package/dist/{chunk-LAFLSXEL.js → chunk-B3NEY3WH.js} +6 -6
- package/dist/{chunk-QV7CI5SL.js → chunk-BBWMTYW2.js} +4 -4
- package/dist/{chunk-CH2SMB6L.js → chunk-BSAU7MO3.js} +81 -81
- package/dist/{chunk-AVHRROOB.js → chunk-BSSN4LOS.js} +48 -48
- package/dist/{chunk-FKEPQYXP.js → chunk-C4I3INML.js} +4 -4
- package/dist/{chunk-YMCQ2VCS.js → chunk-DA3LHGNI.js} +5 -5
- package/dist/chunk-DA3LHGNI.js.map +1 -0
- package/dist/{chunk-6QSWNVL3.js → chunk-DQFPQV46.js} +2 -2
- package/dist/{chunk-DHLHEK3X.js → chunk-DQS5L6X3.js} +4 -4
- package/dist/{chunk-NCPOIHPD.js → chunk-EEROYMNY.js} +13 -10
- package/dist/chunk-EEROYMNY.js.map +1 -0
- package/dist/{chunk-T3KJOQUX.js → chunk-EFHF4LFC.js} +11 -10
- package/dist/chunk-EFHF4LFC.js.map +1 -0
- package/dist/{chunk-WTOYRMIC.js → chunk-EKPK5ROH.js} +4 -4
- package/dist/{chunk-NGHBDQ6H.js → chunk-EMUVOJ55.js} +2 -2
- package/dist/{chunk-R6OL2J4J.js → chunk-EQSAKPG7.js} +2 -2
- package/dist/{chunk-6KAE3DTW.js → chunk-F2TV6ZC3.js} +18 -2
- package/dist/chunk-F2TV6ZC3.js.map +1 -0
- package/dist/{chunk-S4XFWACS.js → chunk-FWFHPODD.js} +4 -4
- package/dist/{chunk-WMCLZLLL.js → chunk-GAWBI4XV.js} +4 -4
- package/dist/{chunk-X62BM72A.js → chunk-H3X4LU7W.js} +4 -4
- package/dist/{chunk-NHVVHGOB.js → chunk-HX6XOVUN.js} +4 -4
- package/dist/{chunk-RGPBTA4X.js → chunk-HXSA7OO6.js} +28 -31
- package/dist/chunk-HXSA7OO6.js.map +1 -0
- package/dist/{chunk-QGCYT3OX.js → chunk-IBMILXPH.js} +14 -14
- package/dist/{chunk-QGCYT3OX.js.map → chunk-IBMILXPH.js.map} +1 -1
- package/dist/{chunk-H5FQRCYB.js → chunk-IFGUUWN4.js} +8 -8
- package/dist/chunk-IFGUUWN4.js.map +1 -0
- package/dist/{chunk-BASWUFKW.js → chunk-IFK6WEZ3.js} +5 -5
- package/dist/{chunk-ZBDLNDT3.js → chunk-IHJ32NMU.js} +2 -2
- package/dist/{chunk-JMVDZWTO.js → chunk-IWWMH4W6.js} +16 -16
- package/dist/{chunk-Z67VYG3C.js → chunk-IXXUAXNW.js} +11 -11
- package/dist/{chunk-Z67VYG3C.js.map → chunk-IXXUAXNW.js.map} +1 -1
- package/dist/{chunk-O7VDYN4L.js → chunk-J23YYSFU.js} +6 -6
- package/dist/{chunk-4TPBQXAY.js → chunk-JFUVVE3Y.js} +4 -4
- package/dist/{chunk-IPZFG4TH.js → chunk-K5V3RO3N.js} +2 -2
- package/dist/{chunk-BS3F6GX3.js → chunk-L2S7RS44.js} +4 -4
- package/dist/{chunk-GZ2EIDTC.js → chunk-MBJP3EWJ.js} +21 -21
- package/dist/{chunk-F2JQH5WV.js → chunk-MJ5HQ3TZ.js} +9 -9
- package/dist/chunk-MJ5HQ3TZ.js.map +1 -0
- package/dist/{chunk-FZTJ4GBJ.js → chunk-MNZ4NBV3.js} +4 -4
- package/dist/{chunk-CZSIPFCS.js → chunk-MU7HGLK3.js} +3 -3
- package/dist/{chunk-NSIRS2FL.js → chunk-MVGH6K5M.js} +19 -19
- package/dist/{chunk-AVASMPNZ.js → chunk-N7ILVYJU.js} +2 -2
- package/dist/{chunk-RGKRU7RO.js → chunk-NFLQP6VK.js} +4 -4
- package/dist/{chunk-H6EMDZLU.js → chunk-O2NZCYXE.js} +2 -2
- package/dist/{chunk-H6EMDZLU.js.map → chunk-O2NZCYXE.js.map} +1 -1
- package/dist/{chunk-GS5E3H2Y.js → chunk-O2OUQKLZ.js} +9 -9
- package/dist/{chunk-QD7UO7DX.js → chunk-O3EJFCQX.js} +2 -2
- package/dist/{chunk-DWNN6UHL.js → chunk-OJFK6WI2.js} +170 -170
- package/dist/{chunk-QOD57QTY.js → chunk-PYERQXGP.js} +4 -4
- package/dist/{chunk-BPO4XT7V.js → chunk-QKUKQSKB.js} +2 -2
- package/dist/{chunk-DQRVHLVV.js → chunk-RQF6XIHW.js} +4 -4
- package/dist/{chunk-ULXYXERN.js → chunk-S43DCRAU.js} +6 -6
- package/dist/{chunk-JOHEAI7H.js → chunk-SH5VJSWI.js} +4 -4
- package/dist/{chunk-R6C4TJBE.js → chunk-SN2SVZJU.js} +10 -10
- package/dist/{chunk-JZ6475K5.js → chunk-SNBW6EOC.js} +6 -6
- package/dist/{chunk-HHIMZ5VU.js → chunk-STEUOHBE.js} +4 -4
- package/dist/{chunk-TWZRJ5IU.js → chunk-T57GCOK2.js} +4 -4
- package/dist/{chunk-7SGX3ANT.js → chunk-TXPMH27N.js} +2 -2
- package/dist/{chunk-IYO5H4BV.js → chunk-UBCA74FA.js} +39 -39
- package/dist/{chunk-DB5WSKD2.js → chunk-UX7Z2BJR.js} +1 -1
- package/dist/chunk-UX7Z2BJR.js.map +1 -0
- package/dist/{chunk-DO5DFIZB.js → chunk-V3HUGHGP.js} +11 -11
- package/dist/{chunk-NJQDD6XU.js → chunk-VCI24NBB.js} +4 -4
- package/dist/{chunk-BK3XYG7F.js → chunk-VQGMUREF.js} +63 -63
- package/dist/{chunk-4UB3OZ6K.js → chunk-WEWURZOT.js} +4 -4
- package/dist/{chunk-XD36IFU6.js → chunk-WVP4KR5Q.js} +2 -2
- package/dist/{chunk-VVDPOJAP.js → chunk-WYVWWV7T.js} +5 -5
- package/dist/{chunk-ETWPJHLP.js → chunk-XCSWJWK4.js} +2 -2
- package/dist/{chunk-V4HF762M.js → chunk-XP7RRUBS.js} +8 -8
- package/dist/{chunk-5HCUHQIH.js → chunk-XQNF5I2G.js} +2 -2
- package/dist/{chunk-L3RA4PJU.js → chunk-YVVZRO5X.js} +2 -2
- package/dist/{chunk-CTNH55HZ.js → chunk-Z27YDVC2.js} +9 -9
- package/dist/{chunk-77LSSTZK.js → chunk-Z7UPLGWM.js} +4 -4
- package/dist/{chunk-CNN77IYY.js → chunk-ZASB3XR5.js} +5 -5
- package/dist/{chunk-XQLHMOPQ.js → chunk-ZKWMJNSN.js} +4 -4
- package/dist/{chunk-QMUA2A3J.js → chunk-ZL6WTDYH.js} +3 -3
- package/dist/chunk-ZL6WTDYH.js.map +1 -0
- package/dist/{chunk-6VW6C3XU.js → chunk-ZNPNBIMH.js} +4 -4
- package/dist/components/captionsView.cjs +4 -4
- package/dist/components/captionsView.cjs.map +1 -1
- package/dist/components/captionsView.js +6 -6
- package/dist/components/controls/airplay.js +4 -4
- package/dist/components/controls/backward.js +4 -4
- package/dist/components/controls/bigNext.js +4 -4
- package/dist/components/controls/bigPlayPause.js +4 -4
- package/dist/components/controls/bigPrevious.js +4 -4
- package/dist/components/controls/brightness/index.cjs +13 -13
- package/dist/components/controls/brightness/index.cjs.map +1 -1
- package/dist/components/controls/brightness/index.js +7 -7
- package/dist/components/controls/brightness/slider.cjs +13 -13
- package/dist/components/controls/brightness/slider.cjs.map +1 -1
- package/dist/components/controls/brightness/slider.js +3 -3
- package/dist/components/controls/captions.js +7 -7
- package/dist/components/controls/capture.js +4 -4
- package/dist/components/controls/cast.js +4 -4
- package/dist/components/controls/expandMiniplayer.js +4 -4
- package/dist/components/controls/forward.js +4 -4
- package/dist/components/controls/fullscreen.js +4 -4
- package/dist/components/controls/fullscreenLock.js +4 -4
- package/dist/components/controls/fullscreenOrientation.js +12 -12
- package/dist/components/controls/next.js +4 -4
- package/dist/components/controls/objectFit.js +4 -4
- package/dist/components/controls/pictureInPicture.js +4 -4
- package/dist/components/controls/playPause.js +4 -4
- package/dist/components/controls/playlist.js +4 -4
- package/dist/components/controls/previous.js +4 -4
- package/dist/components/controls/removeMiniplayer.js +4 -4
- package/dist/components/controls/settings.js +4 -4
- package/dist/components/controls/theater.js +4 -4
- package/dist/components/controls/timeline/index.cjs +17 -14
- package/dist/components/controls/timeline/index.cjs.map +1 -1
- package/dist/components/controls/timeline/index.js +13 -13
- package/dist/components/controls/voice.js +4 -4
- package/dist/components/controls/volume/index.cjs +13 -13
- package/dist/components/controls/volume/index.cjs.map +1 -1
- package/dist/components/controls/volume/index.js +7 -7
- package/dist/components/controls/volume/slider.cjs +13 -13
- package/dist/components/controls/volume/slider.cjs.map +1 -1
- package/dist/components/controls/volume/slider.js +3 -3
- package/dist/components/holders/airplayPlaceholder.js +4 -4
- package/dist/components/holders/castPlaceholder.js +4 -4
- package/dist/components/holders/errorPlaceholder.js +4 -4
- package/dist/components/holders/pipPlaceholder.js +4 -4
- package/dist/components/notifiers/airplay.js +3 -3
- package/dist/components/notifiers/brightness.js +3 -3
- package/dist/components/notifiers/captions.js +3 -3
- package/dist/components/notifiers/capture.js +3 -3
- package/dist/components/notifiers/cast.js +3 -3
- package/dist/components/notifiers/fastPlay.js +3 -3
- package/dist/components/notifiers/fwdBwd.js +3 -3
- package/dist/components/notifiers/objectFit.js +3 -3
- package/dist/components/notifiers/playPause.js +3 -3
- package/dist/components/notifiers/playbackRate.js +3 -3
- package/dist/components/notifiers/prevNext.js +3 -3
- package/dist/components/notifiers/scrub.js +5 -5
- package/dist/components/notifiers/touchBrightness.js +3 -3
- package/dist/components/notifiers/touchVolume.js +3 -3
- package/dist/components/notifiers/volume.js +3 -3
- package/dist/components/notifiers/z-register.js +13 -13
- package/dist/components/rangeinput/index.cjs +13 -13
- package/dist/components/rangeinput/index.cjs.map +1 -1
- package/dist/components/rangeinput/index.js +2 -2
- package/dist/components/screenLock.js +4 -4
- package/dist/components/z-register.cjs +21 -18
- package/dist/components/z-register.cjs.map +1 -1
- package/dist/components/z-register.js +50 -50
- package/dist/core/controller.js +9 -9
- package/dist/index.css +12 -8
- package/dist/index.css.map +1 -1
- package/dist/index.js +12 -12
- package/dist/init.js +10 -10
- package/dist/plugs/base/index.js +1 -1
- package/dist/plugs/base/slider.js +1 -1
- package/dist/plugs/main/ads/index.js +9 -9
- package/dist/plugs/main/disabled/index.js +1 -1
- package/dist/plugs/main/light/index.js +1 -1
- package/dist/plugs/main/playlist/index.js +6 -6
- package/dist/plugs/main/skeleton/index.js +4 -4
- package/dist/plugs/menus/main/actions.js +12 -12
- package/dist/plugs/menus/main/playlist.js +7 -7
- package/dist/plugs/menus/settings/auto.js +11 -11
- package/dist/plugs/menus/settings/captions.js +4 -4
- package/dist/plugs/menus/settings/frame.js +11 -11
- package/dist/plugs/menus/settings/keys.js +1 -1
- package/dist/plugs/menus/settings/metadata.js +7 -7
- package/dist/plugs/menus/settings/modes.js +9 -9
- package/dist/plugs/menus/settings/sleepTimer.js +9 -9
- package/dist/plugs/menus/settings/timeTravel.cjs.map +1 -1
- package/dist/plugs/menus/settings/timeTravel.js +1 -1
- package/dist/plugs/menus/settings/toasts.js +10 -10
- package/dist/plugs/menus/settings/voice.js +11 -11
- package/dist/plugs/menus/z-register.cjs.map +1 -1
- package/dist/plugs/menus/z-register.js +24 -24
- package/dist/plugs/settings/ambience/index.js +2 -2
- package/dist/plugs/settings/auto/index.js +10 -10
- package/dist/plugs/settings/brightness/index.js +2 -2
- package/dist/plugs/settings/captions/index.cjs +1 -1
- package/dist/plugs/settings/captions/index.cjs.map +1 -1
- package/dist/plugs/settings/captions/index.js +10 -10
- package/dist/plugs/settings/controlPanel/draggable.cjs +2 -2
- package/dist/plugs/settings/controlPanel/draggable.cjs.map +1 -1
- package/dist/plugs/settings/controlPanel/draggable.js +5 -5
- package/dist/plugs/settings/controlPanel/index.cjs +2 -2
- package/dist/plugs/settings/controlPanel/index.cjs.map +1 -1
- package/dist/plugs/settings/controlPanel/index.js +5 -5
- package/dist/plugs/settings/css/index.js +1 -1
- package/dist/plugs/settings/errors/index.js +1 -1
- package/dist/plugs/settings/fastPlay/index.js +2 -2
- package/dist/plugs/settings/frame/index.js +5 -5
- package/dist/plugs/settings/gesture/base.js +3 -3
- package/dist/plugs/settings/gesture/index.cjs +7 -6
- package/dist/plugs/settings/gesture/index.cjs.map +1 -1
- package/dist/plugs/settings/gesture/index.js +5 -5
- package/dist/plugs/settings/gesture/touch.cjs +7 -6
- package/dist/plugs/settings/gesture/touch.cjs.map +1 -1
- package/dist/plugs/settings/gesture/touch.js +5 -5
- package/dist/plugs/settings/gesture/wheel.cjs +7 -6
- package/dist/plugs/settings/gesture/wheel.cjs.map +1 -1
- package/dist/plugs/settings/gesture/wheel.js +5 -5
- package/dist/plugs/settings/keys/index.js +2 -2
- package/dist/plugs/settings/locked/index.js +3 -3
- package/dist/plugs/settings/metadata/index.js +2 -2
- package/dist/plugs/settings/modes/airplay.js +11 -11
- package/dist/plugs/settings/modes/cast.js +12 -12
- package/dist/plugs/settings/modes/fullscreen.js +10 -10
- package/dist/plugs/settings/modes/index.js +10 -10
- package/dist/plugs/settings/modes/miniplayer.js +10 -10
- package/dist/plugs/settings/modes/pictureInPicture.js +10 -10
- package/dist/plugs/settings/modes/theater.js +10 -10
- package/dist/plugs/settings/notifiers/index.js +2 -2
- package/dist/plugs/settings/objectFit/index.js +3 -3
- package/dist/plugs/settings/overlay/index.js +3 -3
- package/dist/plugs/settings/panel/index.cjs +22 -25
- package/dist/plugs/settings/panel/index.cjs.map +1 -1
- package/dist/plugs/settings/panel/index.js +8 -8
- package/dist/plugs/settings/panel/menu/index.cjs +22 -25
- package/dist/plugs/settings/panel/menu/index.cjs.map +1 -1
- package/dist/plugs/settings/panel/menu/index.js +7 -7
- package/dist/plugs/settings/panel/menu/panel/index.js +2 -2
- package/dist/plugs/settings/panel/menu/panel/main.js +4 -4
- package/dist/plugs/settings/panel/menu/panel/sub.js +5 -5
- package/dist/plugs/settings/panel/menu/widgets/base.js +1 -1
- package/dist/plugs/settings/panel/menu/widgets/button.js +2 -2
- package/dist/plugs/settings/panel/menu/widgets/color.js +4 -4
- package/dist/plugs/settings/panel/menu/widgets/dragselect.js +4 -4
- package/dist/plugs/settings/panel/menu/widgets/group.js +4 -4
- package/dist/plugs/settings/panel/menu/widgets/index.js +4 -4
- package/dist/plugs/settings/panel/menu/widgets/input.js +4 -4
- package/dist/plugs/settings/panel/menu/widgets/limits.js +4 -4
- package/dist/plugs/settings/panel/menu/widgets/range.js +4 -4
- package/dist/plugs/settings/panel/menu/widgets/select.js +4 -4
- package/dist/plugs/settings/panel/menu/widgets/toggle.js +4 -4
- package/dist/plugs/settings/persist/index.js +1 -1
- package/dist/plugs/settings/playbackRate/index.js +2 -2
- package/dist/plugs/settings/poster/index.js +2 -2
- package/dist/plugs/settings/sleepTimer/index.cjs +1 -1
- package/dist/plugs/settings/sleepTimer/index.cjs.map +1 -1
- package/dist/plugs/settings/sleepTimer/index.js +3 -3
- package/dist/plugs/settings/time/index.js +5 -5
- package/dist/plugs/settings/timeTravel/index.cjs +16 -3
- package/dist/plugs/settings/timeTravel/index.cjs.map +1 -1
- package/dist/plugs/settings/timeTravel/index.js +12 -10
- package/dist/plugs/settings/toasts/index.cjs +1 -1
- package/dist/plugs/settings/toasts/index.cjs.map +1 -1
- package/dist/plugs/settings/toasts/index.js +3 -3
- package/dist/plugs/settings/voice/index.cjs +2 -2
- package/dist/plugs/settings/voice/index.cjs.map +1 -1
- package/dist/plugs/settings/voice/index.js +12 -12
- package/dist/plugs/settings/volume/index.js +10 -10
- package/dist/plugs/z-register.cjs +98 -101
- package/dist/plugs/z-register.cjs.map +1 -1
- package/dist/plugs/z-register.js +56 -56
- package/dist/super/components/index.cjs +21 -18
- package/dist/super/components/index.cjs.map +1 -1
- package/dist/super/components/index.js +189 -189
- package/dist/super/components/notifiers.js +25 -25
- package/dist/super/consts.js +10 -10
- package/dist/super/plugs/index.cjs +35 -36
- package/dist/super/plugs/index.cjs.map +1 -1
- package/dist/super/plugs/index.js +116 -116
- package/dist/super/plugs/menus.cjs.map +1 -1
- package/dist/super/plugs/menus.js +28 -28
- package/dist/super/techs.cjs +5 -5
- package/dist/super/techs.cjs.map +1 -1
- package/dist/super/techs.js +20 -20
- package/dist/super/utils.js +40 -40
- package/dist/super.cjs +61 -59
- package/dist/super.cjs.map +1 -1
- package/dist/super.css +12 -8
- package/dist/super.css.map +1 -1
- package/dist/super.global.js +68 -66
- package/dist/super.global.js.map +1 -1
- package/dist/super.js +152 -152
- package/dist/techs/base.js +4 -4
- package/dist/techs/dash.js +10 -10
- package/dist/techs/hls.js +10 -10
- package/dist/techs/html5.js +9 -9
- package/dist/techs/ima.js +8 -8
- package/dist/techs/shaka.js +10 -10
- package/dist/techs/vimeo.cjs +4 -4
- package/dist/techs/vimeo.cjs.map +1 -1
- package/dist/techs/vimeo.js +6 -6
- package/dist/techs/youtube.cjs +1 -1
- package/dist/techs/youtube.cjs.map +1 -1
- package/dist/techs/youtube.js +10 -10
- package/dist/techs/z-register.cjs +5 -5
- package/dist/techs/z-register.cjs.map +1 -1
- package/dist/techs/z-register.js +15 -15
- package/dist/tools/player.js +9 -9
- package/dist/tools/runtime/index.js +9 -9
- package/dist/utils/file.js +2 -2
- package/dist/utils/media.js +3 -3
- package/package.json +5 -5
- package/dist/chunk-6KAE3DTW.js.map +0 -1
- package/dist/chunk-DB5WSKD2.js.map +0 -1
- package/dist/chunk-F2JQH5WV.js.map +0 -1
- package/dist/chunk-GICW7PM5.js.map +0 -1
- package/dist/chunk-H5FQRCYB.js.map +0 -1
- package/dist/chunk-NCPOIHPD.js.map +0 -1
- package/dist/chunk-QMUA2A3J.js.map +0 -1
- package/dist/chunk-RGPBTA4X.js.map +0 -1
- package/dist/chunk-T3KJOQUX.js.map +0 -1
- package/dist/chunk-X7XP3PVL.js.map +0 -1
- package/dist/chunk-YMCQ2VCS.js.map +0 -1
- /package/dist/{chunk-4PU2NGKT.js.map → chunk-26JVLIQJ.js.map} +0 -0
- /package/dist/{chunk-5FKIIPGJ.js.map → chunk-2ROZSPAK.js.map} +0 -0
- /package/dist/{chunk-647KGJSU.js.map → chunk-3GPDVGHT.js.map} +0 -0
- /package/dist/{chunk-7V323B2U.js.map → chunk-3GXIT3IF.js.map} +0 -0
- /package/dist/{chunk-5GMFEEHC.js.map → chunk-3X6GITFD.js.map} +0 -0
- /package/dist/{chunk-3YVXVGTD.js.map → chunk-3ZEI5IH3.js.map} +0 -0
- /package/dist/{chunk-PDJQZX72.js.map → chunk-42GAQLCA.js.map} +0 -0
- /package/dist/{chunk-7NFZPUKH.js.map → chunk-4KZX4X62.js.map} +0 -0
- /package/dist/{chunk-YFTIBUJH.js.map → chunk-4YPPHIWT.js.map} +0 -0
- /package/dist/{chunk-O4GR5H4E.js.map → chunk-5JKYZJ4M.js.map} +0 -0
- /package/dist/{chunk-TBSWJZGN.js.map → chunk-5RKUKFVB.js.map} +0 -0
- /package/dist/{chunk-5GGWGQZ6.js.map → chunk-77NT62PT.js.map} +0 -0
- /package/dist/{chunk-K3PFLWR5.js.map → chunk-7BTIZLQT.js.map} +0 -0
- /package/dist/{chunk-Q4ONBL4A.js.map → chunk-7DNRDHOS.js.map} +0 -0
- /package/dist/{chunk-NKWM7ZYX.js.map → chunk-7LKQCZVO.js.map} +0 -0
- /package/dist/{chunk-27M4MXNJ.js.map → chunk-7PVTTXB6.js.map} +0 -0
- /package/dist/{chunk-JSUPFZJI.js.map → chunk-AOBVHOWO.js.map} +0 -0
- /package/dist/{chunk-LAFLSXEL.js.map → chunk-B3NEY3WH.js.map} +0 -0
- /package/dist/{chunk-QV7CI5SL.js.map → chunk-BBWMTYW2.js.map} +0 -0
- /package/dist/{chunk-CH2SMB6L.js.map → chunk-BSAU7MO3.js.map} +0 -0
- /package/dist/{chunk-AVHRROOB.js.map → chunk-BSSN4LOS.js.map} +0 -0
- /package/dist/{chunk-FKEPQYXP.js.map → chunk-C4I3INML.js.map} +0 -0
- /package/dist/{chunk-6QSWNVL3.js.map → chunk-DQFPQV46.js.map} +0 -0
- /package/dist/{chunk-DHLHEK3X.js.map → chunk-DQS5L6X3.js.map} +0 -0
- /package/dist/{chunk-WTOYRMIC.js.map → chunk-EKPK5ROH.js.map} +0 -0
- /package/dist/{chunk-NGHBDQ6H.js.map → chunk-EMUVOJ55.js.map} +0 -0
- /package/dist/{chunk-R6OL2J4J.js.map → chunk-EQSAKPG7.js.map} +0 -0
- /package/dist/{chunk-S4XFWACS.js.map → chunk-FWFHPODD.js.map} +0 -0
- /package/dist/{chunk-WMCLZLLL.js.map → chunk-GAWBI4XV.js.map} +0 -0
- /package/dist/{chunk-X62BM72A.js.map → chunk-H3X4LU7W.js.map} +0 -0
- /package/dist/{chunk-NHVVHGOB.js.map → chunk-HX6XOVUN.js.map} +0 -0
- /package/dist/{chunk-BASWUFKW.js.map → chunk-IFK6WEZ3.js.map} +0 -0
- /package/dist/{chunk-ZBDLNDT3.js.map → chunk-IHJ32NMU.js.map} +0 -0
- /package/dist/{chunk-JMVDZWTO.js.map → chunk-IWWMH4W6.js.map} +0 -0
- /package/dist/{chunk-O7VDYN4L.js.map → chunk-J23YYSFU.js.map} +0 -0
- /package/dist/{chunk-4TPBQXAY.js.map → chunk-JFUVVE3Y.js.map} +0 -0
- /package/dist/{chunk-IPZFG4TH.js.map → chunk-K5V3RO3N.js.map} +0 -0
- /package/dist/{chunk-BS3F6GX3.js.map → chunk-L2S7RS44.js.map} +0 -0
- /package/dist/{chunk-GZ2EIDTC.js.map → chunk-MBJP3EWJ.js.map} +0 -0
- /package/dist/{chunk-FZTJ4GBJ.js.map → chunk-MNZ4NBV3.js.map} +0 -0
- /package/dist/{chunk-CZSIPFCS.js.map → chunk-MU7HGLK3.js.map} +0 -0
- /package/dist/{chunk-NSIRS2FL.js.map → chunk-MVGH6K5M.js.map} +0 -0
- /package/dist/{chunk-AVASMPNZ.js.map → chunk-N7ILVYJU.js.map} +0 -0
- /package/dist/{chunk-RGKRU7RO.js.map → chunk-NFLQP6VK.js.map} +0 -0
- /package/dist/{chunk-GS5E3H2Y.js.map → chunk-O2OUQKLZ.js.map} +0 -0
- /package/dist/{chunk-QD7UO7DX.js.map → chunk-O3EJFCQX.js.map} +0 -0
- /package/dist/{chunk-DWNN6UHL.js.map → chunk-OJFK6WI2.js.map} +0 -0
- /package/dist/{chunk-QOD57QTY.js.map → chunk-PYERQXGP.js.map} +0 -0
- /package/dist/{chunk-BPO4XT7V.js.map → chunk-QKUKQSKB.js.map} +0 -0
- /package/dist/{chunk-DQRVHLVV.js.map → chunk-RQF6XIHW.js.map} +0 -0
- /package/dist/{chunk-ULXYXERN.js.map → chunk-S43DCRAU.js.map} +0 -0
- /package/dist/{chunk-JOHEAI7H.js.map → chunk-SH5VJSWI.js.map} +0 -0
- /package/dist/{chunk-R6C4TJBE.js.map → chunk-SN2SVZJU.js.map} +0 -0
- /package/dist/{chunk-JZ6475K5.js.map → chunk-SNBW6EOC.js.map} +0 -0
- /package/dist/{chunk-HHIMZ5VU.js.map → chunk-STEUOHBE.js.map} +0 -0
- /package/dist/{chunk-TWZRJ5IU.js.map → chunk-T57GCOK2.js.map} +0 -0
- /package/dist/{chunk-7SGX3ANT.js.map → chunk-TXPMH27N.js.map} +0 -0
- /package/dist/{chunk-IYO5H4BV.js.map → chunk-UBCA74FA.js.map} +0 -0
- /package/dist/{chunk-DO5DFIZB.js.map → chunk-V3HUGHGP.js.map} +0 -0
- /package/dist/{chunk-NJQDD6XU.js.map → chunk-VCI24NBB.js.map} +0 -0
- /package/dist/{chunk-BK3XYG7F.js.map → chunk-VQGMUREF.js.map} +0 -0
- /package/dist/{chunk-4UB3OZ6K.js.map → chunk-WEWURZOT.js.map} +0 -0
- /package/dist/{chunk-XD36IFU6.js.map → chunk-WVP4KR5Q.js.map} +0 -0
- /package/dist/{chunk-VVDPOJAP.js.map → chunk-WYVWWV7T.js.map} +0 -0
- /package/dist/{chunk-ETWPJHLP.js.map → chunk-XCSWJWK4.js.map} +0 -0
- /package/dist/{chunk-V4HF762M.js.map → chunk-XP7RRUBS.js.map} +0 -0
- /package/dist/{chunk-5HCUHQIH.js.map → chunk-XQNF5I2G.js.map} +0 -0
- /package/dist/{chunk-L3RA4PJU.js.map → chunk-YVVZRO5X.js.map} +0 -0
- /package/dist/{chunk-CTNH55HZ.js.map → chunk-Z27YDVC2.js.map} +0 -0
- /package/dist/{chunk-77LSSTZK.js.map → chunk-Z7UPLGWM.js.map} +0 -0
- /package/dist/{chunk-CNN77IYY.js.map → chunk-ZASB3XR5.js.map} +0 -0
- /package/dist/{chunk-XQLHMOPQ.js.map → chunk-ZKWMJNSN.js.map} +0 -0
- /package/dist/{chunk-6VW6C3XU.js.map → chunk-ZNPNBIMH.js.map} +0 -0
|
@@ -1,12 +1,12 @@
|
|
|
1
|
+
import {
|
|
2
|
+
IconRegistry
|
|
3
|
+
} from "./chunk-WVCIQCQ7.js";
|
|
1
4
|
import {
|
|
2
5
|
BaseComponent
|
|
3
6
|
} from "./chunk-HEYHPTWC.js";
|
|
4
7
|
import {
|
|
5
8
|
formatActionTooltip
|
|
6
9
|
} from "./chunk-TJRFWNY6.js";
|
|
7
|
-
import {
|
|
8
|
-
IconRegistry
|
|
9
|
-
} from "./chunk-WVCIQCQ7.js";
|
|
10
10
|
import {
|
|
11
11
|
addSafeClicks,
|
|
12
12
|
createEl
|
|
@@ -50,4 +50,4 @@ __publicField(VoiceButton, "isControl", true);
|
|
|
50
50
|
export {
|
|
51
51
|
VoiceButton
|
|
52
52
|
};
|
|
53
|
-
//# sourceMappingURL=chunk-
|
|
53
|
+
//# sourceMappingURL=chunk-26JVLIQJ.js.map
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
} from "./chunk-NH3LR64C.js";
|
|
4
4
|
import {
|
|
5
5
|
GroupWidget
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-42GAQLCA.js";
|
|
7
7
|
import {
|
|
8
8
|
WidgetRegistry
|
|
9
9
|
} from "./chunk-E4URX3FG.js";
|
|
@@ -129,4 +129,4 @@ var SubMenuPanel = class extends BaseMenuPanel {
|
|
|
129
129
|
export {
|
|
130
130
|
SubMenuPanel
|
|
131
131
|
};
|
|
132
|
-
//# sourceMappingURL=chunk-
|
|
132
|
+
//# sourceMappingURL=chunk-2ROZSPAK.js.map
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
BaseComponent
|
|
3
|
-
} from "./chunk-HEYHPTWC.js";
|
|
4
1
|
import {
|
|
5
2
|
globalState
|
|
6
3
|
} from "./chunk-FD6VCHH5.js";
|
|
7
4
|
import {
|
|
8
5
|
IconRegistry
|
|
9
6
|
} from "./chunk-WVCIQCQ7.js";
|
|
7
|
+
import {
|
|
8
|
+
BaseComponent
|
|
9
|
+
} from "./chunk-HEYHPTWC.js";
|
|
10
10
|
import {
|
|
11
11
|
createEl
|
|
12
12
|
} from "./chunk-2PRS6O7C.js";
|
|
@@ -42,4 +42,4 @@ __publicField(FullscreenOrientationButton, "isControl", true);
|
|
|
42
42
|
export {
|
|
43
43
|
FullscreenOrientationButton
|
|
44
44
|
};
|
|
45
|
-
//# sourceMappingURL=chunk-
|
|
45
|
+
//# sourceMappingURL=chunk-3GPDVGHT.js.map
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
+
import {
|
|
2
|
+
IconRegistry
|
|
3
|
+
} from "./chunk-WVCIQCQ7.js";
|
|
1
4
|
import {
|
|
2
5
|
BaseComponent
|
|
3
6
|
} from "./chunk-HEYHPTWC.js";
|
|
4
7
|
import {
|
|
5
8
|
formatActionTooltip
|
|
6
9
|
} from "./chunk-TJRFWNY6.js";
|
|
7
|
-
import {
|
|
8
|
-
IconRegistry
|
|
9
|
-
} from "./chunk-WVCIQCQ7.js";
|
|
10
10
|
import {
|
|
11
11
|
createEl
|
|
12
12
|
} from "./chunk-2PRS6O7C.js";
|
|
@@ -44,4 +44,4 @@ __publicField(ForwardButton, "isControl", true);
|
|
|
44
44
|
export {
|
|
45
45
|
ForwardButton
|
|
46
46
|
};
|
|
47
|
-
//# sourceMappingURL=chunk-
|
|
47
|
+
//# sourceMappingURL=chunk-3GXIT3IF.js.map
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
} from "./chunk-P67KKEHQ.js";
|
|
7
7
|
import {
|
|
8
8
|
getTrackLabel
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-J23YYSFU.js";
|
|
10
10
|
import {
|
|
11
11
|
formatUITime
|
|
12
12
|
} from "./chunk-XSCX6DYR.js";
|
|
@@ -181,4 +181,4 @@ var getSettingsCaptionsMenu = (plug) => {
|
|
|
181
181
|
export {
|
|
182
182
|
getSettingsCaptionsMenu
|
|
183
183
|
};
|
|
184
|
-
//# sourceMappingURL=chunk-
|
|
184
|
+
//# sourceMappingURL=chunk-3X6GITFD.js.map
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
|
-
|
|
3
|
-
} from "./chunk-
|
|
2
|
+
BaseTech
|
|
3
|
+
} from "./chunk-7PVTTXB6.js";
|
|
4
4
|
import {
|
|
5
5
|
IconRegistry
|
|
6
6
|
} from "./chunk-WVCIQCQ7.js";
|
|
7
7
|
import {
|
|
8
|
-
|
|
9
|
-
} from "./chunk-
|
|
8
|
+
formatActionTooltip
|
|
9
|
+
} from "./chunk-TJRFWNY6.js";
|
|
10
10
|
import {
|
|
11
11
|
__publicField
|
|
12
12
|
} from "./chunk-UVKRO5ER.js";
|
|
@@ -149,4 +149,4 @@ __publicField(IMATech, "techName", "ima");
|
|
|
149
149
|
export {
|
|
150
150
|
IMATech
|
|
151
151
|
};
|
|
152
|
-
//# sourceMappingURL=chunk-
|
|
152
|
+
//# sourceMappingURL=chunk-3ZEI5IH3.js.map
|
|
@@ -2,13 +2,13 @@ import {
|
|
|
2
2
|
BaseWidget,
|
|
3
3
|
WidgetRegistry
|
|
4
4
|
} from "./chunk-E4URX3FG.js";
|
|
5
|
+
import {
|
|
6
|
+
clamp
|
|
7
|
+
} from "./chunk-P67KKEHQ.js";
|
|
5
8
|
import {
|
|
6
9
|
ComponentRegistry,
|
|
7
10
|
IconRegistry
|
|
8
11
|
} from "./chunk-WVCIQCQ7.js";
|
|
9
|
-
import {
|
|
10
|
-
clamp
|
|
11
|
-
} from "./chunk-P67KKEHQ.js";
|
|
12
12
|
import {
|
|
13
13
|
createEl,
|
|
14
14
|
createListRenderer,
|
|
@@ -540,4 +540,4 @@ export {
|
|
|
540
540
|
DragSelectWidget,
|
|
541
541
|
LimitsWidget
|
|
542
542
|
};
|
|
543
|
-
//# sourceMappingURL=chunk-
|
|
543
|
+
//# sourceMappingURL=chunk-42GAQLCA.js.map
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
+
import {
|
|
2
|
+
IconRegistry
|
|
3
|
+
} from "./chunk-WVCIQCQ7.js";
|
|
1
4
|
import {
|
|
2
5
|
BaseComponent
|
|
3
6
|
} from "./chunk-HEYHPTWC.js";
|
|
4
7
|
import {
|
|
5
8
|
formatActionTooltip
|
|
6
9
|
} from "./chunk-TJRFWNY6.js";
|
|
7
|
-
import {
|
|
8
|
-
IconRegistry
|
|
9
|
-
} from "./chunk-WVCIQCQ7.js";
|
|
10
10
|
import {
|
|
11
11
|
createEl
|
|
12
12
|
} from "./chunk-2PRS6O7C.js";
|
|
@@ -58,4 +58,4 @@ __publicField(TheaterButton, "isControl", true);
|
|
|
58
58
|
export {
|
|
59
59
|
TheaterButton
|
|
60
60
|
};
|
|
61
|
-
//# sourceMappingURL=chunk-
|
|
61
|
+
//# sourceMappingURL=chunk-4KZX4X62.js.map
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
+
import {
|
|
2
|
+
IconRegistry
|
|
3
|
+
} from "./chunk-WVCIQCQ7.js";
|
|
1
4
|
import {
|
|
2
5
|
BaseComponent
|
|
3
6
|
} from "./chunk-HEYHPTWC.js";
|
|
4
7
|
import {
|
|
5
8
|
formatActionTooltip
|
|
6
9
|
} from "./chunk-TJRFWNY6.js";
|
|
7
|
-
import {
|
|
8
|
-
IconRegistry
|
|
9
|
-
} from "./chunk-WVCIQCQ7.js";
|
|
10
10
|
import {
|
|
11
11
|
createEl
|
|
12
12
|
} from "./chunk-2PRS6O7C.js";
|
|
@@ -55,4 +55,4 @@ __publicField(ErrorPlaceholder, "componentName", "errorPlaceholder");
|
|
|
55
55
|
export {
|
|
56
56
|
ErrorPlaceholder
|
|
57
57
|
};
|
|
58
|
-
//# sourceMappingURL=chunk-
|
|
58
|
+
//# sourceMappingURL=chunk-4YPPHIWT.js.map
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
+
import {
|
|
2
|
+
IconRegistry
|
|
3
|
+
} from "./chunk-WVCIQCQ7.js";
|
|
1
4
|
import {
|
|
2
5
|
BaseComponent
|
|
3
6
|
} from "./chunk-HEYHPTWC.js";
|
|
4
7
|
import {
|
|
5
8
|
formatActionTooltip
|
|
6
9
|
} from "./chunk-TJRFWNY6.js";
|
|
7
|
-
import {
|
|
8
|
-
IconRegistry
|
|
9
|
-
} from "./chunk-WVCIQCQ7.js";
|
|
10
10
|
import {
|
|
11
11
|
createEl
|
|
12
12
|
} from "./chunk-2PRS6O7C.js";
|
|
@@ -44,4 +44,4 @@ __publicField(BackwardButton, "isControl", true);
|
|
|
44
44
|
export {
|
|
45
45
|
BackwardButton
|
|
46
46
|
};
|
|
47
|
-
//# sourceMappingURL=chunk-
|
|
47
|
+
//# sourceMappingURL=chunk-5JKYZJ4M.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
HTML5Tech
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-MVGH6K5M.js";
|
|
4
4
|
import {
|
|
5
5
|
MSE_ENABLED
|
|
6
6
|
} from "./chunk-RNETXJ63.js";
|
|
@@ -157,4 +157,4 @@ __publicField(HLSTech, "techName", "hls");
|
|
|
157
157
|
export {
|
|
158
158
|
HLSTech
|
|
159
159
|
};
|
|
160
|
-
//# sourceMappingURL=chunk-
|
|
160
|
+
//# sourceMappingURL=chunk-5RKUKFVB.js.map
|
|
@@ -8,11 +8,7 @@ import {
|
|
|
8
8
|
} from "./chunk-NJ4FM5J4.js";
|
|
9
9
|
import {
|
|
10
10
|
HTML5Tech
|
|
11
|
-
} from "./chunk-
|
|
12
|
-
import {
|
|
13
|
-
ComponentRegistry,
|
|
14
|
-
MenuRegistry
|
|
15
|
-
} from "./chunk-WVCIQCQ7.js";
|
|
11
|
+
} from "./chunk-MVGH6K5M.js";
|
|
16
12
|
import {
|
|
17
13
|
rotateAny
|
|
18
14
|
} from "./chunk-P67KKEHQ.js";
|
|
@@ -21,7 +17,11 @@ import {
|
|
|
21
17
|
getTrackKind,
|
|
22
18
|
getTrackLabel,
|
|
23
19
|
getTrackLang
|
|
24
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-J23YYSFU.js";
|
|
21
|
+
import {
|
|
22
|
+
ComponentRegistry,
|
|
23
|
+
MenuRegistry
|
|
24
|
+
} from "./chunk-WVCIQCQ7.js";
|
|
25
25
|
import {
|
|
26
26
|
isArr,
|
|
27
27
|
parseUIOpt
|
|
@@ -52,7 +52,7 @@ var CaptionsPlug = class extends BasePlug {
|
|
|
52
52
|
this.settings.css.currentCaptionsX, this.settings.css.currentCaptionsY;
|
|
53
53
|
this.media.set("state.currentTextTrack", (v) => this.isNative && v !== this.shadowCurrentIndex ? TERMINATOR : v, { signal: this.signal });
|
|
54
54
|
this.media.watch("tech", (t) => (this.isNative = t.constructor === HTML5Tech, this.syncFeatures()), { init: true, signal: this.signal });
|
|
55
|
-
STYLE_PATHS.forEach((p) => this.ctlr.config.watch(`settings.captions.${p}.value`, (v) => (setPath(this.settings.css, camelize(`captions.${p}`, /\./), p.includes("opacity") ? +v / 100 : v), this.views.forEach((v2) => v2.rerender()), this.iView?.rerender()), { init: true, signal: this.signal }));
|
|
55
|
+
STYLE_PATHS.forEach((p) => this.ctlr.config.watch(`settings.captions.${p}.value`, (v) => (setPath(this.settings.css, camelize(`captions.${p}`, /\./), p.includes("opacity") ? +v / 100 : v), !/color|opacity/.test(p) && (this.views.forEach((v2) => v2.rerender(true)), this.sViewsMaps.forEach((map) => map.forEach((v2) => v2.rerender(true))), this.iView?.rerender(true))), { init: true, signal: this.signal }));
|
|
56
56
|
this.media.on("intent.currentTextTrack", this.handleCurrentTextTrackIntent, { capture: true, init: this.ctlr.flags.wired, initType: "set", signal: this.signal });
|
|
57
57
|
this.media.on("intent.secondaryTextTracks", this.handleSecondaryTextTracksIntent, { capture: true, init: this.ctlr.flags.wired, initType: "set", signal: this.signal });
|
|
58
58
|
this.media.on("intent.textVisible", this.handleTextVisibleIntent, { capture: true, init: this.ctlr.flags.wired, initType: "set", signal: this.signal });
|
|
@@ -200,4 +200,4 @@ __publicField(CaptionsPlug, "BUILD", CAPTIONS_BUILD);
|
|
|
200
200
|
export {
|
|
201
201
|
CaptionsPlug
|
|
202
202
|
};
|
|
203
|
-
//# sourceMappingURL=chunk-
|
|
203
|
+
//# sourceMappingURL=chunk-6EGJSMMW.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/ts/plugs/settings/captions/index.ts"],"sourcesContent":["import { BasePlug } from \"../../base\";\r\nimport type { Controller } from \"@core/controller\";\r\nimport type { CueLike, CaptionsConfig, CaptionsState } from \"./types\";\r\nimport { CAPTIONS_BUILD } from \"./build\";\r\nimport { ROTATE_PATHS, STYLE_PATHS } from \"./build\";\r\nimport type { CaptionsView } from \"@components/captionsView\";\r\nimport { ComponentRegistry, MenuRegistry } from \"@core/registries\";\r\nimport { type REvent, type PathValue, TERMINATOR, NOOP, getRaw } from \"sia-reactor\";\r\nimport { getPath, setPath } from \"sia-reactor/utils\";\r\nimport type { CtlrConfig } from \"@defs/config\";\r\nimport type { CtlrMedia } from \"@defs/contract\";\r\nimport { rotateAny } from \"@utils/num\";\r\nimport { getTrackIdx, getTrackKind, getTrackLabel, getTrackLang } from \"@utils/media\";\r\nimport { camelize, uncamelize } from \"@utils/str\";\r\nimport { silence } from \"sia-reactor/modules\";\r\nimport { isArr, parseUIOpt } from \"@utils/obj\";\r\nimport { HTML5Tech } from \"@techs/html5\";\r\nimport { KeyMod } from \"../keys\";\r\n\r\nexport class CaptionsPlug extends BasePlug<CaptionsConfig, CaptionsState> {\r\n public static readonly plugName = \"captions\";\r\n public static readonly BUILD = CAPTIONS_BUILD;\r\n protected views = new Map<string, CaptionsView>();\r\n protected iView: CaptionsView | null = null; // info view\r\n protected sViewsMaps = new Map<number, Map<string, CaptionsView>>();\r\n protected isNative = false;\r\n protected shadowCurrentIndex?: number;\r\n\r\n constructor(ctlr: Controller, config = ctlr.settings.captions) {\r\n super(ctlr, config, { snubbingCurrentTextTrack: false });\r\n }\r\n\r\n public override wire(): void {\r\n this.settings.css.currentCaptionsX, this.settings.css.currentCaptionsY; // Read once so CSSPlug can cache computed values.\r\n // Ctlr Media Setters\r\n this.media.set(\"state.currentTextTrack\", (v) => (this.isNative && v !== this.shadowCurrentIndex ? TERMINATOR : v), { signal: this.signal }); // #DICTATOR: reliable authority\r\n // ----------- Watchers\r\n this.media.watch(\"tech\", (t) => ((this.isNative = t.constructor === HTML5Tech), this.syncFeatures()), { init: true, signal: this.signal });\r\n // ---- Config --------\r\n STYLE_PATHS.forEach((p) => this.ctlr.config.watch(`settings.captions.${p}.value`, (v) => (setPath(this.settings.css, camelize(`captions.${p}`, /\\./), p.includes(\"opacity\") ? +v / 100 : (v as string)), !/color|opacity/.test(p) && (this.views.forEach((v) => v.rerender(true)), this.sViewsMaps.forEach((map) => map.forEach((v) => v.rerender(true))), this.iView?.rerender(true))), { init: true, signal: this.signal }));\r\n this.media.on(\"intent.currentTextTrack\", this.handleCurrentTextTrackIntent, { capture: true, init: this.ctlr.flags.wired, initType: \"set\", signal: this.signal }); // #HIGHER-POWER: power arbitration\r\n this.media.on(\"intent.secondaryTextTracks\", this.handleSecondaryTextTracksIntent, { capture: true, init: this.ctlr.flags.wired, initType: \"set\", signal: this.signal });\r\n this.media.on(\"intent.textVisible\", this.handleTextVisibleIntent, { capture: true, init: this.ctlr.flags.wired, initType: \"set\", signal: this.signal }); // #HIGHER-POWER: power arbitration\r\n this.media.on(\"state.currentTextTrack\", this.syncUI, { init: this.ctlr.flags.wired, signal: this.signal });\r\n this.media.on(\"state.textVisible\", this.handleTextVisibleState, { init: this.ctlr.flags.wired, signal: this.signal });\r\n this.media.on(\"state.currentTime\", () => (this.views.forEach((v) => v.syncKaraoke()), this.sViewsMaps.forEach((map) => map.forEach((v) => v.syncKaraoke()))), { init: this.ctlr.flags.wired, signal: this.signal });\r\n this.media.on(\"status.textTracks\", this.syncUI, { signal: this.signal });\r\n this.media.on(\"status.activeCues\", this.handleActiveCuesStatus, { init: this.ctlr.flags.wired, signal: this.signal });\r\n // ---- Config --------\r\n this.ctlr.config.on(\"settings.captions.multiple\", this.syncTracks, { signal: this.signal });\r\n this.ctlr.config.on(\"settings.captions.font.size.min\", ({ value }) => this.settings.captions.font.size.value < value && (this.settings.captions.font.size.value = value), { init: true, signal: this.signal });\r\n this.ctlr.config.on(\"settings.captions.font.size.max\", ({ value }) => this.settings.captions.font.size.value > value && (this.settings.captions.font.size.value = value), { init: true, signal: this.signal });\r\n for (const k of [\"lockToPanel\", \"lockToVideo\"] as const) this.ctlr.config.on(`settings.captions.window.position.${k}`, ({ value }) => this.media.container.classList.toggle(`tmg-media-captions-${uncamelize(k, \"-\")}`, value), { init: true, signal: this.signal });\r\n // Post Wiring\r\n this.ctlr.learn(\"captions\", { fn: this.toggleVisible }, this.signal);\r\n this.ctlr.learn(\"captionsResetPos\", { fn: this.resetCuesPos }, this.signal);\r\n for (const k of [\"Up\", \"Down\"] as const) this.ctlr.learn(`captionsFontSize${k}`, { fn: (_: KeyboardEvent, mod: KeyMod) => this.changeFontSize((this.ctlr.plug(\"settings.keys\")?.getModded(\"captionsFontSize\", mod, this.config.font.size.skip) ?? this.config.font.size.skip) * (k === \"Up\" ? 1 : -1)), keyboard: { phase: \"keydown\" } }, this.signal);\r\n // prettier-ignore\r\n ROTATE_PATHS.forEach((p) => this.ctlr.learn(camelize(`captions.${p}`, /\\./), { fn: () => this.rotateProp(getPath(this.config, p as any).options.map((opt: any) => parseUIOpt(opt).value), p), keyboard: { phase: \"keydown\" } }, this.signal));\r\n super.wire();\r\n }\r\n\r\n protected handleCurrentTextTrackIntent(e: REvent<CtlrMedia, \"intent.currentTextTrack\">): void {\r\n if ((this.state.snubbingCurrentTextTrack = !!e.resolved || !this.isNative)) return void (!e.resolved && e.reject(this.name));\r\n const handle = () => {\r\n if ((e.value as number) >= this.media.status.textTracks.length) return this.syncTracks(); // re-trigger forwarding for secondaries\r\n this.media.state.currentTextTrack = this.shadowCurrentIndex = e.value as number; // #VALIDATED: mediated for cast conformity; no-opy\r\n this.media.state.textVisible = e.value === -1 ? false : this.media.intent.textVisible; // #UX boost: not a drifter\r\n this.syncTracks();\r\n };\r\n this.ctlr.when(\"loadedMetadata\", e, handle, this.signal);\r\n e.resolve(this.name);\r\n }\r\n protected handleSecondaryTextTracksIntent(e: REvent<CtlrMedia, \"intent.secondaryTextTracks\">): void {\r\n if (e.resolved || !this.isNative) return void (!e.resolved && e.reject(this.name));\r\n this.ctlr.when(\"loadedMetadata\", e, this.syncTracks, this.signal);\r\n e.resolve(this.name);\r\n }\r\n\r\n protected handleTextVisibleIntent(e: REvent<CtlrMedia, \"intent.textVisible\">, idx = this.media[this.ctlr.gospel].currentTextTrack): void {\r\n if (e.resolved || !this.media.features.activeCues) return void (!e.resolved && e.reject(this.name)); // this ain't no mega cue lib\r\n const handle = (iidx = this.media.intent.currentTextTrack) => {\r\n // prettier-ignore\r\n if (e.value && this.media.status.textTracks.length && idx === -1) silence(() => (this.media.intent.currentTextTrack = this.shadowCurrentIndex = iidx !== -1 ? iidx : this.isNative ? Math.max(0, getTrackIdx(this.media.element, \"Text\", this.media.state.tracks.find((t) => t.default), this.media.status.textTracks)) : 0)); // #BULLET-PROOF: should come clutch\r\n this.media.state.textVisible = e.value;\r\n };\r\n this.ctlr.when(\"loadedMetadata\", e, handle, this.signal);\r\n e.resolve(this.name); // hid everytin already but need minors to shutup\r\n }\r\n\r\n protected handleTextVisibleState({ value }: REvent<CtlrMedia, \"state.textVisible\">): void {\r\n this.media.container.classList.toggle(\"tmg-media-captions\", this.canVisible && value);\r\n const track = value && this.media.status.textTracks[this.media.state.currentTextTrack];\r\n track && (this.iView ??= ComponentRegistry.init(\"captionsView\", this.ctlr) || null)?.preview(this.getPreviewTip(track));\r\n if (!this.media.features.activeCues) return;\r\n if (value) this.handleActiveCuesStatus(undefined, this.media.status.activeCues), this.sViewsMaps.forEach((map, i) => this.handleCueChange(undefined, this.media.status.textTracks[i]));\r\n else !this.mainView?.previewing && this.syncCues(null, this.views, this.initView), this.iView?.render(null), this.sViewsMaps.forEach((map) => this.syncCues(null, map));\r\n }\r\n\r\n protected handleActiveCuesStatus(e?: REvent<CtlrMedia, \"status.activeCues\">, value = e?.value): void {\r\n const language = getTrackLang(this.media.status.textTracks[this.media.state.currentTextTrack]);\r\n this.media.state.textVisible && (this.views.forEach((v) => (v.config.language = language)), this.syncCues(value as CueLike[] | null, this.views, (key) => this.initView(key, language)));\r\n }\r\n\r\n protected handleCueChange(e?: globalThis.Event, track = e?.target as TextTrack | null): void {\r\n const idx = this.media.state.textVisible ? Array.prototype.indexOf.call(this.media.status.textTracks, track) : -1;\r\n if (!track || idx === -1 || idx === this.media.state.currentTextTrack) return;\r\n const map = this.sViewsMaps.get(idx),\r\n opts = { secOrder: this.sViewsMaps.size, ofMedia: true, language: getTrackLang(track), trackIdx: idx };\r\n map?.forEach((v) => ((v.config.language = opts.language), (v.config.trackIdx = idx))), this.syncCues(track.activeCues ? [...track.activeCues] : null, map, (key, v = ComponentRegistry.init(\"captionsView\", this.ctlr, opts)) => v && (map.set(key, v), v));\r\n }\r\n\r\n public toggleVisible(): void {\r\n if (!this.canVisible) return this.mainView?.preview(this.media.features.textTracks ? `No captions available for this ${this.media.type}` : `Captions not supported for this ${this.media.type}`);\r\n this.media.intent.textVisible = !this.media.state.textVisible;\r\n }\r\n protected rotateProp(steps: PathValue<CtlrConfig[\"settings\"][\"captions\"], `${(typeof ROTATE_PATHS)[number]}.value`>[], prop: (typeof ROTATE_PATHS)[number], numeric = prop.includes(\"opacity\")): void {\r\n if (!steps.length) return;\r\n const cssVal = this.settings.css[camelize(`captions.${prop}`, /\\./)];\r\n setPath(this.config, `${prop}.value`, rotateAny((numeric ? Number : String)(prop.includes(\"opacity\") ? +cssVal * 100 : cssVal), steps));\r\n this.media.features.activeCues && this.ctlr.config.stall(() => (this.views.size ? this.views.forEach((v) => v.preview()) : this.mainView?.preview())); // rerender && }\r\n }\r\n public changeFontSize(value: number, sign = value >= 0 ? \"+\" : \"-\"): void {\r\n value = Math.abs(value);\r\n const size = Number(this.settings.css.captionsFontSize);\r\n switch (sign) {\r\n case \"-\":\r\n if (size > this.config.font.size.min) this.config.font.size.value = size - (size % value || value);\r\n break;\r\n default:\r\n if (size < this.config.font.size.max) this.config.font.size.value = size + (size % value ? size % value : value);\r\n }\r\n this.media.features.activeCues && this.ctlr.config.stall(() => (this.views.size ? this.views.forEach((v) => v.preview()) : this.mainView?.preview()));\r\n }\r\n\r\n protected initView(key: string, language = \"\"): CaptionsView | undefined {\r\n const view = ComponentRegistry.init(\"captionsView\", this.ctlr, { isMain: key === \"main\", ofMedia: true, language }) || undefined;\r\n return view && this.views.set(key, view), view;\r\n }\r\n public get mainView(): CaptionsView | undefined {\r\n return this.views.get(\"main\") || this.initView(\"main\", getTrackLang(this.media.status.textTracks[this.media.state.currentTextTrack]));\r\n }\r\n\r\n public get canVisible(): boolean {\r\n return (this.media.features.textTracks ? !!this.media.status.textTracks.length : !this.media.features.activeCues) && !!this.media.features.textVisible;\r\n }\r\n public getPreviewTip(track = this.media.status.textTracks[this.media.state.currentTextTrack], idx = this.media.state.currentTextTrack): CueLike {\r\n return { text: `${getTrackLabel(track, idx)} ${getTrackKind(track)}`.trim() + \"\\n Click ⚙ for settings\", region: { viewportAnchorX: 12.5, viewportAnchorY: 20 } };\r\n }\r\n\r\n public syncUI(): void {\r\n this.media.container.classList.toggle(\"tmg-media-captions\", this.canVisible && this.media.state.textVisible);\r\n this.media.container.dataset.textKind = this.media.status.textKind = getTrackKind(this.media.status.textTracks[this.media.state.currentTextTrack]);\r\n }\r\n protected syncTracks(): void {\r\n // prettier-ignore\r\n const { intent: int, state: s, status: { textTracks: list } } = this.media, idx = s.currentTextTrack;\r\n if (!list || this.state.snubbingCurrentTextTrack) return;\r\n s.secondaryTextTracks = this.config.multiple ? int.secondaryTextTracks.filter((i) => i !== idx && list[i]) : [];\r\n for (const [i, map] of this.sViewsMaps) {\r\n if (this.config.multiple && s.secondaryTextTracks.includes(i)) continue;\r\n map.forEach((v) => v.destroy()), this.sViewsMaps.delete(i);\r\n if (this.isNative && i !== idx && list[i]) (list[i].mode = \"disabled\"), list[i].removeEventListener(\"cuechange\", this.handleCueChange);\r\n }\r\n if (!this.isNative) return;\r\n for (let i = 0, len = list.length; i < len; i++) {\r\n const sec = this.config.multiple && s.secondaryTextTracks.includes(i);\r\n list[i].mode = i === idx || sec ? \"hidden\" : \"disabled\";\r\n if (sec) list[i].addEventListener(\"cuechange\", this.handleCueChange, { signal: this.signal }), !this.sViewsMaps.has(i) && (this.sViewsMaps.set(i, new Map()), this.handleCueChange(undefined, list[i]));\r\n }\r\n }\r\n protected syncCues(value: CueLike[] | null, map: Map<string, CaptionsView>, spawn: (key: string) => CaptionsView | undefined | null = NOOP): void {\r\n const groups = new Map<string, CueLike[]>();\r\n for (const cue of value ?? []) {\r\n const key = cue.region ? `region-${cue.region.id || `${cue.region.viewportAnchorX}-${cue.region.viewportAnchorY}`}` : \"main\";\r\n (groups.get(key) ?? (groups.set(key, []), groups.get(key)!)).push(cue);\r\n }\r\n !groups.has(\"main\") && groups.set(\"main\", []);\r\n for (const [key, cues] of groups) (map.get(key) ?? spawn(key))?.render(cues);\r\n for (const [key, view] of map) groups.has(key) || (view.destroy(), map.delete(key));\r\n }\r\n public syncFeatures(): void {\r\n this.media.tech.polyfill(\"textTracks\", this.isNative), this.media.tech.polyfill([\"currentTextTrack\", \"secondaryTextTracks\"], this.isNative && this.media.features.textTracks);\r\n this.media.tech.polyfill(\"textVisible\", this.media.features.activeCues), this.media.tech.polyfill(\"textsVisible\", this.isNative && this.media.features.currentTextTrack); // this.media.features.activeCues -> true\r\n }\r\n public resetCuesPos(): void {\r\n this.iView?.resetPos(), this.views.forEach((v) => v.resetPos()), this.sViewsMaps.forEach((map) => map.forEach((v) => v.resetPos()));\r\n }\r\n\r\n protected override registerMenu(items = MenuRegistry.get(\"settings.captions\")?.(this), menu = this.ctlr.plug(\"settings.panel\")?.menu): void {\r\n if (items && menu) menu.unregister(\"captions\"), isArr(items) ? items.forEach((item) => menu.registerBefore(\"chapters\", item)) : menu.registerBefore(\"chapters\", items);\r\n }\r\n\r\n protected override onDestroy(): void {\r\n this.iView?.destroy(), this.views.forEach((v) => v.destroy()), this.sViewsMaps.forEach((map) => map.forEach((v) => v.destroy()));\r\n super.onDestroy();\r\n }\r\n}\r\n\r\nexport type * from \"./types\";\r\nexport * from \"./build\";\r\ndeclare module \"@defs/registries\" {\r\n interface PlugRegistryMap {\r\n \"settings.captions\": typeof CaptionsPlug;\r\n }\r\n interface ControllerDOMMap {\r\n captionsContainer?: HTMLDivElement | null;\r\n }\r\n}\r\n\r\ndeclare module \"@defs/config\" {\r\n interface Settings {\r\n captions: CaptionsConfig;\r\n }\r\n}\r\n\r\ndeclare module \"@defs/contract\" {\r\n interface MediaStatus {\r\n textKind: \"captions\" | \"subtitles\" | \"\";\r\n }\r\n interface MediaFeaturesExt {\r\n textsVisible: boolean;\r\n }\r\n}\r\n\r\ndeclare module \"@plugs/settings/css/types\" {\r\n interface CSSMap {\r\n captionsCharacterEdgeStyle: \"none\" | \"raised\" | \"depressed\" | \"outline\" | \"drop-shadow\";\r\n }\r\n}\r\n"],"mappings":"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","names":["v"]}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
BaseComponent
|
|
3
|
-
} from "./chunk-HEYHPTWC.js";
|
|
4
1
|
import {
|
|
5
2
|
IconRegistry
|
|
6
3
|
} from "./chunk-WVCIQCQ7.js";
|
|
4
|
+
import {
|
|
5
|
+
BaseComponent
|
|
6
|
+
} from "./chunk-HEYHPTWC.js";
|
|
7
7
|
import {
|
|
8
8
|
createEl
|
|
9
9
|
} from "./chunk-2PRS6O7C.js";
|
|
@@ -42,4 +42,4 @@ __publicField(PlaylistButton, "isControl", true);
|
|
|
42
42
|
export {
|
|
43
43
|
PlaylistButton
|
|
44
44
|
};
|
|
45
|
-
//# sourceMappingURL=chunk-
|
|
45
|
+
//# sourceMappingURL=chunk-77NT62PT.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
getToastMenuInputs,
|
|
3
3
|
syncToastConfig
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-7LKQCZVO.js";
|
|
5
5
|
import {
|
|
6
6
|
formatAction
|
|
7
7
|
} from "./chunk-TJRFWNY6.js";
|
|
@@ -450,4 +450,4 @@ var getActionsMenu = (ctlr) => {
|
|
|
450
450
|
export {
|
|
451
451
|
getActionsMenu
|
|
452
452
|
};
|
|
453
|
-
//# sourceMappingURL=chunk-
|
|
453
|
+
//# sourceMappingURL=chunk-7BTIZLQT.js.map
|
|
@@ -12,9 +12,6 @@ import {
|
|
|
12
12
|
parseIfPercent,
|
|
13
13
|
safeNum
|
|
14
14
|
} from "./chunk-P67KKEHQ.js";
|
|
15
|
-
import {
|
|
16
|
-
setTimeout
|
|
17
|
-
} from "./chunk-ALVNTQB6.js";
|
|
18
15
|
import {
|
|
19
16
|
formatMediaTime,
|
|
20
17
|
formatUITime,
|
|
@@ -22,6 +19,9 @@ import {
|
|
|
22
19
|
getMediaMin,
|
|
23
20
|
getMediaTime
|
|
24
21
|
} from "./chunk-XSCX6DYR.js";
|
|
22
|
+
import {
|
|
23
|
+
setTimeout
|
|
24
|
+
} from "./chunk-ALVNTQB6.js";
|
|
25
25
|
import {
|
|
26
26
|
parseCSSTime
|
|
27
27
|
} from "./chunk-744CNQ3T.js";
|
|
@@ -143,4 +143,4 @@ __publicField(TimePlug, "BUILD", TIME_BUILD);
|
|
|
143
143
|
export {
|
|
144
144
|
TimePlug
|
|
145
145
|
};
|
|
146
|
-
//# sourceMappingURL=chunk-
|
|
146
|
+
//# sourceMappingURL=chunk-7DNRDHOS.js.map
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
globalState
|
|
3
3
|
} from "./chunk-FD6VCHH5.js";
|
|
4
|
-
import {
|
|
5
|
-
IconRegistry
|
|
6
|
-
} from "./chunk-WVCIQCQ7.js";
|
|
7
4
|
import {
|
|
8
5
|
formatUITime
|
|
9
6
|
} from "./chunk-XSCX6DYR.js";
|
|
7
|
+
import {
|
|
8
|
+
IconRegistry
|
|
9
|
+
} from "./chunk-WVCIQCQ7.js";
|
|
10
10
|
import {
|
|
11
11
|
isBool
|
|
12
12
|
} from "./chunk-QUEIXZRB.js";
|
|
@@ -114,4 +114,4 @@ export {
|
|
|
114
114
|
getToastMenuInputs,
|
|
115
115
|
getSettingsToastsMenu
|
|
116
116
|
};
|
|
117
|
-
//# sourceMappingURL=chunk-
|
|
117
|
+
//# sourceMappingURL=chunk-7LKQCZVO.js.map
|
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
getMediaStatus,
|
|
3
3
|
isFeatured
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import {
|
|
6
|
-
setTimeout
|
|
7
|
-
} from "./chunk-ALVNTQB6.js";
|
|
4
|
+
} from "./chunk-J23YYSFU.js";
|
|
8
5
|
import {
|
|
9
6
|
MEDIA_STATE_BUILD,
|
|
10
7
|
MEDIA_STATUS_BUILD
|
|
@@ -12,6 +9,9 @@ import {
|
|
|
12
9
|
import {
|
|
13
10
|
getMediaChapter
|
|
14
11
|
} from "./chunk-XSCX6DYR.js";
|
|
12
|
+
import {
|
|
13
|
+
setTimeout
|
|
14
|
+
} from "./chunk-ALVNTQB6.js";
|
|
15
15
|
import {
|
|
16
16
|
Controllable
|
|
17
17
|
} from "./chunk-YEOPDMY2.js";
|
|
@@ -171,4 +171,4 @@ export {
|
|
|
171
171
|
BaseTech,
|
|
172
172
|
cacheKeys
|
|
173
173
|
};
|
|
174
|
-
//# sourceMappingURL=chunk-
|
|
174
|
+
//# sourceMappingURL=chunk-7PVTTXB6.js.map
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
BaseComponent
|
|
3
|
-
} from "./chunk-HEYHPTWC.js";
|
|
4
1
|
import {
|
|
5
2
|
IconRegistry
|
|
6
3
|
} from "./chunk-WVCIQCQ7.js";
|
|
4
|
+
import {
|
|
5
|
+
BaseComponent
|
|
6
|
+
} from "./chunk-HEYHPTWC.js";
|
|
7
7
|
import {
|
|
8
8
|
createEl
|
|
9
9
|
} from "./chunk-2PRS6O7C.js";
|
|
@@ -40,4 +40,4 @@ __publicField(FullscreenLockButton, "isControl", true);
|
|
|
40
40
|
export {
|
|
41
41
|
FullscreenLockButton
|
|
42
42
|
};
|
|
43
|
-
//# sourceMappingURL=chunk-
|
|
43
|
+
//# sourceMappingURL=chunk-AOBVHOWO.js.map
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
RANGE_INPUT_BUILD
|
|
3
3
|
} from "./chunk-TOJJS6AC.js";
|
|
4
|
-
import {
|
|
5
|
-
BaseComponent
|
|
6
|
-
} from "./chunk-HEYHPTWC.js";
|
|
7
4
|
import {
|
|
8
5
|
clamp,
|
|
9
6
|
stepNum
|
|
10
7
|
} from "./chunk-P67KKEHQ.js";
|
|
8
|
+
import {
|
|
9
|
+
BaseComponent
|
|
10
|
+
} from "./chunk-HEYHPTWC.js";
|
|
11
11
|
import {
|
|
12
12
|
createEl,
|
|
13
13
|
getWindow,
|
|
@@ -39,9 +39,9 @@ var RangeInput = class extends BaseComponent {
|
|
|
39
39
|
__publicField(this, "rect");
|
|
40
40
|
__publicField(this, "lastPtrPos", 0);
|
|
41
41
|
__publicField(this, "lastThumbPos", 0);
|
|
42
|
-
__publicField(this, "
|
|
43
|
-
__publicField(this, "
|
|
44
|
-
__publicField(this, "
|
|
42
|
+
__publicField(this, "currThumbPos", 0);
|
|
43
|
+
__publicField(this, "stallCancel", false);
|
|
44
|
+
__publicField(this, "cancelTimeoutId", null);
|
|
45
45
|
__publicField(this, "prevEX");
|
|
46
46
|
__publicField(this, "prevEY");
|
|
47
47
|
__publicField(this, "tx", null);
|
|
@@ -58,7 +58,7 @@ var RangeInput = class extends BaseComponent {
|
|
|
58
58
|
this.rect = this.el.getBoundingClientRect();
|
|
59
59
|
this.el.addEventListener("pointerdown", this.handlePointerDown, { signal: this.signal });
|
|
60
60
|
this.el.addEventListener("keydown", this.handleKeyDown, { signal: this.signal });
|
|
61
|
-
this.
|
|
61
|
+
this.media.container.addEventListener("keyup", () => this.tx && this.useTx(), { signal: this.signal });
|
|
62
62
|
this.el.addEventListener("wheel", this.handleWheel, { passive: false, signal: this.signal });
|
|
63
63
|
this.el.addEventListener("mouseover", () => this.rect = this.el.getBoundingClientRect(), { signal: this.signal });
|
|
64
64
|
this.el.addEventListener("mousemove", this.handleInput, { signal: this.signal });
|
|
@@ -99,16 +99,16 @@ var RangeInput = class extends BaseComponent {
|
|
|
99
99
|
this.el.setPointerCapture(e.pointerId);
|
|
100
100
|
const s = getWindow(this.el).getComputedStyle(this.el);
|
|
101
101
|
this.isVertical = s.writingMode.includes("vertical"), this.isRTL = s.direction === "rtl";
|
|
102
|
-
this.rect = this.el.getBoundingClientRect(), this.lastPtrPos = this.getPos(e), this.lastThumbPos = this.
|
|
102
|
+
this.rect = this.el.getBoundingClientRect(), this.lastPtrPos = this.getPos(e), this.lastThumbPos = this.currThumbPos = this.getValuePos(), this.handleInput(e);
|
|
103
103
|
for (const evt of ["pointermove", "pointerup", "pointercancel"]) getWindow(this.el).addEventListener(evt, evt === "pointermove" ? this.handleInput : this.stopScrubbing, { signal: this.signal });
|
|
104
104
|
}
|
|
105
105
|
stopScrubbing() {
|
|
106
106
|
if (!this.state.scrubbing) return;
|
|
107
107
|
this.state.scrubbing = this.state.previewing = false;
|
|
108
108
|
this.ctlr.cancelRAFLoop(`${this.config.label}Inputing`);
|
|
109
|
-
this.scrub(this.getPosValue(this.state.cancelScrub ? this.lastThumbPos : this.
|
|
109
|
+
this.scrub(this.getPosValue(this.state.cancelScrub ? this.lastThumbPos : this.currThumbPos), this.state.cancelScrub);
|
|
110
110
|
this.allowScrubbing(), this.stopPreviewing();
|
|
111
|
-
this.
|
|
111
|
+
this.stallCancel = true;
|
|
112
112
|
for (const evt of ["pointermove", "pointerup", "pointercancel"]) getWindow(this.el).removeEventListener(evt, evt === "pointermove" ? this.handleInput : this.stopScrubbing);
|
|
113
113
|
}
|
|
114
114
|
stopPreviewing() {
|
|
@@ -117,14 +117,14 @@ var RangeInput = class extends BaseComponent {
|
|
|
117
117
|
!this.state.scrubbing && this.ctlr.cancelRAFLoop(`${this.config.label}Inputing`);
|
|
118
118
|
}
|
|
119
119
|
cancelScrubbing() {
|
|
120
|
-
if (this.
|
|
120
|
+
if (this.stallCancel || this.state.cancelScrub || this.cancelTimeoutId) return;
|
|
121
121
|
this.state.cancelScrub = true;
|
|
122
|
-
this.
|
|
122
|
+
this.cancelTimeoutId = setTimeout(() => this.allowScrubbing(false), this.config.scrub.cancel.timeout, this.signal);
|
|
123
123
|
}
|
|
124
124
|
allowScrubbing(reset = true) {
|
|
125
|
-
this.
|
|
126
|
-
clearTimeout(this.
|
|
127
|
-
if (reset) this.
|
|
125
|
+
this.stallCancel = this.state.cancelScrub = false;
|
|
126
|
+
clearTimeout(this.cancelTimeoutId);
|
|
127
|
+
if (reset) this.cancelTimeoutId = null;
|
|
128
128
|
}
|
|
129
129
|
handleInput(e) {
|
|
130
130
|
if (this.config.readonly || this.config.disabled) return;
|
|
@@ -133,7 +133,7 @@ var RangeInput = class extends BaseComponent {
|
|
|
133
133
|
if (this.prevEX === e.clientX && this.prevEY === e.clientY) return;
|
|
134
134
|
this.prevEX = e.clientX, this.prevEY = e.clientY;
|
|
135
135
|
(_a = this.state).previewing || (_a.previewing = true);
|
|
136
|
-
const progress = this.getPos(e), pos = this.
|
|
136
|
+
const progress = this.getPos(e), pos = this.currThumbPos = clamp(0, !this.state.scrubbing || this.config.scrub.relative ? progress : this.lastThumbPos + progress - this.lastPtrPos, 1);
|
|
137
137
|
this.config.previewValue = this.getPosValue(pos);
|
|
138
138
|
if (this.state.scrubbing) {
|
|
139
139
|
!this.config.scrub.sync ? this.syncElPos(this.thumbEl, pos, false, "auto") : this.scrub(this.config.previewValue);
|
|
@@ -231,4 +231,4 @@ __publicField(RangeInput, "componentName", "rangeInput");
|
|
|
231
231
|
export {
|
|
232
232
|
RangeInput
|
|
233
233
|
};
|
|
234
|
-
//# sourceMappingURL=chunk-
|
|
234
|
+
//# sourceMappingURL=chunk-AS4J74Q2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/ts/components/rangeInput/index.ts"],"sourcesContent":["import { BaseComponent } from \"../base\";\r\nimport { RangeInputChunk, RangeInputConfig, RangeState } from \"./types\";\r\nimport { RANGE_INPUT_BUILD } from \"./build\";\r\nimport type { Controller } from \"@core/controller\";\r\nimport { reactive, type Reactive } from \"sia-reactor\";\r\nimport { deepClone, mergeObjs } from \"sia-reactor/utils\";\r\nimport { createEl, getWindow, observeResize } from \"@utils/dom\";\r\nimport { clamp, stepNum } from \"@utils/num\";\r\nimport { setTimeout } from \"@utils/fn\";\r\nimport { startTx, endTx, Transaction } from \"sia-reactor/modules\";\r\n\r\nexport class RangeInput<Config extends RangeInputConfig = RangeInputConfig, State extends RangeState = RangeState> extends BaseComponent<Reactive<Config>, State, HTMLDivElement> {\r\n public declare config: Reactive<Config> & Reactive<RangeInputConfig>;\r\n public static readonly componentName: string = \"rangeInput\";\r\n public barsWrapper!: HTMLElement;\r\n public marksWrapper!: HTMLElement;\r\n public chunks: RangeInputChunk[] = [];\r\n public thumbEl!: HTMLElement;\r\n public tooltipEl!: HTMLElement;\r\n public marksActive = false; // override in child if needed\r\n public isVertical = false;\r\n public isRTL = false;\r\n protected rect!: DOMRect;\r\n protected lastPtrPos = 0;\r\n protected lastThumbPos = 0;\r\n protected currThumbPos = 0;\r\n protected stallCancel = false;\r\n protected cancelTimeoutId: number | null = null;\r\n\r\n constructor(ctlr: Controller, config?: Partial<Config>, state?: Partial<State>) {\r\n super(ctlr, reactive(mergeObjs(deepClone(RANGE_INPUT_BUILD), config) as unknown as Reactive<Config>, { scrubbing: false, previewing: false, cancelScrub: false, ...state } as any));\r\n }\r\n\r\n public override create() {\r\n // Variables Assignments\r\n this.element = createEl(\"div\", { className: \"tmg-media-range-container\", tabIndex: 0, role: \"slider\" });\r\n this.barsWrapper = createEl(\"div\", { className: \"tmg-media-range-bars-wrapper tmg-media-no-pointer\" });\r\n this.marksWrapper = createEl(\"div\", { className: \"tmg-media-range-marks-wrapper tmg-media-no-pointer\" });\r\n this.thumbEl = createEl(\"div\", { className: \"tmg-media-range-thumb\" });\r\n this.tooltipEl = createEl(\"div\", { className: \"tmg-media-range-tooltip\" });\r\n // DOM Injection\r\n return this.el.append(this.barsWrapper, this.marksWrapper, this.thumbEl, this.tooltipEl), this.el;\r\n }\r\n\r\n public override wire(): void {\r\n // Variables Asignments\r\n this.rect = this.el.getBoundingClientRect();\r\n // Event Listeners\r\n this.el.addEventListener(\"pointerdown\", this.handlePointerDown, { signal: this.signal });\r\n this.el.addEventListener(\"keydown\", this.handleKeyDown, { signal: this.signal });\r\n this.media.container.addEventListener(\"keyup\", () => this.tx && this.useTx(), { signal: this.signal });\r\n this.el.addEventListener(\"wheel\", this.handleWheel, { passive: false, signal: this.signal });\r\n this.el.addEventListener(\"mouseover\", () => (this.rect = this.el.getBoundingClientRect()), { signal: this.signal });\r\n this.el.addEventListener(\"mousemove\", this.handleInput, { signal: this.signal });\r\n for (const evt of [\"mouseleave\", \"touchend\", \"touchcancel\"] as const) this.el.addEventListener(evt, () => setTimeout(this.stopPreviewing, 0, this.signal), { signal: this.signal }); // (mouse|pointer)move can fire after touchend\r\n // State Watchers\r\n this.state.watch(\"scrubbing\", this.useTx, { signal: this.signal });\r\n // ----- Listeners\r\n this.state.on(\"previewing\", ({ value }) => this.el.classList.toggle(\"tmg-media-control-previewing\", !!value), { signal: this.signal });\r\n this.state.on(\"scrubbing\", ({ value }) => this.el.classList.toggle(\"tmg-media-control-scrubbing\", !!value), { signal: this.signal });\r\n this.state.on(\"cancelScrub\", ({ value }) => this.el.classList.toggle(\"tmg-media-control-cancel-scrub\", !!value), { signal: this.signal });\r\n // Config Setters\r\n this.config.set(\"value\", (value) => stepNum(value, this.config), { signal: this.signal });\r\n // ------ Watchers\r\n this.config.watch(\"value\", this.onValue, { init: true, signal: this.signal }); // #SYNC: near native speed\r\n this.config.watch(\"previewValue\", this.onPreviewValue, { init: true, signal: this.signal }); // #SYNC: near native speed\r\n // ------ Listeners\r\n this.config.on(\"label\", ({ value }) => (this.el.ariaLabel = value!), { init: true, signal: this.signal });\r\n this.config.on(\"min\", ({ value }) => (this.el.ariaValueMin = String(value!)), { init: true, signal: this.signal });\r\n this.config.on(\"max\", ({ value }) => (this.el.ariaValueMax = String(value!)), { init: true, signal: this.signal });\r\n this.config.on(\"tooltip\", ({ value }) => this.el.toggleAttribute(\"tooltip\", !!value), { init: true, signal: this.signal });\r\n this.config.on(\"readonly\", ({ value }) => this.el.toggleAttribute(\"readonly\", !!value), { init: true, signal: this.signal });\r\n this.config.on(\"disabled\", ({ value }) => this.el.toggleAttribute(\"disabled\", !!value), { init: true, signal: this.signal });\r\n this.config.on(\"divs\", ({ currentTarget: { value } }) => this.syncDivs(value), { init: true, signal: this.signal });\r\n this.config.on(\"marks\", ({ currentTarget: { value } }) => this.syncMarks(value), { init: true, signal: this.signal });\r\n // Post Wiring\r\n observeResize(this.el, () => this.ctlr.throttle(`${this.config.label}Resizing`, this.handleResize, 30, false, this.signal), this.signal);\r\n }\r\n public get canScrub(): boolean {\r\n return !this.config.readonly && !this.config.disabled;\r\n }\r\n protected scrub(value: number, bypass = false): boolean {\r\n return this.canScrub ? (!bypass ? (this.config.value = value) : this.onValue(value), true) : false;\r\n }\r\n\r\n protected onValue(value: number): void {\r\n this.syncElPos(this.thumbEl, this.getValuePos(value), false, \"auto\"), this.syncChunks(\"value\", value);\r\n if (!this.state.scrubbing) this.el.ariaValueNow = String(value);\r\n }\r\n protected onPreviewValue(value: number): void {\r\n this.syncChunks(\"preview\", value), this.config.tooltip && (this.syncElPos(this.tooltipEl, this.getValuePos(value), false, !(this.state.previewing && !this.state.scrubbing) ? \"auto\" : false, this.thumbEl), (this.tooltipEl.innerHTML = `${this.config.formatTooltip ? this.config.formatTooltip(value) : Math.round(value)} ${this.getValueChunk(value)?.label || \"\"}`.trim()));\r\n }\r\n\r\n protected handlePointerDown(e: PointerEvent, t = e.target as HTMLElement): void {\r\n if (this.state.scrubbing || this.config.readonly || this.config.disabled || (this.marksActive && t?.matches?.(\".tmg-media-range-mark\"))) return;\r\n this.state.scrubbing = true;\r\n this.el.setPointerCapture(e.pointerId);\r\n const s = getWindow(this.el).getComputedStyle(this.el);\r\n (this.isVertical = s.writingMode.includes(\"vertical\")), (this.isRTL = s.direction === \"rtl\");\r\n (this.rect = this.el.getBoundingClientRect()), (this.lastPtrPos = this.getPos(e)), (this.lastThumbPos = this.currThumbPos = this.getValuePos()), this.handleInput(e);\r\n for (const evt of [\"pointermove\", \"pointerup\", \"pointercancel\"] as const) getWindow(this.el).addEventListener(evt, evt === \"pointermove\" ? this.handleInput : this.stopScrubbing, { signal: this.signal });\r\n }\r\n\r\n protected stopScrubbing(): void {\r\n if (!this.state.scrubbing) return;\r\n this.state.scrubbing = this.state.previewing = false;\r\n this.ctlr.cancelRAFLoop(`${this.config.label}Inputing`);\r\n this.scrub(this.getPosValue(this.state.cancelScrub ? this.lastThumbPos : this.currThumbPos), this.state.cancelScrub);\r\n this.allowScrubbing(), this.stopPreviewing();\r\n this.stallCancel = true;\r\n for (const evt of [\"pointermove\", \"pointerup\", \"pointercancel\"] as const) getWindow(this.el).removeEventListener(evt, evt === \"pointermove\" ? this.handleInput : this.stopScrubbing);\r\n }\r\n protected stopPreviewing(): void {\r\n if (!this.state.previewing) return;\r\n this.state.previewing = false;\r\n !this.state.scrubbing && this.ctlr.cancelRAFLoop(`${this.config.label}Inputing`);\r\n }\r\n\r\n protected cancelScrubbing(): void {\r\n if (this.stallCancel || this.state.cancelScrub || this.cancelTimeoutId) return;\r\n this.state.cancelScrub = true;\r\n this.cancelTimeoutId = setTimeout(() => this.allowScrubbing(false), this.config.scrub.cancel.timeout, this.signal);\r\n }\r\n protected allowScrubbing(reset = true): void {\r\n this.stallCancel = this.state.cancelScrub = false;\r\n clearTimeout(this.cancelTimeoutId!);\r\n if (reset) this.cancelTimeoutId = null;\r\n }\r\n\r\n protected handleInput(e: MouseEvent | PointerEvent): void {\r\n if (this.config.readonly || this.config.disabled) return;\r\n this.ctlr.RAFLoop(`${this.config.label}Inputing`, () => {\r\n if (this.prevEX === e.clientX && this.prevEY === e.clientY) return; // #CONSERVATION: peak stays peak\r\n (this.prevEX = e.clientX), (this.prevEY = e.clientY);\r\n this.state.previewing ||= true;\r\n const progress = this.getPos(e),\r\n pos = (this.currThumbPos = clamp(0, !this.state.scrubbing || this.config.scrub.relative ? progress : this.lastThumbPos + progress - this.lastPtrPos, 1));\r\n this.config.previewValue = this.getPosValue(pos);\r\n if (this.state.scrubbing) {\r\n !this.config.scrub.sync ? this.syncElPos(this.thumbEl, pos, false, \"auto\") : this.scrub(this.config.previewValue);\r\n Math.abs(pos - this.lastThumbPos) < this.config.scrub.cancel.delta / this.currDim ? this.cancelScrubbing() : this.allowScrubbing();\r\n }\r\n this.onInput(e, pos);\r\n }); // #PERK: no accidental scrub\r\n }\r\n private prevEX?: number;\r\n private prevEY?: number;\r\n protected onInput(_e: MouseEvent | PointerEvent, _pos: number): void {} // override to safely add preview logic (timeline preview image, etc.)\r\n\r\n protected handleWheel(e: WheelEvent): void {\r\n if (this.config.wheel.disabled) return;\r\n e.preventDefault(), e.stopPropagation();\r\n !this.tx ? this.useTx(true) : this.ctlr.debounce(`${this.config.label}WheelTx`, this.useTx, 350);\r\n const dimension = this.isVertical ? getWindow(this.el).innerHeight : getWindow(this.el).innerWidth,\r\n pos = clamp(0, Math.abs(-e.deltaY), dimension * this.config.wheel.axisRatio) / (dimension * this.config.wheel.axisRatio);\r\n this.scrub(this.config.value + (-e.deltaY >= 0 ? pos : -pos) * (this.config.max - this.config.min));\r\n }\r\n protected handleKeyDown(e: KeyboardEvent, key = e.key?.toLowerCase()): void {\r\n if (!/^(arrowleft|arrowdown|arrowright|arrowup)$/.test(key)) return;\r\n e.preventDefault(), e.stopPropagation(), !this.tx && this.useTx(true);\r\n this.scrub(this.config.value + (/^(arrowleft|arrowdown)$/.test(key) ? -1 : 1) * (e.shiftKey ? 2 : 1) * (this.config.step === \"any\" ? 1 : this.config.step));\r\n }\r\n\r\n protected handleResize(): void {\r\n this.rect = this.el.getBoundingClientRect();\r\n const pos = this.getValuePos();\r\n this.syncElPos(this.thumbEl, pos, false, \"auto\"), this.syncChunks(\"value\", this.config.value), this.config.tooltip && this.syncElPos(this.tooltipEl, pos, false, \"auto\", this.thumbEl);\r\n }\r\n\r\n protected getValuePos(value = this.config.value, range = this.config.max - this.config.min): number {\r\n return range ? (value - this.config.min) / range : 0;\r\n }\r\n protected getPosValue(pos: number): number {\r\n return pos * (this.config.max - this.config.min) + this.config.min;\r\n }\r\n protected getValueChunk(value = this.config.value): RangeInputChunk | undefined {\r\n for (let i = 0, len = this.chunks.length; i < len; i++) {\r\n const c = this.chunks[i];\r\n if (value >= c.start && value <= c.end) return c;\r\n }\r\n }\r\n protected getPos(e: MouseEvent | PointerEvent): number {\r\n const p = this.isVertical ? (e.clientY - this.rect.top) / this.rect.height : (e.clientX - this.rect.left) / this.rect.width;\r\n return clamp(0, this.isRTL ? 1 - p : p, 1);\r\n }\r\n public get currDim(): number {\r\n return this.isVertical ? this.rect.height : this.rect.width;\r\n }\r\n\r\n public syncElPos(el: HTMLElement, pos: number, isSize = false, inBounds: boolean | \"auto\" = false, bounds = el): void {\r\n const min = inBounds ? (this.isVertical ? bounds.offsetHeight : bounds.offsetWidth) / 2 / this.currDim : 0;\r\n pos = inBounds === \"auto\" ? min + pos * (1 - min * 2) : pos;\r\n const value = pos || (!isSize && pos === 0) ? `${clamp(min, pos, 1 - min) * 100}%` : \"\"; // onresize still for pixel accuracy, throttle won't stutter due to '%'\r\n if (isSize) this.isVertical ? ((el.style.blockSize = value), (el.style.inlineSize = \"\")) : ((el.style.inlineSize = value), (el.style.blockSize = \"\"));\r\n else this.isVertical ? ((el.style.insetBlockEnd = value), (el.style.insetInlineStart = \"\")) : ((el.style.insetInlineStart = value), (el.style.insetBlockEnd = \"\"));\r\n // el.style.transform = this.isVertical ? (isSize ? `scaleY(${pos})` : `translateY(-${pos * 100}%)`) : (isSize ? `scaleX(${pos})` : `translateX(${pos * 100}%)`);\r\n }\r\n protected syncChunks(key: keyof Omit<RangeInputChunk, \"start\" | \"end\" | \"size\" | \"el\" | \"label\">, value: number): void {\r\n const pos = this.getValuePos(value),\r\n minOff = !(this.state.previewing && !this.state.scrubbing) ? (this.isVertical ? this.thumbEl.offsetHeight : this.thumbEl.offsetWidth) / 2 / this.currDim : 0,\r\n offVal = this.getPosValue(minOff + pos * (1 - minOff * 2));\r\n for (let i = 0, len = this.chunks.length; i < len; i++) {\r\n const c = this.chunks[i];\r\n this.syncElPos(c[key]!, clamp(0, (offVal - c.start) / c.size, 1) || 0, true);\r\n c[key]!.style.setProperty(\"--tmg-media-current-range-pos\", String(this.getValuePos(offVal)));\r\n c.el.classList.toggle(`tmg-media-chunk-${key}-active`, value >= c.start && value <= c.end);\r\n }\r\n }\r\n protected syncDivs(divs = this.config.divs): void {\r\n (this.barsWrapper.innerHTML = \"\"), (this.chunks = []);\r\n const range = this.config.max - this.config.min,\r\n stops = divs.toSorted((a, b) => a.value - b.value); // Sort divs chronologically\r\n if (stops.length && stops[0].value > this.config.min && stops[0].value <= this.config.min + Math.min(0.02 * range, range * 0.25)) stops[0].value = this.config.min;\r\n else if (!stops.length || stops[0].value > this.config.min) stops.unshift({ value: this.config.min, label: \"\" });\r\n if (stops[stops.length - 1].value < this.config.max) stops.push({ value: this.config.max, label: \"\" });\r\n const fragment = document.createDocumentFragment();\r\n for (let i = 0, len = stops.length; i < len - 1; i++) {\r\n // prettier-ignore\r\n const start = stops[i], end = stops[i + 1], size = end.value - start.value;\r\n if (size <= 0) continue;\r\n const el = createEl(\"div\", { className: \"tmg-media-range-chunk\" }, undefined, { cssText: `--tmg-media-current-chunk-st: ${(start.value - this.config.min) / range};` }),\r\n chunk = { base: createEl(\"div\", { className: \"tmg-media-range-bar tmg-media-no-pointer tmg-media-range-base-bar\" }), preview: createEl(\"div\", { className: \"tmg-media-range-bar tmg-media-no-pointer tmg-media-range-preview-bar\" }), value: createEl(\"div\", { className: \"tmg-media-range-bar tmg-media-no-pointer tmg-media-range-value-bar\" }) };\r\n this.syncElPos(el, size / range, true), fragment.append((el.append(chunk.base, chunk.preview, chunk.value), el)), this.chunks.push({ start: start.value, end: end.value, label: start.label, size, el, ...chunk });\r\n }\r\n this.barsWrapper.append(fragment), this.onValue(this.config.value), this.onPreviewValue(this.config.previewValue);\r\n }\r\n protected syncMarks(marks = this.config.marks): void {\r\n this.marksWrapper.innerHTML = \"\";\r\n const els: HTMLElement[] = [],\r\n range = this.config.max - this.config.min;\r\n if (range <= 0) return;\r\n for (let i = 0, len = marks.length; i < len; i++) {\r\n const m = marks[i],\r\n el = createEl(\"div\", { className: `tmg-media-range-mark tmg-media-range-${m.type || \"base\"}-mark`, title: m.label || `${Math.round(m.start)}%${m.end && m.end > m.start + 1 ? ` - ${Math.round(m.end)}%` : \"\"} Marked`, tabIndex: this.marksActive ? 0 : -1, onclick: this.marksActive ? () => this.scrub(m.start) : undefined, onkeydown: this.marksActive ? (e) => (/^(Enter| )$/.test(e.key) ? this.scrub(m.start) : null) : undefined }, undefined);\r\n this.syncElPos(el, (m.start - this.config.min) / range, false), this.syncElPos(el, m.end ? (m.end - m.start) / range : 0, true), els.push(el);\r\n }\r\n this.marksWrapper.append(...els);\r\n }\r\n\r\n protected tx: Transaction | null = null;\r\n protected useTx(bool = false): void {\r\n bool ? (this.tx = startTx(`${this.config.label} ${this.marksActive ? \"seek\" : \"scrub\"}`)) : this.tx && this.config.stall(() => (endTx(this.tx!), (this.tx = null)));\r\n }\r\n}\r\n\r\ndeclare module \"@defs/registries\" {\r\n interface ComponentRegistryMap {\r\n rangeInput: typeof RangeInput;\r\n }\r\n}\r\n\r\nexport type * from \"./types\";\r\n"],"mappings":"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","names":[]}
|