@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,154 @@
1
+ <script lang="ts">
2
+ import Button from '../../atoms/Button/Button.svelte';
3
+ import Input from '../../atoms/Input/Input.svelte';
4
+ import Select from '../Select/Select.svelte';
5
+ import type { FieldType, ResourceField } from '../../organisms/ResourceStudio/types.js';
6
+
7
+ export type { ResourceField, FieldType };
8
+
9
+ const FIELD_TYPES: { value: FieldType; label: string }[] = [
10
+ { value: 'string', label: 'String' },
11
+ { value: 'text', label: 'Text' },
12
+ { value: 'number', label: 'Number' },
13
+ { value: 'boolean', label: 'Boolean' },
14
+ { value: 'date', label: 'Date' },
15
+ { value: 'datetime', label: 'DateTime' },
16
+ { value: 'enum', label: 'Enum' },
17
+ { value: 'json', label: 'JSON' },
18
+ { value: 'relation', label: 'Relation' },
19
+ { value: 'file', label: 'File' },
20
+ { value: 'custom', label: 'Custom' }
21
+ ];
22
+
23
+ interface SchemaFieldBuilderProps {
24
+ fields?: ResourceField[];
25
+ class?: string;
26
+ onchange?: (fields: ResourceField[]) => void;
27
+ }
28
+
29
+ let {
30
+ fields = $bindable<ResourceField[]>([]),
31
+ class: className = '',
32
+ onchange
33
+ }: SchemaFieldBuilderProps = $props();
34
+
35
+ function emit(next: ResourceField[]) {
36
+ fields = next;
37
+ onchange?.(next);
38
+ }
39
+
40
+ function addField() {
41
+ const id = `field_${fields.length + 1}`;
42
+ emit([
43
+ ...fields,
44
+ { id, label: `Field ${fields.length + 1}`, type: 'string', required: false }
45
+ ]);
46
+ }
47
+
48
+ function update(id: string, patch: Partial<ResourceField>) {
49
+ emit(fields.map((f) => (f.id === id ? { ...f, ...patch } : f)));
50
+ }
51
+
52
+ function remove(id: string) {
53
+ emit(fields.filter((f) => f.id !== id));
54
+ }
55
+
56
+ function move(id: string, dir: -1 | 1) {
57
+ const idx = fields.findIndex((f) => f.id === id);
58
+ const nextIdx = idx + dir;
59
+ if (idx < 0 || nextIdx < 0 || nextIdx >= fields.length) return;
60
+ const next = [...fields];
61
+ const [item] = next.splice(idx, 1);
62
+ next.splice(nextIdx, 0, item);
63
+ emit(next);
64
+ }
65
+
66
+ function setOptions(id: string, raw: string) {
67
+ const options = raw
68
+ .split('\n')
69
+ .map((l) => l.trim())
70
+ .filter(Boolean)
71
+ .map((line) => {
72
+ const [value, label] = line.split('|');
73
+ return { value: value.trim(), label: (label ?? value).trim() };
74
+ });
75
+ update(id, { options });
76
+ }
77
+ </script>
78
+
79
+ <div
80
+ class={['flex flex-col gap-3 rounded-xl border border-border bg-surface-elevated p-4', className]}
81
+ data-schema-field-builder
82
+ >
83
+ <div class="flex items-center justify-between gap-2">
84
+ <div>
85
+ <p class="text-sm font-semibold text-primary">Schema fields</p>
86
+ <p class="text-xs text-muted">{fields.length} fields</p>
87
+ </div>
88
+ <Button size="sm" onclick={addField}>Add field</Button>
89
+ </div>
90
+
91
+ {#if !fields.length}
92
+ <p class="rounded-lg border border-dashed border-border px-3 py-8 text-center text-sm text-muted">
93
+ No fields yet.
94
+ </p>
95
+ {:else}
96
+ <ul class="flex flex-col gap-2">
97
+ {#each fields as field, i (field.id)}
98
+ <li class="rounded-xl border border-border p-3">
99
+ <div class="mb-2 flex items-center justify-between gap-2">
100
+ <span class="font-mono text-[11px] text-muted">{field.id}</span>
101
+ <div class="flex gap-1">
102
+ <Button size="sm" variant="ghost" disabled={i === 0} onclick={() => move(field.id, -1)}>
103
+
104
+ </Button>
105
+ <Button
106
+ size="sm"
107
+ variant="ghost"
108
+ disabled={i === fields.length - 1}
109
+ onclick={() => move(field.id, 1)}
110
+ >
111
+
112
+ </Button>
113
+ <Button size="sm" variant="ghost" onclick={() => remove(field.id)}>Remove</Button>
114
+ </div>
115
+ </div>
116
+ <div class="grid gap-2 sm:grid-cols-2">
117
+ <Input
118
+ value={field.id}
119
+ placeholder="id"
120
+ oninput={(e) => update(field.id, { id: (e.currentTarget as HTMLInputElement).value })}
121
+ />
122
+ <Input
123
+ value={field.label}
124
+ placeholder="Label"
125
+ oninput={(e) => update(field.id, { label: (e.currentTarget as HTMLInputElement).value })}
126
+ />
127
+ <Select
128
+ value={field.type}
129
+ options={FIELD_TYPES}
130
+ onchange={(v) => update(field.id, { type: v as FieldType })}
131
+ />
132
+ <label class="flex items-center gap-2 text-sm text-secondary">
133
+ <input
134
+ type="checkbox"
135
+ checked={!!field.required}
136
+ onchange={(e) =>
137
+ update(field.id, { required: (e.currentTarget as HTMLInputElement).checked })}
138
+ />
139
+ Required
140
+ </label>
141
+ {#if field.type === 'enum'}
142
+ <textarea
143
+ class="col-span-full min-h-[72px] w-full rounded-lg border border-border bg-surface px-3 py-2 font-mono text-xs text-primary"
144
+ placeholder={'value|Label (one per line)'}
145
+ value={(field.options ?? []).map((o) => `${o.value}|${o.label}`).join('\n')}
146
+ oninput={(e) => setOptions(field.id, (e.currentTarget as HTMLTextAreaElement).value)}
147
+ ></textarea>
148
+ {/if}
149
+ </div>
150
+ </li>
151
+ {/each}
152
+ </ul>
153
+ {/if}
154
+ </div>
@@ -0,0 +1,12 @@
1
+ import type { ResourceField } from '../../organisms/ResourceStudio/types.js';
2
+ interface SchemaFieldBuilderProps {
3
+ fields?: ResourceField[];
4
+ class?: string;
5
+ onchange?: (fields: ResourceField[]) => void;
6
+ }
7
+ declare const SchemaFieldBuilder: import("svelte").Component<SchemaFieldBuilderProps, {
8
+ ResourceField: typeof ResourceField;
9
+ FieldType: typeof FieldType;
10
+ }, "fields">;
11
+ type SchemaFieldBuilder = ReturnType<typeof SchemaFieldBuilder>;
12
+ export default SchemaFieldBuilder;
@@ -0,0 +1,16 @@
1
+ <script lang="ts">
2
+ import SchemaFieldBuilder from './SchemaFieldBuilder.svelte';
3
+ import type { ResourceField } from '../../organisms/ResourceStudio/types.js';
4
+
5
+ let fields = $state<ResourceField[]>([
6
+ { id: 'name', label: 'Name', type: 'string', required: true },
7
+ { id: 'status', label: 'Status', type: 'enum', options: [
8
+ { value: 'active', label: 'Active' },
9
+ { value: 'draft', label: 'Draft' }
10
+ ]}
11
+ ]);
12
+ </script>
13
+
14
+ <div class="mx-auto max-w-xl p-4">
15
+ <SchemaFieldBuilder bind:fields />
16
+ </div>
@@ -0,0 +1,3 @@
1
+ declare const SchemaFieldBuilderStory: import("svelte").Component<Record<string, never>, {}, "">;
2
+ type SchemaFieldBuilderStory = ReturnType<typeof SchemaFieldBuilderStory>;
3
+ export default SchemaFieldBuilderStory;
@@ -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 SecretFieldStory from './SecretFieldStory.svelte';
2
+ const meta = {
3
+ title: 'Molecules/SecretField',
4
+ component: SecretFieldStory,
5
+ tags: ['autodocs']
6
+ };
7
+ export default meta;
8
+ export const Default = {};
@@ -0,0 +1,58 @@
1
+ <script lang="ts">
2
+ import Input from '../../atoms/Input/Input.svelte';
3
+ import Button from '../../atoms/Button/Button.svelte';
4
+ import CopyButton from '../CopyButton/CopyButton.svelte';
5
+
6
+ interface SecretFieldProps {
7
+ value?: string;
8
+ label?: string;
9
+ placeholder?: string;
10
+ disabled?: boolean;
11
+ revealLabel?: string;
12
+ hideLabel?: string;
13
+ class?: string;
14
+ onchange?: (value: string) => void;
15
+ onreveal?: () => void;
16
+ oncopy?: () => void;
17
+ }
18
+
19
+ let {
20
+ value = $bindable(''),
21
+ label = 'Secret',
22
+ placeholder = '••••••••••••',
23
+ disabled = false,
24
+ revealLabel = 'Reveal',
25
+ hideLabel = 'Hide',
26
+ class: className = '',
27
+ onchange,
28
+ onreveal,
29
+ oncopy
30
+ }: SecretFieldProps = $props();
31
+
32
+ let revealed = $state(false);
33
+
34
+ function toggle() {
35
+ revealed = !revealed;
36
+ if (revealed) onreveal?.();
37
+ }
38
+ </script>
39
+
40
+ <div class={['flex flex-col gap-1.5', className]} data-secret-field>
41
+ {#if label}
42
+ <span class="text-xs font-medium text-secondary">{label}</span>
43
+ {/if}
44
+ <div class="flex items-center gap-2">
45
+ <Input
46
+ type={revealed ? 'text' : 'password'}
47
+ bind:value
48
+ {placeholder}
49
+ {disabled}
50
+ class="flex-1 font-mono"
51
+ oninput={(e) => onchange?.((e.currentTarget as HTMLInputElement).value)}
52
+ />
53
+ <Button size="sm" variant="secondary" {disabled} onclick={toggle}>
54
+ {revealed ? hideLabel : revealLabel}
55
+ </Button>
56
+ <CopyButton {value} size="sm" oncopy={oncopy} />
57
+ </div>
58
+ </div>
@@ -0,0 +1,15 @@
1
+ interface SecretFieldProps {
2
+ value?: string;
3
+ label?: string;
4
+ placeholder?: string;
5
+ disabled?: boolean;
6
+ revealLabel?: string;
7
+ hideLabel?: string;
8
+ class?: string;
9
+ onchange?: (value: string) => void;
10
+ onreveal?: () => void;
11
+ oncopy?: () => void;
12
+ }
13
+ declare const SecretField: import("svelte").Component<SecretFieldProps, {}, "value">;
14
+ type SecretField = ReturnType<typeof SecretField>;
15
+ export default SecretField;
@@ -0,0 +1,8 @@
1
+ <script lang="ts">
2
+ import SecretField from './SecretField.svelte';
3
+ let value = $state('sk_live_51Hx…demo');
4
+ </script>
5
+
6
+ <div class="mx-auto max-w-md p-4">
7
+ <SecretField bind:value label="API key" />
8
+ </div>
@@ -0,0 +1,3 @@
1
+ declare const SecretFieldStory: import("svelte").Component<Record<string, never>, {}, "">;
2
+ type SecretFieldStory = ReturnType<typeof SecretFieldStory>;
3
+ export default SecretFieldStory;
@@ -5,13 +5,21 @@
5
5
 
6
6
  interface SplitPaneProps {
7
7
  orientation?: SplitOrientation;
8
- /** Size of the sized pane as percentage (bindable) */
8
+ /** Size of the sized pane (bindable). Unit controlled by `unit`. */
9
9
  size?: number;
10
10
  defaultSize?: number;
11
11
  minSize?: number;
12
12
  maxSize?: number;
13
- /** Which pane the size percentage applies to */
13
+ /** Which pane the size applies to */
14
14
  sizePane?: 'start' | 'end';
15
+ /** `percent` (default) or absolute `px` relative to the container. */
16
+ unit?: 'percent' | 'px';
17
+ /**
18
+ * Collapse a pane to its content intrinsic size (e.g. Panel header).
19
+ * The sibling fills the remaining space; the handle is hidden.
20
+ */
21
+ startCollapsed?: boolean;
22
+ endCollapsed?: boolean;
15
23
  /**
16
24
  * Idle: thin accent line. Hover / focus / drag: full grip.
17
25
  * Pass-through to SplitHandle.
@@ -29,6 +37,9 @@
29
37
  minSize = 15,
30
38
  maxSize = 85,
31
39
  sizePane = 'start',
40
+ unit = 'percent',
41
+ startCollapsed = false,
42
+ endCollapsed = false,
32
43
  revealOnHover = false,
33
44
  class: className = '',
34
45
  start,
@@ -44,6 +55,15 @@
44
55
  const isHorizontal = $derived(orientation === 'horizontal');
45
56
  const currentSize = $derived(size ?? internalSize);
46
57
  const sizeEnd = $derived(sizePane === 'end');
58
+ const isPx = $derived(unit === 'px');
59
+ const eitherCollapsed = $derived(startCollapsed || endCollapsed);
60
+ const bothCollapsed = $derived(startCollapsed && endCollapsed);
61
+
62
+ function containerSpan(): number {
63
+ if (!containerEl) return isPx ? 1000 : 100;
64
+ const rect = containerEl.getBoundingClientRect();
65
+ return isHorizontal ? rect.width : rect.height;
66
+ }
47
67
 
48
68
  function setSize(next: number) {
49
69
  const clamped = Math.min(maxSize, Math.max(minSize, next));
@@ -55,18 +75,21 @@
55
75
  }
56
76
 
57
77
  function applyPointer(e: PointerEvent) {
58
- if (!containerEl) return;
78
+ if (!containerEl || eitherCollapsed) return;
59
79
  const rect = containerEl.getBoundingClientRect();
60
- let pct: number;
61
- if (isHorizontal) {
62
- pct = ((e.clientX - rect.left) / rect.width) * 100;
63
- } else {
64
- pct = ((e.clientY - rect.top) / rect.height) * 100;
80
+ const span = isHorizontal ? rect.width : rect.height;
81
+ const offset = isHorizontal ? e.clientX - rect.left : e.clientY - rect.top;
82
+ if (isPx) {
83
+ const fromStart = offset;
84
+ setSize(sizeEnd ? span - fromStart : fromStart);
85
+ return;
65
86
  }
87
+ const pct = (offset / span) * 100;
66
88
  setSize(sizeEnd ? 100 - pct : pct);
67
89
  }
68
90
 
69
91
  function startDrag(e: PointerEvent) {
92
+ if (eitherCollapsed) return;
70
93
  if (e.button !== 0 && e.pointerType === 'mouse') return;
71
94
  e.preventDefault();
72
95
  isDragging = true;
@@ -91,27 +114,61 @@
91
114
  }
92
115
 
93
116
  function onAdjust(delta: number) {
94
- // Handle value is always the separator position from the start edge
117
+ if (eitherCollapsed) return;
118
+ if (isPx) {
119
+ const span = containerSpan();
120
+ const separator = sizeEnd ? span - currentSize : currentSize;
121
+ const nextSep = separator + delta * 4;
122
+ setSize(sizeEnd ? span - nextSep : nextSep);
123
+ return;
124
+ }
95
125
  const separator = sizeEnd ? 100 - currentSize : currentSize;
96
126
  const nextSep = separator + delta;
97
127
  setSize(sizeEnd ? 100 - nextSep : nextSep);
98
128
  }
99
129
 
100
- const separatorValue = $derived(sizeEnd ? 100 - currentSize : currentSize);
101
- const separatorMin = $derived(sizeEnd ? 100 - maxSize : minSize);
102
- const separatorMax = $derived(sizeEnd ? 100 - minSize : maxSize);
103
-
104
- const startStyle = $derived(
105
- sizeEnd
106
- ? 'flex:1;min-width:0;min-height:0;'
107
- : `${isHorizontal ? 'width' : 'height'}:${currentSize}%;flex:none;`
108
- );
109
-
110
- const endStyle = $derived(
111
- sizeEnd
112
- ? `${isHorizontal ? 'width' : 'height'}:${currentSize}%;flex:none;`
113
- : 'flex:1;min-width:0;min-height:0;'
114
- );
130
+ const separatorValue = $derived.by(() => {
131
+ if (!isPx) return sizeEnd ? 100 - currentSize : currentSize;
132
+ const span = containerSpan() || 1;
133
+ const fromStart = sizeEnd ? span - currentSize : currentSize;
134
+ return (fromStart / span) * 100;
135
+ });
136
+ const separatorMin = $derived.by(() => {
137
+ if (!isPx) return sizeEnd ? 100 - maxSize : minSize;
138
+ const span = containerSpan() || 1;
139
+ const fromStartMin = sizeEnd ? span - maxSize : minSize;
140
+ return (fromStartMin / span) * 100;
141
+ });
142
+ const separatorMax = $derived.by(() => {
143
+ if (!isPx) return sizeEnd ? 100 - minSize : maxSize;
144
+ const span = containerSpan() || 1;
145
+ const fromStartMax = sizeEnd ? span - minSize : maxSize;
146
+ return (fromStartMax / span) * 100;
147
+ });
148
+
149
+ /** Collapsed panes shrink to content (Panel header); sibling fills. */
150
+ const collapsedStyle = 'flex:none;align-self:stretch;';
151
+ const fillStyle = 'flex:1;min-width:0;min-height:0;';
152
+
153
+ function sizedStyle(): string {
154
+ return isPx
155
+ ? `${isHorizontal ? 'width' : 'height'}:${currentSize}px;flex:none;`
156
+ : `${isHorizontal ? 'width' : 'height'}:${currentSize}%;flex:none;`;
157
+ }
158
+
159
+ const startStyle = $derived.by(() => {
160
+ if (bothCollapsed) return collapsedStyle;
161
+ if (startCollapsed) return collapsedStyle;
162
+ if (endCollapsed) return fillStyle;
163
+ return sizeEnd ? fillStyle : sizedStyle();
164
+ });
165
+
166
+ const endStyle = $derived.by(() => {
167
+ if (bothCollapsed) return collapsedStyle;
168
+ if (endCollapsed) return collapsedStyle;
169
+ if (startCollapsed) return fillStyle;
170
+ return sizeEnd ? sizedStyle() : fillStyle;
171
+ });
115
172
  </script>
116
173
 
117
174
  <div
@@ -123,27 +180,29 @@
123
180
  className
124
181
  ]}
125
182
  >
126
- <div class="min-h-0 min-w-0 overflow-hidden" style={startStyle}>
183
+ <div class="flex h-full min-h-0 min-w-0 flex-col overflow-hidden" style={startStyle}>
127
184
  {#if start}
128
185
  {@render start()}
129
186
  {/if}
130
187
  </div>
131
188
 
132
- <SplitHandle
133
- {orientation}
134
- value={separatorValue}
135
- min={separatorMin}
136
- max={separatorMax}
137
- dragging={isDragging}
138
- {revealOnHover}
139
- onpointerdown={startDrag}
140
- onpointermove={onPointerMove}
141
- onpointerup={stopDrag}
142
- onpointercancel={stopDrag}
143
- onadjust={onAdjust}
144
- />
145
-
146
- <div class="min-h-0 min-w-0 overflow-hidden" style={endStyle}>
189
+ {#if !eitherCollapsed}
190
+ <SplitHandle
191
+ {orientation}
192
+ value={separatorValue}
193
+ min={separatorMin}
194
+ max={separatorMax}
195
+ dragging={isDragging}
196
+ {revealOnHover}
197
+ onpointerdown={startDrag}
198
+ onpointermove={onPointerMove}
199
+ onpointerup={stopDrag}
200
+ onpointercancel={stopDrag}
201
+ onadjust={onAdjust}
202
+ />
203
+ {/if}
204
+
205
+ <div class="flex h-full min-h-0 min-w-0 flex-col overflow-hidden" style={endStyle}>
147
206
  {#if end}
148
207
  {@render end()}
149
208
  {/if}
@@ -2,13 +2,21 @@ import type { Snippet } from 'svelte';
2
2
  import type { SplitOrientation } from '../../atoms/SplitHandle/SplitHandle.svelte';
3
3
  interface SplitPaneProps {
4
4
  orientation?: SplitOrientation;
5
- /** Size of the sized pane as percentage (bindable) */
5
+ /** Size of the sized pane (bindable). Unit controlled by `unit`. */
6
6
  size?: number;
7
7
  defaultSize?: number;
8
8
  minSize?: number;
9
9
  maxSize?: number;
10
- /** Which pane the size percentage applies to */
10
+ /** Which pane the size applies to */
11
11
  sizePane?: 'start' | 'end';
12
+ /** `percent` (default) or absolute `px` relative to the container. */
13
+ unit?: 'percent' | 'px';
14
+ /**
15
+ * Collapse a pane to its content intrinsic size (e.g. Panel header).
16
+ * The sibling fills the remaining space; the handle is hidden.
17
+ */
18
+ startCollapsed?: boolean;
19
+ endCollapsed?: boolean;
12
20
  /**
13
21
  * Idle: thin accent line. Hover / focus / drag: full grip.
14
22
  * Pass-through to SplitHandle.
@@ -23,6 +23,6 @@ interface TableToolbarProps {
23
23
  oncolumnschange?: (columns: TableColumnOption[]) => void;
24
24
  onexport?: (format: 'csv' | 'json') => void;
25
25
  }
26
- declare const TableToolbar: import("svelte").Component<TableToolbarProps, {}, "search" | "density" | "columns">;
26
+ declare const TableToolbar: import("svelte").Component<TableToolbarProps, {}, "search" | "columns" | "density">;
27
27
  type TableToolbar = ReturnType<typeof TableToolbar>;
28
28
  export default TableToolbar;
@@ -0,0 +1,20 @@
1
+ import TerminalStory from './TerminalStory.svelte';
2
+ const meta = {
3
+ title: 'Molecules/Terminal',
4
+ component: TerminalStory,
5
+ tags: ['autodocs'],
6
+ argTypes: {
7
+ tone: {
8
+ control: 'select',
9
+ options: ['adaptive', 'contrast']
10
+ }
11
+ },
12
+ args: {
13
+ tone: 'adaptive'
14
+ }
15
+ };
16
+ export default meta;
17
+ export const Adaptive = {};
18
+ export const Contrast = {
19
+ args: { tone: 'contrast' }
20
+ };