@r2digisolutions/components 0.1.6 → 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 (389) hide show
  1. package/README.md +1 -1
  2. package/dist/components/atoms/Checkbox/Checkbox.svelte +10 -3
  3. package/dist/components/atoms/Checkbox/Checkbox.svelte.d.ts +3 -0
  4. package/dist/components/atoms/IconButton/IconButton.svelte +1 -1
  5. package/dist/components/atoms/Input/Input.svelte +17 -2
  6. package/dist/components/atoms/Input/Input.svelte.d.ts +6 -1
  7. package/dist/components/atoms/MarqueeRect/MarqueeRect.svelte +21 -0
  8. package/dist/components/atoms/MarqueeRect/MarqueeRect.svelte.d.ts +8 -0
  9. package/dist/components/atoms/MediaKindIcon/MediaKindIcon.stories.js +8 -0
  10. package/dist/components/atoms/MediaKindIcon/MediaKindIcon.svelte +122 -0
  11. package/dist/components/atoms/MediaKindIcon/MediaKindIcon.svelte.d.ts +11 -0
  12. package/dist/components/atoms/MediaKindIcon/MediaKindIconStory.svelte +12 -0
  13. package/dist/components/atoms/MediaKindIcon/MediaKindIconStory.svelte.d.ts +18 -0
  14. package/dist/components/atoms/PanKnob/PanKnob.stories.d.ts +9 -0
  15. package/dist/components/atoms/PanKnob/PanKnob.stories.js +8 -0
  16. package/dist/components/atoms/PanKnob/PanKnob.svelte +218 -0
  17. package/dist/components/atoms/PanKnob/PanKnob.svelte.d.ts +19 -0
  18. package/dist/components/atoms/PanKnob/PanKnobStory.svelte +15 -0
  19. package/dist/components/atoms/PanKnob/PanKnobStory.svelte.d.ts +3 -0
  20. package/dist/components/atoms/Playhead/Playhead.stories.js +8 -0
  21. package/dist/components/atoms/Playhead/Playhead.svelte +59 -0
  22. package/dist/components/atoms/Playhead/Playhead.svelte.d.ts +13 -0
  23. package/dist/components/atoms/Playhead/PlayheadStory.svelte +9 -0
  24. package/dist/components/atoms/Playhead/PlayheadStory.svelte.d.ts +18 -0
  25. package/dist/components/atoms/Textarea/Textarea.svelte +4 -1
  26. package/dist/components/atoms/Textarea/Textarea.svelte.d.ts +1 -0
  27. package/dist/components/atoms/TimeRuler/TimeRuler.stories.js +8 -0
  28. package/dist/components/atoms/TimeRuler/TimeRuler.svelte +58 -0
  29. package/dist/components/atoms/TimeRuler/TimeRuler.svelte.d.ts +10 -0
  30. package/dist/components/atoms/TimeRuler/TimeRulerStory.svelte +7 -0
  31. package/dist/components/atoms/TimeRuler/TimeRulerStory.svelte.d.ts +18 -0
  32. package/dist/components/atoms/Toggle/Toggle.svelte +1 -1
  33. package/dist/components/atoms/Tooltip/Tooltip.svelte +1 -1
  34. package/dist/components/atoms/TrimHandle/TrimHandle.stories.js +8 -0
  35. package/dist/components/atoms/TrimHandle/TrimHandle.svelte +63 -0
  36. package/dist/components/atoms/TrimHandle/TrimHandle.svelte.d.ts +12 -0
  37. package/dist/components/atoms/TrimHandle/TrimHandleStory.svelte +11 -0
  38. package/dist/components/atoms/TrimHandle/TrimHandleStory.svelte.d.ts +18 -0
  39. package/dist/components/molecules/AiAssistPanel/AiAssistPanel.stories.d.ts +9 -0
  40. package/dist/components/molecules/AiAssistPanel/AiAssistPanel.stories.js +8 -0
  41. package/dist/components/molecules/AiAssistPanel/AiAssistPanel.svelte +102 -0
  42. package/dist/components/molecules/AiAssistPanel/AiAssistPanel.svelte.d.ts +20 -0
  43. package/dist/components/molecules/AiAssistPanel/AiAssistPanelStory.svelte +34 -0
  44. package/dist/components/molecules/AiAssistPanel/AiAssistPanelStory.svelte.d.ts +3 -0
  45. package/dist/components/molecules/BulkActionBar/BulkActionBar.svelte +112 -62
  46. package/dist/components/molecules/BulkActionBar/BulkActionBar.svelte.d.ts +2 -0
  47. package/dist/components/molecules/BulkEditPanel/BulkEditPanel.stories.js +8 -0
  48. package/dist/components/molecules/BulkEditPanel/BulkEditPanel.svelte +117 -0
  49. package/dist/components/molecules/BulkEditPanel/BulkEditPanel.svelte.d.ts +23 -0
  50. package/dist/components/molecules/BulkEditPanel/BulkEditPanelStory.svelte +18 -0
  51. package/dist/components/molecules/BulkEditPanel/BulkEditPanelStory.svelte.d.ts +18 -0
  52. package/dist/components/molecules/CanvasElementsPanel/CanvasElementsPanel.stories.js +8 -0
  53. package/dist/components/molecules/CanvasElementsPanel/CanvasElementsPanel.svelte +858 -0
  54. package/dist/components/molecules/CanvasElementsPanel/CanvasElementsPanel.svelte.d.ts +43 -0
  55. package/dist/components/molecules/CanvasElementsPanel/CanvasElementsPanelStory.svelte +7 -0
  56. package/dist/components/molecules/CanvasElementsPanel/CanvasElementsPanelStory.svelte.d.ts +18 -0
  57. package/dist/components/molecules/CanvasInspector/CanvasInspector.stories.d.ts +9 -0
  58. package/dist/components/molecules/CanvasInspector/CanvasInspector.stories.js +8 -0
  59. package/dist/components/molecules/CanvasInspector/CanvasInspector.svelte +1140 -0
  60. package/dist/components/molecules/CanvasInspector/CanvasInspector.svelte.d.ts +28 -0
  61. package/dist/components/molecules/CanvasInspector/CanvasInspectorStory.svelte +20 -0
  62. package/dist/components/molecules/CanvasInspector/CanvasInspectorStory.svelte.d.ts +3 -0
  63. package/dist/components/molecules/CodeEditor/CodeEditor.svelte +13 -10
  64. package/dist/components/molecules/ColorPicker/ColorPicker.svelte +167 -97
  65. package/dist/components/molecules/ColumnVisibilityMenu/ColumnVisibilityMenu.stories.d.ts +9 -0
  66. package/dist/components/molecules/ColumnVisibilityMenu/ColumnVisibilityMenu.stories.js +8 -0
  67. package/dist/components/molecules/ColumnVisibilityMenu/ColumnVisibilityMenu.svelte +108 -0
  68. package/dist/components/molecules/ColumnVisibilityMenu/ColumnVisibilityMenu.svelte.d.ts +18 -0
  69. package/dist/components/molecules/ColumnVisibilityMenu/ColumnVisibilityMenuStory.svelte +15 -0
  70. package/dist/components/molecules/ColumnVisibilityMenu/ColumnVisibilityMenuStory.svelte.d.ts +3 -0
  71. package/dist/components/molecules/ConditionalFormatPanel/ConditionalFormatPanel.stories.d.ts +9 -0
  72. package/dist/components/molecules/ConditionalFormatPanel/ConditionalFormatPanel.stories.js +8 -0
  73. package/dist/components/molecules/ConditionalFormatPanel/ConditionalFormatPanel.svelte +412 -0
  74. package/dist/components/molecules/ConditionalFormatPanel/ConditionalFormatPanel.svelte.d.ts +14 -0
  75. package/dist/components/molecules/ConditionalFormatPanel/ConditionalFormatPanelStory.svelte +27 -0
  76. package/dist/components/molecules/ConditionalFormatPanel/ConditionalFormatPanelStory.svelte.d.ts +3 -0
  77. package/dist/components/molecules/ConflictResolver/ConflictResolver.stories.js +8 -0
  78. package/dist/components/molecules/ConflictResolver/ConflictResolver.svelte +73 -0
  79. package/dist/components/molecules/ConflictResolver/ConflictResolver.svelte.d.ts +16 -0
  80. package/dist/components/molecules/ConflictResolver/ConflictResolverStory.svelte +11 -0
  81. package/dist/components/molecules/ConflictResolver/ConflictResolverStory.svelte.d.ts +18 -0
  82. package/dist/components/molecules/ContextMenu/ContextMenu.svelte +237 -41
  83. package/dist/components/molecules/ContextMenu/ContextMenu.svelte.d.ts +17 -1
  84. package/dist/components/molecules/DateTimePicker/DateTimePicker.svelte.d.ts +1 -1
  85. package/dist/components/molecules/ExpressionEditor/ExpressionEditor.stories.d.ts +9 -0
  86. package/dist/components/molecules/ExpressionEditor/ExpressionEditor.stories.js +8 -0
  87. package/dist/components/molecules/ExpressionEditor/ExpressionEditor.svelte +56 -0
  88. package/dist/components/molecules/ExpressionEditor/ExpressionEditor.svelte.d.ts +12 -0
  89. package/dist/components/molecules/ExpressionEditor/ExpressionEditorStory.svelte +12 -0
  90. package/dist/components/molecules/ExpressionEditor/ExpressionEditorStory.svelte.d.ts +3 -0
  91. package/dist/components/molecules/FilterList/FilterList.stories.d.ts +9 -0
  92. package/dist/components/molecules/FilterList/FilterList.stories.js +8 -0
  93. package/dist/components/molecules/FilterList/FilterList.svelte +101 -0
  94. package/dist/components/molecules/FilterList/FilterList.svelte.d.ts +18 -0
  95. package/dist/components/molecules/FilterList/FilterListStory.svelte +31 -0
  96. package/dist/components/molecules/FilterList/FilterListStory.svelte.d.ts +3 -0
  97. package/dist/components/molecules/FormDateTimePicker/FormDateTimePicker.svelte.d.ts +1 -1
  98. package/dist/components/molecules/Gauge/Gauge.stories.d.ts +1 -1
  99. package/dist/components/molecules/InfiniteScroll/InfiniteScroll.stories.d.ts +1 -1
  100. package/dist/components/molecules/MediaAssetBrowser/MediaAssetBrowser.stories.d.ts +9 -0
  101. package/dist/components/molecules/MediaAssetBrowser/MediaAssetBrowser.stories.js +8 -0
  102. package/dist/components/molecules/MediaAssetBrowser/MediaAssetBrowser.svelte +94 -0
  103. package/dist/components/molecules/MediaAssetBrowser/MediaAssetBrowser.svelte.d.ts +15 -0
  104. package/dist/components/molecules/MediaAssetBrowser/MediaAssetBrowserStory.svelte +18 -0
  105. package/dist/components/molecules/MediaAssetBrowser/MediaAssetBrowserStory.svelte.d.ts +3 -0
  106. package/dist/components/molecules/MediaAssetCard/MediaAssetCard.stories.js +8 -0
  107. package/dist/components/molecules/MediaAssetCard/MediaAssetCard.svelte +50 -0
  108. package/dist/components/molecules/MediaAssetCard/MediaAssetCard.svelte.d.ts +11 -0
  109. package/dist/components/molecules/MediaAssetCard/MediaAssetCardStory.svelte +13 -0
  110. package/dist/components/molecules/MediaAssetCard/MediaAssetCardStory.svelte.d.ts +18 -0
  111. package/dist/components/molecules/MediaLayerItem/MediaLayerItem.stories.js +8 -0
  112. package/dist/components/molecules/MediaLayerItem/MediaLayerItem.svelte +380 -0
  113. package/dist/components/molecules/MediaLayerItem/MediaLayerItem.svelte.d.ts +33 -0
  114. package/dist/components/molecules/MediaLayerItem/MediaLayerItemStory.svelte +14 -0
  115. package/dist/components/molecules/MediaLayerItem/MediaLayerItemStory.svelte.d.ts +18 -0
  116. package/dist/components/molecules/MediaLayerList/MediaLayerList.stories.d.ts +9 -0
  117. package/dist/components/molecules/MediaLayerList/MediaLayerList.stories.js +8 -0
  118. package/dist/components/molecules/MediaLayerList/MediaLayerList.svelte +399 -0
  119. package/dist/components/molecules/MediaLayerList/MediaLayerList.svelte.d.ts +37 -0
  120. package/dist/components/molecules/MediaLayerList/MediaLayerListStory.svelte +24 -0
  121. package/dist/components/molecules/MediaLayerList/MediaLayerListStory.svelte.d.ts +3 -0
  122. package/dist/components/molecules/MediaStage/MediaStage.stories.d.ts +9 -0
  123. package/dist/components/molecules/MediaStage/MediaStage.stories.js +8 -0
  124. package/dist/components/molecules/MediaStage/MediaStage.svelte +1498 -0
  125. package/dist/components/molecules/MediaStage/MediaStage.svelte.d.ts +45 -0
  126. package/dist/components/molecules/MediaStage/MediaStageStory.svelte +35 -0
  127. package/dist/components/molecules/MediaStage/MediaStageStory.svelte.d.ts +3 -0
  128. package/dist/components/molecules/MediaTimeline/MediaTimeline.stories.d.ts +9 -0
  129. package/dist/components/molecules/MediaTimeline/MediaTimeline.stories.js +8 -0
  130. package/dist/components/molecules/MediaTimeline/MediaTimeline.svelte +131 -0
  131. package/dist/components/molecules/MediaTimeline/MediaTimeline.svelte.d.ts +19 -0
  132. package/dist/components/molecules/MediaTimeline/MediaTimelineStory.svelte +20 -0
  133. package/dist/components/molecules/MediaTimeline/MediaTimelineStory.svelte.d.ts +3 -0
  134. package/dist/components/molecules/MixerChannel/MixerChannel.stories.d.ts +9 -0
  135. package/dist/components/molecules/MixerChannel/MixerChannel.stories.js +8 -0
  136. package/dist/components/molecules/MixerChannel/MixerChannel.svelte +92 -0
  137. package/dist/components/molecules/MixerChannel/MixerChannel.svelte.d.ts +11 -0
  138. package/dist/components/molecules/MixerChannel/MixerChannelStory.svelte +13 -0
  139. package/dist/components/molecules/MixerChannel/MixerChannelStory.svelte.d.ts +3 -0
  140. package/dist/components/molecules/NodeGraph/GraphBlueprintNode.svelte +454 -0
  141. package/dist/components/molecules/NodeGraph/GraphBlueprintNode.svelte.d.ts +8 -0
  142. package/dist/components/molecules/NodeGraph/GraphFlowBridge.svelte +26 -0
  143. package/dist/components/molecules/NodeGraph/GraphFlowBridge.svelte.d.ts +22 -0
  144. package/dist/components/molecules/NodeGraph/NodeGraph.stories.d.ts +12 -0
  145. package/dist/components/molecules/NodeGraph/NodeGraph.stories.js +9 -0
  146. package/dist/components/molecules/NodeGraph/NodeGraph.svelte +1409 -0
  147. package/dist/components/molecules/NodeGraph/NodeGraph.svelte.d.ts +33 -0
  148. package/dist/components/molecules/NodeGraph/NodeGraphStory.svelte +90 -0
  149. package/dist/components/molecules/NodeGraph/NodeGraphStory.svelte.d.ts +3 -0
  150. package/dist/components/molecules/NodePalette/NodePalette.stories.js +8 -0
  151. package/dist/components/molecules/NodePalette/NodePalette.svelte +86 -0
  152. package/dist/components/molecules/NodePalette/NodePalette.svelte.d.ts +11 -0
  153. package/dist/components/molecules/NodePalette/NodePaletteStory.svelte +11 -0
  154. package/dist/components/molecules/NodePalette/NodePaletteStory.svelte.d.ts +18 -0
  155. package/dist/components/molecules/Poll/Poll.stories.d.ts +1 -1
  156. package/dist/components/molecules/ProgramMonitor/ProgramMonitor.stories.js +8 -0
  157. package/dist/components/molecules/ProgramMonitor/ProgramMonitor.svelte +72 -0
  158. package/dist/components/molecules/ProgramMonitor/ProgramMonitor.svelte.d.ts +12 -0
  159. package/dist/components/molecules/ProgramMonitor/ProgramMonitorStory.svelte +16 -0
  160. package/dist/components/molecules/ProgramMonitor/ProgramMonitorStory.svelte.d.ts +18 -0
  161. package/dist/components/molecules/PropertyField/PropertyField.svelte +57 -3
  162. package/dist/components/molecules/PropertyField/PropertyField.svelte.d.ts +10 -0
  163. package/dist/components/molecules/PropertyField/PropertyFieldStory.svelte +21 -0
  164. package/dist/components/molecules/PropertyGroup/PropertyGroup.svelte +1 -1
  165. package/dist/components/molecules/QueryBuilder/QueryBuilder.stories.d.ts +9 -0
  166. package/dist/components/molecules/QueryBuilder/QueryBuilder.stories.js +8 -0
  167. package/dist/components/molecules/QueryBuilder/QueryBuilder.svelte +52 -0
  168. package/dist/components/molecules/QueryBuilder/QueryBuilder.svelte.d.ts +18 -0
  169. package/dist/components/molecules/QueryBuilder/QueryBuilderStory.svelte +62 -0
  170. package/dist/components/molecules/QueryBuilder/QueryBuilderStory.svelte.d.ts +3 -0
  171. package/dist/components/molecules/RelationPicker/RelationPicker.stories.d.ts +9 -0
  172. package/dist/components/molecules/RelationPicker/RelationPicker.stories.js +8 -0
  173. package/dist/components/molecules/RelationPicker/RelationPicker.svelte +180 -0
  174. package/dist/components/molecules/RelationPicker/RelationPicker.svelte.d.ts +24 -0
  175. package/dist/components/molecules/RelationPicker/RelationPickerStory.svelte +16 -0
  176. package/dist/components/molecules/RelationPicker/RelationPickerStory.svelte.d.ts +3 -0
  177. package/dist/components/molecules/SchemaFieldBuilder/SchemaFieldBuilder.stories.d.ts +9 -0
  178. package/dist/components/molecules/SchemaFieldBuilder/SchemaFieldBuilder.stories.js +8 -0
  179. package/dist/components/molecules/SchemaFieldBuilder/SchemaFieldBuilder.svelte +154 -0
  180. package/dist/components/molecules/SchemaFieldBuilder/SchemaFieldBuilder.svelte.d.ts +12 -0
  181. package/dist/components/molecules/SchemaFieldBuilder/SchemaFieldBuilderStory.svelte +16 -0
  182. package/dist/components/molecules/SchemaFieldBuilder/SchemaFieldBuilderStory.svelte.d.ts +3 -0
  183. package/dist/components/molecules/SecretField/SecretField.stories.d.ts +9 -0
  184. package/dist/components/molecules/SecretField/SecretField.stories.js +8 -0
  185. package/dist/components/molecules/SecretField/SecretField.svelte +58 -0
  186. package/dist/components/molecules/SecretField/SecretField.svelte.d.ts +15 -0
  187. package/dist/components/molecules/SecretField/SecretFieldStory.svelte +8 -0
  188. package/dist/components/molecules/SecretField/SecretFieldStory.svelte.d.ts +3 -0
  189. package/dist/components/molecules/SplitPane/SplitPane.svelte +96 -37
  190. package/dist/components/molecules/SplitPane/SplitPane.svelte.d.ts +10 -2
  191. package/dist/components/molecules/TableToolbar/TableToolbar.svelte.d.ts +1 -1
  192. package/dist/components/molecules/Terminal/Terminal.stories.js +20 -0
  193. package/dist/components/molecules/Terminal/Terminal.svelte +238 -0
  194. package/dist/components/molecules/Terminal/Terminal.svelte.d.ts +19 -0
  195. package/dist/components/molecules/Terminal/TerminalStory.svelte +47 -0
  196. package/dist/components/molecules/Terminal/TerminalStory.svelte.d.ts +6 -0
  197. package/dist/components/molecules/TimelineClip/TimelineClip.stories.js +8 -0
  198. package/dist/components/molecules/TimelineClip/TimelineClip.svelte +116 -0
  199. package/dist/components/molecules/TimelineClip/TimelineClip.svelte.d.ts +15 -0
  200. package/dist/components/molecules/TimelineClip/TimelineClipStory.svelte +18 -0
  201. package/dist/components/molecules/TimelineClip/TimelineClipStory.svelte.d.ts +18 -0
  202. package/dist/components/molecules/TimelineTrack/TimelineTrack.stories.js +8 -0
  203. package/dist/components/molecules/TimelineTrack/TimelineTrack.svelte +56 -0
  204. package/dist/components/molecules/TimelineTrack/TimelineTrack.svelte.d.ts +16 -0
  205. package/dist/components/molecules/TimelineTrack/TimelineTrackStory.svelte +35 -0
  206. package/dist/components/molecules/TimelineTrack/TimelineTrackStory.svelte.d.ts +18 -0
  207. package/dist/components/molecules/TraceWaterfall/TraceWaterfall.stories.js +8 -0
  208. package/dist/components/molecules/TraceWaterfall/TraceWaterfall.svelte +158 -0
  209. package/dist/components/molecules/TraceWaterfall/TraceWaterfall.svelte.d.ts +18 -0
  210. package/dist/components/molecules/TraceWaterfall/TraceWaterfallStory.svelte +55 -0
  211. package/dist/components/molecules/TraceWaterfall/TraceWaterfallStory.svelte.d.ts +18 -0
  212. package/dist/components/molecules/TrackHeader/TrackHeader.stories.d.ts +9 -0
  213. package/dist/components/molecules/TrackHeader/TrackHeader.stories.js +8 -0
  214. package/dist/components/molecules/TrackHeader/TrackHeader.svelte +54 -0
  215. package/dist/components/molecules/TrackHeader/TrackHeader.svelte.d.ts +9 -0
  216. package/dist/components/molecules/TrackHeader/TrackHeaderStory.svelte +10 -0
  217. package/dist/components/molecules/TrackHeader/TrackHeaderStory.svelte.d.ts +3 -0
  218. package/dist/components/molecules/TransportControls/TransportControls.stories.d.ts +9 -0
  219. package/dist/components/molecules/TransportControls/TransportControls.stories.js +8 -0
  220. package/dist/components/molecules/TransportControls/TransportControls.svelte +53 -0
  221. package/dist/components/molecules/TransportControls/TransportControls.svelte.d.ts +12 -0
  222. package/dist/components/molecules/TransportControls/TransportControlsStory.svelte +18 -0
  223. package/dist/components/molecules/TransportControls/TransportControlsStory.svelte.d.ts +3 -0
  224. package/dist/components/molecules/VersionHistoryPanel/VersionHistoryPanel.stories.js +8 -0
  225. package/dist/components/molecules/VersionHistoryPanel/VersionHistoryPanel.svelte +117 -0
  226. package/dist/components/molecules/VersionHistoryPanel/VersionHistoryPanel.svelte.d.ts +20 -0
  227. package/dist/components/molecules/VersionHistoryPanel/VersionHistoryPanelStory.svelte +36 -0
  228. package/dist/components/molecules/VersionHistoryPanel/VersionHistoryPanelStory.svelte.d.ts +18 -0
  229. package/dist/components/molecules/VideoPlayer/VideoPlayer.stories.d.ts +1 -1
  230. package/dist/components/molecules/VideoTrackHeader/VideoTrackHeader.stories.d.ts +9 -0
  231. package/dist/components/molecules/VideoTrackHeader/VideoTrackHeader.stories.js +8 -0
  232. package/dist/components/molecules/VideoTrackHeader/VideoTrackHeader.svelte +59 -0
  233. package/dist/components/molecules/VideoTrackHeader/VideoTrackHeader.svelte.d.ts +9 -0
  234. package/dist/components/molecules/VideoTrackHeader/VideoTrackHeaderStory.svelte +10 -0
  235. package/dist/components/molecules/VideoTrackHeader/VideoTrackHeaderStory.svelte.d.ts +3 -0
  236. package/dist/components/molecules/WaveformRegion/WaveformRegion.stories.js +8 -0
  237. package/dist/components/molecules/WaveformRegion/WaveformRegion.svelte +82 -0
  238. package/dist/components/molecules/WaveformRegion/WaveformRegion.svelte.d.ts +13 -0
  239. package/dist/components/molecules/WaveformRegion/WaveformRegionStory.svelte +17 -0
  240. package/dist/components/molecules/WaveformRegion/WaveformRegionStory.svelte.d.ts +18 -0
  241. package/dist/components/molecules/WidgetCanvas/WidgetCanvas.svelte +13 -4
  242. package/dist/components/molecules/WidgetCanvas/WidgetCanvas.svelte.d.ts +3 -1
  243. package/dist/components/molecules/WidgetCanvas/widgetCanvasContext.d.ts +2 -0
  244. package/dist/components/molecules/WidgetFrame/WidgetFrame.svelte +206 -37
  245. package/dist/components/molecules/WidgetFrame/WidgetFrame.svelte.d.ts +31 -0
  246. package/dist/components/organisms/AssetPickerPage/AssetPickerPage.svelte.d.ts +1 -1
  247. package/dist/components/organisms/AudioEditor/AudioEditor.stories.d.ts +12 -0
  248. package/dist/components/organisms/AudioEditor/AudioEditor.stories.js +9 -0
  249. package/dist/components/organisms/AudioEditor/AudioEditor.svelte +273 -0
  250. package/dist/components/organisms/AudioEditor/AudioEditor.svelte.d.ts +13 -0
  251. package/dist/components/organisms/AudioEditor/AudioEditorStory.svelte +10 -0
  252. package/dist/components/organisms/AudioEditor/AudioEditorStory.svelte.d.ts +3 -0
  253. package/dist/components/organisms/BacklogPage/BacklogPage.svelte.d.ts +1 -1
  254. package/dist/components/organisms/BlogEditor/BlogEditor.stories.d.ts +12 -0
  255. package/dist/components/organisms/BlogEditor/BlogEditor.stories.js +9 -0
  256. package/dist/components/organisms/BlogEditor/BlogEditor.svelte +1208 -0
  257. package/dist/components/organisms/BlogEditor/BlogEditor.svelte.d.ts +16 -0
  258. package/dist/components/organisms/BlogEditor/BlogEditorStory.svelte +144 -0
  259. package/dist/components/organisms/BlogEditor/BlogEditorStory.svelte.d.ts +3 -0
  260. package/dist/components/organisms/BlogEditor/DemoBlogCard.svelte +28 -0
  261. package/dist/components/organisms/BlogEditor/DemoBlogCard.svelte.d.ts +10 -0
  262. package/dist/components/organisms/BlogEditor/DemoBlogStats.svelte +34 -0
  263. package/dist/components/organisms/BlogEditor/DemoBlogStats.svelte.d.ts +11 -0
  264. package/dist/components/organisms/BlogEditor/DemoBlogWidget.svelte +13 -0
  265. package/dist/components/organisms/BlogEditor/DemoBlogWidget.svelte.d.ts +8 -0
  266. package/dist/components/organisms/BlogRenderer/BlogRenderer.stories.js +8 -0
  267. package/dist/components/organisms/BlogRenderer/BlogRenderer.svelte +469 -0
  268. package/dist/components/organisms/BlogRenderer/BlogRenderer.svelte.d.ts +14 -0
  269. package/dist/components/organisms/BlogRenderer/BlogRendererStory.svelte +20 -0
  270. package/dist/components/organisms/BlogRenderer/BlogRendererStory.svelte.d.ts +18 -0
  271. package/dist/components/organisms/BlueprintEditor/BlueprintEditor.stories.d.ts +12 -0
  272. package/dist/components/organisms/BlueprintEditor/BlueprintEditor.stories.js +9 -0
  273. package/dist/components/organisms/BlueprintEditor/BlueprintEditor.svelte +1012 -0
  274. package/dist/components/organisms/BlueprintEditor/BlueprintEditor.svelte.d.ts +16 -0
  275. package/dist/components/organisms/BlueprintEditor/BlueprintEditorStory.svelte +76 -0
  276. package/dist/components/organisms/BlueprintEditor/BlueprintEditorStory.svelte.d.ts +3 -0
  277. package/dist/components/organisms/CalendarApp/CalendarApp.svelte.d.ts +1 -1
  278. package/dist/components/organisms/CanvasEditor/CanvasEditor.stories.d.ts +12 -0
  279. package/dist/components/organisms/CanvasEditor/CanvasEditor.stories.js +9 -0
  280. package/dist/components/organisms/CanvasEditor/CanvasEditor.svelte +1680 -0
  281. package/dist/components/organisms/CanvasEditor/CanvasEditor.svelte.d.ts +18 -0
  282. package/dist/components/organisms/CanvasEditor/CanvasEditorStory.svelte +329 -0
  283. package/dist/components/organisms/CanvasEditor/CanvasEditorStory.svelte.d.ts +3 -0
  284. package/dist/components/organisms/DashboardBuilderPage/DashboardBuilderPage.svelte.d.ts +1 -1
  285. package/dist/components/organisms/DataGrid/DataGrid.stories.d.ts +65 -0
  286. package/dist/components/organisms/DataGrid/DataGrid.stories.js +95 -0
  287. package/dist/components/organisms/DataGrid/DataGrid.svelte +2264 -0
  288. package/dist/components/organisms/DataGrid/DataGrid.svelte.d.ts +99 -0
  289. package/dist/components/organisms/DataGrid/DataGridStory.svelte +659 -0
  290. package/dist/components/organisms/DataGrid/DataGridStory.svelte.d.ts +11 -0
  291. package/dist/components/organisms/DataGrid/breakpoints.d.ts +10 -0
  292. package/dist/components/organisms/DataGrid/breakpoints.js +20 -0
  293. package/dist/components/organisms/DataGrid/cellEditors.d.ts +8 -0
  294. package/dist/components/organisms/DataGrid/cellEditors.js +59 -0
  295. package/dist/components/organisms/DataGrid/conditionalFormat.d.ts +11 -0
  296. package/dist/components/organisms/DataGrid/conditionalFormat.js +98 -0
  297. package/dist/components/organisms/DataGrid/filterRows.d.ts +5 -0
  298. package/dist/components/organisms/DataGrid/filterRows.js +60 -0
  299. package/dist/components/organisms/DataGrid/marks.d.ts +9 -0
  300. package/dist/components/organisms/DataGrid/marks.js +91 -0
  301. package/dist/components/organisms/DataGrid/types.d.ts +126 -0
  302. package/dist/components/organisms/DataGrid/types.js +21 -0
  303. package/dist/components/organisms/DesktopShell/DesktopShell.svelte.d.ts +1 -1
  304. package/dist/components/organisms/EditorShell/EditorShell.svelte +123 -28
  305. package/dist/components/organisms/EditorShell/EditorShell.svelte.d.ts +21 -1
  306. package/dist/components/organisms/FileUploader/FileUploader.svelte +77 -15
  307. package/dist/components/organisms/FileUploader/FileUploader.svelte.d.ts +11 -0
  308. package/dist/components/organisms/ImportWizard/ImportWizard.stories.js +8 -0
  309. package/dist/components/organisms/ImportWizard/ImportWizard.svelte +209 -0
  310. package/dist/components/organisms/ImportWizard/ImportWizard.svelte.d.ts +22 -0
  311. package/dist/components/organisms/ImportWizard/ImportWizardStory.svelte +16 -0
  312. package/dist/components/organisms/ImportWizard/ImportWizardStory.svelte.d.ts +18 -0
  313. package/dist/components/organisms/ResourceStudio/ResourceStudio.stories.d.ts +33 -0
  314. package/dist/components/organisms/ResourceStudio/ResourceStudio.stories.js +56 -0
  315. package/dist/components/organisms/ResourceStudio/ResourceStudio.svelte +830 -0
  316. package/dist/components/organisms/ResourceStudio/ResourceStudio.svelte.d.ts +68 -0
  317. package/dist/components/organisms/ResourceStudio/ResourceStudioStory.svelte +600 -0
  318. package/dist/components/organisms/ResourceStudio/ResourceStudioStory.svelte.d.ts +7 -0
  319. package/dist/components/organisms/ResourceStudio/fieldsToColumns.d.ts +4 -0
  320. package/dist/components/organisms/ResourceStudio/fieldsToColumns.js +20 -0
  321. package/dist/components/organisms/ResourceStudio/fieldsToSchema.d.ts +6 -0
  322. package/dist/components/organisms/ResourceStudio/fieldsToSchema.js +53 -0
  323. package/dist/components/organisms/ResourceStudio/types.d.ts +69 -0
  324. package/dist/components/organisms/ResourceStudio/types.js +15 -0
  325. package/dist/components/organisms/Scheduler/Scheduler.svelte.d.ts +1 -1
  326. package/dist/components/organisms/SchemaForm/SchemaForm.svelte +10 -3
  327. package/dist/components/organisms/SchemaForm/SchemaForm.svelte.d.ts +1 -0
  328. package/dist/components/organisms/VideoEditor/VideoEditor.stories.d.ts +12 -0
  329. package/dist/components/organisms/VideoEditor/VideoEditor.stories.js +9 -0
  330. package/dist/components/organisms/VideoEditor/VideoEditor.svelte +308 -0
  331. package/dist/components/organisms/VideoEditor/VideoEditor.svelte.d.ts +13 -0
  332. package/dist/components/organisms/VideoEditor/VideoEditorStory.svelte +10 -0
  333. package/dist/components/organisms/VideoEditor/VideoEditorStory.svelte.d.ts +3 -0
  334. package/dist/components/templates/AudioEditorTemplate/AudioEditorTemplate.stories.d.ts +12 -0
  335. package/dist/components/templates/AudioEditorTemplate/AudioEditorTemplate.stories.js +9 -0
  336. package/dist/components/templates/AudioEditorTemplate/AudioEditorTemplate.svelte +22 -0
  337. package/dist/components/templates/AudioEditorTemplate/AudioEditorTemplate.svelte.d.ts +13 -0
  338. package/dist/components/templates/AudioEditorTemplate/AudioEditorTemplateStory.svelte +8 -0
  339. package/dist/components/templates/AudioEditorTemplate/AudioEditorTemplateStory.svelte.d.ts +3 -0
  340. package/dist/components/templates/CanvasEditorTemplate/CanvasEditorTemplate.stories.d.ts +12 -0
  341. package/dist/components/templates/CanvasEditorTemplate/CanvasEditorTemplate.stories.js +9 -0
  342. package/dist/components/templates/CanvasEditorTemplate/CanvasEditorTemplate.svelte +32 -0
  343. package/dist/components/templates/CanvasEditorTemplate/CanvasEditorTemplate.svelte.d.ts +17 -0
  344. package/dist/components/templates/CanvasEditorTemplate/CanvasEditorTemplateStory.svelte +21 -0
  345. package/dist/components/templates/CanvasEditorTemplate/CanvasEditorTemplateStory.svelte.d.ts +3 -0
  346. package/dist/components/templates/ResourceStudioTemplate/ResourceStudioTemplate.stories.d.ts +25 -0
  347. package/dist/components/templates/ResourceStudioTemplate/ResourceStudioTemplate.stories.js +18 -0
  348. package/dist/components/templates/ResourceStudioTemplate/ResourceStudioTemplate.svelte +192 -0
  349. package/dist/components/templates/ResourceStudioTemplate/ResourceStudioTemplate.svelte.d.ts +62 -0
  350. package/dist/components/templates/ResourceStudioTemplate/ResourceStudioTemplateStory.svelte +129 -0
  351. package/dist/components/templates/ResourceStudioTemplate/ResourceStudioTemplateStory.svelte.d.ts +7 -0
  352. package/dist/components/templates/VideoEditorTemplate/VideoEditorTemplate.stories.d.ts +12 -0
  353. package/dist/components/templates/VideoEditorTemplate/VideoEditorTemplate.stories.js +9 -0
  354. package/dist/components/templates/VideoEditorTemplate/VideoEditorTemplate.svelte +22 -0
  355. package/dist/components/templates/VideoEditorTemplate/VideoEditorTemplate.svelte.d.ts +13 -0
  356. package/dist/components/templates/VideoEditorTemplate/VideoEditorTemplateStory.svelte +8 -0
  357. package/dist/components/templates/VideoEditorTemplate/VideoEditorTemplateStory.svelte.d.ts +3 -0
  358. package/dist/index.d.ts +94 -1
  359. package/dist/index.js +68 -0
  360. package/dist/types/xyflow-svelte.d.ts +62 -0
  361. package/dist/utils/audioProject.d.ts +19 -0
  362. package/dist/utils/audioProject.js +70 -0
  363. package/dist/utils/blogDocument.d.ts +175 -0
  364. package/dist/utils/blogDocument.js +220 -0
  365. package/dist/utils/blueprintRuntime.d.ts +34 -0
  366. package/dist/utils/blueprintRuntime.js +289 -0
  367. package/dist/utils/canvasDocument.d.ts +239 -0
  368. package/dist/utils/canvasDocument.js +443 -0
  369. package/dist/utils/canvasExport.d.ts +10 -0
  370. package/dist/utils/canvasExport.js +469 -0
  371. package/dist/utils/canvasHierarchy.d.ts +189 -0
  372. package/dist/utils/canvasHierarchy.js +674 -0
  373. package/dist/utils/canvasHistory.d.ts +19 -0
  374. package/dist/utils/canvasHistory.js +48 -0
  375. package/dist/utils/canvasWidget.d.ts +81 -0
  376. package/dist/utils/canvasWidget.js +597 -0
  377. package/dist/utils/marqueeSelect.d.ts +48 -0
  378. package/dist/utils/marqueeSelect.js +189 -0
  379. package/dist/utils/mediaTime.d.ts +16 -0
  380. package/dist/utils/mediaTime.js +57 -0
  381. package/dist/utils/mediaTracks.d.ts +61 -0
  382. package/dist/utils/mediaTracks.js +102 -0
  383. package/dist/utils/nodeGraph.d.ts +354 -0
  384. package/dist/utils/nodeGraph.js +1453 -0
  385. package/dist/utils/queryBridge.d.ts +18 -0
  386. package/dist/utils/queryBridge.js +118 -0
  387. package/dist/utils/videoSequence.d.ts +13 -0
  388. package/dist/utils/videoSequence.js +63 -0
  389. package/package.json +5 -2
@@ -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,25 @@
1
+ import type { StoryObj } from '@storybook/svelte';
2
+ declare const meta: {
3
+ title: string;
4
+ component: import("svelte").Component<{
5
+ example?: "sql" | "mainOnly" | "crud";
6
+ }, {}, "">;
7
+ tags: string[];
8
+ argTypes: {
9
+ example: {
10
+ control: "select";
11
+ options: string[];
12
+ };
13
+ };
14
+ args: {
15
+ example: "crud";
16
+ };
17
+ parameters: {
18
+ layout: string;
19
+ };
20
+ };
21
+ export default meta;
22
+ type Story = StoryObj<typeof meta>;
23
+ export declare const CrudAdmin: Story;
24
+ export declare const SqlBrowser: Story;
25
+ export declare const MainOnly: Story;
@@ -0,0 +1,18 @@
1
+ import ResourceStudioTemplateStory from './ResourceStudioTemplateStory.svelte';
2
+ const meta = {
3
+ title: 'Templates/ResourceStudioTemplate',
4
+ component: ResourceStudioTemplateStory,
5
+ tags: ['autodocs'],
6
+ argTypes: {
7
+ example: {
8
+ control: 'select',
9
+ options: ['crud', 'sql', 'mainOnly']
10
+ }
11
+ },
12
+ args: { example: 'crud' },
13
+ parameters: { layout: 'fullscreen' }
14
+ };
15
+ export default meta;
16
+ export const CrudAdmin = {};
17
+ export const SqlBrowser = { args: { example: 'sql' } };
18
+ export const MainOnly = { args: { example: 'mainOnly' } };
@@ -0,0 +1,192 @@
1
+ <script lang="ts">
2
+ import type { Snippet } from 'svelte';
3
+ import ResourceStudio from '../../organisms/ResourceStudio/ResourceStudio.svelte';
4
+ import type {
5
+ ResourceDefinition,
6
+ ResourceStudioLabels,
7
+ ResourceStudioLayout,
8
+ ResourceStudioMode,
9
+ ResourceStudioView
10
+ } from '../../organisms/ResourceStudio/types.js';
11
+ import type {
12
+ CellNote,
13
+ ConditionalFormatRule,
14
+ GridSelection
15
+ } from '../../organisms/DataGrid/types.js';
16
+ import { EMPTY_SELECTION } from '../../organisms/DataGrid/types.js';
17
+ import PageHeader from '../../molecules/PageHeader/PageHeader.svelte';
18
+
19
+ interface ResourceStudioTemplateProps {
20
+ title?: string;
21
+ description?: string;
22
+ resources?: ResourceDefinition[];
23
+ activeResourceId?: string;
24
+ records?: Record<string, unknown>[];
25
+ totalRecords?: number;
26
+ loading?: boolean;
27
+ page?: number;
28
+ pageSize?: number;
29
+ query?: string;
30
+ selection?: GridSelection;
31
+ notes?: CellNote[];
32
+ formatRules?: ConditionalFormatRule[];
33
+ modes?: ResourceStudioMode[];
34
+ activeMode?: ResourceStudioMode;
35
+ layout?: ResourceStudioLayout;
36
+ labels?: ResourceStudioLabels;
37
+ views?: ResourceStudioView[];
38
+ activeViewId?: string;
39
+ showHeader?: boolean;
40
+ class?: string;
41
+ headerActions?: Snippet;
42
+ toolbar?: Snippet;
43
+ sidebarItem?: Snippet<[ResourceDefinition, boolean]>;
44
+ sidebarFooter?: Snippet;
45
+ detail?: Snippet<[record: Record<string, unknown> | null]>;
46
+ schemaPanel?: Snippet<[ResourceDefinition]>;
47
+ queryPanel?: Snippet;
48
+ activityPanel?: Snippet;
49
+ recordForm?: Snippet<[mode: 'create' | 'edit', record: Record<string, unknown> | null]>;
50
+ empty?: Snippet;
51
+ dockExtra?: Snippet;
52
+ cell?: Snippet<[Record<string, unknown>, { id: string; header: string }]>;
53
+ onresourcechange?: (id: string) => void;
54
+ onsearch?: (q: string) => void;
55
+ onpagechange?: (page: number, pageSize: number) => void;
56
+ onsort?: (columnId: string, dir: 'asc' | 'desc') => void;
57
+ oncreate?: () => void;
58
+ oninsert?: (record: Record<string, unknown>) => void;
59
+ onupdate?: (id: string, patch: Record<string, unknown>) => void;
60
+ ondelete?: (ids: string[]) => void;
61
+ onduplicate?: (ids: string[]) => void;
62
+ onexport?: (ids: string[] | 'all') => void;
63
+ onimport?: (file: File) => void;
64
+ oncelledit?: (id: string, fieldId: string, value: unknown) => void;
65
+ onselectionchange?: (s: GridSelection) => void;
66
+ onnoteschange?: (notes: CellNote[]) => void;
67
+ onformatruleschange?: (rules: ConditionalFormatRule[]) => void;
68
+ onmodechange?: (mode: ResourceStudioMode) => void;
69
+ onviewchange?: (viewId: string) => void;
70
+ onrefresh?: () => void;
71
+ }
72
+
73
+ let {
74
+ title = 'Resource Studio',
75
+ description = 'Browse and edit collections with a moldable CRUD shell.',
76
+ resources = [],
77
+ activeResourceId = $bindable(''),
78
+ records = [],
79
+ totalRecords,
80
+ loading = false,
81
+ page = $bindable(1),
82
+ pageSize = 25,
83
+ query = $bindable(''),
84
+ selection = $bindable<GridSelection>(EMPTY_SELECTION),
85
+ notes = $bindable<CellNote[]>([]),
86
+ formatRules = $bindable<ConditionalFormatRule[]>([]),
87
+ modes,
88
+ activeMode = $bindable<ResourceStudioMode>('browse'),
89
+ layout = 'sidebar-main-detail',
90
+ labels,
91
+ views = [],
92
+ activeViewId = $bindable(''),
93
+ showHeader = true,
94
+ class: className = '',
95
+ headerActions,
96
+ toolbar,
97
+ sidebarItem,
98
+ sidebarFooter,
99
+ detail,
100
+ schemaPanel,
101
+ queryPanel,
102
+ activityPanel,
103
+ recordForm,
104
+ empty,
105
+ dockExtra,
106
+ cell,
107
+ onresourcechange,
108
+ onsearch,
109
+ onpagechange,
110
+ onsort,
111
+ oncreate,
112
+ oninsert,
113
+ onupdate,
114
+ ondelete,
115
+ onduplicate,
116
+ onexport,
117
+ onimport,
118
+ oncelledit,
119
+ onselectionchange,
120
+ onnoteschange,
121
+ onformatruleschange,
122
+ onmodechange,
123
+ onviewchange,
124
+ onrefresh
125
+ }: ResourceStudioTemplateProps = $props();
126
+ </script>
127
+
128
+ <div class={['flex h-svh min-h-0 w-full flex-col bg-surface', className]}>
129
+ {#if showHeader}
130
+ <div class="shrink-0 border-b border-border px-4 py-3 sm:px-6">
131
+ <PageHeader {title} {description}>
132
+ {#snippet actions()}
133
+ {#if headerActions}
134
+ {@render headerActions()}
135
+ {/if}
136
+ {/snippet}
137
+ </PageHeader>
138
+ </div>
139
+ {/if}
140
+
141
+ <div class="min-h-0 flex-1 p-3 sm:p-4">
142
+ <ResourceStudio
143
+ {resources}
144
+ bind:activeResourceId
145
+ {records}
146
+ {totalRecords}
147
+ {loading}
148
+ bind:page
149
+ {pageSize}
150
+ bind:query
151
+ bind:selection
152
+ bind:notes
153
+ bind:formatRules
154
+ {modes}
155
+ bind:activeMode
156
+ {layout}
157
+ {labels}
158
+ {views}
159
+ bind:activeViewId
160
+ class="h-full min-h-0"
161
+ {toolbar}
162
+ {sidebarItem}
163
+ {sidebarFooter}
164
+ {detail}
165
+ {schemaPanel}
166
+ {queryPanel}
167
+ {activityPanel}
168
+ {recordForm}
169
+ {empty}
170
+ {dockExtra}
171
+ {cell}
172
+ {onresourcechange}
173
+ {onsearch}
174
+ {onpagechange}
175
+ {onsort}
176
+ {oncreate}
177
+ {oninsert}
178
+ {onupdate}
179
+ {ondelete}
180
+ {onduplicate}
181
+ {onexport}
182
+ {onimport}
183
+ {oncelledit}
184
+ {onselectionchange}
185
+ {onnoteschange}
186
+ {onformatruleschange}
187
+ {onmodechange}
188
+ {onviewchange}
189
+ {onrefresh}
190
+ />
191
+ </div>
192
+ </div>
@@ -0,0 +1,62 @@
1
+ import type { Snippet } from 'svelte';
2
+ import type { ResourceDefinition, ResourceStudioLabels, ResourceStudioLayout, ResourceStudioMode, ResourceStudioView } from '../../organisms/ResourceStudio/types.js';
3
+ import type { CellNote, ConditionalFormatRule, GridSelection } from '../../organisms/DataGrid/types.js';
4
+ interface ResourceStudioTemplateProps {
5
+ title?: string;
6
+ description?: string;
7
+ resources?: ResourceDefinition[];
8
+ activeResourceId?: string;
9
+ records?: Record<string, unknown>[];
10
+ totalRecords?: number;
11
+ loading?: boolean;
12
+ page?: number;
13
+ pageSize?: number;
14
+ query?: string;
15
+ selection?: GridSelection;
16
+ notes?: CellNote[];
17
+ formatRules?: ConditionalFormatRule[];
18
+ modes?: ResourceStudioMode[];
19
+ activeMode?: ResourceStudioMode;
20
+ layout?: ResourceStudioLayout;
21
+ labels?: ResourceStudioLabels;
22
+ views?: ResourceStudioView[];
23
+ activeViewId?: string;
24
+ showHeader?: boolean;
25
+ class?: string;
26
+ headerActions?: Snippet;
27
+ toolbar?: Snippet;
28
+ sidebarItem?: Snippet<[ResourceDefinition, boolean]>;
29
+ sidebarFooter?: Snippet;
30
+ detail?: Snippet<[record: Record<string, unknown> | null]>;
31
+ schemaPanel?: Snippet<[ResourceDefinition]>;
32
+ queryPanel?: Snippet;
33
+ activityPanel?: Snippet;
34
+ recordForm?: Snippet<[mode: 'create' | 'edit', record: Record<string, unknown> | null]>;
35
+ empty?: Snippet;
36
+ dockExtra?: Snippet;
37
+ cell?: Snippet<[Record<string, unknown>, {
38
+ id: string;
39
+ header: string;
40
+ }]>;
41
+ onresourcechange?: (id: string) => void;
42
+ onsearch?: (q: string) => void;
43
+ onpagechange?: (page: number, pageSize: number) => void;
44
+ onsort?: (columnId: string, dir: 'asc' | 'desc') => void;
45
+ oncreate?: () => void;
46
+ oninsert?: (record: Record<string, unknown>) => void;
47
+ onupdate?: (id: string, patch: Record<string, unknown>) => void;
48
+ ondelete?: (ids: string[]) => void;
49
+ onduplicate?: (ids: string[]) => void;
50
+ onexport?: (ids: string[] | 'all') => void;
51
+ onimport?: (file: File) => void;
52
+ oncelledit?: (id: string, fieldId: string, value: unknown) => void;
53
+ onselectionchange?: (s: GridSelection) => void;
54
+ onnoteschange?: (notes: CellNote[]) => void;
55
+ onformatruleschange?: (rules: ConditionalFormatRule[]) => void;
56
+ onmodechange?: (mode: ResourceStudioMode) => void;
57
+ onviewchange?: (viewId: string) => void;
58
+ onrefresh?: () => void;
59
+ }
60
+ declare const ResourceStudioTemplate: import("svelte").Component<ResourceStudioTemplateProps, {}, "query" | "page" | "notes" | "selection" | "formatRules" | "activeResourceId" | "activeMode" | "activeViewId">;
61
+ type ResourceStudioTemplate = ReturnType<typeof ResourceStudioTemplate>;
62
+ export default ResourceStudioTemplate;
@@ -0,0 +1,129 @@
1
+ <script lang="ts">
2
+ import ResourceStudioTemplate from './ResourceStudioTemplate.svelte';
3
+ import type { ResourceDefinition } from '../../organisms/ResourceStudio/types.js';
4
+ import Badge from '../../atoms/Badge/Badge.svelte';
5
+ import Button from '../../atoms/Button/Button.svelte';
6
+ import CodeEditor from '../../molecules/CodeEditor/CodeEditor.svelte';
7
+
8
+ type Example = 'crud' | 'sql' | 'mainOnly';
9
+
10
+ let { example = 'crud' }: { example?: Example } = $props();
11
+
12
+ const resources = $derived.by((): ResourceDefinition[] => {
13
+ const sql = example === 'sql';
14
+ return [
15
+ {
16
+ id: 'users',
17
+ name: sql ? 'users' : 'Users',
18
+ group: sql ? 'public' : 'Auth',
19
+ recordCount: 3,
20
+ fields: [
21
+ { id: 'id', label: 'ID', type: 'string', readonly: true },
22
+ { id: 'name', label: 'Name', type: 'string', required: true },
23
+ { id: 'email', label: 'Email', type: 'string', required: true },
24
+ {
25
+ id: 'role',
26
+ label: 'Role',
27
+ type: 'enum',
28
+ options: [
29
+ { value: 'admin', label: 'Admin' },
30
+ { value: 'editor', label: 'Editor' }
31
+ ]
32
+ }
33
+ ]
34
+ },
35
+ {
36
+ id: 'orders',
37
+ name: sql ? 'orders' : 'Orders',
38
+ group: sql ? 'public' : 'Commerce',
39
+ recordCount: 3,
40
+ fields: [
41
+ { id: 'id', label: 'ID', type: 'string', readonly: true },
42
+ {
43
+ id: 'status',
44
+ label: 'Status',
45
+ type: 'enum',
46
+ options: [
47
+ { value: 'paid', label: 'Paid' },
48
+ { value: 'pending', label: 'Pending' }
49
+ ]
50
+ },
51
+ { id: 'total', label: 'Total', type: 'number' }
52
+ ]
53
+ }
54
+ ];
55
+ });
56
+
57
+ let activeResourceId = $state('users');
58
+ let records = $state<Record<string, unknown>[]>([
59
+ { id: '1', name: 'Ana', email: 'ana@r2.dev', role: 'admin' },
60
+ { id: '2', name: 'Carlos', email: 'carlos@r2.dev', role: 'editor' },
61
+ { id: '3', name: 'Maya', email: 'maya@r2.dev', role: 'editor' }
62
+ ]);
63
+ let orderRecords = $state<Record<string, unknown>[]>([
64
+ { id: 'o1', status: 'paid', total: 120 },
65
+ { id: 'o2', status: 'pending', total: 80 },
66
+ { id: 'o3', status: 'paid', total: 440 }
67
+ ]);
68
+ let sqlText = $state('select * from users;');
69
+
70
+ $effect(() => {
71
+ // Only seed when the Storybook example changes.
72
+ activeResourceId = example === 'mainOnly' ? 'orders' : 'users';
73
+ });
74
+
75
+ const activeRecords = $derived(
76
+ activeResourceId === 'orders' ? orderRecords : records
77
+ );
78
+ </script>
79
+
80
+ <ResourceStudioTemplate
81
+ title={example === 'sql' ? 'Database Studio' : 'Admin'}
82
+ description={example === 'sql'
83
+ ? 'Drizzle-like browse UI built on ResourceStudio.'
84
+ : 'Full-page CRUD shell for your collections.'}
85
+ {resources}
86
+ bind:activeResourceId
87
+ records={activeRecords}
88
+ totalRecords={activeRecords.length}
89
+ layout={example === 'mainOnly' ? 'main-only' : 'sidebar-main-detail'}
90
+ modes={example === 'sql' ? ['browse', 'schema', 'query', 'detail'] : ['browse', 'detail', 'schema']}
91
+ labels={example === 'sql'
92
+ ? { resources: 'Tables', records: 'rows', addRecord: 'Insert row', query: 'SQL' }
93
+ : undefined}
94
+ oninsert={(row) => {
95
+ if (activeResourceId === 'orders') orderRecords = [row, ...orderRecords];
96
+ else records = [row, ...records];
97
+ }}
98
+ onupdate={(id, patch) => {
99
+ const apply = (list: Record<string, unknown>[]) =>
100
+ list.map((r) => (String(r.id) === id ? { ...r, ...patch } : r));
101
+ if (activeResourceId === 'orders') orderRecords = apply(orderRecords);
102
+ else records = apply(records);
103
+ }}
104
+ ondelete={(ids) => {
105
+ const filter = (list: Record<string, unknown>[]) =>
106
+ list.filter((r) => !ids.includes(String(r.id)));
107
+ if (activeResourceId === 'orders') orderRecords = filter(orderRecords);
108
+ else records = filter(records);
109
+ }}
110
+ >
111
+ {#snippet headerActions()}
112
+ <Button size="sm" variant="secondary">Docs</Button>
113
+ {/snippet}
114
+
115
+ {#snippet queryPanel()}
116
+ <div class="space-y-2">
117
+ <CodeEditor bind:value={sqlText} class="min-h-28" />
118
+ <Button size="sm" variant="primary">Run SQL</Button>
119
+ </div>
120
+ {/snippet}
121
+
122
+ {#snippet cell(row, column)}
123
+ {#if column.id === 'status' || column.id === 'role'}
124
+ <Badge variant="secondary">{String(row[column.id] ?? '')}</Badge>
125
+ {:else}
126
+ {row[column.id] == null ? '' : String(row[column.id])}
127
+ {/if}
128
+ {/snippet}
129
+ </ResourceStudioTemplate>
@@ -0,0 +1,7 @@
1
+ type Example = 'crud' | 'sql' | 'mainOnly';
2
+ type $$ComponentProps = {
3
+ example?: Example;
4
+ };
5
+ declare const ResourceStudioTemplateStory: import("svelte").Component<$$ComponentProps, {}, "">;
6
+ type ResourceStudioTemplateStory = ReturnType<typeof ResourceStudioTemplateStory>;
7
+ export default ResourceStudioTemplateStory;
@@ -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;