@editframe/elements 0.15.0-beta.9 → 0.16.0-beta.1

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 (52) hide show
  1. package/dist/EF_FRAMEGEN.d.ts +14 -10
  2. package/dist/EF_FRAMEGEN.js +17 -28
  3. package/dist/elements/EFCaptions.js +0 -7
  4. package/dist/elements/EFImage.js +0 -4
  5. package/dist/elements/EFMedia.d.ts +13 -8
  6. package/dist/elements/EFMedia.js +163 -146
  7. package/dist/elements/EFSourceMixin.js +2 -1
  8. package/dist/elements/EFTemporal.browsertest.d.ts +4 -3
  9. package/dist/elements/EFTemporal.d.ts +14 -11
  10. package/dist/elements/EFTemporal.js +63 -87
  11. package/dist/elements/EFTimegroup.d.ts +2 -4
  12. package/dist/elements/EFTimegroup.js +15 -103
  13. package/dist/elements/EFVideo.js +3 -1
  14. package/dist/elements/EFWaveform.d.ts +1 -1
  15. package/dist/elements/EFWaveform.js +11 -28
  16. package/dist/elements/durationConverter.d.ts +8 -8
  17. package/dist/elements/durationConverter.js +2 -2
  18. package/dist/elements/updateAnimations.d.ts +9 -0
  19. package/dist/elements/updateAnimations.js +62 -0
  20. package/dist/getRenderInfo.d.ts +51 -0
  21. package/dist/getRenderInfo.js +72 -0
  22. package/dist/gui/EFFilmstrip.js +7 -16
  23. package/dist/gui/EFFitScale.d.ts +27 -0
  24. package/dist/gui/EFFitScale.js +138 -0
  25. package/dist/gui/EFWorkbench.d.ts +2 -5
  26. package/dist/gui/EFWorkbench.js +11 -56
  27. package/dist/gui/TWMixin.css.js +1 -1
  28. package/dist/gui/TWMixin.js +14 -2
  29. package/dist/index.d.ts +2 -0
  30. package/dist/index.js +6 -1
  31. package/dist/style.css +3 -3
  32. package/package.json +4 -3
  33. package/src/elements/EFCaptions.browsertest.ts +2 -2
  34. package/src/elements/EFCaptions.ts +0 -7
  35. package/src/elements/EFImage.browsertest.ts +2 -2
  36. package/src/elements/EFImage.ts +0 -4
  37. package/src/elements/EFMedia.browsertest.ts +14 -14
  38. package/src/elements/EFMedia.ts +219 -182
  39. package/src/elements/EFSourceMixin.ts +4 -4
  40. package/src/elements/EFTemporal.browsertest.ts +64 -31
  41. package/src/elements/EFTemporal.ts +99 -119
  42. package/src/elements/EFTimegroup.ts +15 -133
  43. package/src/elements/EFVideo.ts +3 -1
  44. package/src/elements/EFWaveform.ts +10 -44
  45. package/src/elements/durationConverter.ts +9 -4
  46. package/src/elements/updateAnimations.ts +88 -0
  47. package/src/gui/ContextMixin.ts +0 -3
  48. package/src/gui/EFFilmstrip.ts +7 -16
  49. package/src/gui/EFFitScale.ts +152 -0
  50. package/src/gui/EFWorkbench.ts +16 -65
  51. package/src/gui/TWMixin.ts +19 -2
  52. package/types.json +1 -1
@@ -3,7 +3,6 @@ import { LitElement, type PropertyValueMap, css, html } from "lit";
3
3
  import { customElement, property } from "lit/decorators.js";
4
4
  import type { GetISOBMFFFileTranscriptionResult } from "../../../api/src/index.js";
5
5
  import { EF_INTERACTIVE } from "../EF_INTERACTIVE.js";
6
- import { EF_RENDERING } from "../EF_RENDERING.js";
7
6
  import { CrossUpdateController } from "./CrossUpdateController.js";
8
7
  import { EFAudio } from "./EFAudio.js";
9
8
  import { EFSourceMixin } from "./EFSourceMixin.js";
@@ -256,9 +255,6 @@ export class EFCaptions extends EFSourceMixin(
256
255
 
257
256
  transcriptionsPath() {
258
257
  if (this.targetElement.assetId) {
259
- if (EF_RENDERING()) {
260
- return `editframe://api/v1/isobmff_files/${this.targetElement.assetId}/transcription`;
261
- }
262
258
  return `${this.apiHost}/api/v1/isobmff_files/${this.targetElement.assetId}/transcription`;
263
259
  }
264
260
  return null;
@@ -266,9 +262,6 @@ export class EFCaptions extends EFSourceMixin(
266
262
 
267
263
  captionsPath() {
268
264
  if (this.targetElement.assetId) {
269
- if (EF_RENDERING()) {
270
- return `editframe://api/v1/caption_files/${this.targetElement.assetId}`;
271
- }
272
265
  return `${this.apiHost}/api/v1/caption_files/${this.targetElement.assetId}`;
273
266
  }
274
267
  const targetSrc = this.targetElement.src;
@@ -14,13 +14,13 @@ describe("EFImage", () => {
14
14
  // biome-ignore lint/performance/noDelete: <explanation>
15
15
  delete window.FRAMEGEN_BRIDGE;
16
16
  });
17
- test("assetPath uses editframe:// protocol", () => {
17
+ test("assetPath uses http:// protocol", () => {
18
18
  const workbench = document.createElement("ef-workbench");
19
19
  const element = document.createElement("ef-image");
20
20
  workbench.appendChild(element);
21
21
  element.assetId = "550e8400-e29b-41d4-a716-446655440000";
22
22
  expect(element.assetPath()).toBe(
23
- "editframe://api/v1/image_files/550e8400-e29b-41d4-a716-446655440000",
23
+ "https://editframe.dev/api/v1/image_files/550e8400-e29b-41d4-a716-446655440000",
24
24
  );
25
25
  });
26
26
  });
@@ -3,7 +3,6 @@ import { LitElement, css, html } from "lit";
3
3
  import { customElement, property } from "lit/decorators.js";
4
4
  import { createRef, ref } from "lit/directives/ref.js";
5
5
  import { EF_INTERACTIVE } from "../EF_INTERACTIVE.js";
6
- import { EF_RENDERING } from "../EF_RENDERING.js";
7
6
  import { EFSourceMixin } from "./EFSourceMixin.js";
8
7
  import { EFTemporal } from "./EFTemporal.js";
9
8
  import { FetchMixin } from "./FetchMixin.js";
@@ -47,9 +46,6 @@ export class EFImage extends EFTemporal(
47
46
 
48
47
  assetPath() {
49
48
  if (this.assetId) {
50
- if (EF_RENDERING()) {
51
- return `editframe://api/v1/image_files/${this.assetId}`;
52
- }
53
49
  return `${this.apiHost}/api/v1/image_files/${this.assetId}`;
54
50
  }
55
51
  return `/@ef-image/${this.src}`;
@@ -36,23 +36,23 @@ describe("EFMedia", () => {
36
36
  // biome-ignore lint/performance/noDelete: <explanation>
37
37
  delete window.FRAMEGEN_BRIDGE;
38
38
  });
39
- test("fragmentIndexPath uses editframe:// protocol", () => {
39
+ test("fragmentIndexPath uses http:// protocol", () => {
40
40
  const workbench = document.createElement("ef-workbench");
41
41
  const element = document.createElement("test-media");
42
42
  workbench.appendChild(element);
43
43
  element.assetId = "550e8400-e29b-41d4-a716-446655440000:example.mp4";
44
44
  expect(element.fragmentIndexPath()).toBe(
45
- "editframe://api/v1/isobmff_files/550e8400-e29b-41d4-a716-446655440000:example.mp4/index",
45
+ "https://editframe.dev/api/v1/isobmff_files/550e8400-e29b-41d4-a716-446655440000:example.mp4/index",
46
46
  );
47
47
  });
48
48
 
49
- test("fragmentTrackPath uses editframe:// protocol", () => {
49
+ test("fragmentTrackPath uses http:// protocol", () => {
50
50
  const workbench = document.createElement("ef-workbench");
51
51
  const element = document.createElement("test-media");
52
52
  workbench.appendChild(element);
53
53
  element.assetId = "550e8400-e29b-41d4-a716-446655440000:example.mp4";
54
54
  expect(element.fragmentTrackPath("1")).toBe(
55
- "editframe://api/v1/isobmff_tracks/550e8400-e29b-41d4-a716-446655440000:example.mp4/1",
55
+ "https://editframe.dev/api/v1/isobmff_tracks/550e8400-e29b-41d4-a716-446655440000:example.mp4/1",
56
56
  );
57
57
  });
58
58
  });
@@ -148,7 +148,7 @@ describe("EFMedia", () => {
148
148
  timegroup.mode = "sequence";
149
149
  const element = document.createElement("test-media");
150
150
  element.src = "/assets/10s-bars.mp4";
151
- element.sourcein = "1s";
151
+ element.sourceInMs = 1_000;
152
152
 
153
153
  const preview = document.createElement("ef-preview");
154
154
  timegroup.appendChild(element);
@@ -180,7 +180,7 @@ describe("EFMedia", () => {
180
180
  timegroup.mode = "sequence";
181
181
  const element = document.createElement("test-media");
182
182
  element.src = "/assets/10s-bars.mp4";
183
- element.sourcein = "6s";
183
+ element.sourceInMs = 6_000;
184
184
 
185
185
  const preview = document.createElement("ef-preview");
186
186
  timegroup.appendChild(element);
@@ -212,7 +212,7 @@ describe("EFMedia", () => {
212
212
  timegroup.mode = "sequence";
213
213
  const element = document.createElement("test-media");
214
214
  element.src = "/assets/10s-bars.mp4";
215
- element.sourceout = "6s";
215
+ element.sourceOutMs = 6_000;
216
216
 
217
217
  const preview = document.createElement("ef-preview");
218
218
  timegroup.appendChild(element);
@@ -224,8 +224,8 @@ describe("EFMedia", () => {
224
224
 
225
225
  await element.trackFragmentIndexLoader.taskComplete;
226
226
 
227
- expect(element.durationMs).toBe(4_000);
228
- expect(timegroup.durationMs).toBe(4_000);
227
+ expect(element.durationMs).toBe(6_000);
228
+ expect(timegroup.durationMs).toBe(6_000);
229
229
  });
230
230
  test("Computes duration from track fragment index sourceout", async () => {
231
231
  // Mock the request for the track fragment index, responds with a 10 second duration
@@ -244,7 +244,7 @@ describe("EFMedia", () => {
244
244
  timegroup.mode = "sequence";
245
245
  const element = document.createElement("test-media");
246
246
  element.src = "/assets/10s-bars.mp4";
247
- element.sourceout = "5s";
247
+ element.sourceOutMs = 5_000;
248
248
 
249
249
  const preview = document.createElement("ef-preview");
250
250
  timegroup.appendChild(element);
@@ -276,8 +276,8 @@ describe("EFMedia", () => {
276
276
  timegroup.mode = "sequence";
277
277
  const element = document.createElement("test-media");
278
278
  element.src = "/assets/10s-bars.mp4";
279
- element.sourcein = "1s";
280
- element.sourceout = "5s";
279
+ element.sourceInMs = 1_000;
280
+ element.sourceOutMs = 5_000;
281
281
 
282
282
  const preview = document.createElement("ef-preview");
283
283
  timegroup.appendChild(element);
@@ -310,8 +310,8 @@ describe("EFMedia", () => {
310
310
  timegroup.mode = "sequence";
311
311
  const element = document.createElement("test-media");
312
312
  element.src = "/assets/10s-bars.mp4";
313
- element.sourcein = "9s";
314
- element.sourceout = "10s";
313
+ element.sourceInMs = 9_000;
314
+ element.sourceOutMs = 10_000;
315
315
 
316
316
  const preview = document.createElement("ef-preview");
317
317
  timegroup.appendChild(element);