@r2digisolutions/components 0.1.7 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (324) hide show
  1. package/dist/components/atoms/IconButton/IconButton.svelte +1 -1
  2. package/dist/components/atoms/MediaKindIcon/MediaKindIcon.stories.js +8 -0
  3. package/dist/components/atoms/MediaKindIcon/MediaKindIcon.svelte +122 -0
  4. package/dist/components/atoms/MediaKindIcon/MediaKindIcon.svelte.d.ts +11 -0
  5. package/dist/components/atoms/MediaKindIcon/MediaKindIconStory.svelte +12 -0
  6. package/dist/components/atoms/MediaKindIcon/MediaKindIconStory.svelte.d.ts +18 -0
  7. package/dist/components/atoms/PanKnob/PanKnob.stories.d.ts +9 -0
  8. package/dist/components/atoms/PanKnob/PanKnob.stories.js +8 -0
  9. package/dist/components/atoms/PanKnob/PanKnob.svelte +218 -0
  10. package/dist/components/atoms/PanKnob/PanKnob.svelte.d.ts +19 -0
  11. package/dist/components/atoms/PanKnob/PanKnobStory.svelte +15 -0
  12. package/dist/components/atoms/PanKnob/PanKnobStory.svelte.d.ts +3 -0
  13. package/dist/components/atoms/Playhead/Playhead.stories.js +8 -0
  14. package/dist/components/atoms/Playhead/Playhead.svelte +59 -0
  15. package/dist/components/atoms/Playhead/Playhead.svelte.d.ts +13 -0
  16. package/dist/components/atoms/Playhead/PlayheadStory.svelte +9 -0
  17. package/dist/components/atoms/Playhead/PlayheadStory.svelte.d.ts +18 -0
  18. package/dist/components/atoms/TimeRuler/TimeRuler.stories.js +8 -0
  19. package/dist/components/atoms/TimeRuler/TimeRuler.svelte +58 -0
  20. package/dist/components/atoms/TimeRuler/TimeRuler.svelte.d.ts +10 -0
  21. package/dist/components/atoms/TimeRuler/TimeRulerStory.svelte +7 -0
  22. package/dist/components/atoms/TimeRuler/TimeRulerStory.svelte.d.ts +18 -0
  23. package/dist/components/atoms/Tooltip/Tooltip.svelte +1 -1
  24. package/dist/components/atoms/TrimHandle/TrimHandle.stories.js +8 -0
  25. package/dist/components/atoms/TrimHandle/TrimHandle.svelte +63 -0
  26. package/dist/components/atoms/TrimHandle/TrimHandle.svelte.d.ts +12 -0
  27. package/dist/components/atoms/TrimHandle/TrimHandleStory.svelte +11 -0
  28. package/dist/components/atoms/TrimHandle/TrimHandleStory.svelte.d.ts +18 -0
  29. package/dist/components/molecules/AiAssistPanel/AiAssistPanel.stories.d.ts +9 -0
  30. package/dist/components/molecules/AiAssistPanel/AiAssistPanel.stories.js +8 -0
  31. package/dist/components/molecules/AiAssistPanel/AiAssistPanel.svelte +102 -0
  32. package/dist/components/molecules/AiAssistPanel/AiAssistPanel.svelte.d.ts +20 -0
  33. package/dist/components/molecules/AiAssistPanel/AiAssistPanelStory.svelte +34 -0
  34. package/dist/components/molecules/AiAssistPanel/AiAssistPanelStory.svelte.d.ts +3 -0
  35. package/dist/components/molecules/BulkActionBar/BulkActionBar.svelte +97 -61
  36. package/dist/components/molecules/BulkActionBar/BulkActionBar.svelte.d.ts +2 -0
  37. package/dist/components/molecules/BulkEditPanel/BulkEditPanel.stories.js +8 -0
  38. package/dist/components/molecules/BulkEditPanel/BulkEditPanel.svelte +117 -0
  39. package/dist/components/molecules/BulkEditPanel/BulkEditPanel.svelte.d.ts +23 -0
  40. package/dist/components/molecules/BulkEditPanel/BulkEditPanelStory.svelte +18 -0
  41. package/dist/components/molecules/BulkEditPanel/BulkEditPanelStory.svelte.d.ts +18 -0
  42. package/dist/components/molecules/CanvasElementsPanel/CanvasElementsPanel.stories.js +8 -0
  43. package/dist/components/molecules/CanvasElementsPanel/CanvasElementsPanel.svelte +858 -0
  44. package/dist/components/molecules/CanvasElementsPanel/CanvasElementsPanel.svelte.d.ts +43 -0
  45. package/dist/components/molecules/CanvasElementsPanel/CanvasElementsPanelStory.svelte +7 -0
  46. package/dist/components/molecules/CanvasElementsPanel/CanvasElementsPanelStory.svelte.d.ts +18 -0
  47. package/dist/components/molecules/CanvasInspector/CanvasInspector.stories.d.ts +9 -0
  48. package/dist/components/molecules/CanvasInspector/CanvasInspector.stories.js +8 -0
  49. package/dist/components/molecules/CanvasInspector/CanvasInspector.svelte +1140 -0
  50. package/dist/components/molecules/CanvasInspector/CanvasInspector.svelte.d.ts +28 -0
  51. package/dist/components/molecules/CanvasInspector/CanvasInspectorStory.svelte +20 -0
  52. package/dist/components/molecules/CanvasInspector/CanvasInspectorStory.svelte.d.ts +3 -0
  53. package/dist/components/molecules/ColorPicker/ColorPicker.svelte +1 -1
  54. package/dist/components/molecules/ColumnVisibilityMenu/ColumnVisibilityMenu.stories.d.ts +9 -0
  55. package/dist/components/molecules/ColumnVisibilityMenu/ColumnVisibilityMenu.stories.js +8 -0
  56. package/dist/components/molecules/ColumnVisibilityMenu/ColumnVisibilityMenu.svelte +108 -0
  57. package/dist/components/molecules/ColumnVisibilityMenu/ColumnVisibilityMenu.svelte.d.ts +18 -0
  58. package/dist/components/molecules/ColumnVisibilityMenu/ColumnVisibilityMenuStory.svelte +15 -0
  59. package/dist/components/molecules/ColumnVisibilityMenu/ColumnVisibilityMenuStory.svelte.d.ts +3 -0
  60. package/dist/components/molecules/ConflictResolver/ConflictResolver.stories.js +8 -0
  61. package/dist/components/molecules/ConflictResolver/ConflictResolver.svelte +73 -0
  62. package/dist/components/molecules/ConflictResolver/ConflictResolver.svelte.d.ts +16 -0
  63. package/dist/components/molecules/ConflictResolver/ConflictResolverStory.svelte +11 -0
  64. package/dist/components/molecules/ConflictResolver/ConflictResolverStory.svelte.d.ts +18 -0
  65. package/dist/components/molecules/ContextMenu/ContextMenu.svelte +204 -60
  66. package/dist/components/molecules/ContextMenu/ContextMenu.svelte.d.ts +9 -0
  67. package/dist/components/molecules/ExpressionEditor/ExpressionEditor.stories.d.ts +9 -0
  68. package/dist/components/molecules/ExpressionEditor/ExpressionEditor.stories.js +8 -0
  69. package/dist/components/molecules/ExpressionEditor/ExpressionEditor.svelte +56 -0
  70. package/dist/components/molecules/ExpressionEditor/ExpressionEditor.svelte.d.ts +12 -0
  71. package/dist/components/molecules/ExpressionEditor/ExpressionEditorStory.svelte +12 -0
  72. package/dist/components/molecules/ExpressionEditor/ExpressionEditorStory.svelte.d.ts +3 -0
  73. package/dist/components/molecules/FilterList/FilterList.stories.d.ts +9 -0
  74. package/dist/components/molecules/FilterList/FilterList.stories.js +8 -0
  75. package/dist/components/molecules/FilterList/FilterList.svelte +101 -0
  76. package/dist/components/molecules/FilterList/FilterList.svelte.d.ts +18 -0
  77. package/dist/components/molecules/FilterList/FilterListStory.svelte +31 -0
  78. package/dist/components/molecules/FilterList/FilterListStory.svelte.d.ts +3 -0
  79. package/dist/components/molecules/MediaAssetBrowser/MediaAssetBrowser.stories.d.ts +9 -0
  80. package/dist/components/molecules/MediaAssetBrowser/MediaAssetBrowser.stories.js +8 -0
  81. package/dist/components/molecules/MediaAssetBrowser/MediaAssetBrowser.svelte +94 -0
  82. package/dist/components/molecules/MediaAssetBrowser/MediaAssetBrowser.svelte.d.ts +15 -0
  83. package/dist/components/molecules/MediaAssetBrowser/MediaAssetBrowserStory.svelte +18 -0
  84. package/dist/components/molecules/MediaAssetBrowser/MediaAssetBrowserStory.svelte.d.ts +3 -0
  85. package/dist/components/molecules/MediaAssetCard/MediaAssetCard.stories.js +8 -0
  86. package/dist/components/molecules/MediaAssetCard/MediaAssetCard.svelte +50 -0
  87. package/dist/components/molecules/MediaAssetCard/MediaAssetCard.svelte.d.ts +11 -0
  88. package/dist/components/molecules/MediaAssetCard/MediaAssetCardStory.svelte +13 -0
  89. package/dist/components/molecules/MediaAssetCard/MediaAssetCardStory.svelte.d.ts +18 -0
  90. package/dist/components/molecules/MediaLayerItem/MediaLayerItem.stories.js +8 -0
  91. package/dist/components/molecules/MediaLayerItem/MediaLayerItem.svelte +380 -0
  92. package/dist/components/molecules/MediaLayerItem/MediaLayerItem.svelte.d.ts +33 -0
  93. package/dist/components/molecules/MediaLayerItem/MediaLayerItemStory.svelte +14 -0
  94. package/dist/components/molecules/MediaLayerItem/MediaLayerItemStory.svelte.d.ts +18 -0
  95. package/dist/components/molecules/MediaLayerList/MediaLayerList.stories.d.ts +9 -0
  96. package/dist/components/molecules/MediaLayerList/MediaLayerList.stories.js +8 -0
  97. package/dist/components/molecules/MediaLayerList/MediaLayerList.svelte +399 -0
  98. package/dist/components/molecules/MediaLayerList/MediaLayerList.svelte.d.ts +37 -0
  99. package/dist/components/molecules/MediaLayerList/MediaLayerListStory.svelte +24 -0
  100. package/dist/components/molecules/MediaLayerList/MediaLayerListStory.svelte.d.ts +3 -0
  101. package/dist/components/molecules/MediaStage/MediaStage.stories.d.ts +9 -0
  102. package/dist/components/molecules/MediaStage/MediaStage.stories.js +8 -0
  103. package/dist/components/molecules/MediaStage/MediaStage.svelte +1498 -0
  104. package/dist/components/molecules/MediaStage/MediaStage.svelte.d.ts +45 -0
  105. package/dist/components/molecules/MediaStage/MediaStageStory.svelte +35 -0
  106. package/dist/components/molecules/MediaStage/MediaStageStory.svelte.d.ts +3 -0
  107. package/dist/components/molecules/MediaTimeline/MediaTimeline.stories.d.ts +9 -0
  108. package/dist/components/molecules/MediaTimeline/MediaTimeline.stories.js +8 -0
  109. package/dist/components/molecules/MediaTimeline/MediaTimeline.svelte +131 -0
  110. package/dist/components/molecules/MediaTimeline/MediaTimeline.svelte.d.ts +19 -0
  111. package/dist/components/molecules/MediaTimeline/MediaTimelineStory.svelte +20 -0
  112. package/dist/components/molecules/MediaTimeline/MediaTimelineStory.svelte.d.ts +3 -0
  113. package/dist/components/molecules/MixerChannel/MixerChannel.stories.d.ts +9 -0
  114. package/dist/components/molecules/MixerChannel/MixerChannel.stories.js +8 -0
  115. package/dist/components/molecules/MixerChannel/MixerChannel.svelte +92 -0
  116. package/dist/components/molecules/MixerChannel/MixerChannel.svelte.d.ts +11 -0
  117. package/dist/components/molecules/MixerChannel/MixerChannelStory.svelte +13 -0
  118. package/dist/components/molecules/MixerChannel/MixerChannelStory.svelte.d.ts +3 -0
  119. package/dist/components/molecules/NodeGraph/GraphBlueprintNode.svelte +454 -0
  120. package/dist/components/molecules/NodeGraph/GraphBlueprintNode.svelte.d.ts +8 -0
  121. package/dist/components/molecules/NodeGraph/GraphFlowBridge.svelte +26 -0
  122. package/dist/components/molecules/NodeGraph/GraphFlowBridge.svelte.d.ts +22 -0
  123. package/dist/components/molecules/NodeGraph/NodeGraph.stories.d.ts +12 -0
  124. package/dist/components/molecules/NodeGraph/NodeGraph.stories.js +9 -0
  125. package/dist/components/molecules/NodeGraph/NodeGraph.svelte +1409 -0
  126. package/dist/components/molecules/NodeGraph/NodeGraph.svelte.d.ts +33 -0
  127. package/dist/components/molecules/NodeGraph/NodeGraphStory.svelte +90 -0
  128. package/dist/components/molecules/NodeGraph/NodeGraphStory.svelte.d.ts +3 -0
  129. package/dist/components/molecules/NodePalette/NodePalette.stories.js +8 -0
  130. package/dist/components/molecules/NodePalette/NodePalette.svelte +86 -0
  131. package/dist/components/molecules/NodePalette/NodePalette.svelte.d.ts +11 -0
  132. package/dist/components/molecules/NodePalette/NodePaletteStory.svelte +11 -0
  133. package/dist/components/molecules/NodePalette/NodePaletteStory.svelte.d.ts +18 -0
  134. package/dist/components/molecules/Poll/Poll.stories.d.ts +1 -1
  135. package/dist/components/molecules/ProgramMonitor/ProgramMonitor.stories.js +8 -0
  136. package/dist/components/molecules/ProgramMonitor/ProgramMonitor.svelte +72 -0
  137. package/dist/components/molecules/ProgramMonitor/ProgramMonitor.svelte.d.ts +12 -0
  138. package/dist/components/molecules/ProgramMonitor/ProgramMonitorStory.svelte +16 -0
  139. package/dist/components/molecules/ProgramMonitor/ProgramMonitorStory.svelte.d.ts +18 -0
  140. package/dist/components/molecules/PropertyField/PropertyField.svelte +57 -3
  141. package/dist/components/molecules/PropertyField/PropertyField.svelte.d.ts +10 -0
  142. package/dist/components/molecules/PropertyField/PropertyFieldStory.svelte +21 -0
  143. package/dist/components/molecules/PropertyGroup/PropertyGroup.svelte +1 -1
  144. package/dist/components/molecules/QueryBuilder/QueryBuilder.stories.d.ts +9 -0
  145. package/dist/components/molecules/QueryBuilder/QueryBuilder.stories.js +8 -0
  146. package/dist/components/molecules/QueryBuilder/QueryBuilder.svelte +52 -0
  147. package/dist/components/molecules/QueryBuilder/QueryBuilder.svelte.d.ts +18 -0
  148. package/dist/components/molecules/QueryBuilder/QueryBuilderStory.svelte +62 -0
  149. package/dist/components/molecules/QueryBuilder/QueryBuilderStory.svelte.d.ts +3 -0
  150. package/dist/components/molecules/RelationPicker/RelationPicker.stories.d.ts +9 -0
  151. package/dist/components/molecules/RelationPicker/RelationPicker.stories.js +8 -0
  152. package/dist/components/molecules/RelationPicker/RelationPicker.svelte +180 -0
  153. package/dist/components/molecules/RelationPicker/RelationPicker.svelte.d.ts +24 -0
  154. package/dist/components/molecules/RelationPicker/RelationPickerStory.svelte +16 -0
  155. package/dist/components/molecules/RelationPicker/RelationPickerStory.svelte.d.ts +3 -0
  156. package/dist/components/molecules/SchemaFieldBuilder/SchemaFieldBuilder.stories.d.ts +9 -0
  157. package/dist/components/molecules/SchemaFieldBuilder/SchemaFieldBuilder.stories.js +8 -0
  158. package/dist/components/molecules/SchemaFieldBuilder/SchemaFieldBuilder.svelte +154 -0
  159. package/dist/components/molecules/SchemaFieldBuilder/SchemaFieldBuilder.svelte.d.ts +12 -0
  160. package/dist/components/molecules/SchemaFieldBuilder/SchemaFieldBuilderStory.svelte +16 -0
  161. package/dist/components/molecules/SchemaFieldBuilder/SchemaFieldBuilderStory.svelte.d.ts +3 -0
  162. package/dist/components/molecules/SecretField/SecretField.stories.d.ts +9 -0
  163. package/dist/components/molecules/SecretField/SecretField.stories.js +8 -0
  164. package/dist/components/molecules/SecretField/SecretField.svelte +58 -0
  165. package/dist/components/molecules/SecretField/SecretField.svelte.d.ts +15 -0
  166. package/dist/components/molecules/SecretField/SecretFieldStory.svelte +8 -0
  167. package/dist/components/molecules/SecretField/SecretFieldStory.svelte.d.ts +3 -0
  168. package/dist/components/molecules/SplitPane/SplitPane.svelte +96 -37
  169. package/dist/components/molecules/SplitPane/SplitPane.svelte.d.ts +10 -2
  170. package/dist/components/molecules/TableToolbar/TableToolbar.svelte.d.ts +1 -1
  171. package/dist/components/molecules/Terminal/Terminal.stories.js +20 -0
  172. package/dist/components/molecules/Terminal/Terminal.svelte +238 -0
  173. package/dist/components/molecules/Terminal/Terminal.svelte.d.ts +19 -0
  174. package/dist/components/molecules/Terminal/TerminalStory.svelte +47 -0
  175. package/dist/components/molecules/Terminal/TerminalStory.svelte.d.ts +6 -0
  176. package/dist/components/molecules/TimelineClip/TimelineClip.stories.js +8 -0
  177. package/dist/components/molecules/TimelineClip/TimelineClip.svelte +116 -0
  178. package/dist/components/molecules/TimelineClip/TimelineClip.svelte.d.ts +15 -0
  179. package/dist/components/molecules/TimelineClip/TimelineClipStory.svelte +18 -0
  180. package/dist/components/molecules/TimelineClip/TimelineClipStory.svelte.d.ts +18 -0
  181. package/dist/components/molecules/TimelineTrack/TimelineTrack.stories.js +8 -0
  182. package/dist/components/molecules/TimelineTrack/TimelineTrack.svelte +56 -0
  183. package/dist/components/molecules/TimelineTrack/TimelineTrack.svelte.d.ts +16 -0
  184. package/dist/components/molecules/TimelineTrack/TimelineTrackStory.svelte +35 -0
  185. package/dist/components/molecules/TimelineTrack/TimelineTrackStory.svelte.d.ts +18 -0
  186. package/dist/components/molecules/TraceWaterfall/TraceWaterfall.stories.js +8 -0
  187. package/dist/components/molecules/TraceWaterfall/TraceWaterfall.svelte +158 -0
  188. package/dist/components/molecules/TraceWaterfall/TraceWaterfall.svelte.d.ts +18 -0
  189. package/dist/components/molecules/TraceWaterfall/TraceWaterfallStory.svelte +55 -0
  190. package/dist/components/molecules/TraceWaterfall/TraceWaterfallStory.svelte.d.ts +18 -0
  191. package/dist/components/molecules/TrackHeader/TrackHeader.stories.d.ts +9 -0
  192. package/dist/components/molecules/TrackHeader/TrackHeader.stories.js +8 -0
  193. package/dist/components/molecules/TrackHeader/TrackHeader.svelte +54 -0
  194. package/dist/components/molecules/TrackHeader/TrackHeader.svelte.d.ts +9 -0
  195. package/dist/components/molecules/TrackHeader/TrackHeaderStory.svelte +10 -0
  196. package/dist/components/molecules/TrackHeader/TrackHeaderStory.svelte.d.ts +3 -0
  197. package/dist/components/molecules/TransportControls/TransportControls.stories.d.ts +9 -0
  198. package/dist/components/molecules/TransportControls/TransportControls.stories.js +8 -0
  199. package/dist/components/molecules/TransportControls/TransportControls.svelte +53 -0
  200. package/dist/components/molecules/TransportControls/TransportControls.svelte.d.ts +12 -0
  201. package/dist/components/molecules/TransportControls/TransportControlsStory.svelte +18 -0
  202. package/dist/components/molecules/TransportControls/TransportControlsStory.svelte.d.ts +3 -0
  203. package/dist/components/molecules/VersionHistoryPanel/VersionHistoryPanel.stories.js +8 -0
  204. package/dist/components/molecules/VersionHistoryPanel/VersionHistoryPanel.svelte +117 -0
  205. package/dist/components/molecules/VersionHistoryPanel/VersionHistoryPanel.svelte.d.ts +20 -0
  206. package/dist/components/molecules/VersionHistoryPanel/VersionHistoryPanelStory.svelte +36 -0
  207. package/dist/components/molecules/VersionHistoryPanel/VersionHistoryPanelStory.svelte.d.ts +18 -0
  208. package/dist/components/molecules/VideoPlayer/VideoPlayer.stories.d.ts +1 -1
  209. package/dist/components/molecules/VideoTrackHeader/VideoTrackHeader.stories.d.ts +9 -0
  210. package/dist/components/molecules/VideoTrackHeader/VideoTrackHeader.stories.js +8 -0
  211. package/dist/components/molecules/VideoTrackHeader/VideoTrackHeader.svelte +59 -0
  212. package/dist/components/molecules/VideoTrackHeader/VideoTrackHeader.svelte.d.ts +9 -0
  213. package/dist/components/molecules/VideoTrackHeader/VideoTrackHeaderStory.svelte +10 -0
  214. package/dist/components/molecules/VideoTrackHeader/VideoTrackHeaderStory.svelte.d.ts +3 -0
  215. package/dist/components/molecules/WaveformRegion/WaveformRegion.stories.js +8 -0
  216. package/dist/components/molecules/WaveformRegion/WaveformRegion.svelte +82 -0
  217. package/dist/components/molecules/WaveformRegion/WaveformRegion.svelte.d.ts +13 -0
  218. package/dist/components/molecules/WaveformRegion/WaveformRegionStory.svelte +17 -0
  219. package/dist/components/molecules/WaveformRegion/WaveformRegionStory.svelte.d.ts +18 -0
  220. package/dist/components/molecules/WidgetCanvas/WidgetCanvas.svelte +13 -4
  221. package/dist/components/molecules/WidgetCanvas/WidgetCanvas.svelte.d.ts +3 -1
  222. package/dist/components/molecules/WidgetCanvas/widgetCanvasContext.d.ts +2 -0
  223. package/dist/components/molecules/WidgetFrame/WidgetFrame.svelte +206 -37
  224. package/dist/components/molecules/WidgetFrame/WidgetFrame.svelte.d.ts +31 -0
  225. package/dist/components/organisms/AudioEditor/AudioEditor.stories.d.ts +12 -0
  226. package/dist/components/organisms/AudioEditor/AudioEditor.stories.js +9 -0
  227. package/dist/components/organisms/AudioEditor/AudioEditor.svelte +273 -0
  228. package/dist/components/organisms/AudioEditor/AudioEditor.svelte.d.ts +13 -0
  229. package/dist/components/organisms/AudioEditor/AudioEditorStory.svelte +10 -0
  230. package/dist/components/organisms/AudioEditor/AudioEditorStory.svelte.d.ts +3 -0
  231. package/dist/components/organisms/BlogEditor/BlogEditor.stories.d.ts +12 -0
  232. package/dist/components/organisms/BlogEditor/BlogEditor.stories.js +9 -0
  233. package/dist/components/organisms/BlogEditor/BlogEditor.svelte +1208 -0
  234. package/dist/components/organisms/BlogEditor/BlogEditor.svelte.d.ts +16 -0
  235. package/dist/components/organisms/BlogEditor/BlogEditorStory.svelte +144 -0
  236. package/dist/components/organisms/BlogEditor/BlogEditorStory.svelte.d.ts +3 -0
  237. package/dist/components/organisms/BlogEditor/DemoBlogCard.svelte +28 -0
  238. package/dist/components/organisms/BlogEditor/DemoBlogCard.svelte.d.ts +10 -0
  239. package/dist/components/organisms/BlogEditor/DemoBlogStats.svelte +34 -0
  240. package/dist/components/organisms/BlogEditor/DemoBlogStats.svelte.d.ts +11 -0
  241. package/dist/components/organisms/BlogEditor/DemoBlogWidget.svelte +13 -0
  242. package/dist/components/organisms/BlogEditor/DemoBlogWidget.svelte.d.ts +8 -0
  243. package/dist/components/organisms/BlogRenderer/BlogRenderer.stories.js +8 -0
  244. package/dist/components/organisms/BlogRenderer/BlogRenderer.svelte +469 -0
  245. package/dist/components/organisms/BlogRenderer/BlogRenderer.svelte.d.ts +14 -0
  246. package/dist/components/organisms/BlogRenderer/BlogRendererStory.svelte +20 -0
  247. package/dist/components/organisms/BlogRenderer/BlogRendererStory.svelte.d.ts +18 -0
  248. package/dist/components/organisms/BlueprintEditor/BlueprintEditor.stories.d.ts +12 -0
  249. package/dist/components/organisms/BlueprintEditor/BlueprintEditor.stories.js +9 -0
  250. package/dist/components/organisms/BlueprintEditor/BlueprintEditor.svelte +1012 -0
  251. package/dist/components/organisms/BlueprintEditor/BlueprintEditor.svelte.d.ts +16 -0
  252. package/dist/components/organisms/BlueprintEditor/BlueprintEditorStory.svelte +76 -0
  253. package/dist/components/organisms/BlueprintEditor/BlueprintEditorStory.svelte.d.ts +3 -0
  254. package/dist/components/organisms/CanvasEditor/CanvasEditor.stories.d.ts +12 -0
  255. package/dist/components/organisms/CanvasEditor/CanvasEditor.stories.js +9 -0
  256. package/dist/components/organisms/CanvasEditor/CanvasEditor.svelte +1680 -0
  257. package/dist/components/organisms/CanvasEditor/CanvasEditor.svelte.d.ts +18 -0
  258. package/dist/components/organisms/CanvasEditor/CanvasEditorStory.svelte +329 -0
  259. package/dist/components/organisms/CanvasEditor/CanvasEditorStory.svelte.d.ts +3 -0
  260. package/dist/components/organisms/DashboardBuilderPage/DashboardBuilderPage.svelte.d.ts +1 -1
  261. package/dist/components/organisms/DesktopShell/DesktopShell.svelte.d.ts +1 -1
  262. package/dist/components/organisms/EditorShell/EditorShell.svelte +123 -28
  263. package/dist/components/organisms/EditorShell/EditorShell.svelte.d.ts +21 -1
  264. package/dist/components/organisms/FileUploader/FileUploader.svelte +77 -15
  265. package/dist/components/organisms/FileUploader/FileUploader.svelte.d.ts +11 -0
  266. package/dist/components/organisms/ImportWizard/ImportWizard.stories.js +8 -0
  267. package/dist/components/organisms/ImportWizard/ImportWizard.svelte +209 -0
  268. package/dist/components/organisms/ImportWizard/ImportWizard.svelte.d.ts +22 -0
  269. package/dist/components/organisms/ImportWizard/ImportWizardStory.svelte +16 -0
  270. package/dist/components/organisms/ImportWizard/ImportWizardStory.svelte.d.ts +18 -0
  271. package/dist/components/organisms/VideoEditor/VideoEditor.stories.d.ts +12 -0
  272. package/dist/components/organisms/VideoEditor/VideoEditor.stories.js +9 -0
  273. package/dist/components/organisms/VideoEditor/VideoEditor.svelte +308 -0
  274. package/dist/components/organisms/VideoEditor/VideoEditor.svelte.d.ts +13 -0
  275. package/dist/components/organisms/VideoEditor/VideoEditorStory.svelte +10 -0
  276. package/dist/components/organisms/VideoEditor/VideoEditorStory.svelte.d.ts +3 -0
  277. package/dist/components/templates/AudioEditorTemplate/AudioEditorTemplate.stories.d.ts +12 -0
  278. package/dist/components/templates/AudioEditorTemplate/AudioEditorTemplate.stories.js +9 -0
  279. package/dist/components/templates/AudioEditorTemplate/AudioEditorTemplate.svelte +22 -0
  280. package/dist/components/templates/AudioEditorTemplate/AudioEditorTemplate.svelte.d.ts +13 -0
  281. package/dist/components/templates/AudioEditorTemplate/AudioEditorTemplateStory.svelte +8 -0
  282. package/dist/components/templates/AudioEditorTemplate/AudioEditorTemplateStory.svelte.d.ts +3 -0
  283. package/dist/components/templates/CanvasEditorTemplate/CanvasEditorTemplate.stories.d.ts +12 -0
  284. package/dist/components/templates/CanvasEditorTemplate/CanvasEditorTemplate.stories.js +9 -0
  285. package/dist/components/templates/CanvasEditorTemplate/CanvasEditorTemplate.svelte +32 -0
  286. package/dist/components/templates/CanvasEditorTemplate/CanvasEditorTemplate.svelte.d.ts +17 -0
  287. package/dist/components/templates/CanvasEditorTemplate/CanvasEditorTemplateStory.svelte +21 -0
  288. package/dist/components/templates/CanvasEditorTemplate/CanvasEditorTemplateStory.svelte.d.ts +3 -0
  289. package/dist/components/templates/VideoEditorTemplate/VideoEditorTemplate.stories.d.ts +12 -0
  290. package/dist/components/templates/VideoEditorTemplate/VideoEditorTemplate.stories.js +9 -0
  291. package/dist/components/templates/VideoEditorTemplate/VideoEditorTemplate.svelte +22 -0
  292. package/dist/components/templates/VideoEditorTemplate/VideoEditorTemplate.svelte.d.ts +13 -0
  293. package/dist/components/templates/VideoEditorTemplate/VideoEditorTemplateStory.svelte +8 -0
  294. package/dist/components/templates/VideoEditorTemplate/VideoEditorTemplateStory.svelte.d.ts +3 -0
  295. package/dist/index.d.ts +83 -1
  296. package/dist/index.js +60 -0
  297. package/dist/types/xyflow-svelte.d.ts +62 -0
  298. package/dist/utils/audioProject.d.ts +19 -0
  299. package/dist/utils/audioProject.js +70 -0
  300. package/dist/utils/blogDocument.d.ts +175 -0
  301. package/dist/utils/blogDocument.js +220 -0
  302. package/dist/utils/blueprintRuntime.d.ts +34 -0
  303. package/dist/utils/blueprintRuntime.js +289 -0
  304. package/dist/utils/canvasDocument.d.ts +239 -0
  305. package/dist/utils/canvasDocument.js +443 -0
  306. package/dist/utils/canvasExport.d.ts +10 -0
  307. package/dist/utils/canvasExport.js +469 -0
  308. package/dist/utils/canvasHierarchy.d.ts +189 -0
  309. package/dist/utils/canvasHierarchy.js +674 -0
  310. package/dist/utils/canvasHistory.d.ts +19 -0
  311. package/dist/utils/canvasHistory.js +48 -0
  312. package/dist/utils/canvasWidget.d.ts +81 -0
  313. package/dist/utils/canvasWidget.js +597 -0
  314. package/dist/utils/mediaTime.d.ts +16 -0
  315. package/dist/utils/mediaTime.js +57 -0
  316. package/dist/utils/mediaTracks.d.ts +61 -0
  317. package/dist/utils/mediaTracks.js +102 -0
  318. package/dist/utils/nodeGraph.d.ts +354 -0
  319. package/dist/utils/nodeGraph.js +1453 -0
  320. package/dist/utils/queryBridge.d.ts +18 -0
  321. package/dist/utils/queryBridge.js +118 -0
  322. package/dist/utils/videoSequence.d.ts +13 -0
  323. package/dist/utils/videoSequence.js +63 -0
  324. package/package.json +5 -2
@@ -0,0 +1,308 @@
1
+ <script lang="ts">
2
+ import EditorShell from '../EditorShell/EditorShell.svelte';
3
+ import MediaAssetBrowser from '../../molecules/MediaAssetBrowser/MediaAssetBrowser.svelte';
4
+ import ProgramMonitor from '../../molecules/ProgramMonitor/ProgramMonitor.svelte';
5
+ import TransportControls from '../../molecules/TransportControls/TransportControls.svelte';
6
+ import MediaTimeline from '../../molecules/MediaTimeline/MediaTimeline.svelte';
7
+ import PropertyGroup from '../../molecules/PropertyGroup/PropertyGroup.svelte';
8
+ import PropertyField from '../../molecules/PropertyField/PropertyField.svelte';
9
+ import Input from '../../atoms/Input/Input.svelte';
10
+ import Button from '../../atoms/Button/Button.svelte';
11
+ import IconButton from '../../atoms/IconButton/IconButton.svelte';
12
+ import {
13
+ createMediaClip,
14
+ updateClipInTracks,
15
+ removeClipFromTracks,
16
+ type MediaAsset,
17
+ type MediaClip,
18
+ type MediaTrack
19
+ } from '../../../utils/mediaTracks.js';
20
+ import {
21
+ emptyVideoSequence,
22
+ type VideoSequence
23
+ } from '../../../utils/videoSequence.js';
24
+ import { clampMs } from '../../../utils/mediaTime.js';
25
+ import Download from '@lucide/svelte/icons/download';
26
+ import PanelLeft from '@lucide/svelte/icons/panel-left';
27
+ import PanelRight from '@lucide/svelte/icons/panel-right';
28
+
29
+ interface VideoEditorProps {
30
+ value?: VideoSequence;
31
+ class?: string;
32
+ onchange?: (seq: VideoSequence) => void;
33
+ onexport?: (payload: { format: 'json'; document: VideoSequence }) => void;
34
+ }
35
+
36
+ let {
37
+ value = $bindable(emptyVideoSequence()),
38
+ class: className = '',
39
+ onchange,
40
+ onexport
41
+ }: VideoEditorProps = $props();
42
+
43
+ let selectedClipId = $state<string | null>(null);
44
+ let currentTimeMs = $state(0);
45
+ let playing = $state(false);
46
+ let zoom = $state(1);
47
+ let showSidebar = $state(true);
48
+ let showInspector = $state(true);
49
+ let raf = 0;
50
+ let lastTs = 0;
51
+
52
+ const selectedClip = $derived.by(() => {
53
+ for (const t of value.tracks) {
54
+ const c = t.clips.find((x) => x.id === selectedClipId);
55
+ if (c) return c;
56
+ }
57
+ return null;
58
+ });
59
+
60
+ function emit(next: VideoSequence) {
61
+ value = next;
62
+ onchange?.(next);
63
+ }
64
+
65
+ function setTracks(tracks: MediaTrack[]) {
66
+ emit({ ...value, tracks });
67
+ }
68
+
69
+ function addAssetAsClip(asset: MediaAsset) {
70
+ const trackKind = asset.kind === 'audio' ? 'audio' : 'video';
71
+ const track =
72
+ value.tracks.find((t) => t.kind === trackKind) ??
73
+ value.tracks.find((t) => t.kind === 'video') ??
74
+ value.tracks[0];
75
+ if (!track) return;
76
+ const startMs = currentTimeMs;
77
+ const dur = asset.durationMs ?? (asset.kind === 'audio' ? 8000 : 5000);
78
+ const clip = createMediaClip({
79
+ trackId: track.id,
80
+ assetId: asset.id,
81
+ name: asset.name,
82
+ kind: asset.kind,
83
+ src: asset.src,
84
+ startMs,
85
+ endMs: startMs + dur,
86
+ color: track.color ?? (trackKind === 'audio' ? '#10b981' : '#3b82f6')
87
+ });
88
+ const assets = value.assets.some((a) => a.id === asset.id)
89
+ ? value.assets
90
+ : [...value.assets, asset];
91
+ emit({
92
+ ...value,
93
+ assets,
94
+ tracks: value.tracks.map((t) =>
95
+ t.id === track.id ? { ...t, clips: [...t.clips, clip] } : t
96
+ )
97
+ });
98
+ selectedClipId = clip.id;
99
+ }
100
+
101
+ function patchClip(clip: MediaClip) {
102
+ setTracks(updateClipInTracks(value.tracks, clip.id, () => clip));
103
+ }
104
+
105
+ function patchTrack(track: MediaTrack) {
106
+ setTracks(value.tracks.map((t) => (t.id === track.id ? track : t)));
107
+ }
108
+
109
+ function tick(ts: number) {
110
+ if (!playing) return;
111
+ if (lastTs) {
112
+ const delta = ts - lastTs;
113
+ currentTimeMs = clampMs(currentTimeMs + delta, 0, value.durationMs);
114
+ if (currentTimeMs >= value.durationMs) {
115
+ playing = false;
116
+ currentTimeMs = value.durationMs;
117
+ }
118
+ }
119
+ lastTs = ts;
120
+ raf = requestAnimationFrame(tick);
121
+ }
122
+
123
+ $effect(() => {
124
+ if (playing) {
125
+ lastTs = 0;
126
+ raf = requestAnimationFrame(tick);
127
+ return () => cancelAnimationFrame(raf);
128
+ }
129
+ cancelAnimationFrame(raf);
130
+ });
131
+
132
+ function handleKeydown(e: KeyboardEvent) {
133
+ const tag = (e.target as HTMLElement)?.tagName;
134
+ if (tag === 'INPUT' || tag === 'TEXTAREA') return;
135
+ if (e.code === 'Space') {
136
+ e.preventDefault();
137
+ playing = !playing;
138
+ return;
139
+ }
140
+ if ((e.key === 'Delete' || e.key === 'Backspace') && selectedClipId) {
141
+ e.preventDefault();
142
+ setTracks(removeClipFromTracks(value.tracks, selectedClipId));
143
+ selectedClipId = null;
144
+ }
145
+ }
146
+
147
+ function exportJson() {
148
+ onexport?.({ format: 'json', document: value });
149
+ const blob = new Blob([JSON.stringify(value, null, 2)], { type: 'application/json' });
150
+ const url = URL.createObjectURL(blob);
151
+ const a = document.createElement('a');
152
+ a.href = url;
153
+ a.download = 'video-sequence.json';
154
+ a.click();
155
+ URL.revokeObjectURL(url);
156
+ }
157
+ </script>
158
+
159
+ <svelte:window onkeydown={handleKeydown} />
160
+
161
+ <div class={['flex h-full min-h-[560px] flex-col', className]}>
162
+ <div class="flex items-center gap-2 border-b border-border bg-surface-elevated px-3 py-2">
163
+ <span class="text-sm font-semibold text-primary">Video Editor</span>
164
+ <div class="ml-auto flex items-center gap-1">
165
+ <IconButton label="Toggle sidebar" size="sm" onclick={() => (showSidebar = !showSidebar)}>
166
+ <PanelLeft class="h-4 w-4" />
167
+ </IconButton>
168
+ <IconButton
169
+ label="Toggle inspector"
170
+ size="sm"
171
+ onclick={() => (showInspector = !showInspector)}
172
+ >
173
+ <PanelRight class="h-4 w-4" />
174
+ </IconButton>
175
+ <Button size="sm" variant="secondary" onclick={exportJson}>
176
+ <span class="inline-flex items-center gap-1.5">
177
+ <Download class="h-3.5 w-3.5" />
178
+ Export JSON
179
+ </span>
180
+ </Button>
181
+ </div>
182
+ </div>
183
+
184
+ <div class="min-h-0 flex-1">
185
+ <EditorShell
186
+ sidebarTitle="Media"
187
+ inspectorTitle="Clip"
188
+ workspaceTitle="Program"
189
+ bottomTitle="Timeline"
190
+ showBottom={true}
191
+ {showSidebar}
192
+ {showInspector}
193
+ wrapSidebar={true}
194
+ wrapInspector={true}
195
+ wrapWorkspace={false}
196
+ wrapBottom={false}
197
+ sidebarSize={280}
198
+ inspectorSize={260}
199
+ bottomSize={220}
200
+ sizeUnit="px"
201
+ fullHeight
202
+ >
203
+ {#snippet sidebar()}
204
+ <MediaAssetBrowser
205
+ assets={value.assets}
206
+ accept="image/*,video/*,audio/*"
207
+ helperText="Image, video or audio"
208
+ onassetschange={(assets) => emit({ ...value, assets })}
209
+ onselect={(id) => {
210
+ const asset = value.assets.find((a) => a.id === id);
211
+ if (asset) addAssetAsClip(asset);
212
+ }}
213
+ onadd={(asset) => {
214
+ emit({ ...value, assets: [...value.assets, asset] });
215
+ }}
216
+ />
217
+ {/snippet}
218
+
219
+ {#snippet workspace()}
220
+ <div class="flex h-full flex-col gap-2 bg-surface p-3">
221
+ <TransportControls
222
+ {playing}
223
+ {currentTimeMs}
224
+ durationMs={value.durationMs}
225
+ onplay={() => (playing = true)}
226
+ onpause={() => (playing = false)}
227
+ onstop={() => {
228
+ playing = false;
229
+ currentTimeMs = 0;
230
+ }}
231
+ />
232
+ <div class="min-h-0 flex-1">
233
+ <ProgramMonitor
234
+ width={value.width}
235
+ height={value.height}
236
+ background={value.background}
237
+ {currentTimeMs}
238
+ tracks={value.tracks}
239
+ class="mx-auto max-h-full"
240
+ />
241
+ </div>
242
+ </div>
243
+ {/snippet}
244
+
245
+ {#snippet inspector()}
246
+ {#if !selectedClip}
247
+ <p class="px-3 py-6 text-center text-xs text-muted">Select a clip</p>
248
+ {:else}
249
+ <PropertyGroup title="Clip">
250
+ <PropertyField label="Name">
251
+ <Input
252
+ size="sm"
253
+ value={selectedClip.name}
254
+ oninput={(e) =>
255
+ patchClip({
256
+ ...selectedClip,
257
+ name: (e.currentTarget as HTMLInputElement).value
258
+ })}
259
+ />
260
+ </PropertyField>
261
+ <PropertyField label="Start">
262
+ <Input
263
+ type="number"
264
+ size="sm"
265
+ value={String(Math.round(selectedClip.startMs))}
266
+ oninput={(e) => {
267
+ const startMs = Number((e.currentTarget as HTMLInputElement).value);
268
+ const dur = selectedClip.endMs - selectedClip.startMs;
269
+ patchClip({ ...selectedClip, startMs, endMs: startMs + dur });
270
+ }}
271
+ />
272
+ </PropertyField>
273
+ <PropertyField label="End">
274
+ <Input
275
+ type="number"
276
+ size="sm"
277
+ value={String(Math.round(selectedClip.endMs))}
278
+ oninput={(e) =>
279
+ patchClip({
280
+ ...selectedClip,
281
+ endMs: Number((e.currentTarget as HTMLInputElement).value)
282
+ })}
283
+ />
284
+ </PropertyField>
285
+ </PropertyGroup>
286
+ {/if}
287
+ {/snippet}
288
+
289
+ {#snippet bottom()}
290
+ <div class="h-full p-1">
291
+ <MediaTimeline
292
+ tracks={value.tracks}
293
+ durationMs={value.durationMs}
294
+ bind:currentTimeMs
295
+ bind:zoom
296
+ {selectedClipId}
297
+ onselectclip={(id) => (selectedClipId = id)}
298
+ onchangeclip={patchClip}
299
+ onchangetrack={patchTrack}
300
+ headerVariant="video"
301
+ onseek={(ms) => (currentTimeMs = ms)}
302
+ class="h-full"
303
+ />
304
+ </div>
305
+ {/snippet}
306
+ </EditorShell>
307
+ </div>
308
+ </div>
@@ -0,0 +1,13 @@
1
+ import { type VideoSequence } from '../../../utils/videoSequence.js';
2
+ interface VideoEditorProps {
3
+ value?: VideoSequence;
4
+ class?: string;
5
+ onchange?: (seq: VideoSequence) => void;
6
+ onexport?: (payload: {
7
+ format: 'json';
8
+ document: VideoSequence;
9
+ }) => void;
10
+ }
11
+ declare const VideoEditor: import("svelte").Component<VideoEditorProps, {}, "value">;
12
+ type VideoEditor = ReturnType<typeof VideoEditor>;
13
+ export default VideoEditor;
@@ -0,0 +1,10 @@
1
+ <script lang="ts">
2
+ import VideoEditor from './VideoEditor.svelte';
3
+ import { createDemoVideoSequence } from '../../../utils/videoSequence.js';
4
+
5
+ let value = $state(createDemoVideoSequence());
6
+ </script>
7
+
8
+ <div class="h-[780px] w-full overflow-hidden rounded-xl border border-border">
9
+ <VideoEditor bind:value />
10
+ </div>
@@ -0,0 +1,3 @@
1
+ declare const VideoEditorStory: import("svelte").Component<Record<string, never>, {}, "">;
2
+ type VideoEditorStory = ReturnType<typeof VideoEditorStory>;
3
+ export default VideoEditorStory;
@@ -0,0 +1,12 @@
1
+ import type { StoryObj } from '@storybook/svelte';
2
+ declare const meta: {
3
+ title: string;
4
+ component: import("svelte").Component<Record<string, never>, {}, "">;
5
+ tags: string[];
6
+ parameters: {
7
+ layout: string;
8
+ };
9
+ };
10
+ export default meta;
11
+ type Story = StoryObj<typeof meta>;
12
+ export declare const Default: Story;
@@ -0,0 +1,9 @@
1
+ import AudioEditorTemplateStory from './AudioEditorTemplateStory.svelte';
2
+ const meta = {
3
+ title: 'Templates/AudioEditorTemplate',
4
+ component: AudioEditorTemplateStory,
5
+ tags: ['autodocs'],
6
+ parameters: { layout: 'fullscreen' }
7
+ };
8
+ export default meta;
9
+ export const Default = {};
@@ -0,0 +1,22 @@
1
+ <script lang="ts">
2
+ import AudioEditor from '../../organisms/AudioEditor/AudioEditor.svelte';
3
+ import { emptyAudioProject, type AudioProject } from '../../../utils/audioProject.js';
4
+
5
+ interface AudioEditorTemplateProps {
6
+ value?: AudioProject;
7
+ class?: string;
8
+ onchange?: (project: AudioProject) => void;
9
+ onexport?: (payload: { format: 'json'; document: AudioProject }) => void;
10
+ }
11
+
12
+ let {
13
+ value = $bindable(emptyAudioProject()),
14
+ class: className = '',
15
+ onchange,
16
+ onexport
17
+ }: AudioEditorTemplateProps = $props();
18
+ </script>
19
+
20
+ <div class={['flex h-dvh w-full flex-col bg-surface', className]}>
21
+ <AudioEditor bind:value {onchange} {onexport} class="min-h-0 flex-1" />
22
+ </div>
@@ -0,0 +1,13 @@
1
+ import { type AudioProject } from '../../../utils/audioProject.js';
2
+ interface AudioEditorTemplateProps {
3
+ value?: AudioProject;
4
+ class?: string;
5
+ onchange?: (project: AudioProject) => void;
6
+ onexport?: (payload: {
7
+ format: 'json';
8
+ document: AudioProject;
9
+ }) => void;
10
+ }
11
+ declare const AudioEditorTemplate: import("svelte").Component<AudioEditorTemplateProps, {}, "value">;
12
+ type AudioEditorTemplate = ReturnType<typeof AudioEditorTemplate>;
13
+ export default AudioEditorTemplate;
@@ -0,0 +1,8 @@
1
+ <script lang="ts">
2
+ import AudioEditorTemplate from './AudioEditorTemplate.svelte';
3
+ import { createDemoAudioProject } from '../../../utils/audioProject.js';
4
+
5
+ let value = $state(createDemoAudioProject());
6
+ </script>
7
+
8
+ <AudioEditorTemplate bind:value />
@@ -0,0 +1,3 @@
1
+ declare const AudioEditorTemplateStory: import("svelte").Component<Record<string, never>, {}, "">;
2
+ type AudioEditorTemplateStory = ReturnType<typeof AudioEditorTemplateStory>;
3
+ export default AudioEditorTemplateStory;
@@ -0,0 +1,12 @@
1
+ import type { StoryObj } from '@storybook/svelte';
2
+ declare const meta: {
3
+ title: string;
4
+ component: import("svelte").Component<Record<string, never>, {}, "">;
5
+ tags: string[];
6
+ parameters: {
7
+ layout: string;
8
+ };
9
+ };
10
+ export default meta;
11
+ type Story = StoryObj<typeof meta>;
12
+ export declare const Default: Story;
@@ -0,0 +1,9 @@
1
+ import CanvasEditorTemplateStory from './CanvasEditorTemplateStory.svelte';
2
+ const meta = {
3
+ title: 'Templates/CanvasEditorTemplate',
4
+ component: CanvasEditorTemplateStory,
5
+ tags: ['autodocs'],
6
+ parameters: { layout: 'fullscreen' }
7
+ };
8
+ export default meta;
9
+ export const Default = {};
@@ -0,0 +1,32 @@
1
+ <script lang="ts">
2
+ import CanvasEditor from '../../organisms/CanvasEditor/CanvasEditor.svelte';
3
+ import type { CanvasDocument } from '../../../utils/canvasDocument.js';
4
+ import { emptyCanvasDocument } from '../../../utils/canvasDocument.js';
5
+ import type { MediaAsset } from '../../../utils/mediaTracks.js';
6
+
7
+ import type { CanvasExportFormat } from '../../../utils/canvasExport.js';
8
+
9
+ interface CanvasEditorTemplateProps {
10
+ value?: CanvasDocument;
11
+ assets?: MediaAsset[];
12
+ class?: string;
13
+ onchange?: (doc: CanvasDocument) => void;
14
+ onexport?: (payload: {
15
+ format: CanvasExportFormat;
16
+ document: CanvasDocument;
17
+ blob?: Blob;
18
+ }) => void;
19
+ }
20
+
21
+ let {
22
+ value = $bindable(emptyCanvasDocument()),
23
+ assets = $bindable<MediaAsset[]>([]),
24
+ class: className = '',
25
+ onchange,
26
+ onexport
27
+ }: CanvasEditorTemplateProps = $props();
28
+ </script>
29
+
30
+ <div class={['flex h-dvh w-full flex-col bg-surface', className]}>
31
+ <CanvasEditor bind:value bind:assets {onchange} {onexport} class="min-h-0 flex-1" />
32
+ </div>
@@ -0,0 +1,17 @@
1
+ import type { CanvasDocument } from '../../../utils/canvasDocument.js';
2
+ import type { MediaAsset } from '../../../utils/mediaTracks.js';
3
+ import type { CanvasExportFormat } from '../../../utils/canvasExport.js';
4
+ interface CanvasEditorTemplateProps {
5
+ value?: CanvasDocument;
6
+ assets?: MediaAsset[];
7
+ class?: string;
8
+ onchange?: (doc: CanvasDocument) => void;
9
+ onexport?: (payload: {
10
+ format: CanvasExportFormat;
11
+ document: CanvasDocument;
12
+ blob?: Blob;
13
+ }) => void;
14
+ }
15
+ declare const CanvasEditorTemplate: import("svelte").Component<CanvasEditorTemplateProps, {}, "value" | "assets">;
16
+ type CanvasEditorTemplate = ReturnType<typeof CanvasEditorTemplate>;
17
+ export default CanvasEditorTemplate;
@@ -0,0 +1,21 @@
1
+ <script lang="ts">
2
+ import CanvasEditorTemplate from './CanvasEditorTemplate.svelte';
3
+ import { createCanvasLayer, emptyCanvasDocument } from '../../../utils/canvasDocument.js';
4
+
5
+ let value = $state(
6
+ emptyCanvasDocument({
7
+ layers: [
8
+ createCanvasLayer('text', {
9
+ name: 'Welcome',
10
+ text: 'Figma-like canvas',
11
+ rect: { x: 200, y: 200, w: 400, h: 100 },
12
+ zIndex: 0
13
+ })
14
+ ]
15
+ })
16
+ );
17
+ </script>
18
+
19
+ <div class="fixed inset-0 overflow-hidden">
20
+ <CanvasEditorTemplate bind:value class="!h-full" />
21
+ </div>
@@ -0,0 +1,3 @@
1
+ declare const CanvasEditorTemplateStory: import("svelte").Component<Record<string, never>, {}, "">;
2
+ type CanvasEditorTemplateStory = ReturnType<typeof CanvasEditorTemplateStory>;
3
+ export default CanvasEditorTemplateStory;
@@ -0,0 +1,12 @@
1
+ import type { StoryObj } from '@storybook/svelte';
2
+ declare const meta: {
3
+ title: string;
4
+ component: import("svelte").Component<Record<string, never>, {}, "">;
5
+ tags: string[];
6
+ parameters: {
7
+ layout: string;
8
+ };
9
+ };
10
+ export default meta;
11
+ type Story = StoryObj<typeof meta>;
12
+ export declare const Default: Story;
@@ -0,0 +1,9 @@
1
+ import VideoEditorTemplateStory from './VideoEditorTemplateStory.svelte';
2
+ const meta = {
3
+ title: 'Templates/VideoEditorTemplate',
4
+ component: VideoEditorTemplateStory,
5
+ tags: ['autodocs'],
6
+ parameters: { layout: 'fullscreen' }
7
+ };
8
+ export default meta;
9
+ export const Default = {};
@@ -0,0 +1,22 @@
1
+ <script lang="ts">
2
+ import VideoEditor from '../../organisms/VideoEditor/VideoEditor.svelte';
3
+ import { emptyVideoSequence, type VideoSequence } from '../../../utils/videoSequence.js';
4
+
5
+ interface VideoEditorTemplateProps {
6
+ value?: VideoSequence;
7
+ class?: string;
8
+ onchange?: (seq: VideoSequence) => void;
9
+ onexport?: (payload: { format: 'json'; document: VideoSequence }) => void;
10
+ }
11
+
12
+ let {
13
+ value = $bindable(emptyVideoSequence()),
14
+ class: className = '',
15
+ onchange,
16
+ onexport
17
+ }: VideoEditorTemplateProps = $props();
18
+ </script>
19
+
20
+ <div class={['flex h-dvh w-full flex-col bg-surface', className]}>
21
+ <VideoEditor bind:value {onchange} {onexport} class="min-h-0 flex-1" />
22
+ </div>
@@ -0,0 +1,13 @@
1
+ import { type VideoSequence } from '../../../utils/videoSequence.js';
2
+ interface VideoEditorTemplateProps {
3
+ value?: VideoSequence;
4
+ class?: string;
5
+ onchange?: (seq: VideoSequence) => void;
6
+ onexport?: (payload: {
7
+ format: 'json';
8
+ document: VideoSequence;
9
+ }) => void;
10
+ }
11
+ declare const VideoEditorTemplate: import("svelte").Component<VideoEditorTemplateProps, {}, "value">;
12
+ type VideoEditorTemplate = ReturnType<typeof VideoEditorTemplate>;
13
+ export default VideoEditorTemplate;
@@ -0,0 +1,8 @@
1
+ <script lang="ts">
2
+ import VideoEditorTemplate from './VideoEditorTemplate.svelte';
3
+ import { createDemoVideoSequence } from '../../../utils/videoSequence.js';
4
+
5
+ let value = $state(createDemoVideoSequence());
6
+ </script>
7
+
8
+ <VideoEditorTemplate bind:value />
@@ -0,0 +1,3 @@
1
+ declare const VideoEditorTemplateStory: import("svelte").Component<Record<string, never>, {}, "">;
2
+ type VideoEditorTemplateStory = ReturnType<typeof VideoEditorTemplateStory>;
3
+ export default VideoEditorTemplateStory;