@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,15 @@
1
+ import type { MediaClip } from '../../../utils/mediaTracks.js';
2
+ interface TimelineClipProps {
3
+ clip: MediaClip;
4
+ pxPerMs?: number;
5
+ selected?: boolean;
6
+ locked?: boolean;
7
+ class?: string;
8
+ onclick?: (e: MouseEvent) => void;
9
+ onmove?: (startMs: number) => void;
10
+ ontrimstart?: (startMs: number) => void;
11
+ ontrimend?: (endMs: number) => void;
12
+ }
13
+ declare const TimelineClip: import("svelte").Component<TimelineClipProps, {}, "">;
14
+ type TimelineClip = ReturnType<typeof TimelineClip>;
15
+ export default TimelineClip;
@@ -0,0 +1,18 @@
1
+ <script lang="ts">
2
+ import TimelineClip from './TimelineClip.svelte';
3
+ import type { MediaClip } from '../../../utils/mediaTracks.js';
4
+
5
+ const clip: MediaClip = {
6
+ id: 'c1',
7
+ trackId: 't1',
8
+ name: 'Intro',
9
+ kind: 'video',
10
+ startMs: 1000,
11
+ endMs: 8000,
12
+ color: '#8b5cf6'
13
+ };
14
+ </script>
15
+
16
+ <div class="relative h-12 w-full rounded-lg border border-border bg-surface">
17
+ <TimelineClip {clip} pxPerMs={0.08} selected />
18
+ </div>
@@ -0,0 +1,18 @@
1
+ interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
2
+ new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
3
+ $$bindings?: Bindings;
4
+ } & Exports;
5
+ (internal: unknown, props: {
6
+ $$events?: Events;
7
+ $$slots?: Slots;
8
+ }): Exports & {
9
+ $set?: any;
10
+ $on?: any;
11
+ };
12
+ z_$$bindings?: Bindings;
13
+ }
14
+ declare const TimelineClipStory: $$__sveltets_2_IsomorphicComponent<Record<string, never>, {
15
+ [evt: string]: CustomEvent<any>;
16
+ }, {}, {}, string>;
17
+ type TimelineClipStory = InstanceType<typeof TimelineClipStory>;
18
+ export default TimelineClipStory;
@@ -0,0 +1,8 @@
1
+ import TimelineTrackStory from './TimelineTrackStory.svelte';
2
+ const meta = {
3
+ title: 'Molecules/TimelineTrack',
4
+ component: TimelineTrackStory,
5
+ tags: ['autodocs']
6
+ };
7
+ export default meta;
8
+ export const Default = {};
@@ -0,0 +1,56 @@
1
+ <script lang="ts">
2
+ import type { Snippet } from 'svelte';
3
+ import TimelineClip from '../TimelineClip/TimelineClip.svelte';
4
+ import type { MediaClip, MediaTrack } from '../../../utils/mediaTracks.js';
5
+ import { moveClip, trimClipEnd, trimClipStart } from '../../../utils/mediaTracks.js';
6
+
7
+ interface TimelineTrackProps {
8
+ track: MediaTrack;
9
+ pxPerMs?: number;
10
+ durationMs?: number;
11
+ selectedClipId?: string | null;
12
+ height?: number;
13
+ header?: Snippet;
14
+ class?: string;
15
+ onselectclip?: (clipId: string) => void;
16
+ onchangeclip?: (clip: MediaClip) => void;
17
+ }
18
+
19
+ let {
20
+ track,
21
+ pxPerMs = 0.05,
22
+ durationMs = 30_000,
23
+ selectedClipId = null,
24
+ height = 44,
25
+ header,
26
+ class: className = '',
27
+ onselectclip,
28
+ onchangeclip
29
+ }: TimelineTrackProps = $props();
30
+
31
+ const width = $derived(Math.max(1, durationMs * pxPerMs));
32
+ </script>
33
+
34
+ <div class={['flex min-w-0 border-b border-border', className]} style:height={`${height}px`}>
35
+ {#if header}
36
+ <div
37
+ class="sticky left-0 z-10 flex w-36 shrink-0 items-center gap-2 border-r border-border bg-surface-elevated px-2"
38
+ >
39
+ {@render header()}
40
+ </div>
41
+ {/if}
42
+ <div class="relative min-w-0 flex-1 overflow-hidden bg-surface/60" style:width={`${width}px`}>
43
+ {#each track.clips as clip (clip.id)}
44
+ <TimelineClip
45
+ {clip}
46
+ {pxPerMs}
47
+ selected={selectedClipId === clip.id}
48
+ locked={track.locked}
49
+ onclick={() => onselectclip?.(clip.id)}
50
+ onmove={(startMs) => onchangeclip?.(moveClip(clip, startMs))}
51
+ ontrimstart={(startMs) => onchangeclip?.(trimClipStart(clip, startMs))}
52
+ ontrimend={(endMs) => onchangeclip?.(trimClipEnd(clip, endMs))}
53
+ />
54
+ {/each}
55
+ </div>
56
+ </div>
@@ -0,0 +1,16 @@
1
+ import type { Snippet } from 'svelte';
2
+ import type { MediaClip, MediaTrack } from '../../../utils/mediaTracks.js';
3
+ interface TimelineTrackProps {
4
+ track: MediaTrack;
5
+ pxPerMs?: number;
6
+ durationMs?: number;
7
+ selectedClipId?: string | null;
8
+ height?: number;
9
+ header?: Snippet;
10
+ class?: string;
11
+ onselectclip?: (clipId: string) => void;
12
+ onchangeclip?: (clip: MediaClip) => void;
13
+ }
14
+ declare const TimelineTrack: import("svelte").Component<TimelineTrackProps, {}, "">;
15
+ type TimelineTrack = ReturnType<typeof TimelineTrack>;
16
+ export default TimelineTrack;
@@ -0,0 +1,35 @@
1
+ <script lang="ts">
2
+ import TimelineTrack from './TimelineTrack.svelte';
3
+ import { createMediaTrack, createMediaClip } from '../../../utils/mediaTracks.js';
4
+
5
+ const track = createMediaTrack({
6
+ name: 'V1',
7
+ kind: 'video',
8
+ clips: [
9
+ createMediaClip({
10
+ trackId: 't',
11
+ name: 'A',
12
+ kind: 'video',
13
+ startMs: 0,
14
+ endMs: 5000,
15
+ color: '#3b82f6'
16
+ }),
17
+ createMediaClip({
18
+ trackId: 't',
19
+ name: 'B',
20
+ kind: 'image',
21
+ startMs: 6000,
22
+ endMs: 12000,
23
+ color: '#8b5cf6'
24
+ })
25
+ ]
26
+ });
27
+ </script>
28
+
29
+ <div class="overflow-x-auto rounded-lg border border-border">
30
+ <TimelineTrack {track} durationMs={20000} pxPerMs={0.06} selectedClipId={track.clips[0]?.id}>
31
+ {#snippet header()}
32
+ <span class="truncate text-xs font-medium text-secondary">{track.name}</span>
33
+ {/snippet}
34
+ </TimelineTrack>
35
+ </div>
@@ -0,0 +1,18 @@
1
+ interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
2
+ new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
3
+ $$bindings?: Bindings;
4
+ } & Exports;
5
+ (internal: unknown, props: {
6
+ $$events?: Events;
7
+ $$slots?: Slots;
8
+ }): Exports & {
9
+ $set?: any;
10
+ $on?: any;
11
+ };
12
+ z_$$bindings?: Bindings;
13
+ }
14
+ declare const TimelineTrackStory: $$__sveltets_2_IsomorphicComponent<Record<string, never>, {
15
+ [evt: string]: CustomEvent<any>;
16
+ }, {}, {}, string>;
17
+ type TimelineTrackStory = InstanceType<typeof TimelineTrackStory>;
18
+ export default TimelineTrackStory;
@@ -0,0 +1,8 @@
1
+ import TraceWaterfallStory from './TraceWaterfallStory.svelte';
2
+ const meta = {
3
+ title: 'Molecules/TraceWaterfall',
4
+ component: TraceWaterfallStory,
5
+ tags: ['autodocs']
6
+ };
7
+ export default meta;
8
+ export const Default = {};
@@ -0,0 +1,158 @@
1
+ <script lang="ts">
2
+ export interface TraceSpan {
3
+ id: string;
4
+ name: string;
5
+ startMs: number;
6
+ durationMs: number;
7
+ service?: string;
8
+ status?: 'ok' | 'error' | 'unset';
9
+ children?: TraceSpan[];
10
+ }
11
+
12
+ interface TraceWaterfallProps {
13
+ spans?: TraceSpan[];
14
+ selectedId?: string;
15
+ class?: string;
16
+ onselect?: (span: TraceSpan) => void;
17
+ }
18
+
19
+ let {
20
+ spans = [],
21
+ selectedId = $bindable(''),
22
+ class: className = '',
23
+ onselect
24
+ }: TraceWaterfallProps = $props();
25
+
26
+ function flatten(
27
+ list: TraceSpan[],
28
+ depth = 0
29
+ ): { span: TraceSpan; depth: number }[] {
30
+ const out: { span: TraceSpan; depth: number }[] = [];
31
+ for (const span of list) {
32
+ out.push({ span, depth });
33
+ if (span.children?.length) out.push(...flatten(span.children, depth + 1));
34
+ }
35
+ return out;
36
+ }
37
+
38
+ const flat = $derived(flatten(spans));
39
+
40
+ const totalMs = $derived.by(() => {
41
+ let max = 0;
42
+ for (const { span } of flat) {
43
+ max = Math.max(max, span.startMs + span.durationMs);
44
+ }
45
+ return Math.max(max, 1);
46
+ });
47
+
48
+ const ticks = $derived.by(() => {
49
+ const steps = 4;
50
+ return Array.from({ length: steps + 1 }, (_, i) => (totalMs * i) / steps);
51
+ });
52
+
53
+ const statusBar: Record<string, string> = {
54
+ ok: 'bg-emerald-500 dark:bg-emerald-400',
55
+ error: 'bg-red-500 dark:bg-red-400',
56
+ unset: 'bg-sky-500 dark:bg-sky-400'
57
+ };
58
+
59
+ const statusDot: Record<string, string> = {
60
+ ok: 'bg-emerald-500',
61
+ error: 'bg-red-500',
62
+ unset: 'bg-sky-500'
63
+ };
64
+
65
+ function pick(span: TraceSpan) {
66
+ selectedId = span.id;
67
+ onselect?.(span);
68
+ }
69
+
70
+ function formatMs(ms: number) {
71
+ return ms >= 100 ? `${Math.round(ms)}ms` : `${ms.toFixed(ms >= 10 ? 0 : 1)}ms`;
72
+ }
73
+ </script>
74
+
75
+ <div
76
+ class={['overflow-hidden rounded-xl border border-border bg-surface-elevated shadow-sm', className]}
77
+ data-trace-waterfall
78
+ >
79
+ <div class="flex items-center justify-between gap-3 border-b border-border px-3 py-2">
80
+ <span class="text-xs font-medium text-primary">
81
+ Trace · {formatMs(totalMs)} total · {flat.length} spans
82
+ </span>
83
+ <div class="flex items-center gap-3 text-[10px] text-muted">
84
+ <span class="inline-flex items-center gap-1"><span class="h-1.5 w-1.5 rounded-full bg-emerald-500"></span>ok</span>
85
+ <span class="inline-flex items-center gap-1"><span class="h-1.5 w-1.5 rounded-full bg-red-500"></span>error</span>
86
+ <span class="inline-flex items-center gap-1"><span class="h-1.5 w-1.5 rounded-full bg-sky-500"></span>unset</span>
87
+ </div>
88
+ </div>
89
+
90
+ <div class="sticky top-0 z-10 grid grid-cols-[minmax(140px,200px)_1fr_56px] gap-2 border-b border-border bg-surface-overlay/90 px-3 py-1.5 backdrop-blur">
91
+ <span class="text-[10px] font-semibold uppercase tracking-wide text-muted">Span</span>
92
+ <div class="relative h-4">
93
+ {#each ticks as tick, i (i)}
94
+ <span
95
+ class="absolute top-0 -translate-x-1/2 text-[10px] tabular-nums text-muted first:translate-x-0 last:-translate-x-full"
96
+ style={`left:${(tick / totalMs) * 100}%`}
97
+ >
98
+ {formatMs(tick)}
99
+ </span>
100
+ {/each}
101
+ </div>
102
+ <span class="text-right text-[10px] font-semibold uppercase tracking-wide text-muted">Dur</span>
103
+ </div>
104
+
105
+ <ul class="max-h-[420px] overflow-auto p-1.5">
106
+ {#each flat as row (row.span.id)}
107
+ <li>
108
+ <button
109
+ type="button"
110
+ class={[
111
+ 'grid w-full grid-cols-[minmax(140px,200px)_1fr_56px] items-center gap-2 rounded-lg px-1.5 py-1.5 text-left transition-colors',
112
+ 'hover:bg-surface-overlay',
113
+ selectedId === row.span.id ? 'bg-brand-50 ring-1 ring-brand-200/80 dark:bg-brand-950/30 dark:ring-brand-800/60' : ''
114
+ ]}
115
+ onclick={() => pick(row.span)}
116
+ >
117
+ <div class="flex min-w-0 items-start gap-1.5" style={`padding-left:${row.depth * 12}px`}>
118
+ <span
119
+ class={['mt-1.5 h-1.5 w-1.5 shrink-0 rounded-full', statusDot[row.span.status ?? 'unset']]}
120
+ aria-hidden="true"
121
+ ></span>
122
+ <div class="min-w-0">
123
+ <p class="truncate text-xs font-medium text-primary">{row.span.name}</p>
124
+ {#if row.span.service}
125
+ <p class="truncate text-[10px] text-muted">{row.span.service}</p>
126
+ {/if}
127
+ </div>
128
+ </div>
129
+
130
+ <div class="relative h-5 overflow-hidden rounded-md bg-surface-overlay ring-1 ring-border/60">
131
+ {#each ticks.slice(1, -1) as tick (tick)}
132
+ <span
133
+ class="absolute inset-y-0 w-px bg-border/70"
134
+ style={`left:${(tick / totalMs) * 100}%`}
135
+ aria-hidden="true"
136
+ ></span>
137
+ {/each}
138
+ <span
139
+ class={[
140
+ 'absolute top-1 h-3 rounded-[3px] shadow-sm',
141
+ statusBar[row.span.status ?? 'unset']
142
+ ]}
143
+ style={`left:${(row.span.startMs / totalMs) * 100}%;width:${Math.max((row.span.durationMs / totalMs) * 100, 0.8)}%`}
144
+ title={`${row.span.name} · ${formatMs(row.span.durationMs)}`}
145
+ ></span>
146
+ </div>
147
+
148
+ <span class="text-right font-mono text-[10px] tabular-nums text-muted">
149
+ {formatMs(row.span.durationMs)}
150
+ </span>
151
+ </button>
152
+ </li>
153
+ {/each}
154
+ {#if !flat.length}
155
+ <li class="px-3 py-8 text-center text-sm text-muted">No spans</li>
156
+ {/if}
157
+ </ul>
158
+ </div>
@@ -0,0 +1,18 @@
1
+ export interface TraceSpan {
2
+ id: string;
3
+ name: string;
4
+ startMs: number;
5
+ durationMs: number;
6
+ service?: string;
7
+ status?: 'ok' | 'error' | 'unset';
8
+ children?: TraceSpan[];
9
+ }
10
+ interface TraceWaterfallProps {
11
+ spans?: TraceSpan[];
12
+ selectedId?: string;
13
+ class?: string;
14
+ onselect?: (span: TraceSpan) => void;
15
+ }
16
+ declare const TraceWaterfall: import("svelte").Component<TraceWaterfallProps, {}, "selectedId">;
17
+ type TraceWaterfall = ReturnType<typeof TraceWaterfall>;
18
+ export default TraceWaterfall;
@@ -0,0 +1,55 @@
1
+ <script lang="ts">
2
+ import TraceWaterfall from './TraceWaterfall.svelte';
3
+ import type { TraceSpan } from './TraceWaterfall.svelte';
4
+
5
+ const spans: TraceSpan[] = [
6
+ {
7
+ id: '1',
8
+ name: 'HTTP GET /api/orders',
9
+ service: 'api-gateway',
10
+ startMs: 0,
11
+ durationMs: 240,
12
+ status: 'ok',
13
+ children: [
14
+ {
15
+ id: '2',
16
+ name: 'auth.verify',
17
+ service: 'auth',
18
+ startMs: 8,
19
+ durationMs: 32,
20
+ status: 'ok'
21
+ },
22
+ {
23
+ id: '3',
24
+ name: 'db.query orders',
25
+ service: 'postgres',
26
+ startMs: 48,
27
+ durationMs: 120,
28
+ status: 'ok',
29
+ children: [
30
+ {
31
+ id: '4',
32
+ name: 'cache.lookup',
33
+ service: 'redis',
34
+ startMs: 52,
35
+ durationMs: 12,
36
+ status: 'ok'
37
+ }
38
+ ]
39
+ },
40
+ {
41
+ id: '5',
42
+ name: 'billing.enrich',
43
+ service: 'billing',
44
+ startMs: 180,
45
+ durationMs: 45,
46
+ status: 'error'
47
+ }
48
+ ]
49
+ }
50
+ ];
51
+ </script>
52
+
53
+ <div class="p-4">
54
+ <TraceWaterfall {spans} />
55
+ </div>
@@ -0,0 +1,18 @@
1
+ interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
2
+ new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
3
+ $$bindings?: Bindings;
4
+ } & Exports;
5
+ (internal: unknown, props: {
6
+ $$events?: Events;
7
+ $$slots?: Slots;
8
+ }): Exports & {
9
+ $set?: any;
10
+ $on?: any;
11
+ };
12
+ z_$$bindings?: Bindings;
13
+ }
14
+ declare const TraceWaterfallStory: $$__sveltets_2_IsomorphicComponent<Record<string, never>, {
15
+ [evt: string]: CustomEvent<any>;
16
+ }, {}, {}, string>;
17
+ type TraceWaterfallStory = InstanceType<typeof TraceWaterfallStory>;
18
+ export default TraceWaterfallStory;
@@ -0,0 +1,9 @@
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
+ };
7
+ export default meta;
8
+ type Story = StoryObj<typeof meta>;
9
+ export declare const Default: Story;
@@ -0,0 +1,8 @@
1
+ import TrackHeaderStory from './TrackHeaderStory.svelte';
2
+ const meta = {
3
+ title: 'Molecules/TrackHeader',
4
+ component: TrackHeaderStory,
5
+ tags: ['autodocs']
6
+ };
7
+ export default meta;
8
+ export const Default = {};
@@ -0,0 +1,54 @@
1
+ <script lang="ts">
2
+ import IconButton from '../../atoms/IconButton/IconButton.svelte';
3
+ import type { MediaTrack } from '../../../utils/mediaTracks.js';
4
+ import Volume2 from '@lucide/svelte/icons/volume-2';
5
+ import VolumeX from '@lucide/svelte/icons/volume-x';
6
+ import Headphones from '@lucide/svelte/icons/headphones';
7
+ import Circle from '@lucide/svelte/icons/circle';
8
+
9
+ interface TrackHeaderProps {
10
+ track: MediaTrack;
11
+ class?: string;
12
+ onchange?: (track: MediaTrack) => void;
13
+ }
14
+
15
+ let { track, class: className = '', onchange }: TrackHeaderProps = $props();
16
+
17
+ function patch(partial: Partial<MediaTrack>) {
18
+ onchange?.({ ...track, ...partial });
19
+ }
20
+ </script>
21
+
22
+ <div class={['flex min-w-0 flex-1 items-center gap-1', className]}>
23
+ <span
24
+ class="h-2.5 w-2.5 shrink-0 rounded-full"
25
+ style:background={track.color ?? '#3b82f6'}
26
+ aria-hidden="true"
27
+ ></span>
28
+ <span class="min-w-0 flex-1 truncate text-xs font-semibold text-primary">{track.name}</span>
29
+ <IconButton
30
+ label={track.armed ? 'Disarm' : 'Arm'}
31
+ size="xs"
32
+ onclick={() => patch({ armed: !track.armed })}
33
+ >
34
+ <Circle class={['h-3 w-3', track.armed ? 'fill-red-500 text-red-500' : 'text-muted']} />
35
+ </IconButton>
36
+ <IconButton
37
+ label={track.muted ? 'Unmute' : 'Mute'}
38
+ size="xs"
39
+ onclick={() => patch({ muted: !track.muted })}
40
+ >
41
+ {#if track.muted}
42
+ <VolumeX class="h-3.5 w-3.5" />
43
+ {:else}
44
+ <Volume2 class="h-3.5 w-3.5" />
45
+ {/if}
46
+ </IconButton>
47
+ <IconButton
48
+ label={track.solo ? 'Unsolo' : 'Solo'}
49
+ size="xs"
50
+ onclick={() => patch({ solo: !track.solo })}
51
+ >
52
+ <Headphones class={['h-3.5 w-3.5', track.solo && 'text-brand-500']} />
53
+ </IconButton>
54
+ </div>
@@ -0,0 +1,9 @@
1
+ import type { MediaTrack } from '../../../utils/mediaTracks.js';
2
+ interface TrackHeaderProps {
3
+ track: MediaTrack;
4
+ class?: string;
5
+ onchange?: (track: MediaTrack) => void;
6
+ }
7
+ declare const TrackHeader: import("svelte").Component<TrackHeaderProps, {}, "">;
8
+ type TrackHeader = ReturnType<typeof TrackHeader>;
9
+ export default TrackHeader;
@@ -0,0 +1,10 @@
1
+ <script lang="ts">
2
+ import TrackHeader from './TrackHeader.svelte';
3
+ import { createMediaTrack } from '../../../utils/mediaTracks.js';
4
+
5
+ let track = $state(createMediaTrack({ name: 'Drums', kind: 'audio', color: '#3b82f6' }));
6
+ </script>
7
+
8
+ <div class="w-52 rounded-lg border border-border bg-surface-elevated p-2">
9
+ <TrackHeader {track} onchange={(t) => (track = t)} />
10
+ </div>
@@ -0,0 +1,3 @@
1
+ declare const TrackHeaderStory: import("svelte").Component<Record<string, never>, {}, "">;
2
+ type TrackHeaderStory = ReturnType<typeof TrackHeaderStory>;
3
+ export default TrackHeaderStory;
@@ -0,0 +1,9 @@
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
+ };
7
+ export default meta;
8
+ type Story = StoryObj<typeof meta>;
9
+ export declare const Default: Story;
@@ -0,0 +1,8 @@
1
+ import TransportControlsStory from './TransportControlsStory.svelte';
2
+ const meta = {
3
+ title: 'Molecules/TransportControls',
4
+ component: TransportControlsStory,
5
+ tags: ['autodocs']
6
+ };
7
+ export default meta;
8
+ export const Default = {};
@@ -0,0 +1,53 @@
1
+ <script lang="ts">
2
+ import IconButton from '../../atoms/IconButton/IconButton.svelte';
3
+ import Toolbar from '../Toolbar/Toolbar.svelte';
4
+ import { formatTimecode } from '../../../utils/mediaTime.js';
5
+ import Play from '@lucide/svelte/icons/play';
6
+ import Pause from '@lucide/svelte/icons/pause';
7
+ import Square from '@lucide/svelte/icons/square';
8
+
9
+ interface TransportControlsProps {
10
+ playing?: boolean;
11
+ currentTimeMs?: number;
12
+ durationMs?: number;
13
+ class?: string;
14
+ onplay?: () => void;
15
+ onpause?: () => void;
16
+ onstop?: () => void;
17
+ }
18
+
19
+ let {
20
+ playing = false,
21
+ currentTimeMs = 0,
22
+ durationMs = 0,
23
+ class: className = '',
24
+ onplay,
25
+ onpause,
26
+ onstop
27
+ }: TransportControlsProps = $props();
28
+ </script>
29
+
30
+ <Toolbar label="Transport" dense class={className}>
31
+ {#snippet center()}
32
+ <IconButton
33
+ label={playing ? 'Pause' : 'Play'}
34
+ size="sm"
35
+ variant="secondary"
36
+ onclick={() => (playing ? onpause?.() : onplay?.())}
37
+ >
38
+ {#if playing}
39
+ <Pause class="h-4 w-4" />
40
+ {:else}
41
+ <Play class="h-4 w-4" />
42
+ {/if}
43
+ </IconButton>
44
+ <IconButton label="Stop" size="sm" variant="ghost" onclick={() => onstop?.()}>
45
+ <Square class="h-3.5 w-3.5" />
46
+ </IconButton>
47
+ <span class="ml-2 font-mono text-xs text-secondary tabular-nums">
48
+ {formatTimecode(currentTimeMs, { showMs: true })}
49
+ <span class="text-muted"> / </span>
50
+ {formatTimecode(durationMs)}
51
+ </span>
52
+ {/snippet}
53
+ </Toolbar>
@@ -0,0 +1,12 @@
1
+ interface TransportControlsProps {
2
+ playing?: boolean;
3
+ currentTimeMs?: number;
4
+ durationMs?: number;
5
+ class?: string;
6
+ onplay?: () => void;
7
+ onpause?: () => void;
8
+ onstop?: () => void;
9
+ }
10
+ declare const TransportControls: import("svelte").Component<TransportControlsProps, {}, "">;
11
+ type TransportControls = ReturnType<typeof TransportControls>;
12
+ export default TransportControls;
@@ -0,0 +1,18 @@
1
+ <script lang="ts">
2
+ import TransportControls from './TransportControls.svelte';
3
+
4
+ let playing = $state(false);
5
+ let t = $state(1250);
6
+ </script>
7
+
8
+ <TransportControls
9
+ {playing}
10
+ currentTimeMs={t}
11
+ durationMs={30000}
12
+ onplay={() => (playing = true)}
13
+ onpause={() => (playing = false)}
14
+ onstop={() => {
15
+ playing = false;
16
+ t = 0;
17
+ }}
18
+ />
@@ -0,0 +1,3 @@
1
+ declare const TransportControlsStory: import("svelte").Component<Record<string, never>, {}, "">;
2
+ type TransportControlsStory = ReturnType<typeof TransportControlsStory>;
3
+ export default TransportControlsStory;