@r2digisolutions/components 0.1.7 → 0.3.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 (350) hide show
  1. package/dist/components/atoms/IconButton/IconButton.svelte +1 -1
  2. package/dist/components/atoms/MediaKindIcon/MediaKindIcon.stories.js +8 -0
  3. package/dist/components/atoms/MediaKindIcon/MediaKindIcon.svelte +122 -0
  4. package/dist/components/atoms/MediaKindIcon/MediaKindIcon.svelte.d.ts +11 -0
  5. package/dist/components/atoms/MediaKindIcon/MediaKindIconStory.svelte +12 -0
  6. package/dist/components/atoms/MediaKindIcon/MediaKindIconStory.svelte.d.ts +18 -0
  7. package/dist/components/atoms/PanKnob/PanKnob.stories.d.ts +9 -0
  8. package/dist/components/atoms/PanKnob/PanKnob.stories.js +8 -0
  9. package/dist/components/atoms/PanKnob/PanKnob.svelte +218 -0
  10. package/dist/components/atoms/PanKnob/PanKnob.svelte.d.ts +19 -0
  11. package/dist/components/atoms/PanKnob/PanKnobStory.svelte +15 -0
  12. package/dist/components/atoms/PanKnob/PanKnobStory.svelte.d.ts +3 -0
  13. package/dist/components/atoms/Playhead/Playhead.stories.js +8 -0
  14. package/dist/components/atoms/Playhead/Playhead.svelte +98 -0
  15. package/dist/components/atoms/Playhead/Playhead.svelte.d.ts +21 -0
  16. package/dist/components/atoms/Playhead/PlayheadStory.svelte +9 -0
  17. package/dist/components/atoms/Playhead/PlayheadStory.svelte.d.ts +18 -0
  18. package/dist/components/atoms/TimeRuler/TimeRuler.stories.js +8 -0
  19. package/dist/components/atoms/TimeRuler/TimeRuler.svelte +117 -0
  20. package/dist/components/atoms/TimeRuler/TimeRuler.svelte.d.ts +17 -0
  21. package/dist/components/atoms/TimeRuler/TimeRulerStory.svelte +7 -0
  22. package/dist/components/atoms/TimeRuler/TimeRulerStory.svelte.d.ts +18 -0
  23. package/dist/components/atoms/TimelineGrid/TimelineGrid.stories.js +8 -0
  24. package/dist/components/atoms/TimelineGrid/TimelineGrid.svelte +39 -0
  25. package/dist/components/atoms/TimelineGrid/TimelineGrid.svelte.d.ts +11 -0
  26. package/dist/components/atoms/TimelineGrid/TimelineGridStory.svelte +7 -0
  27. package/dist/components/atoms/TimelineGrid/TimelineGridStory.svelte.d.ts +18 -0
  28. package/dist/components/atoms/Tooltip/Tooltip.svelte +1 -1
  29. package/dist/components/atoms/TrimHandle/TrimHandle.stories.js +8 -0
  30. package/dist/components/atoms/TrimHandle/TrimHandle.svelte +63 -0
  31. package/dist/components/atoms/TrimHandle/TrimHandle.svelte.d.ts +12 -0
  32. package/dist/components/atoms/TrimHandle/TrimHandleStory.svelte +11 -0
  33. package/dist/components/atoms/TrimHandle/TrimHandleStory.svelte.d.ts +18 -0
  34. package/dist/components/molecules/AiAssistPanel/AiAssistPanel.stories.d.ts +9 -0
  35. package/dist/components/molecules/AiAssistPanel/AiAssistPanel.stories.js +8 -0
  36. package/dist/components/molecules/AiAssistPanel/AiAssistPanel.svelte +102 -0
  37. package/dist/components/molecules/AiAssistPanel/AiAssistPanel.svelte.d.ts +20 -0
  38. package/dist/components/molecules/AiAssistPanel/AiAssistPanelStory.svelte +34 -0
  39. package/dist/components/molecules/AiAssistPanel/AiAssistPanelStory.svelte.d.ts +3 -0
  40. package/dist/components/molecules/BulkActionBar/BulkActionBar.svelte +97 -61
  41. package/dist/components/molecules/BulkActionBar/BulkActionBar.svelte.d.ts +2 -0
  42. package/dist/components/molecules/BulkEditPanel/BulkEditPanel.stories.js +8 -0
  43. package/dist/components/molecules/BulkEditPanel/BulkEditPanel.svelte +117 -0
  44. package/dist/components/molecules/BulkEditPanel/BulkEditPanel.svelte.d.ts +23 -0
  45. package/dist/components/molecules/BulkEditPanel/BulkEditPanelStory.svelte +18 -0
  46. package/dist/components/molecules/BulkEditPanel/BulkEditPanelStory.svelte.d.ts +18 -0
  47. package/dist/components/molecules/CanvasElementsPanel/CanvasElementsPanel.stories.js +8 -0
  48. package/dist/components/molecules/CanvasElementsPanel/CanvasElementsPanel.svelte +858 -0
  49. package/dist/components/molecules/CanvasElementsPanel/CanvasElementsPanel.svelte.d.ts +43 -0
  50. package/dist/components/molecules/CanvasElementsPanel/CanvasElementsPanelStory.svelte +7 -0
  51. package/dist/components/molecules/CanvasElementsPanel/CanvasElementsPanelStory.svelte.d.ts +18 -0
  52. package/dist/components/molecules/CanvasInspector/CanvasInspector.stories.d.ts +9 -0
  53. package/dist/components/molecules/CanvasInspector/CanvasInspector.stories.js +8 -0
  54. package/dist/components/molecules/CanvasInspector/CanvasInspector.svelte +1140 -0
  55. package/dist/components/molecules/CanvasInspector/CanvasInspector.svelte.d.ts +28 -0
  56. package/dist/components/molecules/CanvasInspector/CanvasInspectorStory.svelte +20 -0
  57. package/dist/components/molecules/CanvasInspector/CanvasInspectorStory.svelte.d.ts +3 -0
  58. package/dist/components/molecules/ColorPicker/ColorPicker.svelte +46 -5
  59. package/dist/components/molecules/ColorPicker/ColorPicker.svelte.d.ts +2 -0
  60. package/dist/components/molecules/ColumnVisibilityMenu/ColumnVisibilityMenu.stories.d.ts +9 -0
  61. package/dist/components/molecules/ColumnVisibilityMenu/ColumnVisibilityMenu.stories.js +8 -0
  62. package/dist/components/molecules/ColumnVisibilityMenu/ColumnVisibilityMenu.svelte +108 -0
  63. package/dist/components/molecules/ColumnVisibilityMenu/ColumnVisibilityMenu.svelte.d.ts +18 -0
  64. package/dist/components/molecules/ColumnVisibilityMenu/ColumnVisibilityMenuStory.svelte +15 -0
  65. package/dist/components/molecules/ColumnVisibilityMenu/ColumnVisibilityMenuStory.svelte.d.ts +3 -0
  66. package/dist/components/molecules/ConflictResolver/ConflictResolver.stories.js +8 -0
  67. package/dist/components/molecules/ConflictResolver/ConflictResolver.svelte +73 -0
  68. package/dist/components/molecules/ConflictResolver/ConflictResolver.svelte.d.ts +16 -0
  69. package/dist/components/molecules/ConflictResolver/ConflictResolverStory.svelte +11 -0
  70. package/dist/components/molecules/ConflictResolver/ConflictResolverStory.svelte.d.ts +18 -0
  71. package/dist/components/molecules/ContextMenu/ContextMenu.svelte +237 -66
  72. package/dist/components/molecules/ContextMenu/ContextMenu.svelte.d.ts +9 -0
  73. package/dist/components/molecules/ExpressionEditor/ExpressionEditor.stories.d.ts +9 -0
  74. package/dist/components/molecules/ExpressionEditor/ExpressionEditor.stories.js +8 -0
  75. package/dist/components/molecules/ExpressionEditor/ExpressionEditor.svelte +56 -0
  76. package/dist/components/molecules/ExpressionEditor/ExpressionEditor.svelte.d.ts +12 -0
  77. package/dist/components/molecules/ExpressionEditor/ExpressionEditorStory.svelte +12 -0
  78. package/dist/components/molecules/ExpressionEditor/ExpressionEditorStory.svelte.d.ts +3 -0
  79. package/dist/components/molecules/FilterList/FilterList.stories.d.ts +9 -0
  80. package/dist/components/molecules/FilterList/FilterList.stories.js +8 -0
  81. package/dist/components/molecules/FilterList/FilterList.svelte +101 -0
  82. package/dist/components/molecules/FilterList/FilterList.svelte.d.ts +18 -0
  83. package/dist/components/molecules/FilterList/FilterListStory.svelte +31 -0
  84. package/dist/components/molecules/FilterList/FilterListStory.svelte.d.ts +3 -0
  85. package/dist/components/molecules/MediaAssetBrowser/MediaAssetBrowser.stories.d.ts +9 -0
  86. package/dist/components/molecules/MediaAssetBrowser/MediaAssetBrowser.stories.js +8 -0
  87. package/dist/components/molecules/MediaAssetBrowser/MediaAssetBrowser.svelte +109 -0
  88. package/dist/components/molecules/MediaAssetBrowser/MediaAssetBrowser.svelte.d.ts +20 -0
  89. package/dist/components/molecules/MediaAssetBrowser/MediaAssetBrowserStory.svelte +18 -0
  90. package/dist/components/molecules/MediaAssetBrowser/MediaAssetBrowserStory.svelte.d.ts +3 -0
  91. package/dist/components/molecules/MediaAssetCard/MediaAssetCard.stories.js +8 -0
  92. package/dist/components/molecules/MediaAssetCard/MediaAssetCard.svelte +50 -0
  93. package/dist/components/molecules/MediaAssetCard/MediaAssetCard.svelte.d.ts +11 -0
  94. package/dist/components/molecules/MediaAssetCard/MediaAssetCardStory.svelte +13 -0
  95. package/dist/components/molecules/MediaAssetCard/MediaAssetCardStory.svelte.d.ts +18 -0
  96. package/dist/components/molecules/MediaLayerItem/MediaLayerItem.stories.js +8 -0
  97. package/dist/components/molecules/MediaLayerItem/MediaLayerItem.svelte +380 -0
  98. package/dist/components/molecules/MediaLayerItem/MediaLayerItem.svelte.d.ts +33 -0
  99. package/dist/components/molecules/MediaLayerItem/MediaLayerItemStory.svelte +14 -0
  100. package/dist/components/molecules/MediaLayerItem/MediaLayerItemStory.svelte.d.ts +18 -0
  101. package/dist/components/molecules/MediaLayerList/MediaLayerList.stories.d.ts +9 -0
  102. package/dist/components/molecules/MediaLayerList/MediaLayerList.stories.js +8 -0
  103. package/dist/components/molecules/MediaLayerList/MediaLayerList.svelte +399 -0
  104. package/dist/components/molecules/MediaLayerList/MediaLayerList.svelte.d.ts +37 -0
  105. package/dist/components/molecules/MediaLayerList/MediaLayerListStory.svelte +24 -0
  106. package/dist/components/molecules/MediaLayerList/MediaLayerListStory.svelte.d.ts +3 -0
  107. package/dist/components/molecules/MediaStage/MediaStage.stories.d.ts +9 -0
  108. package/dist/components/molecules/MediaStage/MediaStage.stories.js +8 -0
  109. package/dist/components/molecules/MediaStage/MediaStage.svelte +1498 -0
  110. package/dist/components/molecules/MediaStage/MediaStage.svelte.d.ts +45 -0
  111. package/dist/components/molecules/MediaStage/MediaStageStory.svelte +35 -0
  112. package/dist/components/molecules/MediaStage/MediaStageStory.svelte.d.ts +3 -0
  113. package/dist/components/molecules/MediaTimeline/MediaTimeline.stories.d.ts +9 -0
  114. package/dist/components/molecules/MediaTimeline/MediaTimeline.stories.js +8 -0
  115. package/dist/components/molecules/MediaTimeline/MediaTimeline.svelte +441 -0
  116. package/dist/components/molecules/MediaTimeline/MediaTimeline.svelte.d.ts +39 -0
  117. package/dist/components/molecules/MediaTimeline/MediaTimelineStory.svelte +20 -0
  118. package/dist/components/molecules/MediaTimeline/MediaTimelineStory.svelte.d.ts +3 -0
  119. package/dist/components/molecules/MixerChannel/MixerChannel.stories.d.ts +9 -0
  120. package/dist/components/molecules/MixerChannel/MixerChannel.stories.js +8 -0
  121. package/dist/components/molecules/MixerChannel/MixerChannel.svelte +92 -0
  122. package/dist/components/molecules/MixerChannel/MixerChannel.svelte.d.ts +11 -0
  123. package/dist/components/molecules/MixerChannel/MixerChannelStory.svelte +13 -0
  124. package/dist/components/molecules/MixerChannel/MixerChannelStory.svelte.d.ts +3 -0
  125. package/dist/components/molecules/NodeGraph/GraphBlueprintNode.svelte +454 -0
  126. package/dist/components/molecules/NodeGraph/GraphBlueprintNode.svelte.d.ts +8 -0
  127. package/dist/components/molecules/NodeGraph/GraphFlowBridge.svelte +26 -0
  128. package/dist/components/molecules/NodeGraph/GraphFlowBridge.svelte.d.ts +22 -0
  129. package/dist/components/molecules/NodeGraph/NodeGraph.stories.d.ts +12 -0
  130. package/dist/components/molecules/NodeGraph/NodeGraph.stories.js +9 -0
  131. package/dist/components/molecules/NodeGraph/NodeGraph.svelte +1409 -0
  132. package/dist/components/molecules/NodeGraph/NodeGraph.svelte.d.ts +33 -0
  133. package/dist/components/molecules/NodeGraph/NodeGraphStory.svelte +90 -0
  134. package/dist/components/molecules/NodeGraph/NodeGraphStory.svelte.d.ts +3 -0
  135. package/dist/components/molecules/NodePalette/NodePalette.stories.js +8 -0
  136. package/dist/components/molecules/NodePalette/NodePalette.svelte +86 -0
  137. package/dist/components/molecules/NodePalette/NodePalette.svelte.d.ts +11 -0
  138. package/dist/components/molecules/NodePalette/NodePaletteStory.svelte +11 -0
  139. package/dist/components/molecules/NodePalette/NodePaletteStory.svelte.d.ts +18 -0
  140. package/dist/components/molecules/PdfViewer/PdfViewer.svelte.d.ts +1 -1
  141. package/dist/components/molecules/Poll/Poll.stories.d.ts +1 -1
  142. package/dist/components/molecules/ProgramMonitor/ProgramMonitor.stories.js +8 -0
  143. package/dist/components/molecules/ProgramMonitor/ProgramMonitor.svelte +794 -0
  144. package/dist/components/molecules/ProgramMonitor/ProgramMonitor.svelte.d.ts +25 -0
  145. package/dist/components/molecules/ProgramMonitor/ProgramMonitorStory.svelte +16 -0
  146. package/dist/components/molecules/ProgramMonitor/ProgramMonitorStory.svelte.d.ts +18 -0
  147. package/dist/components/molecules/PropertyField/PropertyField.svelte +57 -3
  148. package/dist/components/molecules/PropertyField/PropertyField.svelte.d.ts +10 -0
  149. package/dist/components/molecules/PropertyField/PropertyFieldStory.svelte +21 -0
  150. package/dist/components/molecules/PropertyGroup/PropertyGroup.svelte +1 -1
  151. package/dist/components/molecules/QueryBuilder/QueryBuilder.stories.d.ts +9 -0
  152. package/dist/components/molecules/QueryBuilder/QueryBuilder.stories.js +8 -0
  153. package/dist/components/molecules/QueryBuilder/QueryBuilder.svelte +52 -0
  154. package/dist/components/molecules/QueryBuilder/QueryBuilder.svelte.d.ts +18 -0
  155. package/dist/components/molecules/QueryBuilder/QueryBuilderStory.svelte +62 -0
  156. package/dist/components/molecules/QueryBuilder/QueryBuilderStory.svelte.d.ts +3 -0
  157. package/dist/components/molecules/RelationPicker/RelationPicker.stories.d.ts +9 -0
  158. package/dist/components/molecules/RelationPicker/RelationPicker.stories.js +8 -0
  159. package/dist/components/molecules/RelationPicker/RelationPicker.svelte +180 -0
  160. package/dist/components/molecules/RelationPicker/RelationPicker.svelte.d.ts +24 -0
  161. package/dist/components/molecules/RelationPicker/RelationPickerStory.svelte +16 -0
  162. package/dist/components/molecules/RelationPicker/RelationPickerStory.svelte.d.ts +3 -0
  163. package/dist/components/molecules/SchemaFieldBuilder/SchemaFieldBuilder.stories.d.ts +9 -0
  164. package/dist/components/molecules/SchemaFieldBuilder/SchemaFieldBuilder.stories.js +8 -0
  165. package/dist/components/molecules/SchemaFieldBuilder/SchemaFieldBuilder.svelte +154 -0
  166. package/dist/components/molecules/SchemaFieldBuilder/SchemaFieldBuilder.svelte.d.ts +12 -0
  167. package/dist/components/molecules/SchemaFieldBuilder/SchemaFieldBuilderStory.svelte +16 -0
  168. package/dist/components/molecules/SchemaFieldBuilder/SchemaFieldBuilderStory.svelte.d.ts +3 -0
  169. package/dist/components/molecules/SecretField/SecretField.stories.d.ts +9 -0
  170. package/dist/components/molecules/SecretField/SecretField.stories.js +8 -0
  171. package/dist/components/molecules/SecretField/SecretField.svelte +58 -0
  172. package/dist/components/molecules/SecretField/SecretField.svelte.d.ts +15 -0
  173. package/dist/components/molecules/SecretField/SecretFieldStory.svelte +8 -0
  174. package/dist/components/molecules/SecretField/SecretFieldStory.svelte.d.ts +3 -0
  175. package/dist/components/molecules/SplitPane/SplitPane.svelte +99 -40
  176. package/dist/components/molecules/SplitPane/SplitPane.svelte.d.ts +10 -2
  177. package/dist/components/molecules/TableToolbar/TableToolbar.svelte.d.ts +1 -1
  178. package/dist/components/molecules/Terminal/Terminal.stories.js +20 -0
  179. package/dist/components/molecules/Terminal/Terminal.svelte +238 -0
  180. package/dist/components/molecules/Terminal/Terminal.svelte.d.ts +19 -0
  181. package/dist/components/molecules/Terminal/TerminalStory.svelte +47 -0
  182. package/dist/components/molecules/Terminal/TerminalStory.svelte.d.ts +6 -0
  183. package/dist/components/molecules/TimelineClip/TimelineClip.stories.js +8 -0
  184. package/dist/components/molecules/TimelineClip/TimelineClip.svelte +193 -0
  185. package/dist/components/molecules/TimelineClip/TimelineClip.svelte.d.ts +18 -0
  186. package/dist/components/molecules/TimelineClip/TimelineClipStory.svelte +18 -0
  187. package/dist/components/molecules/TimelineClip/TimelineClipStory.svelte.d.ts +18 -0
  188. package/dist/components/molecules/TimelineTrack/TimelineTrack.stories.js +8 -0
  189. package/dist/components/molecules/TimelineTrack/TimelineTrack.svelte +126 -0
  190. package/dist/components/molecules/TimelineTrack/TimelineTrack.svelte.d.ts +27 -0
  191. package/dist/components/molecules/TimelineTrack/TimelineTrackStory.svelte +35 -0
  192. package/dist/components/molecules/TimelineTrack/TimelineTrackStory.svelte.d.ts +18 -0
  193. package/dist/components/molecules/TraceWaterfall/TraceWaterfall.stories.js +8 -0
  194. package/dist/components/molecules/TraceWaterfall/TraceWaterfall.svelte +158 -0
  195. package/dist/components/molecules/TraceWaterfall/TraceWaterfall.svelte.d.ts +18 -0
  196. package/dist/components/molecules/TraceWaterfall/TraceWaterfallStory.svelte +55 -0
  197. package/dist/components/molecules/TraceWaterfall/TraceWaterfallStory.svelte.d.ts +18 -0
  198. package/dist/components/molecules/TrackHeader/TrackHeader.stories.d.ts +9 -0
  199. package/dist/components/molecules/TrackHeader/TrackHeader.stories.js +8 -0
  200. package/dist/components/molecules/TrackHeader/TrackHeader.svelte +54 -0
  201. package/dist/components/molecules/TrackHeader/TrackHeader.svelte.d.ts +9 -0
  202. package/dist/components/molecules/TrackHeader/TrackHeaderStory.svelte +10 -0
  203. package/dist/components/molecules/TrackHeader/TrackHeaderStory.svelte.d.ts +3 -0
  204. package/dist/components/molecules/TransportControls/TransportControls.stories.d.ts +9 -0
  205. package/dist/components/molecules/TransportControls/TransportControls.stories.js +8 -0
  206. package/dist/components/molecules/TransportControls/TransportControls.svelte +135 -0
  207. package/dist/components/molecules/TransportControls/TransportControls.svelte.d.ts +24 -0
  208. package/dist/components/molecules/TransportControls/TransportControlsStory.svelte +40 -0
  209. package/dist/components/molecules/TransportControls/TransportControlsStory.svelte.d.ts +3 -0
  210. package/dist/components/molecules/VersionHistoryPanel/VersionHistoryPanel.stories.js +8 -0
  211. package/dist/components/molecules/VersionHistoryPanel/VersionHistoryPanel.svelte +117 -0
  212. package/dist/components/molecules/VersionHistoryPanel/VersionHistoryPanel.svelte.d.ts +20 -0
  213. package/dist/components/molecules/VersionHistoryPanel/VersionHistoryPanelStory.svelte +36 -0
  214. package/dist/components/molecules/VersionHistoryPanel/VersionHistoryPanelStory.svelte.d.ts +18 -0
  215. package/dist/components/molecules/VideoAnimationsPanel/VideoAnimationsPanel.stories.js +8 -0
  216. package/dist/components/molecules/VideoAnimationsPanel/VideoAnimationsPanel.svelte +213 -0
  217. package/dist/components/molecules/VideoAnimationsPanel/VideoAnimationsPanel.svelte.d.ts +22 -0
  218. package/dist/components/molecules/VideoAnimationsPanel/VideoAnimationsPanelStory.svelte +7 -0
  219. package/dist/components/molecules/VideoAnimationsPanel/VideoAnimationsPanelStory.svelte.d.ts +18 -0
  220. package/dist/components/molecules/VideoComponentsPanel/VideoComponentsPanel.stories.js +8 -0
  221. package/dist/components/molecules/VideoComponentsPanel/VideoComponentsPanel.svelte +524 -0
  222. package/dist/components/molecules/VideoComponentsPanel/VideoComponentsPanel.svelte.d.ts +32 -0
  223. package/dist/components/molecules/VideoComponentsPanel/VideoComponentsPanelStory.svelte +7 -0
  224. package/dist/components/molecules/VideoComponentsPanel/VideoComponentsPanelStory.svelte.d.ts +18 -0
  225. package/dist/components/molecules/VideoPlayer/VideoPlayer.stories.d.ts +1 -1
  226. package/dist/components/molecules/VideoTrackHeader/VideoTrackHeader.stories.d.ts +9 -0
  227. package/dist/components/molecules/VideoTrackHeader/VideoTrackHeader.stories.js +8 -0
  228. package/dist/components/molecules/VideoTrackHeader/VideoTrackHeader.svelte +112 -0
  229. package/dist/components/molecules/VideoTrackHeader/VideoTrackHeader.svelte.d.ts +15 -0
  230. package/dist/components/molecules/VideoTrackHeader/VideoTrackHeaderStory.svelte +10 -0
  231. package/dist/components/molecules/VideoTrackHeader/VideoTrackHeaderStory.svelte.d.ts +3 -0
  232. package/dist/components/molecules/VideoTransitionsPanel/VideoTransitionsPanel.stories.js +8 -0
  233. package/dist/components/molecules/VideoTransitionsPanel/VideoTransitionsPanel.svelte +113 -0
  234. package/dist/components/molecules/VideoTransitionsPanel/VideoTransitionsPanel.svelte.d.ts +18 -0
  235. package/dist/components/molecules/VideoTransitionsPanel/VideoTransitionsPanelStory.svelte +7 -0
  236. package/dist/components/molecules/VideoTransitionsPanel/VideoTransitionsPanelStory.svelte.d.ts +18 -0
  237. package/dist/components/molecules/WaveformRegion/WaveformRegion.stories.js +8 -0
  238. package/dist/components/molecules/WaveformRegion/WaveformRegion.svelte +82 -0
  239. package/dist/components/molecules/WaveformRegion/WaveformRegion.svelte.d.ts +13 -0
  240. package/dist/components/molecules/WaveformRegion/WaveformRegionStory.svelte +17 -0
  241. package/dist/components/molecules/WaveformRegion/WaveformRegionStory.svelte.d.ts +18 -0
  242. package/dist/components/molecules/WidgetCanvas/WidgetCanvas.svelte +13 -4
  243. package/dist/components/molecules/WidgetCanvas/WidgetCanvas.svelte.d.ts +3 -1
  244. package/dist/components/molecules/WidgetCanvas/widgetCanvasContext.d.ts +2 -0
  245. package/dist/components/molecules/WidgetFrame/WidgetFrame.svelte +206 -37
  246. package/dist/components/molecules/WidgetFrame/WidgetFrame.svelte.d.ts +31 -0
  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 +324 -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/BlogEditor/BlogEditor.stories.d.ts +12 -0
  254. package/dist/components/organisms/BlogEditor/BlogEditor.stories.js +9 -0
  255. package/dist/components/organisms/BlogEditor/BlogEditor.svelte +1208 -0
  256. package/dist/components/organisms/BlogEditor/BlogEditor.svelte.d.ts +16 -0
  257. package/dist/components/organisms/BlogEditor/BlogEditorStory.svelte +144 -0
  258. package/dist/components/organisms/BlogEditor/BlogEditorStory.svelte.d.ts +3 -0
  259. package/dist/components/organisms/BlogEditor/DemoBlogCard.svelte +28 -0
  260. package/dist/components/organisms/BlogEditor/DemoBlogCard.svelte.d.ts +10 -0
  261. package/dist/components/organisms/BlogEditor/DemoBlogStats.svelte +34 -0
  262. package/dist/components/organisms/BlogEditor/DemoBlogStats.svelte.d.ts +11 -0
  263. package/dist/components/organisms/BlogEditor/DemoBlogWidget.svelte +13 -0
  264. package/dist/components/organisms/BlogEditor/DemoBlogWidget.svelte.d.ts +8 -0
  265. package/dist/components/organisms/BlogRenderer/BlogRenderer.stories.js +8 -0
  266. package/dist/components/organisms/BlogRenderer/BlogRenderer.svelte +469 -0
  267. package/dist/components/organisms/BlogRenderer/BlogRenderer.svelte.d.ts +14 -0
  268. package/dist/components/organisms/BlogRenderer/BlogRendererStory.svelte +20 -0
  269. package/dist/components/organisms/BlogRenderer/BlogRendererStory.svelte.d.ts +18 -0
  270. package/dist/components/organisms/BlueprintEditor/BlueprintEditor.stories.d.ts +12 -0
  271. package/dist/components/organisms/BlueprintEditor/BlueprintEditor.stories.js +9 -0
  272. package/dist/components/organisms/BlueprintEditor/BlueprintEditor.svelte +1012 -0
  273. package/dist/components/organisms/BlueprintEditor/BlueprintEditor.svelte.d.ts +16 -0
  274. package/dist/components/organisms/BlueprintEditor/BlueprintEditorStory.svelte +76 -0
  275. package/dist/components/organisms/BlueprintEditor/BlueprintEditorStory.svelte.d.ts +3 -0
  276. package/dist/components/organisms/CanvasEditor/CanvasEditor.stories.d.ts +12 -0
  277. package/dist/components/organisms/CanvasEditor/CanvasEditor.stories.js +9 -0
  278. package/dist/components/organisms/CanvasEditor/CanvasEditor.svelte +1680 -0
  279. package/dist/components/organisms/CanvasEditor/CanvasEditor.svelte.d.ts +18 -0
  280. package/dist/components/organisms/CanvasEditor/CanvasEditorStory.svelte +329 -0
  281. package/dist/components/organisms/CanvasEditor/CanvasEditorStory.svelte.d.ts +3 -0
  282. package/dist/components/organisms/DashboardBuilderPage/DashboardBuilderPage.svelte.d.ts +1 -1
  283. package/dist/components/organisms/DesktopShell/DesktopShell.svelte.d.ts +1 -1
  284. package/dist/components/organisms/EditorShell/EditorShell.svelte +162 -57
  285. package/dist/components/organisms/EditorShell/EditorShell.svelte.d.ts +21 -1
  286. package/dist/components/organisms/FileUploader/FileUploader.stories.d.ts +10 -0
  287. package/dist/components/organisms/FileUploader/FileUploader.stories.js +21 -0
  288. package/dist/components/organisms/FileUploader/FileUploader.svelte +127 -25
  289. package/dist/components/organisms/FileUploader/FileUploader.svelte.d.ts +20 -0
  290. package/dist/components/organisms/FileUploader/FileUploaderStory.svelte +7 -1
  291. package/dist/components/organisms/FileUploader/FileUploaderStory.svelte.d.ts +3 -0
  292. package/dist/components/organisms/ImportWizard/ImportWizard.stories.js +8 -0
  293. package/dist/components/organisms/ImportWizard/ImportWizard.svelte +209 -0
  294. package/dist/components/organisms/ImportWizard/ImportWizard.svelte.d.ts +22 -0
  295. package/dist/components/organisms/ImportWizard/ImportWizardStory.svelte +16 -0
  296. package/dist/components/organisms/ImportWizard/ImportWizardStory.svelte.d.ts +18 -0
  297. package/dist/components/organisms/VideoEditor/VideoEditor.stories.d.ts +12 -0
  298. package/dist/components/organisms/VideoEditor/VideoEditor.stories.js +9 -0
  299. package/dist/components/organisms/VideoEditor/VideoEditor.svelte +1687 -0
  300. package/dist/components/organisms/VideoEditor/VideoEditor.svelte.d.ts +14 -0
  301. package/dist/components/organisms/VideoEditor/VideoEditorStory.svelte +11 -0
  302. package/dist/components/organisms/VideoEditor/VideoEditorStory.svelte.d.ts +3 -0
  303. package/dist/components/templates/AudioEditorTemplate/AudioEditorTemplate.stories.d.ts +12 -0
  304. package/dist/components/templates/AudioEditorTemplate/AudioEditorTemplate.stories.js +9 -0
  305. package/dist/components/templates/AudioEditorTemplate/AudioEditorTemplate.svelte +22 -0
  306. package/dist/components/templates/AudioEditorTemplate/AudioEditorTemplate.svelte.d.ts +13 -0
  307. package/dist/components/templates/AudioEditorTemplate/AudioEditorTemplateStory.svelte +8 -0
  308. package/dist/components/templates/AudioEditorTemplate/AudioEditorTemplateStory.svelte.d.ts +3 -0
  309. package/dist/components/templates/CanvasEditorTemplate/CanvasEditorTemplate.stories.d.ts +12 -0
  310. package/dist/components/templates/CanvasEditorTemplate/CanvasEditorTemplate.stories.js +9 -0
  311. package/dist/components/templates/CanvasEditorTemplate/CanvasEditorTemplate.svelte +32 -0
  312. package/dist/components/templates/CanvasEditorTemplate/CanvasEditorTemplate.svelte.d.ts +17 -0
  313. package/dist/components/templates/CanvasEditorTemplate/CanvasEditorTemplateStory.svelte +21 -0
  314. package/dist/components/templates/CanvasEditorTemplate/CanvasEditorTemplateStory.svelte.d.ts +3 -0
  315. package/dist/components/templates/VideoEditorTemplate/VideoEditorTemplate.stories.d.ts +12 -0
  316. package/dist/components/templates/VideoEditorTemplate/VideoEditorTemplate.stories.js +9 -0
  317. package/dist/components/templates/VideoEditorTemplate/VideoEditorTemplate.svelte +22 -0
  318. package/dist/components/templates/VideoEditorTemplate/VideoEditorTemplate.svelte.d.ts +13 -0
  319. package/dist/components/templates/VideoEditorTemplate/VideoEditorTemplateStory.svelte +8 -0
  320. package/dist/components/templates/VideoEditorTemplate/VideoEditorTemplateStory.svelte.d.ts +3 -0
  321. package/dist/index.d.ts +91 -1
  322. package/dist/index.js +64 -0
  323. package/dist/types/xyflow-svelte.d.ts +62 -0
  324. package/dist/utils/audioProject.d.ts +19 -0
  325. package/dist/utils/audioProject.js +70 -0
  326. package/dist/utils/blogDocument.d.ts +175 -0
  327. package/dist/utils/blogDocument.js +220 -0
  328. package/dist/utils/blueprintRuntime.d.ts +34 -0
  329. package/dist/utils/blueprintRuntime.js +289 -0
  330. package/dist/utils/canvasDocument.d.ts +239 -0
  331. package/dist/utils/canvasDocument.js +443 -0
  332. package/dist/utils/canvasExport.d.ts +10 -0
  333. package/dist/utils/canvasExport.js +469 -0
  334. package/dist/utils/canvasHierarchy.d.ts +189 -0
  335. package/dist/utils/canvasHierarchy.js +674 -0
  336. package/dist/utils/canvasHistory.d.ts +19 -0
  337. package/dist/utils/canvasHistory.js +48 -0
  338. package/dist/utils/canvasWidget.d.ts +81 -0
  339. package/dist/utils/canvasWidget.js +597 -0
  340. package/dist/utils/mediaTime.d.ts +26 -0
  341. package/dist/utils/mediaTime.js +76 -0
  342. package/dist/utils/mediaTracks.d.ts +215 -0
  343. package/dist/utils/mediaTracks.js +798 -0
  344. package/dist/utils/nodeGraph.d.ts +354 -0
  345. package/dist/utils/nodeGraph.js +1453 -0
  346. package/dist/utils/queryBridge.d.ts +18 -0
  347. package/dist/utils/queryBridge.js +118 -0
  348. package/dist/utils/videoSequence.d.ts +13 -0
  349. package/dist/utils/videoSequence.js +94 -0
  350. package/package.json +5 -2
@@ -0,0 +1,117 @@
1
+ <script lang="ts">
2
+ import { formatTimecode, ticksForDuration, type TimeTick } from '../../../utils/mediaTime.js';
3
+
4
+ interface TimeRulerProps {
5
+ durationMs?: number;
6
+ pxPerMs?: number;
7
+ height?: number;
8
+ /** Precomputed ticks; defaults to ticksForDuration. */
9
+ ticks?: TimeTick[];
10
+ class?: string;
11
+ onclick?: (ms: number, e: MouseEvent) => void;
12
+ /** Scrub while dragging on the ruler */
13
+ onscrub?: (ms: number, e: PointerEvent) => void;
14
+ onscrubstart?: (ms: number, e: PointerEvent) => void;
15
+ onscrubend?: (ms: number, e: PointerEvent) => void;
16
+ }
17
+
18
+ let {
19
+ durationMs = 30_000,
20
+ pxPerMs = 0.05,
21
+ height = 28,
22
+ ticks: ticksProp,
23
+ class: className = '',
24
+ onclick,
25
+ onscrub,
26
+ onscrubstart,
27
+ onscrubend
28
+ }: TimeRulerProps = $props();
29
+
30
+ const ticks = $derived(ticksProp ?? ticksForDuration(durationMs, pxPerMs));
31
+ const width = $derived(Math.max(1, durationMs * pxPerMs));
32
+
33
+ let scrubbing = $state(false);
34
+
35
+ function msFromClientX(el: HTMLElement, clientX: number): number {
36
+ const rect = el.getBoundingClientRect();
37
+ const x = clientX - rect.left;
38
+ return Math.max(0, Math.min(durationMs, x / pxPerMs));
39
+ }
40
+
41
+ function handleClick(e: MouseEvent) {
42
+ if (scrubbing) return;
43
+ const ms = msFromClientX(e.currentTarget as HTMLElement, e.clientX);
44
+ onclick?.(ms, e);
45
+ }
46
+
47
+ function onPointerDown(e: PointerEvent) {
48
+ if (e.button !== 0) return;
49
+ e.preventDefault();
50
+ const el = e.currentTarget as HTMLElement;
51
+ el.setPointerCapture(e.pointerId);
52
+ scrubbing = true;
53
+ const ms = msFromClientX(el, e.clientX);
54
+ onscrubstart?.(ms, e);
55
+ onscrub?.(ms, e);
56
+ }
57
+
58
+ function onPointerMove(e: PointerEvent) {
59
+ const el = e.currentTarget as HTMLElement;
60
+ if (!el.hasPointerCapture(e.pointerId)) return;
61
+ const ms = msFromClientX(el, e.clientX);
62
+ onscrub?.(ms, e);
63
+ }
64
+
65
+ function onPointerUp(e: PointerEvent) {
66
+ const el = e.currentTarget as HTMLElement;
67
+ if (!el.hasPointerCapture(e.pointerId)) return;
68
+ el.releasePointerCapture(e.pointerId);
69
+ const ms = msFromClientX(el, e.clientX);
70
+ onscrubend?.(ms, e);
71
+ scrubbing = false;
72
+ }
73
+
74
+ function tickHeight(level: TimeTick['level']): string {
75
+ if (level === 'major') return 'h-3.5';
76
+ if (level === 'mid') return 'h-2.5';
77
+ return 'h-1.5';
78
+ }
79
+ </script>
80
+
81
+ <!-- svelte-ignore a11y_no_static_element_interactions -->
82
+ <div
83
+ role="presentation"
84
+ class={[
85
+ 'relative shrink-0 cursor-ew-resize select-none border-b border-border bg-surface text-[10px] text-muted',
86
+ scrubbing && 'cursor-grabbing',
87
+ className
88
+ ]}
89
+ style:height={`${height}px`}
90
+ style:width={`${width}px`}
91
+ onclick={handleClick}
92
+ onpointerdown={onPointerDown}
93
+ onpointermove={onPointerMove}
94
+ onpointerup={onPointerUp}
95
+ onpointercancel={onPointerUp}
96
+ >
97
+ {#each ticks as tick (tick.ms)}
98
+ <div
99
+ class="pointer-events-none absolute top-0 flex h-full flex-col justify-end"
100
+ style:left={`${tick.ms * pxPerMs}px`}
101
+ >
102
+ {#if tick.level === 'major'}
103
+ <span class="mb-0.5 -translate-x-1/2 whitespace-nowrap pl-1 text-secondary">
104
+ {formatTimecode(tick.ms)}
105
+ </span>
106
+ {/if}
107
+ <div
108
+ class={[
109
+ 'w-px bg-border-strong',
110
+ tickHeight(tick.level),
111
+ tick.level === 'minor' && 'opacity-40',
112
+ tick.level === 'mid' && 'opacity-70'
113
+ ]}
114
+ ></div>
115
+ </div>
116
+ {/each}
117
+ </div>
@@ -0,0 +1,17 @@
1
+ import { type TimeTick } from '../../../utils/mediaTime.js';
2
+ interface TimeRulerProps {
3
+ durationMs?: number;
4
+ pxPerMs?: number;
5
+ height?: number;
6
+ /** Precomputed ticks; defaults to ticksForDuration. */
7
+ ticks?: TimeTick[];
8
+ class?: string;
9
+ onclick?: (ms: number, e: MouseEvent) => void;
10
+ /** Scrub while dragging on the ruler */
11
+ onscrub?: (ms: number, e: PointerEvent) => void;
12
+ onscrubstart?: (ms: number, e: PointerEvent) => void;
13
+ onscrubend?: (ms: number, e: PointerEvent) => void;
14
+ }
15
+ declare const TimeRuler: import("svelte").Component<TimeRulerProps, {}, "">;
16
+ type TimeRuler = ReturnType<typeof TimeRuler>;
17
+ export default TimeRuler;
@@ -0,0 +1,7 @@
1
+ <script lang="ts">
2
+ import TimeRuler from './TimeRuler.svelte';
3
+ </script>
4
+
5
+ <div class="overflow-x-auto rounded-lg border border-border bg-surface-elevated p-2">
6
+ <TimeRuler durationMs={60000} pxPerMs={0.08} />
7
+ </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 TimeRulerStory: $$__sveltets_2_IsomorphicComponent<Record<string, never>, {
15
+ [evt: string]: CustomEvent<any>;
16
+ }, {}, {}, string>;
17
+ type TimeRulerStory = InstanceType<typeof TimeRulerStory>;
18
+ export default TimeRulerStory;
@@ -0,0 +1,8 @@
1
+ import TimelineGridStory from './TimelineGridStory.svelte';
2
+ const meta = {
3
+ title: 'Atoms/TimelineGrid',
4
+ component: TimelineGridStory,
5
+ tags: ['autodocs']
6
+ };
7
+ export default meta;
8
+ export const Default = {};
@@ -0,0 +1,39 @@
1
+ <script lang="ts">
2
+ import { ticksForDuration, type TimeTick } from '../../../utils/mediaTime.js';
3
+
4
+ interface TimelineGridProps {
5
+ durationMs?: number;
6
+ pxPerMs?: number;
7
+ /** Precomputed ticks; defaults to ticksForDuration. */
8
+ ticks?: TimeTick[];
9
+ class?: string;
10
+ }
11
+
12
+ let {
13
+ durationMs = 30_000,
14
+ pxPerMs = 0.05,
15
+ ticks: ticksProp,
16
+ class: className = ''
17
+ }: TimelineGridProps = $props();
18
+
19
+ const ticks = $derived(ticksProp ?? ticksForDuration(durationMs, pxPerMs));
20
+ const width = $derived(Math.max(1, durationMs * pxPerMs));
21
+ </script>
22
+
23
+ <div
24
+ aria-hidden="true"
25
+ class={['pointer-events-none absolute inset-y-0 left-0 z-0', className]}
26
+ style:width={`${width}px`}
27
+ >
28
+ {#each ticks as tick (tick.ms)}
29
+ <div
30
+ class={[
31
+ 'absolute inset-y-0 w-px',
32
+ tick.level === 'major' && 'bg-border-strong/50',
33
+ tick.level === 'mid' && 'bg-border/40',
34
+ tick.level === 'minor' && 'bg-border/20'
35
+ ]}
36
+ style:left={`${tick.ms * pxPerMs}px`}
37
+ ></div>
38
+ {/each}
39
+ </div>
@@ -0,0 +1,11 @@
1
+ import { type TimeTick } from '../../../utils/mediaTime.js';
2
+ interface TimelineGridProps {
3
+ durationMs?: number;
4
+ pxPerMs?: number;
5
+ /** Precomputed ticks; defaults to ticksForDuration. */
6
+ ticks?: TimeTick[];
7
+ class?: string;
8
+ }
9
+ declare const TimelineGrid: import("svelte").Component<TimelineGridProps, {}, "">;
10
+ type TimelineGrid = ReturnType<typeof TimelineGrid>;
11
+ export default TimelineGrid;
@@ -0,0 +1,7 @@
1
+ <script lang="ts">
2
+ import TimelineGrid from './TimelineGrid.svelte';
3
+ </script>
4
+
5
+ <div class="relative h-40 overflow-hidden rounded-lg border border-border bg-surface">
6
+ <TimelineGrid durationMs={30000} pxPerMs={0.1} class="absolute inset-0" />
7
+ </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 TimelineGridStory: $$__sveltets_2_IsomorphicComponent<Record<string, never>, {
15
+ [evt: string]: CustomEvent<any>;
16
+ }, {}, {}, string>;
17
+ type TimelineGridStory = InstanceType<typeof TimelineGridStory>;
18
+ export default TimelineGridStory;
@@ -76,7 +76,7 @@
76
76
  <!-- svelte-ignore a11y_no_static_element_interactions -->
77
77
  <span
78
78
  bind:this={triggerEl}
79
- class={['inline-flex min-w-0 max-w-full', className]}
79
+ class={['inline-flex shrink-0', className]}
80
80
  onmouseenter={show}
81
81
  onmouseleave={hide}
82
82
  onfocusin={show}
@@ -0,0 +1,8 @@
1
+ import TrimHandleStory from './TrimHandleStory.svelte';
2
+ const meta = {
3
+ title: 'Atoms/TrimHandle',
4
+ component: TrimHandleStory,
5
+ tags: ['autodocs']
6
+ };
7
+ export default meta;
8
+ export const Default = {};
@@ -0,0 +1,63 @@
1
+ <script lang="ts">
2
+ export type TrimHandleSide = 'start' | 'end';
3
+
4
+ interface TrimHandleProps {
5
+ side?: TrimHandleSide;
6
+ disabled?: boolean;
7
+ class?: string;
8
+ ondragstart?: (e: PointerEvent) => void;
9
+ ondrag?: (e: PointerEvent) => void;
10
+ ondragend?: (e: PointerEvent) => void;
11
+ }
12
+
13
+ let {
14
+ side = 'start',
15
+ disabled = false,
16
+ class: className = '',
17
+ ondragstart,
18
+ ondrag,
19
+ ondragend
20
+ }: TrimHandleProps = $props();
21
+
22
+ function onPointerDown(e: PointerEvent) {
23
+ if (disabled) return;
24
+ e.stopPropagation();
25
+ (e.currentTarget as HTMLElement).setPointerCapture(e.pointerId);
26
+ ondragstart?.(e);
27
+ }
28
+
29
+ function onPointerMove(e: PointerEvent) {
30
+ if (disabled) return;
31
+ if (!(e.currentTarget as HTMLElement).hasPointerCapture(e.pointerId)) return;
32
+ ondrag?.(e);
33
+ }
34
+
35
+ function onPointerUp(e: PointerEvent) {
36
+ if (disabled) return;
37
+ (e.currentTarget as HTMLElement).releasePointerCapture(e.pointerId);
38
+ ondragend?.(e);
39
+ }
40
+ </script>
41
+
42
+ <button
43
+ type="button"
44
+ aria-label={side === 'start' ? 'Trim start' : 'Trim end'}
45
+ disabled={disabled}
46
+ class={[
47
+ 'absolute top-0 z-10 h-full w-2 touch-none border-0 bg-transparent p-0',
48
+ 'cursor-ew-resize hover:bg-white/30',
49
+ side === 'start' ? 'left-0' : 'right-0',
50
+ disabled && 'pointer-events-none opacity-40',
51
+ className
52
+ ]}
53
+ onpointerdown={onPointerDown}
54
+ onpointermove={onPointerMove}
55
+ onpointerup={onPointerUp}
56
+ >
57
+ <span
58
+ class="absolute top-1/2 h-4 w-0.5 -translate-y-1/2 rounded-full bg-white/90"
59
+ style:left={side === 'start' ? '3px' : 'auto'}
60
+ style:right={side === 'end' ? '3px' : 'auto'}
61
+ aria-hidden="true"
62
+ ></span>
63
+ </button>
@@ -0,0 +1,12 @@
1
+ export type TrimHandleSide = 'start' | 'end';
2
+ interface TrimHandleProps {
3
+ side?: TrimHandleSide;
4
+ disabled?: boolean;
5
+ class?: string;
6
+ ondragstart?: (e: PointerEvent) => void;
7
+ ondrag?: (e: PointerEvent) => void;
8
+ ondragend?: (e: PointerEvent) => void;
9
+ }
10
+ declare const TrimHandle: import("svelte").Component<TrimHandleProps, {}, "">;
11
+ type TrimHandle = ReturnType<typeof TrimHandle>;
12
+ export default TrimHandle;
@@ -0,0 +1,11 @@
1
+ <script lang="ts">
2
+ import TrimHandle from './TrimHandle.svelte';
3
+ </script>
4
+
5
+ <div class="relative h-10 w-64 rounded-md bg-brand-500">
6
+ <TrimHandle side="start" />
7
+ <TrimHandle side="end" />
8
+ <span class="pointer-events-none absolute inset-0 flex items-center justify-center text-xs text-white">
9
+ Clip
10
+ </span>
11
+ </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 TrimHandleStory: $$__sveltets_2_IsomorphicComponent<Record<string, never>, {
15
+ [evt: string]: CustomEvent<any>;
16
+ }, {}, {}, string>;
17
+ type TrimHandleStory = InstanceType<typeof TrimHandleStory>;
18
+ export default TrimHandleStory;
@@ -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 AiAssistPanelStory from './AiAssistPanelStory.svelte';
2
+ const meta = {
3
+ title: 'Molecules/AiAssistPanel',
4
+ component: AiAssistPanelStory,
5
+ tags: ['autodocs']
6
+ };
7
+ export default meta;
8
+ export const Default = {};
@@ -0,0 +1,102 @@
1
+ <script lang="ts">
2
+ import PromptInput from '../PromptInput/PromptInput.svelte';
3
+ import ChatBubble from '../ChatBubble/ChatBubble.svelte';
4
+ import Button from '../../atoms/Button/Button.svelte';
5
+
6
+ export type AiAssistRole = 'user' | 'assistant' | 'system';
7
+
8
+ export interface AiAssistMessage {
9
+ id: string;
10
+ role: AiAssistRole;
11
+ content: string;
12
+ }
13
+
14
+ interface AiAssistPanelProps {
15
+ messages?: AiAssistMessage[];
16
+ snippets?: string[];
17
+ title?: string;
18
+ loading?: boolean;
19
+ placeholder?: string;
20
+ class?: string;
21
+ onsubmit?: (prompt: string) => void;
22
+ oninsert?: (text: string) => void;
23
+ onstop?: () => void;
24
+ }
25
+
26
+ let {
27
+ messages = $bindable<AiAssistMessage[]>([]),
28
+ snippets = [],
29
+ title = 'AI assist',
30
+ loading = false,
31
+ placeholder = 'Ask for help with this resource…',
32
+ class: className = '',
33
+ onsubmit,
34
+ oninsert,
35
+ onstop
36
+ }: AiAssistPanelProps = $props();
37
+
38
+ let draft = $state('');
39
+
40
+ function submit(value: string) {
41
+ const text = value.trim();
42
+ if (!text) return;
43
+ messages = [
44
+ ...messages,
45
+ { id: `m-${Date.now()}`, role: 'user', content: text }
46
+ ];
47
+ draft = '';
48
+ onsubmit?.(text);
49
+ }
50
+ </script>
51
+
52
+ <aside
53
+ class={[
54
+ 'flex h-full min-h-[360px] w-full max-w-md flex-col overflow-hidden rounded-xl border border-border bg-surface-elevated',
55
+ className
56
+ ]}
57
+ data-ai-assist-panel
58
+ >
59
+ <header class="border-b border-border px-3 py-2">
60
+ <p class="text-sm font-semibold text-primary">{title}</p>
61
+ </header>
62
+
63
+ {#if snippets.length}
64
+ <div class="flex flex-wrap gap-1 border-b border-border px-3 py-2">
65
+ {#each snippets as s (s)}
66
+ <Button size="sm" variant="secondary" onclick={() => oninsert?.(s)}>{s}</Button>
67
+ {/each}
68
+ </div>
69
+ {/if}
70
+
71
+ <div class="flex-1 space-y-3 overflow-auto p-3">
72
+ {#each messages as msg (msg.id)}
73
+ {#if msg.role === 'assistant'}
74
+ <div class="flex flex-col items-start gap-1">
75
+ <ChatBubble content={msg.content} side="left" />
76
+ {#if oninsert}
77
+ <Button size="sm" variant="ghost" onclick={() => oninsert?.(msg.content)}>
78
+ Insert
79
+ </Button>
80
+ {/if}
81
+ </div>
82
+ {:else if msg.role === 'system'}
83
+ <p class="text-center text-[11px] text-muted">{msg.content}</p>
84
+ {:else}
85
+ <ChatBubble content={msg.content} side="right" />
86
+ {/if}
87
+ {/each}
88
+ {#if !messages.length}
89
+ <p class="py-8 text-center text-sm text-muted">Ask anything to get started.</p>
90
+ {/if}
91
+ </div>
92
+
93
+ <div class="border-t border-border p-3">
94
+ <PromptInput
95
+ bind:value={draft}
96
+ {placeholder}
97
+ {loading}
98
+ onsubmit={submit}
99
+ onstop={onstop}
100
+ />
101
+ </div>
102
+ </aside>
@@ -0,0 +1,20 @@
1
+ export type AiAssistRole = 'user' | 'assistant' | 'system';
2
+ export interface AiAssistMessage {
3
+ id: string;
4
+ role: AiAssistRole;
5
+ content: string;
6
+ }
7
+ interface AiAssistPanelProps {
8
+ messages?: AiAssistMessage[];
9
+ snippets?: string[];
10
+ title?: string;
11
+ loading?: boolean;
12
+ placeholder?: string;
13
+ class?: string;
14
+ onsubmit?: (prompt: string) => void;
15
+ oninsert?: (text: string) => void;
16
+ onstop?: () => void;
17
+ }
18
+ declare const AiAssistPanel: import("svelte").Component<AiAssistPanelProps, {}, "messages">;
19
+ type AiAssistPanel = ReturnType<typeof AiAssistPanel>;
20
+ export default AiAssistPanel;
@@ -0,0 +1,34 @@
1
+ <script lang="ts">
2
+ import AiAssistPanel from './AiAssistPanel.svelte';
3
+ import type { AiAssistMessage } from './AiAssistPanel.svelte';
4
+
5
+ let messages = $state<AiAssistMessage[]>([
6
+ { id: '1', role: 'system', content: 'Context: ResourceStudio · customers' },
7
+ { id: '2', role: 'user', content: 'Write a filter for active VIP customers' },
8
+ {
9
+ id: '3',
10
+ role: 'assistant',
11
+ content: 'status:active AND tags:vip'
12
+ }
13
+ ]);
14
+
15
+ function onsubmit(prompt: string) {
16
+ messages = [
17
+ ...messages,
18
+ {
19
+ id: String(Date.now()),
20
+ role: 'assistant',
21
+ content: `Suggested: ${prompt.includes('filter') ? 'status:active' : 'Done.'}`
22
+ }
23
+ ];
24
+ }
25
+ </script>
26
+
27
+ <div class="flex justify-center p-4">
28
+ <AiAssistPanel
29
+ bind:messages
30
+ {onsubmit}
31
+ snippets={['Summarize', 'Fix types', 'Write test']}
32
+ oninsert={(t) => console.log('insert', t)}
33
+ />
34
+ </div>
@@ -0,0 +1,3 @@
1
+ declare const AiAssistPanelStory: import("svelte").Component<Record<string, never>, {}, "">;
2
+ type AiAssistPanelStory = ReturnType<typeof AiAssistPanelStory>;
3
+ export default AiAssistPanelStory;