@editframe/elements 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 (405) hide show
  1. package/dist/DelayedLoadingState.js +1 -1
  2. package/dist/DelayedLoadingState.js.map +1 -1
  3. package/dist/EF_FRAMEGEN.js +1 -2
  4. package/dist/EF_FRAMEGEN.js.map +1 -1
  5. package/dist/EF_RENDERING.js +1 -1
  6. package/dist/EF_RENDERING.js.map +1 -1
  7. package/dist/_virtual/{_@oxc-project_runtime@0.95.0 → _@oxc-project_runtime@0.122.0}/helpers/decorate.js +2 -3
  8. package/dist/attachContextRoot.js +1 -2
  9. package/dist/attachContextRoot.js.map +1 -1
  10. package/dist/canvas/EFCanvas.d.ts +4 -7
  11. package/dist/canvas/EFCanvas.js +20 -21
  12. package/dist/canvas/EFCanvas.js.map +1 -1
  13. package/dist/canvas/EFCanvasItem.d.ts +4 -5
  14. package/dist/canvas/EFCanvasItem.js +3 -4
  15. package/dist/canvas/EFCanvasItem.js.map +1 -1
  16. package/dist/canvas/api/CanvasAPI.d.ts +0 -1
  17. package/dist/canvas/api/CanvasAPI.js +1 -1
  18. package/dist/canvas/api/CanvasAPI.js.map +1 -1
  19. package/dist/canvas/coordinateTransform.js +1 -1
  20. package/dist/canvas/coordinateTransform.js.map +1 -1
  21. package/dist/canvas/getElementBounds.js +1 -1
  22. package/dist/canvas/getElementBounds.js.map +1 -1
  23. package/dist/canvas/overlays/SelectionOverlay.d.ts +4 -4
  24. package/dist/canvas/overlays/SelectionOverlay.js +6 -7
  25. package/dist/canvas/overlays/SelectionOverlay.js.map +1 -1
  26. package/dist/canvas/overlays/overlayState.js +1 -2
  27. package/dist/canvas/overlays/overlayState.js.map +1 -1
  28. package/dist/canvas/selection/SelectionController.js +1 -2
  29. package/dist/canvas/selection/SelectionController.js.map +1 -1
  30. package/dist/canvas/selection/SelectionModel.d.ts +0 -1
  31. package/dist/canvas/selection/SelectionModel.js +1 -1
  32. package/dist/canvas/selection/SelectionModel.js.map +1 -1
  33. package/dist/canvas/selection/selectionContext.d.ts +0 -1
  34. package/dist/canvas/selection/selectionContext.js +1 -2
  35. package/dist/canvas/selection/selectionContext.js.map +1 -1
  36. package/dist/elements/ContainerInfo.js +1 -1
  37. package/dist/elements/ContainerInfo.js.map +1 -1
  38. package/dist/elements/CrossUpdateController.js +1 -1
  39. package/dist/elements/CrossUpdateController.js.map +1 -1
  40. package/dist/elements/EFAudio.d.ts +4 -4
  41. package/dist/elements/EFAudio.js +4 -6
  42. package/dist/elements/EFAudio.js.map +1 -1
  43. package/dist/elements/EFCaptions.d.ts +4 -4
  44. package/dist/elements/EFCaptions.js +8 -10
  45. package/dist/elements/EFCaptions.js.map +1 -1
  46. package/dist/elements/EFImage.d.ts +7 -7
  47. package/dist/elements/EFImage.js +4 -6
  48. package/dist/elements/EFImage.js.map +1 -1
  49. package/dist/elements/EFMedia/BufferedSeekingInput.d.ts +2 -2
  50. package/dist/elements/EFMedia/BufferedSeekingInput.js +8 -9
  51. package/dist/elements/EFMedia/BufferedSeekingInput.js.map +1 -1
  52. package/dist/elements/EFMedia/CachedFetcher.js +1 -2
  53. package/dist/elements/EFMedia/CachedFetcher.js.map +1 -1
  54. package/dist/elements/EFMedia/MediaEngine.d.ts +0 -2
  55. package/dist/elements/EFMedia/MediaEngine.js +1 -2
  56. package/dist/elements/EFMedia/MediaEngine.js.map +1 -1
  57. package/dist/elements/EFMedia/SegmentIndex.d.ts +0 -3
  58. package/dist/elements/EFMedia/SegmentIndex.js +1 -2
  59. package/dist/elements/EFMedia/SegmentIndex.js.map +1 -1
  60. package/dist/elements/EFMedia/SegmentTransport.d.ts +0 -2
  61. package/dist/elements/EFMedia/SegmentTransport.js +1 -1
  62. package/dist/elements/EFMedia/SegmentTransport.js.map +1 -1
  63. package/dist/elements/EFMedia/TimingModel.d.ts +0 -2
  64. package/dist/elements/EFMedia/TimingModel.js +1 -1
  65. package/dist/elements/EFMedia/TimingModel.js.map +1 -1
  66. package/dist/elements/EFMedia/shared/AudioSpanUtils.js +1 -1
  67. package/dist/elements/EFMedia/shared/AudioSpanUtils.js.map +1 -1
  68. package/dist/elements/EFMedia/shared/GlobalInputCache.js +1 -2
  69. package/dist/elements/EFMedia/shared/GlobalInputCache.js.map +1 -1
  70. package/dist/elements/EFMedia/shared/PrecisionUtils.js +1 -1
  71. package/dist/elements/EFMedia/shared/PrecisionUtils.js.map +1 -1
  72. package/dist/elements/EFMedia/shared/ThumbnailExtractor.js +1 -2
  73. package/dist/elements/EFMedia/shared/ThumbnailExtractor.js.map +1 -1
  74. package/dist/elements/EFMedia/shared/timeoutUtils.js +1 -2
  75. package/dist/elements/EFMedia/shared/timeoutUtils.js.map +1 -1
  76. package/dist/elements/EFMedia/videoTasks/MainVideoInputCache.js +1 -1
  77. package/dist/elements/EFMedia/videoTasks/MainVideoInputCache.js.map +1 -1
  78. package/dist/elements/EFMedia/videoTasks/ScrubInputCache.d.ts +0 -1
  79. package/dist/elements/EFMedia/videoTasks/ScrubInputCache.js +12 -12
  80. package/dist/elements/EFMedia/videoTasks/ScrubInputCache.js.map +1 -1
  81. package/dist/elements/EFMedia.d.ts +2 -2
  82. package/dist/elements/EFMedia.js +2 -3
  83. package/dist/elements/EFMedia.js.map +1 -1
  84. package/dist/elements/EFMotionBlur.d.ts +0 -1
  85. package/dist/elements/EFMotionBlur.js +8 -15
  86. package/dist/elements/EFMotionBlur.js.map +1 -1
  87. package/dist/elements/EFPanZoom.d.ts +4 -4
  88. package/dist/elements/EFPanZoom.js +3 -4
  89. package/dist/elements/EFPanZoom.js.map +1 -1
  90. package/dist/elements/EFSourceMixin.js +2 -3
  91. package/dist/elements/EFSourceMixin.js.map +1 -1
  92. package/dist/elements/EFSurface.d.ts +6 -6
  93. package/dist/elements/EFSurface.js +3 -4
  94. package/dist/elements/EFSurface.js.map +1 -1
  95. package/dist/elements/EFTemporal.d.ts +0 -1
  96. package/dist/elements/EFTemporal.js +12 -9
  97. package/dist/elements/EFTemporal.js.map +1 -1
  98. package/dist/elements/EFText.d.ts +4 -4
  99. package/dist/elements/EFText.js +6 -7
  100. package/dist/elements/EFText.js.map +1 -1
  101. package/dist/elements/EFTextSegment.d.ts +4 -4
  102. package/dist/elements/EFTextSegment.js +3 -4
  103. package/dist/elements/EFTextSegment.js.map +1 -1
  104. package/dist/elements/EFTimegroup.d.ts +4 -10
  105. package/dist/elements/EFTimegroup.js +11 -12
  106. package/dist/elements/EFTimegroup.js.map +1 -1
  107. package/dist/elements/EFVideo.d.ts +6 -7
  108. package/dist/elements/EFVideo.js +7 -9
  109. package/dist/elements/EFVideo.js.map +1 -1
  110. package/dist/elements/EFWaveform.d.ts +4 -4
  111. package/dist/elements/EFWaveform.js +4 -6
  112. package/dist/elements/EFWaveform.js.map +1 -1
  113. package/dist/elements/ElementPositionInfo.js +1 -1
  114. package/dist/elements/ElementPositionInfo.js.map +1 -1
  115. package/dist/elements/FetchMixin.js +1 -1
  116. package/dist/elements/FetchMixin.js.map +1 -1
  117. package/dist/elements/SampleBuffer.js +1 -2
  118. package/dist/elements/SampleBuffer.js.map +1 -1
  119. package/dist/elements/TargetController.d.ts +0 -1
  120. package/dist/elements/TargetController.js +1 -1
  121. package/dist/elements/TargetController.js.map +1 -1
  122. package/dist/elements/TimegroupController.js +1 -1
  123. package/dist/elements/TimegroupController.js.map +1 -1
  124. package/dist/elements/cloneFactoryRegistry.js +1 -1
  125. package/dist/elements/cloneFactoryRegistry.js.map +1 -1
  126. package/dist/elements/durationConverter.js +4 -5
  127. package/dist/elements/durationConverter.js.map +1 -1
  128. package/dist/elements/easingUtils.js +1 -1
  129. package/dist/elements/easingUtils.js.map +1 -1
  130. package/dist/elements/findRootTemporal.js +1 -2
  131. package/dist/elements/findRootTemporal.js.map +1 -1
  132. package/dist/elements/parseTimeToMs.js +1 -1
  133. package/dist/elements/parseTimeToMs.js.map +1 -1
  134. package/dist/elements/renderTemporalAudio.js +1 -2
  135. package/dist/elements/renderTemporalAudio.js.map +1 -1
  136. package/dist/elements/setupTemporalHierarchy.js +1 -1
  137. package/dist/elements/setupTemporalHierarchy.js.map +1 -1
  138. package/dist/elements/updateAnimations.js +1 -2
  139. package/dist/elements/updateAnimations.js.map +1 -1
  140. package/dist/getRenderInfo.d.ts +0 -1
  141. package/dist/getRenderInfo.js +1 -2
  142. package/dist/getRenderInfo.js.map +1 -1
  143. package/dist/gui/ContextMixin.d.ts +0 -1
  144. package/dist/gui/ContextMixin.js +2 -3
  145. package/dist/gui/ContextMixin.js.map +1 -1
  146. package/dist/gui/Controllable.d.ts +0 -2
  147. package/dist/gui/Controllable.js +1 -2
  148. package/dist/gui/Controllable.js.map +1 -1
  149. package/dist/gui/EFActiveRootTemporal.d.ts +4 -5
  150. package/dist/gui/EFActiveRootTemporal.js +3 -4
  151. package/dist/gui/EFActiveRootTemporal.js.map +1 -1
  152. package/dist/gui/EFConfiguration.d.ts +4 -4
  153. package/dist/gui/EFConfiguration.js +3 -4
  154. package/dist/gui/EFConfiguration.js.map +1 -1
  155. package/dist/gui/EFControls.d.ts +2 -3
  156. package/dist/gui/EFControls.js +4 -5
  157. package/dist/gui/EFControls.js.map +1 -1
  158. package/dist/gui/EFDial.d.ts +4 -4
  159. package/dist/gui/EFDial.js +3 -4
  160. package/dist/gui/EFDial.js.map +1 -1
  161. package/dist/gui/EFFilmstrip.d.ts +6 -7
  162. package/dist/gui/EFFilmstrip.js +3 -4
  163. package/dist/gui/EFFilmstrip.js.map +1 -1
  164. package/dist/gui/EFFitScale.d.ts +3 -3
  165. package/dist/gui/EFFitScale.js +6 -7
  166. package/dist/gui/EFFitScale.js.map +1 -1
  167. package/dist/gui/EFFocusOverlay.d.ts +6 -6
  168. package/dist/gui/EFFocusOverlay.js +3 -4
  169. package/dist/gui/EFFocusOverlay.js.map +1 -1
  170. package/dist/gui/EFOverlayItem.d.ts +4 -4
  171. package/dist/gui/EFOverlayItem.js +3 -4
  172. package/dist/gui/EFOverlayItem.js.map +1 -1
  173. package/dist/gui/EFOverlayLayer.d.ts +4 -5
  174. package/dist/gui/EFOverlayLayer.js +3 -4
  175. package/dist/gui/EFOverlayLayer.js.map +1 -1
  176. package/dist/gui/EFPause.d.ts +4 -4
  177. package/dist/gui/EFPause.js +3 -4
  178. package/dist/gui/EFPause.js.map +1 -1
  179. package/dist/gui/EFPlay.d.ts +4 -4
  180. package/dist/gui/EFPlay.js +3 -4
  181. package/dist/gui/EFPlay.js.map +1 -1
  182. package/dist/gui/EFPreview.d.ts +4 -4
  183. package/dist/gui/EFPreview.js +3 -4
  184. package/dist/gui/EFPreview.js.map +1 -1
  185. package/dist/gui/EFResizableBox.d.ts +4 -4
  186. package/dist/gui/EFResizableBox.js +3 -4
  187. package/dist/gui/EFResizableBox.js.map +1 -1
  188. package/dist/gui/EFScrubber.d.ts +4 -4
  189. package/dist/gui/EFScrubber.js +3 -4
  190. package/dist/gui/EFScrubber.js.map +1 -1
  191. package/dist/gui/EFTimeDisplay.d.ts +4 -4
  192. package/dist/gui/EFTimeDisplay.js +3 -4
  193. package/dist/gui/EFTimeDisplay.js.map +1 -1
  194. package/dist/gui/EFTimelineRuler.d.ts +4 -4
  195. package/dist/gui/EFTimelineRuler.js +5 -6
  196. package/dist/gui/EFTimelineRuler.js.map +1 -1
  197. package/dist/gui/EFToggleLoop.d.ts +4 -4
  198. package/dist/gui/EFToggleLoop.js +3 -4
  199. package/dist/gui/EFToggleLoop.js.map +1 -1
  200. package/dist/gui/EFTogglePlay.d.ts +4 -4
  201. package/dist/gui/EFTogglePlay.js +3 -4
  202. package/dist/gui/EFTogglePlay.js.map +1 -1
  203. package/dist/gui/EFTransformHandles.d.ts +4 -4
  204. package/dist/gui/EFTransformHandles.js +3 -4
  205. package/dist/gui/EFTransformHandles.js.map +1 -1
  206. package/dist/gui/EFWorkbench.d.ts +6 -7
  207. package/dist/gui/EFWorkbench.js +13 -15
  208. package/dist/gui/EFWorkbench.js.map +1 -1
  209. package/dist/gui/EFWorkbench.spacebar.js +1 -1
  210. package/dist/gui/EFWorkbench.spacebar.js.map +1 -1
  211. package/dist/gui/FitScaleHelpers.js +1 -2
  212. package/dist/gui/FitScaleHelpers.js.map +1 -1
  213. package/dist/gui/PlaybackController.js +3 -4
  214. package/dist/gui/PlaybackController.js.map +1 -1
  215. package/dist/gui/TWMixin.js +1 -1
  216. package/dist/gui/TWMixin.js.map +1 -1
  217. package/dist/gui/TWMixin2.js +1 -2
  218. package/dist/gui/TWMixin2.js.map +1 -1
  219. package/dist/gui/TargetOrContextMixin.js +2 -3
  220. package/dist/gui/TargetOrContextMixin.js.map +1 -1
  221. package/dist/gui/currentTimeContext.js +1 -2
  222. package/dist/gui/currentTimeContext.js.map +1 -1
  223. package/dist/gui/durationContext.js +1 -2
  224. package/dist/gui/durationContext.js.map +1 -1
  225. package/dist/gui/efContext.js +1 -2
  226. package/dist/gui/efContext.js.map +1 -1
  227. package/dist/gui/fetchContext.js +1 -2
  228. package/dist/gui/fetchContext.js.map +1 -1
  229. package/dist/gui/focusContext.js +1 -2
  230. package/dist/gui/focusContext.js.map +1 -1
  231. package/dist/gui/focusedElementContext.js +1 -2
  232. package/dist/gui/focusedElementContext.js.map +1 -1
  233. package/dist/gui/hierarchy/EFHierarchy.d.ts +4 -4
  234. package/dist/gui/hierarchy/EFHierarchy.js +3 -4
  235. package/dist/gui/hierarchy/EFHierarchy.js.map +1 -1
  236. package/dist/gui/hierarchy/EFHierarchyItem.d.ts +2 -2
  237. package/dist/gui/hierarchy/EFHierarchyItem.js +13 -14
  238. package/dist/gui/hierarchy/EFHierarchyItem.js.map +1 -1
  239. package/dist/gui/hierarchy/hierarchyContext.js +1 -2
  240. package/dist/gui/hierarchy/hierarchyContext.js.map +1 -1
  241. package/dist/gui/icons.js +1 -2
  242. package/dist/gui/icons.js.map +1 -1
  243. package/dist/gui/panZoomTransformContext.js +1 -2
  244. package/dist/gui/panZoomTransformContext.js.map +1 -1
  245. package/dist/gui/playingContext.js +1 -2
  246. package/dist/gui/playingContext.js.map +1 -1
  247. package/dist/gui/previewSettingsContext.d.ts +0 -1
  248. package/dist/gui/previewSettingsContext.js +1 -2
  249. package/dist/gui/previewSettingsContext.js.map +1 -1
  250. package/dist/gui/shouldSignUrl.js +1 -1
  251. package/dist/gui/shouldSignUrl.js.map +1 -1
  252. package/dist/gui/theme.js +1 -1
  253. package/dist/gui/theme.js.map +1 -1
  254. package/dist/gui/timeline/EFTimeline.d.ts +2 -5
  255. package/dist/gui/timeline/EFTimeline.js +19 -20
  256. package/dist/gui/timeline/EFTimeline.js.map +1 -1
  257. package/dist/gui/timeline/EFTimelineRow.d.ts +2 -2
  258. package/dist/gui/timeline/EFTimelineRow.js +3 -4
  259. package/dist/gui/timeline/EFTimelineRow.js.map +1 -1
  260. package/dist/gui/timeline/TrimHandles.d.ts +4 -4
  261. package/dist/gui/timeline/TrimHandles.js +3 -4
  262. package/dist/gui/timeline/TrimHandles.js.map +1 -1
  263. package/dist/gui/timeline/flattenHierarchy.js +1 -2
  264. package/dist/gui/timeline/flattenHierarchy.js.map +1 -1
  265. package/dist/gui/timeline/timelineEditingContext.js +1 -2
  266. package/dist/gui/timeline/timelineEditingContext.js.map +1 -1
  267. package/dist/gui/timeline/timelineStateContext.js +1 -14
  268. package/dist/gui/timeline/timelineStateContext.js.map +1 -1
  269. package/dist/gui/timeline/tracks/AudioTrack.d.ts +0 -1
  270. package/dist/gui/timeline/tracks/AudioTrack.js +3 -4
  271. package/dist/gui/timeline/tracks/AudioTrack.js.map +1 -1
  272. package/dist/gui/timeline/tracks/CaptionsTrack.d.ts +2 -2
  273. package/dist/gui/timeline/tracks/CaptionsTrack.js +9 -9
  274. package/dist/gui/timeline/tracks/CaptionsTrack.js.map +1 -1
  275. package/dist/gui/timeline/tracks/EFThumbnailStrip.d.ts +4 -4
  276. package/dist/gui/timeline/tracks/EFThumbnailStrip.js +3 -4
  277. package/dist/gui/timeline/tracks/EFThumbnailStrip.js.map +1 -1
  278. package/dist/gui/timeline/tracks/HTMLTrack.d.ts +2 -2
  279. package/dist/gui/timeline/tracks/HTMLTrack.js +3 -4
  280. package/dist/gui/timeline/tracks/HTMLTrack.js.map +1 -1
  281. package/dist/gui/timeline/tracks/ImageTrack.d.ts +2 -2
  282. package/dist/gui/timeline/tracks/ImageTrack.js +3 -4
  283. package/dist/gui/timeline/tracks/ImageTrack.js.map +1 -1
  284. package/dist/gui/timeline/tracks/TextTrack.d.ts +2 -2
  285. package/dist/gui/timeline/tracks/TextTrack.js +4 -5
  286. package/dist/gui/timeline/tracks/TextTrack.js.map +1 -1
  287. package/dist/gui/timeline/tracks/TimegroupTrack.d.ts +5 -6
  288. package/dist/gui/timeline/tracks/TimegroupTrack.js +3 -4
  289. package/dist/gui/timeline/tracks/TimegroupTrack.js.map +1 -1
  290. package/dist/gui/timeline/tracks/TrackItem.d.ts +2 -2
  291. package/dist/gui/timeline/tracks/TrackItem.js +3 -4
  292. package/dist/gui/timeline/tracks/TrackItem.js.map +1 -1
  293. package/dist/gui/timeline/tracks/VideoTrack.d.ts +6 -7
  294. package/dist/gui/timeline/tracks/VideoTrack.js +3 -4
  295. package/dist/gui/timeline/tracks/VideoTrack.js.map +1 -1
  296. package/dist/gui/timeline/tracks/WaveformTrack.js +3 -4
  297. package/dist/gui/timeline/tracks/WaveformTrack.js.map +1 -1
  298. package/dist/gui/timeline/tracks/ensureTrackItemInit.js +1 -1
  299. package/dist/gui/timeline/tracks/preloadTracks.d.ts +1 -9
  300. package/dist/gui/timeline/tracks/renderTrackChildren.js +1 -2
  301. package/dist/gui/timeline/tracks/renderTrackChildren.js.map +1 -1
  302. package/dist/gui/timeline/tracks/waveformUtils.js +3 -6
  303. package/dist/gui/timeline/tracks/waveformUtils.js.map +1 -1
  304. package/dist/gui/transformCalculations.js +1 -2
  305. package/dist/gui/transformCalculations.js.map +1 -1
  306. package/dist/gui/transformUtils.js +1 -1
  307. package/dist/gui/transformUtils.js.map +1 -1
  308. package/dist/gui/tree/EFTree.d.ts +4 -6
  309. package/dist/gui/tree/EFTree.js +3 -4
  310. package/dist/gui/tree/EFTree.js.map +1 -1
  311. package/dist/gui/tree/EFTreeItem.d.ts +4 -5
  312. package/dist/gui/tree/EFTreeItem.js +3 -4
  313. package/dist/gui/tree/EFTreeItem.js.map +1 -1
  314. package/dist/gui/tree/treeContext.d.ts +0 -1
  315. package/dist/gui/tree/treeContext.js +1 -2
  316. package/dist/gui/tree/treeContext.js.map +1 -1
  317. package/dist/index.d.ts +0 -2
  318. package/dist/index.js +1 -2
  319. package/dist/index.js.map +1 -1
  320. package/dist/node.js +1 -2
  321. package/dist/node_modules/lit-html/development/directives/ref.d.ts +14 -0
  322. package/dist/node_modules/lit-html/development/lit-html.d.ts +46 -0
  323. package/dist/otel/BridgeSpanExporter.js +1 -2
  324. package/dist/otel/BridgeSpanExporter.js.map +1 -1
  325. package/dist/otel/setupBrowserTracing.js +1 -2
  326. package/dist/otel/setupBrowserTracing.js.map +1 -1
  327. package/dist/otel/tracingHelpers.d.ts +0 -2
  328. package/dist/otel/tracingHelpers.js +1 -2
  329. package/dist/otel/tracingHelpers.js.map +1 -1
  330. package/dist/preview/AdaptiveResolutionTracker.js +11 -2
  331. package/dist/preview/AdaptiveResolutionTracker.js.map +1 -1
  332. package/dist/preview/FrameController.d.ts +0 -1
  333. package/dist/preview/FrameController.js +8 -33
  334. package/dist/preview/FrameController.js.map +1 -1
  335. package/dist/preview/QualityUpgradeScheduler.js +1 -1
  336. package/dist/preview/QualityUpgradeScheduler.js.map +1 -1
  337. package/dist/preview/RenderContext.d.ts +0 -1
  338. package/dist/preview/RenderContext.js +11 -2
  339. package/dist/preview/RenderContext.js.map +1 -1
  340. package/dist/preview/RenderProfiler.js +1 -1
  341. package/dist/preview/RenderProfiler.js.map +1 -1
  342. package/dist/preview/RenderStats.js +1 -1
  343. package/dist/preview/RenderStats.js.map +1 -1
  344. package/dist/preview/encoding/canvasEncoder.js +7 -2
  345. package/dist/preview/encoding/canvasEncoder.js.map +1 -1
  346. package/dist/preview/encoding/mainThreadEncoder.js +1 -1
  347. package/dist/preview/encoding/mainThreadEncoder.js.map +1 -1
  348. package/dist/preview/encoding/workerEncoder.js +1 -1
  349. package/dist/preview/encoding/workerEncoder.js.map +1 -1
  350. package/dist/preview/logger.js +1 -1
  351. package/dist/preview/logger.js.map +1 -1
  352. package/dist/preview/previewSettings.js +1 -1
  353. package/dist/preview/previewSettings.js.map +1 -1
  354. package/dist/preview/previewTypes.js +1 -1
  355. package/dist/preview/previewTypes.js.map +1 -1
  356. package/dist/preview/renderElementToCanvas.d.ts +0 -1
  357. package/dist/preview/renderElementToCanvas.js +12 -5
  358. package/dist/preview/renderElementToCanvas.js.map +1 -1
  359. package/dist/preview/renderTimegroupToCanvas.d.ts +0 -1
  360. package/dist/preview/renderTimegroupToCanvas.js +6 -7
  361. package/dist/preview/renderTimegroupToCanvas.js.map +1 -1
  362. package/dist/preview/renderTimegroupToVideo.d.ts +0 -1
  363. package/dist/preview/renderTimegroupToVideo.js +20 -8
  364. package/dist/preview/renderTimegroupToVideo.js.map +1 -1
  365. package/dist/preview/renderVideoToVideo.js +11 -2
  366. package/dist/preview/renderVideoToVideo.js.map +1 -1
  367. package/dist/preview/renderers.d.ts +0 -1
  368. package/dist/preview/renderers.js +5 -2
  369. package/dist/preview/renderers.js.map +1 -1
  370. package/dist/preview/rendering/ScaleConfig.js +2 -3
  371. package/dist/preview/rendering/ScaleConfig.js.map +1 -1
  372. package/dist/preview/rendering/inlineImages.d.ts +0 -1
  373. package/dist/preview/rendering/inlineImages.js +1 -1
  374. package/dist/preview/rendering/inlineImages.js.map +1 -1
  375. package/dist/preview/rendering/loadImage.js +1 -2
  376. package/dist/preview/rendering/loadImage.js.map +1 -1
  377. package/dist/preview/rendering/renderToImageNative.js +4 -5
  378. package/dist/preview/rendering/renderToImageNative.js.map +1 -1
  379. package/dist/preview/rendering/serializeTimelineDirect.js +16 -4
  380. package/dist/preview/rendering/serializeTimelineDirect.js.map +1 -1
  381. package/dist/preview/statsTrackingStrategy.js +1 -1
  382. package/dist/preview/statsTrackingStrategy.js.map +1 -1
  383. package/dist/preview/workers/WorkerPool.js +5 -2
  384. package/dist/preview/workers/WorkerPool.js.map +1 -1
  385. package/dist/preview/workers/encoderWorkerInline.js +1 -1
  386. package/dist/preview/workers/encoderWorkerInline.js.map +1 -1
  387. package/dist/render/EFRenderAPI.d.ts +0 -1
  388. package/dist/render/EFRenderAPI.js +1 -2
  389. package/dist/render/EFRenderAPI.js.map +1 -1
  390. package/dist/render/getRenderData.js +1 -1
  391. package/dist/render/getRenderData.js.map +1 -1
  392. package/dist/transcoding/cache/RequestDeduplicator.js +1 -1
  393. package/dist/transcoding/cache/RequestDeduplicator.js.map +1 -1
  394. package/dist/transcoding/cache/URLTokenDeduplicator.js +1 -1
  395. package/dist/transcoding/cache/URLTokenDeduplicator.js.map +1 -1
  396. package/dist/transcoding/types/index.d.ts +0 -1
  397. package/dist/transcoding/utils/UrlGenerator.js +1 -1
  398. package/dist/transcoding/utils/UrlGenerator.js.map +1 -1
  399. package/dist/utils/LRUCache.js +1 -1
  400. package/dist/utils/LRUCache.js.map +1 -1
  401. package/dist/utils/frameTime.js +2 -9
  402. package/dist/utils/frameTime.js.map +1 -1
  403. package/dist/version.js +2 -2
  404. package/dist/version.js.map +1 -1
  405. package/package.json +5 -4
@@ -1,11 +1,10 @@
1
+ import { TemplateResult as TemplateResult$1 } from "../node_modules/lit-html/development/lit-html.js";
1
2
  import { PanZoomTransform } from "../elements/EFPanZoom.js";
2
3
  import { EFOverlayItem } from "./EFOverlayItem.js";
3
- import * as lit31 from "lit";
4
+ import * as _$lit from "lit";
4
5
  import { LitElement } from "lit";
5
- import * as lit_html29 from "lit-html";
6
6
 
7
7
  //#region src/gui/EFOverlayLayer.d.ts
8
-
9
8
  /**
10
9
  * Overlay layer container component.
11
10
  *
@@ -26,7 +25,7 @@ import * as lit_html29 from "lit-html";
26
25
  * 2. EFOverlayItem can use this rect for coordinate calculations
27
26
  */
28
27
  declare class EFOverlayLayer extends LitElement {
29
- static styles: lit31.CSSResult[];
28
+ static styles: _$lit.CSSResult[];
30
29
  panZoomTransformFromContext?: PanZoomTransform;
31
30
  /**
32
31
  * Pan/zoom transform as fallback for when context or sibling PanZoom is not available.
@@ -58,7 +57,7 @@ declare class EFOverlayLayer extends LitElement {
58
57
  connectedCallback(): void;
59
58
  disconnectedCallback(): void;
60
59
  updated(): void;
61
- render(): lit_html29.TemplateResult<1>;
60
+ render(): TemplateResult$1<1>;
62
61
  }
63
62
  declare global {
64
63
  interface HTMLElementTagNameMap {
@@ -1,11 +1,10 @@
1
- import { __decorate } from "../_virtual/_@oxc-project_runtime@0.95.0/helpers/decorate.js";
1
+ import { __decorate } from "../_virtual/_@oxc-project_runtime@0.122.0/helpers/decorate.js";
2
2
  import { panZoomTransformContext } from "./panZoomTransformContext.js";
3
3
  import { consume } from "@lit/context";
4
4
  import { LitElement, css, html } from "lit";
5
5
  import { customElement, property } from "lit/decorators.js";
6
-
7
6
  //#region src/gui/EFOverlayLayer.ts
8
- let EFOverlayLayer = class EFOverlayLayer$1 extends LitElement {
7
+ let EFOverlayLayer = class EFOverlayLayer extends LitElement {
9
8
  constructor(..._args) {
10
9
  super(..._args);
11
10
  this.registeredItems = /* @__PURE__ */ new Set();
@@ -98,7 +97,7 @@ __decorate([consume({
98
97
  })], EFOverlayLayer.prototype, "panZoomTransformFromContext", void 0);
99
98
  __decorate([property({ type: Object })], EFOverlayLayer.prototype, "panZoomTransform", void 0);
100
99
  EFOverlayLayer = __decorate([customElement("ef-overlay-layer")], EFOverlayLayer);
101
-
102
100
  //#endregion
103
101
  export { EFOverlayLayer };
102
+
104
103
  //# sourceMappingURL=EFOverlayLayer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EFOverlayLayer.js","names":["EFOverlayLayer"],"sources":["../../src/gui/EFOverlayLayer.ts"],"sourcesContent":["import { consume } from \"@lit/context\";\nimport { css, html, LitElement } from \"lit\";\nimport { customElement, property } from \"lit/decorators.js\";\nimport { panZoomTransformContext } from \"./panZoomTransformContext.js\";\nimport type { PanZoomTransform } from \"../elements/EFPanZoom.js\";\nimport type { EFOverlayItem } from \"./EFOverlayItem.js\";\n\n/**\n * Overlay layer container component.\n *\n * SIMPLE ARCHITECTURE:\n * - Runs a SINGLE RAF loop that updates everything every frame\n * - No change detection, no optimization, no delays\n * - Just: read transform → apply it → update all items → next frame\n *\n * Core responsibilities:\n * - Consumes PanZoom transform from context (if PanZoom is ancestor)\n * - Accepts transform via props as fallback (for sibling PanZoom)\n * - Applies translate-only transform (no scale) directly to host element\n * - Manages registered child EFOverlayItem components\n * - Updates all overlays every animation frame\n *\n * The transform is applied directly to the host element so that:\n * 1. getBoundingClientRect() returns the transformed position\n * 2. EFOverlayItem can use this rect for coordinate calculations\n */\n@customElement(\"ef-overlay-layer\")\nexport class EFOverlayLayer extends LitElement {\n static styles = [\n css`\n :host {\n display: block;\n position: absolute;\n inset: 0;\n pointer-events: none;\n transform-origin: 0 0;\n }\n `,\n ];\n\n @consume({ context: panZoomTransformContext, subscribe: true })\n panZoomTransformFromContext?: PanZoomTransform;\n\n /**\n * Pan/zoom transform as fallback for when context or sibling PanZoom is not available.\n * Primarily used for testing and standalone usage.\n */\n @property({ type: Object })\n panZoomTransform?: PanZoomTransform;\n\n // Track registered overlay items for coordinated updates\n private registeredItems = new Set<EFOverlayItem>();\n private rafId: number | null = null;\n\n /**\n * Register an overlay item for coordinated updates.\n * Called by EFOverlayItem in connectedCallback.\n */\n registerOverlayItem(item: EFOverlayItem) {\n this.registeredItems.add(item);\n }\n\n /**\n * Unregister an overlay item.\n * Called by EFOverlayItem in disconnectedCallback.\n */\n unregisterOverlayItem(item: EFOverlayItem) {\n this.registeredItems.delete(item);\n }\n\n /**\n * Single source of truth for reading the current transform.\n * Priority: context > sibling DOM read > prop > default\n */\n private readTransform(): PanZoomTransform {\n // 1. Context (synchronous, preferred)\n if (this.panZoomTransformFromContext) {\n return this.panZoomTransformFromContext;\n }\n\n // 2. Read directly from sibling PanZoom element\n const panZoomElement = this.parentElement?.querySelector(\"ef-pan-zoom\") as any;\n if (panZoomElement && typeof panZoomElement.x === \"number\") {\n const contentWrapper = panZoomElement.shadowRoot?.querySelector(\".content-wrapper\");\n const computedTransform = contentWrapper && window.getComputedStyle(contentWrapper).transform;\n\n // Parse scale from matrix(scaleX, skewY, skewX, scaleY, tx, ty)\n const matrixMatch = computedTransform?.match(/matrix\\(([^)]+)\\)/);\n const scale = matrixMatch\n ? parseFloat(matrixMatch[1].split(\",\")[0].trim())\n : (panZoomElement.scale ?? 1);\n\n return { x: panZoomElement.x ?? 0, y: panZoomElement.y ?? 0, scale };\n }\n\n // 3. Prop (for testing)\n if (this.panZoomTransform) {\n return this.panZoomTransform;\n }\n\n // 4. Default\n return { x: 0, y: 0, scale: 1 };\n }\n\n /**\n * Simple RAF loop: Update everything on every frame.\n */\n private startLoop() {\n const update = () => {\n const transform = this.readTransform();\n\n // Apply transform\n // If we're a child of panzoom (receiving context), we're inside the scaled content-wrapper\n // which already applies translate(x, y) scale(s). We should NOT apply our own translate\n // because the parent transform already handles the pan. Our getBoundingClientRect() will\n // naturally include the parent's transform.\n // If we're a sibling of panzoom, we need to apply the translate ourselves to match the pan.\n if (this.panZoomTransformFromContext) {\n // Child of panzoom - don't apply any transform, parent handles it\n this.style.transform = \"none\";\n } else {\n // Sibling of panzoom - apply translate directly to match panzoom's pan\n this.style.transform = `translate(${transform.x}px, ${transform.y}px)`;\n }\n\n // Update all overlay items\n for (const item of this.registeredItems) {\n item.updatePosition();\n }\n\n // Schedule next frame\n this.rafId = requestAnimationFrame(update);\n };\n\n this.rafId = requestAnimationFrame(update);\n }\n\n private stopLoop() {\n if (this.rafId !== null) {\n cancelAnimationFrame(this.rafId);\n this.rafId = null;\n }\n }\n\n connectedCallback() {\n super.connectedCallback();\n this.startLoop();\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.stopLoop();\n }\n\n updated() {\n // Transform changes are handled by RAF loop\n }\n\n render() {\n // Simple slot - transform is applied to host element, not a wrapper\n return html`<slot></slot>`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"ef-overlay-layer\": EFOverlayLayer;\n }\n}\n"],"mappings":";;;;;;;AA2BO,2BAAMA,yBAAuB,WAAW;;;yCAwBnB,IAAI,KAAoB;eACnB;;;gBAxBf,CACd,GAAG;;;;;;;;MASJ;;;;;;CAoBD,oBAAoB,MAAqB;AACvC,OAAK,gBAAgB,IAAI,KAAK;;;;;;CAOhC,sBAAsB,MAAqB;AACzC,OAAK,gBAAgB,OAAO,KAAK;;;;;;CAOnC,AAAQ,gBAAkC;AAExC,MAAI,KAAK,4BACP,QAAO,KAAK;EAId,MAAM,iBAAiB,KAAK,eAAe,cAAc,cAAc;AACvE,MAAI,kBAAkB,OAAO,eAAe,MAAM,UAAU;GAC1D,MAAM,iBAAiB,eAAe,YAAY,cAAc,mBAAmB;GAInF,MAAM,eAHoB,kBAAkB,OAAO,iBAAiB,eAAe,CAAC,YAG7C,MAAM,oBAAoB;GACjE,MAAM,QAAQ,cACV,WAAW,YAAY,GAAG,MAAM,IAAI,CAAC,GAAG,MAAM,CAAC,GAC9C,eAAe,SAAS;AAE7B,UAAO;IAAE,GAAG,eAAe,KAAK;IAAG,GAAG,eAAe,KAAK;IAAG;IAAO;;AAItE,MAAI,KAAK,iBACP,QAAO,KAAK;AAId,SAAO;GAAE,GAAG;GAAG,GAAG;GAAG,OAAO;GAAG;;;;;CAMjC,AAAQ,YAAY;EAClB,MAAM,eAAe;GACnB,MAAM,YAAY,KAAK,eAAe;AAQtC,OAAI,KAAK,4BAEP,MAAK,MAAM,YAAY;OAGvB,MAAK,MAAM,YAAY,aAAa,UAAU,EAAE,MAAM,UAAU,EAAE;AAIpE,QAAK,MAAM,QAAQ,KAAK,gBACtB,MAAK,gBAAgB;AAIvB,QAAK,QAAQ,sBAAsB,OAAO;;AAG5C,OAAK,QAAQ,sBAAsB,OAAO;;CAG5C,AAAQ,WAAW;AACjB,MAAI,KAAK,UAAU,MAAM;AACvB,wBAAqB,KAAK,MAAM;AAChC,QAAK,QAAQ;;;CAIjB,oBAAoB;AAClB,QAAM,mBAAmB;AACzB,OAAK,WAAW;;CAGlB,uBAAuB;AACrB,QAAM,sBAAsB;AAC5B,OAAK,UAAU;;CAGjB,UAAU;CAIV,SAAS;AAEP,SAAO,IAAI;;;YAxHZ,QAAQ;CAAE,SAAS;CAAyB,WAAW;CAAM,CAAC;YAO9D,SAAS,EAAE,MAAM,QAAQ,CAAC;6BArB5B,cAAc,mBAAmB"}
1
+ {"version":3,"file":"EFOverlayLayer.js","names":[],"sources":["../../src/gui/EFOverlayLayer.ts"],"mappings":";;;;;;AA2BO,IAAA,iBAAA,MAAM,uBAAuB,WAAW;;;yCAwBnB,IAAI,KAAoB;eACnB;;;gBAxBf,CACd,GAAG;;;;;;;;MASJ;;;;;;CAoBD,oBAAoB,MAAqB;AACvC,OAAK,gBAAgB,IAAI,KAAK;;;;;;CAOhC,sBAAsB,MAAqB;AACzC,OAAK,gBAAgB,OAAO,KAAK;;;;;;CAOnC,gBAA0C;AAExC,MAAI,KAAK,4BACP,QAAO,KAAK;EAId,MAAM,iBAAiB,KAAK,eAAe,cAAc,cAAc;AACvE,MAAI,kBAAkB,OAAO,eAAe,MAAM,UAAU;GAC1D,MAAM,iBAAiB,eAAe,YAAY,cAAc,mBAAmB;GAInF,MAAM,eAHoB,kBAAkB,OAAO,iBAAiB,eAAe,CAAC,YAG7C,MAAM,oBAAoB;GACjE,MAAM,QAAQ,cACV,WAAW,YAAY,GAAG,MAAM,IAAI,CAAC,GAAG,MAAM,CAAC,GAC9C,eAAe,SAAS;AAE7B,UAAO;IAAE,GAAG,eAAe,KAAK;IAAG,GAAG,eAAe,KAAK;IAAG;IAAO;;AAItE,MAAI,KAAK,iBACP,QAAO,KAAK;AAId,SAAO;GAAE,GAAG;GAAG,GAAG;GAAG,OAAO;GAAG;;;;;CAMjC,YAAoB;EAClB,MAAM,eAAe;GACnB,MAAM,YAAY,KAAK,eAAe;AAQtC,OAAI,KAAK,4BAEP,MAAK,MAAM,YAAY;OAGvB,MAAK,MAAM,YAAY,aAAa,UAAU,EAAE,MAAM,UAAU,EAAE;AAIpE,QAAK,MAAM,QAAQ,KAAK,gBACtB,MAAK,gBAAgB;AAIvB,QAAK,QAAQ,sBAAsB,OAAO;;AAG5C,OAAK,QAAQ,sBAAsB,OAAO;;CAG5C,WAAmB;AACjB,MAAI,KAAK,UAAU,MAAM;AACvB,wBAAqB,KAAK,MAAM;AAChC,QAAK,QAAQ;;;CAIjB,oBAAoB;AAClB,QAAM,mBAAmB;AACzB,OAAK,WAAW;;CAGlB,uBAAuB;AACrB,QAAM,sBAAsB;AAC5B,OAAK,UAAU;;CAGjB,UAAU;CAIV,SAAS;AAEP,SAAO,IAAI;;;YAxHZ,QAAQ;CAAE,SAAS;CAAyB,WAAW;CAAM,CAAC,CAAA,EAAA,eAAA,WAAA,+BAAA,KAAA,EAAA;YAO9D,SAAS,EAAE,MAAM,QAAQ,CAAC,CAAA,EAAA,eAAA,WAAA,oBAAA,KAAA,EAAA;6BArB5B,cAAc,mBAAmB,CAAA,EAAA,eAAA"}
@@ -1,7 +1,7 @@
1
+ import { TemplateResult as TemplateResult$1 } from "../node_modules/lit-html/development/lit-html.js";
1
2
  import { ControllableInterface } from "./Controllable.js";
2
- import * as lit17 from "lit";
3
+ import * as _$lit from "lit";
3
4
  import { LitElement } from "lit";
4
- import * as lit_html16 from "lit-html";
5
5
 
6
6
  //#region src/gui/EFPause.d.ts
7
7
  declare const EFPause_base: (new (...args: any[]) => {
@@ -10,13 +10,13 @@ declare const EFPause_base: (new (...args: any[]) => {
10
10
  effectiveContext: ControllableInterface | null;
11
11
  }) & typeof LitElement;
12
12
  declare class EFPause extends EFPause_base {
13
- static styles: lit17.CSSResult[];
13
+ static styles: _$lit.CSSResult[];
14
14
  playing: boolean;
15
15
  get efContext(): ControllableInterface | null;
16
16
  connectedCallback(): void;
17
17
  disconnectedCallback(): void;
18
18
  updated(changedProperties: Map<string | number | symbol, unknown>): void;
19
- render(): lit_html16.TemplateResult<1>;
19
+ render(): TemplateResult$1<1>;
20
20
  handleClick: () => void;
21
21
  }
22
22
  declare global {
@@ -1,15 +1,14 @@
1
1
  import { efContext } from "./efContext.js";
2
2
  import { playingContext } from "./playingContext.js";
3
- import { __decorate } from "../_virtual/_@oxc-project_runtime@0.95.0/helpers/decorate.js";
3
+ import { __decorate } from "../_virtual/_@oxc-project_runtime@0.122.0/helpers/decorate.js";
4
4
  import { attachContextRoot } from "../attachContextRoot.js";
5
5
  import { TargetOrContextMixin } from "./TargetOrContextMixin.js";
6
6
  import { consume } from "@lit/context";
7
7
  import { LitElement, css, html } from "lit";
8
8
  import { customElement, state } from "lit/decorators.js";
9
-
10
9
  //#region src/gui/EFPause.ts
11
10
  attachContextRoot();
12
- let EFPause = class EFPause$1 extends TargetOrContextMixin(LitElement, efContext) {
11
+ let EFPause = class EFPause extends TargetOrContextMixin(LitElement, efContext) {
13
12
  constructor(..._args) {
14
13
  super(..._args);
15
14
  this.playing = false;
@@ -58,7 +57,7 @@ __decorate([consume({
58
57
  subscribe: true
59
58
  }), state()], EFPause.prototype, "playing", void 0);
60
59
  EFPause = __decorate([customElement("ef-pause")], EFPause);
61
-
62
60
  //#endregion
63
61
  export { EFPause };
62
+
64
63
  //# sourceMappingURL=EFPause.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EFPause.js","names":["EFPause"],"sources":["../../src/gui/EFPause.ts"],"sourcesContent":["import { consume } from \"@lit/context\";\nimport { css, html, LitElement } from \"lit\";\nimport { customElement, state } from \"lit/decorators.js\";\nimport { attachContextRoot } from \"../attachContextRoot.js\";\nimport type { ControllableInterface } from \"./Controllable.js\";\nimport { efContext } from \"./efContext.js\";\nimport { playingContext } from \"./playingContext.js\";\nimport { TargetOrContextMixin } from \"./TargetOrContextMixin.js\";\n\nattachContextRoot();\n\n@customElement(\"ef-pause\")\nexport class EFPause extends TargetOrContextMixin(LitElement, efContext) {\n static styles = [\n css`\n :host {\n display: block;\n }\n :host([hidden]) {\n display: none;\n }\n div {\n all: inherit;\n }\n `,\n ];\n\n @consume({ context: playingContext, subscribe: true })\n @state()\n playing = false;\n\n get efContext(): ControllableInterface | null {\n return this.effectiveContext;\n }\n\n connectedCallback() {\n super.connectedCallback();\n this.addEventListener(\"click\", this.handleClick);\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.removeEventListener(\"click\", this.handleClick);\n }\n\n updated(changedProperties: Map<string | number | symbol, unknown>): void {\n super.updated(changedProperties);\n\n if (changedProperties.has(\"playing\")) {\n this.style.display = this.playing ? \"\" : \"none\";\n }\n }\n\n render() {\n return html`\n <div>\n <slot></slot>\n </div>\n `;\n }\n\n handleClick = () => {\n if (this.efContext) {\n this.efContext.pause();\n }\n };\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"ef-pause\": EFPause;\n }\n}\n"],"mappings":";;;;;;;;;;AASA,mBAAmB;AAGZ,oBAAMA,kBAAgB,qBAAqB,YAAY,UAAU,CAAC;;;iBAiB7D;2BAgCU;AAClB,OAAI,KAAK,UACP,MAAK,UAAU,OAAO;;;;gBAlDV,CACd,GAAG;;;;;;;;;;MAWJ;;CAMD,IAAI,YAA0C;AAC5C,SAAO,KAAK;;CAGd,oBAAoB;AAClB,QAAM,mBAAmB;AACzB,OAAK,iBAAiB,SAAS,KAAK,YAAY;;CAGlD,uBAAuB;AACrB,QAAM,sBAAsB;AAC5B,OAAK,oBAAoB,SAAS,KAAK,YAAY;;CAGrD,QAAQ,mBAAiE;AACvE,QAAM,QAAQ,kBAAkB;AAEhC,MAAI,kBAAkB,IAAI,UAAU,CAClC,MAAK,MAAM,UAAU,KAAK,UAAU,KAAK;;CAI7C,SAAS;AACP,SAAO,IAAI;;;;;;;YA3BZ,QAAQ;CAAE,SAAS;CAAgB,WAAW;CAAM,CAAC,EACrD,OAAO;sBAjBT,cAAc,WAAW"}
1
+ {"version":3,"file":"EFPause.js","names":[],"sources":["../../src/gui/EFPause.ts"],"mappings":";;;;;;;;;AASA,mBAAmB;AAGZ,IAAA,UAAA,MAAM,gBAAgB,qBAAqB,YAAY,UAAU,CAAC;;;iBAiB7D;2BAgCU;AAClB,OAAI,KAAK,UACP,MAAK,UAAU,OAAO;;;;gBAlDV,CACd,GAAG;;;;;;;;;;MAWJ;;CAMD,IAAI,YAA0C;AAC5C,SAAO,KAAK;;CAGd,oBAAoB;AAClB,QAAM,mBAAmB;AACzB,OAAK,iBAAiB,SAAS,KAAK,YAAY;;CAGlD,uBAAuB;AACrB,QAAM,sBAAsB;AAC5B,OAAK,oBAAoB,SAAS,KAAK,YAAY;;CAGrD,QAAQ,mBAAiE;AACvE,QAAM,QAAQ,kBAAkB;AAEhC,MAAI,kBAAkB,IAAI,UAAU,CAClC,MAAK,MAAM,UAAU,KAAK,UAAU,KAAK;;CAI7C,SAAS;AACP,SAAO,IAAI;;;;;;;YA3BZ,QAAQ;CAAE,SAAS;CAAgB,WAAW;CAAM,CAAC,EACrD,OAAO,CAAA,EAAA,QAAA,WAAA,WAAA,KAAA,EAAA;sBAjBT,cAAc,WAAW,CAAA,EAAA,QAAA"}
@@ -1,7 +1,7 @@
1
+ import { TemplateResult as TemplateResult$1 } from "../node_modules/lit-html/development/lit-html.js";
1
2
  import { ControllableInterface } from "./Controllable.js";
2
- import * as lit16 from "lit";
3
+ import * as _$lit from "lit";
3
4
  import { LitElement } from "lit";
4
- import * as lit_html15 from "lit-html";
5
5
 
6
6
  //#region src/gui/EFPlay.d.ts
7
7
  declare const EFPlay_base: (new (...args: any[]) => {
@@ -10,13 +10,13 @@ declare const EFPlay_base: (new (...args: any[]) => {
10
10
  effectiveContext: ControllableInterface | null;
11
11
  }) & typeof LitElement;
12
12
  declare class EFPlay extends EFPlay_base {
13
- static styles: lit16.CSSResult[];
13
+ static styles: _$lit.CSSResult[];
14
14
  playing: boolean;
15
15
  get efContext(): ControllableInterface | null;
16
16
  connectedCallback(): void;
17
17
  disconnectedCallback(): void;
18
18
  updated(changedProperties: Map<string | number | symbol, unknown>): void;
19
- render(): lit_html15.TemplateResult<1>;
19
+ render(): TemplateResult$1<1>;
20
20
  handleClick: () => void;
21
21
  }
22
22
  declare global {
@@ -1,15 +1,14 @@
1
1
  import { efContext } from "./efContext.js";
2
2
  import { playingContext } from "./playingContext.js";
3
- import { __decorate } from "../_virtual/_@oxc-project_runtime@0.95.0/helpers/decorate.js";
3
+ import { __decorate } from "../_virtual/_@oxc-project_runtime@0.122.0/helpers/decorate.js";
4
4
  import { attachContextRoot } from "../attachContextRoot.js";
5
5
  import { TargetOrContextMixin } from "./TargetOrContextMixin.js";
6
6
  import { consume } from "@lit/context";
7
7
  import { LitElement, css, html } from "lit";
8
8
  import { customElement, state } from "lit/decorators.js";
9
-
10
9
  //#region src/gui/EFPlay.ts
11
10
  attachContextRoot();
12
- let EFPlay = class EFPlay$1 extends TargetOrContextMixin(LitElement, efContext) {
11
+ let EFPlay = class EFPlay extends TargetOrContextMixin(LitElement, efContext) {
13
12
  constructor(..._args) {
14
13
  super(..._args);
15
14
  this.playing = false;
@@ -58,7 +57,7 @@ __decorate([consume({
58
57
  subscribe: true
59
58
  }), state()], EFPlay.prototype, "playing", void 0);
60
59
  EFPlay = __decorate([customElement("ef-play")], EFPlay);
61
-
62
60
  //#endregion
63
61
  export { EFPlay };
62
+
64
63
  //# sourceMappingURL=EFPlay.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EFPlay.js","names":["EFPlay"],"sources":["../../src/gui/EFPlay.ts"],"sourcesContent":["import { consume } from \"@lit/context\";\nimport { css, html, LitElement } from \"lit\";\nimport { customElement, state } from \"lit/decorators.js\";\nimport { attachContextRoot } from \"../attachContextRoot.js\";\nimport type { ControllableInterface } from \"./Controllable.js\";\nimport { efContext } from \"./efContext.js\";\nimport { playingContext } from \"./playingContext.js\";\nimport { TargetOrContextMixin } from \"./TargetOrContextMixin.js\";\n\nattachContextRoot();\n\n@customElement(\"ef-play\")\nexport class EFPlay extends TargetOrContextMixin(LitElement, efContext) {\n static styles = [\n css`\n :host {\n display: block;\n }\n :host([hidden]) {\n display: none;\n }\n div {\n all: inherit;\n }\n `,\n ];\n\n @consume({ context: playingContext, subscribe: true })\n @state()\n playing = false;\n\n get efContext(): ControllableInterface | null {\n return this.effectiveContext;\n }\n\n connectedCallback() {\n super.connectedCallback();\n this.addEventListener(\"click\", this.handleClick);\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.removeEventListener(\"click\", this.handleClick);\n }\n\n updated(changedProperties: Map<string | number | symbol, unknown>): void {\n super.updated(changedProperties);\n\n if (changedProperties.has(\"playing\")) {\n this.style.display = this.playing ? \"none\" : \"\";\n }\n }\n\n render() {\n return html`\n <div>\n <slot></slot>\n </div>\n `;\n }\n\n handleClick = () => {\n if (this.efContext) {\n this.efContext.play();\n }\n };\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"ef-play\": EFPlay;\n }\n}\n"],"mappings":";;;;;;;;;;AASA,mBAAmB;AAGZ,mBAAMA,iBAAe,qBAAqB,YAAY,UAAU,CAAC;;;iBAiB5D;2BAgCU;AAClB,OAAI,KAAK,UACP,MAAK,UAAU,MAAM;;;;gBAlDT,CACd,GAAG;;;;;;;;;;MAWJ;;CAMD,IAAI,YAA0C;AAC5C,SAAO,KAAK;;CAGd,oBAAoB;AAClB,QAAM,mBAAmB;AACzB,OAAK,iBAAiB,SAAS,KAAK,YAAY;;CAGlD,uBAAuB;AACrB,QAAM,sBAAsB;AAC5B,OAAK,oBAAoB,SAAS,KAAK,YAAY;;CAGrD,QAAQ,mBAAiE;AACvE,QAAM,QAAQ,kBAAkB;AAEhC,MAAI,kBAAkB,IAAI,UAAU,CAClC,MAAK,MAAM,UAAU,KAAK,UAAU,SAAS;;CAIjD,SAAS;AACP,SAAO,IAAI;;;;;;;YA3BZ,QAAQ;CAAE,SAAS;CAAgB,WAAW;CAAM,CAAC,EACrD,OAAO;qBAjBT,cAAc,UAAU"}
1
+ {"version":3,"file":"EFPlay.js","names":[],"sources":["../../src/gui/EFPlay.ts"],"mappings":";;;;;;;;;AASA,mBAAmB;AAGZ,IAAA,SAAA,MAAM,eAAe,qBAAqB,YAAY,UAAU,CAAC;;;iBAiB5D;2BAgCU;AAClB,OAAI,KAAK,UACP,MAAK,UAAU,MAAM;;;;gBAlDT,CACd,GAAG;;;;;;;;;;MAWJ;;CAMD,IAAI,YAA0C;AAC5C,SAAO,KAAK;;CAGd,oBAAoB;AAClB,QAAM,mBAAmB;AACzB,OAAK,iBAAiB,SAAS,KAAK,YAAY;;CAGlD,uBAAuB;AACrB,QAAM,sBAAsB;AAC5B,OAAK,oBAAoB,SAAS,KAAK,YAAY;;CAGrD,QAAQ,mBAAiE;AACvE,QAAM,QAAQ,kBAAkB;AAEhC,MAAI,kBAAkB,IAAI,UAAU,CAClC,MAAK,MAAM,UAAU,KAAK,UAAU,SAAS;;CAIjD,SAAS;AACP,SAAO,IAAI;;;;;;;YA3BZ,QAAQ;CAAE,SAAS;CAAgB,WAAW;CAAM,CAAC,EACrD,OAAO,CAAA,EAAA,OAAA,WAAA,WAAA,KAAA,EAAA;qBAjBT,cAAc,UAAU,CAAA,EAAA,OAAA"}
@@ -1,19 +1,19 @@
1
+ import { TemplateResult as TemplateResult$1 } from "../node_modules/lit-html/development/lit-html.js";
1
2
  import { ContextMixinInterface } from "./ContextMixin.js";
2
- import * as lit9 from "lit";
3
+ import * as _$lit from "lit";
3
4
  import { LitElement } from "lit";
4
- import * as lit_html9 from "lit-html";
5
5
 
6
6
  //#region src/gui/EFPreview.d.ts
7
7
  declare const EFPreview_base: (new (...args: any[]) => ContextMixinInterface) & typeof LitElement;
8
8
  declare class EFPreview extends EFPreview_base {
9
- static styles: lit9.CSSResult[];
9
+ static styles: _$lit.CSSResult[];
10
10
  focusedElement?: HTMLElement;
11
11
  /**
12
12
  * Find the closest temporal element (timegroup, video, audio, etc.)
13
13
  */
14
14
  private findClosestTemporal;
15
15
  constructor();
16
- render(): lit_html9.TemplateResult<1>;
16
+ render(): TemplateResult$1<1>;
17
17
  }
18
18
  declare global {
19
19
  interface HTMLElementTagNameMap {
@@ -1,5 +1,5 @@
1
1
  import { TWMixin } from "./TWMixin2.js";
2
- import { __decorate } from "../_virtual/_@oxc-project_runtime@0.95.0/helpers/decorate.js";
2
+ import { __decorate } from "../_virtual/_@oxc-project_runtime@0.122.0/helpers/decorate.js";
3
3
  import { isEFTemporal } from "../elements/EFTemporal.js";
4
4
  import { focusedElementContext } from "./focusedElementContext.js";
5
5
  import { ContextMixin } from "./ContextMixin.js";
@@ -7,9 +7,8 @@ import { EFTargetable } from "../elements/TargetController.js";
7
7
  import { provide } from "@lit/context";
8
8
  import { LitElement, css, html } from "lit";
9
9
  import { customElement } from "lit/decorators.js";
10
-
11
10
  //#region src/gui/EFPreview.ts
12
- let EFPreview = class EFPreview$1 extends EFTargetable(ContextMixin(TWMixin(LitElement))) {
11
+ let EFPreview = class EFPreview extends EFTargetable(ContextMixin(TWMixin(LitElement))) {
13
12
  static {
14
13
  this.styles = [css`
15
14
  :host {
@@ -49,7 +48,7 @@ let EFPreview = class EFPreview$1 extends EFTargetable(ContextMixin(TWMixin(LitE
49
48
  };
50
49
  __decorate([provide({ context: focusedElementContext })], EFPreview.prototype, "focusedElement", void 0);
51
50
  EFPreview = __decorate([customElement("ef-preview")], EFPreview);
52
-
53
51
  //#endregion
54
52
  export { EFPreview };
53
+
55
54
  //# sourceMappingURL=EFPreview.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EFPreview.js","names":["EFPreview"],"sources":["../../src/gui/EFPreview.ts"],"sourcesContent":["import { provide } from \"@lit/context\";\nimport { css, html, LitElement } from \"lit\";\nimport { customElement } from \"lit/decorators.js\";\nimport { isEFTemporal } from \"../elements/EFTemporal.js\";\nimport { EFTargetable } from \"../elements/TargetController.js\";\nimport { ContextMixin } from \"./ContextMixin.js\";\nimport { focusedElementContext } from \"./focusedElementContext.js\";\nimport { TWMixin } from \"./TWMixin.js\";\n\n@customElement(\"ef-preview\")\nexport class EFPreview extends EFTargetable(ContextMixin(TWMixin(LitElement))) {\n static styles = [\n css`\n :host {\n position: relative;\n display: block;\n cursor: crosshair;\n }\n `,\n ];\n\n @provide({ context: focusedElementContext })\n focusedElement?: HTMLElement;\n\n /**\n * Find the closest temporal element (timegroup, video, audio, etc.)\n */\n private findClosestTemporal(element: HTMLElement | null): HTMLElement | null {\n let current = element;\n while (current && current !== this) {\n if (isEFTemporal(current)) {\n return current;\n }\n current = current.parentElement;\n }\n return null;\n }\n\n constructor() {\n super();\n this.addEventListener(\"pointerover\", (e) => {\n const target = e.target as HTMLElement;\n const temporal = this.findClosestTemporal(target);\n if (target !== this && temporal) {\n this.focusedElement = target;\n }\n });\n this.addEventListener(\"pointerout\", (e) => {\n const relatedTarget = e.relatedTarget as HTMLElement;\n const targetingTemporal = this.findClosestTemporal(relatedTarget);\n // Clear focus if:\n // 1. Moving outside the preview entirely, or\n // 2. Moving to the preview itself, or\n // 3. Moving to an element that's not within a temporal\n if (!this.contains(relatedTarget) || relatedTarget === this || !targetingTemporal) {\n this.focusedElement = undefined;\n }\n });\n }\n\n render() {\n return html`<slot></slot>`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"ef-preview\": EFPreview;\n }\n}\n"],"mappings":";;;;;;;;;;;AAUO,sBAAMA,oBAAkB,aAAa,aAAa,QAAQ,WAAW,CAAC,CAAC,CAAC;;gBAC7D,CACd,GAAG;;;;;;MAOJ;;;;;CAQD,AAAQ,oBAAoB,SAAiD;EAC3E,IAAI,UAAU;AACd,SAAO,WAAW,YAAY,MAAM;AAClC,OAAI,aAAa,QAAQ,CACvB,QAAO;AAET,aAAU,QAAQ;;AAEpB,SAAO;;CAGT,cAAc;AACZ,SAAO;AACP,OAAK,iBAAiB,gBAAgB,MAAM;GAC1C,MAAM,SAAS,EAAE;GACjB,MAAM,WAAW,KAAK,oBAAoB,OAAO;AACjD,OAAI,WAAW,QAAQ,SACrB,MAAK,iBAAiB;IAExB;AACF,OAAK,iBAAiB,eAAe,MAAM;GACzC,MAAM,gBAAgB,EAAE;GACxB,MAAM,oBAAoB,KAAK,oBAAoB,cAAc;AAKjE,OAAI,CAAC,KAAK,SAAS,cAAc,IAAI,kBAAkB,QAAQ,CAAC,kBAC9D,MAAK,iBAAiB;IAExB;;CAGJ,SAAS;AACP,SAAO,IAAI;;;YAxCZ,QAAQ,EAAE,SAAS,uBAAuB,CAAC;wBAZ7C,cAAc,aAAa"}
1
+ {"version":3,"file":"EFPreview.js","names":[],"sources":["../../src/gui/EFPreview.ts"],"mappings":";;;;;;;;;;AAUO,IAAA,YAAA,MAAM,kBAAkB,aAAa,aAAa,QAAQ,WAAW,CAAC,CAAC,CAAC;;gBAC7D,CACd,GAAG;;;;;;MAOJ;;;;;CAQD,oBAA4B,SAAiD;EAC3E,IAAI,UAAU;AACd,SAAO,WAAW,YAAY,MAAM;AAClC,OAAI,aAAa,QAAQ,CACvB,QAAO;AAET,aAAU,QAAQ;;AAEpB,SAAO;;CAGT,cAAc;AACZ,SAAO;AACP,OAAK,iBAAiB,gBAAgB,MAAM;GAC1C,MAAM,SAAS,EAAE;GACjB,MAAM,WAAW,KAAK,oBAAoB,OAAO;AACjD,OAAI,WAAW,QAAQ,SACrB,MAAK,iBAAiB;IAExB;AACF,OAAK,iBAAiB,eAAe,MAAM;GACzC,MAAM,gBAAgB,EAAE;GACxB,MAAM,oBAAoB,KAAK,oBAAoB,cAAc;AAKjE,OAAI,CAAC,KAAK,SAAS,cAAc,IAAI,kBAAkB,QAAQ,CAAC,kBAC9D,MAAK,iBAAiB,KAAA;IAExB;;CAGJ,SAAS;AACP,SAAO,IAAI;;;YAxCZ,QAAQ,EAAE,SAAS,uBAAuB,CAAC,CAAA,EAAA,UAAA,WAAA,kBAAA,KAAA,EAAA;wBAZ7C,cAAc,aAAa,CAAA,EAAA,UAAA"}
@@ -1,6 +1,6 @@
1
- import * as lit26 from "lit";
1
+ import { TemplateResult as TemplateResult$1 } from "../node_modules/lit-html/development/lit-html.js";
2
+ import * as _$lit from "lit";
2
3
  import { LitElement } from "lit";
3
- import * as lit_html24 from "lit-html";
4
4
 
5
5
  //#region src/gui/EFResizableBox.d.ts
6
6
  interface BoxBounds {
@@ -21,7 +21,7 @@ declare class EFResizableBox extends LitElement {
21
21
  private resizeStartCorner;
22
22
  private resizeStartSize;
23
23
  private resizeStartPosition;
24
- static styles: lit26.CSSResult;
24
+ static styles: _$lit.CSSResult;
25
25
  private resizeObserver?;
26
26
  connectedCallback(): void;
27
27
  disconnectedCallback(): void;
@@ -30,7 +30,7 @@ declare class EFResizableBox extends LitElement {
30
30
  private handlePointerUp;
31
31
  private cleanup;
32
32
  private dispatchBoundsChange;
33
- render(): lit_html24.TemplateResult<1>;
33
+ render(): TemplateResult$1<1>;
34
34
  }
35
35
  //#endregion
36
36
  export { BoxBounds, EFResizableBox };
@@ -1,12 +1,11 @@
1
- import { __decorate } from "../_virtual/_@oxc-project_runtime@0.95.0/helpers/decorate.js";
1
+ import { __decorate } from "../_virtual/_@oxc-project_runtime@0.122.0/helpers/decorate.js";
2
2
  import { getCornerPoint, getOppositeCorner } from "./transformUtils.js";
3
3
  import { LitElement, css, html } from "lit";
4
4
  import { customElement, property, state } from "lit/decorators.js";
5
5
  import { styleMap } from "lit/directives/style-map.js";
6
-
7
6
  //#region src/gui/EFResizableBox.ts
8
7
  const DEFAULT_MIN_SIZE = 10;
9
- let EFResizableBox = class EFResizableBox$1 extends LitElement {
8
+ let EFResizableBox = class EFResizableBox extends LitElement {
10
9
  constructor(..._args) {
11
10
  super(..._args);
12
11
  this.bounds = {
@@ -207,7 +206,7 @@ __decorate([property({ type: Number })], EFResizableBox.prototype, "minSize", vo
207
206
  __decorate([state()], EFResizableBox.prototype, "isDragging", void 0);
208
207
  __decorate([state()], EFResizableBox.prototype, "isResizing", void 0);
209
208
  EFResizableBox = __decorate([customElement("ef-resizable-box")], EFResizableBox);
210
-
211
209
  //#endregion
212
210
  export { EFResizableBox };
211
+
213
212
  //# sourceMappingURL=EFResizableBox.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EFResizableBox.js","names":["EFResizableBox"],"sources":["../../src/gui/EFResizableBox.ts"],"sourcesContent":["import { css, html, LitElement } from \"lit\";\nimport { customElement, property, state } from \"lit/decorators.js\";\nimport { styleMap } from \"lit/directives/style-map.js\";\nimport { getCornerPoint, getOppositeCorner } from \"./transformUtils.js\";\n\nconst DEFAULT_MIN_SIZE = 10;\n\nexport interface BoxBounds {\n x: number;\n y: number;\n width: number;\n height: number;\n}\n\ntype ResizeHandle = \"nw\" | \"n\" | \"ne\" | \"e\" | \"se\" | \"s\" | \"sw\" | \"w\";\n\n@customElement(\"ef-resizable-box\")\nexport class EFResizableBox extends LitElement {\n @property({ type: Object })\n bounds: BoxBounds = { x: 0, y: 0, width: 100, height: 100 };\n\n @state()\n private containerWidth = 0;\n\n @state()\n private containerHeight = 0;\n\n @property({ type: Number })\n minSize = DEFAULT_MIN_SIZE;\n\n @state()\n private isDragging = false;\n\n @state()\n private isResizing: ResizeHandle | null = null;\n\n private dragStart: { x: number; y: number } | null = null;\n private dragStartPosition: { x: number; y: number } = { x: 0, y: 0 };\n private resizeStartCorner: { x: number; y: number } | null = null;\n private resizeStartSize: { width: number; height: number } | null = null;\n private resizeStartPosition: { x: number; y: number } | null = null;\n\n static styles = css`\n .box {\n position: absolute;\n border: 2px solid var(--ef-resizable-box-border-color, var(--ef-color-primary));\n background-color: var(--ef-resizable-box-bg-color, color-mix(in srgb, var(--ef-color-primary) 20%, transparent));\n cursor: grab;\n }\n .box.dragging {\n border-color: var(--ef-resizable-box-dragging-border-color, var(--ef-color-primary));\n background-color: var(--ef-resizable-box-dragging-bg-color, color-mix(in srgb, var(--ef-color-primary) 30%, transparent));\n }\n .handle {\n position: absolute;\n background-color: var(--ef-resizable-box-handle-color, var(--ef-color-primary));\n touch-action: none;\n }\n .handle.nw { top: -4px; left: -4px; width: 8px; height: 8px; cursor: nwse-resize; }\n .handle.ne { top: -4px; right: -4px; width: 8px; height: 8px; cursor: nesw-resize; }\n .handle.sw { bottom: -4px; left: -4px; width: 8px; height: 8px; cursor: nesw-resize; }\n .handle.se { bottom: -4px; right: -4px; width: 8px; height: 8px; cursor: nwse-resize; }\n .handle.n { top: -4px; left: 4px; right: 4px; height: 8px; cursor: ns-resize; }\n .handle.e { top: 4px; bottom: 4px; right: -4px; width: 8px; cursor: ew-resize; }\n .handle.s { bottom: -4px; left: 4px; right: 4px; height: 8px; cursor: ns-resize; }\n .handle.w { top: 4px; bottom: 4px; left: -4px; width: 8px; cursor: ew-resize; }\n `;\n\n private resizeObserver?: ResizeObserver;\n\n connectedCallback() {\n super.connectedCallback();\n if (this.offsetParent) {\n this.containerWidth = this.offsetParent.clientWidth;\n this.containerHeight = this.offsetParent.clientHeight;\n }\n this.resizeObserver = new ResizeObserver(() => {\n if (this.offsetParent) {\n this.containerWidth = this.offsetParent.clientWidth;\n this.containerHeight = this.offsetParent.clientHeight;\n }\n });\n if (this.offsetParent) {\n this.resizeObserver.observe(this.offsetParent);\n }\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.resizeObserver?.disconnect();\n this.cleanup();\n }\n\n private handlePointerDown = (e: PointerEvent, mode: \"move\" | \"resize\", handle?: ResizeHandle) => {\n e.preventDefault();\n e.stopPropagation();\n this.isDragging = true;\n this.isResizing = mode === \"resize\" ? handle || null : null;\n\n this.dragStart = { x: e.clientX, y: e.clientY };\n this.dragStartPosition = { x: this.bounds.x, y: this.bounds.y };\n\n if (mode === \"resize\" && handle) {\n const oppositeCorner = getOppositeCorner(handle);\n const rotationRadians = 0;\n const initialCorner = getCornerPoint(\n this.bounds.x,\n this.bounds.y,\n this.bounds.width,\n this.bounds.height,\n rotationRadians,\n oppositeCorner.x,\n oppositeCorner.y,\n );\n this.resizeStartCorner = initialCorner;\n this.resizeStartSize = {\n width: this.bounds.width,\n height: this.bounds.height,\n };\n this.resizeStartPosition = { x: this.bounds.x, y: this.bounds.y };\n }\n\n document.addEventListener(\"pointermove\", this.handlePointerMove, {\n passive: false,\n });\n document.addEventListener(\"pointerup\", this.handlePointerUp, {\n passive: false,\n });\n };\n\n private handlePointerMove = (e: PointerEvent) => {\n if (!this.isDragging || !this.dragStart) return;\n\n e.preventDefault();\n\n const deltaX = e.clientX - this.dragStart.x;\n const deltaY = e.clientY - this.dragStart.y;\n\n if (\n this.isResizing &&\n this.resizeStartCorner &&\n this.resizeStartSize &&\n this.resizeStartPosition\n ) {\n const oppositeCorner = getOppositeCorner(this.isResizing);\n const rotationRadians = 0;\n\n let newWidth = this.resizeStartSize.width;\n let newHeight = this.resizeStartSize.height;\n\n if (this.isResizing.includes(\"e\")) {\n newWidth = this.resizeStartSize.width + deltaX;\n } else if (this.isResizing.includes(\"w\")) {\n newWidth = this.resizeStartSize.width - deltaX;\n }\n\n if (this.isResizing.includes(\"s\")) {\n newHeight = this.resizeStartSize.height + deltaY;\n } else if (this.isResizing.includes(\"n\")) {\n newHeight = this.resizeStartSize.height - deltaY;\n }\n\n newWidth = Math.max(this.minSize, Math.min(this.containerWidth - this.bounds.x, newWidth));\n newHeight = Math.max(this.minSize, Math.min(this.containerHeight - this.bounds.y, newHeight));\n\n const newOppositeCorner = getCornerPoint(\n this.resizeStartPosition.x,\n this.resizeStartPosition.y,\n newWidth,\n newHeight,\n rotationRadians,\n oppositeCorner.x,\n oppositeCorner.y,\n );\n\n const offsetX = this.resizeStartCorner.x - newOppositeCorner.x;\n const offsetY = this.resizeStartCorner.y - newOppositeCorner.y;\n\n const newX = Math.max(\n 0,\n Math.min(this.containerWidth - newWidth, this.resizeStartPosition.x + offsetX),\n );\n const newY = Math.max(\n 0,\n Math.min(this.containerHeight - newHeight, this.resizeStartPosition.y + offsetY),\n );\n\n this.bounds = {\n x: newX,\n y: newY,\n width: newWidth,\n height: newHeight,\n };\n } else {\n const constrainedX = Math.max(\n 0,\n Math.min(this.containerWidth - this.bounds.width, this.dragStartPosition.x + deltaX),\n );\n const constrainedY = Math.max(\n 0,\n Math.min(this.containerHeight - this.bounds.height, this.dragStartPosition.y + deltaY),\n );\n\n this.bounds = {\n ...this.bounds,\n x: constrainedX,\n y: constrainedY,\n };\n }\n\n this.dispatchBoundsChange();\n };\n\n private handlePointerUp = (e: PointerEvent) => {\n e.preventDefault();\n this.cleanup();\n };\n\n private cleanup() {\n this.isDragging = false;\n this.isResizing = null;\n this.dragStart = null;\n this.dragStartPosition = { x: 0, y: 0 };\n this.resizeStartCorner = null;\n this.resizeStartSize = null;\n this.resizeStartPosition = null;\n document.removeEventListener(\"pointermove\", this.handlePointerMove);\n document.removeEventListener(\"pointerup\", this.handlePointerUp);\n }\n\n private dispatchBoundsChange() {\n this.dispatchEvent(\n new CustomEvent(\"bounds-change\", {\n detail: { bounds: this.bounds },\n bubbles: true,\n composed: true,\n }),\n );\n }\n\n render() {\n const boxStyles = {\n left: `${this.bounds.x}px`,\n top: `${this.bounds.y}px`,\n width: `${this.bounds.width}px`,\n height: `${this.bounds.height}px`,\n };\n\n const handles: ResizeHandle[] = [\"nw\", \"n\", \"ne\", \"e\", \"se\", \"s\", \"sw\", \"w\"];\n\n return html`\n <div\n class=\"box ${this.isDragging ? \"dragging\" : \"\"}\"\n style=${styleMap(boxStyles)}\n @pointerdown=${(e: PointerEvent) => this.handlePointerDown(e, \"move\")}\n >\n ${handles.map(\n (handle) => html`\n <div\n class=\"handle ${handle}\"\n @pointerdown=${(e: PointerEvent) => {\n e.stopPropagation();\n this.handlePointerDown(e, \"resize\", handle);\n }}\n ></div>\n `,\n )}\n <slot></slot>\n </div>\n `;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"EFResizableBox.js","names":[],"sources":["../../src/gui/EFResizableBox.ts"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
+ import { TemplateResult as TemplateResult$1 } from "../node_modules/lit-html/development/lit-html.js";
1
2
  import { ControllableInterface } from "./Controllable.js";
2
- import * as lit19 from "lit";
3
+ import * as _$lit from "lit";
3
4
  import { LitElement } from "lit";
4
- import * as lit_html18 from "lit-html";
5
5
 
6
6
  //#region src/gui/EFScrubber.d.ts
7
7
  declare const EFScrubber_base: (new (...args: any[]) => {
@@ -10,7 +10,7 @@ declare const EFScrubber_base: (new (...args: any[]) => {
10
10
  effectiveContext: ControllableInterface | null;
11
11
  }) & typeof LitElement;
12
12
  declare class EFScrubber extends EFScrubber_base {
13
- static styles: lit19.CSSResult[];
13
+ static styles: _$lit.CSSResult[];
14
14
  playing: boolean;
15
15
  contextCurrentTimeMs: number;
16
16
  contextDurationMs: number;
@@ -51,7 +51,7 @@ declare class EFScrubber extends EFScrubber_base {
51
51
  private boundHandlePointerUp;
52
52
  private boundHandlePointerCancel;
53
53
  private boundHandleContextMenu;
54
- render(): lit_html18.TemplateResult<1>;
54
+ render(): TemplateResult$1<1>;
55
55
  connectedCallback(): void;
56
56
  disconnectedCallback(): void;
57
57
  }
@@ -2,14 +2,13 @@ import { efContext } from "./efContext.js";
2
2
  import { currentTimeContext } from "./currentTimeContext.js";
3
3
  import { durationContext } from "./durationContext.js";
4
4
  import { playingContext } from "./playingContext.js";
5
- import { __decorate } from "../_virtual/_@oxc-project_runtime@0.95.0/helpers/decorate.js";
5
+ import { __decorate } from "../_virtual/_@oxc-project_runtime@0.122.0/helpers/decorate.js";
6
6
  import { quantizeToFrameTimeMs } from "./EFTimelineRuler.js";
7
7
  import { TargetOrContextMixin } from "./TargetOrContextMixin.js";
8
8
  import { consume } from "@lit/context";
9
9
  import { LitElement, css, html } from "lit";
10
10
  import { customElement, property, state } from "lit/decorators.js";
11
11
  import { createRef, ref } from "lit/directives/ref.js";
12
-
13
12
  //#region src/gui/EFScrubber.ts
14
13
  const BASE_PIXELS_PER_SECOND = 100;
15
14
  function timeToPixels(timeMs, durationMs, _containerWidth, zoomScale) {
@@ -21,7 +20,7 @@ function pixelsToTime(pixels, durationMs, _containerWidth, zoomScale) {
21
20
  if (durationMs <= 0) return 0;
22
21
  return pixels / (BASE_PIXELS_PER_SECOND * zoomScale) * 1e3;
23
22
  }
24
- let EFScrubber = class EFScrubber$1 extends TargetOrContextMixin(LitElement, efContext) {
23
+ let EFScrubber = class EFScrubber extends TargetOrContextMixin(LitElement, efContext) {
25
24
  constructor(..._args) {
26
25
  super(..._args);
27
26
  this.playing = false;
@@ -385,7 +384,7 @@ __decorate([property({ attribute: false })], EFScrubber.prototype, "isScrubbingR
385
384
  __decorate([state()], EFScrubber.prototype, "scrubProgress", void 0);
386
385
  __decorate([state()], EFScrubber.prototype, "isMoving", void 0);
387
386
  EFScrubber = __decorate([customElement("ef-scrubber")], EFScrubber);
388
-
389
387
  //#endregion
390
388
  export { EFScrubber };
389
+
391
390
  //# sourceMappingURL=EFScrubber.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EFScrubber.js","names":["EFScrubber"],"sources":["../../src/gui/EFScrubber.ts"],"sourcesContent":["import { consume } from \"@lit/context\";\nimport { css, html, LitElement } from \"lit\";\nimport { customElement, property, state } from \"lit/decorators.js\";\n\nimport { createRef, ref } from \"lit/directives/ref.js\";\nimport type { ControllableInterface } from \"./Controllable.js\";\nimport { currentTimeContext } from \"./currentTimeContext.js\";\nimport { durationContext } from \"./durationContext.js\";\nimport { efContext } from \"./efContext.js\";\nimport { playingContext } from \"./playingContext.js\";\nimport { TargetOrContextMixin } from \"./TargetOrContextMixin.js\";\nimport { quantizeToFrameTimeMs } from \"./EFTimelineRuler.js\";\n\nconst BASE_PIXELS_PER_SECOND = 100;\n\nfunction timeToPixels(\n timeMs: number,\n durationMs: number,\n _containerWidth: number,\n zoomScale: number,\n): number {\n if (durationMs <= 0) return 0;\n const pixelsPerSecond = BASE_PIXELS_PER_SECOND * zoomScale;\n return (timeMs / 1000) * pixelsPerSecond;\n}\n\nfunction pixelsToTime(\n pixels: number,\n durationMs: number,\n _containerWidth: number,\n zoomScale: number,\n): number {\n if (durationMs <= 0) return 0;\n const pixelsPerSecond = BASE_PIXELS_PER_SECOND * zoomScale;\n return (pixels / pixelsPerSecond) * 1000;\n}\n\n@customElement(\"ef-scrubber\")\nexport class EFScrubber extends TargetOrContextMixin(LitElement, efContext) {\n static styles = [\n css`\n :host {\n --ef-scrubber-height: 4px;\n --ef-scrubber-background: var(--ef-color-border, rgba(255, 255, 255, 0.2));\n --ef-scrubber-progress-color: var(--ef-color-primary, #fff);\n --ef-scrubber-handle-size: 12px;\n width: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n \n :host([orientation=\"vertical\"]) {\n width: 100%;\n height: 100%;\n position: absolute;\n inset: 0;\n pointer-events: auto;\n }\n\n .scrubber {\n width: 100%;\n height: var(--ef-scrubber-height);\n background: var(--ef-scrubber-background);\n position: relative;\n cursor: pointer;\n border-radius: 2px;\n touch-action: none;\n user-select: none;\n }\n\n :host([orientation=\"vertical\"]) .scrubber {\n width: 100%;\n height: 100%;\n background: transparent;\n cursor: ew-resize;\n }\n\n .progress {\n position: absolute;\n height: 100%;\n background: var(--ef-scrubber-progress-color);\n border-radius: 2px;\n }\n\n :host([orientation=\"vertical\"]) .progress {\n display: none;\n }\n\n .handle {\n position: absolute;\n width: var(--ef-scrubber-handle-size);\n height: var(--ef-scrubber-handle-size);\n background: var(--ef-scrubber-progress-color);\n border-radius: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n cursor: grab;\n }\n\n :host([orientation=\"vertical\"]) .handle {\n display: none;\n }\n\n .playhead {\n position: absolute;\n top: 0;\n bottom: 0;\n width: 2px;\n background: var(--ef-scrubber-progress-color);\n pointer-events: auto;\n cursor: ew-resize;\n z-index: 30;\n }\n\n ::part(playhead) {\n z-index: 30;\n }\n\n .playhead-handle {\n position: absolute;\n top: 0;\n left: 50%;\n transform: translate(-50%, -50%);\n width: 12px;\n height: 12px;\n background: var(--ef-scrubber-progress-color);\n border-radius: 50%;\n }\n\n .raw-preview {\n position: absolute;\n top: 0;\n bottom: 0;\n width: 2px;\n background: color-mix(in srgb, var(--ef-color-primary) 20%, transparent);\n pointer-events: none;\n z-index: 20;\n }\n\n /* Add CSS Shadow Parts */\n ::part(scrubber) { }\n ::part(progress) { }\n ::part(handle) { }\n `,\n ];\n\n @consume({ context: playingContext, subscribe: true })\n playing = false;\n\n @consume({ context: currentTimeContext, subscribe: true })\n contextCurrentTimeMs = Number.NaN;\n\n @consume({ context: durationContext, subscribe: true })\n contextDurationMs = 0;\n\n @property({ type: String, attribute: \"orientation\" })\n orientation: \"horizontal\" | \"vertical\" = \"horizontal\";\n\n @property({ type: Number, attribute: \"current-time-ms\" })\n currentTimeMs = Number.NaN;\n\n @property({ type: Number, attribute: \"duration-ms\" })\n durationMs = 0;\n\n @property({ type: Number, attribute: \"zoom-scale\" })\n zoomScale = 1.0;\n\n @property({ type: Number, attribute: \"container-width\" })\n containerWidth = 0;\n\n @property({ type: Number, attribute: \"fps\" })\n fps?: number;\n\n @property({ type: Number, attribute: \"raw-scrub-time-ms\" })\n rawScrubTimeMs?: number | null;\n\n @property({ attribute: false })\n scrollContainerRef?: { current: HTMLElement | null };\n\n /**\n * Reference to the element that represents the actual track content area.\n * Used to calculate the offset between the scroll container and where tracks begin.\n */\n @property({ attribute: false })\n trackContentRef?: { current: HTMLElement | null };\n\n @property({ attribute: false })\n onSeek?: (time: number) => void;\n\n @property({ attribute: false })\n isScrubbingRef?: { current: boolean };\n\n get context(): ControllableInterface | null {\n return this.effectiveContext;\n }\n\n get effectiveCurrentTimeMs(): number {\n if (!Number.isNaN(this.currentTimeMs)) {\n return this.currentTimeMs;\n }\n if (!Number.isNaN(this.contextCurrentTimeMs)) {\n return this.contextCurrentTimeMs;\n }\n return 0;\n }\n\n get effectiveDurationMs(): number {\n return this.durationMs || this.contextDurationMs || 0;\n }\n\n get isTimelineMode(): boolean {\n return this.orientation === \"vertical\" && this.zoomScale > 0;\n }\n\n @state()\n private scrubProgress = 0;\n\n @state()\n private isMoving = false;\n\n private scrubberRef = createRef<HTMLElement>();\n private _scrubberElement?: HTMLElement;\n private capturedPointerId: number | null = null;\n private _wasPlayingBeforeScrub = false;\n\n private updateProgress(e: PointerEvent) {\n const scrubberEl = this.scrubberRef.value || this._scrubberElement;\n if (!scrubberEl) return;\n\n const duration = this.effectiveDurationMs;\n if (duration <= 0) return;\n\n if (this.isTimelineMode) {\n // Timeline mode: use pixel-based positioning with zoom\n const scrollContainer = this.scrollContainerRef?.current || scrubberEl.parentElement;\n if (!scrollContainer) return;\n\n const scrollContainerRect = scrollContainer.getBoundingClientRect();\n const scrollLeft = scrollContainer.scrollLeft || 0;\n\n // Calculate pixel offset dynamically from the track content element\n // This accounts for any hierarchy panel or other elements before the tracks\n let pixelOffset = 0;\n if (this.trackContentRef?.current) {\n const trackRect = this.trackContentRef.current.getBoundingClientRect();\n pixelOffset = trackRect.left - scrollContainerRect.left + scrollContainer.scrollLeft;\n }\n\n const x = e.clientX - scrollContainerRect.left - pixelOffset;\n const pixelPosition = scrollLeft + x;\n const effectiveWidth =\n this.containerWidth > 0 ? this.containerWidth : scrollContainerRect.width;\n if (effectiveWidth <= 0) return;\n\n let rawTime = pixelsToTime(pixelPosition, duration, effectiveWidth, this.zoomScale);\n rawTime = Math.max(0, Math.min(rawTime, duration));\n\n // Quantize to frame boundaries if FPS is provided, then clamp to duration\n let quantizedTime =\n this.fps && this.fps > 0 ? quantizeToFrameTimeMs(rawTime, this.fps) : rawTime;\n quantizedTime = Math.max(0, Math.min(quantizedTime, duration));\n\n this.scrubProgress = quantizedTime / duration;\n\n if (this.onSeek) {\n this.onSeek(quantizedTime);\n } else {\n // Emit seek event for event listeners\n this.dispatchEvent(\n new CustomEvent(\"seek\", {\n detail: quantizedTime,\n bubbles: true,\n composed: true,\n }),\n );\n if (this.context) {\n this.context.currentTimeMs = quantizedTime;\n }\n }\n } else {\n // Horizontal mode: simple progress calculation\n const rect = scrubberEl.getBoundingClientRect();\n const x = e.clientX - rect.left;\n const progress = Math.max(0, Math.min(1, x / rect.width));\n\n this.scrubProgress = progress;\n const timeMs = progress * duration;\n\n if (this.onSeek) {\n this.onSeek(timeMs);\n } else {\n // Emit seek event for event listeners\n this.dispatchEvent(\n new CustomEvent(\"seek\", {\n detail: timeMs,\n bubbles: true,\n composed: true,\n }),\n );\n if (this.context) {\n this.context.currentTimeMs = timeMs;\n }\n }\n }\n }\n\n private handlePointerDown = (e: PointerEvent) => {\n const scrubberEl = this.scrubberRef.value || this._scrubberElement;\n if (!scrubberEl) return;\n\n this.isMoving = true;\n if (this.isScrubbingRef) {\n this.isScrubbingRef.current = true;\n }\n e.preventDefault();\n e.stopPropagation();\n this.capturedPointerId = e.pointerId;\n try {\n scrubberEl.setPointerCapture(e.pointerId);\n } catch (err) {\n // setPointerCapture may fail in some cases, continue anyway\n console.warn(\"Failed to set pointer capture:\", err);\n }\n\n if (this.playing && this.context) {\n this._wasPlayingBeforeScrub = true;\n this.context.pause();\n }\n\n this.updateProgress(e);\n };\n\n private boundHandlePointerMove = (e: PointerEvent) => {\n if (this.isMoving && e.pointerId === this.capturedPointerId) {\n e.preventDefault();\n e.stopPropagation();\n this.updateProgress(e);\n }\n };\n\n private boundHandlePointerUp = (e: PointerEvent) => {\n const scrubberEl = this.scrubberRef.value || this._scrubberElement;\n if (e.pointerId === this.capturedPointerId && scrubberEl) {\n e.preventDefault();\n e.stopPropagation();\n try {\n scrubberEl.releasePointerCapture(e.pointerId);\n } catch (_err) {\n // releasePointerCapture may fail if capture was already lost\n }\n this.capturedPointerId = null;\n this.isMoving = false;\n if (this.isScrubbingRef) {\n this.isScrubbingRef.current = false;\n }\n if (this._wasPlayingBeforeScrub) {\n this._wasPlayingBeforeScrub = false;\n this.context?.play();\n }\n }\n };\n\n private boundHandlePointerCancel = (e: PointerEvent) => {\n const scrubberEl = this.scrubberRef.value || this._scrubberElement;\n if (e.pointerId === this.capturedPointerId && scrubberEl) {\n try {\n scrubberEl.releasePointerCapture(e.pointerId);\n } catch (_err) {\n // releasePointerCapture may fail if capture was already lost\n }\n this.capturedPointerId = null;\n this.isMoving = false;\n if (this.isScrubbingRef) {\n this.isScrubbingRef.current = false;\n }\n if (this._wasPlayingBeforeScrub) {\n this._wasPlayingBeforeScrub = false;\n this.context?.play();\n }\n }\n };\n\n private boundHandleContextMenu = (e: Event) => {\n if (this.isMoving) {\n e.preventDefault();\n e.stopPropagation();\n }\n };\n\n render() {\n const duration = this.effectiveDurationMs;\n const currentTime = this.effectiveCurrentTimeMs;\n\n if (duration <= 0) {\n return html``;\n }\n\n if (this.isTimelineMode) {\n // Vertical timeline mode: render playhead line\n const scrubberEl = this.scrubberRef.value || this._scrubberElement;\n const effectiveWidth =\n this.containerWidth > 0\n ? this.containerWidth\n : scrubberEl?.parentElement?.getBoundingClientRect().width || 0;\n\n const positionPixels =\n effectiveWidth > 0\n ? timeToPixels(currentTime, duration, effectiveWidth, this.zoomScale)\n : 0;\n\n const rawScrubPositionPixels =\n this.rawScrubTimeMs !== null && this.rawScrubTimeMs !== undefined && effectiveWidth > 0\n ? timeToPixels(this.rawScrubTimeMs, duration, effectiveWidth, this.zoomScale)\n : null;\n\n return html`\n ${\n rawScrubPositionPixels !== null && rawScrubPositionPixels !== positionPixels\n ? html`<div\n class=\"raw-preview\"\n style=\"left: ${rawScrubPositionPixels}px\"\n ></div>`\n : html``\n }\n <div\n ${ref(this.scrubberRef)}\n part=\"scrubber\"\n class=\"scrubber\"\n @pointerdown=${this.handlePointerDown}\n @contextmenu=${this.boundHandleContextMenu}\n >\n <div\n part=\"playhead\"\n class=\"playhead\"\n style=\"left: ${positionPixels}px\"\n @pointerdown=${this.handlePointerDown}\n >\n <div class=\"playhead-handle\"></div>\n </div>\n </div>\n `;\n } else {\n // Horizontal mode: render progress bar\n const currentProgress = duration > 0 ? currentTime / duration : 0;\n const displayProgress = this.isMoving ? this.scrubProgress : currentProgress;\n\n return html`\n <div\n ${ref(this.scrubberRef)}\n part=\"scrubber\"\n class=\"scrubber\"\n @pointerdown=${this.handlePointerDown}\n @contextmenu=${this.boundHandleContextMenu}\n >\n <div part=\"progress\" class=\"progress\" style=\"width: ${displayProgress * 100}%\"></div>\n <div part=\"handle\" class=\"handle\" style=\"left: ${displayProgress * 100}%\"></div>\n </div>\n `;\n }\n }\n\n connectedCallback() {\n super.connectedCallback();\n window.addEventListener(\"pointerup\", this.boundHandlePointerUp as EventListener, {\n passive: false,\n });\n window.addEventListener(\"pointermove\", this.boundHandlePointerMove, {\n passive: false,\n });\n window.addEventListener(\"pointercancel\", this.boundHandlePointerCancel as EventListener, {\n passive: false,\n });\n this.addEventListener(\"contextmenu\", this.boundHandleContextMenu, {\n passive: false,\n });\n this.addEventListener(\"pointerdown\", this.handlePointerDown as EventListener, {\n passive: false,\n });\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n window.removeEventListener(\"pointerup\", this.boundHandlePointerUp as EventListener);\n window.removeEventListener(\"pointermove\", this.boundHandlePointerMove);\n window.removeEventListener(\"pointercancel\", this.boundHandlePointerCancel as EventListener);\n this.removeEventListener(\"contextmenu\", this.boundHandleContextMenu);\n this.removeEventListener(\"pointerdown\", this.handlePointerDown as EventListener);\n if (this._wasPlayingBeforeScrub) {\n this._wasPlayingBeforeScrub = false;\n if ((this.context as unknown as Element | null)?.isConnected) {\n this.context!.play();\n }\n }\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"ef-scrubber\": EFScrubber;\n }\n}\n"],"mappings":";;;;;;;;;;;;;AAaA,MAAM,yBAAyB;AAE/B,SAAS,aACP,QACA,YACA,iBACA,WACQ;AACR,KAAI,cAAc,EAAG,QAAO;CAC5B,MAAM,kBAAkB,yBAAyB;AACjD,QAAQ,SAAS,MAAQ;;AAG3B,SAAS,aACP,QACA,YACA,iBACA,WACQ;AACR,KAAI,cAAc,EAAG,QAAO;AAE5B,QAAQ,UADgB,yBAAyB,aACb;;AAI/B,uBAAMA,qBAAmB,qBAAqB,YAAY,UAAU,CAAC;;;iBA8GhE;8BAGa;2BAGH;qBAGqB;uBAGzB;oBAGH;mBAGD;wBAGK;uBA+CO;kBAGL;qBAEG,WAAwB;2BAEH;gCACV;4BAmFJ,MAAoB;GAC/C,MAAM,aAAa,KAAK,YAAY,SAAS,KAAK;AAClD,OAAI,CAAC,WAAY;AAEjB,QAAK,WAAW;AAChB,OAAI,KAAK,eACP,MAAK,eAAe,UAAU;AAEhC,KAAE,gBAAgB;AAClB,KAAE,iBAAiB;AACnB,QAAK,oBAAoB,EAAE;AAC3B,OAAI;AACF,eAAW,kBAAkB,EAAE,UAAU;YAClC,KAAK;AAEZ,YAAQ,KAAK,kCAAkC,IAAI;;AAGrD,OAAI,KAAK,WAAW,KAAK,SAAS;AAChC,SAAK,yBAAyB;AAC9B,SAAK,QAAQ,OAAO;;AAGtB,QAAK,eAAe,EAAE;;iCAGU,MAAoB;AACpD,OAAI,KAAK,YAAY,EAAE,cAAc,KAAK,mBAAmB;AAC3D,MAAE,gBAAgB;AAClB,MAAE,iBAAiB;AACnB,SAAK,eAAe,EAAE;;;+BAIM,MAAoB;GAClD,MAAM,aAAa,KAAK,YAAY,SAAS,KAAK;AAClD,OAAI,EAAE,cAAc,KAAK,qBAAqB,YAAY;AACxD,MAAE,gBAAgB;AAClB,MAAE,iBAAiB;AACnB,QAAI;AACF,gBAAW,sBAAsB,EAAE,UAAU;aACtC,MAAM;AAGf,SAAK,oBAAoB;AACzB,SAAK,WAAW;AAChB,QAAI,KAAK,eACP,MAAK,eAAe,UAAU;AAEhC,QAAI,KAAK,wBAAwB;AAC/B,UAAK,yBAAyB;AAC9B,UAAK,SAAS,MAAM;;;;mCAKU,MAAoB;GACtD,MAAM,aAAa,KAAK,YAAY,SAAS,KAAK;AAClD,OAAI,EAAE,cAAc,KAAK,qBAAqB,YAAY;AACxD,QAAI;AACF,gBAAW,sBAAsB,EAAE,UAAU;aACtC,MAAM;AAGf,SAAK,oBAAoB;AACzB,SAAK,WAAW;AAChB,QAAI,KAAK,eACP,MAAK,eAAe,UAAU;AAEhC,QAAI,KAAK,wBAAwB;AAC/B,UAAK,yBAAyB;AAC9B,UAAK,SAAS,MAAM;;;;iCAKQ,MAAa;AAC7C,OAAI,KAAK,UAAU;AACjB,MAAE,gBAAgB;AAClB,MAAE,iBAAiB;;;;;gBA3VP,CACd,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAyGJ;;CAgDD,IAAI,UAAwC;AAC1C,SAAO,KAAK;;CAGd,IAAI,yBAAiC;AACnC,MAAI,CAAC,OAAO,MAAM,KAAK,cAAc,CACnC,QAAO,KAAK;AAEd,MAAI,CAAC,OAAO,MAAM,KAAK,qBAAqB,CAC1C,QAAO,KAAK;AAEd,SAAO;;CAGT,IAAI,sBAA8B;AAChC,SAAO,KAAK,cAAc,KAAK,qBAAqB;;CAGtD,IAAI,iBAA0B;AAC5B,SAAO,KAAK,gBAAgB,cAAc,KAAK,YAAY;;CAc7D,AAAQ,eAAe,GAAiB;EACtC,MAAM,aAAa,KAAK,YAAY,SAAS,KAAK;AAClD,MAAI,CAAC,WAAY;EAEjB,MAAM,WAAW,KAAK;AACtB,MAAI,YAAY,EAAG;AAEnB,MAAI,KAAK,gBAAgB;GAEvB,MAAM,kBAAkB,KAAK,oBAAoB,WAAW,WAAW;AACvE,OAAI,CAAC,gBAAiB;GAEtB,MAAM,sBAAsB,gBAAgB,uBAAuB;GACnE,MAAM,aAAa,gBAAgB,cAAc;GAIjD,IAAI,cAAc;AAClB,OAAI,KAAK,iBAAiB,QAExB,eADkB,KAAK,gBAAgB,QAAQ,uBAAuB,CAC9C,OAAO,oBAAoB,OAAO,gBAAgB;GAI5E,MAAM,gBAAgB,cADZ,EAAE,UAAU,oBAAoB,OAAO;GAEjD,MAAM,iBACJ,KAAK,iBAAiB,IAAI,KAAK,iBAAiB,oBAAoB;AACtE,OAAI,kBAAkB,EAAG;GAEzB,IAAI,UAAU,aAAa,eAAe,UAAU,gBAAgB,KAAK,UAAU;AACnF,aAAU,KAAK,IAAI,GAAG,KAAK,IAAI,SAAS,SAAS,CAAC;GAGlD,IAAI,gBACF,KAAK,OAAO,KAAK,MAAM,IAAI,sBAAsB,SAAS,KAAK,IAAI,GAAG;AACxE,mBAAgB,KAAK,IAAI,GAAG,KAAK,IAAI,eAAe,SAAS,CAAC;AAE9D,QAAK,gBAAgB,gBAAgB;AAErC,OAAI,KAAK,OACP,MAAK,OAAO,cAAc;QACrB;AAEL,SAAK,cACH,IAAI,YAAY,QAAQ;KACtB,QAAQ;KACR,SAAS;KACT,UAAU;KACX,CAAC,CACH;AACD,QAAI,KAAK,QACP,MAAK,QAAQ,gBAAgB;;SAG5B;GAEL,MAAM,OAAO,WAAW,uBAAuB;GAC/C,MAAM,IAAI,EAAE,UAAU,KAAK;GAC3B,MAAM,WAAW,KAAK,IAAI,GAAG,KAAK,IAAI,GAAG,IAAI,KAAK,MAAM,CAAC;AAEzD,QAAK,gBAAgB;GACrB,MAAM,SAAS,WAAW;AAE1B,OAAI,KAAK,OACP,MAAK,OAAO,OAAO;QACd;AAEL,SAAK,cACH,IAAI,YAAY,QAAQ;KACtB,QAAQ;KACR,SAAS;KACT,UAAU;KACX,CAAC,CACH;AACD,QAAI,KAAK,QACP,MAAK,QAAQ,gBAAgB;;;;CAyFrC,SAAS;EACP,MAAM,WAAW,KAAK;EACtB,MAAM,cAAc,KAAK;AAEzB,MAAI,YAAY,EACd,QAAO,IAAI;AAGb,MAAI,KAAK,gBAAgB;GAEvB,MAAM,aAAa,KAAK,YAAY,SAAS,KAAK;GAClD,MAAM,iBACJ,KAAK,iBAAiB,IAClB,KAAK,iBACL,YAAY,eAAe,uBAAuB,CAAC,SAAS;GAElE,MAAM,iBACJ,iBAAiB,IACb,aAAa,aAAa,UAAU,gBAAgB,KAAK,UAAU,GACnE;GAEN,MAAM,yBACJ,KAAK,mBAAmB,QAAQ,KAAK,mBAAmB,UAAa,iBAAiB,IAClF,aAAa,KAAK,gBAAgB,UAAU,gBAAgB,KAAK,UAAU,GAC3E;AAEN,UAAO,IAAI;UAEP,2BAA2B,QAAQ,2BAA2B,iBAC1D,IAAI;;6BAEW,uBAAuB;uBAEtC,IAAI,GACT;;YAEG,IAAI,KAAK,YAAY,CAAC;;;yBAGT,KAAK,kBAAkB;yBACvB,KAAK,uBAAuB;;;;;2BAK1B,eAAe;2BACf,KAAK,kBAAkB;;;;;;SAMvC;GAEL,MAAM,kBAAkB,WAAW,IAAI,cAAc,WAAW;GAChE,MAAM,kBAAkB,KAAK,WAAW,KAAK,gBAAgB;AAE7D,UAAO,IAAI;;YAEL,IAAI,KAAK,YAAY,CAAC;;;yBAGT,KAAK,kBAAkB;yBACvB,KAAK,uBAAuB;;gEAEW,kBAAkB,IAAI;2DAC3B,kBAAkB,IAAI;;;;;CAM/E,oBAAoB;AAClB,QAAM,mBAAmB;AACzB,SAAO,iBAAiB,aAAa,KAAK,sBAAuC,EAC/E,SAAS,OACV,CAAC;AACF,SAAO,iBAAiB,eAAe,KAAK,wBAAwB,EAClE,SAAS,OACV,CAAC;AACF,SAAO,iBAAiB,iBAAiB,KAAK,0BAA2C,EACvF,SAAS,OACV,CAAC;AACF,OAAK,iBAAiB,eAAe,KAAK,wBAAwB,EAChE,SAAS,OACV,CAAC;AACF,OAAK,iBAAiB,eAAe,KAAK,mBAAoC,EAC5E,SAAS,OACV,CAAC;;CAGJ,uBAAuB;AACrB,QAAM,sBAAsB;AAC5B,SAAO,oBAAoB,aAAa,KAAK,qBAAsC;AACnF,SAAO,oBAAoB,eAAe,KAAK,uBAAuB;AACtE,SAAO,oBAAoB,iBAAiB,KAAK,yBAA0C;AAC3F,OAAK,oBAAoB,eAAe,KAAK,uBAAuB;AACpE,OAAK,oBAAoB,eAAe,KAAK,kBAAmC;AAChF,MAAI,KAAK,wBAAwB;AAC/B,QAAK,yBAAyB;AAC9B,OAAK,KAAK,SAAuC,YAC/C,MAAK,QAAS,MAAM;;;;YAxVzB,QAAQ;CAAE,SAAS;CAAgB,WAAW;CAAM,CAAC;YAGrD,QAAQ;CAAE,SAAS;CAAoB,WAAW;CAAM,CAAC;YAGzD,QAAQ;CAAE,SAAS;CAAiB,WAAW;CAAM,CAAC;YAGtD,SAAS;CAAE,MAAM;CAAQ,WAAW;CAAe,CAAC;YAGpD,SAAS;CAAE,MAAM;CAAQ,WAAW;CAAmB,CAAC;YAGxD,SAAS;CAAE,MAAM;CAAQ,WAAW;CAAe,CAAC;YAGpD,SAAS;CAAE,MAAM;CAAQ,WAAW;CAAc,CAAC;YAGnD,SAAS;CAAE,MAAM;CAAQ,WAAW;CAAmB,CAAC;YAGxD,SAAS;CAAE,MAAM;CAAQ,WAAW;CAAO,CAAC;YAG5C,SAAS;CAAE,MAAM;CAAQ,WAAW;CAAqB,CAAC;YAG1D,SAAS,EAAE,WAAW,OAAO,CAAC;YAO9B,SAAS,EAAE,WAAW,OAAO,CAAC;YAG9B,SAAS,EAAE,WAAW,OAAO,CAAC;YAG9B,SAAS,EAAE,WAAW,OAAO,CAAC;YAyB9B,OAAO;YAGP,OAAO;yBArLT,cAAc,cAAc"}
1
+ {"version":3,"file":"EFScrubber.js","names":[],"sources":["../../src/gui/EFScrubber.ts"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
+ import { TemplateResult as TemplateResult$1 } from "../node_modules/lit-html/development/lit-html.js";
1
2
  import { ControllableInterface } from "./Controllable.js";
2
- import * as lit20 from "lit";
3
+ import * as _$lit from "lit";
3
4
  import { LitElement } from "lit";
4
- import * as lit_html19 from "lit-html";
5
5
 
6
6
  //#region src/gui/EFTimeDisplay.d.ts
7
7
  declare const EFTimeDisplay_base: (new (...args: any[]) => {
@@ -10,7 +10,7 @@ declare const EFTimeDisplay_base: (new (...args: any[]) => {
10
10
  effectiveContext: ControllableInterface | null;
11
11
  }) & typeof LitElement;
12
12
  declare class EFTimeDisplay extends EFTimeDisplay_base {
13
- static styles: lit20.CSSResult;
13
+ static styles: _$lit.CSSResult;
14
14
  currentTimeMs: number;
15
15
  durationMs: number;
16
16
  contextCurrentTimeMs: number;
@@ -18,7 +18,7 @@ declare class EFTimeDisplay extends EFTimeDisplay_base {
18
18
  get effectiveCurrentTimeMs(): number;
19
19
  get effectiveDurationMs(): number;
20
20
  private formatTime;
21
- render(): lit_html19.TemplateResult<1>;
21
+ render(): TemplateResult$1<1>;
22
22
  }
23
23
  declare global {
24
24
  interface HTMLElementTagNameMap {
@@ -1,14 +1,13 @@
1
1
  import { efContext } from "./efContext.js";
2
2
  import { currentTimeContext } from "./currentTimeContext.js";
3
3
  import { durationContext } from "./durationContext.js";
4
- import { __decorate } from "../_virtual/_@oxc-project_runtime@0.95.0/helpers/decorate.js";
4
+ import { __decorate } from "../_virtual/_@oxc-project_runtime@0.122.0/helpers/decorate.js";
5
5
  import { TargetOrContextMixin } from "./TargetOrContextMixin.js";
6
6
  import { consume } from "@lit/context";
7
7
  import { LitElement, css, html } from "lit";
8
8
  import { customElement, property } from "lit/decorators.js";
9
-
10
9
  //#region src/gui/EFTimeDisplay.ts
11
- let EFTimeDisplay = class EFTimeDisplay$1 extends TargetOrContextMixin(LitElement, efContext) {
10
+ let EFTimeDisplay = class EFTimeDisplay extends TargetOrContextMixin(LitElement, efContext) {
12
11
  constructor(..._args) {
13
12
  super(..._args);
14
13
  this.currentTimeMs = NaN;
@@ -70,7 +69,7 @@ __decorate([consume({
70
69
  subscribe: true
71
70
  })], EFTimeDisplay.prototype, "contextDurationMs", void 0);
72
71
  EFTimeDisplay = __decorate([customElement("ef-time-display")], EFTimeDisplay);
73
-
74
72
  //#endregion
75
73
  export { EFTimeDisplay };
74
+
76
75
  //# sourceMappingURL=EFTimeDisplay.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EFTimeDisplay.js","names":["EFTimeDisplay"],"sources":["../../src/gui/EFTimeDisplay.ts"],"sourcesContent":["import { consume } from \"@lit/context\";\nimport { css, html, LitElement } from \"lit\";\nimport { customElement, property } from \"lit/decorators.js\";\nimport { currentTimeContext } from \"./currentTimeContext.js\";\nimport { durationContext } from \"./durationContext.js\";\nimport { efContext } from \"./efContext.js\";\nimport { TargetOrContextMixin } from \"./TargetOrContextMixin.js\";\n\n@customElement(\"ef-time-display\")\nexport class EFTimeDisplay extends TargetOrContextMixin(LitElement, efContext) {\n static styles = css`\n :host {\n display: inline-flex;\n align-items: center;\n font-family: var(--ef-font-family, system-ui);\n font-size: var(--ef-font-size-xs, 0.75rem);\n color: var(--ef-text-color, var(--ef-color-text));\n white-space: nowrap;\n }\n\n ::part(time) {}\n `;\n\n @property({ type: Number, attribute: \"current-time-ms\" })\n currentTimeMs = Number.NaN;\n\n @property({ type: Number, attribute: \"duration-ms\" })\n durationMs = 0;\n\n @consume({ context: currentTimeContext, subscribe: true })\n contextCurrentTimeMs = Number.NaN;\n\n @consume({ context: durationContext, subscribe: true })\n contextDurationMs = 0;\n\n get effectiveCurrentTimeMs(): number {\n if (!Number.isNaN(this.currentTimeMs)) return this.currentTimeMs;\n if (!Number.isNaN(this.contextCurrentTimeMs)) return this.contextCurrentTimeMs;\n return 0;\n }\n\n get effectiveDurationMs(): number {\n return this.durationMs || this.contextDurationMs || 0;\n }\n\n private formatTime(ms: number): string {\n // Handle NaN, undefined, null, or negative values\n if (!Number.isFinite(ms) || ms < 0) {\n return \"0:00\";\n }\n\n const totalSeconds = Math.floor(ms / 1000);\n const minutes = Math.floor(totalSeconds / 60);\n const seconds = totalSeconds % 60;\n return `${minutes}:${seconds.toString().padStart(2, \"0\")}`;\n }\n\n render() {\n const currentTime = this.effectiveCurrentTimeMs;\n const totalTime = this.effectiveDurationMs;\n\n return html`\n <span part=\"time\">\n ${this.formatTime(currentTime)} / ${this.formatTime(totalTime)}\n </span>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"ef-time-display\": EFTimeDisplay;\n }\n}\n"],"mappings":";;;;;;;;;;AASO,0BAAMA,wBAAsB,qBAAqB,YAAY,UAAU,CAAC;;;uBAe7D;oBAGH;8BAGU;2BAGH;;;gBAvBJ,GAAG;;;;;;;;;;;;;CAyBnB,IAAI,yBAAiC;AACnC,MAAI,CAAC,OAAO,MAAM,KAAK,cAAc,CAAE,QAAO,KAAK;AACnD,MAAI,CAAC,OAAO,MAAM,KAAK,qBAAqB,CAAE,QAAO,KAAK;AAC1D,SAAO;;CAGT,IAAI,sBAA8B;AAChC,SAAO,KAAK,cAAc,KAAK,qBAAqB;;CAGtD,AAAQ,WAAW,IAAoB;AAErC,MAAI,CAAC,OAAO,SAAS,GAAG,IAAI,KAAK,EAC/B,QAAO;EAGT,MAAM,eAAe,KAAK,MAAM,KAAK,IAAK;AAG1C,SAAO,GAFS,KAAK,MAAM,eAAe,GAAG,CAE3B,IADF,eAAe,IACF,UAAU,CAAC,SAAS,GAAG,IAAI;;CAG1D,SAAS;EACP,MAAM,cAAc,KAAK;EACzB,MAAM,YAAY,KAAK;AAEvB,SAAO,IAAI;;UAEL,KAAK,WAAW,YAAY,CAAC,KAAK,KAAK,WAAW,UAAU,CAAC;;;;;YAxCpE,SAAS;CAAE,MAAM;CAAQ,WAAW;CAAmB,CAAC;YAGxD,SAAS;CAAE,MAAM;CAAQ,WAAW;CAAe,CAAC;YAGpD,QAAQ;CAAE,SAAS;CAAoB,WAAW;CAAM,CAAC;YAGzD,QAAQ;CAAE,SAAS;CAAiB,WAAW;CAAM,CAAC;4BAxBxD,cAAc,kBAAkB"}
1
+ {"version":3,"file":"EFTimeDisplay.js","names":[],"sources":["../../src/gui/EFTimeDisplay.ts"],"mappings":";;;;;;;;;AASO,IAAA,gBAAA,MAAM,sBAAsB,qBAAqB,YAAY,UAAU,CAAC;;;uBAe7D;oBAGH;8BAGU;2BAGH;;;gBAvBJ,GAAG;;;;;;;;;;;;;CAyBnB,IAAI,yBAAiC;AACnC,MAAI,CAAC,OAAO,MAAM,KAAK,cAAc,CAAE,QAAO,KAAK;AACnD,MAAI,CAAC,OAAO,MAAM,KAAK,qBAAqB,CAAE,QAAO,KAAK;AAC1D,SAAO;;CAGT,IAAI,sBAA8B;AAChC,SAAO,KAAK,cAAc,KAAK,qBAAqB;;CAGtD,WAAmB,IAAoB;AAErC,MAAI,CAAC,OAAO,SAAS,GAAG,IAAI,KAAK,EAC/B,QAAO;EAGT,MAAM,eAAe,KAAK,MAAM,KAAK,IAAK;AAG1C,SAAO,GAFS,KAAK,MAAM,eAAe,GAAG,CAE3B,IADF,eAAe,IACF,UAAU,CAAC,SAAS,GAAG,IAAI;;CAG1D,SAAS;EACP,MAAM,cAAc,KAAK;EACzB,MAAM,YAAY,KAAK;AAEvB,SAAO,IAAI;;UAEL,KAAK,WAAW,YAAY,CAAC,KAAK,KAAK,WAAW,UAAU,CAAC;;;;;YAxCpE,SAAS;CAAE,MAAM;CAAQ,WAAW;CAAmB,CAAC,CAAA,EAAA,cAAA,WAAA,iBAAA,KAAA,EAAA;YAGxD,SAAS;CAAE,MAAM;CAAQ,WAAW;CAAe,CAAC,CAAA,EAAA,cAAA,WAAA,cAAA,KAAA,EAAA;YAGpD,QAAQ;CAAE,SAAS;CAAoB,WAAW;CAAM,CAAC,CAAA,EAAA,cAAA,WAAA,wBAAA,KAAA,EAAA;YAGzD,QAAQ;CAAE,SAAS;CAAiB,WAAW;CAAM,CAAC,CAAA,EAAA,cAAA,WAAA,qBAAA,KAAA,EAAA;4BAxBxD,cAAc,kBAAkB,CAAA,EAAA,cAAA"}
@@ -1,7 +1,7 @@
1
+ import { TemplateResult as TemplateResult$1 } from "../node_modules/lit-html/development/lit-html.js";
1
2
  import { TimelineState } from "./timeline/timelineStateContext.js";
2
- import * as lit33 from "lit";
3
+ import * as _$lit from "lit";
3
4
  import { LitElement } from "lit";
4
- import * as lit_html31 from "lit-html";
5
5
 
6
6
  //#region src/gui/EFTimelineRuler.d.ts
7
7
  /**
@@ -25,7 +25,7 @@ declare function calculatePixelsPerFrame(frameIntervalMs: number, pixelsPerMs: n
25
25
  */
26
26
  declare function shouldShowFrameMarkers(pixelsPerFrame: number, minSpacing?: number): boolean;
27
27
  declare class EFTimelineRuler extends LitElement {
28
- static styles: lit33.CSSResult[];
28
+ static styles: _$lit.CSSResult[];
29
29
  durationMs: number;
30
30
  contextDurationMs: number;
31
31
  timelineState?: TimelineState;
@@ -59,7 +59,7 @@ declare class EFTimelineRuler extends LitElement {
59
59
  private calculateLabelInterval;
60
60
  private getVisibleLabels;
61
61
  private renderCanvas;
62
- render(): lit_html31.TemplateResult<1>;
62
+ render(): TemplateResult$1<1>;
63
63
  }
64
64
  declare global {
65
65
  interface HTMLElementTagNameMap {