@editframe/elements 0.20.4-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.
Files changed (183) hide show
  1. package/dist/DelayedLoadingState.js +0 -27
  2. package/dist/EF_FRAMEGEN.d.ts +5 -3
  3. package/dist/EF_FRAMEGEN.js +49 -11
  4. package/dist/_virtual/_@oxc-project_runtime@0.94.0/helpers/decorate.js +7 -0
  5. package/dist/attachContextRoot.d.ts +1 -0
  6. package/dist/attachContextRoot.js +9 -0
  7. package/dist/elements/ContextProxiesController.d.ts +1 -2
  8. package/dist/elements/EFAudio.js +5 -9
  9. package/dist/elements/EFCaptions.d.ts +1 -3
  10. package/dist/elements/EFCaptions.js +112 -129
  11. package/dist/elements/EFImage.js +6 -7
  12. package/dist/elements/EFMedia/AssetIdMediaEngine.js +2 -5
  13. package/dist/elements/EFMedia/AssetMediaEngine.js +36 -33
  14. package/dist/elements/EFMedia/BaseMediaEngine.js +57 -73
  15. package/dist/elements/EFMedia/BufferedSeekingInput.d.ts +1 -1
  16. package/dist/elements/EFMedia/BufferedSeekingInput.js +134 -78
  17. package/dist/elements/EFMedia/JitMediaEngine.js +9 -19
  18. package/dist/elements/EFMedia/audioTasks/makeAudioBufferTask.js +7 -13
  19. package/dist/elements/EFMedia/audioTasks/makeAudioFrequencyAnalysisTask.js +2 -3
  20. package/dist/elements/EFMedia/audioTasks/makeAudioInitSegmentFetchTask.js +1 -1
  21. package/dist/elements/EFMedia/audioTasks/makeAudioInputTask.js +6 -5
  22. package/dist/elements/EFMedia/audioTasks/makeAudioSeekTask.js +1 -3
  23. package/dist/elements/EFMedia/audioTasks/makeAudioSegmentFetchTask.js +1 -1
  24. package/dist/elements/EFMedia/audioTasks/makeAudioSegmentIdTask.js +1 -1
  25. package/dist/elements/EFMedia/audioTasks/makeAudioTimeDomainAnalysisTask.js +1 -1
  26. package/dist/elements/EFMedia/shared/AudioSpanUtils.js +9 -25
  27. package/dist/elements/EFMedia/shared/BufferUtils.js +2 -17
  28. package/dist/elements/EFMedia/shared/GlobalInputCache.js +0 -24
  29. package/dist/elements/EFMedia/shared/PrecisionUtils.js +0 -21
  30. package/dist/elements/EFMedia/shared/ThumbnailExtractor.js +0 -17
  31. package/dist/elements/EFMedia/tasks/makeMediaEngineTask.js +1 -10
  32. package/dist/elements/EFMedia/videoTasks/MainVideoInputCache.d.ts +29 -0
  33. package/dist/elements/EFMedia/videoTasks/MainVideoInputCache.js +32 -0
  34. package/dist/elements/EFMedia/videoTasks/ScrubInputCache.js +1 -15
  35. package/dist/elements/EFMedia/videoTasks/makeScrubVideoBufferTask.js +1 -7
  36. package/dist/elements/EFMedia/videoTasks/makeScrubVideoInputTask.js +8 -5
  37. package/dist/elements/EFMedia/videoTasks/makeScrubVideoSeekTask.js +12 -13
  38. package/dist/elements/EFMedia/videoTasks/makeScrubVideoSegmentIdTask.js +1 -1
  39. package/dist/elements/EFMedia/videoTasks/makeUnifiedVideoSeekTask.js +134 -70
  40. package/dist/elements/EFMedia/videoTasks/makeVideoBufferTask.js +11 -18
  41. package/dist/elements/EFMedia.d.ts +19 -0
  42. package/dist/elements/EFMedia.js +44 -25
  43. package/dist/elements/EFSourceMixin.js +5 -7
  44. package/dist/elements/EFSurface.js +6 -9
  45. package/dist/elements/EFTemporal.browsertest.d.ts +11 -0
  46. package/dist/elements/EFTemporal.d.ts +10 -0
  47. package/dist/elements/EFTemporal.js +100 -41
  48. package/dist/elements/EFThumbnailStrip.js +23 -73
  49. package/dist/elements/EFTimegroup.browsertest.d.ts +3 -3
  50. package/dist/elements/EFTimegroup.d.ts +35 -14
  51. package/dist/elements/EFTimegroup.js +138 -181
  52. package/dist/elements/EFVideo.d.ts +16 -2
  53. package/dist/elements/EFVideo.js +156 -108
  54. package/dist/elements/EFWaveform.js +23 -40
  55. package/dist/elements/SampleBuffer.js +3 -7
  56. package/dist/elements/TargetController.js +5 -5
  57. package/dist/elements/durationConverter.js +4 -4
  58. package/dist/elements/renderTemporalAudio.d.ts +10 -0
  59. package/dist/elements/renderTemporalAudio.js +35 -0
  60. package/dist/elements/updateAnimations.js +19 -43
  61. package/dist/gui/ContextMixin.d.ts +5 -5
  62. package/dist/gui/ContextMixin.js +167 -162
  63. package/dist/gui/Controllable.browsertest.d.ts +0 -0
  64. package/dist/gui/Controllable.d.ts +15 -0
  65. package/dist/gui/Controllable.js +9 -0
  66. package/dist/gui/EFConfiguration.js +7 -7
  67. package/dist/gui/EFControls.browsertest.d.ts +11 -0
  68. package/dist/gui/EFControls.d.ts +18 -4
  69. package/dist/gui/EFControls.js +70 -28
  70. package/dist/gui/EFDial.browsertest.d.ts +0 -0
  71. package/dist/gui/EFDial.d.ts +18 -0
  72. package/dist/gui/EFDial.js +141 -0
  73. package/dist/gui/EFFilmstrip.browsertest.d.ts +11 -0
  74. package/dist/gui/EFFilmstrip.d.ts +12 -2
  75. package/dist/gui/EFFilmstrip.js +214 -129
  76. package/dist/gui/EFFitScale.js +5 -8
  77. package/dist/gui/EFFocusOverlay.js +4 -4
  78. package/dist/gui/EFPause.browsertest.d.ts +0 -0
  79. package/dist/gui/EFPause.d.ts +23 -0
  80. package/dist/gui/EFPause.js +59 -0
  81. package/dist/gui/EFPlay.browsertest.d.ts +0 -0
  82. package/dist/gui/EFPlay.d.ts +23 -0
  83. package/dist/gui/EFPlay.js +59 -0
  84. package/dist/gui/EFPreview.d.ts +4 -0
  85. package/dist/gui/EFPreview.js +18 -9
  86. package/dist/gui/EFResizableBox.browsertest.d.ts +0 -0
  87. package/dist/gui/EFResizableBox.d.ts +34 -0
  88. package/dist/gui/EFResizableBox.js +547 -0
  89. package/dist/gui/EFScrubber.d.ts +9 -3
  90. package/dist/gui/EFScrubber.js +13 -13
  91. package/dist/gui/EFTimeDisplay.d.ts +7 -1
  92. package/dist/gui/EFTimeDisplay.js +8 -8
  93. package/dist/gui/EFToggleLoop.d.ts +9 -3
  94. package/dist/gui/EFToggleLoop.js +7 -5
  95. package/dist/gui/EFTogglePlay.d.ts +12 -4
  96. package/dist/gui/EFTogglePlay.js +26 -21
  97. package/dist/gui/EFWorkbench.js +5 -5
  98. package/dist/gui/PlaybackController.d.ts +67 -0
  99. package/dist/gui/PlaybackController.js +310 -0
  100. package/dist/gui/TWMixin.js +1 -1
  101. package/dist/gui/TWMixin2.js +1 -1
  102. package/dist/gui/TargetOrContextMixin.d.ts +10 -0
  103. package/dist/gui/TargetOrContextMixin.js +98 -0
  104. package/dist/gui/efContext.d.ts +2 -2
  105. package/dist/index.d.ts +5 -0
  106. package/dist/index.js +5 -1
  107. package/dist/otel/BridgeSpanExporter.d.ts +13 -0
  108. package/dist/otel/BridgeSpanExporter.js +87 -0
  109. package/dist/otel/setupBrowserTracing.d.ts +12 -0
  110. package/dist/otel/setupBrowserTracing.js +32 -0
  111. package/dist/otel/tracingHelpers.d.ts +34 -0
  112. package/dist/otel/tracingHelpers.js +112 -0
  113. package/dist/style.css +1 -1
  114. package/dist/transcoding/cache/RequestDeduplicator.js +0 -21
  115. package/dist/transcoding/cache/URLTokenDeduplicator.js +1 -21
  116. package/dist/transcoding/utils/UrlGenerator.js +2 -19
  117. package/dist/utils/LRUCache.js +6 -53
  118. package/package.json +13 -5
  119. package/src/elements/ContextProxiesController.ts +10 -10
  120. package/src/elements/EFAudio.ts +1 -0
  121. package/src/elements/EFCaptions.browsertest.ts +128 -56
  122. package/src/elements/EFCaptions.ts +60 -34
  123. package/src/elements/EFImage.browsertest.ts +1 -2
  124. package/src/elements/EFMedia/AssetMediaEngine.ts +65 -37
  125. package/src/elements/EFMedia/BaseMediaEngine.ts +110 -52
  126. package/src/elements/EFMedia/BufferedSeekingInput.ts +218 -101
  127. package/src/elements/EFMedia/JitMediaEngine.browsertest.ts +3 -0
  128. package/src/elements/EFMedia/audioTasks/makeAudioInputTask.ts +7 -3
  129. package/src/elements/EFMedia/audioTasks/makeAudioSeekTask.chunkboundary.regression.browsertest.ts +1 -1
  130. package/src/elements/EFMedia/videoTasks/MainVideoInputCache.ts +76 -0
  131. package/src/elements/EFMedia/videoTasks/makeScrubVideoInputTask.ts +16 -10
  132. package/src/elements/EFMedia/videoTasks/makeScrubVideoSeekTask.ts +7 -1
  133. package/src/elements/EFMedia/videoTasks/makeUnifiedVideoSeekTask.ts +222 -116
  134. package/src/elements/EFMedia.browsertest.ts +8 -15
  135. package/src/elements/EFMedia.ts +54 -8
  136. package/src/elements/EFSurface.browsertest.ts +2 -6
  137. package/src/elements/EFSurface.ts +1 -0
  138. package/src/elements/EFTemporal.browsertest.ts +58 -1
  139. package/src/elements/EFTemporal.ts +140 -4
  140. package/src/elements/EFThumbnailStrip.browsertest.ts +2 -8
  141. package/src/elements/EFThumbnailStrip.ts +1 -0
  142. package/src/elements/EFTimegroup.browsertest.ts +16 -15
  143. package/src/elements/EFTimegroup.ts +281 -275
  144. package/src/elements/EFVideo.browsertest.ts +162 -74
  145. package/src/elements/EFVideo.ts +229 -101
  146. package/src/elements/FetchContext.browsertest.ts +7 -2
  147. package/src/elements/TargetController.browsertest.ts +1 -0
  148. package/src/elements/TargetController.ts +1 -0
  149. package/src/elements/renderTemporalAudio.ts +108 -0
  150. package/src/elements/updateAnimations.browsertest.ts +181 -6
  151. package/src/elements/updateAnimations.ts +6 -6
  152. package/src/gui/ContextMixin.browsertest.ts +274 -27
  153. package/src/gui/ContextMixin.ts +230 -175
  154. package/src/gui/Controllable.browsertest.ts +258 -0
  155. package/src/gui/Controllable.ts +41 -0
  156. package/src/gui/EFControls.browsertest.ts +294 -80
  157. package/src/gui/EFControls.ts +139 -28
  158. package/src/gui/EFDial.browsertest.ts +84 -0
  159. package/src/gui/EFDial.ts +172 -0
  160. package/src/gui/EFFilmstrip.browsertest.ts +712 -0
  161. package/src/gui/EFFilmstrip.ts +213 -23
  162. package/src/gui/EFPause.browsertest.ts +202 -0
  163. package/src/gui/EFPause.ts +73 -0
  164. package/src/gui/EFPlay.browsertest.ts +202 -0
  165. package/src/gui/EFPlay.ts +73 -0
  166. package/src/gui/EFPreview.ts +20 -5
  167. package/src/gui/EFResizableBox.browsertest.ts +79 -0
  168. package/src/gui/EFResizableBox.ts +898 -0
  169. package/src/gui/EFScrubber.ts +7 -5
  170. package/src/gui/EFTimeDisplay.browsertest.ts +19 -19
  171. package/src/gui/EFTimeDisplay.ts +3 -1
  172. package/src/gui/EFToggleLoop.ts +6 -5
  173. package/src/gui/EFTogglePlay.ts +30 -23
  174. package/src/gui/PlaybackController.ts +522 -0
  175. package/src/gui/TWMixin.css +3 -0
  176. package/src/gui/TargetOrContextMixin.ts +185 -0
  177. package/src/gui/efContext.ts +2 -2
  178. package/src/otel/BridgeSpanExporter.ts +150 -0
  179. package/src/otel/setupBrowserTracing.ts +73 -0
  180. package/src/otel/tracingHelpers.ts +251 -0
  181. package/test/cache-integration-verification.browsertest.ts +1 -1
  182. package/types.json +1 -1
  183. package/dist/elements/ContextProxiesController.js +0 -69
@@ -6,9 +6,6 @@ var DelayedLoadingState = class {
6
6
  this.loadingDelayMs = delayMs;
7
7
  this.onStateChange = onStateChange;
8
8
  }
9
- /**
10
- * Start a delayed loading operation
11
- */
12
9
  startLoading(operationId, message, options = {}) {
13
10
  const isBackground = options.background || false;
14
11
  const existingOp = this.operations.get(operationId);
@@ -34,9 +31,6 @@ var DelayedLoadingState = class {
34
31
  isBackground: false
35
32
  });
36
33
  }
37
- /**
38
- * Clear a loading operation
39
- */
40
34
  clearLoading(operationId) {
41
35
  const operation = this.operations.get(operationId);
42
36
  if (!operation) return;
@@ -44,36 +38,21 @@ var DelayedLoadingState = class {
44
38
  this.operations.delete(operationId);
45
39
  this.updateLoadingState();
46
40
  }
47
- /**
48
- * Clear all loading operations
49
- */
50
41
  clearAllLoading() {
51
42
  for (const operation of this.operations.values()) if (operation.timeout) clearTimeout(operation.timeout);
52
43
  this.operations.clear();
53
44
  this.updateLoadingState();
54
45
  }
55
- /**
56
- * Get current loading state
57
- */
58
46
  get isLoading() {
59
47
  return this.isCurrentlyLoading;
60
48
  }
61
- /**
62
- * Get current loading message
63
- */
64
49
  get message() {
65
50
  return this.currentMessage;
66
51
  }
67
- /**
68
- * Check if any non-background operations are active
69
- */
70
52
  hasActiveOperations() {
71
53
  for (const operation of this.operations.values()) if (!operation.isBackground) return true;
72
54
  return false;
73
55
  }
74
- /**
75
- * Get the message for the most recent non-background operation
76
- */
77
56
  getCurrentMessage() {
78
57
  let latestTime = 0;
79
58
  let latestMessage = "";
@@ -83,9 +62,6 @@ var DelayedLoadingState = class {
83
62
  }
84
63
  return latestMessage;
85
64
  }
86
- /**
87
- * Trigger loading state (called by timeout)
88
- */
89
65
  triggerLoadingState() {
90
66
  if (this.hasActiveOperations() && !this.isCurrentlyLoading) {
91
67
  this.isCurrentlyLoading = true;
@@ -93,9 +69,6 @@ var DelayedLoadingState = class {
93
69
  this.onStateChange?.(true, this.currentMessage);
94
70
  }
95
71
  }
96
- /**
97
- * Update loading state based on current operations
98
- */
99
72
  updateLoadingState() {
100
73
  const shouldBeLoading = this.hasActiveOperations();
101
74
  if (shouldBeLoading !== this.isCurrentlyLoading) {
@@ -1,12 +1,14 @@
1
1
  import { VideoRenderOptions } from '../../assets/src/index.ts';
2
+ import { TraceContext } from './otel/tracingHelpers.js';
2
3
  interface Bridge {
3
- onInitialize: (callback: (renderOptions: VideoRenderOptions) => void) => void;
4
+ onInitialize: (callback: (renderOptions: VideoRenderOptions, traceContext?: TraceContext, otelEndpoint?: string) => void) => void;
4
5
  initialized(): void;
5
- onBeginFrame(callback: (frameNumber: number, isLast: boolean) => void): void;
6
- onTriggerCanvas(callback: () => void): void;
6
+ onBeginFrame(callback: (frameNumber: number, isLast: boolean, traceContext?: TraceContext) => void): void;
7
+ onTriggerCanvas(callback: (traceContext?: TraceContext) => void): void;
7
8
  frameReady(frameNumber: number, audioSamples: ArrayBuffer): void;
8
9
  error(error: Error): void;
9
10
  syncLog(sequence: number, message: string, callback: () => void): void;
11
+ exportSpans?: (endpoint: string, payload: string) => void;
10
12
  }
11
13
  declare global {
12
14
  interface Window {
@@ -1,4 +1,6 @@
1
+ import { clearCurrentFrameSpan, enableTracing, extractParentContext, setCurrentFrameSpan, withSpan, withSpanAndContext } from "./otel/tracingHelpers.js";
1
2
  import { shallowGetTimegroups } from "./elements/EFTimegroup.js";
3
+ import { setupBrowserTracing } from "./otel/setupBrowserTracing.js";
2
4
  var TriggerCanvas = class {
3
5
  constructor() {
4
6
  this.canvasInitialized = false;
@@ -91,17 +93,54 @@ var EFFramegen = class {
91
93
  connectToBridge() {
92
94
  const BRIDGE = this.BRIDGE;
93
95
  if (!BRIDGE) throw new Error("No BRIDGE when attempting to connect to bridge");
94
- BRIDGE.onInitialize(async (renderOptions) => {
95
- await this.initialize(renderOptions).catch((error) => {
96
- console.error("[EF_FRAMEGEN.connectToBridge] error initializing", error);
96
+ BRIDGE.onInitialize(async (renderOptions, traceContext, otelEndpoint) => {
97
+ if (renderOptions.enableTracing && otelEndpoint) {
98
+ enableTracing();
99
+ await setupBrowserTracing({
100
+ otelEndpoint,
101
+ serviceName: "telecine-browser",
102
+ bridge: BRIDGE,
103
+ useBatching: true
104
+ });
105
+ }
106
+ const parentContext = extractParentContext(traceContext);
107
+ await withSpan("browser.initialize", {
108
+ width: renderOptions.encoderOptions.video.width,
109
+ height: renderOptions.encoderOptions.video.height,
110
+ fps: renderOptions.encoderOptions.video.framerate,
111
+ durationMs: renderOptions.encoderOptions.toMs - renderOptions.encoderOptions.fromMs
112
+ }, parentContext, async () => {
113
+ await this.initialize(renderOptions).catch((error) => {
114
+ console.error("[EF_FRAMEGEN.connectToBridge] error initializing", error);
115
+ throw error;
116
+ });
97
117
  });
98
118
  BRIDGE.initialized();
99
119
  });
100
- BRIDGE.onBeginFrame((frameNumber, isLast) => {
101
- this.beginFrame(frameNumber, isLast);
120
+ BRIDGE.onBeginFrame((frameNumber, isLast, traceContext) => {
121
+ const parentContext = extractParentContext(traceContext);
122
+ withSpanAndContext("browser.frame.render", {
123
+ frameNumber,
124
+ isLast
125
+ }, parentContext, async (span, _spanContext) => {
126
+ setCurrentFrameSpan(span);
127
+ try {
128
+ await this.beginFrame(frameNumber, isLast);
129
+ } finally {
130
+ clearCurrentFrameSpan();
131
+ }
132
+ }).catch((error) => {
133
+ console.error("[EF_FRAMEGEN.beginFrame] error:", error);
134
+ clearCurrentFrameSpan();
135
+ throw error;
136
+ });
102
137
  });
103
- BRIDGE.onTriggerCanvas(() => {
104
- this.triggerCanvas.trigger();
138
+ BRIDGE.onTriggerCanvas((traceContext) => {
139
+ withSpan("browser.canvas.trigger", {}, extractParentContext(traceContext), async () => {
140
+ this.triggerCanvas.trigger();
141
+ }).catch((error) => {
142
+ console.error("[EF_FRAMEGEN.triggerCanvas] error:", error);
143
+ });
105
144
  });
106
145
  }
107
146
  get showFrameBox() {
@@ -113,8 +152,7 @@ var EFFramegen = class {
113
152
  if (!workbench) throw new Error("No workbench found");
114
153
  workbench.rendering = true;
115
154
  workbench.playing = false;
116
- const timegroups = shallowGetTimegroups(workbench);
117
- const firstGroup = timegroups[0];
155
+ const firstGroup = shallowGetTimegroups(workbench)[0];
118
156
  if (!firstGroup) throw new Error("No temporal elements found");
119
157
  const startingTimeMs = renderOptions.encoderOptions.fromMs;
120
158
  await firstGroup.waitForMediaDurations();
@@ -142,8 +180,7 @@ var EFFramegen = class {
142
180
  const workbench = document.querySelector("ef-workbench");
143
181
  if (!workbench) throw new Error("No workbench found");
144
182
  workbench.rendering = true;
145
- const timegroups = shallowGetTimegroups(workbench);
146
- const firstGroup = timegroups[0];
183
+ const firstGroup = shallowGetTimegroups(workbench)[0];
147
184
  if (!firstGroup) throw new Error("No temporal elements found");
148
185
  const frameTime = this.renderOptions.encoderOptions.fromMs + frameNumber * this.frameDurationMs;
149
186
  firstGroup.currentTimeMs = Number(Number(frameTime).toFixed(5));
@@ -183,3 +220,4 @@ var EFFramegen = class {
183
220
  }
184
221
  };
185
222
  if (typeof window !== "undefined") window.EF_FRAMEGEN = new EFFramegen();
223
+ export {};
@@ -0,0 +1,7 @@
1
+ function __decorate(decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ }
7
+ export { __decorate };
@@ -0,0 +1 @@
1
+ export declare const attachContextRoot: () => void;
@@ -0,0 +1,9 @@
1
+ import { ContextRoot } from "@lit/context";
2
+ var contextRoot = null;
3
+ const attachContextRoot = () => {
4
+ if (typeof window === "undefined") return;
5
+ if (contextRoot !== null) return;
6
+ contextRoot = new ContextRoot();
7
+ contextRoot.attach(document.body);
8
+ };
9
+ export { attachContextRoot };
@@ -20,7 +20,7 @@ export type ContextProxyConfig = {
20
20
  * // @ts-expect-error controller is intentionally not referenced directly
21
21
  * #contextProxyController = new ContextProxyController(this, {
22
22
  * target: () => this.targetElement,
23
- * contexts: [playingContext, loopContext, targetTimegroupContext]
23
+ * contexts: [playingContext, loopContext, targetTemporalContext]
24
24
  * });
25
25
  * }
26
26
  * ```
@@ -28,7 +28,6 @@ export type ContextProxyConfig = {
28
28
  export declare class ContextProxyController implements ReactiveController {
29
29
  private host;
30
30
  private proxyMap;
31
- private boundHandler;
32
31
  private pendingRequests;
33
32
  constructor(host: LitElement, config: ContextProxyConfig);
34
33
  hostConnected(): void;
@@ -1,12 +1,12 @@
1
1
  import { EF_INTERACTIVE } from "../EF_INTERACTIVE.js";
2
- import { EFMedia } from "./EFMedia.js";
2
+ import { __decorate } from "../_virtual/_@oxc-project_runtime@0.94.0/helpers/decorate.js";
3
3
  import { TWMixin } from "../gui/TWMixin2.js";
4
+ import { EFMedia } from "./EFMedia.js";
4
5
  import { Task } from "@lit/task";
5
6
  import { html } from "lit";
6
7
  import { customElement, property } from "lit/decorators.js";
7
- import _decorate from "@oxc-project/runtime/helpers/decorate";
8
8
  import { createRef, ref } from "lit/directives/ref.js";
9
- let EFAudio = class EFAudio$1 extends TWMixin(EFMedia) {
9
+ var EFAudio = class EFAudio$1 extends TWMixin(EFMedia) {
10
10
  constructor(..._args) {
11
11
  super(..._args);
12
12
  this._propertyHack = false;
@@ -31,17 +31,13 @@ let EFAudio = class EFAudio$1 extends TWMixin(EFMedia) {
31
31
  render() {
32
32
  return html`<audio ${ref(this.audioElementRef)}></audio>`;
33
33
  }
34
- /**
35
- * Legacy getter for fragment index task (maps to audioSegmentIdTask)
36
- * Still used by EFCaptions
37
- */
38
34
  get fragmentIndexTask() {
39
35
  return this.audioSegmentIdTask;
40
36
  }
41
37
  };
42
- _decorate([property({
38
+ __decorate([property({
43
39
  type: Boolean,
44
40
  attribute: "dummy-property"
45
41
  })], EFAudio.prototype, "_propertyHack", void 0);
46
- EFAudio = _decorate([customElement("ef-audio")], EFAudio);
42
+ EFAudio = __decorate([customElement("ef-audio")], EFAudio);
47
43
  export { EFAudio };
@@ -66,8 +66,6 @@ export declare class EFCaptionsAfterActiveWord extends EFCaptionsSegment {
66
66
  declare const EFCaptions_base: (new (...args: any[]) => import('./EFSourceMixin.js').EFSourceMixinInterface) & (new (...args: any[]) => import('./EFTemporal.js').TemporalMixinInterface) & (new (...args: any[]) => import('./FetchMixin.js').FetchMixinInterface) & typeof LitElement;
67
67
  export declare class EFCaptions extends EFCaptions_base {
68
68
  static styles: import('lit').CSSResult[];
69
- displayMode: "word" | "segment" | "context";
70
- contextWords: number;
71
69
  targetSelector: string;
72
70
  set target(value: string);
73
71
  wordStyle: string;
@@ -100,7 +98,7 @@ export declare class EFCaptions extends EFCaptions_base {
100
98
  private customCaptionsDataTask;
101
99
  private transcriptionFragmentDataTask;
102
100
  unifiedCaptionsDataTask: Task<readonly [Caption | null | undefined, Caption | null | undefined], Caption | null | undefined>;
103
- frameTask: Task<TaskStatus[], void>;
101
+ frameTask: Task<readonly [TaskStatus, number], void>;
104
102
  connectedCallback(): void;
105
103
  protected updated(changedProperties: PropertyValueMap<any> | Map<PropertyKey, unknown>): void;
106
104
  updateTextContainers(): void;