tmg-media-player 0.0.43 → 0.0.44
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-UAZ33UVV.js → chunk-2R2AAV4Y.js} +80 -80
- package/dist/{chunk-U6XDI2FQ.js → chunk-2VXGUKAW.js} +2 -2
- package/dist/chunk-2VXGUKAW.js.map +1 -0
- package/dist/{chunk-HWZYOHG7.js → chunk-3VN6SCE4.js} +4 -4
- package/dist/{chunk-CS262ZPQ.js → chunk-JLUX5NZJ.js} +73 -73
- package/dist/{chunk-KOLPBP6L.js → chunk-MSP3WUNO.js} +10 -10
- package/dist/{chunk-C5VHC67O.js → chunk-NGCMGTU6.js} +2 -2
- package/dist/{chunk-PXK56QO3.js → chunk-PIHNTBUU.js} +2 -2
- package/dist/chunk-PIHNTBUU.js.map +1 -0
- package/dist/{chunk-PZWBGXMX.js → chunk-QZLPEALR.js} +3 -3
- package/dist/chunk-QZLPEALR.js.map +1 -0
- package/dist/{chunk-X24LFSYJ.js → chunk-RKKQSC3R.js} +4 -4
- package/dist/chunk-RKKQSC3R.js.map +1 -0
- package/dist/{chunk-D6HQVHAM.js → chunk-S6FHAYJX.js} +5 -5
- package/dist/{chunk-RAFGKRDN.js → chunk-SGQJYALA.js} +26 -26
- package/dist/{chunk-KSASYWVJ.js → chunk-SJOESZ5R.js} +4 -4
- package/dist/{chunk-WYH4QVWG.js → chunk-U4STCHIM.js} +7 -7
- package/dist/{chunk-DKPDXJLT.js → chunk-WE2IT3XO.js} +124 -124
- package/dist/{chunk-LAX4F7R3.js → chunk-X2PY4DAZ.js} +4 -4
- package/dist/{chunk-RS7J6G3A.js → chunk-YE3BZM2J.js} +42 -42
- package/dist/{chunk-VIHKKZIQ.js → chunk-YXUIPCGS.js} +31 -31
- package/dist/{chunk-CQB72SSB.js → chunk-ZWZMWXXS.js} +21 -21
- package/dist/components/icons/z-register.js +33 -33
- package/dist/components/notifiers/z-register.js +10 -10
- package/dist/components/z-register.js +12 -12
- package/dist/plugs/main/playlist/index.js +2 -2
- package/dist/plugs/menus/settings/keys.cjs +2 -2
- package/dist/plugs/menus/settings/keys.cjs.map +1 -1
- package/dist/plugs/menus/settings/keys.js +2 -2
- package/dist/plugs/menus/z-register.cjs +2 -2
- package/dist/plugs/menus/z-register.cjs.map +1 -1
- package/dist/plugs/menus/z-register.js +11 -11
- package/dist/plugs/settings/captions/index.js +2 -2
- package/dist/plugs/settings/controlPanel/draggable.js +2 -2
- package/dist/plugs/settings/controlPanel/index.js +2 -2
- package/dist/plugs/settings/frame/index.cjs +1 -1
- package/dist/plugs/settings/frame/index.cjs.map +1 -1
- package/dist/plugs/settings/frame/index.js +1 -1
- package/dist/plugs/settings/keys/build.cjs +2 -2
- package/dist/plugs/settings/keys/build.cjs.map +1 -1
- package/dist/plugs/settings/keys/build.js +1 -1
- package/dist/plugs/settings/keys/index.cjs +2 -2
- package/dist/plugs/settings/keys/index.cjs.map +1 -1
- package/dist/plugs/settings/keys/index.js +3 -3
- package/dist/plugs/settings/panel/index.cjs +3 -3
- package/dist/plugs/settings/panel/index.cjs.map +1 -1
- package/dist/plugs/settings/panel/index.js +1 -1
- package/dist/plugs/settings/poster/index.cjs +1 -1
- package/dist/plugs/settings/poster/index.cjs.map +1 -1
- package/dist/plugs/settings/poster/index.js +1 -1
- package/dist/plugs/settings/sleepTimer/index.js +1 -1
- package/dist/plugs/z-register.cjs +7 -7
- package/dist/plugs/z-register.cjs.map +1 -1
- package/dist/plugs/z-register.js +34 -34
- package/dist/super/components/icons.js +73 -73
- package/dist/super/components/index.js +127 -127
- package/dist/super/components/notifiers.js +26 -26
- package/dist/super/plugs/index.cjs +7 -7
- package/dist/super/plugs/index.cjs.map +1 -1
- package/dist/super/plugs/index.js +92 -92
- package/dist/super/plugs/menus.cjs +2 -2
- package/dist/super/plugs/menus.cjs.map +1 -1
- package/dist/super/plugs/menus.js +23 -23
- package/dist/super/techs.js +11 -11
- package/dist/super.cjs +7 -7
- package/dist/super.cjs.map +1 -1
- package/dist/super.global.js +25 -24
- package/dist/super.global.js.map +1 -1
- package/dist/super.js +116 -116
- package/dist/techs/z-register.js +3 -3
- package/package.json +6 -6
- package/dist/chunk-PXK56QO3.js.map +0 -1
- package/dist/chunk-PZWBGXMX.js.map +0 -1
- package/dist/chunk-U6XDI2FQ.js.map +0 -1
- package/dist/chunk-X24LFSYJ.js.map +0 -1
- /package/dist/{chunk-UAZ33UVV.js.map → chunk-2R2AAV4Y.js.map} +0 -0
- /package/dist/{chunk-HWZYOHG7.js.map → chunk-3VN6SCE4.js.map} +0 -0
- /package/dist/{chunk-CS262ZPQ.js.map → chunk-JLUX5NZJ.js.map} +0 -0
- /package/dist/{chunk-KOLPBP6L.js.map → chunk-MSP3WUNO.js.map} +0 -0
- /package/dist/{chunk-C5VHC67O.js.map → chunk-NGCMGTU6.js.map} +0 -0
- /package/dist/{chunk-D6HQVHAM.js.map → chunk-S6FHAYJX.js.map} +0 -0
- /package/dist/{chunk-RAFGKRDN.js.map → chunk-SGQJYALA.js.map} +0 -0
- /package/dist/{chunk-KSASYWVJ.js.map → chunk-SJOESZ5R.js.map} +0 -0
- /package/dist/{chunk-WYH4QVWG.js.map → chunk-U4STCHIM.js.map} +0 -0
- /package/dist/{chunk-DKPDXJLT.js.map → chunk-WE2IT3XO.js.map} +0 -0
- /package/dist/{chunk-LAX4F7R3.js.map → chunk-X2PY4DAZ.js.map} +0 -0
- /package/dist/{chunk-RS7J6G3A.js.map → chunk-YE3BZM2J.js.map} +0 -0
- /package/dist/{chunk-VIHKKZIQ.js.map → chunk-YXUIPCGS.js.map} +0 -0
- /package/dist/{chunk-CQB72SSB.js.map → chunk-ZWZMWXXS.js.map} +0 -0
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
import {
|
|
2
|
+
VolumePlug
|
|
3
|
+
} from "./chunk-I6Q53IPI.js";
|
|
4
|
+
import {
|
|
5
|
+
VOLUME_BUILD
|
|
6
|
+
} from "./chunk-Q2XYS26I.js";
|
|
1
7
|
import {
|
|
2
8
|
VoicePlug
|
|
3
9
|
} from "./chunk-UCO75OSK.js";
|
|
@@ -6,26 +12,20 @@ import {
|
|
|
6
12
|
VOICE_COMMANDS
|
|
7
13
|
} from "./chunk-F6YDG235.js";
|
|
8
14
|
import {
|
|
9
|
-
|
|
10
|
-
} from "./chunk-
|
|
15
|
+
PosterPlug
|
|
16
|
+
} from "./chunk-PIHNTBUU.js";
|
|
11
17
|
import {
|
|
12
|
-
|
|
13
|
-
} from "./chunk-
|
|
18
|
+
TimePlug
|
|
19
|
+
} from "./chunk-XNQILPYL.js";
|
|
14
20
|
import {
|
|
15
|
-
|
|
16
|
-
} from "./chunk-
|
|
21
|
+
TIME_BUILD
|
|
22
|
+
} from "./chunk-2SZXTLHZ.js";
|
|
17
23
|
import {
|
|
18
24
|
TimeTravelPlug
|
|
19
25
|
} from "./chunk-SUEKTA5D.js";
|
|
20
26
|
import {
|
|
21
27
|
TIME_TRAVEL_BUILD
|
|
22
28
|
} from "./chunk-33JQXI7I.js";
|
|
23
|
-
import {
|
|
24
|
-
TimePlug
|
|
25
|
-
} from "./chunk-XNQILPYL.js";
|
|
26
|
-
import {
|
|
27
|
-
TIME_BUILD
|
|
28
|
-
} from "./chunk-2SZXTLHZ.js";
|
|
29
29
|
import {
|
|
30
30
|
PlaybackRatePlug
|
|
31
31
|
} from "./chunk-JDC4FBXX.js";
|
|
@@ -33,43 +33,33 @@ import {
|
|
|
33
33
|
PLAYBACK_RATE_BUILD
|
|
34
34
|
} from "./chunk-K7AAKFQF.js";
|
|
35
35
|
import {
|
|
36
|
-
|
|
37
|
-
} from "./chunk-
|
|
38
|
-
import {
|
|
39
|
-
POSTER_BUILD
|
|
40
|
-
} from "./chunk-MBRGHAFE.js";
|
|
36
|
+
SleepTimerPlug
|
|
37
|
+
} from "./chunk-PI7JPTSL.js";
|
|
41
38
|
import {
|
|
42
39
|
SLEEP_TIMER_BUILD
|
|
43
40
|
} from "./chunk-XLFHANYG.js";
|
|
44
41
|
import {
|
|
45
|
-
|
|
46
|
-
} from "./chunk-
|
|
47
|
-
import {
|
|
48
|
-
OVERLAY_BUILD
|
|
49
|
-
} from "./chunk-PXU563OY.js";
|
|
50
|
-
import {
|
|
51
|
-
PersistPlug
|
|
52
|
-
} from "./chunk-JCSBCUKA.js";
|
|
53
|
-
import {
|
|
54
|
-
PERSIST_BUILD
|
|
55
|
-
} from "./chunk-NAUZH3E6.js";
|
|
42
|
+
POSTER_BUILD
|
|
43
|
+
} from "./chunk-MBRGHAFE.js";
|
|
56
44
|
import {
|
|
57
45
|
PanelPlug
|
|
58
|
-
} from "./chunk-
|
|
46
|
+
} from "./chunk-RKKQSC3R.js";
|
|
59
47
|
import {
|
|
60
48
|
MENU_FOCUS_SELECTOR,
|
|
61
49
|
SETTINGS_BUILD
|
|
62
50
|
} from "./chunk-H3WJQ4QQ.js";
|
|
63
51
|
import {
|
|
64
|
-
|
|
65
|
-
} from "./chunk-
|
|
52
|
+
PersistPlug
|
|
53
|
+
} from "./chunk-JCSBCUKA.js";
|
|
66
54
|
import {
|
|
67
|
-
|
|
68
|
-
} from "./chunk-
|
|
55
|
+
PERSIST_BUILD
|
|
56
|
+
} from "./chunk-NAUZH3E6.js";
|
|
69
57
|
import {
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
58
|
+
OverlayPlug
|
|
59
|
+
} from "./chunk-AUHJS22O.js";
|
|
60
|
+
import {
|
|
61
|
+
OVERLAY_BUILD
|
|
62
|
+
} from "./chunk-PXU563OY.js";
|
|
73
63
|
import {
|
|
74
64
|
NotifiersPlug
|
|
75
65
|
} from "./chunk-KST5YWTX.js";
|
|
@@ -77,17 +67,12 @@ import {
|
|
|
77
67
|
NOTIFIERS_BUILD
|
|
78
68
|
} from "./chunk-VK3HTM6U.js";
|
|
79
69
|
import {
|
|
80
|
-
|
|
81
|
-
} from "./chunk-
|
|
82
|
-
import {
|
|
83
|
-
KeysPlug
|
|
84
|
-
} from "./chunk-LAX4F7R3.js";
|
|
85
|
-
import {
|
|
86
|
-
MetadataPlug
|
|
87
|
-
} from "./chunk-65ZJKSNP.js";
|
|
70
|
+
ObjectFitPlug
|
|
71
|
+
} from "./chunk-SG4E7P7S.js";
|
|
88
72
|
import {
|
|
89
|
-
|
|
90
|
-
|
|
73
|
+
OBJECT_FIT_BUILD,
|
|
74
|
+
objectFits
|
|
75
|
+
} from "./chunk-KD3OBG25.js";
|
|
91
76
|
import {
|
|
92
77
|
ModesFullscreenPin,
|
|
93
78
|
ModesMiniplayerPin,
|
|
@@ -106,9 +91,24 @@ import {
|
|
|
106
91
|
ORIENTATION_OPTS,
|
|
107
92
|
RESIZE_DIRS
|
|
108
93
|
} from "./chunk-OBT4ZZUV.js";
|
|
94
|
+
import {
|
|
95
|
+
LockedPlug
|
|
96
|
+
} from "./chunk-GS7D7I7X.js";
|
|
97
|
+
import {
|
|
98
|
+
LOCKED_BUILD
|
|
99
|
+
} from "./chunk-IQS7GQSK.js";
|
|
100
|
+
import {
|
|
101
|
+
KeysPlug
|
|
102
|
+
} from "./chunk-X2PY4DAZ.js";
|
|
103
|
+
import {
|
|
104
|
+
MetadataPlug
|
|
105
|
+
} from "./chunk-65ZJKSNP.js";
|
|
106
|
+
import {
|
|
107
|
+
METADATA_BUILD
|
|
108
|
+
} from "./chunk-VZG6IJLU.js";
|
|
109
109
|
import {
|
|
110
110
|
FramePlug
|
|
111
|
-
} from "./chunk-
|
|
111
|
+
} from "./chunk-2VXGUKAW.js";
|
|
112
112
|
import {
|
|
113
113
|
GesturePlug,
|
|
114
114
|
GestureTouchPin,
|
|
@@ -137,11 +137,17 @@ import {
|
|
|
137
137
|
} from "./chunk-SZ7YMJG6.js";
|
|
138
138
|
import {
|
|
139
139
|
CaptionsPlug
|
|
140
|
-
} from "./chunk-
|
|
140
|
+
} from "./chunk-SJOESZ5R.js";
|
|
141
|
+
import {
|
|
142
|
+
CSSPlug
|
|
143
|
+
} from "./chunk-23BYW5JE.js";
|
|
144
|
+
import {
|
|
145
|
+
CSS_BUILD
|
|
146
|
+
} from "./chunk-UCBDCGYX.js";
|
|
141
147
|
import {
|
|
142
148
|
ControlPanelDraggablePin,
|
|
143
149
|
ControlPanelPlug
|
|
144
|
-
} from "./chunk-
|
|
150
|
+
} from "./chunk-S6FHAYJX.js";
|
|
145
151
|
import {
|
|
146
152
|
ToastsPlug,
|
|
147
153
|
tutorialOpts
|
|
@@ -149,12 +155,6 @@ import {
|
|
|
149
155
|
import {
|
|
150
156
|
TOASTS_BUILD
|
|
151
157
|
} from "./chunk-3GIJOELI.js";
|
|
152
|
-
import {
|
|
153
|
-
CSSPlug
|
|
154
|
-
} from "./chunk-23BYW5JE.js";
|
|
155
|
-
import {
|
|
156
|
-
CSS_BUILD
|
|
157
|
-
} from "./chunk-UCBDCGYX.js";
|
|
158
158
|
import {
|
|
159
159
|
AutoPlug
|
|
160
160
|
} from "./chunk-OLPEXQJF.js";
|
|
@@ -162,33 +162,27 @@ import {
|
|
|
162
162
|
APT_AUTOPLAY_OPTIONS,
|
|
163
163
|
AUTO_BUILD
|
|
164
164
|
} from "./chunk-ITCB3POV.js";
|
|
165
|
+
import {
|
|
166
|
+
PlaylistPlug
|
|
167
|
+
} from "./chunk-3VN6SCE4.js";
|
|
168
|
+
import {
|
|
169
|
+
LightPlug
|
|
170
|
+
} from "./chunk-AKSQNAZS.js";
|
|
171
|
+
import {
|
|
172
|
+
LIGHT_BUILD
|
|
173
|
+
} from "./chunk-ZFOHXLB2.js";
|
|
165
174
|
import {
|
|
166
175
|
BrightnessPlug
|
|
167
176
|
} from "./chunk-X543EHRV.js";
|
|
168
177
|
import {
|
|
169
178
|
BRIGHTNESS_BUILD
|
|
170
179
|
} from "./chunk-JPWNE7JO.js";
|
|
171
|
-
import {
|
|
172
|
-
PlaylistPlug
|
|
173
|
-
} from "./chunk-HWZYOHG7.js";
|
|
174
|
-
import {
|
|
175
|
-
SkeletonPlug
|
|
176
|
-
} from "./chunk-EO2SYXX5.js";
|
|
177
|
-
import {
|
|
178
|
-
SKELETON_BUILD
|
|
179
|
-
} from "./chunk-MKBKL3BT.js";
|
|
180
180
|
import {
|
|
181
181
|
AmbiencePlug
|
|
182
182
|
} from "./chunk-3APJR7DP.js";
|
|
183
183
|
import {
|
|
184
184
|
AMBIENT_BUILD
|
|
185
185
|
} from "./chunk-PPWMZTPS.js";
|
|
186
|
-
import {
|
|
187
|
-
LightPlug
|
|
188
|
-
} from "./chunk-AKSQNAZS.js";
|
|
189
|
-
import {
|
|
190
|
-
LIGHT_BUILD
|
|
191
|
-
} from "./chunk-ZFOHXLB2.js";
|
|
192
186
|
import {
|
|
193
187
|
AdsPlug
|
|
194
188
|
} from "./chunk-6CXX7WZO.js";
|
|
@@ -196,6 +190,12 @@ import {
|
|
|
196
190
|
ADS_BUILD,
|
|
197
191
|
AD_ROLL_BUILD
|
|
198
192
|
} from "./chunk-IW5NSWNS.js";
|
|
193
|
+
import {
|
|
194
|
+
SkeletonPlug
|
|
195
|
+
} from "./chunk-EO2SYXX5.js";
|
|
196
|
+
import {
|
|
197
|
+
SKELETON_BUILD
|
|
198
|
+
} from "./chunk-MKBKL3BT.js";
|
|
199
199
|
import {
|
|
200
200
|
DisabledPlug
|
|
201
201
|
} from "./chunk-EZN6F5JE.js";
|
|
@@ -203,10 +203,9 @@ import {
|
|
|
203
203
|
DISABLED_BUILD
|
|
204
204
|
} from "./chunk-WW56NFQS.js";
|
|
205
205
|
import {
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
} from "./chunk-IFRYW3PY.js";
|
|
206
|
+
BasePin,
|
|
207
|
+
BasePlug
|
|
208
|
+
} from "./chunk-5EKOUIF3.js";
|
|
210
209
|
import {
|
|
211
210
|
CONTROLS,
|
|
212
211
|
CONTROL_PANEL_BUILD,
|
|
@@ -219,15 +218,16 @@ import {
|
|
|
219
218
|
KEYS_OVERIDES,
|
|
220
219
|
KEYS_SHORTCUTS,
|
|
221
220
|
KEYS_WHITELIST
|
|
222
|
-
} from "./chunk-
|
|
221
|
+
} from "./chunk-QZLPEALR.js";
|
|
222
|
+
import {
|
|
223
|
+
CAPTIONS_BUILD,
|
|
224
|
+
ROTATE_PATHS,
|
|
225
|
+
STYLE_PATHS
|
|
226
|
+
} from "./chunk-IFRYW3PY.js";
|
|
223
227
|
import {
|
|
224
228
|
PLAYLIST_BUILD,
|
|
225
229
|
PLAY_ITEM_BUILD
|
|
226
230
|
} from "./chunk-53P2DFNM.js";
|
|
227
|
-
import {
|
|
228
|
-
BasePin,
|
|
229
|
-
BasePlug
|
|
230
|
-
} from "./chunk-5EKOUIF3.js";
|
|
231
231
|
import {
|
|
232
232
|
__export
|
|
233
233
|
} from "./chunk-UVKRO5ER.js";
|
|
@@ -340,4 +340,4 @@ __export(plugs_exports, {
|
|
|
340
340
|
export {
|
|
341
341
|
plugs_exports
|
|
342
342
|
};
|
|
343
|
-
//# sourceMappingURL=chunk-
|
|
343
|
+
//# sourceMappingURL=chunk-2R2AAV4Y.js.map
|
|
@@ -43,7 +43,7 @@ var FramePlug = class extends BasePlug {
|
|
|
43
43
|
wire() {
|
|
44
44
|
this.media.watch("tech", this.syncFeatures, { init: true, signal: this.signal });
|
|
45
45
|
this.ctlr.config.watch("settings.frame.disabled", this.syncFeatures, { signal: this.signal });
|
|
46
|
-
this.ctlr.learn("capture", { fn: () => this.capture("") }, this.signal);
|
|
46
|
+
this.ctlr.learn("capture", { fn: (e) => this.capture(e?.altKey ? "monochrome" : "") }, this.signal);
|
|
47
47
|
this.ctlr.learn("timeStepFwd", { fn: () => this.moveFrame("forwards"), keyboard: { phase: "keydown" } }, this.signal);
|
|
48
48
|
this.ctlr.learn("timeStepBwd", { fn: () => this.moveFrame("backwards"), keyboard: { phase: "keydown" } }, this.signal);
|
|
49
49
|
super.wire();
|
|
@@ -115,4 +115,4 @@ __publicField(FramePlug, "BUILD", FRAME_BUILD);
|
|
|
115
115
|
export {
|
|
116
116
|
FramePlug
|
|
117
117
|
};
|
|
118
|
-
//# sourceMappingURL=chunk-
|
|
118
|
+
//# sourceMappingURL=chunk-2VXGUKAW.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/ts/plugs/settings/frame/index.ts"],"sourcesContent":["import { BasePlug } from \"../../base\";\r\nimport type { FrameConfig } from \"./types\";\r\nimport { FRAME_BUILD } from \"./build\";\r\nimport { getDominantColor, getRGBBri, getRGBSat } from \"@utils/color\";\r\nimport { createEl } from \"@utils/dom\";\r\nimport { clamp, safeNum } from \"@utils/num\";\r\nimport { parseCSSTime } from \"@utils/str\";\r\nimport { formatMediaTime } from \"@utils/time\";\r\nimport { silence } from \"sia-reactor/modules\";\r\nimport { setTimeout } from \"@utils/fn\";\r\nimport { getMediaMin, getMediaMax } from \"@utils/time\";\r\n\r\nexport class FramePlug extends BasePlug<FrameConfig> {\r\n public static readonly plugName = \"frame\";\r\n public static readonly BUILD = FRAME_BUILD;\r\n public exportCanvas: HTMLCanvasElement = createEl(\"canvas\");\r\n public exportCtx: CanvasRenderingContext2D = this.exportCanvas.getContext(\"2d\", { alpha: false })!;\r\n\r\n public override wire(): void {\r\n // Ctlr Media Watchers\r\n this.media.watch(\"tech\", this.syncFeatures, { init: true, signal: this.signal });\r\n // ---- Config --------\r\n this.ctlr.config.watch(\"settings.frame.disabled\", this.syncFeatures, { signal: this.signal });\r\n // Post Wiring\r\n this.ctlr.learn(\"capture\", { fn: (e?: KeyboardEvent) => this.capture(e?.altKey ? \"monochrome\" : \"\") }, this.signal);\r\n this.ctlr.learn(\"timeStepFwd\", { fn: () => this.moveFrame(\"forwards\"), keyboard: { phase: \"keydown\" } }, this.signal);\r\n this.ctlr.learn(\"timeStepBwd\", { fn: () => this.moveFrame(\"backwards\"), keyboard: { phase: \"keydown\" } }, this.signal);\r\n super.wire();\r\n }\r\n\r\n public async extract(display: \"\" | \"monochrome\", time?: number, raw?: false, min?: number, video?: HTMLVideoElement): Promise<{ blob: Blob | null; url: string }>;\r\n public async extract(display: \"\" | \"monochrome\", time?: number, raw?: true, min?: number, video?: HTMLVideoElement): Promise<{ canvas: HTMLCanvasElement; context: CanvasRenderingContext2D }>;\r\n public async extract(display: string = \"\", time = safeNum(this.media.state.currentTime), raw = false, min = 0, video = this.media.pseudoElement as HTMLVideoElement): Promise<any> {\r\n if (!this.media.features.frameCapture) return raw ? { canvas: this.exportCanvas, context: (this.exportCtx.clearRect(0, 0, this.exportCanvas.width, this.exportCanvas.height), this.exportCtx) } : { blob: null, url: \"\" };\r\n if (video !== this.media.element) {\r\n if (this.ctlr.state.frameReadyPromise) await this.ctlr.state.frameReadyPromise; // wait for it to get set by last getter 5 lines below\r\n if (Math.abs(video.currentTime - time) > 0.01 || !video.readyState) {\r\n this.ctlr.state.frameReadyPromise ??= new Promise<null>((res, _, cb = () => (clearTimeout(t), res(null)), t?: any) => ([video.readyState ? \"timeupdate\" : \"loadeddata\", \"error\", \"abort\", \"emptied\"].forEach((ev) => video.addEventListener(ev, cb, { once: true, signal: this.signal })), (t = setTimeout(cb, 15000, this.signal)))); // me sef no small, been burned before this\r\n video.currentTime = time; // small epsilon tolerance for video time comparison - 0.01(10ms)\r\n }\r\n this.ctlr.state.frameReadyPromise = await this.ctlr.state.frameReadyPromise;\r\n }\r\n (this.exportCanvas.width = video.videoWidth || min), (this.exportCanvas.height = video.videoHeight || min);\r\n this.exportCtx.filter = `${this.settings.css.filter as string}${display === \"monochrome\" ? \" grayscale(100%)\" : \"\"}`;\r\n this.exportCtx.drawImage(video, 0, 0, this.exportCanvas.width, this.exportCanvas.height);\r\n this.exportCtx.filter = \"none\";\r\n if (raw === true) return { canvas: this.exportCanvas, context: this.exportCtx };\r\n let blob: Blob | null | false | 0 = null;\r\n try {\r\n blob = (this.exportCanvas.width || this.exportCanvas.height) && (await new Promise<Blob | null>((res) => this.exportCanvas.toBlob(res)));\r\n } catch (err) {\r\n this.ctlr.log(err, \"error\", true); // #LESS: error not worth notifying\r\n }\r\n return { blob: blob || null, url: blob ? URL.createObjectURL(blob) : \"\" };\r\n }\r\n\r\n public async capture(display: \"\" | \"monochrome\" = \"\", time = safeNum(this.media.state.currentTime)): Promise<void> {\r\n if (!this.media.features.frameCapture) return;\r\n this.ctlr.notify?.(\"capture\"); // #STALLING: necessary optimistic distraction\r\n const toast = this.ctlr.toast,\r\n tTxt = formatMediaTime({ time, format: \"human\", showMs: true }),\r\n fTxt = `video frame ${display === \"monochrome\" ? \"in b&w \" : \"\"}at ${tTxt}`,\r\n tId = toast?.loading(`Capturing ${fTxt}...`, { delay: parseCSSTime(this.settings.css.notifiersAnimationTime), image: window.TMG_MEDIA_ALT_IMG_SRC, tag: `tmg-${this.media.settings.metadata.title ?? \"Video\"}fcpa${tTxt}${display}`, signal: this.signal, ...this.config.toast }) as string,\r\n frame = await this.extract(display, time, false, 0, this.media.element as HTMLVideoElement),\r\n filename = `${this.media.settings.metadata.title ?? \"Video\"}_${display === \"monochrome\" ? `black&white_` : \"\"}at_${tTxt}.png`.replace(/[\\/:*?\"<>|\\s]+/g, \"_\"); // system filename safe\r\n const Save = () => {\r\n toast?.loading(tId, { render: `Saving ${fTxt}`, actions: false });\r\n createEl(\"a\", { href: frame.url as string, download: filename })?.click?.();\r\n toast?.success(tId, { delay: 1000, render: `Saved ${fTxt}`, actions: false });\r\n };\r\n const Share = () => {\r\n toast?.loading(tId, { render: `Sharing ${fTxt}`, actions: false });\r\n navigator.share?.({ title: this.media.settings.metadata.title ?? \"Video\", text: `Captured ${fTxt}`, files: [new File([frame.blob!], filename, { type: frame.blob!.type })] }).then(\r\n () => toast?.success(tId, { render: `Shared ${fTxt}`, actions: false }),\r\n () => toast?.error(tId, { render: `Failed sharing ${fTxt}`, autoClose: this.config.toast.autoClose, actions: { Save } })\r\n ) || toast?.warn(tId, { delay: 1000, render: `Couldn't share ${fTxt}`, autoClose: this.config.toast.autoClose, actions: { Save } });\r\n };\r\n frame?.url ? toast?.success(tId, { render: `Captured ${fTxt}`, image: frame.url, actions: { Save, Share }, onClose: () => URL.revokeObjectURL(frame.url), autoClose: this.config.toast.autoClose }) : toast?.error(tId, { render: `Failed capturing ${fTxt}` });\r\n }\r\n\r\n public async getGoodTime({ time: t = safeNum(this.media.state.currentTime), secondsLimit: s = 25, saturation: sat = 12, brightness: bri = 40 } = {}): Promise<number | undefined> {\r\n const end = clamp(getMediaMin(this.media), t + s, getMediaMax(this.media)),\r\n seq = ++this.findSeq;\r\n for (; t <= end; t += 0.333) {\r\n if (seq !== this.findSeq) return;\r\n const rgb = await getDominantColor((await this.extract(\"\", t, true, 1)).canvas, \"rgb\", true);\r\n if (rgb && getRGBBri(rgb) > bri && getRGBSat(rgb) > sat) return t; // <= FIRST legit content frame\r\n }\r\n return;\r\n }\r\n private findSeq = 0;\r\n\r\n public async getMainColor(time?: number, poster = this.media.state.poster, config?: Parameters<typeof this.getGoodTime>[0]): Promise<string | null> {\r\n return getDominantColor(poster ? poster : (await this.extract(\"\", time ?? (await this.getGoodTime(config)), true, 1)).canvas);\r\n }\r\n\r\n public moveFrame(dir: \"forwards\" | \"backwards\" = \"forwards\"): void {\r\n this.media.state.paused && this.ctlr.throttle(\"frameStepping\", () => silence(() => (this.media.intent.currentTime = clamp(getMediaMin(this.media), Math.round(this.media.state.currentTime * this.config.fps) + (dir === \"backwards\" ? -1 : 1), Math.floor(getMediaMax(this.media) * this.config.fps)) / this.config.fps)), Math.round(1000 / this.config.fps));\r\n }\r\n\r\n public syncFeatures(): void {\r\n this.media.tech.polyfill(\"frameCapture\", this.ctlr.isNativeEl && this.media.type === \"video\", this.config.disabled);\r\n }\r\n} // Video only\r\n\r\nexport type * from \"./types\";\r\nexport * from \"./build\";\r\n\r\ndeclare module \"@defs/registries\" {\r\n interface PlugRegistryMap {\r\n \"settings.frame\": typeof FramePlug;\r\n }\r\n}\r\n\r\ndeclare module \"@defs/config\" {\r\n interface Settings {\r\n frame: FrameConfig;\r\n }\r\n}\r\n\r\ndeclare module \"@defs/contract\" {\r\n interface MediaFeaturesExt {\r\n frameCapture: boolean;\r\n }\r\n}\r\n"],"mappings":"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","names":[]}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
+
import {
|
|
2
|
+
BasePlug
|
|
3
|
+
} from "./chunk-5EKOUIF3.js";
|
|
1
4
|
import {
|
|
2
5
|
PLAYLIST_BUILD,
|
|
3
6
|
PLAY_ITEM_BUILD
|
|
4
7
|
} from "./chunk-53P2DFNM.js";
|
|
5
|
-
import {
|
|
6
|
-
BasePlug
|
|
7
|
-
} from "./chunk-5EKOUIF3.js";
|
|
8
8
|
import {
|
|
9
9
|
smartFlatSort
|
|
10
10
|
} from "./chunk-MPZ62IDU.js";
|
|
@@ -103,4 +103,4 @@ __publicField(PlaylistPlug, "BUILD", PLAYLIST_BUILD);
|
|
|
103
103
|
export {
|
|
104
104
|
PlaylistPlug
|
|
105
105
|
};
|
|
106
|
-
//# sourceMappingURL=chunk-
|
|
106
|
+
//# sourceMappingURL=chunk-3VN6SCE4.js.map
|
|
@@ -1,15 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
tripleTriangleLeft
|
|
3
|
-
} from "./chunk-IIRP4XMQ.js";
|
|
4
|
-
import {
|
|
5
|
-
tripleTriangleRight
|
|
6
|
-
} from "./chunk-ZTOANBNR.js";
|
|
7
|
-
import {
|
|
8
|
-
unlock
|
|
9
|
-
} from "./chunk-TMTWPBFD.js";
|
|
10
|
-
import {
|
|
11
|
-
videoTrack
|
|
12
|
-
} from "./chunk-AIJWNUXU.js";
|
|
13
1
|
import {
|
|
14
2
|
volumeHigh
|
|
15
3
|
} from "./chunk-W6TNR6NH.js";
|
|
@@ -19,18 +7,6 @@ import {
|
|
|
19
7
|
import {
|
|
20
8
|
volumeMuted
|
|
21
9
|
} from "./chunk-2WOP45O7.js";
|
|
22
|
-
import {
|
|
23
|
-
replay
|
|
24
|
-
} from "./chunk-YHTCXXEG.js";
|
|
25
|
-
import {
|
|
26
|
-
returnBack
|
|
27
|
-
} from "./chunk-BHHFZM5D.js";
|
|
28
|
-
import {
|
|
29
|
-
settings
|
|
30
|
-
} from "./chunk-2J3FJY73.js";
|
|
31
|
-
import {
|
|
32
|
-
shuffle
|
|
33
|
-
} from "./chunk-OEHNS7YX.js";
|
|
34
10
|
import {
|
|
35
11
|
sort
|
|
36
12
|
} from "./chunk-QP2X53HC.js";
|
|
@@ -44,17 +20,17 @@ import {
|
|
|
44
20
|
triangleLeft
|
|
45
21
|
} from "./chunk-6SMYDK4B.js";
|
|
46
22
|
import {
|
|
47
|
-
|
|
48
|
-
} from "./chunk-
|
|
23
|
+
tripleTriangleLeft
|
|
24
|
+
} from "./chunk-IIRP4XMQ.js";
|
|
49
25
|
import {
|
|
50
|
-
|
|
51
|
-
} from "./chunk-
|
|
26
|
+
tripleTriangleRight
|
|
27
|
+
} from "./chunk-ZTOANBNR.js";
|
|
52
28
|
import {
|
|
53
|
-
|
|
54
|
-
} from "./chunk-
|
|
29
|
+
unlock
|
|
30
|
+
} from "./chunk-TMTWPBFD.js";
|
|
55
31
|
import {
|
|
56
|
-
|
|
57
|
-
} from "./chunk-
|
|
32
|
+
videoTrack
|
|
33
|
+
} from "./chunk-AIJWNUXU.js";
|
|
58
34
|
import {
|
|
59
35
|
playlist
|
|
60
36
|
} from "./chunk-KLAI7YSD.js";
|
|
@@ -68,17 +44,17 @@ import {
|
|
|
68
44
|
removeMiniplayer
|
|
69
45
|
} from "./chunk-GCEEKQP5.js";
|
|
70
46
|
import {
|
|
71
|
-
|
|
72
|
-
} from "./chunk-
|
|
47
|
+
replay
|
|
48
|
+
} from "./chunk-YHTCXXEG.js";
|
|
73
49
|
import {
|
|
74
|
-
|
|
75
|
-
} from "./chunk-
|
|
50
|
+
returnBack
|
|
51
|
+
} from "./chunk-BHHFZM5D.js";
|
|
76
52
|
import {
|
|
77
|
-
|
|
78
|
-
} from "./chunk-
|
|
53
|
+
settings
|
|
54
|
+
} from "./chunk-2J3FJY73.js";
|
|
79
55
|
import {
|
|
80
|
-
|
|
81
|
-
} from "./chunk-
|
|
56
|
+
shuffle
|
|
57
|
+
} from "./chunk-OEHNS7YX.js";
|
|
82
58
|
import {
|
|
83
59
|
next
|
|
84
60
|
} from "./chunk-MP2GRDUX.js";
|
|
@@ -92,17 +68,17 @@ import {
|
|
|
92
68
|
objectFitFill
|
|
93
69
|
} from "./chunk-JERHONAV.js";
|
|
94
70
|
import {
|
|
95
|
-
|
|
96
|
-
} from "./chunk-
|
|
71
|
+
pause
|
|
72
|
+
} from "./chunk-OOXUZMZ7.js";
|
|
97
73
|
import {
|
|
98
|
-
|
|
99
|
-
} from "./chunk-
|
|
74
|
+
pipPlaceholder
|
|
75
|
+
} from "./chunk-7CRW7VGS.js";
|
|
100
76
|
import {
|
|
101
|
-
|
|
102
|
-
} from "./chunk-
|
|
77
|
+
play
|
|
78
|
+
} from "./chunk-K4UHBEDT.js";
|
|
103
79
|
import {
|
|
104
|
-
|
|
105
|
-
} from "./chunk-
|
|
80
|
+
playbackRate
|
|
81
|
+
} from "./chunk-C3IEUYR3.js";
|
|
106
82
|
import {
|
|
107
83
|
expandMiniplayer
|
|
108
84
|
} from "./chunk-DN4TFOZV.js";
|
|
@@ -116,17 +92,17 @@ import {
|
|
|
116
92
|
fwd
|
|
117
93
|
} from "./chunk-XXYOJDOZ.js";
|
|
118
94
|
import {
|
|
119
|
-
|
|
120
|
-
} from "./chunk-
|
|
95
|
+
goBack
|
|
96
|
+
} from "./chunk-4XUR7NSC.js";
|
|
121
97
|
import {
|
|
122
|
-
|
|
123
|
-
} from "./chunk-
|
|
98
|
+
lock
|
|
99
|
+
} from "./chunk-T4LAQEBY.js";
|
|
124
100
|
import {
|
|
125
|
-
|
|
126
|
-
} from "./chunk-
|
|
101
|
+
loop
|
|
102
|
+
} from "./chunk-OSDM6ZVT.js";
|
|
127
103
|
import {
|
|
128
|
-
|
|
129
|
-
} from "./chunk-
|
|
104
|
+
mic
|
|
105
|
+
} from "./chunk-PEKXIISU.js";
|
|
130
106
|
import {
|
|
131
107
|
edit
|
|
132
108
|
} from "./chunk-NLJQAJZB.js";
|
|
@@ -140,17 +116,17 @@ import {
|
|
|
140
116
|
enterTheater
|
|
141
117
|
} from "./chunk-BZYMBDEH.js";
|
|
142
118
|
import {
|
|
143
|
-
|
|
144
|
-
} from "./chunk-
|
|
119
|
+
errorPlaceholder
|
|
120
|
+
} from "./chunk-2K7QF6AQ.js";
|
|
145
121
|
import {
|
|
146
|
-
|
|
147
|
-
} from "./chunk-
|
|
122
|
+
exitFullscreen
|
|
123
|
+
} from "./chunk-DR2VKENG.js";
|
|
148
124
|
import {
|
|
149
|
-
|
|
150
|
-
} from "./chunk-
|
|
125
|
+
exitPip
|
|
126
|
+
} from "./chunk-OCWLEK2W.js";
|
|
151
127
|
import {
|
|
152
|
-
|
|
153
|
-
} from "./chunk-
|
|
128
|
+
exitTheater
|
|
129
|
+
} from "./chunk-CRH6DM5A.js";
|
|
154
130
|
import {
|
|
155
131
|
capture
|
|
156
132
|
} from "./chunk-HA2GK6KH.js";
|
|
@@ -164,17 +140,17 @@ import {
|
|
|
164
140
|
chapters
|
|
165
141
|
} from "./chunk-2W5XWGGE.js";
|
|
166
142
|
import {
|
|
167
|
-
|
|
168
|
-
} from "./chunk-
|
|
143
|
+
check
|
|
144
|
+
} from "./chunk-O7XYY33O.js";
|
|
169
145
|
import {
|
|
170
|
-
|
|
171
|
-
} from "./chunk-
|
|
146
|
+
doubleTriangleLeft
|
|
147
|
+
} from "./chunk-VGWGAAZA.js";
|
|
172
148
|
import {
|
|
173
|
-
|
|
174
|
-
} from "./chunk-
|
|
149
|
+
doubleTriangleRight
|
|
150
|
+
} from "./chunk-Q5TE3ZDK.js";
|
|
175
151
|
import {
|
|
176
|
-
|
|
177
|
-
} from "./chunk-
|
|
152
|
+
dragIndicator
|
|
153
|
+
} from "./chunk-ZLZCQ3KJ.js";
|
|
178
154
|
import {
|
|
179
155
|
autoplay
|
|
180
156
|
} from "./chunk-WTHHXWQM.js";
|
|
@@ -187,9 +163,33 @@ import {
|
|
|
187
163
|
import {
|
|
188
164
|
brightnessDark
|
|
189
165
|
} from "./chunk-XTLPAS7S.js";
|
|
166
|
+
import {
|
|
167
|
+
brightnessHigh
|
|
168
|
+
} from "./chunk-YEQ7IT4H.js";
|
|
169
|
+
import {
|
|
170
|
+
brightnessLow
|
|
171
|
+
} from "./chunk-63CB7WUR.js";
|
|
172
|
+
import {
|
|
173
|
+
bwd
|
|
174
|
+
} from "./chunk-PV24XKW2.js";
|
|
175
|
+
import {
|
|
176
|
+
captions
|
|
177
|
+
} from "./chunk-CTSPKWKN.js";
|
|
190
178
|
import {
|
|
191
179
|
add
|
|
192
180
|
} from "./chunk-ID72UAJE.js";
|
|
181
|
+
import {
|
|
182
|
+
airplay
|
|
183
|
+
} from "./chunk-JP5X5JDL.js";
|
|
184
|
+
import {
|
|
185
|
+
airplayPlaceholder
|
|
186
|
+
} from "./chunk-URDNEQFP.js";
|
|
187
|
+
import {
|
|
188
|
+
ambience
|
|
189
|
+
} from "./chunk-XHXIXEGS.js";
|
|
190
|
+
import {
|
|
191
|
+
audioTrack
|
|
192
|
+
} from "./chunk-AH2VE4UI.js";
|
|
193
193
|
import {
|
|
194
194
|
IconRegistry
|
|
195
195
|
} from "./chunk-3NUEYI6F.js";
|
|
@@ -262,4 +262,4 @@ IconRegistry.registerAll({
|
|
|
262
262
|
goBack,
|
|
263
263
|
mic
|
|
264
264
|
});
|
|
265
|
-
//# sourceMappingURL=chunk-
|
|
265
|
+
//# sourceMappingURL=chunk-JLUX5NZJ.js.map
|
|
@@ -1,12 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
DashTech
|
|
3
|
-
} from "./chunk-PK4FFZZ4.js";
|
|
4
|
-
import {
|
|
5
|
-
HLSTech
|
|
6
|
-
} from "./chunk-LNING7Z4.js";
|
|
7
|
-
import {
|
|
8
|
-
ShakaTech
|
|
9
|
-
} from "./chunk-5V7L4U3B.js";
|
|
10
1
|
import {
|
|
11
2
|
VIMEO_EVENTS,
|
|
12
3
|
VimeoTech
|
|
@@ -14,9 +5,18 @@ import {
|
|
|
14
5
|
import {
|
|
15
6
|
YouTubeTech
|
|
16
7
|
} from "./chunk-C2A7NNKK.js";
|
|
8
|
+
import {
|
|
9
|
+
DashTech
|
|
10
|
+
} from "./chunk-PK4FFZZ4.js";
|
|
11
|
+
import {
|
|
12
|
+
HLSTech
|
|
13
|
+
} from "./chunk-LNING7Z4.js";
|
|
17
14
|
import {
|
|
18
15
|
IMATech
|
|
19
16
|
} from "./chunk-XOAJMIHO.js";
|
|
17
|
+
import {
|
|
18
|
+
ShakaTech
|
|
19
|
+
} from "./chunk-5V7L4U3B.js";
|
|
20
20
|
import {
|
|
21
21
|
HTML5Tech
|
|
22
22
|
} from "./chunk-QT5XXSG7.js";
|
|
@@ -46,4 +46,4 @@ __export(techs_exports, {
|
|
|
46
46
|
export {
|
|
47
47
|
techs_exports
|
|
48
48
|
};
|
|
49
|
-
//# sourceMappingURL=chunk-
|
|
49
|
+
//# sourceMappingURL=chunk-MSP3WUNO.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
KEYS_MODS_ACTIONS
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-QZLPEALR.js";
|
|
4
4
|
import {
|
|
5
5
|
getUIOpt,
|
|
6
6
|
isDef
|
|
@@ -105,4 +105,4 @@ var getSettingsKeysMenu = (plug) => ({
|
|
|
105
105
|
export {
|
|
106
106
|
getSettingsKeysMenu
|
|
107
107
|
};
|
|
108
|
-
//# sourceMappingURL=chunk-
|
|
108
|
+
//# sourceMappingURL=chunk-NGCMGTU6.js.map
|
|
@@ -39,7 +39,7 @@ var PosterPlug = class extends BasePlug {
|
|
|
39
39
|
this.media.on("state.poster", ({ value }) => this.syncSrc(value), { init: this.ctlr.flags.wired, signal: this.signal });
|
|
40
40
|
this.media.on("state.paused", ({ value }) => !value && this.config.eager && this.syncState(false), { init: this.ctlr.flags.wired, signal: this.signal });
|
|
41
41
|
this.media.on("state.currentTime", (e) => (!this.config.eager || e.value) && this.ctlr.when("loadedData", e, () => this.syncState(false), this.signal), { init: this.ctlr.flags.wired, signal: this.signal });
|
|
42
|
-
this.media.on("status.
|
|
42
|
+
this.media.on("status.loadedData", (e) => e.value && this.autoGenerate(), { init: this.ctlr.flags.wired, signal: this.signal });
|
|
43
43
|
for (const k of ["ended", "teasing"]) this.media.on(`status.${k}`, this.syncView, { signal: this.signal });
|
|
44
44
|
super.wire();
|
|
45
45
|
}
|
|
@@ -73,4 +73,4 @@ __publicField(PosterPlug, "BUILD", POSTER_BUILD);
|
|
|
73
73
|
export {
|
|
74
74
|
PosterPlug
|
|
75
75
|
};
|
|
76
|
-
//# sourceMappingURL=chunk-
|
|
76
|
+
//# sourceMappingURL=chunk-PIHNTBUU.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/ts/plugs/settings/poster/index.ts"],"sourcesContent":["import { BasePlug } from \"../../base\";\r\nimport type { PosterConfig, PosterState } from \"./types\";\r\nimport { POSTER_BUILD } from \"./build\";\r\nimport type { Controller } from \"@core/controller\";\r\nimport type { CtlrMedia } from \"@defs/contract\";\r\nimport type { REvent } from \"sia-reactor\";\r\nimport { silence } from \"sia-reactor/modules\";\r\nimport { createEl } from \"@utils/dom\";\r\nimport { isSameURL } from \"@utils/str\";\r\n\r\nexport class PosterPlug extends BasePlug<PosterConfig, PosterState> {\r\n public static readonly plugName = \"poster\";\r\n public static readonly BUILD = POSTER_BUILD;\r\n public element!: HTMLImageElement;\r\n\r\n constructor(ctlr: Controller, config = ctlr.settings.poster) {\r\n super(ctlr, config, { visible: true });\r\n }\r\n\r\n public override mount(): void {\r\n // Variables Assignment\r\n this.ctlr.DOM.poster = this.element = this.ctlr.syncImgLoadState(createEl(\"img\", { className: \"tmg-media-poster tmg-media-no-pointer tmg-media-filtered tmg-media-object\", alt: \"Poster Image\" }));\r\n // Event Listeners\r\n this.element.addEventListener(\"load\", () => this.ctlr.plug(\"settings.objectFit\")?.syncPosterSize(), { signal: this.signal });\r\n // DOM Injection\r\n this.ctlr.DOM.controlsContainer?.prepend(this.element);\r\n }\r\n public override unmount(): void {\r\n this.element.remove();\r\n }\r\n\r\n public override wire(): void {\r\n // State Setters\r\n this.state.set(\"visible\", (v) => this.media.type === \"audio\" || v, { signal: this.signal });\r\n // ---- Listeners\r\n this.state.on(\"visible\", this.syncView, { signal: this.signal });\r\n // Ctlr Media Watchers\r\n this.media.watch(\"tech\", () => (this.media.tech.polyfill(\"poster\", true), this.syncView()), { init: true, signal: this.signal });\r\n // --------- Listeners\r\n this.media.on(\"type\", this.syncView, { signal: this.signal });\r\n this.media.on(\"intent.poster\", this.handlePosterIntent, { capture: true, init: this.ctlr.flags.wired, initType: \"set\", signal: this.signal }); // #HIGHER-POWER: power arbitration\r\n this.media.on(\"state.src\", () => this.syncState(true), { signal: this.signal });\r\n this.media.on(\"state.poster\", ({ value }) => this.syncSrc(value), { init: this.ctlr.flags.wired, signal: this.signal });\r\n this.media.on(\"state.paused\", ({ value }) => !value && this.config.eager && this.syncState(false), { init: this.ctlr.flags.wired, signal: this.signal });\r\n this.media.on(\"state.currentTime\", (e) => (!this.config.eager || e.value) && this.ctlr.when(\"loadedData\", e, () => this.syncState(false), this.signal), { init: this.ctlr.flags.wired, signal: this.signal }); // if strict, sets hides like html5, light Plug blocks\r\n this.media.on(\"status.loadedData\", (e) => e.value && this.autoGenerate(), { init: this.ctlr.flags.wired, signal: this.signal });\r\n for (const k of [\"ended\", \"teasing\"] as const) this.media.on(`status.${k}`, this.syncView, { signal: this.signal });\r\n // Post Wiring\r\n super.wire();\r\n }\r\n\r\n protected handlePosterIntent(e: REvent<CtlrMedia, \"intent.poster\">): void {\r\n if (e.resolved) return;\r\n this.media.state.poster = e.value;\r\n this.syncView(), this.syncSrc(); // UX boost\r\n e.resolve(this.name);\r\n }\r\n\r\n protected syncSrc(src = this.media.state.poster): void {\r\n if (!isSameURL(src, this.element.src)) (this.element.dataset.loaded = \"false\"), src ? (this.element.src = src) : this.element.removeAttribute(\"src\");\r\n }\r\n protected syncView(): void {\r\n if (this.media.type === \"audio\") this.media.state.poster ||= window.TMG_MEDIA_ALT_IMG_SRC || \"\";\r\n this.media.container.classList.toggle(\"tmg-media-poster-visible\", this.syncState());\r\n }\r\n protected syncState(bool = this.state.visible): boolean {\r\n return (this.state.visible = !this.media.status.teasing && (bool || (this.config.eager && this.media.status.ended)));\r\n }\r\n\r\n public async autoGenerate(): Promise<void> {\r\n const url = this.media.state.poster;\r\n if (!this.config.allowAutoGenerate || !this.ctlr.isNativeEl || this.media.type === \"audio\" || (url && !url.endsWith(this.ctlr.hash))) return;\r\n const frame = await this.ctlr.plug(\"settings.frame\")?.extract(\"\", this.ctlr.config.light.preview.max);\r\n silence(() => (this.media.intent.poster = frame?.url ? frame.url + this.ctlr.hash : \"\")), url && URL.revokeObjectURL(url.replace(this.ctlr.hash, \"\"));\r\n }\r\n}\r\n\r\nexport type * from \"./types\";\r\nexport * from \"./build\";\r\n\r\ndeclare module \"@defs/registries\" {\r\n interface PlugRegistryMap {\r\n \"settings.poster\": typeof PosterPlug;\r\n }\r\n interface ControllerDOMMap {\r\n poster?: HTMLImageElement | null;\r\n }\r\n}\r\n\r\ndeclare module \"@defs/config\" {\r\n interface Settings {\r\n poster: PosterConfig;\r\n }\r\n}\r\n"],"mappings":"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","names":[]}
|