@editframe/elements 0.30.2-beta.0 → 0.31.0-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.
- package/dist/EF_FRAMEGEN.d.ts +5 -0
- package/dist/EF_FRAMEGEN.js +20 -4
- package/dist/EF_FRAMEGEN.js.map +1 -1
- package/dist/EF_INTERACTIVE.js.map +1 -1
- package/dist/_virtual/rolldown_runtime.js +27 -0
- package/dist/canvas/EFCanvas.d.ts +311 -0
- package/dist/canvas/EFCanvas.js +1089 -0
- package/dist/canvas/EFCanvas.js.map +1 -0
- package/dist/canvas/EFCanvasItem.d.ts +55 -0
- package/dist/canvas/EFCanvasItem.js +72 -0
- package/dist/canvas/EFCanvasItem.js.map +1 -0
- package/dist/canvas/api/CanvasAPI.d.ts +115 -0
- package/dist/canvas/api/CanvasAPI.js +182 -0
- package/dist/canvas/api/CanvasAPI.js.map +1 -0
- package/dist/canvas/api/types.d.ts +42 -0
- package/dist/canvas/coordinateTransform.js +90 -0
- package/dist/canvas/coordinateTransform.js.map +1 -0
- package/dist/canvas/getElementBounds.js +40 -0
- package/dist/canvas/getElementBounds.js.map +1 -0
- package/dist/canvas/overlays/SelectionOverlay.js +265 -0
- package/dist/canvas/overlays/SelectionOverlay.js.map +1 -0
- package/dist/canvas/overlays/overlayState.js +153 -0
- package/dist/canvas/overlays/overlayState.js.map +1 -0
- package/dist/canvas/selection/SelectionController.js +105 -0
- package/dist/canvas/selection/SelectionController.js.map +1 -0
- package/dist/canvas/selection/SelectionModel.d.ts +98 -0
- package/dist/canvas/selection/SelectionModel.js +229 -0
- package/dist/canvas/selection/SelectionModel.js.map +1 -0
- package/dist/canvas/selection/selectionContext.d.ts +31 -0
- package/dist/canvas/selection/selectionContext.js +12 -0
- package/dist/canvas/selection/selectionContext.js.map +1 -0
- package/dist/elements/ContainerInfo.d.ts +29 -0
- package/dist/elements/ContainerInfo.js +30 -0
- package/dist/elements/ContainerInfo.js.map +1 -0
- package/dist/elements/EFAudio.d.ts +13 -3
- package/dist/elements/EFAudio.js +64 -10
- package/dist/elements/EFAudio.js.map +1 -1
- package/dist/elements/EFCaptions.d.ts +18 -16
- package/dist/elements/EFCaptions.js +110 -19
- package/dist/elements/EFCaptions.js.map +1 -1
- package/dist/elements/EFImage.d.ts +12 -2
- package/dist/elements/EFImage.js +79 -9
- package/dist/elements/EFImage.js.map +1 -1
- package/dist/elements/EFMedia/AssetIdMediaEngine.js +51 -4
- package/dist/elements/EFMedia/AssetIdMediaEngine.js.map +1 -1
- package/dist/elements/EFMedia/AssetMediaEngine.js +125 -52
- package/dist/elements/EFMedia/AssetMediaEngine.js.map +1 -1
- package/dist/elements/EFMedia/BaseMediaEngine.js +24 -6
- package/dist/elements/EFMedia/BaseMediaEngine.js.map +1 -1
- package/dist/elements/EFMedia/JitMediaEngine.js +12 -8
- package/dist/elements/EFMedia/JitMediaEngine.js.map +1 -1
- package/dist/elements/EFMedia/audioTasks/makeAudioBufferTask.js +46 -7
- package/dist/elements/EFMedia/audioTasks/makeAudioBufferTask.js.map +1 -1
- package/dist/elements/EFMedia/audioTasks/makeAudioFrequencyAnalysisTask.js +98 -73
- package/dist/elements/EFMedia/audioTasks/makeAudioFrequencyAnalysisTask.js.map +1 -1
- package/dist/elements/EFMedia/audioTasks/makeAudioInitSegmentFetchTask.js +28 -5
- package/dist/elements/EFMedia/audioTasks/makeAudioInitSegmentFetchTask.js.map +1 -1
- package/dist/elements/EFMedia/audioTasks/makeAudioInputTask.js +18 -6
- package/dist/elements/EFMedia/audioTasks/makeAudioInputTask.js.map +1 -1
- package/dist/elements/EFMedia/audioTasks/makeAudioSeekTask.js +8 -2
- package/dist/elements/EFMedia/audioTasks/makeAudioSeekTask.js.map +1 -1
- package/dist/elements/EFMedia/audioTasks/makeAudioSegmentFetchTask.js +31 -6
- package/dist/elements/EFMedia/audioTasks/makeAudioSegmentFetchTask.js.map +1 -1
- package/dist/elements/EFMedia/audioTasks/makeAudioSegmentIdTask.js +28 -5
- package/dist/elements/EFMedia/audioTasks/makeAudioSegmentIdTask.js.map +1 -1
- package/dist/elements/EFMedia/audioTasks/makeAudioTimeDomainAnalysisTask.js +97 -72
- package/dist/elements/EFMedia/audioTasks/makeAudioTimeDomainAnalysisTask.js.map +1 -1
- package/dist/elements/EFMedia/shared/AudioSpanUtils.js +3 -1
- package/dist/elements/EFMedia/shared/AudioSpanUtils.js.map +1 -1
- package/dist/elements/EFMedia/shared/BufferUtils.js +1 -1
- package/dist/elements/EFMedia/shared/BufferUtils.js.map +1 -1
- package/dist/elements/EFMedia/shared/ThumbnailExtractor.js +25 -14
- package/dist/elements/EFMedia/shared/ThumbnailExtractor.js.map +1 -1
- package/dist/elements/EFMedia/tasks/makeMediaEngineTask.js +47 -16
- package/dist/elements/EFMedia/tasks/makeMediaEngineTask.js.map +1 -1
- package/dist/elements/EFMedia/videoTasks/MainVideoInputCache.js +37 -19
- package/dist/elements/EFMedia/videoTasks/MainVideoInputCache.js.map +1 -1
- package/dist/elements/EFMedia/videoTasks/ScrubInputCache.js +65 -21
- package/dist/elements/EFMedia/videoTasks/ScrubInputCache.js.map +1 -1
- package/dist/elements/EFMedia/videoTasks/makeScrubVideoBufferTask.js +8 -3
- package/dist/elements/EFMedia/videoTasks/makeScrubVideoBufferTask.js.map +1 -1
- package/dist/elements/EFMedia/videoTasks/makeScrubVideoInitSegmentFetchTask.js +32 -9
- package/dist/elements/EFMedia/videoTasks/makeScrubVideoInitSegmentFetchTask.js.map +1 -1
- package/dist/elements/EFMedia/videoTasks/makeScrubVideoInputTask.js +33 -10
- package/dist/elements/EFMedia/videoTasks/makeScrubVideoInputTask.js.map +1 -1
- package/dist/elements/EFMedia/videoTasks/makeScrubVideoSeekTask.js +23 -8
- package/dist/elements/EFMedia/videoTasks/makeScrubVideoSeekTask.js.map +1 -1
- package/dist/elements/EFMedia/videoTasks/makeScrubVideoSegmentFetchTask.js +34 -10
- package/dist/elements/EFMedia/videoTasks/makeScrubVideoSegmentFetchTask.js.map +1 -1
- package/dist/elements/EFMedia/videoTasks/makeScrubVideoSegmentIdTask.js +31 -8
- package/dist/elements/EFMedia/videoTasks/makeScrubVideoSegmentIdTask.js.map +1 -1
- package/dist/elements/EFMedia/videoTasks/makeUnifiedVideoSeekTask.js +31 -114
- package/dist/elements/EFMedia/videoTasks/makeUnifiedVideoSeekTask.js.map +1 -1
- package/dist/elements/EFMedia/videoTasks/makeVideoBufferTask.js +44 -8
- package/dist/elements/EFMedia/videoTasks/makeVideoBufferTask.js.map +1 -1
- package/dist/elements/EFMedia.d.ts +18 -7
- package/dist/elements/EFMedia.js +23 -3
- package/dist/elements/EFMedia.js.map +1 -1
- package/dist/elements/EFPanZoom.d.ts +96 -0
- package/dist/elements/EFPanZoom.js +290 -0
- package/dist/elements/EFPanZoom.js.map +1 -0
- package/dist/elements/EFSourceMixin.js +7 -6
- package/dist/elements/EFSourceMixin.js.map +1 -1
- package/dist/elements/EFSurface.d.ts +6 -6
- package/dist/elements/EFSurface.js +7 -2
- package/dist/elements/EFSurface.js.map +1 -1
- package/dist/elements/EFTemporal.d.ts +2 -1
- package/dist/elements/EFTemporal.js +192 -71
- package/dist/elements/EFTemporal.js.map +1 -1
- package/dist/elements/EFText.d.ts +5 -4
- package/dist/elements/EFText.js +102 -13
- package/dist/elements/EFText.js.map +1 -1
- package/dist/elements/EFTextSegment.d.ts +32 -6
- package/dist/elements/EFTextSegment.js +53 -15
- package/dist/elements/EFTextSegment.js.map +1 -1
- package/dist/elements/EFThumbnailStrip.d.ts +118 -56
- package/dist/elements/EFThumbnailStrip.js +522 -358
- package/dist/elements/EFThumbnailStrip.js.map +1 -1
- package/dist/elements/EFTimegroup.d.ts +223 -27
- package/dist/elements/EFTimegroup.js +850 -147
- package/dist/elements/EFTimegroup.js.map +1 -1
- package/dist/elements/EFVideo.d.ts +42 -5
- package/dist/elements/EFVideo.js +165 -11
- package/dist/elements/EFVideo.js.map +1 -1
- package/dist/elements/EFWaveform.d.ts +6 -6
- package/dist/elements/EFWaveform.js +2 -1
- package/dist/elements/EFWaveform.js.map +1 -1
- package/dist/elements/ElementPositionInfo.d.ts +35 -0
- package/dist/elements/ElementPositionInfo.js +49 -0
- package/dist/elements/ElementPositionInfo.js.map +1 -0
- package/dist/elements/FetchMixin.js +16 -1
- package/dist/elements/FetchMixin.js.map +1 -1
- package/dist/elements/SessionThumbnailCache.js +152 -0
- package/dist/elements/SessionThumbnailCache.js.map +1 -0
- package/dist/elements/TargetController.js +3 -1
- package/dist/elements/TargetController.js.map +1 -1
- package/dist/elements/TimegroupController.js +9 -3
- package/dist/elements/TimegroupController.js.map +1 -1
- package/dist/elements/findRootTemporal.js +30 -0
- package/dist/elements/findRootTemporal.js.map +1 -0
- package/dist/elements/renderTemporalAudio.js +18 -5
- package/dist/elements/renderTemporalAudio.js.map +1 -1
- package/dist/elements/updateAnimations.js +171 -28
- package/dist/elements/updateAnimations.js.map +1 -1
- package/dist/getRenderInfo.d.ts +2 -2
- package/dist/gui/ContextMixin.js +4 -2
- package/dist/gui/ContextMixin.js.map +1 -1
- package/dist/gui/Controllable.js +74 -1
- package/dist/gui/Controllable.js.map +1 -1
- package/dist/gui/EFActiveRootTemporal.d.ts +50 -0
- package/dist/gui/EFActiveRootTemporal.js +94 -0
- package/dist/gui/EFActiveRootTemporal.js.map +1 -0
- package/dist/gui/EFConfiguration.d.ts +11 -5
- package/dist/gui/EFConfiguration.js.map +1 -1
- package/dist/gui/EFControls.d.ts +2 -2
- package/dist/gui/EFControls.js +109 -13
- package/dist/gui/EFControls.js.map +1 -1
- package/dist/gui/EFDial.d.ts +4 -4
- package/dist/gui/EFFilmstrip.d.ts +11 -214
- package/dist/gui/EFFilmstrip.js +53 -1152
- package/dist/gui/EFFilmstrip.js.map +1 -1
- package/dist/gui/EFFitScale.d.ts +3 -3
- package/dist/gui/EFFitScale.js +39 -12
- package/dist/gui/EFFitScale.js.map +1 -1
- package/dist/gui/EFFocusOverlay.d.ts +4 -4
- package/dist/gui/EFOverlayItem.d.ts +48 -0
- package/dist/gui/EFOverlayItem.js +97 -0
- package/dist/gui/EFOverlayItem.js.map +1 -0
- package/dist/gui/EFOverlayLayer.d.ts +70 -0
- package/dist/gui/EFOverlayLayer.js +104 -0
- package/dist/gui/EFOverlayLayer.js.map +1 -0
- package/dist/gui/EFPause.d.ts +4 -4
- package/dist/gui/EFPlay.d.ts +4 -4
- package/dist/gui/EFResizableBox.d.ts +12 -16
- package/dist/gui/EFResizableBox.js +109 -451
- package/dist/gui/EFResizableBox.js.map +1 -1
- package/dist/gui/EFScrubber.d.ts +30 -5
- package/dist/gui/EFScrubber.js +224 -31
- package/dist/gui/EFScrubber.js.map +1 -1
- package/dist/gui/EFTimeDisplay.d.ts +4 -4
- package/dist/gui/EFTimeDisplay.js +4 -1
- package/dist/gui/EFTimeDisplay.js.map +1 -1
- package/dist/gui/EFTimelineRuler.d.ts +71 -0
- package/dist/gui/EFTimelineRuler.js +320 -0
- package/dist/gui/EFTimelineRuler.js.map +1 -0
- package/dist/gui/EFToggleLoop.d.ts +4 -4
- package/dist/gui/EFTogglePlay.d.ts +4 -4
- package/dist/gui/EFTransformHandles.d.ts +91 -0
- package/dist/gui/EFTransformHandles.js +393 -0
- package/dist/gui/EFTransformHandles.js.map +1 -0
- package/dist/gui/EFWorkbench.d.ts +182 -4
- package/dist/gui/EFWorkbench.js +2067 -22
- package/dist/gui/EFWorkbench.js.map +1 -1
- package/dist/gui/FitScaleHelpers.d.ts +31 -0
- package/dist/gui/FitScaleHelpers.js +41 -0
- package/dist/gui/FitScaleHelpers.js.map +1 -0
- package/dist/gui/PlaybackController.d.ts +2 -1
- package/dist/gui/PlaybackController.js +46 -15
- package/dist/gui/PlaybackController.js.map +1 -1
- package/dist/gui/TWMixin.js +1 -1
- package/dist/gui/TWMixin.js.map +1 -1
- package/dist/gui/hierarchy/EFHierarchy.d.ts +65 -0
- package/dist/gui/hierarchy/EFHierarchy.js +338 -0
- package/dist/gui/hierarchy/EFHierarchy.js.map +1 -0
- package/dist/gui/hierarchy/EFHierarchyItem.d.ts +118 -0
- package/dist/gui/hierarchy/EFHierarchyItem.js +551 -0
- package/dist/gui/hierarchy/EFHierarchyItem.js.map +1 -0
- package/dist/gui/hierarchy/hierarchyContext.d.ts +38 -0
- package/dist/gui/hierarchy/hierarchyContext.js +8 -0
- package/dist/gui/hierarchy/hierarchyContext.js.map +1 -0
- package/dist/gui/icons.js +34 -0
- package/dist/gui/icons.js.map +1 -0
- package/dist/gui/panZoomTransformContext.js +12 -0
- package/dist/gui/panZoomTransformContext.js.map +1 -0
- package/dist/gui/previewSettingsContext.js +12 -0
- package/dist/gui/previewSettingsContext.js.map +1 -0
- package/dist/gui/timeline/EFTimeline.d.ts +270 -0
- package/dist/gui/timeline/EFTimeline.js +1369 -0
- package/dist/gui/timeline/EFTimeline.js.map +1 -0
- package/dist/gui/timeline/EFTimelineRow.js +374 -0
- package/dist/gui/timeline/EFTimelineRow.js.map +1 -0
- package/dist/gui/timeline/TrimHandles.d.ts +36 -0
- package/dist/gui/timeline/TrimHandles.js +204 -0
- package/dist/gui/timeline/TrimHandles.js.map +1 -0
- package/dist/gui/timeline/flattenHierarchy.js +31 -0
- package/dist/gui/timeline/flattenHierarchy.js.map +1 -0
- package/dist/gui/timeline/timelineStateContext.d.ts +26 -0
- package/dist/gui/timeline/timelineStateContext.js +42 -0
- package/dist/gui/timeline/timelineStateContext.js.map +1 -0
- package/dist/gui/timeline/tracks/AudioTrack.js +264 -0
- package/dist/gui/timeline/tracks/AudioTrack.js.map +1 -0
- package/dist/gui/timeline/tracks/CaptionsTrack.js +595 -0
- package/dist/gui/timeline/tracks/CaptionsTrack.js.map +1 -0
- package/dist/gui/timeline/tracks/HTMLTrack.js +19 -0
- package/dist/gui/timeline/tracks/HTMLTrack.js.map +1 -0
- package/dist/gui/timeline/tracks/ImageTrack.js +53 -0
- package/dist/gui/timeline/tracks/ImageTrack.js.map +1 -0
- package/dist/gui/timeline/tracks/TextTrack.js +250 -0
- package/dist/gui/timeline/tracks/TextTrack.js.map +1 -0
- package/dist/gui/timeline/tracks/TimegroupTrack.js +143 -0
- package/dist/gui/timeline/tracks/TimegroupTrack.js.map +1 -0
- package/dist/gui/timeline/tracks/TrackItem.js +269 -0
- package/dist/gui/timeline/tracks/TrackItem.js.map +1 -0
- package/dist/gui/timeline/tracks/VideoTrack.js +265 -0
- package/dist/gui/timeline/tracks/VideoTrack.js.map +1 -0
- package/dist/gui/timeline/tracks/WaveformTrack.js +19 -0
- package/dist/gui/timeline/tracks/WaveformTrack.js.map +1 -0
- package/dist/gui/timeline/tracks/ensureTrackItemInit.js +1 -0
- package/dist/gui/timeline/tracks/preloadTracks.js +9 -0
- package/dist/gui/timeline/tracks/renderTrackChildren.js +119 -0
- package/dist/gui/timeline/tracks/renderTrackChildren.js.map +1 -0
- package/dist/gui/timeline/tracks/waveformUtils.js +80 -0
- package/dist/gui/timeline/tracks/waveformUtils.js.map +1 -0
- package/dist/gui/transformCalculations.js +217 -0
- package/dist/gui/transformCalculations.js.map +1 -0
- package/dist/gui/transformUtils.d.ts +37 -0
- package/dist/gui/transformUtils.js +77 -0
- package/dist/gui/transformUtils.js.map +1 -0
- package/dist/gui/tree/EFTree.d.ts +59 -0
- package/dist/gui/tree/EFTree.js +174 -0
- package/dist/gui/tree/EFTree.js.map +1 -0
- package/dist/gui/tree/EFTreeItem.d.ts +38 -0
- package/dist/gui/tree/EFTreeItem.js +146 -0
- package/dist/gui/tree/EFTreeItem.js.map +1 -0
- package/dist/gui/tree/treeContext.d.ts +60 -0
- package/dist/gui/tree/treeContext.js +23 -0
- package/dist/gui/tree/treeContext.js.map +1 -0
- package/dist/index.d.ts +32 -8
- package/dist/index.js +30 -6
- package/dist/index.js.map +1 -1
- package/dist/node_modules/react/cjs/react-jsx-runtime.development.js +688 -0
- package/dist/node_modules/react/cjs/react-jsx-runtime.development.js.map +1 -0
- package/dist/node_modules/react/cjs/react.development.js +1521 -0
- package/dist/node_modules/react/cjs/react.development.js.map +1 -0
- package/dist/node_modules/react/index.js +13 -0
- package/dist/node_modules/react/index.js.map +1 -0
- package/dist/node_modules/react/jsx-runtime.js +13 -0
- package/dist/node_modules/react/jsx-runtime.js.map +1 -0
- package/dist/preview/AdaptiveResolutionTracker.js +228 -0
- package/dist/preview/AdaptiveResolutionTracker.js.map +1 -0
- package/dist/preview/RenderProfiler.js +135 -0
- package/dist/preview/RenderProfiler.js.map +1 -0
- package/dist/preview/previewSettings.js +131 -0
- package/dist/preview/previewSettings.js.map +1 -0
- package/dist/preview/previewTypes.js +64 -0
- package/dist/preview/previewTypes.js.map +1 -0
- package/dist/preview/renderTimegroupPreview.js +656 -0
- package/dist/preview/renderTimegroupPreview.js.map +1 -0
- package/dist/preview/renderTimegroupToCanvas.d.ts +37 -0
- package/dist/preview/renderTimegroupToCanvas.js +840 -0
- package/dist/preview/renderTimegroupToCanvas.js.map +1 -0
- package/dist/preview/renderTimegroupToVideo.d.ts +39 -0
- package/dist/preview/renderTimegroupToVideo.js +274 -0
- package/dist/preview/renderTimegroupToVideo.js.map +1 -0
- package/dist/preview/renderers.js +16 -0
- package/dist/preview/renderers.js.map +1 -0
- package/dist/preview/statsTrackingStrategy.js +201 -0
- package/dist/preview/statsTrackingStrategy.js.map +1 -0
- package/dist/preview/thumbnailCacheSettings.js +52 -0
- package/dist/preview/thumbnailCacheSettings.js.map +1 -0
- package/dist/preview/workers/WorkerPool.js +178 -0
- package/dist/preview/workers/WorkerPool.js.map +1 -0
- package/dist/sandbox/PlaybackControls.js +10 -0
- package/dist/sandbox/PlaybackControls.js.map +1 -0
- package/dist/sandbox/ScenarioRunner.js +1 -0
- package/dist/sandbox/index.js +2 -0
- package/dist/style.css +68 -67
- package/dist/transcoding/types/index.d.ts +2 -1
- package/dist/transcoding/utils/UrlGenerator.d.ts +6 -1
- package/dist/transcoding/utils/UrlGenerator.js +12 -3
- package/dist/transcoding/utils/UrlGenerator.js.map +1 -1
- package/dist/utils/LRUCache.js +1 -375
- package/dist/utils/LRUCache.js.map +1 -1
- package/dist/utils/frameTime.js +14 -0
- package/dist/utils/frameTime.js.map +1 -0
- package/package.json +3 -3
- package/test/profilingPlugin.ts +223 -0
- package/test/recordReplayProxyPlugin.js +22 -27
- package/test/thumbnail-performance-test.html +116 -0
- package/test/visualRegressionUtils.ts +286 -0
- package/types.json +1 -1
- package/dist/elements/TimegroupController.d.ts +0 -18
- package/dist/msToTimeCode.js +0 -17
- package/dist/msToTimeCode.js.map +0 -1
package/dist/style.css
CHANGED
|
@@ -433,37 +433,55 @@ video {
|
|
|
433
433
|
display: none;
|
|
434
434
|
}
|
|
435
435
|
/* biome-ignore lint/suspicious/noUnknownAtRules: @tailwind is a valid Tailwind CSS directive */
|
|
436
|
+
.\!container {
|
|
437
|
+
width: 100% !important;
|
|
438
|
+
}
|
|
436
439
|
.container {
|
|
437
440
|
width: 100%;
|
|
438
441
|
}
|
|
439
442
|
@media (min-width: 640px) {
|
|
443
|
+
.\!container {
|
|
444
|
+
max-width: 640px !important;
|
|
445
|
+
}
|
|
440
446
|
.container {
|
|
441
447
|
max-width: 640px;
|
|
442
448
|
}
|
|
443
449
|
}
|
|
444
450
|
@media (min-width: 768px) {
|
|
451
|
+
.\!container {
|
|
452
|
+
max-width: 768px !important;
|
|
453
|
+
}
|
|
445
454
|
.container {
|
|
446
455
|
max-width: 768px;
|
|
447
456
|
}
|
|
448
457
|
}
|
|
449
458
|
@media (min-width: 1024px) {
|
|
459
|
+
.\!container {
|
|
460
|
+
max-width: 1024px !important;
|
|
461
|
+
}
|
|
450
462
|
.container {
|
|
451
463
|
max-width: 1024px;
|
|
452
464
|
}
|
|
453
465
|
}
|
|
454
466
|
@media (min-width: 1280px) {
|
|
467
|
+
.\!container {
|
|
468
|
+
max-width: 1280px !important;
|
|
469
|
+
}
|
|
455
470
|
.container {
|
|
456
471
|
max-width: 1280px;
|
|
457
472
|
}
|
|
458
473
|
}
|
|
459
474
|
@media (min-width: 1536px) {
|
|
475
|
+
.\!container {
|
|
476
|
+
max-width: 1536px !important;
|
|
477
|
+
}
|
|
460
478
|
.container {
|
|
461
479
|
max-width: 1536px;
|
|
462
480
|
}
|
|
463
481
|
}
|
|
464
482
|
/* biome-ignore lint/suspicious/noUnknownAtRules: @tailwind is a valid Tailwind CSS directive */
|
|
465
|
-
|
|
466
|
-
|
|
483
|
+
.\!visible {
|
|
484
|
+
visibility: visible !important;
|
|
467
485
|
}
|
|
468
486
|
.visible {
|
|
469
487
|
visibility: visible;
|
|
@@ -471,6 +489,9 @@ video {
|
|
|
471
489
|
.invisible {
|
|
472
490
|
visibility: hidden;
|
|
473
491
|
}
|
|
492
|
+
.collapse {
|
|
493
|
+
visibility: collapse;
|
|
494
|
+
}
|
|
474
495
|
.static {
|
|
475
496
|
position: static;
|
|
476
497
|
}
|
|
@@ -483,6 +504,9 @@ video {
|
|
|
483
504
|
.relative {
|
|
484
505
|
position: relative;
|
|
485
506
|
}
|
|
507
|
+
.sticky {
|
|
508
|
+
position: sticky;
|
|
509
|
+
}
|
|
486
510
|
.inset-0 {
|
|
487
511
|
inset: 0px;
|
|
488
512
|
}
|
|
@@ -495,24 +519,11 @@ video {
|
|
|
495
519
|
.isolate {
|
|
496
520
|
isolation: isolate;
|
|
497
521
|
}
|
|
498
|
-
.z-10 {
|
|
499
|
-
z-index: 10;
|
|
500
|
-
}
|
|
501
|
-
.z-20 {
|
|
502
|
-
z-index: 20;
|
|
503
|
-
}
|
|
504
|
-
.z-\[20\] {
|
|
505
|
-
z-index: 20;
|
|
506
|
-
}
|
|
507
522
|
.z-\[5\] {
|
|
508
523
|
z-index: 5;
|
|
509
524
|
}
|
|
510
|
-
.
|
|
511
|
-
|
|
512
|
-
}
|
|
513
|
-
.mx-2 {
|
|
514
|
-
margin-left: 0.5rem;
|
|
515
|
-
margin-right: 0.5rem;
|
|
525
|
+
.mb-0 {
|
|
526
|
+
margin-bottom: 0px;
|
|
516
527
|
}
|
|
517
528
|
.mb-\[1px\] {
|
|
518
529
|
margin-bottom: 1px;
|
|
@@ -529,9 +540,18 @@ video {
|
|
|
529
540
|
.flex {
|
|
530
541
|
display: flex;
|
|
531
542
|
}
|
|
543
|
+
.inline-flex {
|
|
544
|
+
display: inline-flex;
|
|
545
|
+
}
|
|
546
|
+
.table {
|
|
547
|
+
display: table;
|
|
548
|
+
}
|
|
532
549
|
.grid {
|
|
533
550
|
display: grid;
|
|
534
551
|
}
|
|
552
|
+
.inline-grid {
|
|
553
|
+
display: inline-grid;
|
|
554
|
+
}
|
|
535
555
|
.contents {
|
|
536
556
|
display: contents;
|
|
537
557
|
}
|
|
@@ -572,8 +592,8 @@ video {
|
|
|
572
592
|
.w-\[1000px\] {
|
|
573
593
|
width: 1000px;
|
|
574
594
|
}
|
|
575
|
-
.w-\[
|
|
576
|
-
width:
|
|
595
|
+
.w-\[200px\] {
|
|
596
|
+
width: 200px;
|
|
577
597
|
}
|
|
578
598
|
.w-\[480px\] {
|
|
579
599
|
width: 480px;
|
|
@@ -587,30 +607,35 @@ video {
|
|
|
587
607
|
.w-full {
|
|
588
608
|
width: 100%;
|
|
589
609
|
}
|
|
610
|
+
.flex-shrink {
|
|
611
|
+
flex-shrink: 1;
|
|
612
|
+
}
|
|
613
|
+
.shrink {
|
|
614
|
+
flex-shrink: 1;
|
|
615
|
+
}
|
|
616
|
+
.\!transform {
|
|
617
|
+
transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) !important;
|
|
618
|
+
}
|
|
590
619
|
.transform {
|
|
591
620
|
transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
|
|
592
621
|
}
|
|
593
|
-
.cursor-
|
|
594
|
-
cursor:
|
|
622
|
+
.cursor-grabbing {
|
|
623
|
+
cursor: grabbing;
|
|
595
624
|
}
|
|
596
|
-
.
|
|
597
|
-
|
|
598
|
-
}
|
|
599
|
-
.touch-pan-x {
|
|
600
|
-
--tw-pan-x: pan-x;
|
|
601
|
-
touch-action: var(--tw-pan-x) var(--tw-pan-y) var(--tw-pinch-zoom);
|
|
625
|
+
.cursor-pointer {
|
|
626
|
+
cursor: pointer;
|
|
602
627
|
}
|
|
603
628
|
.resize {
|
|
604
629
|
resize: both;
|
|
605
630
|
}
|
|
606
|
-
.
|
|
607
|
-
|
|
631
|
+
.flex-row {
|
|
632
|
+
flex-direction: row;
|
|
608
633
|
}
|
|
609
634
|
.items-center {
|
|
610
635
|
align-items: center;
|
|
611
636
|
}
|
|
612
|
-
.
|
|
613
|
-
|
|
637
|
+
.gap-2 {
|
|
638
|
+
gap: 0.5rem;
|
|
614
639
|
}
|
|
615
640
|
.overflow-hidden {
|
|
616
641
|
overflow: hidden;
|
|
@@ -630,9 +655,6 @@ video {
|
|
|
630
655
|
.border {
|
|
631
656
|
border-width: 1px;
|
|
632
657
|
}
|
|
633
|
-
.border-r-2 {
|
|
634
|
-
border-right-width: 2px;
|
|
635
|
-
}
|
|
636
658
|
.bg-black {
|
|
637
659
|
--tw-bg-opacity: 1;
|
|
638
660
|
background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1));
|
|
@@ -649,9 +671,6 @@ video {
|
|
|
649
671
|
--tw-bg-opacity: 1;
|
|
650
672
|
background-color: rgb(250 204 21 / var(--tw-bg-opacity, 1));
|
|
651
673
|
}
|
|
652
|
-
.bg-opacity-20 {
|
|
653
|
-
--tw-bg-opacity: 0.2;
|
|
654
|
-
}
|
|
655
674
|
.object-contain {
|
|
656
675
|
-o-object-fit: contain;
|
|
657
676
|
object-fit: contain;
|
|
@@ -659,37 +678,13 @@ video {
|
|
|
659
678
|
.p-4 {
|
|
660
679
|
padding: 1rem;
|
|
661
680
|
}
|
|
662
|
-
.p-\[1px\] {
|
|
663
|
-
padding: 1px;
|
|
664
|
-
}
|
|
665
681
|
.px-0\.5 {
|
|
666
682
|
padding-left: 0.125rem;
|
|
667
683
|
padding-right: 0.125rem;
|
|
668
684
|
}
|
|
669
|
-
.pb-0 {
|
|
670
|
-
padding-bottom: 0px;
|
|
671
|
-
}
|
|
672
|
-
.pl-1 {
|
|
673
|
-
padding-left: 0.25rem;
|
|
674
|
-
}
|
|
675
|
-
.pl-2 {
|
|
676
|
-
padding-left: 0.5rem;
|
|
677
|
-
}
|
|
678
|
-
.pr-0 {
|
|
679
|
-
padding-right: 0px;
|
|
680
|
-
}
|
|
681
|
-
.pr-1 {
|
|
682
|
-
padding-right: 0.25rem;
|
|
683
|
-
}
|
|
684
|
-
.pt-\[8px\] {
|
|
685
|
-
padding-top: 8px;
|
|
686
|
-
}
|
|
687
685
|
.text-center {
|
|
688
686
|
text-align: center;
|
|
689
687
|
}
|
|
690
|
-
.font-mono {
|
|
691
|
-
font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
|
|
692
|
-
}
|
|
693
688
|
.text-\[8px\] {
|
|
694
689
|
font-size: 8px;
|
|
695
690
|
}
|
|
@@ -704,9 +699,14 @@ video {
|
|
|
704
699
|
.font-bold {
|
|
705
700
|
font-weight: 700;
|
|
706
701
|
}
|
|
707
|
-
.
|
|
708
|
-
|
|
709
|
-
|
|
702
|
+
.uppercase {
|
|
703
|
+
text-transform: uppercase;
|
|
704
|
+
}
|
|
705
|
+
.capitalize {
|
|
706
|
+
text-transform: capitalize;
|
|
707
|
+
}
|
|
708
|
+
.italic {
|
|
709
|
+
font-style: italic;
|
|
710
710
|
}
|
|
711
711
|
.text-black {
|
|
712
712
|
--tw-text-opacity: 1;
|
|
@@ -720,9 +720,6 @@ video {
|
|
|
720
720
|
--tw-text-opacity: 1;
|
|
721
721
|
color: rgb(20 83 45 / var(--tw-text-opacity, 1));
|
|
722
722
|
}
|
|
723
|
-
.line-through {
|
|
724
|
-
text-decoration-line: line-through;
|
|
725
|
-
}
|
|
726
723
|
.opacity-50 {
|
|
727
724
|
opacity: 0.5;
|
|
728
725
|
}
|
|
@@ -738,6 +735,10 @@ video {
|
|
|
738
735
|
--tw-blur: blur(8px);
|
|
739
736
|
filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
|
|
740
737
|
}
|
|
738
|
+
.drop-shadow {
|
|
739
|
+
--tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / 0.1)) drop-shadow(0 1px 1px rgb(0 0 0 / 0.06));
|
|
740
|
+
filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
|
|
741
|
+
}
|
|
741
742
|
.filter {
|
|
742
743
|
filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
|
|
743
744
|
}
|
|
@@ -81,8 +81,9 @@ interface MediaEngine {
|
|
|
81
81
|
* Uses scrub rendition and batches by segment for optimal performance
|
|
82
82
|
* Returns thumbnail objects in same order as input timestamps
|
|
83
83
|
* Returns null for any timestamps that fail to extract
|
|
84
|
+
* @param signal - Optional AbortSignal to cancel in-flight requests when element is disconnected
|
|
84
85
|
*/
|
|
85
|
-
extractThumbnails(timestamps: number[]): Promise<(ThumbnailResult | null)[]>;
|
|
86
|
+
extractThumbnails(timestamps: number[], signal?: AbortSignal): Promise<(ThumbnailResult | null)[]>;
|
|
86
87
|
}
|
|
87
88
|
interface ThumbnailResult {
|
|
88
89
|
timestamp: number;
|
|
@@ -5,6 +5,10 @@ import { MediaEngine, RenditionId } from "../types/index.js";
|
|
|
5
5
|
declare class UrlGenerator {
|
|
6
6
|
private baseUrl;
|
|
7
7
|
constructor(baseUrl: () => string);
|
|
8
|
+
/**
|
|
9
|
+
* Get the base URL for constructing absolute URLs
|
|
10
|
+
*/
|
|
11
|
+
getBaseUrl(): string;
|
|
8
12
|
/**
|
|
9
13
|
* Generate video segment URL
|
|
10
14
|
*/
|
|
@@ -18,7 +22,8 @@ declare class UrlGenerator {
|
|
|
18
22
|
*/
|
|
19
23
|
generateManifestUrl(mediaUrl: string): string;
|
|
20
24
|
/**
|
|
21
|
-
* Generate track fragment index URL
|
|
25
|
+
* Generate track fragment index URL using production API format
|
|
26
|
+
* @deprecated Use MD5-based URL generation in AssetMediaEngine.fetch() instead
|
|
22
27
|
*/
|
|
23
28
|
generateTrackFragmentIndexUrl(mediaUrl: string): string;
|
|
24
29
|
/**
|
|
@@ -4,6 +4,12 @@ var UrlGenerator = class {
|
|
|
4
4
|
this.baseUrl = baseUrl;
|
|
5
5
|
}
|
|
6
6
|
/**
|
|
7
|
+
* Get the base URL for constructing absolute URLs
|
|
8
|
+
*/
|
|
9
|
+
getBaseUrl() {
|
|
10
|
+
return this.baseUrl();
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
7
13
|
* Generate video segment URL
|
|
8
14
|
*/
|
|
9
15
|
generateSegmentUrl(segmentId, renditionId, metadata) {
|
|
@@ -20,7 +26,7 @@ var UrlGenerator = class {
|
|
|
20
26
|
* Generate init segment URL
|
|
21
27
|
*/
|
|
22
28
|
generateInitSegmentUrl(mediaUrl, rendition) {
|
|
23
|
-
return `${this.baseUrl()}/api/v1/transcode/${rendition}/init.
|
|
29
|
+
return `${this.baseUrl()}/api/v1/transcode/${rendition}/init.mp4?url=${encodeURIComponent(mediaUrl)}`;
|
|
24
30
|
}
|
|
25
31
|
/**
|
|
26
32
|
* Generate manifest URL
|
|
@@ -29,10 +35,13 @@ var UrlGenerator = class {
|
|
|
29
35
|
return `${this.baseUrl()}/api/v1/transcode/manifest.json?url=${encodeURIComponent(mediaUrl)}`;
|
|
30
36
|
}
|
|
31
37
|
/**
|
|
32
|
-
* Generate track fragment index URL
|
|
38
|
+
* Generate track fragment index URL using production API format
|
|
39
|
+
* @deprecated Use MD5-based URL generation in AssetMediaEngine.fetch() instead
|
|
33
40
|
*/
|
|
34
41
|
generateTrackFragmentIndexUrl(mediaUrl) {
|
|
35
|
-
|
|
42
|
+
let normalizedSrc = mediaUrl.startsWith("/") ? mediaUrl.slice(1) : mediaUrl;
|
|
43
|
+
normalizedSrc = normalizedSrc.replace(/^\/+/, "");
|
|
44
|
+
return `@ef-track-fragment-index/${normalizedSrc}`;
|
|
36
45
|
}
|
|
37
46
|
/**
|
|
38
47
|
* Generate quality presets URL
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UrlGenerator.js","names":["baseUrl: () => string"],"sources":["../../../src/transcoding/utils/UrlGenerator.ts"],"sourcesContent":["/**\n * URL generation utilities for transcoding endpoints\n */\n\nimport type { RenditionId } from \"../types/index.js\";\nimport type { MediaEngine } from \"../types/index.ts\";\n\nexport class UrlGenerator {\n constructor(private baseUrl: () => string) {}\n\n /**\n * Generate video segment URL\n */\n generateSegmentUrl(\n segmentId: \"init\" | number,\n renditionId: RenditionId,\n metadata: MediaEngine,\n ): string {\n const audioRendition = metadata.audioRendition;\n const videoRendition = metadata.videoRendition;\n const rendition = audioRendition ?? videoRendition;\n if (!rendition) {\n console.error(\"Rendition not found\", metadata);\n throw new Error(`Rendition ${renditionId} not found`);\n }\n\n const template =\n segmentId === \"init\"\n ? metadata.templates.initSegment\n : metadata.templates.mediaSegment;\n return template\n .replace(\"{rendition}\", renditionId)\n .replace(\"{segmentId}\", segmentId.toString())\n .replace(\"{src}\", metadata.src)\n .replace(\"{trackId}\", rendition.trackId?.toString() ?? \"\");\n }\n\n /**\n * Generate init segment URL\n */\n generateInitSegmentUrl(mediaUrl: string, rendition: string): string {\n return `${this.baseUrl()}/api/v1/transcode/${rendition}/init.
|
|
1
|
+
{"version":3,"file":"UrlGenerator.js","names":["baseUrl: () => string"],"sources":["../../../src/transcoding/utils/UrlGenerator.ts"],"sourcesContent":["/**\n * URL generation utilities for transcoding endpoints\n */\n\nimport type { RenditionId } from \"../types/index.js\";\nimport type { MediaEngine } from \"../types/index.ts\";\n\nexport class UrlGenerator {\n constructor(private baseUrl: () => string) {}\n\n /**\n * Get the base URL for constructing absolute URLs\n */\n getBaseUrl(): string {\n return this.baseUrl();\n }\n\n /**\n * Generate video segment URL\n */\n generateSegmentUrl(\n segmentId: \"init\" | number,\n renditionId: RenditionId,\n metadata: MediaEngine,\n ): string {\n const audioRendition = metadata.audioRendition;\n const videoRendition = metadata.videoRendition;\n const rendition = audioRendition ?? videoRendition;\n if (!rendition) {\n console.error(\"Rendition not found\", metadata);\n throw new Error(`Rendition ${renditionId} not found`);\n }\n\n const template =\n segmentId === \"init\"\n ? metadata.templates.initSegment\n : metadata.templates.mediaSegment;\n return template\n .replace(\"{rendition}\", renditionId)\n .replace(\"{segmentId}\", segmentId.toString())\n .replace(\"{src}\", metadata.src)\n .replace(\"{trackId}\", rendition.trackId?.toString() ?? \"\");\n }\n\n /**\n * Generate init segment URL\n */\n generateInitSegmentUrl(mediaUrl: string, rendition: string): string {\n return `${this.baseUrl()}/api/v1/transcode/${rendition}/init.mp4?url=${encodeURIComponent(mediaUrl)}`;\n }\n\n /**\n * Generate manifest URL\n */\n generateManifestUrl(mediaUrl: string): string {\n return `${this.baseUrl()}/api/v1/transcode/manifest.json?url=${encodeURIComponent(mediaUrl)}`;\n }\n\n /**\n * Generate track fragment index URL using production API format\n * @deprecated Use MD5-based URL generation in AssetMediaEngine.fetch() instead\n */\n generateTrackFragmentIndexUrl(mediaUrl: string): string {\n // Normalize the path: remove leading slash and any double slashes\n let normalizedSrc = mediaUrl.startsWith(\"/\")\n ? mediaUrl.slice(1)\n : mediaUrl;\n // Remove any remaining leading slashes (handles cases like \"//assets/video.mp4\")\n normalizedSrc = normalizedSrc.replace(/^\\/+/, \"\");\n // Legacy format - kept for backward compatibility but should not be used\n return `@ef-track-fragment-index/${normalizedSrc}`;\n }\n\n /**\n * Generate quality presets URL\n */\n generatePresetsUrl(): string {\n return `${this.baseUrl()}/api/v1/transcode/presets`;\n }\n}\n"],"mappings":";AAOA,IAAa,eAAb,MAA0B;CACxB,YAAY,AAAQA,SAAuB;EAAvB;;;;;CAKpB,aAAqB;AACnB,SAAO,KAAK,SAAS;;;;;CAMvB,mBACE,WACA,aACA,UACQ;EACR,MAAM,iBAAiB,SAAS;EAChC,MAAM,iBAAiB,SAAS;EAChC,MAAM,YAAY,kBAAkB;AACpC,MAAI,CAAC,WAAW;AACd,WAAQ,MAAM,uBAAuB,SAAS;AAC9C,SAAM,IAAI,MAAM,aAAa,YAAY,YAAY;;AAOvD,UAHE,cAAc,SACV,SAAS,UAAU,cACnB,SAAS,UAAU,cAEtB,QAAQ,eAAe,YAAY,CACnC,QAAQ,eAAe,UAAU,UAAU,CAAC,CAC5C,QAAQ,SAAS,SAAS,IAAI,CAC9B,QAAQ,aAAa,UAAU,SAAS,UAAU,IAAI,GAAG;;;;;CAM9D,uBAAuB,UAAkB,WAA2B;AAClE,SAAO,GAAG,KAAK,SAAS,CAAC,oBAAoB,UAAU,gBAAgB,mBAAmB,SAAS;;;;;CAMrG,oBAAoB,UAA0B;AAC5C,SAAO,GAAG,KAAK,SAAS,CAAC,sCAAsC,mBAAmB,SAAS;;;;;;CAO7F,8BAA8B,UAA0B;EAEtD,IAAI,gBAAgB,SAAS,WAAW,IAAI,GACxC,SAAS,MAAM,EAAE,GACjB;AAEJ,kBAAgB,cAAc,QAAQ,QAAQ,GAAG;AAEjD,SAAO,4BAA4B;;;;;CAMrC,qBAA6B;AAC3B,SAAO,GAAG,KAAK,SAAS,CAAC"}
|