@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
@@ -1,8 +1,8 @@
1
+ import { __decorate } from "../_virtual/_@oxc-project_runtime@0.94.0/helpers/decorate.js";
1
2
  import { LitElement } from "lit";
2
3
  import { customElement, state } from "lit/decorators.js";
3
- import _decorate from "@oxc-project/runtime/helpers/decorate";
4
4
  import { createRef } from "lit/directives/ref.js";
5
- let EFFitScale = class EFFitScale$1 extends LitElement {
5
+ var EFFitScale = class EFFitScale$1 extends LitElement {
6
6
  constructor(..._args) {
7
7
  super(..._args);
8
8
  this.containerRef = createRef();
@@ -89,11 +89,8 @@ let 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
- const scale = containerRatio > contentRatio ? containerHeight / contentHeight : containerWidth / contentWidth;
95
92
  return {
96
- scale,
93
+ scale: containerWidth / containerHeight > contentWidth / contentHeight ? containerHeight / contentHeight : containerWidth / contentWidth,
97
94
  containerWidth,
98
95
  containerHeight,
99
96
  contentWidth,
@@ -110,6 +107,6 @@ let EFFitScale = class EFFitScale$1 extends LitElement {
110
107
  if (this.animationFrameId) cancelAnimationFrame(this.animationFrameId);
111
108
  }
112
109
  };
113
- _decorate([state()], EFFitScale.prototype, "scale", void 0);
114
- EFFitScale = _decorate([customElement("ef-fit-scale")], EFFitScale);
110
+ __decorate([state()], EFFitScale.prototype, "scale", void 0);
111
+ EFFitScale = __decorate([customElement("ef-fit-scale")], EFFitScale);
115
112
  export { EFFitScale };
@@ -1,10 +1,10 @@
1
+ import { __decorate } from "../_virtual/_@oxc-project_runtime@0.94.0/helpers/decorate.js";
1
2
  import { focusedElementContext } from "./focusedElementContext.js";
2
3
  import { consume } from "@lit/context";
3
4
  import { LitElement, css, html } from "lit";
4
5
  import { customElement } from "lit/decorators.js";
5
- import _decorate from "@oxc-project/runtime/helpers/decorate";
6
6
  import { createRef, ref } from "lit/directives/ref.js";
7
- let EFFocusOverlay = class EFFocusOverlay$1 extends LitElement {
7
+ var EFFocusOverlay = class EFFocusOverlay$1 extends LitElement {
8
8
  constructor(..._args) {
9
9
  super(..._args);
10
10
  this.overlay = createRef();
@@ -58,9 +58,9 @@ let EFFocusOverlay = class EFFocusOverlay$1 extends LitElement {
58
58
  this.drawOverlay();
59
59
  }
60
60
  };
61
- _decorate([consume({
61
+ __decorate([consume({
62
62
  context: focusedElementContext,
63
63
  subscribe: true
64
64
  })], EFFocusOverlay.prototype, "focusedElement", void 0);
65
- EFFocusOverlay = _decorate([customElement("ef-focus-overlay")], EFFocusOverlay);
65
+ EFFocusOverlay = __decorate([customElement("ef-focus-overlay")], EFFocusOverlay);
66
66
  export { EFFocusOverlay };
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 };
@@ -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
  }
@@ -1,12 +1,13 @@
1
+ import { __decorate } from "../_virtual/_@oxc-project_runtime@0.94.0/helpers/decorate.js";
2
+ import { isEFTemporal } from "../elements/EFTemporal.js";
1
3
  import { focusedElementContext } from "./focusedElementContext.js";
2
4
  import { ContextMixin } from "./ContextMixin.js";
3
- import { EFTargetable } from "../elements/TargetController.js";
4
5
  import { TWMixin } from "./TWMixin2.js";
6
+ import { EFTargetable } from "../elements/TargetController.js";
5
7
  import { provide } from "@lit/context";
6
8
  import { LitElement, css, html } from "lit";
7
9
  import { customElement } from "lit/decorators.js";
8
- import _decorate from "@oxc-project/runtime/helpers/decorate";
9
- let EFPreview = class EFPreview$1 extends EFTargetable(ContextMixin(TWMixin(LitElement))) {
10
+ var EFPreview = class EFPreview$1 extends EFTargetable(ContextMixin(TWMixin(LitElement))) {
10
11
  static {
11
12
  this.styles = [css`
12
13
  :host {
@@ -16,23 +17,31 @@ let EFPreview = class EFPreview$1 extends EFTargetable(ContextMixin(TWMixin(LitE
16
17
  }
17
18
  `];
18
19
  }
20
+ findClosestTemporal(element) {
21
+ let current = element;
22
+ while (current && current !== this) {
23
+ if (isEFTemporal(current)) return current;
24
+ current = current.parentElement;
25
+ }
26
+ return null;
27
+ }
19
28
  constructor() {
20
29
  super();
21
30
  this.addEventListener("mouseover", (e) => {
22
31
  const target = e.target;
23
- const timegroup = target.closest("ef-timegroup");
24
- if (target !== this && timegroup) this.focusedElement = target;
32
+ const temporal = this.findClosestTemporal(target);
33
+ if (target !== this && temporal) this.focusedElement = target;
25
34
  });
26
35
  this.addEventListener("mouseout", (e) => {
27
36
  const relatedTarget = e.relatedTarget;
28
- const targetingTimegroup = relatedTarget?.closest("ef-timegroup");
29
- if (!this.contains(relatedTarget) || relatedTarget === this || !targetingTimegroup) this.focusedElement = void 0;
37
+ const targetingTemporal = this.findClosestTemporal(relatedTarget);
38
+ if (!this.contains(relatedTarget) || relatedTarget === this || !targetingTemporal) this.focusedElement = void 0;
30
39
  });
31
40
  }
32
41
  render() {
33
42
  return html`<slot></slot>`;
34
43
  }
35
44
  };
36
- _decorate([provide({ context: focusedElementContext })], EFPreview.prototype, "focusedElement", void 0);
37
- EFPreview = _decorate([customElement("ef-preview")], EFPreview);
45
+ __decorate([provide({ context: focusedElementContext })], EFPreview.prototype, "focusedElement", void 0);
46
+ EFPreview = __decorate([customElement("ef-preview")], EFPreview);
38
47
  export { EFPreview };
File without changes
@@ -0,0 +1,34 @@
1
+ import { LitElement } from 'lit';
2
+ export interface BoxBounds {
3
+ x: number;
4
+ y: number;
5
+ width: number;
6
+ height: number;
7
+ }
8
+ export declare class EFResizableBox extends LitElement {
9
+ bounds: BoxBounds;
10
+ private containerWidth;
11
+ private containerHeight;
12
+ minSize: number;
13
+ private isDragging;
14
+ private dragMode;
15
+ private interaction;
16
+ private modifiers;
17
+ static styles: import('lit').CSSResult;
18
+ private resizeObserver?;
19
+ connectedCallback(): void;
20
+ private handlePointerDown;
21
+ private handlePointerMove;
22
+ private handlePointerUp;
23
+ private calculateBoundsWithModeAwareConstraints;
24
+ private constrainBoundsForMode;
25
+ private isValidBounds;
26
+ private constrainWithAspectRatio;
27
+ private constrainCenterResize;
28
+ private constrainCenterResizeWithAspectRatio;
29
+ private simpleConstrainBounds;
30
+ private constrainResizeDeltas;
31
+ private dispatchBoundsChange;
32
+ render(): import('lit-html').TemplateResult<1>;
33
+ private renderHandles;
34
+ }