@gcorevideo/player 2.22.30 → 2.23.0
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/assets/media-control/container.scss +2 -3
- package/assets/poster/poster.ejs +3 -1
- package/assets/poster/poster.scss +3 -3
- package/assets/style/main.scss +1 -1
- package/assets/thumbnails/scrub-thumbnails.ejs +5 -10
- package/assets/thumbnails/style.scss +4 -5
- package/dist/core.js +1 -1
- package/dist/index.css +533 -532
- package/dist/index.js +273 -377
- package/dist/player.d.ts +63 -33
- package/docs/api/{player.seektime.bindevents.md → player.clapprstats.clearmetrics.md} +3 -3
- package/docs/api/player.clapprstats.md +14 -0
- package/docs/api/player.extendedevents.md +14 -0
- package/docs/api/player.md +13 -2
- package/docs/api/player.seektime.attributes.md +0 -1
- package/docs/api/player.seektime.md +6 -197
- package/docs/api/{player.seektime.render.md → player.seektimesettings.md} +7 -7
- package/docs/api/player.skiptime.md +3 -184
- package/lib/plugins/clips/Clips.d.ts +7 -0
- package/lib/plugins/clips/Clips.d.ts.map +1 -1
- package/lib/plugins/clips/Clips.js +8 -0
- package/lib/plugins/media-control/MediaControl.d.ts +1 -7
- package/lib/plugins/media-control/MediaControl.d.ts.map +1 -1
- package/lib/plugins/media-control/MediaControl.js +9 -18
- package/lib/plugins/poster/Poster.d.ts +24 -14
- package/lib/plugins/poster/Poster.d.ts.map +1 -1
- package/lib/plugins/poster/Poster.js +67 -97
- package/lib/plugins/thumbnails/Thumbnails.d.ts +36 -33
- package/lib/plugins/thumbnails/Thumbnails.d.ts.map +1 -1
- package/lib/plugins/thumbnails/Thumbnails.js +174 -259
- package/lib/plugins/thumbnails/utils.d.ts +5 -0
- package/lib/plugins/thumbnails/utils.d.ts.map +1 -0
- package/lib/plugins/thumbnails/utils.js +12 -0
- package/lib/testUtils.d.ts +13 -39
- package/lib/testUtils.d.ts.map +1 -1
- package/lib/testUtils.js +15 -67
- package/package.json +2 -1
- package/src/plugins/clips/Clips.ts +10 -1
- package/src/plugins/media-control/MediaControl.ts +10 -21
- package/src/plugins/media-control/__tests__/__snapshots__/MediaControl.test.ts.snap +1 -1
- package/src/plugins/poster/Poster.ts +91 -110
- package/src/plugins/poster/__tests__/Poster.test.ts +119 -0
- package/src/plugins/poster/__tests__/__snapshots__/Poster.test.ts.snap +8 -0
- package/src/plugins/source-controller/__tests__/SourceController.test.ts +1 -2
- package/src/plugins/thumbnails/Thumbnails.ts +228 -330
- package/src/plugins/thumbnails/__tests__/Thumbnails.test.ts +72 -0
- package/src/plugins/thumbnails/__tests__/__snapshots__/Thumbnails.test.ts.snap +10 -0
- package/src/plugins/thumbnails/utils.ts +12 -0
- package/src/testUtils.ts +15 -88
- package/temp/player.api.json +295 -829
- package/tsconfig.tsbuildinfo +1 -1
- package/docs/api/player.seektime.durationshown.md +0 -14
- package/docs/api/player.seektime.getseektime.md +0 -20
- package/docs/api/player.seektime.islivestreamwithdvr.md +0 -14
- package/docs/api/player.seektime.mediacontrol.md +0 -14
- package/docs/api/player.seektime.mediacontrolcontainer.md +0 -14
- package/docs/api/player.seektime.shouldbevisible.md +0 -18
- package/docs/api/player.seektime.template.md +0 -14
- package/docs/api/player.seektime.update.md +0 -18
- package/docs/api/player.skiptime.attributes.md +0 -17
- package/docs/api/player.skiptime.bindevents.md +0 -18
- package/docs/api/player.skiptime.events.md +0 -18
- package/docs/api/player.skiptime.handlerewindclicks.md +0 -18
- package/docs/api/player.skiptime.render.md +0 -18
- package/docs/api/player.skiptime.setback.md +0 -18
- package/docs/api/player.skiptime.setforward.md +0 -18
- package/docs/api/player.skiptime.setmidclick.md +0 -18
- package/docs/api/player.skiptime.template.md +0 -14
- package/docs/api/player.skiptime.togglefullscreen.md +0 -18
|
@@ -7,14 +7,14 @@
|
|
|
7
7
|
> This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
|
|
8
8
|
>
|
|
9
9
|
|
|
10
|
-
`PLUGIN` that
|
|
10
|
+
`PLUGIN` that allows skipping time by tapping on the left or right side of the video.
|
|
11
11
|
|
|
12
12
|
**Signature:**
|
|
13
13
|
|
|
14
14
|
```typescript
|
|
15
|
-
export declare class SkipTime extends
|
|
15
|
+
export declare class SkipTime extends UICorePlugin
|
|
16
16
|
```
|
|
17
|
-
**Extends:**
|
|
17
|
+
**Extends:** UICorePlugin
|
|
18
18
|
|
|
19
19
|
## Properties
|
|
20
20
|
|
|
@@ -41,27 +41,6 @@ Description
|
|
|
41
41
|
</th></tr></thead>
|
|
42
42
|
<tbody><tr><td>
|
|
43
43
|
|
|
44
|
-
[attributes](./player.skiptime.attributes.md)
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
</td><td>
|
|
48
|
-
|
|
49
|
-
`readonly`
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
</td><td>
|
|
53
|
-
|
|
54
|
-
{ class: string; 'data-skip-time': string; }
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
</td><td>
|
|
58
|
-
|
|
59
|
-
**_(BETA)_**
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
</td></tr>
|
|
63
|
-
<tr><td>
|
|
64
|
-
|
|
65
44
|
[container](./player.skiptime.container.md)
|
|
66
45
|
|
|
67
46
|
|
|
@@ -80,27 +59,6 @@ any
|
|
|
80
59
|
**_(BETA)_**
|
|
81
60
|
|
|
82
61
|
|
|
83
|
-
</td></tr>
|
|
84
|
-
<tr><td>
|
|
85
|
-
|
|
86
|
-
[events](./player.skiptime.events.md)
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
</td><td>
|
|
90
|
-
|
|
91
|
-
`readonly`
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
</td><td>
|
|
95
|
-
|
|
96
|
-
{ 'click \[data-skip-left\]': string; 'click \[data-skip-mid\]': string; 'click \[data-skip-right\]': string; }
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
</td><td>
|
|
100
|
-
|
|
101
|
-
**_(BETA)_**
|
|
102
|
-
|
|
103
|
-
|
|
104
62
|
</td></tr>
|
|
105
63
|
<tr><td>
|
|
106
64
|
|
|
@@ -143,144 +101,5 @@ string
|
|
|
143
101
|
**_(BETA)_**
|
|
144
102
|
|
|
145
103
|
|
|
146
|
-
</td></tr>
|
|
147
|
-
<tr><td>
|
|
148
|
-
|
|
149
|
-
[template](./player.skiptime.template.md)
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
</td><td>
|
|
153
|
-
|
|
154
|
-
`readonly`
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
</td><td>
|
|
158
|
-
|
|
159
|
-
any
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
</td><td>
|
|
163
|
-
|
|
164
|
-
**_(BETA)_**
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
</td></tr>
|
|
168
|
-
</tbody></table>
|
|
169
|
-
|
|
170
|
-
## Methods
|
|
171
|
-
|
|
172
|
-
<table><thead><tr><th>
|
|
173
|
-
|
|
174
|
-
Method
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
</th><th>
|
|
178
|
-
|
|
179
|
-
Modifiers
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
</th><th>
|
|
183
|
-
|
|
184
|
-
Description
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
</th></tr></thead>
|
|
188
|
-
<tbody><tr><td>
|
|
189
|
-
|
|
190
|
-
[bindEvents()](./player.skiptime.bindevents.md)
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
</td><td>
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
</td><td>
|
|
197
|
-
|
|
198
|
-
**_(BETA)_**
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
</td></tr>
|
|
202
|
-
<tr><td>
|
|
203
|
-
|
|
204
|
-
[handleRewindClicks()](./player.skiptime.handlerewindclicks.md)
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
</td><td>
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
</td><td>
|
|
211
|
-
|
|
212
|
-
**_(BETA)_**
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
</td></tr>
|
|
216
|
-
<tr><td>
|
|
217
|
-
|
|
218
|
-
[render()](./player.skiptime.render.md)
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
</td><td>
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
</td><td>
|
|
225
|
-
|
|
226
|
-
**_(BETA)_**
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
</td></tr>
|
|
230
|
-
<tr><td>
|
|
231
|
-
|
|
232
|
-
[setBack()](./player.skiptime.setback.md)
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
</td><td>
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
</td><td>
|
|
239
|
-
|
|
240
|
-
**_(BETA)_**
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
</td></tr>
|
|
244
|
-
<tr><td>
|
|
245
|
-
|
|
246
|
-
[setForward()](./player.skiptime.setforward.md)
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
</td><td>
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
</td><td>
|
|
253
|
-
|
|
254
|
-
**_(BETA)_**
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
</td></tr>
|
|
258
|
-
<tr><td>
|
|
259
|
-
|
|
260
|
-
[setMidClick()](./player.skiptime.setmidclick.md)
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
</td><td>
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
</td><td>
|
|
267
|
-
|
|
268
|
-
**_(BETA)_**
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
</td></tr>
|
|
272
|
-
<tr><td>
|
|
273
|
-
|
|
274
|
-
[toggleFullscreen()](./player.skiptime.togglefullscreen.md)
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
</td><td>
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
</td><td>
|
|
281
|
-
|
|
282
|
-
**_(BETA)_**
|
|
283
|
-
|
|
284
|
-
|
|
285
104
|
</td></tr>
|
|
286
105
|
</tbody></table>
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { UICorePlugin } from '@clappr/core';
|
|
2
|
+
import { TimeValue } from '../../playback.types.js';
|
|
2
3
|
import '../../../assets/clips/clips.scss';
|
|
3
4
|
/**
|
|
4
5
|
* Configuration options for the {@link Clips} plugin.
|
|
@@ -51,6 +52,12 @@ export declare class Clips extends UICorePlugin {
|
|
|
51
52
|
destroy(): import("@clappr/core").UIObject;
|
|
52
53
|
disable(): void;
|
|
53
54
|
enable(): void;
|
|
55
|
+
/**
|
|
56
|
+
* Get the text of the clip at the given time
|
|
57
|
+
* @param time - The time to get the text for
|
|
58
|
+
* @returns The text of the clip at the given time
|
|
59
|
+
*/
|
|
60
|
+
getText(time: TimeValue): string | undefined;
|
|
54
61
|
private onCoreReady;
|
|
55
62
|
private onMcRender;
|
|
56
63
|
private onContainerChanged;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Clips.d.ts","sourceRoot":"","sources":["../../../src/plugins/clips/Clips.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,YAAY,EAAe,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"Clips.d.ts","sourceRoot":"","sources":["../../../src/plugins/clips/Clips.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,YAAY,EAAe,MAAM,cAAc,CAAA;AAI3E,OAAO,EAAgB,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAEjE,OAAO,kCAAkC,CAAA;AAOzC;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAA;CACb;AAKD;;;;;;;;;;;GAWG;AACH,qBAAa,KAAM,SAAQ,YAAY;IACrC,OAAO,CAAC,QAAQ,CAAgC;IAEhD,OAAO,CAAC,KAAK,CAAiB;IAE9B,OAAO,CAAC,YAAY,CAAuB;IAE3C,OAAO,CAAC,OAAO,CAA2B;IAE1C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAsB;IAEtD;;OAEG;IACH,IAAI,IAAI,WAEP;IAED;;OAEG;IACH,IAAa,UAAU;;MAItB;IAED,IAAI,OAAO,WAEV;IAED,IAAI,gBAAgB;;MAEnB;IAED;;OAEG;IACM,UAAU;IAUV,MAAM;IAUN,OAAO;IAQP,OAAO;IAQP,MAAM;IAKf;;;;OAIG;IACH,OAAO,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS;IAI5C,OAAO,CAAC,WAAW;IASnB,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,kBAAkB;IAsB1B,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,YAAY;IAepB,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,OAAO;IASf,OAAO,CAAC,UAAU;IAiBlB,OAAO,CAAC,WAAW;CAOpB"}
|
|
@@ -80,6 +80,14 @@ export class Clips extends UICorePlugin {
|
|
|
80
80
|
this.render();
|
|
81
81
|
return super.enable();
|
|
82
82
|
}
|
|
83
|
+
/**
|
|
84
|
+
* Get the text of the clip at the given time
|
|
85
|
+
* @param time - The time to get the text for
|
|
86
|
+
* @returns The text of the clip at the given time
|
|
87
|
+
*/
|
|
88
|
+
getText(time) {
|
|
89
|
+
return this.clips.find((clip) => clip.start <= time && clip.end >= time)?.text;
|
|
90
|
+
}
|
|
83
91
|
onCoreReady() {
|
|
84
92
|
trace(`${T} onCoreReady`);
|
|
85
93
|
const mediaControl = this.core.getPlugin('media_control');
|
|
@@ -108,8 +108,8 @@ export declare class MediaControl extends UICorePlugin {
|
|
|
108
108
|
};
|
|
109
109
|
private get disabled();
|
|
110
110
|
/**
|
|
111
|
+
* Use in mediacontrol-based plugins to access the active container
|
|
111
112
|
* @internal
|
|
112
|
-
* @deprecated Use core.activeContainer directly
|
|
113
113
|
*/
|
|
114
114
|
get container(): any;
|
|
115
115
|
/**
|
|
@@ -249,12 +249,6 @@ export declare class MediaControl extends UICorePlugin {
|
|
|
249
249
|
* ```
|
|
250
250
|
*/
|
|
251
251
|
mount(name: MediaControlElement, element: ZeptoResult): void;
|
|
252
|
-
/**
|
|
253
|
-
* @deprecated Use {@link MediaControl.mount} instead
|
|
254
|
-
* @param name
|
|
255
|
-
* @param element
|
|
256
|
-
*/
|
|
257
|
-
putElement(name: MediaControlElement, element: ZeptoResult): void;
|
|
258
252
|
/**
|
|
259
253
|
* Toggle the visibility of a media control element
|
|
260
254
|
* @param name - The name of the media control element
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MediaControl.d.ts","sourceRoot":"","sources":["../../../src/plugins/media-control/MediaControl.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"MediaControl.d.ts","sourceRoot":"","sources":["../../../src/plugins/media-control/MediaControl.ts"],"names":[],"mappings":"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"}
|
|
@@ -149,8 +149,8 @@ export class MediaControl extends UICorePlugin {
|
|
|
149
149
|
return this.userDisabled || playbackIsNOOP;
|
|
150
150
|
}
|
|
151
151
|
/**
|
|
152
|
+
* Use in mediacontrol-based plugins to access the active container
|
|
152
153
|
* @internal
|
|
153
|
-
* @deprecated Use core.activeContainer directly
|
|
154
154
|
*/
|
|
155
155
|
get container() {
|
|
156
156
|
return this.core.activeContainer;
|
|
@@ -417,16 +417,16 @@ export class MediaControl extends UICorePlugin {
|
|
|
417
417
|
this.applyButtonStyle(this.$playStopToggle);
|
|
418
418
|
}
|
|
419
419
|
mousemoveOnSeekBar(event) {
|
|
420
|
+
const offset = MediaControl.getPageX(event) -
|
|
421
|
+
(this.$seekBarContainer.offset().left ?? 0); // TODO check if the result can be negative
|
|
422
|
+
const hoverOffset = offset -
|
|
423
|
+
(this.$seekBarHover.width() ?? 0) / 2;
|
|
424
|
+
const pos = offset ? Math.min(1, Math.max(offset / this.$seekBarContainer.width(), 0)) : 0;
|
|
420
425
|
if (this.settings.seekEnabled) {
|
|
421
|
-
//
|
|
422
|
-
|
|
423
|
-
const offsetX = MediaControl.getPageX(event) -
|
|
424
|
-
this.$seekBarContainer.offset().left -
|
|
425
|
-
this.$seekBarHover.width() / 2;
|
|
426
|
-
this.$seekBarHover.css({ left: offsetX });
|
|
427
|
-
}
|
|
426
|
+
// TODO test that it works when the element does not exist
|
|
427
|
+
this.$seekBarHover.css({ left: hoverOffset });
|
|
428
428
|
}
|
|
429
|
-
this.trigger(Events.MEDIACONTROL_MOUSEMOVE_SEEKBAR, event);
|
|
429
|
+
this.trigger(Events.MEDIACONTROL_MOUSEMOVE_SEEKBAR, event, pos);
|
|
430
430
|
}
|
|
431
431
|
mouseleaveOnSeekBar(event) {
|
|
432
432
|
this.trigger(Events.MEDIACONTROL_MOUSELEAVE_SEEKBAR, event);
|
|
@@ -850,17 +850,8 @@ export class MediaControl extends UICorePlugin {
|
|
|
850
850
|
else {
|
|
851
851
|
panel.append(element);
|
|
852
852
|
}
|
|
853
|
-
return;
|
|
854
853
|
}
|
|
855
854
|
}
|
|
856
|
-
/**
|
|
857
|
-
* @deprecated Use {@link MediaControl.mount} instead
|
|
858
|
-
* @param name
|
|
859
|
-
* @param element
|
|
860
|
-
*/
|
|
861
|
-
putElement(name, element) {
|
|
862
|
-
this.mount(name, element);
|
|
863
|
-
}
|
|
864
855
|
/**
|
|
865
856
|
* Toggle the visibility of a media control element
|
|
866
857
|
* @param name - The name of the media control element
|
|
@@ -1,22 +1,34 @@
|
|
|
1
1
|
import { UIContainerPlugin } from '@clappr/core';
|
|
2
2
|
import '../../../assets/poster/poster.scss';
|
|
3
|
+
export type PosterPluginSettings = {
|
|
4
|
+
/**
|
|
5
|
+
* Custom CSS background
|
|
6
|
+
*/
|
|
7
|
+
custom?: string;
|
|
8
|
+
/**
|
|
9
|
+
* Whether to show the poster image when the playback is noop (i.e., when there is no appropriate video playback engine for current media sources set or the media sources are not set at all)
|
|
10
|
+
*/
|
|
11
|
+
showForNoOp?: boolean;
|
|
12
|
+
/**
|
|
13
|
+
* Poster image URL
|
|
14
|
+
*/
|
|
15
|
+
url?: string;
|
|
16
|
+
/**
|
|
17
|
+
* Whether to show the poster after playback has ended @default true
|
|
18
|
+
*/
|
|
19
|
+
showOnVideoEnd?: boolean;
|
|
20
|
+
};
|
|
3
21
|
/**
|
|
4
22
|
* `PLUGIN` that displays a poster image in the background and a big play button on top when playback is stopped
|
|
5
23
|
* @beta
|
|
6
24
|
* @remarks
|
|
7
|
-
* When the playback is stopped, media control UI is disabled.
|
|
25
|
+
* When the playback is stopped or not yet started, the media control UI is disabled and hidden.
|
|
26
|
+
* Media control gets activated once the metadata is loaded after playback is initiated.
|
|
27
|
+
* This plugin displays a big play button on top of the poster image to allow user to start playback.
|
|
8
28
|
* Note that the poster image, if specified via the player config, will be used to update video element's poster attribute by the
|
|
9
29
|
* HTML5-video-based playback module.
|
|
10
30
|
*
|
|
11
|
-
* Configuration options
|
|
12
|
-
*
|
|
13
|
-
* - `poster.custom` - custom CSS background
|
|
14
|
-
*
|
|
15
|
-
* - `poster.showForNoOp` - whether to show the poster when the playback is not started
|
|
16
|
-
*
|
|
17
|
-
* - `poster.url` - the URL of the poster image
|
|
18
|
-
*
|
|
19
|
-
* - `poster.showOnVideoEnd` - whether to show the poster when the playback is ended
|
|
31
|
+
* Configuration options - {@link PosterPluginSettings}
|
|
20
32
|
*
|
|
21
33
|
* @example
|
|
22
34
|
* ```ts
|
|
@@ -31,10 +43,9 @@ import '../../../assets/poster/poster.scss';
|
|
|
31
43
|
*/
|
|
32
44
|
export declare class Poster extends UIContainerPlugin {
|
|
33
45
|
private hasFatalError;
|
|
34
|
-
private
|
|
46
|
+
private playing;
|
|
35
47
|
private playRequested;
|
|
36
48
|
private $playButton;
|
|
37
|
-
private $playWrapper;
|
|
38
49
|
/**
|
|
39
50
|
* @internal
|
|
40
51
|
*/
|
|
@@ -47,12 +58,12 @@ export declare class Poster extends UIContainerPlugin {
|
|
|
47
58
|
};
|
|
48
59
|
private static readonly template;
|
|
49
60
|
private get shouldRender();
|
|
61
|
+
private get isNoOp();
|
|
50
62
|
/**
|
|
51
63
|
* @internal
|
|
52
64
|
*/
|
|
53
65
|
get attributes(): {
|
|
54
66
|
class: string;
|
|
55
|
-
'data-poster': string;
|
|
56
67
|
};
|
|
57
68
|
/**
|
|
58
69
|
* @internal
|
|
@@ -60,7 +71,6 @@ export declare class Poster extends UIContainerPlugin {
|
|
|
60
71
|
get events(): {
|
|
61
72
|
click: string;
|
|
62
73
|
};
|
|
63
|
-
private get showOnVideoEnd();
|
|
64
74
|
/**
|
|
65
75
|
* @internal
|
|
66
76
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Poster.d.ts","sourceRoot":"","sources":["../../../src/plugins/poster/Poster.ts"],"names":[],"mappings":"AAIA,OAAO,EAIL,iBAAiB,
|
|
1
|
+
{"version":3,"file":"Poster.d.ts","sourceRoot":"","sources":["../../../src/plugins/poster/Poster.ts"],"names":[],"mappings":"AAIA,OAAO,EAIL,iBAAiB,EAElB,MAAM,cAAc,CAAA;AAMrB,OAAO,oCAAoC,CAAA;AAK3C,MAAM,MAAM,oBAAoB,GAAG;IACjC;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB,CAAA;AAID;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,MAAO,SAAQ,iBAAiB;IAG3C,OAAO,CAAC,aAAa,CAAQ;IAE7B,OAAO,CAAC,OAAO,CAAQ;IAEvB,OAAO,CAAC,aAAa,CAAQ;IAE7B,OAAO,CAAC,WAAW,CAA2B;IAE9C;;OAEG;IACH,IAAI,IAAI,WAEP;IAED;;OAEG;IACH,IAAI,gBAAgB;;MAEnB;IAED,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAuB;IAEvD,OAAO,KAAK,YAAY,GASvB;IAED,OAAO,KAAK,MAAM,GAEjB;IAED;;OAEG;IACH,IAAa,UAAU;;MAItB;IAED;;OAEG;IACH,IAAa,MAAM;;MAIlB;IAED;;OAEG;IACM,UAAU;IAuBnB;;OAEG;IACM,MAAM;IAOf;;OAEG;IACM,OAAO;IAOhB,OAAO,CAAC,OAAO;IAYf,OAAO,CAAC,MAAM;IAOd,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,MAAM;IAOd,OAAO,CAAC,gBAAgB;IAiBxB,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,OAAO;IAef,OAAO,CAAC,gBAAgB;IAKxB,OAAO,CAAC,MAAM;IAOd,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,UAAU;IAKlB,OAAO,CAAC,UAAU;IAUlB;;OAEG;IACM,MAAM;IAgCf;;OAEG;IACM,OAAO;CAIjB"}
|