@editframe/elements 0.21.0-beta.0 → 0.23.6-beta.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/dist/EF_FRAMEGEN.js +2 -3
- package/dist/attachContextRoot.d.ts +1 -0
- package/dist/attachContextRoot.js +9 -0
- package/dist/elements/ContextProxiesController.d.ts +1 -2
- package/dist/elements/EFAudio.js +2 -2
- package/dist/elements/EFCaptions.d.ts +1 -3
- package/dist/elements/EFCaptions.js +59 -51
- package/dist/elements/EFImage.js +2 -2
- package/dist/elements/EFMedia/AssetIdMediaEngine.js +1 -2
- package/dist/elements/EFMedia/AssetMediaEngine.js +1 -3
- package/dist/elements/EFMedia/BufferedSeekingInput.d.ts +1 -1
- package/dist/elements/EFMedia/BufferedSeekingInput.js +2 -4
- package/dist/elements/EFMedia/audioTasks/makeAudioBufferTask.js +4 -7
- package/dist/elements/EFMedia/audioTasks/makeAudioFrequencyAnalysisTask.js +1 -2
- package/dist/elements/EFMedia/shared/AudioSpanUtils.js +5 -9
- package/dist/elements/EFMedia/shared/BufferUtils.js +1 -3
- package/dist/elements/EFMedia/videoTasks/makeVideoBufferTask.js +4 -7
- package/dist/elements/EFMedia.d.ts +19 -0
- package/dist/elements/EFMedia.js +19 -2
- package/dist/elements/EFSourceMixin.js +1 -1
- package/dist/elements/EFSurface.js +1 -1
- package/dist/elements/EFTemporal.browsertest.d.ts +11 -0
- package/dist/elements/EFTemporal.d.ts +10 -0
- package/dist/elements/EFTemporal.js +82 -5
- package/dist/elements/EFThumbnailStrip.js +9 -16
- package/dist/elements/EFTimegroup.browsertest.d.ts +3 -3
- package/dist/elements/EFTimegroup.d.ts +35 -14
- package/dist/elements/EFTimegroup.js +72 -120
- package/dist/elements/EFVideo.d.ts +10 -0
- package/dist/elements/EFVideo.js +15 -2
- package/dist/elements/EFWaveform.js +10 -18
- package/dist/elements/SampleBuffer.js +1 -2
- package/dist/elements/TargetController.js +2 -2
- package/dist/elements/renderTemporalAudio.d.ts +10 -0
- package/dist/elements/renderTemporalAudio.js +35 -0
- package/dist/elements/updateAnimations.js +7 -10
- package/dist/gui/ContextMixin.d.ts +5 -5
- package/dist/gui/ContextMixin.js +151 -117
- package/dist/gui/Controllable.browsertest.d.ts +0 -0
- package/dist/gui/Controllable.d.ts +15 -0
- package/dist/gui/Controllable.js +9 -0
- package/dist/gui/EFConfiguration.js +1 -1
- package/dist/gui/EFControls.browsertest.d.ts +11 -0
- package/dist/gui/EFControls.d.ts +18 -4
- package/dist/gui/EFControls.js +67 -25
- package/dist/gui/EFDial.browsertest.d.ts +0 -0
- package/dist/gui/EFDial.d.ts +18 -0
- package/dist/gui/EFDial.js +141 -0
- package/dist/gui/EFFilmstrip.browsertest.d.ts +11 -0
- package/dist/gui/EFFilmstrip.d.ts +12 -2
- package/dist/gui/EFFilmstrip.js +140 -34
- package/dist/gui/EFFitScale.js +2 -4
- package/dist/gui/EFFocusOverlay.js +1 -1
- package/dist/gui/EFPause.browsertest.d.ts +0 -0
- package/dist/gui/EFPause.d.ts +23 -0
- package/dist/gui/EFPause.js +59 -0
- package/dist/gui/EFPlay.browsertest.d.ts +0 -0
- package/dist/gui/EFPlay.d.ts +23 -0
- package/dist/gui/EFPlay.js +59 -0
- package/dist/gui/EFPreview.d.ts +4 -0
- package/dist/gui/EFPreview.js +15 -6
- package/dist/gui/EFResizableBox.browsertest.d.ts +0 -0
- package/dist/gui/EFResizableBox.d.ts +34 -0
- package/dist/gui/EFResizableBox.js +547 -0
- package/dist/gui/EFScrubber.d.ts +9 -3
- package/dist/gui/EFScrubber.js +7 -7
- package/dist/gui/EFTimeDisplay.d.ts +7 -1
- package/dist/gui/EFTimeDisplay.js +5 -5
- package/dist/gui/EFToggleLoop.d.ts +9 -3
- package/dist/gui/EFToggleLoop.js +6 -4
- package/dist/gui/EFTogglePlay.d.ts +12 -4
- package/dist/gui/EFTogglePlay.js +24 -19
- package/dist/gui/EFWorkbench.js +1 -1
- package/dist/gui/PlaybackController.d.ts +67 -0
- package/dist/gui/PlaybackController.js +310 -0
- package/dist/gui/TWMixin.js +1 -1
- package/dist/gui/TargetOrContextMixin.d.ts +10 -0
- package/dist/gui/TargetOrContextMixin.js +98 -0
- package/dist/gui/efContext.d.ts +2 -2
- package/dist/index.d.ts +4 -0
- package/dist/index.js +5 -1
- package/dist/otel/setupBrowserTracing.d.ts +1 -1
- package/dist/otel/setupBrowserTracing.js +6 -4
- package/dist/otel/tracingHelpers.js +1 -2
- package/dist/style.css +1 -1
- package/package.json +5 -5
- package/src/elements/ContextProxiesController.ts +10 -10
- package/src/elements/EFAudio.ts +1 -0
- package/src/elements/EFCaptions.browsertest.ts +128 -58
- package/src/elements/EFCaptions.ts +60 -34
- package/src/elements/EFImage.browsertest.ts +1 -2
- package/src/elements/EFMedia/JitMediaEngine.browsertest.ts +3 -0
- package/src/elements/EFMedia/audioTasks/makeAudioSeekTask.chunkboundary.regression.browsertest.ts +1 -1
- package/src/elements/EFMedia.browsertest.ts +8 -15
- package/src/elements/EFMedia.ts +38 -7
- package/src/elements/EFSurface.browsertest.ts +2 -6
- package/src/elements/EFSurface.ts +1 -0
- package/src/elements/EFTemporal.browsertest.ts +58 -1
- package/src/elements/EFTemporal.ts +140 -4
- package/src/elements/EFThumbnailStrip.browsertest.ts +2 -8
- package/src/elements/EFThumbnailStrip.ts +1 -0
- package/src/elements/EFTimegroup.browsertest.ts +6 -7
- package/src/elements/EFTimegroup.ts +162 -244
- package/src/elements/EFVideo.browsertest.ts +143 -47
- package/src/elements/EFVideo.ts +26 -0
- package/src/elements/FetchContext.browsertest.ts +7 -2
- package/src/elements/TargetController.browsertest.ts +1 -0
- package/src/elements/TargetController.ts +1 -0
- package/src/elements/renderTemporalAudio.ts +108 -0
- package/src/elements/updateAnimations.browsertest.ts +181 -6
- package/src/elements/updateAnimations.ts +6 -6
- package/src/gui/ContextMixin.browsertest.ts +274 -27
- package/src/gui/ContextMixin.ts +230 -175
- package/src/gui/Controllable.browsertest.ts +258 -0
- package/src/gui/Controllable.ts +41 -0
- package/src/gui/EFControls.browsertest.ts +294 -80
- package/src/gui/EFControls.ts +139 -28
- package/src/gui/EFDial.browsertest.ts +84 -0
- package/src/gui/EFDial.ts +172 -0
- package/src/gui/EFFilmstrip.browsertest.ts +712 -0
- package/src/gui/EFFilmstrip.ts +213 -23
- package/src/gui/EFPause.browsertest.ts +202 -0
- package/src/gui/EFPause.ts +73 -0
- package/src/gui/EFPlay.browsertest.ts +202 -0
- package/src/gui/EFPlay.ts +73 -0
- package/src/gui/EFPreview.ts +20 -5
- package/src/gui/EFResizableBox.browsertest.ts +79 -0
- package/src/gui/EFResizableBox.ts +898 -0
- package/src/gui/EFScrubber.ts +7 -5
- package/src/gui/EFTimeDisplay.browsertest.ts +19 -19
- package/src/gui/EFTimeDisplay.ts +3 -1
- package/src/gui/EFToggleLoop.ts +6 -5
- package/src/gui/EFTogglePlay.ts +30 -23
- package/src/gui/PlaybackController.ts +522 -0
- package/src/gui/TWMixin.css +3 -0
- package/src/gui/TargetOrContextMixin.ts +185 -0
- package/src/gui/efContext.ts +2 -2
- package/src/otel/setupBrowserTracing.ts +17 -12
- package/test/cache-integration-verification.browsertest.ts +1 -1
- package/types.json +1 -1
- package/dist/elements/ContextProxiesController.js +0 -49
- /package/dist/_virtual/{_@oxc-project_runtime@0.93.0 → _@oxc-project_runtime@0.94.0}/helpers/decorate.js +0 -0
package/dist/gui/EFFilmstrip.js
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { loopContext, playingContext } from "./playingContext.js";
|
|
2
|
+
import { __decorate } from "../_virtual/_@oxc-project_runtime@0.94.0/helpers/decorate.js";
|
|
3
|
+
import { isEFTemporal } from "../elements/EFTemporal.js";
|
|
2
4
|
import { focusContext } from "./focusContext.js";
|
|
3
5
|
import { focusedElementContext } from "./focusedElementContext.js";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
+
import { targetTemporalContext } from "./ContextMixin.js";
|
|
7
|
+
import { TWMixin } from "./TWMixin2.js";
|
|
8
|
+
import { TargetController } from "../elements/TargetController.js";
|
|
6
9
|
import { TimegroupController } from "../elements/TimegroupController.js";
|
|
7
10
|
import { EFTimegroup } from "../elements/EFTimegroup.js";
|
|
8
11
|
import { EFImage } from "../elements/EFImage.js";
|
|
9
|
-
import { TWMixin } from "./TWMixin2.js";
|
|
10
12
|
import { EFAudio } from "../elements/EFAudio.js";
|
|
11
13
|
import { EFVideo } from "../elements/EFVideo.js";
|
|
12
14
|
import { EFCaptions, EFCaptionsActiveWord } from "../elements/EFCaptions.js";
|
|
@@ -92,7 +94,7 @@ var FilmstripItem = class extends TWMixin(LitElement) {
|
|
|
92
94
|
</div>`;
|
|
93
95
|
}
|
|
94
96
|
renderChildren() {
|
|
95
|
-
return renderFilmstripChildren(Array.from(this.element.children), this.pixelsPerMs);
|
|
97
|
+
return renderFilmstripChildren(Array.from(this.element.children), this.pixelsPerMs, this.hideSelectors, this.showSelectors);
|
|
96
98
|
}
|
|
97
99
|
contents() {
|
|
98
100
|
return html``;
|
|
@@ -147,6 +149,14 @@ __decorate([property({
|
|
|
147
149
|
attribute: false
|
|
148
150
|
})], FilmstripItem.prototype, "element", void 0);
|
|
149
151
|
__decorate([property({ type: Number })], FilmstripItem.prototype, "pixelsPerMs", void 0);
|
|
152
|
+
__decorate([property({
|
|
153
|
+
type: Array,
|
|
154
|
+
attribute: false
|
|
155
|
+
})], FilmstripItem.prototype, "hideSelectors", void 0);
|
|
156
|
+
__decorate([property({
|
|
157
|
+
type: Array,
|
|
158
|
+
attribute: false
|
|
159
|
+
})], FilmstripItem.prototype, "showSelectors", void 0);
|
|
150
160
|
var EFAudioFilmstrip = class EFAudioFilmstrip$1 extends FilmstripItem {
|
|
151
161
|
contents() {
|
|
152
162
|
return html``;
|
|
@@ -188,7 +198,7 @@ var EFCaptionsFilmstrip = class EFCaptionsFilmstrip$1 extends FilmstripItem {
|
|
|
188
198
|
if (!captionsData) return html``;
|
|
189
199
|
const captions = this.element;
|
|
190
200
|
const captionsLocalTimeSec = ((captions.rootTimegroup?.currentTimeMs || 0) - captions.startTimeMs) / 1e3;
|
|
191
|
-
|
|
201
|
+
return html`${captionsData.segments.map((segment) => {
|
|
192
202
|
const isActive = captionsLocalTimeSec >= segment.start && captionsLocalTimeSec < segment.end;
|
|
193
203
|
return html`<div
|
|
194
204
|
class="absolute border border-slate-600 text-xs overflow-hidden flex items-center ${isActive ? "bg-green-200 border-green-500 font-bold z-[5]" : "bg-slate-100"}"
|
|
@@ -202,11 +212,10 @@ var EFCaptionsFilmstrip = class EFCaptionsFilmstrip$1 extends FilmstripItem {
|
|
|
202
212
|
>
|
|
203
213
|
<span class="px-0.5 text-[8px] ${isActive ? "font-bold" : ""}">${segment.text}</span>
|
|
204
214
|
</div>`;
|
|
205
|
-
})
|
|
206
|
-
return html`${segmentElements}`;
|
|
215
|
+
})}`;
|
|
207
216
|
}
|
|
208
217
|
renderChildren() {
|
|
209
|
-
return
|
|
218
|
+
return renderFilmstripChildren(Array.from(this.element.children), this.pixelsPerMs, this.hideSelectors, this.showSelectors);
|
|
210
219
|
}
|
|
211
220
|
};
|
|
212
221
|
EFCaptionsFilmstrip = __decorate([customElement("ef-captions-filmstrip")], EFCaptionsFilmstrip);
|
|
@@ -311,9 +320,8 @@ var EFCaptionsBeforeWordFilmstrip = class EFCaptionsBeforeWordFilmstrip$1 extend
|
|
|
311
320
|
return html`<div style=${styleMap(this.captionsTrackStyles)}>
|
|
312
321
|
<div class="bg-slate-300 relative border border-slate-500 h-[1.1rem] mb-[1px] w-full">
|
|
313
322
|
${captionsData.word_segments.map((word) => {
|
|
314
|
-
const isCurrentlyActive = captionsLocalTimeSec >= word.start && captionsLocalTimeSec < word.end;
|
|
315
323
|
return html`<div
|
|
316
|
-
class="absolute border text-xs overflow-visible flex items-center ${
|
|
324
|
+
class="absolute border text-xs overflow-visible flex items-center ${captionsLocalTimeSec >= word.start && captionsLocalTimeSec < word.end ? "bg-yellow-200 border-yellow-500 font-bold z-[5]" : "bg-purple-50 border-purple-200"}"
|
|
317
325
|
style=${styleMap({
|
|
318
326
|
left: `${this.pixelsPerMs * word.start * 1e3}px`,
|
|
319
327
|
width: `${this.pixelsPerMs * (word.end - word.start) * 1e3}px`,
|
|
@@ -351,9 +359,8 @@ var EFCaptionsAfterWordFilmstrip = class EFCaptionsAfterWordFilmstrip$1 extends
|
|
|
351
359
|
return html`<div style=${styleMap(this.captionsTrackStyles)}>
|
|
352
360
|
<div class="bg-slate-300 relative border border-slate-500 h-[1.1rem] mb-[1px] w-full">
|
|
353
361
|
${captionsData.word_segments.map((word) => {
|
|
354
|
-
const isCurrentlyActive = captionsLocalTimeSec >= word.start && captionsLocalTimeSec < word.end;
|
|
355
362
|
return html`<div
|
|
356
|
-
class="absolute border text-xs overflow-visible flex items-center ${
|
|
363
|
+
class="absolute border text-xs overflow-visible flex items-center ${captionsLocalTimeSec >= word.start && captionsLocalTimeSec < word.end ? "bg-yellow-200 border-yellow-500 font-bold z-[5]" : "bg-purple-50 border-purple-200"}"
|
|
357
364
|
style=${styleMap({
|
|
358
365
|
left: `${this.pixelsPerMs * word.start * 1e3}px`,
|
|
359
366
|
width: `${this.pixelsPerMs * (word.end - word.start) * 1e3}px`,
|
|
@@ -389,7 +396,7 @@ var EFTimegroupFilmstrip = class EFTimegroupFilmstrip$1 extends FilmstripItem {
|
|
|
389
396
|
contents() {
|
|
390
397
|
return html`
|
|
391
398
|
<span>TIME GROUP</span>
|
|
392
|
-
${renderFilmstripChildren(Array.from(this.element.children || []), this.pixelsPerMs)}
|
|
399
|
+
${renderFilmstripChildren(Array.from(this.element.children || []), this.pixelsPerMs, this.hideSelectors, this.showSelectors)}
|
|
393
400
|
</div>
|
|
394
401
|
`;
|
|
395
402
|
}
|
|
@@ -399,7 +406,7 @@ var EFHTMLFilmstrip = class EFHTMLFilmstrip$1 extends FilmstripItem {
|
|
|
399
406
|
contents() {
|
|
400
407
|
return html`
|
|
401
408
|
<span>${this.element.tagName}</span>
|
|
402
|
-
${renderFilmstripChildren(Array.from(this.element.children || []), this.pixelsPerMs)}
|
|
409
|
+
${renderFilmstripChildren(Array.from(this.element.children || []), this.pixelsPerMs, this.hideSelectors, this.showSelectors)}
|
|
403
410
|
`;
|
|
404
411
|
}
|
|
405
412
|
};
|
|
@@ -443,7 +450,7 @@ var EFHierarchyItem = class EFHierarchyItem$1 extends TWMixin(LitElement) {
|
|
|
443
450
|
</div>`;
|
|
444
451
|
}
|
|
445
452
|
renderChildren() {
|
|
446
|
-
return renderHierarchyChildren(Array.from(this.element.children));
|
|
453
|
+
return renderHierarchyChildren(Array.from(this.element.children), this.hideSelectors, this.showSelectors);
|
|
447
454
|
}
|
|
448
455
|
};
|
|
449
456
|
__decorate([property({
|
|
@@ -455,6 +462,14 @@ __decorate([consume({
|
|
|
455
462
|
context: focusedElementContext,
|
|
456
463
|
subscribe: true
|
|
457
464
|
})], EFHierarchyItem.prototype, "focusedElement", void 0);
|
|
465
|
+
__decorate([property({
|
|
466
|
+
type: Array,
|
|
467
|
+
attribute: false
|
|
468
|
+
})], EFHierarchyItem.prototype, "hideSelectors", void 0);
|
|
469
|
+
__decorate([property({
|
|
470
|
+
type: Array,
|
|
471
|
+
attribute: false
|
|
472
|
+
})], EFHierarchyItem.prototype, "showSelectors", void 0);
|
|
458
473
|
EFHierarchyItem = __decorate([customElement("ef-hierarchy-item")], EFHierarchyItem);
|
|
459
474
|
var EFTimegroupHierarchyItem = class EFTimegroupHierarchyItem$1 extends EFHierarchyItem {
|
|
460
475
|
get icon() {
|
|
@@ -519,82 +534,138 @@ var EFHTMLHierarchyItem = class EFHTMLHierarchyItem$1 extends EFHierarchyItem {
|
|
|
519
534
|
}
|
|
520
535
|
};
|
|
521
536
|
EFHTMLHierarchyItem = __decorate([customElement("ef-html-hierarchy-item")], EFHTMLHierarchyItem);
|
|
522
|
-
var
|
|
537
|
+
var shouldRenderElement = (element, hideSelectors, showSelectors) => {
|
|
538
|
+
if (element instanceof HTMLElement && element.dataset?.efHidden) return false;
|
|
539
|
+
if (showSelectors && showSelectors.length > 0) return showSelectors.some((selector) => {
|
|
540
|
+
try {
|
|
541
|
+
return element.matches(selector);
|
|
542
|
+
} catch {
|
|
543
|
+
return false;
|
|
544
|
+
}
|
|
545
|
+
});
|
|
546
|
+
if (hideSelectors && hideSelectors.length > 0) return !hideSelectors.some((selector) => {
|
|
547
|
+
try {
|
|
548
|
+
return element.matches(selector);
|
|
549
|
+
} catch {
|
|
550
|
+
return false;
|
|
551
|
+
}
|
|
552
|
+
});
|
|
553
|
+
return true;
|
|
554
|
+
};
|
|
555
|
+
var renderHierarchyChildren = (children, hideSelectors, showSelectors, skipRootFiltering = false) => {
|
|
523
556
|
return children.map((child) => {
|
|
524
|
-
if (
|
|
557
|
+
if (!skipRootFiltering && !shouldRenderElement(child, hideSelectors, showSelectors)) return nothing;
|
|
525
558
|
if (child instanceof EFTimegroup) return html`<ef-timegroup-hierarchy-item
|
|
526
559
|
.element=${child}
|
|
560
|
+
.hideSelectors=${hideSelectors}
|
|
561
|
+
.showSelectors=${showSelectors}
|
|
527
562
|
></ef-timegroup-hierarchy-item>`;
|
|
528
563
|
if (child instanceof EFImage) return html`<ef-image-hierarchy-item
|
|
529
564
|
.element=${child}
|
|
565
|
+
.hideSelectors=${hideSelectors}
|
|
566
|
+
.showSelectors=${showSelectors}
|
|
530
567
|
></ef-image-hierarchy-item>`;
|
|
531
568
|
if (child instanceof EFAudio) return html`<ef-audio-hierarchy-item
|
|
532
569
|
.element=${child}
|
|
570
|
+
.hideSelectors=${hideSelectors}
|
|
571
|
+
.showSelectors=${showSelectors}
|
|
533
572
|
></ef-audio-hierarchy-item>`;
|
|
534
573
|
if (child instanceof EFVideo) return html`<ef-video-hierarchy-item
|
|
535
574
|
.element=${child}
|
|
575
|
+
.hideSelectors=${hideSelectors}
|
|
576
|
+
.showSelectors=${showSelectors}
|
|
536
577
|
></ef-video-hierarchy-item>`;
|
|
537
578
|
if (child instanceof EFCaptions) return html`<ef-captions-hierarchy-item
|
|
538
579
|
.element=${child}
|
|
580
|
+
.hideSelectors=${hideSelectors}
|
|
581
|
+
.showSelectors=${showSelectors}
|
|
539
582
|
></ef-captions-hierarchy-item>`;
|
|
540
583
|
if (child instanceof EFCaptionsActiveWord) return html`<ef-captions-active-word-hierarchy-item
|
|
541
584
|
.element=${child}
|
|
585
|
+
.hideSelectors=${hideSelectors}
|
|
586
|
+
.showSelectors=${showSelectors}
|
|
542
587
|
></ef-captions-active-word-hierarchy-item>`;
|
|
543
588
|
if (child instanceof EFWaveform) return html`<ef-waveform-hierarchy-item
|
|
544
589
|
.element=${child}
|
|
590
|
+
.hideSelectors=${hideSelectors}
|
|
591
|
+
.showSelectors=${showSelectors}
|
|
545
592
|
></ef-waveform-hierarchy-item>`;
|
|
546
593
|
return html`<ef-html-hierarchy-item
|
|
547
594
|
.element=${child}
|
|
595
|
+
.hideSelectors=${hideSelectors}
|
|
596
|
+
.showSelectors=${showSelectors}
|
|
548
597
|
></ef-html-hierarchy-item>`;
|
|
549
598
|
});
|
|
550
599
|
};
|
|
551
|
-
var renderFilmstripChildren = (children, pixelsPerMs) => {
|
|
600
|
+
var renderFilmstripChildren = (children, pixelsPerMs, hideSelectors, showSelectors, skipRootFiltering = false) => {
|
|
552
601
|
return children.map((child) => {
|
|
553
|
-
if (
|
|
602
|
+
if (!skipRootFiltering && !shouldRenderElement(child, hideSelectors, showSelectors)) return nothing;
|
|
554
603
|
if (child instanceof EFTimegroup) return html`<ef-timegroup-filmstrip
|
|
555
604
|
.element=${child}
|
|
556
605
|
.pixelsPerMs=${pixelsPerMs}
|
|
606
|
+
.hideSelectors=${hideSelectors}
|
|
607
|
+
.showSelectors=${showSelectors}
|
|
557
608
|
>
|
|
558
609
|
</ef-timegroup-filmstrip>`;
|
|
559
610
|
if (child instanceof EFImage) return html`<ef-image-filmstrip
|
|
560
611
|
.element=${child}
|
|
561
612
|
.pixelsPerMs=${pixelsPerMs}
|
|
613
|
+
.hideSelectors=${hideSelectors}
|
|
614
|
+
.showSelectors=${showSelectors}
|
|
562
615
|
></ef-image-filmstrip>`;
|
|
563
616
|
if (child instanceof EFAudio) return html`<ef-audio-filmstrip
|
|
564
617
|
.element=${child}
|
|
565
618
|
.pixelsPerMs=${pixelsPerMs}
|
|
619
|
+
.hideSelectors=${hideSelectors}
|
|
620
|
+
.showSelectors=${showSelectors}
|
|
566
621
|
></ef-audio-filmstrip>`;
|
|
567
622
|
if (child instanceof EFVideo) return html`<ef-video-filmstrip
|
|
568
623
|
.element=${child}
|
|
569
624
|
.pixelsPerMs=${pixelsPerMs}
|
|
625
|
+
.hideSelectors=${hideSelectors}
|
|
626
|
+
.showSelectors=${showSelectors}
|
|
570
627
|
></ef-video-filmstrip>`;
|
|
571
628
|
if (child instanceof EFCaptions) return html`<ef-captions-filmstrip
|
|
572
629
|
.element=${child}
|
|
573
630
|
.pixelsPerMs=${pixelsPerMs}
|
|
631
|
+
.hideSelectors=${hideSelectors}
|
|
632
|
+
.showSelectors=${showSelectors}
|
|
574
633
|
></ef-captions-filmstrip>`;
|
|
575
634
|
if (child instanceof EFCaptionsActiveWord) return html`<ef-captions-active-word-filmstrip
|
|
576
635
|
.element=${child}
|
|
577
636
|
.pixelsPerMs=${pixelsPerMs}
|
|
637
|
+
.hideSelectors=${hideSelectors}
|
|
638
|
+
.showSelectors=${showSelectors}
|
|
578
639
|
></ef-captions-active-word-filmstrip>`;
|
|
579
640
|
if (child.tagName === "EF-CAPTIONS-SEGMENT") return html`<ef-captions-segment-filmstrip
|
|
580
641
|
.element=${child}
|
|
581
642
|
.pixelsPerMs=${pixelsPerMs}
|
|
643
|
+
.hideSelectors=${hideSelectors}
|
|
644
|
+
.showSelectors=${showSelectors}
|
|
582
645
|
></ef-captions-segment-filmstrip>`;
|
|
583
646
|
if (child.tagName === "EF-CAPTIONS-BEFORE-ACTIVE-WORD") return html`<ef-captions-before-word-filmstrip
|
|
584
647
|
.element=${child}
|
|
585
648
|
.pixelsPerMs=${pixelsPerMs}
|
|
649
|
+
.hideSelectors=${hideSelectors}
|
|
650
|
+
.showSelectors=${showSelectors}
|
|
586
651
|
></ef-captions-before-word-filmstrip>`;
|
|
587
652
|
if (child.tagName === "EF-CAPTIONS-AFTER-ACTIVE-WORD") return html`<ef-captions-after-word-filmstrip
|
|
588
653
|
.element=${child}
|
|
589
654
|
.pixelsPerMs=${pixelsPerMs}
|
|
655
|
+
.hideSelectors=${hideSelectors}
|
|
656
|
+
.showSelectors=${showSelectors}
|
|
590
657
|
></ef-captions-after-word-filmstrip>`;
|
|
591
658
|
if (child instanceof EFWaveform) return html`<ef-waveform-filmstrip
|
|
592
659
|
.element=${child}
|
|
593
660
|
.pixelsPerMs=${pixelsPerMs}
|
|
661
|
+
.hideSelectors=${hideSelectors}
|
|
662
|
+
.showSelectors=${showSelectors}
|
|
594
663
|
></ef-waveform-filmstrip>`;
|
|
595
664
|
return html`<ef-html-filmstrip
|
|
596
665
|
.element=${child}
|
|
597
666
|
.pixelsPerMs=${pixelsPerMs}
|
|
667
|
+
.hideSelectors=${hideSelectors}
|
|
668
|
+
.showSelectors=${showSelectors}
|
|
598
669
|
></ef-html-filmstrip>`;
|
|
599
670
|
});
|
|
600
671
|
};
|
|
@@ -602,6 +673,8 @@ var EFFilmstrip = class EFFilmstrip$1 extends TWMixin(LitElement) {
|
|
|
602
673
|
constructor(..._args3) {
|
|
603
674
|
super(..._args3);
|
|
604
675
|
this.pixelsPerMs = .04;
|
|
676
|
+
this.hide = "";
|
|
677
|
+
this.show = "";
|
|
605
678
|
this.scrubbing = false;
|
|
606
679
|
this.timelineScrolltop = 0;
|
|
607
680
|
this.currentTimeMs = 0;
|
|
@@ -612,6 +685,8 @@ var EFFilmstrip = class EFFilmstrip$1 extends TWMixin(LitElement) {
|
|
|
612
685
|
this.gutterRef = createRef();
|
|
613
686
|
this.hierarchyRef = createRef();
|
|
614
687
|
this.playheadRef = createRef();
|
|
688
|
+
this.target = "";
|
|
689
|
+
this.targetElement = null;
|
|
615
690
|
}
|
|
616
691
|
static {
|
|
617
692
|
this.styles = [css`
|
|
@@ -623,11 +698,20 @@ var EFFilmstrip = class EFFilmstrip$1 extends TWMixin(LitElement) {
|
|
|
623
698
|
}
|
|
624
699
|
`];
|
|
625
700
|
}
|
|
701
|
+
get hideSelectors() {
|
|
702
|
+
if (!this.hide) return void 0;
|
|
703
|
+
return this.hide.split(",").map((s) => s.trim()).filter((s) => s.length > 0);
|
|
704
|
+
}
|
|
705
|
+
get showSelectors() {
|
|
706
|
+
if (!this.show) return void 0;
|
|
707
|
+
return this.show.split(",").map((s) => s.trim()).filter((s) => s.length > 0);
|
|
708
|
+
}
|
|
626
709
|
connectedCallback() {
|
|
627
710
|
super.connectedCallback();
|
|
628
711
|
this.#bindToTargetTimegroup();
|
|
629
712
|
window.addEventListener("keypress", this.#handleKeyPress);
|
|
630
713
|
this.resizeObserver.observe(this);
|
|
714
|
+
if (this.target) this.#targetController = new TargetController(this);
|
|
631
715
|
}
|
|
632
716
|
disconnectedCallback() {
|
|
633
717
|
super.disconnectedCallback();
|
|
@@ -635,13 +719,13 @@ var EFFilmstrip = class EFFilmstrip$1 extends TWMixin(LitElement) {
|
|
|
635
719
|
this.resizeObserver.disconnect();
|
|
636
720
|
}
|
|
637
721
|
updatePixelsPerMs() {
|
|
638
|
-
const target = this.
|
|
722
|
+
const target = this.targetTemporal;
|
|
639
723
|
const gutter = this.gutterRef.value;
|
|
640
724
|
if (target && gutter && gutter.clientWidth > 0) this.pixelsPerMs = gutter.clientWidth / (target.durationMs || 1);
|
|
641
725
|
}
|
|
642
726
|
#bindToTargetTimegroup() {
|
|
643
727
|
if (this.timegroupController) this.timegroupController.remove();
|
|
644
|
-
const target = this.
|
|
728
|
+
const target = this.targetTemporal;
|
|
645
729
|
if (target) {
|
|
646
730
|
this.timegroupController = new TimegroupController(target, this);
|
|
647
731
|
this.currentTimeMs = target.currentTimeMs;
|
|
@@ -686,13 +770,13 @@ var EFFilmstrip = class EFFilmstrip$1 extends TWMixin(LitElement) {
|
|
|
686
770
|
const gutter = this.shadowRoot?.querySelector("#gutter");
|
|
687
771
|
if (!gutter) return;
|
|
688
772
|
const rect = gutter.getBoundingClientRect();
|
|
689
|
-
if (this.
|
|
773
|
+
if (this.targetTemporal) {
|
|
690
774
|
const scrubTimeMs = (e.pageX - rect.left + gutter.scrollLeft) / this.pixelsPerMs;
|
|
691
|
-
this.
|
|
775
|
+
this.targetTemporal.currentTimeMs = scrubTimeMs;
|
|
692
776
|
}
|
|
693
777
|
}
|
|
694
778
|
scrollScrub(e) {
|
|
695
|
-
if (this.
|
|
779
|
+
if (this.targetTemporal && this.gutter && !this.playing) {
|
|
696
780
|
if (e.deltaX !== 0) e.preventDefault();
|
|
697
781
|
if (this.gutterRef.value && this.gutterRef.value.scrollLeft === 0 && e.deltaX < 0) {
|
|
698
782
|
this.gutter.scrollBy(0, e.deltaY);
|
|
@@ -704,7 +788,7 @@ var EFFilmstrip = class EFFilmstrip$1 extends TWMixin(LitElement) {
|
|
|
704
788
|
}
|
|
705
789
|
if (this) {
|
|
706
790
|
this.gutter.scrollBy(e.deltaX, e.deltaY);
|
|
707
|
-
this.
|
|
791
|
+
this.targetTemporal.currentTimeMs += e.deltaX / this.pixelsPerMs;
|
|
708
792
|
}
|
|
709
793
|
}
|
|
710
794
|
}
|
|
@@ -712,7 +796,7 @@ var EFFilmstrip = class EFFilmstrip$1 extends TWMixin(LitElement) {
|
|
|
712
796
|
return this.gutterRef.value;
|
|
713
797
|
}
|
|
714
798
|
render() {
|
|
715
|
-
const target = this.
|
|
799
|
+
const target = this.targetTemporal;
|
|
716
800
|
return html` <div
|
|
717
801
|
class="grid h-full bg-slate-100"
|
|
718
802
|
style=${styleMap({
|
|
@@ -751,7 +835,7 @@ var EFFilmstrip = class EFFilmstrip$1 extends TWMixin(LitElement) {
|
|
|
751
835
|
${ref(this.hierarchyRef)}
|
|
752
836
|
@scroll=${this.syncHierarchyScroll}
|
|
753
837
|
>
|
|
754
|
-
${renderHierarchyChildren(target ? [target] : [])}
|
|
838
|
+
${renderHierarchyChildren(target ? [target] : [], this.hideSelectors, this.showSelectors, true)}
|
|
755
839
|
</div>
|
|
756
840
|
<div
|
|
757
841
|
class="flex h-full w-full cursor-crosshair overflow-auto bg-slate-200 pt-[8px]"
|
|
@@ -775,27 +859,48 @@ var EFFilmstrip = class EFFilmstrip$1 extends TWMixin(LitElement) {
|
|
|
775
859
|
${ref(this.playheadRef)}
|
|
776
860
|
></div>
|
|
777
861
|
|
|
778
|
-
${renderFilmstripChildren(target ? [target] : [], this.pixelsPerMs)}
|
|
862
|
+
${renderFilmstripChildren(target ? [target] : [], this.pixelsPerMs, this.hideSelectors, this.showSelectors, true)}
|
|
779
863
|
</div>
|
|
780
864
|
</div>
|
|
781
865
|
</div>`;
|
|
782
866
|
}
|
|
783
867
|
updated(changes) {
|
|
784
|
-
if (!this.
|
|
868
|
+
if (!this.targetTemporal) return;
|
|
785
869
|
if (changes.has("currentTimeMs")) {
|
|
786
|
-
if (this.
|
|
870
|
+
if (this.targetTemporal.currentTimeMs !== this.currentTimeMs) this.targetTemporal.currentTimeMs = this.currentTimeMs;
|
|
787
871
|
}
|
|
788
872
|
}
|
|
789
873
|
get #contextElement() {
|
|
790
874
|
return this.closest("ef-workbench, ef-preview");
|
|
791
875
|
}
|
|
876
|
+
#targetController;
|
|
877
|
+
#lastTargetTemporal;
|
|
878
|
+
get targetTemporal() {
|
|
879
|
+
const fromTarget = this.targetElement && isEFTemporal(this.targetElement) ? this.targetElement : null;
|
|
880
|
+
const fromContext = this._contextProvidedTemporal;
|
|
881
|
+
if (fromTarget && fromContext && fromTarget !== fromContext) console.warn("EFFilmstrip: Both target attribute and parent context found. Using target attribute.", {
|
|
882
|
+
target: this.target,
|
|
883
|
+
fromTarget,
|
|
884
|
+
fromContext
|
|
885
|
+
});
|
|
886
|
+
return fromTarget ?? fromContext ?? null;
|
|
887
|
+
}
|
|
792
888
|
willUpdate(changedProperties) {
|
|
793
|
-
if (changedProperties.has("
|
|
889
|
+
if (changedProperties.has("target")) {
|
|
890
|
+
if (this.target && !this.#targetController) this.#targetController = new TargetController(this);
|
|
891
|
+
}
|
|
892
|
+
const currentTargetTemporal = this.targetTemporal;
|
|
893
|
+
if (this.#lastTargetTemporal !== currentTargetTemporal) {
|
|
894
|
+
this.#bindToTargetTimegroup();
|
|
895
|
+
this.#lastTargetTemporal = currentTargetTemporal;
|
|
896
|
+
}
|
|
794
897
|
if (this.autoScale) this.updatePixelsPerMs();
|
|
795
898
|
super.willUpdate(changedProperties);
|
|
796
899
|
}
|
|
797
900
|
};
|
|
798
901
|
__decorate([property({ type: Number })], EFFilmstrip.prototype, "pixelsPerMs", void 0);
|
|
902
|
+
__decorate([property({ type: String })], EFFilmstrip.prototype, "hide", void 0);
|
|
903
|
+
__decorate([property({ type: String })], EFFilmstrip.prototype, "show", void 0);
|
|
799
904
|
__decorate([state()], EFFilmstrip.prototype, "scrubbing", void 0);
|
|
800
905
|
__decorate([state()], EFFilmstrip.prototype, "timelineScrolltop", void 0);
|
|
801
906
|
__decorate([consume({
|
|
@@ -818,9 +923,10 @@ __decorate([eventOptions({ capture: false })], EFFilmstrip.prototype, "scrub", n
|
|
|
818
923
|
__decorate([eventOptions({ capture: false })], EFFilmstrip.prototype, "startScrub", null);
|
|
819
924
|
__decorate([eventOptions({ passive: false })], EFFilmstrip.prototype, "scrollScrub", null);
|
|
820
925
|
__decorate([property({ type: String })], EFFilmstrip.prototype, "target", void 0);
|
|
926
|
+
__decorate([state()], EFFilmstrip.prototype, "targetElement", void 0);
|
|
821
927
|
__decorate([consume({
|
|
822
|
-
context:
|
|
928
|
+
context: targetTemporalContext,
|
|
823
929
|
subscribe: true
|
|
824
|
-
}), state()], EFFilmstrip.prototype, "
|
|
930
|
+
}), state()], EFFilmstrip.prototype, "_contextProvidedTemporal", void 0);
|
|
825
931
|
EFFilmstrip = __decorate([customElement("ef-filmstrip")], EFFilmstrip);
|
|
826
932
|
export { EFFilmstrip };
|
package/dist/gui/EFFitScale.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { __decorate } from "../_virtual/_@oxc-project_runtime@0.
|
|
1
|
+
import { __decorate } from "../_virtual/_@oxc-project_runtime@0.94.0/helpers/decorate.js";
|
|
2
2
|
import { LitElement } from "lit";
|
|
3
3
|
import { customElement, state } from "lit/decorators.js";
|
|
4
4
|
import { createRef } from "lit/directives/ref.js";
|
|
@@ -89,10 +89,8 @@ var EFFitScale = class EFFitScale$1 extends LitElement {
|
|
|
89
89
|
const containerHeight = this.clientHeight;
|
|
90
90
|
const contentWidth = this.contentChild.clientWidth;
|
|
91
91
|
const contentHeight = this.contentChild.clientHeight;
|
|
92
|
-
const containerRatio = containerWidth / containerHeight;
|
|
93
|
-
const contentRatio = contentWidth / contentHeight;
|
|
94
92
|
return {
|
|
95
|
-
scale:
|
|
93
|
+
scale: containerWidth / containerHeight > contentWidth / contentHeight ? containerHeight / contentHeight : containerWidth / contentWidth,
|
|
96
94
|
containerWidth,
|
|
97
95
|
containerHeight,
|
|
98
96
|
contentWidth,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { __decorate } from "../_virtual/_@oxc-project_runtime@0.
|
|
1
|
+
import { __decorate } from "../_virtual/_@oxc-project_runtime@0.94.0/helpers/decorate.js";
|
|
2
2
|
import { focusedElementContext } from "./focusedElementContext.js";
|
|
3
3
|
import { consume } from "@lit/context";
|
|
4
4
|
import { LitElement, css, html } from "lit";
|
|
File without changes
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { LitElement } from 'lit';
|
|
2
|
+
import { ControllableInterface } from './Controllable.js';
|
|
3
|
+
declare const EFPause_base: (new (...args: any[]) => {
|
|
4
|
+
target: string;
|
|
5
|
+
targetElement: ControllableInterface | null;
|
|
6
|
+
effectiveContext: ControllableInterface | null;
|
|
7
|
+
}) & typeof LitElement;
|
|
8
|
+
export declare class EFPause extends EFPause_base {
|
|
9
|
+
static styles: import('lit').CSSResult[];
|
|
10
|
+
playing: boolean;
|
|
11
|
+
get efContext(): ControllableInterface | null;
|
|
12
|
+
connectedCallback(): void;
|
|
13
|
+
disconnectedCallback(): void;
|
|
14
|
+
updated(changedProperties: Map<string | number | symbol, unknown>): void;
|
|
15
|
+
render(): import('lit-html').TemplateResult<1>;
|
|
16
|
+
handleClick: () => void;
|
|
17
|
+
}
|
|
18
|
+
declare global {
|
|
19
|
+
interface HTMLElementTagNameMap {
|
|
20
|
+
"ef-pause": EFPause;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
export {};
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { playingContext } from "./playingContext.js";
|
|
2
|
+
import { __decorate } from "../_virtual/_@oxc-project_runtime@0.94.0/helpers/decorate.js";
|
|
3
|
+
import { efContext } from "./efContext.js";
|
|
4
|
+
import { attachContextRoot } from "../attachContextRoot.js";
|
|
5
|
+
import { TargetOrContextMixin } from "./TargetOrContextMixin.js";
|
|
6
|
+
import { consume } from "@lit/context";
|
|
7
|
+
import { LitElement, css, html } from "lit";
|
|
8
|
+
import { customElement, state } from "lit/decorators.js";
|
|
9
|
+
attachContextRoot();
|
|
10
|
+
var EFPause = class EFPause$1 extends TargetOrContextMixin(LitElement, efContext) {
|
|
11
|
+
constructor(..._args) {
|
|
12
|
+
super(..._args);
|
|
13
|
+
this.playing = false;
|
|
14
|
+
this.handleClick = () => {
|
|
15
|
+
if (this.efContext) this.efContext.pause();
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
static {
|
|
19
|
+
this.styles = [css`
|
|
20
|
+
:host {
|
|
21
|
+
display: block;
|
|
22
|
+
}
|
|
23
|
+
:host([hidden]) {
|
|
24
|
+
display: none;
|
|
25
|
+
}
|
|
26
|
+
div {
|
|
27
|
+
all: inherit;
|
|
28
|
+
}
|
|
29
|
+
`];
|
|
30
|
+
}
|
|
31
|
+
get efContext() {
|
|
32
|
+
return this.effectiveContext;
|
|
33
|
+
}
|
|
34
|
+
connectedCallback() {
|
|
35
|
+
super.connectedCallback();
|
|
36
|
+
this.addEventListener("click", this.handleClick);
|
|
37
|
+
}
|
|
38
|
+
disconnectedCallback() {
|
|
39
|
+
super.disconnectedCallback();
|
|
40
|
+
this.removeEventListener("click", this.handleClick);
|
|
41
|
+
}
|
|
42
|
+
updated(changedProperties) {
|
|
43
|
+
super.updated(changedProperties);
|
|
44
|
+
if (changedProperties.has("playing")) this.style.display = this.playing ? "" : "none";
|
|
45
|
+
}
|
|
46
|
+
render() {
|
|
47
|
+
return html`
|
|
48
|
+
<div>
|
|
49
|
+
<slot></slot>
|
|
50
|
+
</div>
|
|
51
|
+
`;
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
__decorate([consume({
|
|
55
|
+
context: playingContext,
|
|
56
|
+
subscribe: true
|
|
57
|
+
}), state()], EFPause.prototype, "playing", void 0);
|
|
58
|
+
EFPause = __decorate([customElement("ef-pause")], EFPause);
|
|
59
|
+
export { EFPause };
|
|
File without changes
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { LitElement } from 'lit';
|
|
2
|
+
import { ControllableInterface } from './Controllable.js';
|
|
3
|
+
declare const EFPlay_base: (new (...args: any[]) => {
|
|
4
|
+
target: string;
|
|
5
|
+
targetElement: ControllableInterface | null;
|
|
6
|
+
effectiveContext: ControllableInterface | null;
|
|
7
|
+
}) & typeof LitElement;
|
|
8
|
+
export declare class EFPlay extends EFPlay_base {
|
|
9
|
+
static styles: import('lit').CSSResult[];
|
|
10
|
+
playing: boolean;
|
|
11
|
+
get efContext(): ControllableInterface | null;
|
|
12
|
+
connectedCallback(): void;
|
|
13
|
+
disconnectedCallback(): void;
|
|
14
|
+
updated(changedProperties: Map<string | number | symbol, unknown>): void;
|
|
15
|
+
render(): import('lit-html').TemplateResult<1>;
|
|
16
|
+
handleClick: () => void;
|
|
17
|
+
}
|
|
18
|
+
declare global {
|
|
19
|
+
interface HTMLElementTagNameMap {
|
|
20
|
+
"ef-play": EFPlay;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
export {};
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { playingContext } from "./playingContext.js";
|
|
2
|
+
import { __decorate } from "../_virtual/_@oxc-project_runtime@0.94.0/helpers/decorate.js";
|
|
3
|
+
import { efContext } from "./efContext.js";
|
|
4
|
+
import { attachContextRoot } from "../attachContextRoot.js";
|
|
5
|
+
import { TargetOrContextMixin } from "./TargetOrContextMixin.js";
|
|
6
|
+
import { consume } from "@lit/context";
|
|
7
|
+
import { LitElement, css, html } from "lit";
|
|
8
|
+
import { customElement, state } from "lit/decorators.js";
|
|
9
|
+
attachContextRoot();
|
|
10
|
+
var EFPlay = class EFPlay$1 extends TargetOrContextMixin(LitElement, efContext) {
|
|
11
|
+
constructor(..._args) {
|
|
12
|
+
super(..._args);
|
|
13
|
+
this.playing = false;
|
|
14
|
+
this.handleClick = () => {
|
|
15
|
+
if (this.efContext) this.efContext.play();
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
static {
|
|
19
|
+
this.styles = [css`
|
|
20
|
+
:host {
|
|
21
|
+
display: block;
|
|
22
|
+
}
|
|
23
|
+
:host([hidden]) {
|
|
24
|
+
display: none;
|
|
25
|
+
}
|
|
26
|
+
div {
|
|
27
|
+
all: inherit;
|
|
28
|
+
}
|
|
29
|
+
`];
|
|
30
|
+
}
|
|
31
|
+
get efContext() {
|
|
32
|
+
return this.effectiveContext;
|
|
33
|
+
}
|
|
34
|
+
connectedCallback() {
|
|
35
|
+
super.connectedCallback();
|
|
36
|
+
this.addEventListener("click", this.handleClick);
|
|
37
|
+
}
|
|
38
|
+
disconnectedCallback() {
|
|
39
|
+
super.disconnectedCallback();
|
|
40
|
+
this.removeEventListener("click", this.handleClick);
|
|
41
|
+
}
|
|
42
|
+
updated(changedProperties) {
|
|
43
|
+
super.updated(changedProperties);
|
|
44
|
+
if (changedProperties.has("playing")) this.style.display = this.playing ? "none" : "";
|
|
45
|
+
}
|
|
46
|
+
render() {
|
|
47
|
+
return html`
|
|
48
|
+
<div>
|
|
49
|
+
<slot></slot>
|
|
50
|
+
</div>
|
|
51
|
+
`;
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
__decorate([consume({
|
|
55
|
+
context: playingContext,
|
|
56
|
+
subscribe: true
|
|
57
|
+
}), state()], EFPlay.prototype, "playing", void 0);
|
|
58
|
+
EFPlay = __decorate([customElement("ef-play")], EFPlay);
|
|
59
|
+
export { EFPlay };
|
package/dist/gui/EFPreview.d.ts
CHANGED
|
@@ -3,6 +3,10 @@ declare const EFPreview_base: (new (...args: any[]) => import('./ContextMixin.js
|
|
|
3
3
|
export declare class EFPreview extends EFPreview_base {
|
|
4
4
|
static styles: import('lit').CSSResult[];
|
|
5
5
|
focusedElement?: HTMLElement;
|
|
6
|
+
/**
|
|
7
|
+
* Find the closest temporal element (timegroup, video, audio, etc.)
|
|
8
|
+
*/
|
|
9
|
+
private findClosestTemporal;
|
|
6
10
|
constructor();
|
|
7
11
|
render(): import('lit-html').TemplateResult<1>;
|
|
8
12
|
}
|