@editframe/react 0.47.2 → 0.48.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 (88) hide show
  1. package/dist/components/TimeDisplay.js +1 -2
  2. package/dist/components/TimeDisplay.js.map +1 -1
  3. package/dist/components/TimelineRoot.js +1 -2
  4. package/dist/components/TimelineRoot.js.map +1 -1
  5. package/dist/elements/Audio.js +1 -2
  6. package/dist/elements/Audio.js.map +1 -1
  7. package/dist/elements/Captions.js +1 -2
  8. package/dist/elements/Captions.js.map +1 -1
  9. package/dist/elements/Image.js +1 -2
  10. package/dist/elements/Image.js.map +1 -1
  11. package/dist/elements/PanZoom.js +1 -2
  12. package/dist/elements/PanZoom.js.map +1 -1
  13. package/dist/elements/Surface.js +1 -2
  14. package/dist/elements/Surface.js.map +1 -1
  15. package/dist/elements/Text.js +1 -2
  16. package/dist/elements/Text.js.map +1 -1
  17. package/dist/elements/Timegroup.js +1 -2
  18. package/dist/elements/Timegroup.js.map +1 -1
  19. package/dist/elements/Video.js +1 -2
  20. package/dist/elements/Video.js.map +1 -1
  21. package/dist/elements/Waveform.js +1 -2
  22. package/dist/elements/Waveform.js.map +1 -1
  23. package/dist/gui/Configuration.js +1 -2
  24. package/dist/gui/Configuration.js.map +1 -1
  25. package/dist/gui/Controls.js +1 -2
  26. package/dist/gui/Controls.js.map +1 -1
  27. package/dist/gui/EFDial.js +1 -2
  28. package/dist/gui/EFDial.js.map +1 -1
  29. package/dist/gui/EFResizableBox.js +1 -2
  30. package/dist/gui/EFResizableBox.js.map +1 -1
  31. package/dist/gui/EFTransformHandles.js +1 -2
  32. package/dist/gui/EFTransformHandles.js.map +1 -1
  33. package/dist/gui/Filmstrip.js +1 -2
  34. package/dist/gui/Filmstrip.js.map +1 -1
  35. package/dist/gui/FitScale.js +1 -2
  36. package/dist/gui/FitScale.js.map +1 -1
  37. package/dist/gui/FocusOverlay.js +1 -2
  38. package/dist/gui/FocusOverlay.js.map +1 -1
  39. package/dist/gui/OverlayItem.js +1 -2
  40. package/dist/gui/OverlayItem.js.map +1 -1
  41. package/dist/gui/OverlayLayer.js +1 -2
  42. package/dist/gui/OverlayLayer.js.map +1 -1
  43. package/dist/gui/Pause.js +1 -2
  44. package/dist/gui/Pause.js.map +1 -1
  45. package/dist/gui/Play.js +1 -2
  46. package/dist/gui/Play.js.map +1 -1
  47. package/dist/gui/Preview.js +1 -2
  48. package/dist/gui/Preview.js.map +1 -1
  49. package/dist/gui/Scrubber.js +2 -3
  50. package/dist/gui/Scrubber.js.map +1 -1
  51. package/dist/gui/ThumbnailStrip.js +1 -2
  52. package/dist/gui/ThumbnailStrip.js.map +1 -1
  53. package/dist/gui/TimelineRuler.js +2 -3
  54. package/dist/gui/TimelineRuler.js.map +1 -1
  55. package/dist/gui/ToggleLoop.js +1 -2
  56. package/dist/gui/ToggleLoop.js.map +1 -1
  57. package/dist/gui/TogglePlay.js +1 -2
  58. package/dist/gui/TogglePlay.js.map +1 -1
  59. package/dist/gui/TrimHandles.js +1 -2
  60. package/dist/gui/TrimHandles.js.map +1 -1
  61. package/dist/gui/Workbench.js +1 -2
  62. package/dist/gui/Workbench.js.map +1 -1
  63. package/dist/hooks/create-element.d.ts +2 -3
  64. package/dist/hooks/create-element.js +6 -7
  65. package/dist/hooks/create-element.js.map +1 -1
  66. package/dist/hooks/useMediaInfo.js +1 -2
  67. package/dist/hooks/useMediaInfo.js.map +1 -1
  68. package/dist/hooks/usePanZoomTransform.d.ts +0 -1
  69. package/dist/hooks/usePanZoomTransform.js +1 -2
  70. package/dist/hooks/usePanZoomTransform.js.map +1 -1
  71. package/dist/hooks/useRenderData.js +1 -2
  72. package/dist/hooks/useRenderData.js.map +1 -1
  73. package/dist/hooks/useTimingInfo.d.ts +2 -2
  74. package/dist/hooks/useTimingInfo.js +1 -2
  75. package/dist/hooks/useTimingInfo.js.map +1 -1
  76. package/dist/index.js +1 -2
  77. package/dist/r3f/CompositionCanvas.d.ts +2 -3
  78. package/dist/r3f/CompositionCanvas.js +2 -3
  79. package/dist/r3f/CompositionCanvas.js.map +1 -1
  80. package/dist/r3f/OffscreenCompositionCanvas.d.ts +2 -3
  81. package/dist/r3f/OffscreenCompositionCanvas.js +1 -2
  82. package/dist/r3f/OffscreenCompositionCanvas.js.map +1 -1
  83. package/dist/r3f/index.js +1 -2
  84. package/dist/r3f/renderOffscreen.d.ts +0 -1
  85. package/dist/r3f/renderOffscreen.js +4 -5
  86. package/dist/r3f/renderOffscreen.js.map +1 -1
  87. package/dist/server.js +1 -2
  88. package/package.json +3 -5
@@ -1,14 +1,13 @@
1
1
  import { createComponent } from "../hooks/create-element.js";
2
2
  import { EFTimeDisplay } from "@editframe/elements";
3
3
  import React from "react";
4
-
5
4
  //#region src/components/TimeDisplay.tsx
6
5
  const TimeDisplay = createComponent({
7
6
  tagName: "ef-time-display",
8
7
  elementClass: EFTimeDisplay,
9
8
  react: React
10
9
  });
11
-
12
10
  //#endregion
13
11
  export { TimeDisplay };
12
+
14
13
  //# sourceMappingURL=TimeDisplay.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TimeDisplay.js","names":[],"sources":["../../src/components/TimeDisplay.tsx"],"sourcesContent":["import { EFTimeDisplay } from \"@editframe/elements\";\nimport React from \"react\";\nimport { createComponent } from \"../hooks/create-element\";\n\nexport const TimeDisplay = createComponent({\n tagName: \"ef-time-display\",\n elementClass: EFTimeDisplay,\n react: React,\n});\n\nexport type TimeDisplayProps = {\n className?: string;\n};\n"],"mappings":";;;;;AAIA,MAAa,cAAc,gBAAgB;CACzC,SAAS;CACT,cAAc;CACd,OAAO;CACR,CAAC"}
1
+ {"version":3,"file":"TimeDisplay.js","names":[],"sources":["../../src/components/TimeDisplay.tsx"],"mappings":";;;;AAIA,MAAa,cAAc,gBAAgB;CACzC,SAAS;CACT,cAAc;CACd,OAAO;CACR,CAAC"}
@@ -3,7 +3,6 @@ import { useEffect, useRef } from "react";
3
3
  import * as ReactDOM from "react-dom/client";
4
4
  import { flushSync } from "react-dom";
5
5
  import { jsx, jsxs } from "react/jsx-runtime";
6
-
7
6
  //#region src/components/TimelineRoot.tsx
8
7
  /**
9
8
  * TimelineRoot - Factory wrapper for React-based timelines.
@@ -67,7 +66,7 @@ const TimelineRoot = ({ id, component: Component, className, style, children })
67
66
  children: [children, /* @__PURE__ */ jsx(Component, { id })]
68
67
  });
69
68
  };
70
-
71
69
  //#endregion
72
70
  export { TimelineRoot };
71
+
73
72
  //# sourceMappingURL=TimelineRoot.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TimelineRoot.js","names":["TimelineRoot: React.FC<TimelineRootProps>"],"sources":["../../src/components/TimelineRoot.tsx"],"sourcesContent":["import * as React from \"react\";\nimport * as ReactDOM from \"react-dom/client\";\nimport { flushSync } from \"react-dom\";\nimport { useEffect, useRef } from \"react\";\nimport {\n registerCloneFactory,\n unregisterCloneFactory,\n type EFTimegroup,\n} from \"@editframe/elements\";\n\ninterface TimelineRootProps {\n /**\n * Unique identifier used for playback control targeting (Preview, Scrubber, TogglePlay).\n * Also passed as `id` prop to the component for clone rendering.\n */\n id: string;\n /**\n * React component that renders the timeline content (must include a Timegroup at root).\n */\n component: React.ComponentType<Record<string, unknown>>;\n /** Optional CSS class name for the container */\n className?: string;\n /** Optional inline styles for the container */\n style?: React.CSSProperties;\n /** Optional children to render alongside the component (e.g., Configuration wrapper) */\n children?: React.ReactNode;\n}\n\n/**\n * TimelineRoot - Factory wrapper for React-based timelines.\n *\n * This component enables proper clone rendering by registering a clone factory\n * for the managed ef-timegroup element. When render clones are needed\n * (for exports, thumbnails, etc.), the factory mounts a fresh React component\n * tree — producing a fully functional second instance with all hooks, state,\n * and effects running.\n *\n * This is necessary because React DOM cannot be cloned via cloneNode() —\n * cloned elements are dead HTML without React's fiber tree behind them.\n * The factory pattern ensures each clone is a real React mount.\n *\n * @example\n * ```tsx\n * const MyTimeline = () => (\n * <Timegroup mode=\"sequence\">\n * <MyScenes />\n * </Timegroup>\n * );\n *\n * <TimelineRoot id=\"root\" component={MyTimeline} />\n * ```\n */\nexport const TimelineRoot: React.FC<TimelineRootProps> = ({\n id,\n component: Component,\n className,\n style,\n children,\n}) => {\n const containerRef = useRef<HTMLDivElement>(null);\n const componentRef = useRef(Component);\n componentRef.current = Component;\n\n useEffect(() => {\n const container = containerRef.current;\n if (!container) return;\n\n // Find the root timegroup rendered by Component\n const timegroup = container.querySelector(\"ef-timegroup\") as EFTimegroup;\n if (!timegroup) {\n throw new Error(\n \"[TimelineRoot] No ef-timegroup found in component. \" +\n \"Ensure your component renders a Timegroup.\",\n );\n }\n\n // Register a clone factory for this element.\n // When createRenderClone is called, it will use this factory\n // to mount a fresh React tree instead of cloning dead DOM.\n registerCloneFactory(timegroup, (cloneContainer: HTMLElement) => {\n const root = ReactDOM.createRoot(cloneContainer);\n const Comp = componentRef.current;\n flushSync(() => {\n root.render(<Comp id={id} />);\n });\n\n const newTimegroup = cloneContainer.querySelector(\"ef-timegroup\") as EFTimegroup | null;\n if (!newTimegroup) {\n throw new Error(\n \"[TimelineRoot] Clone factory did not produce an ef-timegroup. \" +\n \"Ensure your component renders a Timegroup.\",\n );\n }\n\n return {\n timegroup: newTimegroup,\n cleanup: () => {\n root.unmount();\n },\n };\n });\n\n return () => {\n unregisterCloneFactory(timegroup);\n };\n }, [id]);\n\n return (\n <div ref={containerRef} className={className} style={{ display: \"contents\", ...style }}>\n {children}\n <Component id={id} />\n </div>\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoDA,MAAaA,gBAA6C,EACxD,IACA,WAAW,WACX,WACA,OACA,eACI;CACJ,MAAM,eAAe,OAAuB,KAAK;CACjD,MAAM,eAAe,OAAO,UAAU;AACtC,cAAa,UAAU;AAEvB,iBAAgB;EACd,MAAM,YAAY,aAAa;AAC/B,MAAI,CAAC,UAAW;EAGhB,MAAM,YAAY,UAAU,cAAc,eAAe;AACzD,MAAI,CAAC,UACH,OAAM,IAAI,MACR,gGAED;AAMH,uBAAqB,YAAY,mBAAgC;GAC/D,MAAM,OAAO,SAAS,WAAW,eAAe;GAChD,MAAM,OAAO,aAAa;AAC1B,mBAAgB;AACd,SAAK,OAAO,oBAAC,QAAS,KAAM,CAAC;KAC7B;GAEF,MAAM,eAAe,eAAe,cAAc,eAAe;AACjE,OAAI,CAAC,aACH,OAAM,IAAI,MACR,2GAED;AAGH,UAAO;IACL,WAAW;IACX,eAAe;AACb,UAAK,SAAS;;IAEjB;IACD;AAEF,eAAa;AACX,0BAAuB,UAAU;;IAElC,CAAC,GAAG,CAAC;AAER,QACE,qBAAC;EAAI,KAAK;EAAyB;EAAW,OAAO;GAAE,SAAS;GAAY,GAAG;GAAO;aACnF,UACD,oBAAC,aAAc,KAAM;GACjB"}
1
+ {"version":3,"file":"TimelineRoot.js","names":[],"sources":["../../src/components/TimelineRoot.tsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoDA,MAAa,gBAA6C,EACxD,IACA,WAAW,WACX,WACA,OACA,eACI;CACJ,MAAM,eAAe,OAAuB,KAAK;CACjD,MAAM,eAAe,OAAO,UAAU;AACtC,cAAa,UAAU;AAEvB,iBAAgB;EACd,MAAM,YAAY,aAAa;AAC/B,MAAI,CAAC,UAAW;EAGhB,MAAM,YAAY,UAAU,cAAc,eAAe;AACzD,MAAI,CAAC,UACH,OAAM,IAAI,MACR,gGAED;AAMH,uBAAqB,YAAY,mBAAgC;GAC/D,MAAM,OAAO,SAAS,WAAW,eAAe;GAChD,MAAM,OAAO,aAAa;AAC1B,mBAAgB;AACd,SAAK,OAAO,oBAAC,MAAD,EAAU,IAAM,CAAA,CAAC;KAC7B;GAEF,MAAM,eAAe,eAAe,cAAc,eAAe;AACjE,OAAI,CAAC,aACH,OAAM,IAAI,MACR,2GAED;AAGH,UAAO;IACL,WAAW;IACX,eAAe;AACb,UAAK,SAAS;;IAEjB;IACD;AAEF,eAAa;AACX,0BAAuB,UAAU;;IAElC,CAAC,GAAG,CAAC;AAER,QACE,qBAAC,OAAD;EAAK,KAAK;EAAyB;EAAW,OAAO;GAAE,SAAS;GAAY,GAAG;GAAO;YAAtF,CACG,UACD,oBAAC,WAAD,EAAe,IAAM,CAAA,CACjB"}
@@ -1,14 +1,13 @@
1
1
  import { createComponent } from "../hooks/create-element.js";
2
2
  import { EFAudio } from "@editframe/elements";
3
3
  import React from "react";
4
-
5
4
  //#region src/elements/Audio.ts
6
5
  const Audio = createComponent({
7
6
  tagName: "ef-audio",
8
7
  elementClass: EFAudio,
9
8
  react: React
10
9
  });
11
-
12
10
  //#endregion
13
11
  export { Audio };
12
+
14
13
  //# sourceMappingURL=Audio.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Audio.js","names":["EFAudioElement"],"sources":["../../src/elements/Audio.ts"],"sourcesContent":["import { EFAudio as EFAudioElement } from \"@editframe/elements\";\nimport React from \"react\";\nimport { createComponent } from \"../hooks/create-element\";\n\nexport const Audio = createComponent({\n tagName: \"ef-audio\",\n elementClass: EFAudioElement,\n react: React,\n});\n"],"mappings":";;;;;AAIA,MAAa,QAAQ,gBAAgB;CACnC,SAAS;CACT,cAAcA;CACd,OAAO;CACR,CAAC"}
1
+ {"version":3,"file":"Audio.js","names":["EFAudioElement"],"sources":["../../src/elements/Audio.ts"],"mappings":";;;;AAIA,MAAa,QAAQ,gBAAgB;CACnC,SAAS;CACT,cAAcA;CACd,OAAO;CACR,CAAC"}
@@ -1,7 +1,6 @@
1
1
  import { createComponent } from "../hooks/create-element.js";
2
2
  import { EFCaptions, EFCaptionsActiveWord, EFCaptionsAfterActiveWord, EFCaptionsBeforeActiveWord, EFCaptionsSegment } from "@editframe/elements";
3
3
  import React from "react";
4
-
5
4
  //#region src/elements/Captions.ts
6
5
  const Captions = createComponent({
7
6
  tagName: "ef-captions",
@@ -28,7 +27,7 @@ const CaptionsAfterActiveWord = createComponent({
28
27
  elementClass: EFCaptionsAfterActiveWord,
29
28
  react: React
30
29
  });
31
-
32
30
  //#endregion
33
31
  export { Captions, CaptionsActiveWord, CaptionsAfterActiveWord, CaptionsBeforeActiveWord, CaptionsSegment };
32
+
34
33
  //# sourceMappingURL=Captions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Captions.js","names":["EFCaptionsElement","EFCaptionsActiveWordElement","EFCaptionsSegmentElement","EFCaptionsBeforeActiveWordElement","EFCaptionsAfterActiveWordElement"],"sources":["../../src/elements/Captions.ts"],"sourcesContent":["import {\n EFCaptionsActiveWord as EFCaptionsActiveWordElement,\n EFCaptionsAfterActiveWord as EFCaptionsAfterActiveWordElement,\n EFCaptionsBeforeActiveWord as EFCaptionsBeforeActiveWordElement,\n EFCaptions as EFCaptionsElement,\n EFCaptionsSegment as EFCaptionsSegmentElement,\n} from \"@editframe/elements\";\nimport React from \"react\";\nimport { createComponent } from \"../hooks/create-element\";\n\nexport const Captions = createComponent({\n tagName: \"ef-captions\",\n elementClass: EFCaptionsElement,\n react: React,\n});\n\nexport const CaptionsActiveWord = createComponent({\n tagName: \"ef-captions-active-word\",\n elementClass: EFCaptionsActiveWordElement,\n react: React,\n});\n\nexport const CaptionsSegment = createComponent({\n tagName: \"ef-captions-segment\",\n elementClass: EFCaptionsSegmentElement,\n react: React,\n});\n\nexport const CaptionsBeforeActiveWord = createComponent({\n tagName: \"ef-captions-before-active-word\",\n elementClass: EFCaptionsBeforeActiveWordElement,\n react: React,\n});\n\nexport const CaptionsAfterActiveWord = createComponent({\n tagName: \"ef-captions-after-active-word\",\n elementClass: EFCaptionsAfterActiveWordElement,\n react: React,\n});\n"],"mappings":";;;;;AAUA,MAAa,WAAW,gBAAgB;CACtC,SAAS;CACT,cAAcA;CACd,OAAO;CACR,CAAC;AAEF,MAAa,qBAAqB,gBAAgB;CAChD,SAAS;CACT,cAAcC;CACd,OAAO;CACR,CAAC;AAEF,MAAa,kBAAkB,gBAAgB;CAC7C,SAAS;CACT,cAAcC;CACd,OAAO;CACR,CAAC;AAEF,MAAa,2BAA2B,gBAAgB;CACtD,SAAS;CACT,cAAcC;CACd,OAAO;CACR,CAAC;AAEF,MAAa,0BAA0B,gBAAgB;CACrD,SAAS;CACT,cAAcC;CACd,OAAO;CACR,CAAC"}
1
+ {"version":3,"file":"Captions.js","names":["EFCaptionsElement","EFCaptionsActiveWordElement","EFCaptionsSegmentElement","EFCaptionsBeforeActiveWordElement","EFCaptionsAfterActiveWordElement"],"sources":["../../src/elements/Captions.ts"],"mappings":";;;;AAUA,MAAa,WAAW,gBAAgB;CACtC,SAAS;CACT,cAAcA;CACd,OAAO;CACR,CAAC;AAEF,MAAa,qBAAqB,gBAAgB;CAChD,SAAS;CACT,cAAcC;CACd,OAAO;CACR,CAAC;AAEF,MAAa,kBAAkB,gBAAgB;CAC7C,SAAS;CACT,cAAcC;CACd,OAAO;CACR,CAAC;AAEF,MAAa,2BAA2B,gBAAgB;CACtD,SAAS;CACT,cAAcC;CACd,OAAO;CACR,CAAC;AAEF,MAAa,0BAA0B,gBAAgB;CACrD,SAAS;CACT,cAAcC;CACd,OAAO;CACR,CAAC"}
@@ -1,14 +1,13 @@
1
1
  import { createComponent } from "../hooks/create-element.js";
2
2
  import { EFImage } from "@editframe/elements";
3
3
  import React from "react";
4
-
5
4
  //#region src/elements/Image.ts
6
5
  const Image = createComponent({
7
6
  tagName: "ef-image",
8
7
  elementClass: EFImage,
9
8
  react: React
10
9
  });
11
-
12
10
  //#endregion
13
11
  export { Image };
12
+
14
13
  //# sourceMappingURL=Image.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Image.js","names":["EFImageElement"],"sources":["../../src/elements/Image.ts"],"sourcesContent":["import { EFImage as EFImageElement } from \"@editframe/elements\";\nimport React from \"react\";\nimport { createComponent } from \"../hooks/create-element\";\n\nexport const Image = createComponent({\n tagName: \"ef-image\",\n elementClass: EFImageElement,\n react: React,\n});\n"],"mappings":";;;;;AAIA,MAAa,QAAQ,gBAAgB;CACnC,SAAS;CACT,cAAcA;CACd,OAAO;CACR,CAAC"}
1
+ {"version":3,"file":"Image.js","names":["EFImageElement"],"sources":["../../src/elements/Image.ts"],"mappings":";;;;AAIA,MAAa,QAAQ,gBAAgB;CACnC,SAAS;CACT,cAAcA;CACd,OAAO;CACR,CAAC"}
@@ -1,7 +1,6 @@
1
1
  import { createComponent } from "../hooks/create-element.js";
2
2
  import { EFPanZoom } from "@editframe/elements";
3
3
  import React from "react";
4
-
5
4
  //#region src/elements/PanZoom.ts
6
5
  const PanZoom = createComponent({
7
6
  tagName: "ef-pan-zoom",
@@ -10,7 +9,7 @@ const PanZoom = createComponent({
10
9
  displayName: "PanZoom",
11
10
  events: { onTransformChanged: "transform-changed" }
12
11
  });
13
-
14
12
  //#endregion
15
13
  export { PanZoom };
14
+
16
15
  //# sourceMappingURL=PanZoom.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PanZoom.js","names":["EFPanZoomElement"],"sources":["../../src/elements/PanZoom.ts"],"sourcesContent":["import { EFPanZoom as EFPanZoomElement } from \"@editframe/elements\";\nimport React from \"react\";\nimport { createComponent } from \"../hooks/create-element\";\n\nexport const PanZoom = createComponent({\n tagName: \"ef-pan-zoom\",\n elementClass: EFPanZoomElement,\n react: React,\n displayName: \"PanZoom\",\n events: {\n onTransformChanged: \"transform-changed\",\n },\n});\n"],"mappings":";;;;;AAIA,MAAa,UAAU,gBAAgB;CACrC,SAAS;CACT,cAAcA;CACd,OAAO;CACP,aAAa;CACb,QAAQ,EACN,oBAAoB,qBACrB;CACF,CAAC"}
1
+ {"version":3,"file":"PanZoom.js","names":["EFPanZoomElement"],"sources":["../../src/elements/PanZoom.ts"],"mappings":";;;;AAIA,MAAa,UAAU,gBAAgB;CACrC,SAAS;CACT,cAAcA;CACd,OAAO;CACP,aAAa;CACb,QAAQ,EACN,oBAAoB,qBACrB;CACF,CAAC"}
@@ -1,7 +1,6 @@
1
1
  import { createComponent } from "../hooks/create-element.js";
2
2
  import { EFSurface } from "@editframe/elements";
3
3
  import React from "react";
4
-
5
4
  //#region src/elements/Surface.ts
6
5
  const Surface = createComponent({
7
6
  tagName: "ef-surface",
@@ -10,7 +9,7 @@ const Surface = createComponent({
10
9
  displayName: "Surface",
11
10
  events: {}
12
11
  });
13
-
14
12
  //#endregion
15
13
  export { Surface };
14
+
16
15
  //# sourceMappingURL=Surface.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Surface.js","names":["EFSurfaceElement"],"sources":["../../src/elements/Surface.ts"],"sourcesContent":["import { EFSurface as EFSurfaceElement } from \"@editframe/elements\";\nimport React from \"react\";\nimport { createComponent } from \"../hooks/create-element\";\n\nexport const Surface = createComponent({\n tagName: \"ef-surface\",\n elementClass: EFSurfaceElement,\n react: React,\n displayName: \"Surface\",\n events: {},\n});\n"],"mappings":";;;;;AAIA,MAAa,UAAU,gBAAgB;CACrC,SAAS;CACT,cAAcA;CACd,OAAO;CACP,aAAa;CACb,QAAQ,EAAE;CACX,CAAC"}
1
+ {"version":3,"file":"Surface.js","names":["EFSurfaceElement"],"sources":["../../src/elements/Surface.ts"],"mappings":";;;;AAIA,MAAa,UAAU,gBAAgB;CACrC,SAAS;CACT,cAAcA;CACd,OAAO;CACP,aAAa;CACb,QAAQ,EAAE;CACX,CAAC"}
@@ -1,7 +1,6 @@
1
1
  import { createComponent } from "../hooks/create-element.js";
2
2
  import { EFText, EFTextSegment } from "@editframe/elements";
3
3
  import React from "react";
4
-
5
4
  //#region src/elements/Text.ts
6
5
  const Text = createComponent({
7
6
  tagName: "ef-text",
@@ -13,7 +12,7 @@ const TextSegment = createComponent({
13
12
  elementClass: EFTextSegment,
14
13
  react: React
15
14
  });
16
-
17
15
  //#endregion
18
16
  export { Text, TextSegment };
17
+
19
18
  //# sourceMappingURL=Text.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Text.js","names":["EFTextElement","EFTextSegmentElement"],"sources":["../../src/elements/Text.ts"],"sourcesContent":["import {\n EFText as EFTextElement,\n EFTextSegment as EFTextSegmentElement,\n} from \"@editframe/elements\";\nimport React from \"react\";\nimport { createComponent } from \"../hooks/create-element\";\n\nexport const Text = createComponent({\n tagName: \"ef-text\",\n elementClass: EFTextElement,\n react: React,\n});\n\nexport const TextSegment = createComponent({\n tagName: \"ef-text-segment\",\n elementClass: EFTextSegmentElement,\n react: React,\n});\n"],"mappings":";;;;;AAOA,MAAa,OAAO,gBAAgB;CAClC,SAAS;CACT,cAAcA;CACd,OAAO;CACR,CAAC;AAEF,MAAa,cAAc,gBAAgB;CACzC,SAAS;CACT,cAAcC;CACd,OAAO;CACR,CAAC"}
1
+ {"version":3,"file":"Text.js","names":["EFTextElement","EFTextSegmentElement"],"sources":["../../src/elements/Text.ts"],"mappings":";;;;AAOA,MAAa,OAAO,gBAAgB;CAClC,SAAS;CACT,cAAcA;CACd,OAAO;CACR,CAAC;AAEF,MAAa,cAAc,gBAAgB;CACzC,SAAS;CACT,cAAcC;CACd,OAAO;CACR,CAAC"}
@@ -1,14 +1,13 @@
1
1
  import { createComponent } from "../hooks/create-element.js";
2
2
  import { EFTimegroup } from "@editframe/elements";
3
3
  import React from "react";
4
-
5
4
  //#region src/elements/Timegroup.ts
6
5
  const Timegroup = createComponent({
7
6
  tagName: "ef-timegroup",
8
7
  elementClass: EFTimegroup,
9
8
  react: React
10
9
  });
11
-
12
10
  //#endregion
13
11
  export { Timegroup };
12
+
14
13
  //# sourceMappingURL=Timegroup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Timegroup.js","names":["EFTimegroupElement"],"sources":["../../src/elements/Timegroup.ts"],"sourcesContent":["import { EFTimegroup as EFTimegroupElement } from \"@editframe/elements\";\nimport React from \"react\";\nimport { createComponent } from \"../hooks/create-element\";\n\nexport const Timegroup = createComponent({\n tagName: \"ef-timegroup\",\n elementClass: EFTimegroupElement,\n react: React,\n});\n"],"mappings":";;;;;AAIA,MAAa,YAAY,gBAAgB;CACvC,SAAS;CACT,cAAcA;CACd,OAAO;CACR,CAAC"}
1
+ {"version":3,"file":"Timegroup.js","names":["EFTimegroupElement"],"sources":["../../src/elements/Timegroup.ts"],"mappings":";;;;AAIA,MAAa,YAAY,gBAAgB;CACvC,SAAS;CACT,cAAcA;CACd,OAAO;CACR,CAAC"}
@@ -1,14 +1,13 @@
1
1
  import { createComponent } from "../hooks/create-element.js";
2
2
  import { EFVideo } from "@editframe/elements";
3
3
  import React from "react";
4
-
5
4
  //#region src/elements/Video.ts
6
5
  const Video = createComponent({
7
6
  tagName: "ef-video",
8
7
  elementClass: EFVideo,
9
8
  react: React
10
9
  });
11
-
12
10
  //#endregion
13
11
  export { Video };
12
+
14
13
  //# sourceMappingURL=Video.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Video.js","names":["EFVideoElement"],"sources":["../../src/elements/Video.ts"],"sourcesContent":["import { EFVideo as EFVideoElement } from \"@editframe/elements\";\nimport React from \"react\";\nimport { createComponent } from \"../hooks/create-element\";\n\nexport const Video = createComponent({\n tagName: \"ef-video\",\n elementClass: EFVideoElement,\n react: React,\n});\n"],"mappings":";;;;;AAIA,MAAa,QAAQ,gBAAgB;CACnC,SAAS;CACT,cAAcA;CACd,OAAO;CACR,CAAC"}
1
+ {"version":3,"file":"Video.js","names":["EFVideoElement"],"sources":["../../src/elements/Video.ts"],"mappings":";;;;AAIA,MAAa,QAAQ,gBAAgB;CACnC,SAAS;CACT,cAAcA;CACd,OAAO;CACR,CAAC"}
@@ -1,14 +1,13 @@
1
1
  import { createComponent } from "../hooks/create-element.js";
2
2
  import { EFWaveform } from "@editframe/elements";
3
3
  import React from "react";
4
-
5
4
  //#region src/elements/Waveform.ts
6
5
  const Waveform = createComponent({
7
6
  tagName: "ef-waveform",
8
7
  elementClass: EFWaveform,
9
8
  react: React
10
9
  });
11
-
12
10
  //#endregion
13
11
  export { Waveform };
12
+
14
13
  //# sourceMappingURL=Waveform.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Waveform.js","names":["EFWaveformElement"],"sources":["../../src/elements/Waveform.ts"],"sourcesContent":["import { EFWaveform as EFWaveformElement } from \"@editframe/elements\";\nimport React from \"react\";\nimport { createComponent } from \"../hooks/create-element\";\n\nexport const Waveform = createComponent({\n tagName: \"ef-waveform\",\n elementClass: EFWaveformElement,\n react: React,\n});\n"],"mappings":";;;;;AAIA,MAAa,WAAW,gBAAgB;CACtC,SAAS;CACT,cAAcA;CACd,OAAO;CACR,CAAC"}
1
+ {"version":3,"file":"Waveform.js","names":["EFWaveformElement"],"sources":["../../src/elements/Waveform.ts"],"mappings":";;;;AAIA,MAAa,WAAW,gBAAgB;CACtC,SAAS;CACT,cAAcA;CACd,OAAO;CACR,CAAC"}
@@ -1,14 +1,13 @@
1
1
  import { createComponent } from "../hooks/create-element.js";
2
2
  import { EFConfiguration } from "@editframe/elements";
3
3
  import React from "react";
4
-
5
4
  //#region src/gui/Configuration.ts
6
5
  const Configuration = createComponent({
7
6
  tagName: "ef-configuration",
8
7
  elementClass: EFConfiguration,
9
8
  react: React
10
9
  });
11
-
12
10
  //#endregion
13
11
  export { Configuration };
12
+
14
13
  //# sourceMappingURL=Configuration.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Configuration.js","names":[],"sources":["../../src/gui/Configuration.ts"],"sourcesContent":["import { EFConfiguration } from \"@editframe/elements\";\nimport React from \"react\";\nimport { createComponent } from \"../hooks/create-element\";\n\nexport const Configuration = createComponent({\n tagName: \"ef-configuration\",\n elementClass: EFConfiguration,\n react: React,\n});\n"],"mappings":";;;;;AAIA,MAAa,gBAAgB,gBAAgB;CAC3C,SAAS;CACT,cAAc;CACd,OAAO;CACR,CAAC"}
1
+ {"version":3,"file":"Configuration.js","names":[],"sources":["../../src/gui/Configuration.ts"],"mappings":";;;;AAIA,MAAa,gBAAgB,gBAAgB;CAC3C,SAAS;CACT,cAAc;CACd,OAAO;CACR,CAAC"}
@@ -1,14 +1,13 @@
1
1
  import { createComponent } from "../hooks/create-element.js";
2
2
  import { EFControls } from "@editframe/elements";
3
3
  import React from "react";
4
-
5
4
  //#region src/gui/Controls.ts
6
5
  const Controls = createComponent({
7
6
  tagName: "ef-controls",
8
7
  elementClass: EFControls,
9
8
  react: React
10
9
  });
11
-
12
10
  //#endregion
13
11
  export { Controls };
12
+
14
13
  //# sourceMappingURL=Controls.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Controls.js","names":["EFControlsElement"],"sources":["../../src/gui/Controls.ts"],"sourcesContent":["import { EFControls as EFControlsElement } from \"@editframe/elements\";\nimport React from \"react\";\nimport { createComponent } from \"../hooks/create-element\";\n\nexport const Controls = createComponent({\n tagName: \"ef-controls\",\n elementClass: EFControlsElement,\n react: React,\n});\n"],"mappings":";;;;;AAIA,MAAa,WAAW,gBAAgB;CACtC,SAAS;CACT,cAAcA;CACd,OAAO;CACR,CAAC"}
1
+ {"version":3,"file":"Controls.js","names":["EFControlsElement"],"sources":["../../src/gui/Controls.ts"],"mappings":";;;;AAIA,MAAa,WAAW,gBAAgB;CACtC,SAAS;CACT,cAAcA;CACd,OAAO;CACR,CAAC"}
@@ -1,7 +1,6 @@
1
1
  import { createComponent } from "../hooks/create-element.js";
2
2
  import { EFDial } from "@editframe/elements";
3
3
  import React from "react";
4
-
5
4
  //#region src/gui/EFDial.ts
6
5
  const Dial = createComponent({
7
6
  tagName: "ef-dial",
@@ -9,7 +8,7 @@ const Dial = createComponent({
9
8
  react: React,
10
9
  events: { onChange: "change" }
11
10
  });
12
-
13
11
  //#endregion
14
12
  export { Dial };
13
+
15
14
  //# sourceMappingURL=EFDial.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EFDial.js","names":["EFDialElement"],"sources":["../../src/gui/EFDial.ts"],"sourcesContent":["import { EFDial as EFDialElement } from \"@editframe/elements\";\nimport React from \"react\";\nimport { createComponent } from \"../hooks/create-element\";\n\nexport const Dial = createComponent({\n tagName: \"ef-dial\",\n elementClass: EFDialElement,\n react: React,\n events: {\n onChange: \"change\",\n },\n});\n"],"mappings":";;;;;AAIA,MAAa,OAAO,gBAAgB;CAClC,SAAS;CACT,cAAcA;CACd,OAAO;CACP,QAAQ,EACN,UAAU,UACX;CACF,CAAC"}
1
+ {"version":3,"file":"EFDial.js","names":["EFDialElement"],"sources":["../../src/gui/EFDial.ts"],"mappings":";;;;AAIA,MAAa,OAAO,gBAAgB;CAClC,SAAS;CACT,cAAcA;CACd,OAAO;CACP,QAAQ,EACN,UAAU,UACX;CACF,CAAC"}
@@ -1,7 +1,6 @@
1
1
  import { createComponent } from "../hooks/create-element.js";
2
2
  import { EFResizableBox } from "@editframe/elements";
3
3
  import React from "react";
4
-
5
4
  //#region src/gui/EFResizableBox.ts
6
5
  const ResizableBox = createComponent({
7
6
  tagName: "ef-resizable-box",
@@ -9,7 +8,7 @@ const ResizableBox = createComponent({
9
8
  react: React,
10
9
  events: { onBoundsChange: "bounds-change" }
11
10
  });
12
-
13
11
  //#endregion
14
12
  export { ResizableBox };
13
+
15
14
  //# sourceMappingURL=EFResizableBox.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EFResizableBox.js","names":["EFResizableBoxElement"],"sources":["../../src/gui/EFResizableBox.ts"],"sourcesContent":["import { EFResizableBox as EFResizableBoxElement } from \"@editframe/elements\";\nimport React from \"react\";\nimport { createComponent } from \"../hooks/create-element\";\n\nexport const ResizableBox = createComponent({\n tagName: \"ef-resizable-box\",\n elementClass: EFResizableBoxElement,\n react: React,\n events: {\n onBoundsChange: \"bounds-change\",\n },\n});\n"],"mappings":";;;;;AAIA,MAAa,eAAe,gBAAgB;CAC1C,SAAS;CACT,cAAcA;CACd,OAAO;CACP,QAAQ,EACN,gBAAgB,iBACjB;CACF,CAAC"}
1
+ {"version":3,"file":"EFResizableBox.js","names":["EFResizableBoxElement"],"sources":["../../src/gui/EFResizableBox.ts"],"mappings":";;;;AAIA,MAAa,eAAe,gBAAgB;CAC1C,SAAS;CACT,cAAcA;CACd,OAAO;CACP,QAAQ,EACN,gBAAgB,iBACjB;CACF,CAAC"}
@@ -1,7 +1,6 @@
1
1
  import { createComponent } from "../hooks/create-element.js";
2
2
  import { EFTransformHandles } from "@editframe/elements";
3
3
  import React from "react";
4
-
5
4
  //#region src/gui/EFTransformHandles.ts
6
5
  const TransformHandles = createComponent({
7
6
  tagName: "ef-transform-handles",
@@ -12,7 +11,7 @@ const TransformHandles = createComponent({
12
11
  onRotationChange: "rotation-change"
13
12
  }
14
13
  });
15
-
16
14
  //#endregion
17
15
  export { TransformHandles };
16
+
18
17
  //# sourceMappingURL=EFTransformHandles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EFTransformHandles.js","names":["EFTransformHandlesElement"],"sources":["../../src/gui/EFTransformHandles.ts"],"sourcesContent":["import { EFTransformHandles as EFTransformHandlesElement } from \"@editframe/elements\";\nimport React from \"react\";\nimport { createComponent } from \"../hooks/create-element\";\n\nexport const TransformHandles = createComponent({\n tagName: \"ef-transform-handles\",\n elementClass: EFTransformHandlesElement,\n react: React,\n events: {\n onBoundsChange: \"bounds-change\",\n onRotationChange: \"rotation-change\",\n },\n});\n"],"mappings":";;;;;AAIA,MAAa,mBAAmB,gBAAgB;CAC9C,SAAS;CACT,cAAcA;CACd,OAAO;CACP,QAAQ;EACN,gBAAgB;EAChB,kBAAkB;EACnB;CACF,CAAC"}
1
+ {"version":3,"file":"EFTransformHandles.js","names":["EFTransformHandlesElement"],"sources":["../../src/gui/EFTransformHandles.ts"],"mappings":";;;;AAIA,MAAa,mBAAmB,gBAAgB;CAC9C,SAAS;CACT,cAAcA;CACd,OAAO;CACP,QAAQ;EACN,gBAAgB;EAChB,kBAAkB;EACnB;CACF,CAAC"}
@@ -1,14 +1,13 @@
1
1
  import { createComponent } from "../hooks/create-element.js";
2
2
  import { EFFilmstrip } from "@editframe/elements";
3
3
  import React from "react";
4
-
5
4
  //#region src/gui/Filmstrip.ts
6
5
  const Filmstrip = createComponent({
7
6
  tagName: "ef-filmstrip",
8
7
  elementClass: EFFilmstrip,
9
8
  react: React
10
9
  });
11
-
12
10
  //#endregion
13
11
  export { Filmstrip };
12
+
14
13
  //# sourceMappingURL=Filmstrip.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Filmstrip.js","names":["EFFilmstripElement"],"sources":["../../src/gui/Filmstrip.ts"],"sourcesContent":["import { EFFilmstrip as EFFilmstripElement } from \"@editframe/elements\";\nimport React from \"react\";\nimport { createComponent } from \"../hooks/create-element\";\n\nexport const Filmstrip = createComponent({\n tagName: \"ef-filmstrip\",\n elementClass: EFFilmstripElement,\n react: React,\n});\n"],"mappings":";;;;;AAIA,MAAa,YAAY,gBAAgB;CACvC,SAAS;CACT,cAAcA;CACd,OAAO;CACR,CAAC"}
1
+ {"version":3,"file":"Filmstrip.js","names":["EFFilmstripElement"],"sources":["../../src/gui/Filmstrip.ts"],"mappings":";;;;AAIA,MAAa,YAAY,gBAAgB;CACvC,SAAS;CACT,cAAcA;CACd,OAAO;CACR,CAAC"}
@@ -1,14 +1,13 @@
1
1
  import { createComponent } from "../hooks/create-element.js";
2
2
  import { EFFitScale } from "@editframe/elements";
3
3
  import React from "react";
4
-
5
4
  //#region src/gui/FitScale.ts
6
5
  const FitScale = createComponent({
7
6
  tagName: "ef-fit-scale",
8
7
  elementClass: EFFitScale,
9
8
  react: React
10
9
  });
11
-
12
10
  //#endregion
13
11
  export { FitScale };
12
+
14
13
  //# sourceMappingURL=FitScale.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FitScale.js","names":["EFFitScaleElement"],"sources":["../../src/gui/FitScale.ts"],"sourcesContent":["import { EFFitScale as EFFitScaleElement } from \"@editframe/elements\";\nimport React from \"react\";\nimport { createComponent } from \"../hooks/create-element\";\n\nexport const FitScale = createComponent({\n tagName: \"ef-fit-scale\",\n elementClass: EFFitScaleElement,\n react: React,\n});\n"],"mappings":";;;;;AAIA,MAAa,WAAW,gBAAgB;CACtC,SAAS;CACT,cAAcA;CACd,OAAO;CACR,CAAC"}
1
+ {"version":3,"file":"FitScale.js","names":["EFFitScaleElement"],"sources":["../../src/gui/FitScale.ts"],"mappings":";;;;AAIA,MAAa,WAAW,gBAAgB;CACtC,SAAS;CACT,cAAcA;CACd,OAAO;CACR,CAAC"}
@@ -1,14 +1,13 @@
1
1
  import { createComponent } from "../hooks/create-element.js";
2
2
  import { EFFocusOverlay } from "@editframe/elements";
3
3
  import React from "react";
4
-
5
4
  //#region src/gui/FocusOverlay.ts
6
5
  const FocusOverlay = createComponent({
7
6
  tagName: "ef-focus-overlay",
8
7
  elementClass: EFFocusOverlay,
9
8
  react: React
10
9
  });
11
-
12
10
  //#endregion
13
11
  export { FocusOverlay };
12
+
14
13
  //# sourceMappingURL=FocusOverlay.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FocusOverlay.js","names":["EFFocusOverlayElement"],"sources":["../../src/gui/FocusOverlay.ts"],"sourcesContent":["import { EFFocusOverlay as EFFocusOverlayElement } from \"@editframe/elements\";\nimport React from \"react\";\nimport { createComponent } from \"../hooks/create-element\";\n\nexport const FocusOverlay = createComponent({\n tagName: \"ef-focus-overlay\",\n elementClass: EFFocusOverlayElement,\n react: React,\n});\n"],"mappings":";;;;;AAIA,MAAa,eAAe,gBAAgB;CAC1C,SAAS;CACT,cAAcA;CACd,OAAO;CACR,CAAC"}
1
+ {"version":3,"file":"FocusOverlay.js","names":["EFFocusOverlayElement"],"sources":["../../src/gui/FocusOverlay.ts"],"mappings":";;;;AAIA,MAAa,eAAe,gBAAgB;CAC1C,SAAS;CACT,cAAcA;CACd,OAAO;CACR,CAAC"}
@@ -1,7 +1,6 @@
1
1
  import { createComponent } from "../hooks/create-element.js";
2
2
  import { EFOverlayItem } from "@editframe/elements";
3
3
  import React from "react";
4
-
5
4
  //#region src/gui/OverlayItem.tsx
6
5
  const OverlayItem = createComponent({
7
6
  tagName: "ef-overlay-item",
@@ -10,7 +9,7 @@ const OverlayItem = createComponent({
10
9
  displayName: "OverlayItem",
11
10
  events: { onPositionChanged: "position-changed" }
12
11
  });
13
-
14
12
  //#endregion
15
13
  export { OverlayItem };
14
+
16
15
  //# sourceMappingURL=OverlayItem.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"OverlayItem.js","names":["EFOverlayItemElement"],"sources":["../../src/gui/OverlayItem.tsx"],"sourcesContent":["import { EFOverlayItem as EFOverlayItemElement } from \"@editframe/elements\";\nimport React from \"react\";\nimport { createComponent } from \"../hooks/create-element\";\n\nexport interface OverlayItemProps {\n /** Element ID - automatically resolves to [data-element-id] or [data-timegroup-id] selector */\n elementId?: string;\n /** Target element or selector - use for custom targeting when elementId doesn't work */\n target?: HTMLElement | string;\n /** Called when position changes. Receives CustomEvent with OverlayItemPosition as detail. */\n onPositionChanged?: (e: Event) => void;\n}\n\nexport const OverlayItem = createComponent<\n EFOverlayItemElement,\n { onPositionChanged: \"position-changed\" }\n>({\n tagName: \"ef-overlay-item\",\n elementClass: EFOverlayItemElement,\n react: React,\n displayName: \"OverlayItem\",\n events: {\n onPositionChanged: \"position-changed\",\n },\n}) as React.ForwardRefExoticComponent<OverlayItemProps & React.RefAttributes<EFOverlayItemElement>>;\n"],"mappings":";;;;;AAaA,MAAa,cAAc,gBAGzB;CACA,SAAS;CACT,cAAcA;CACd,OAAO;CACP,aAAa;CACb,QAAQ,EACN,mBAAmB,oBACpB;CACF,CAAC"}
1
+ {"version":3,"file":"OverlayItem.js","names":["EFOverlayItemElement"],"sources":["../../src/gui/OverlayItem.tsx"],"mappings":";;;;AAaA,MAAa,cAAc,gBAGzB;CACA,SAAS;CACT,cAAcA;CACd,OAAO;CACP,aAAa;CACb,QAAQ,EACN,mBAAmB,oBACpB;CACF,CAAC"}
@@ -1,7 +1,6 @@
1
1
  import { createComponent } from "../hooks/create-element.js";
2
2
  import { EFOverlayLayer } from "@editframe/elements";
3
3
  import React from "react";
4
-
5
4
  //#region src/gui/OverlayLayer.tsx
6
5
  const OverlayLayer = createComponent({
7
6
  tagName: "ef-overlay-layer",
@@ -9,7 +8,7 @@ const OverlayLayer = createComponent({
9
8
  react: React,
10
9
  displayName: "OverlayLayer"
11
10
  });
12
-
13
11
  //#endregion
14
12
  export { OverlayLayer };
13
+
15
14
  //# sourceMappingURL=OverlayLayer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"OverlayLayer.js","names":["EFOverlayLayerElement"],"sources":["../../src/gui/OverlayLayer.tsx"],"sourcesContent":["import { EFOverlayLayer as EFOverlayLayerElement } from \"@editframe/elements\";\nimport React from \"react\";\nimport { createComponent } from \"../hooks/create-element\";\n\n// OverlayLayer discovers PanZoom automatically via:\n// - Lit context (if PanZoom is ancestor)\n// - Direct DOM query (if PanZoom is sibling)\n// No React props needed for coordination!\n\nexport const OverlayLayer = createComponent<EFOverlayLayerElement, {}>({\n tagName: \"ef-overlay-layer\",\n elementClass: EFOverlayLayerElement,\n react: React,\n displayName: \"OverlayLayer\",\n});\n"],"mappings":";;;;;AASA,MAAa,eAAe,gBAA2C;CACrE,SAAS;CACT,cAAcA;CACd,OAAO;CACP,aAAa;CACd,CAAC"}
1
+ {"version":3,"file":"OverlayLayer.js","names":["EFOverlayLayerElement"],"sources":["../../src/gui/OverlayLayer.tsx"],"mappings":";;;;AASA,MAAa,eAAe,gBAA2C;CACrE,SAAS;CACT,cAAcA;CACd,OAAO;CACP,aAAa;CACd,CAAC"}
package/dist/gui/Pause.js CHANGED
@@ -1,14 +1,13 @@
1
1
  import { createComponent } from "../hooks/create-element.js";
2
2
  import { EFPause } from "@editframe/elements";
3
3
  import React from "react";
4
-
5
4
  //#region src/gui/Pause.ts
6
5
  const Pause = createComponent({
7
6
  tagName: "ef-pause",
8
7
  elementClass: EFPause,
9
8
  react: React
10
9
  });
11
-
12
10
  //#endregion
13
11
  export { Pause };
12
+
14
13
  //# sourceMappingURL=Pause.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Pause.js","names":["EFPauseElement"],"sources":["../../src/gui/Pause.ts"],"sourcesContent":["import { EFPause as EFPauseElement } from \"@editframe/elements\";\nimport React from \"react\";\nimport { createComponent } from \"../hooks/create-element\";\n\nexport const Pause = createComponent({\n tagName: \"ef-pause\",\n elementClass: EFPauseElement,\n react: React,\n});\n"],"mappings":";;;;;AAIA,MAAa,QAAQ,gBAAgB;CACnC,SAAS;CACT,cAAcA;CACd,OAAO;CACR,CAAC"}
1
+ {"version":3,"file":"Pause.js","names":["EFPauseElement"],"sources":["../../src/gui/Pause.ts"],"mappings":";;;;AAIA,MAAa,QAAQ,gBAAgB;CACnC,SAAS;CACT,cAAcA;CACd,OAAO;CACR,CAAC"}
package/dist/gui/Play.js CHANGED
@@ -1,14 +1,13 @@
1
1
  import { createComponent } from "../hooks/create-element.js";
2
2
  import { EFPlay } from "@editframe/elements";
3
3
  import React from "react";
4
-
5
4
  //#region src/gui/Play.ts
6
5
  const Play = createComponent({
7
6
  tagName: "ef-play",
8
7
  elementClass: EFPlay,
9
8
  react: React
10
9
  });
11
-
12
10
  //#endregion
13
11
  export { Play };
12
+
14
13
  //# sourceMappingURL=Play.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Play.js","names":["EFPlayElement"],"sources":["../../src/gui/Play.ts"],"sourcesContent":["import { EFPlay as EFPlayElement } from \"@editframe/elements\";\nimport React from \"react\";\nimport { createComponent } from \"../hooks/create-element\";\n\nexport const Play = createComponent({\n tagName: \"ef-play\",\n elementClass: EFPlayElement,\n react: React,\n});\n"],"mappings":";;;;;AAIA,MAAa,OAAO,gBAAgB;CAClC,SAAS;CACT,cAAcA;CACd,OAAO;CACR,CAAC"}
1
+ {"version":3,"file":"Play.js","names":["EFPlayElement"],"sources":["../../src/gui/Play.ts"],"mappings":";;;;AAIA,MAAa,OAAO,gBAAgB;CAClC,SAAS;CACT,cAAcA;CACd,OAAO;CACR,CAAC"}
@@ -1,14 +1,13 @@
1
1
  import { createComponent } from "../hooks/create-element.js";
2
2
  import { EFPreview } from "@editframe/elements";
3
3
  import React from "react";
4
-
5
4
  //#region src/gui/Preview.ts
6
5
  const Preview = createComponent({
7
6
  tagName: "ef-preview",
8
7
  elementClass: EFPreview,
9
8
  react: React
10
9
  });
11
-
12
10
  //#endregion
13
11
  export { Preview };
12
+
14
13
  //# sourceMappingURL=Preview.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Preview.js","names":["EFPreviewElement"],"sources":["../../src/gui/Preview.ts"],"sourcesContent":["import { EFPreview as EFPreviewElement } from \"@editframe/elements\";\nimport React from \"react\";\nimport { createComponent } from \"../hooks/create-element\";\n\nexport const Preview = createComponent({\n tagName: \"ef-preview\",\n elementClass: EFPreviewElement,\n react: React,\n});\n"],"mappings":";;;;;AAIA,MAAa,UAAU,gBAAgB;CACrC,SAAS;CACT,cAAcA;CACd,OAAO;CACR,CAAC"}
1
+ {"version":3,"file":"Preview.js","names":["EFPreviewElement"],"sources":["../../src/gui/Preview.ts"],"mappings":";;;;AAIA,MAAa,UAAU,gBAAgB;CACrC,SAAS;CACT,cAAcA;CACd,OAAO;CACR,CAAC"}
@@ -2,7 +2,6 @@ import { createComponent } from "../hooks/create-element.js";
2
2
  import { EFScrubber } from "@editframe/elements";
3
3
  import React from "react";
4
4
  import { jsx } from "react/jsx-runtime";
5
-
6
5
  //#region src/gui/Scrubber.tsx
7
6
  const BaseScrubber = createComponent({
8
7
  tagName: "ef-scrubber",
@@ -12,7 +11,7 @@ const BaseScrubber = createComponent({
12
11
  events: { onSeek: "seek" }
13
12
  });
14
13
  const Scrubber = React.forwardRef((props, ref) => {
15
- const { scrollContainerRef, isScrubbingRef,...restProps } = props;
14
+ const { scrollContainerRef, isScrubbingRef, ...restProps } = props;
16
15
  const elementRef = React.useRef(null);
17
16
  React.useLayoutEffect(() => {
18
17
  if (elementRef.current) {
@@ -32,7 +31,7 @@ const Scrubber = React.forwardRef((props, ref) => {
32
31
  });
33
32
  });
34
33
  Scrubber.displayName = "Scrubber";
35
-
36
34
  //#endregion
37
35
  export { Scrubber };
36
+
38
37
  //# sourceMappingURL=Scrubber.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Scrubber.js","names":[],"sources":["../../src/gui/Scrubber.tsx"],"sourcesContent":["import { EFScrubber } from \"@editframe/elements\";\nimport React from \"react\";\nimport { createComponent } from \"../hooks/create-element\";\n\nexport interface ScrubberProps {\n target?: string;\n orientation?: \"horizontal\" | \"vertical\";\n currentTimeMs?: number;\n durationMs?: number;\n zoomScale?: number;\n containerWidth?: number;\n fps?: number;\n rawScrubTimeMs?: number | null;\n scrollContainerRef?: React.RefObject<HTMLElement>;\n isScrubbingRef?: React.MutableRefObject<boolean>;\n onSeek?: (time: number) => void;\n className?: string;\n style?: React.CSSProperties;\n}\n\nconst BaseScrubber = createComponent<EFScrubber, { onSeek: \"seek\" }>({\n tagName: \"ef-scrubber\",\n elementClass: EFScrubber,\n react: React,\n displayName: \"Scrubber\",\n events: {\n onSeek: \"seek\",\n },\n}) as React.ForwardRefExoticComponent<ScrubberProps & React.RefAttributes<EFScrubber>>;\n\nexport const Scrubber = React.forwardRef<EFScrubber, ScrubberProps>((props, ref) => {\n const { scrollContainerRef, isScrubbingRef, ...restProps } = props;\n const elementRef = React.useRef<EFScrubber | null>(null);\n\n React.useLayoutEffect(() => {\n if (elementRef.current) {\n if (scrollContainerRef?.current) {\n elementRef.current.scrollContainerRef = scrollContainerRef;\n } else {\n elementRef.current.scrollContainerRef = undefined;\n }\n if (isScrubbingRef) {\n elementRef.current.isScrubbingRef = isScrubbingRef;\n } else {\n elementRef.current.isScrubbingRef = undefined;\n }\n }\n }, [scrollContainerRef?.current, isScrubbingRef]);\n\n return (\n <BaseScrubber\n {...restProps}\n ref={(node) => {\n elementRef.current = node;\n if (typeof ref === \"function\") ref(node);\n else if (ref) ref.current = node;\n }}\n />\n );\n});\n\nScrubber.displayName = \"Scrubber\";\n"],"mappings":";;;;;;AAoBA,MAAM,eAAe,gBAAgD;CACnE,SAAS;CACT,cAAc;CACd,OAAO;CACP,aAAa;CACb,QAAQ,EACN,QAAQ,QACT;CACF,CAAC;AAEF,MAAa,WAAW,MAAM,YAAuC,OAAO,QAAQ;CAClF,MAAM,EAAE,oBAAoB,eAAgB,GAAG,cAAc;CAC7D,MAAM,aAAa,MAAM,OAA0B,KAAK;AAExD,OAAM,sBAAsB;AAC1B,MAAI,WAAW,SAAS;AACtB,OAAI,oBAAoB,QACtB,YAAW,QAAQ,qBAAqB;OAExC,YAAW,QAAQ,qBAAqB;AAE1C,OAAI,eACF,YAAW,QAAQ,iBAAiB;OAEpC,YAAW,QAAQ,iBAAiB;;IAGvC,CAAC,oBAAoB,SAAS,eAAe,CAAC;AAEjD,QACE,oBAAC;EACC,GAAI;EACJ,MAAM,SAAS;AACb,cAAW,UAAU;AACrB,OAAI,OAAO,QAAQ,WAAY,KAAI,KAAK;YAC/B,IAAK,KAAI,UAAU;;GAE9B;EAEJ;AAEF,SAAS,cAAc"}
1
+ {"version":3,"file":"Scrubber.js","names":[],"sources":["../../src/gui/Scrubber.tsx"],"mappings":";;;;;AAoBA,MAAM,eAAe,gBAAgD;CACnE,SAAS;CACT,cAAc;CACd,OAAO;CACP,aAAa;CACb,QAAQ,EACN,QAAQ,QACT;CACF,CAAC;AAEF,MAAa,WAAW,MAAM,YAAuC,OAAO,QAAQ;CAClF,MAAM,EAAE,oBAAoB,gBAAgB,GAAG,cAAc;CAC7D,MAAM,aAAa,MAAM,OAA0B,KAAK;AAExD,OAAM,sBAAsB;AAC1B,MAAI,WAAW,SAAS;AACtB,OAAI,oBAAoB,QACtB,YAAW,QAAQ,qBAAqB;OAExC,YAAW,QAAQ,qBAAqB,KAAA;AAE1C,OAAI,eACF,YAAW,QAAQ,iBAAiB;OAEpC,YAAW,QAAQ,iBAAiB,KAAA;;IAGvC,CAAC,oBAAoB,SAAS,eAAe,CAAC;AAEjD,QACE,oBAAC,cAAD;EACE,GAAI;EACJ,MAAM,SAAS;AACb,cAAW,UAAU;AACrB,OAAI,OAAO,QAAQ,WAAY,KAAI,KAAK;YAC/B,IAAK,KAAI,UAAU;;EAE9B,CAAA;EAEJ;AAEF,SAAS,cAAc"}
@@ -1,14 +1,13 @@
1
1
  import { createComponent } from "../hooks/create-element.js";
2
2
  import { EFThumbnailStrip } from "@editframe/elements";
3
3
  import React from "react";
4
-
5
4
  //#region src/gui/ThumbnailStrip.tsx
6
5
  const ThumbnailStrip = createComponent({
7
6
  tagName: "ef-thumbnail-strip",
8
7
  elementClass: EFThumbnailStrip,
9
8
  react: React
10
9
  });
11
-
12
10
  //#endregion
13
11
  export { ThumbnailStrip };
12
+
14
13
  //# sourceMappingURL=ThumbnailStrip.js.map