@stephen-netu/design-system 0.2.1 → 0.5.1

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 (359) hide show
  1. package/dist/b0-app-shell/clarification-overlay/ClarificationOverlay.svelte +10 -2
  2. package/dist/b0-app-shell/clarification-overlay/ClarificationOverlay.svelte.d.ts.map +1 -1
  3. package/dist/b0-app-shell/{command-bar/CommandBar.svelte → global-command-bar/GlobalCommandBar.svelte} +75 -75
  4. package/dist/b0-app-shell/{command-bar/CommandBar.svelte.d.ts → global-command-bar/GlobalCommandBar.svelte.d.ts} +6 -6
  5. package/dist/b0-app-shell/global-command-bar/GlobalCommandBar.svelte.d.ts.map +1 -0
  6. package/dist/b0-app-shell/index.d.ts +1 -1
  7. package/dist/b0-app-shell/index.d.ts.map +1 -1
  8. package/dist/b0-app-shell/index.js +1 -1
  9. package/dist/d0-data-viz/BarChart.test.js +53 -0
  10. package/dist/d0-data-viz/CheckpointBar.test.js +83 -0
  11. package/dist/d0-data-viz/CheckpointPill.svelte +8 -3
  12. package/dist/d0-data-viz/CheckpointPill.svelte.d.ts.map +1 -1
  13. package/dist/d0-data-viz/CheckpointPill.test.js +78 -0
  14. package/dist/d0-data-viz/ConnectionHealth.test.js +70 -0
  15. package/dist/d0-data-viz/MetricCard.test.js +57 -0
  16. package/dist/d0-data-viz/SparkLine.test.js +47 -0
  17. package/dist/d0-data-viz/StorageMap.test.js +63 -0
  18. package/dist/d0-data-viz/Timeline.test.js +62 -0
  19. package/dist/d0-data-viz/WorldLineTimeline.test.js +99 -0
  20. package/dist/d0-data-viz/checkpoint-types.js +1 -1
  21. package/dist/d0-data-viz/storage-map-types.d.ts.map +1 -1
  22. package/dist/d0-data-viz/storage-map-types.js +6 -3
  23. package/dist/d0-data-viz/theme-integration.d.ts +3 -3
  24. package/dist/d0-data-viz/theme-integration.js +4 -4
  25. package/dist/d0-data-viz/theme-integration.test.js +41 -0
  26. package/dist/demos/AmbientPrimitivesDemo.svelte +103 -0
  27. package/dist/demos/AmbientPrimitivesDemo.svelte.d.ts +5 -0
  28. package/dist/demos/AmbientPrimitivesDemo.svelte.d.ts.map +1 -0
  29. package/dist/demos/BspSizingInfographic.svelte +3 -32
  30. package/dist/demos/NodepadBlocksShowcase.svelte +2 -1
  31. package/dist/demos/NodepadBlocksShowcase.svelte.d.ts.map +1 -1
  32. package/dist/demos/index.d.ts +1 -0
  33. package/dist/demos/index.d.ts.map +1 -1
  34. package/dist/demos/index.js +1 -0
  35. package/dist/editor/CodeEditor.svelte +83 -26
  36. package/dist/editor/CodeEditor.svelte.d.ts +0 -1
  37. package/dist/editor/CodeEditor.svelte.d.ts.map +1 -1
  38. package/dist/editor/CodeEditor.test.js +38 -0
  39. package/dist/editor/ExternalChangeDialog.svelte +117 -0
  40. package/dist/editor/ExternalChangeDialog.svelte.d.ts +13 -0
  41. package/dist/editor/ExternalChangeDialog.svelte.d.ts.map +1 -0
  42. package/dist/editor/FindReplaceDialog.svelte +32 -32
  43. package/dist/editor/MarkdownEditor.svelte +105 -605
  44. package/dist/editor/MarkdownEditor.svelte.d.ts +1 -1
  45. package/dist/editor/MarkdownEditor.svelte.d.ts.map +1 -1
  46. package/dist/editor/MarkdownEditor.test.js +38 -0
  47. package/dist/editor/codemirror-config.d.ts +36 -0
  48. package/dist/editor/codemirror-config.d.ts.map +1 -0
  49. package/dist/editor/codemirror-config.js +87 -0
  50. package/dist/editor/components/CorrectionTooltip.svelte +180 -160
  51. package/dist/editor/components/CorrectionTooltip.svelte.d.ts +7 -23
  52. package/dist/editor/components/CorrectionTooltip.svelte.d.ts.map +1 -1
  53. package/dist/editor/extensions/autocomplete.d.ts +2 -2
  54. package/dist/editor/extensions/autocomplete.d.ts.map +1 -1
  55. package/dist/editor/extensions/autocomplete.test.js +121 -0
  56. package/dist/editor/extensions/spellcheck.d.ts +21 -3
  57. package/dist/editor/extensions/spellcheck.d.ts.map +1 -1
  58. package/dist/editor/extensions/spellcheck.js +51 -9
  59. package/dist/editor/extensions/spellcheck.test.js +168 -0
  60. package/dist/editor/extensions/types.d.ts +2 -1
  61. package/dist/editor/extensions/types.d.ts.map +1 -1
  62. package/dist/editor/index.d.ts +2 -1
  63. package/dist/editor/index.d.ts.map +1 -1
  64. package/dist/editor/index.js +1 -0
  65. package/dist/editor/markdown-preview.d.ts +9 -0
  66. package/dist/editor/markdown-preview.d.ts.map +1 -0
  67. package/dist/editor/markdown-preview.js +19 -0
  68. package/dist/editor/markdown-preview.test.js +38 -0
  69. package/dist/editor/useCodeMirror.d.ts +23 -0
  70. package/dist/editor/useCodeMirror.d.ts.map +1 -0
  71. package/dist/editor/useCodeMirror.js +40 -0
  72. package/dist/editor/useFilePersistence.d.ts +32 -0
  73. package/dist/editor/useFilePersistence.d.ts.map +1 -0
  74. package/dist/editor/useFilePersistence.js +117 -0
  75. package/dist/entity-graph-view/WorldView.svelte +1 -1
  76. package/dist/fabric/ai/ChatPanel.svelte +84 -85
  77. package/dist/fabric/ai/ChatPanel.svelte.d.ts.map +1 -1
  78. package/dist/fabric/ai/ResearchPanel.svelte +35 -25
  79. package/dist/fabric/ai/ResearchPanel.svelte.d.ts.map +1 -1
  80. package/dist/fabric/data/FileTree.svelte +195 -0
  81. package/dist/fabric/data/FileTree.svelte.d.ts +19 -0
  82. package/dist/fabric/data/FileTree.svelte.d.ts.map +1 -0
  83. package/dist/fabric/data/FileTree.test.js +127 -0
  84. package/dist/fabric/data/index.d.ts +5 -9
  85. package/dist/fabric/data/index.d.ts.map +1 -1
  86. package/dist/fabric/data/index.js +4 -1
  87. package/dist/fabric/index.d.ts +5 -5
  88. package/dist/fabric/index.d.ts.map +1 -1
  89. package/dist/fabric/index.js +5 -3
  90. package/dist/fabric/input/{CommandBar.svelte → AppHeaderBar.svelte} +13 -13
  91. package/dist/fabric/input/{CommandBar.svelte.d.ts → AppHeaderBar.svelte.d.ts} +5 -5
  92. package/dist/fabric/input/AppHeaderBar.svelte.d.ts.map +1 -0
  93. package/dist/fabric/input/{CommandBar.test.js → AppHeaderBar.test.js} +9 -9
  94. package/dist/fabric/input/KeyboardShortcuts.svelte +23 -21
  95. package/dist/fabric/input/index.d.ts +2 -2
  96. package/dist/fabric/input/index.d.ts.map +1 -1
  97. package/dist/fabric/input/index.js +1 -1
  98. package/dist/fabric/layout/CollapsiblePanel.svelte +8 -10
  99. package/dist/fabric/layout/KanbanBoard.svelte +25 -155
  100. package/dist/fabric/layout/KanbanBoard.svelte.d.ts +2 -26
  101. package/dist/fabric/layout/KanbanBoard.svelte.d.ts.map +1 -1
  102. package/dist/fabric/layout/KanbanBoard.test.js +125 -10
  103. package/dist/fabric/layout/KanbanCard.svelte +27 -223
  104. package/dist/fabric/layout/KanbanCard.svelte.d.ts +2 -19
  105. package/dist/fabric/layout/KanbanCard.svelte.d.ts.map +1 -1
  106. package/dist/fabric/layout/KanbanColumn.svelte +41 -275
  107. package/dist/fabric/layout/KanbanColumn.svelte.d.ts +2 -22
  108. package/dist/fabric/layout/KanbanColumn.svelte.d.ts.map +1 -1
  109. package/dist/fabric/layout/index.d.ts +2 -5
  110. package/dist/fabric/layout/index.d.ts.map +1 -1
  111. package/dist/fabric/layout/index.js +1 -1
  112. package/dist/fabric/navigation/ActivityRail.svelte +3 -5
  113. package/dist/fabric/navigation/ActivityRail.svelte.d.ts.map +1 -1
  114. package/dist/g0-generative/components/Text.svelte +38 -0
  115. package/dist/g0-generative/components/Text.svelte.d.ts +9 -0
  116. package/dist/g0-generative/components/Text.svelte.d.ts.map +1 -0
  117. package/dist/g0-generative/index.d.ts +1 -0
  118. package/dist/g0-generative/index.d.ts.map +1 -1
  119. package/dist/g0-generative/index.js +1 -0
  120. package/dist/g0-generative/library/ComponentLibrary.d.ts +4 -0
  121. package/dist/g0-generative/library/ComponentLibrary.d.ts.map +1 -1
  122. package/dist/g0-generative/library/ComponentLibrary.js +10 -0
  123. package/dist/g0-generative/library/ComponentLibrary.test.js +135 -0
  124. package/dist/g0-generative/renderer/OpenUIRenderer.svelte +16 -56
  125. package/dist/g0-generative/renderer/OpenUIRenderer.svelte.d.ts.map +1 -1
  126. package/dist/g0-generative/renderer/OpenUIRenderer.test.js +143 -0
  127. package/dist/g0-geo/SovereignMap.svelte +13 -13
  128. package/dist/g0-geo/SovereignMap.svelte.d.ts.map +1 -1
  129. package/dist/index.d.ts +0 -1
  130. package/dist/index.d.ts.map +1 -1
  131. package/dist/index.js +7 -3
  132. package/dist/l0-layout/SectionSplitter.svelte +5 -5
  133. package/dist/l0-layout/block-writer/BlockContent.svelte +23 -22
  134. package/dist/l0-layout/block-writer/BlockContent.svelte.d.ts.map +1 -1
  135. package/dist/l0-layout/block-writer/BlockContent.test.js +47 -0
  136. package/dist/l0-layout/block-writer/BlockItem.svelte +6 -4
  137. package/dist/l0-layout/block-writer/markdown.js +11 -11
  138. package/dist/l0-layout/block-writer/markdown.test.js +81 -0
  139. package/dist/l0-layout/card/CompactCard.svelte +4 -3
  140. package/dist/l0-layout/card/StackedCard.svelte +87 -0
  141. package/dist/l0-layout/card/StackedCard.svelte.d.ts +9 -0
  142. package/dist/l0-layout/card/StackedCard.svelte.d.ts.map +1 -0
  143. package/dist/l0-layout/card/StackedCard.test.js +29 -0
  144. package/dist/l0-layout/grant/GrantCard.svelte +15 -5
  145. package/dist/l0-layout/grant/GrantCard.svelte.d.ts.map +1 -1
  146. package/dist/l0-layout/index.d.ts +3 -0
  147. package/dist/l0-layout/index.d.ts.map +1 -1
  148. package/dist/l0-layout/index.js +2 -0
  149. package/dist/l0-layout/kanban/KanbanBoard.svelte +246 -29
  150. package/dist/l0-layout/kanban/KanbanBoard.svelte.d.ts +28 -2
  151. package/dist/l0-layout/kanban/KanbanBoard.svelte.d.ts.map +1 -1
  152. package/dist/l0-layout/kanban/KanbanCard.svelte +175 -150
  153. package/dist/l0-layout/kanban/KanbanCard.svelte.d.ts +16 -18
  154. package/dist/l0-layout/kanban/KanbanCard.svelte.d.ts.map +1 -1
  155. package/dist/l0-layout/kanban/KanbanColumn.svelte +152 -78
  156. package/dist/l0-layout/kanban/KanbanColumn.svelte.d.ts +28 -7
  157. package/dist/l0-layout/kanban/KanbanColumn.svelte.d.ts.map +1 -1
  158. package/dist/l0-layout/kanban/index.d.ts +6 -0
  159. package/dist/l0-layout/kanban/index.d.ts.map +1 -0
  160. package/dist/l0-layout/kanban/index.js +3 -0
  161. package/dist/n0-node-graph/Node.svelte +2 -2
  162. package/dist/n0-node-graph/NodePalette.svelte +2 -2
  163. package/dist/n1-flow-canvas/FlowCanvas.svelte +50 -6
  164. package/dist/n1-flow-canvas/FlowCanvas.svelte.d.ts.map +1 -1
  165. package/dist/n1-flow-canvas/graph-state.test.js +69 -0
  166. package/dist/n1-flow-canvas/index.d.ts +2 -0
  167. package/dist/n1-flow-canvas/index.d.ts.map +1 -1
  168. package/dist/n1-flow-canvas/index.js +1 -0
  169. package/dist/n1-flow-canvas/pipeline-adapter.d.ts +37 -0
  170. package/dist/n1-flow-canvas/pipeline-adapter.d.ts.map +1 -0
  171. package/dist/n1-flow-canvas/pipeline-adapter.js +160 -0
  172. package/dist/n1-flow-canvas/utils.test.js +116 -0
  173. package/dist/n2-manifold-disk/ManifoldDisk.svelte +62 -35
  174. package/dist/n2-manifold-disk/ManifoldDisk.svelte.d.ts.map +1 -1
  175. package/dist/n3-force-graph/GraphTooltip.svelte +2 -2
  176. package/dist/n4-adaptive-manifold/AdaptiveManifold.svelte +34 -29
  177. package/dist/n4-adaptive-manifold/AdaptiveManifold.svelte.d.ts.map +1 -1
  178. package/dist/n4-adaptive-manifold/classifier.test.js +104 -0
  179. package/dist/n4-adaptive-manifold/n4-tokens.css +2 -2
  180. package/dist/n4-adaptive-manifold/types.d.ts +3 -0
  181. package/dist/n4-adaptive-manifold/types.d.ts.map +1 -1
  182. package/dist/p0-primitives/ThemeProvider.svelte +38 -18
  183. package/dist/p0-primitives/ThemeProvider.svelte.d.ts +6 -1
  184. package/dist/p0-primitives/ThemeProvider.svelte.d.ts.map +1 -1
  185. package/dist/p0-primitives/canvas-theme.d.ts +33 -1
  186. package/dist/p0-primitives/canvas-theme.d.ts.map +1 -1
  187. package/dist/p0-primitives/canvas-theme.js +82 -17
  188. package/dist/p0-primitives/debug.d.ts +6 -0
  189. package/dist/p0-primitives/debug.d.ts.map +1 -0
  190. package/dist/p0-primitives/debug.js +21 -0
  191. package/dist/p0-primitives/index.d.ts +2 -1
  192. package/dist/p0-primitives/index.d.ts.map +1 -1
  193. package/dist/p0-primitives/index.js +1 -0
  194. package/dist/p0-primitives/theme-context.d.ts +9 -0
  195. package/dist/p0-primitives/theme-context.d.ts.map +1 -0
  196. package/dist/p0-primitives/theme-context.js +8 -0
  197. package/dist/p0-primitives/theme.d.ts.map +1 -1
  198. package/dist/p0-primitives/theme.js +11 -31
  199. package/dist/p0-primitives/tokens/ambient.css +76 -0
  200. package/dist/p0-primitives/tokens/tokens.css +140 -34
  201. package/dist/p0-primitives/utils/index.d.ts +4 -2
  202. package/dist/p0-primitives/utils/index.d.ts.map +1 -1
  203. package/dist/p0-primitives/utils/index.js +1 -0
  204. package/dist/p0-primitives/utils/reveal.d.ts +15 -0
  205. package/dist/p0-primitives/utils/reveal.d.ts.map +1 -0
  206. package/dist/p0-primitives/utils/reveal.js +29 -0
  207. package/dist/p0-primitives/utils/reveal.test.js +95 -0
  208. package/dist/s0-state/SyncStatus.svelte +2 -2
  209. package/dist/s0-state/ThemeStore.svelte.d.ts +3 -2
  210. package/dist/s0-state/ThemeStore.svelte.d.ts.map +1 -1
  211. package/dist/s0-state/ThemeStore.svelte.js +20 -1
  212. package/dist/s0-state/index.d.ts +2 -2
  213. package/dist/s0-state/index.d.ts.map +1 -1
  214. package/dist/s0-state/index.js +3 -0
  215. package/dist/s0-state/modal-stack-store.svelte.d.ts +27 -2
  216. package/dist/s0-state/modal-stack-store.svelte.d.ts.map +1 -1
  217. package/dist/s0-state/modal-stack-store.svelte.js +21 -2
  218. package/dist/showcase/Showcase.svelte +43 -34
  219. package/dist/showcase/Showcase.svelte.d.ts.map +1 -1
  220. package/dist/spatial/BspTilingCanvas.svelte +5 -5
  221. package/dist/spatial/BspTilingSimulation.test.js +88 -0
  222. package/dist/spatial/CameraController.test.js +120 -0
  223. package/dist/spatial/ForceCanvas.svelte +18 -13
  224. package/dist/spatial/ForceCanvas.svelte.d.ts.map +1 -1
  225. package/dist/spatial/ForceSimulation.svelte.d.ts.map +1 -1
  226. package/dist/spatial/ForceSimulation.svelte.js +33 -22
  227. package/dist/spatial/LodRenderer.svelte +14 -1
  228. package/dist/spatial/LodRenderer.svelte.d.ts.map +1 -1
  229. package/dist/spatial/ParticleAssembleMark.svelte +285 -0
  230. package/dist/spatial/ParticleAssembleMark.svelte.d.ts +24 -0
  231. package/dist/spatial/ParticleAssembleMark.svelte.d.ts.map +1 -0
  232. package/dist/spatial/SnapZoomCamera.svelte +23 -13
  233. package/dist/spatial/SnapZoomCamera.svelte.d.ts.map +1 -1
  234. package/dist/spatial/ZoneTiler.svelte +3 -2
  235. package/dist/spatial/ZoneTiler.test.js +90 -0
  236. package/dist/spatial/d3-types.d.ts +31 -0
  237. package/dist/spatial/d3-types.d.ts.map +1 -0
  238. package/dist/spatial/d3-types.js +19 -0
  239. package/dist/spatial/index.js +1 -0
  240. package/dist/spatial/particle-assemble-math.d.ts +22 -0
  241. package/dist/spatial/particle-assemble-math.d.ts.map +1 -0
  242. package/dist/spatial/particle-assemble-math.js +26 -0
  243. package/dist/spatial/particle-assemble-math.test.js +56 -0
  244. package/dist/ssr-import-clean.test.js +37 -0
  245. package/dist/t0-transport/fs.d.ts +12 -0
  246. package/dist/t0-transport/fs.d.ts.map +1 -0
  247. package/dist/t0-transport/fs.js +55 -0
  248. package/dist/t0-transport/index.d.ts +1 -0
  249. package/dist/t0-transport/index.d.ts.map +1 -1
  250. package/dist/t0-transport/index.js +1 -0
  251. package/dist/t0-transport/invoke.d.ts.map +1 -1
  252. package/dist/t0-transport/invoke.js +5 -2
  253. package/dist/t0-transport/quality.d.ts +12 -3
  254. package/dist/t0-transport/quality.d.ts.map +1 -1
  255. package/dist/t0-transport/quality.js +17 -4
  256. package/dist/t0-transport/substrate.svelte.d.ts +27 -0
  257. package/dist/t0-transport/substrate.svelte.d.ts.map +1 -0
  258. package/dist/t0-transport/substrate.svelte.js +55 -0
  259. package/dist/u0-primitives/LockIndicator.svelte +17 -15
  260. package/dist/u0-primitives/VerticalToolbar.svelte +25 -22
  261. package/dist/u0-primitives/accordion/Accordion.svelte +14 -12
  262. package/dist/u0-primitives/accordion/Accordion.svelte.d.ts +0 -7
  263. package/dist/u0-primitives/accordion/Accordion.svelte.d.ts.map +1 -1
  264. package/dist/u0-primitives/accordion/Accordion.test.js +5 -5
  265. package/dist/u0-primitives/animated-icon/AnimatedIcon.svelte +3 -3
  266. package/dist/u0-primitives/animated-icon/AnimatedIcon.test.js +82 -0
  267. package/dist/u0-primitives/avatar/Avatar.svelte +14 -14
  268. package/dist/u0-primitives/avatar/Avatar.test.js +81 -0
  269. package/dist/u0-primitives/badge/Badge.svelte +6 -4
  270. package/dist/u0-primitives/badge/Badge.test.js +10 -10
  271. package/dist/u0-primitives/badge/ValidityBadge.svelte +4 -27
  272. package/dist/u0-primitives/badge/ValidityBadge.test.js +9 -9
  273. package/dist/u0-primitives/button/Button.svelte +18 -13
  274. package/dist/u0-primitives/button/Button.svelte.d.ts +1 -0
  275. package/dist/u0-primitives/button/Button.svelte.d.ts.map +1 -1
  276. package/dist/u0-primitives/button/Button.test.js +11 -11
  277. package/dist/u0-primitives/card/Card.svelte +60 -32
  278. package/dist/u0-primitives/card/Card.svelte.d.ts.map +1 -1
  279. package/dist/u0-primitives/card/Card.test.js +86 -0
  280. package/dist/u0-primitives/command-palette/CommandPalette.svelte +75 -43
  281. package/dist/u0-primitives/command-palette/CommandPalette.svelte.d.ts.map +1 -1
  282. package/dist/u0-primitives/command-palette/CommandPalette.test.js +202 -0
  283. package/dist/u0-primitives/command-palette/commandStore.svelte.d.ts.map +1 -1
  284. package/dist/u0-primitives/command-palette/commandStore.svelte.js +2 -1
  285. package/dist/u0-primitives/dropdown/Dropdown.svelte +20 -25
  286. package/dist/u0-primitives/dropdown/Dropdown.test.js +1 -1
  287. package/dist/u0-primitives/grant-badge/GrantStatusBadge.svelte +2 -2
  288. package/dist/u0-primitives/index.d.ts +8 -0
  289. package/dist/u0-primitives/index.d.ts.map +1 -1
  290. package/dist/u0-primitives/index.js +9 -0
  291. package/dist/u0-primitives/input/Input.svelte +85 -23
  292. package/dist/u0-primitives/input/Input.svelte.d.ts +2 -10
  293. package/dist/u0-primitives/input/Input.svelte.d.ts.map +1 -1
  294. package/dist/u0-primitives/input/Input.test.js +82 -2
  295. package/dist/u0-primitives/live-dot/LiveDot.svelte +56 -0
  296. package/dist/u0-primitives/live-dot/LiveDot.svelte.d.ts +11 -0
  297. package/dist/u0-primitives/live-dot/LiveDot.svelte.d.ts.map +1 -0
  298. package/dist/u0-primitives/live-dot/LiveDot.test.js +41 -0
  299. package/dist/u0-primitives/live-dot/index.d.ts +3 -0
  300. package/dist/u0-primitives/live-dot/index.d.ts.map +1 -0
  301. package/dist/u0-primitives/live-dot/index.js +1 -0
  302. package/dist/u0-primitives/modal/Modal.svelte +64 -38
  303. package/dist/u0-primitives/modal/Modal.svelte.d.ts.map +1 -1
  304. package/dist/u0-primitives/modal/Modal.test.js +63 -15
  305. package/dist/u0-primitives/rsvp/RsvpReader.svelte +8 -8
  306. package/dist/u0-primitives/rsvp/RsvpReader.svelte.d.ts.map +1 -1
  307. package/dist/u0-primitives/spinner/Spinner.svelte +11 -79
  308. package/dist/u0-primitives/spinner/Spinner.svelte.d.ts.map +1 -1
  309. package/dist/u0-primitives/steps/Steps.svelte +20 -21
  310. package/dist/u0-primitives/surface-state/SurfaceState.svelte +190 -0
  311. package/dist/u0-primitives/surface-state/SurfaceState.svelte.d.ts +15 -0
  312. package/dist/u0-primitives/surface-state/SurfaceState.svelte.d.ts.map +1 -0
  313. package/dist/u0-primitives/tabs/Tabs.svelte +13 -11
  314. package/dist/u0-primitives/theme-swatch-group/ThemeSwatchGroup.svelte +94 -0
  315. package/dist/u0-primitives/theme-swatch-group/ThemeSwatchGroup.svelte.d.ts +16 -0
  316. package/dist/u0-primitives/theme-swatch-group/ThemeSwatchGroup.svelte.d.ts.map +1 -0
  317. package/dist/u0-primitives/theme-swatch-group/ThemeSwatchGroup.test.js +48 -0
  318. package/dist/u0-primitives/theme-swatch-group/index.d.ts +3 -0
  319. package/dist/u0-primitives/theme-swatch-group/index.d.ts.map +1 -0
  320. package/dist/u0-primitives/theme-swatch-group/index.js +1 -0
  321. package/dist/u0-primitives/toggle/Toggle.svelte +22 -13
  322. package/dist/u0-primitives/tooltip/Tooltip.svelte +9 -9
  323. package/dist/u0-primitives/tooltip/Tooltip.test.js +12 -12
  324. package/dist/u0-primitives/web-components/button-component.d.ts +5 -1
  325. package/dist/u0-primitives/web-components/button-component.d.ts.map +1 -1
  326. package/dist/u0-primitives/web-components/button-component.js +72 -33
  327. package/dist/u0-primitives/web-components/index.d.ts +3 -0
  328. package/dist/u0-primitives/web-components/index.d.ts.map +1 -0
  329. package/dist/u0-primitives/web-components/index.js +2 -0
  330. package/dist/u0-primitives/web-components/input-component.d.ts +5 -1
  331. package/dist/u0-primitives/web-components/input-component.d.ts.map +1 -1
  332. package/dist/u0-primitives/web-components/input-component.js +56 -39
  333. package/dist/u0-primitives/web-components/web-components.test.js +96 -0
  334. package/dist/u0-primitives/window-frame/WindowFrame.svelte +87 -0
  335. package/dist/u0-primitives/window-frame/WindowFrame.svelte.d.ts +10 -0
  336. package/dist/u0-primitives/window-frame/WindowFrame.svelte.d.ts.map +1 -0
  337. package/dist/u0-primitives/window-frame/WindowFrame.test.js +31 -0
  338. package/dist/u0-primitives/window-frame/index.d.ts +3 -0
  339. package/dist/u0-primitives/window-frame/index.d.ts.map +1 -0
  340. package/dist/u0-primitives/window-frame/index.js +1 -0
  341. package/dist/v0-diagrams/MarkmapDiagram.test.js +49 -0
  342. package/dist/v0-diagrams/MermaidDiagram.svelte +21 -9
  343. package/dist/v0-diagrams/MermaidDiagram.svelte.d.ts.map +1 -1
  344. package/dist/v0-diagrams/MermaidDiagram.test.js +40 -0
  345. package/dist/x0-enchanted-blocks/components/NodepadBlock.svelte +11 -2
  346. package/dist/x0-enchanted-blocks/components/NodepadBlock.svelte.d.ts.map +1 -1
  347. package/package.json +57 -15
  348. package/src/n4-adaptive-manifold/n4-tokens.css +2 -2
  349. package/src/p0-primitives/tokens/ambient.css +76 -0
  350. package/src/p0-primitives/tokens/tokens.css +140 -34
  351. package/src/p0-primitives/tokens/tokens.json +55 -26
  352. package/dist/b0-app-shell/command-bar/CommandBar.svelte.d.ts.map +0 -1
  353. package/dist/fabric/input/CommandBar.svelte.d.ts.map +0 -1
  354. package/dist/stores/vaultStore.svelte +0 -14
  355. package/dist/stores/vaultStore.svelte.d.ts +0 -24
  356. package/dist/stores/vaultStore.svelte.d.ts.map +0 -1
  357. package/dist/tauri/index.d.ts +0 -3
  358. package/dist/tauri/index.d.ts.map +0 -1
  359. package/dist/tauri/index.js +0 -11
@@ -0,0 +1,87 @@
1
+ <script lang="ts">
2
+ import type { Snippet } from 'svelte';
3
+
4
+ export interface Props {
5
+ title?: string;
6
+ class?: string;
7
+ children?: Snippet;
8
+ }
9
+
10
+ let {
11
+ title = '',
12
+ class: className = '',
13
+ children
14
+ }: Props = $props();
15
+ </script>
16
+
17
+ <div class="ds-window-frame {className}">
18
+ <div class="ds-window-frame-header">
19
+ <div class="ds-window-frame-dots">
20
+ <span class="dot dot-close"></span>
21
+ <span class="dot dot-minimize"></span>
22
+ <span class="dot dot-expand"></span>
23
+ </div>
24
+ {#if title}
25
+ <span class="ds-window-frame-title">{title}</span>
26
+ {/if}
27
+ </div>
28
+
29
+ {#if children}
30
+ <div class="ds-window-frame-body">
31
+ {@render children()}
32
+ </div>
33
+ {/if}
34
+ </div>
35
+
36
+ <style>
37
+ .ds-window-frame {
38
+ display: flex;
39
+ flex-direction: column;
40
+ border: var(--border-width-thin) solid var(--border-default);
41
+ background: var(--color-card-bg);
42
+ overflow: hidden;
43
+ }
44
+
45
+ .ds-window-frame-header {
46
+ display: flex;
47
+ align-items: center;
48
+ gap: var(--ui-pad-x);
49
+ padding: var(--ui-pad-y) var(--ui-pad-x);
50
+ background: var(--color-bg-panel);
51
+ border-bottom: var(--border-width-thin) solid var(--border-default);
52
+ }
53
+
54
+ .ds-window-frame-dots {
55
+ display: flex;
56
+ gap: 6px;
57
+ flex-shrink: 0;
58
+ }
59
+
60
+ .dot {
61
+ width: 10px;
62
+ height: 10px;
63
+ border-radius: var(--radius-full);
64
+ }
65
+
66
+ .dot-close { background: var(--color-error); }
67
+ .dot-minimize { background: var(--color-warning); }
68
+ .dot-expand { background: var(--color-success); }
69
+
70
+ .ds-window-frame-title {
71
+ margin-left: auto;
72
+ font-family: var(--font-mono);
73
+ font-size: var(--text-2xs);
74
+ letter-spacing: 0.06em;
75
+ text-transform: uppercase;
76
+ color: var(--color-text-tertiary);
77
+ white-space: nowrap;
78
+ overflow: hidden;
79
+ text-overflow: ellipsis;
80
+ }
81
+
82
+ .ds-window-frame-body {
83
+ padding: var(--ui-pad-x);
84
+ font-family: var(--font-mono);
85
+ color: var(--color-text-secondary);
86
+ }
87
+ </style>
@@ -0,0 +1,10 @@
1
+ import type { Snippet } from 'svelte';
2
+ export interface Props {
3
+ title?: string;
4
+ class?: string;
5
+ children?: Snippet;
6
+ }
7
+ declare const WindowFrame: import("svelte").Component<Props, {}, "">;
8
+ type WindowFrame = ReturnType<typeof WindowFrame>;
9
+ export default WindowFrame;
10
+ //# sourceMappingURL=WindowFrame.svelte.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WindowFrame.svelte.d.ts","sourceRoot":"","sources":["../../../src/u0-primitives/window-frame/WindowFrame.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAGpC,MAAM,WAAW,KAAK;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAmCH,QAAA,MAAM,WAAW,2CAAwC,CAAC;AAC1D,KAAK,WAAW,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC;AAClD,eAAe,WAAW,CAAC"}
@@ -0,0 +1,31 @@
1
+ import { afterEach, describe, it, expect } from 'vitest';
2
+ import { cleanup, render } from '@testing-library/svelte';
3
+ import { createRawSnippet } from 'svelte';
4
+ import WindowFrame from './WindowFrame.svelte';
5
+ const textSnippet = (text) => createRawSnippet(() => ({ render: () => `<span>${text}</span>` }));
6
+ describe('WindowFrame', () => {
7
+ afterEach(() => cleanup());
8
+ it('renders three chrome dots', () => {
9
+ const { container } = render(WindowFrame);
10
+ expect(container.querySelectorAll('.dot')).toHaveLength(3);
11
+ });
12
+ it('renders the title when provided', () => {
13
+ const { getByText } = render(WindowFrame, { title: 'PROPERTY SEARCH' });
14
+ expect(getByText('PROPERTY SEARCH')).toBeDefined();
15
+ });
16
+ it('omits the title element when not provided', () => {
17
+ const { container } = render(WindowFrame);
18
+ expect(container.querySelector('.ds-window-frame-title')).toBeNull();
19
+ });
20
+ it('renders slotted children in the body', () => {
21
+ const { container, getByText } = render(WindowFrame, {
22
+ children: textSnippet('Body content')
23
+ });
24
+ expect(container.querySelector('.ds-window-frame-body')).not.toBeNull();
25
+ expect(getByText('Body content')).toBeDefined();
26
+ });
27
+ it('omits the body element when no children given', () => {
28
+ const { container } = render(WindowFrame);
29
+ expect(container.querySelector('.ds-window-frame-body')).toBeNull();
30
+ });
31
+ });
@@ -0,0 +1,3 @@
1
+ export { default as WindowFrame } from './WindowFrame.svelte';
2
+ export type { Props } from './WindowFrame.svelte';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/u0-primitives/window-frame/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC9D,YAAY,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1 @@
1
+ export { default as WindowFrame } from './WindowFrame.svelte';
@@ -0,0 +1,49 @@
1
+ import { describe, it, expect, afterEach, beforeAll } from 'vitest';
2
+ import { render, cleanup } from '@testing-library/svelte';
3
+ import MarkmapDiagram from './MarkmapDiagram.svelte';
4
+ // jsdom doesn't provide ResizeObserver — markmap-view needs it
5
+ beforeAll(() => {
6
+ if (typeof globalThis.ResizeObserver === 'undefined') {
7
+ class ResizeObserverMock {
8
+ observe() { }
9
+ unobserve() { }
10
+ disconnect() { }
11
+ }
12
+ globalThis.ResizeObserver = ResizeObserverMock;
13
+ }
14
+ });
15
+ afterEach(() => {
16
+ cleanup();
17
+ });
18
+ describe('v0-diagrams/MarkmapDiagram', () => {
19
+ it('exports a valid Svelte component', () => {
20
+ expect(MarkmapDiagram).toBeDefined();
21
+ expect(typeof MarkmapDiagram).toBe('function');
22
+ });
23
+ it('renders diagram container with correct class', () => {
24
+ const spec = {
25
+ type: 'markmap',
26
+ source: '# Root\n## Child',
27
+ };
28
+ const { container } = render(MarkmapDiagram, { spec });
29
+ expect(container.querySelector('.v0-diagram')).not.toBeNull();
30
+ expect(container.querySelector('.v0-diagram--markmap')).not.toBeNull();
31
+ });
32
+ it('renders title when provided', () => {
33
+ const spec = {
34
+ type: 'markmap',
35
+ source: '# Root',
36
+ title: 'Mind Map',
37
+ };
38
+ const { container } = render(MarkmapDiagram, { spec });
39
+ expect(container.querySelector('.v0-diagram-title')?.textContent).toBe('Mind Map');
40
+ });
41
+ it('renders svg element', () => {
42
+ const spec = {
43
+ type: 'markmap',
44
+ source: '# Root',
45
+ };
46
+ const { container } = render(MarkmapDiagram, { spec });
47
+ expect(container.querySelector('svg')).not.toBeNull();
48
+ });
49
+ });
@@ -1,11 +1,18 @@
1
1
  <script lang="ts">
2
- import mermaid from 'mermaid';
3
2
  import type { DiagramSpec, RenderOptions } from './types';
4
3
 
5
- mermaid.initialize({
6
- securityLevel: 'strict',
7
- startOnLoad: false,
8
- });
4
+ let mermaidModule: typeof import('mermaid') | null = null;
5
+
6
+ async function getMermaid() {
7
+ if (!mermaidModule) {
8
+ mermaidModule = await import('mermaid');
9
+ mermaidModule.default.initialize({
10
+ securityLevel: 'strict',
11
+ startOnLoad: false,
12
+ });
13
+ }
14
+ return mermaidModule.default;
15
+ }
9
16
 
10
17
  let { spec, options = {} }: {
11
18
  spec: DiagramSpec;
@@ -19,9 +26,14 @@
19
26
  });
20
27
 
21
28
  async function renderDiagram(s: DiagramSpec, opts: RenderOptions) {
22
- const id = `mermaid-${crypto.randomUUID()}`;
23
- const { svg } = await mermaid.render(id, s.source);
24
- svgContent = svg;
29
+ try {
30
+ const mermaid = await getMermaid();
31
+ const id = `mermaid-${crypto.randomUUID()}`;
32
+ const { svg } = await mermaid.render(id, s.source);
33
+ svgContent = svg;
34
+ } catch {
35
+ // mermaid.render may fail in non-browser environments (jsdom lacks getBBox)
36
+ }
25
37
  }
26
38
  </script>
27
39
 
@@ -35,7 +47,7 @@
35
47
  <style>
36
48
  .v0-diagram {
37
49
  background: var(--v0-diagram-bg);
38
- border: 1px solid var(--v0-diagram-border);
50
+ border: var(--border-width-thin) solid var(--v0-diagram-border);
39
51
  border-radius: var(--radius-lg);
40
52
  padding: var(--v0-diagram-padding);
41
53
  overflow: auto;
@@ -1 +1 @@
1
- {"version":3,"file":"MermaidDiagram.svelte.d.ts","sourceRoot":"","sources":["../../src/v0-diagrams/MermaidDiagram.svelte.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAEzD,KAAK,gBAAgB,GAAI;IACtB,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB,CAAC;AAoCJ,QAAA,MAAM,cAAc,sDAAwC,CAAC;AAC7D,KAAK,cAAc,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AACxD,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"MermaidDiagram.svelte.d.ts","sourceRoot":"","sources":["../../src/v0-diagrams/MermaidDiagram.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAEzD,KAAK,gBAAgB,GAAI;IACtB,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB,CAAC;AAgDJ,QAAA,MAAM,cAAc,sDAAwC,CAAC;AAC7D,KAAK,cAAc,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AACxD,eAAe,cAAc,CAAC"}
@@ -0,0 +1,40 @@
1
+ import { describe, it, expect, afterEach } from 'vitest';
2
+ import { render, cleanup } from '@testing-library/svelte';
3
+ import MermaidDiagram from './MermaidDiagram.svelte';
4
+ afterEach(() => {
5
+ cleanup();
6
+ });
7
+ describe('v0-diagrams/MermaidDiagram', () => {
8
+ it('exports a valid Svelte component', () => {
9
+ expect(MermaidDiagram).toBeDefined();
10
+ expect(typeof MermaidDiagram).toBe('function');
11
+ });
12
+ it('renders diagram title when provided', () => {
13
+ const spec = {
14
+ type: 'mermaid',
15
+ source: 'graph TD; A-->B',
16
+ title: 'Test Diagram',
17
+ };
18
+ const { container } = render(MermaidDiagram, { spec });
19
+ const titleEl = container.querySelector('.v0-diagram-title');
20
+ expect(titleEl).not.toBeNull();
21
+ expect(titleEl?.textContent).toBe('Test Diagram');
22
+ });
23
+ it('does not render title when not provided', () => {
24
+ const spec = {
25
+ type: 'mermaid',
26
+ source: 'graph TD; A-->B',
27
+ };
28
+ const { container } = render(MermaidDiagram, { spec });
29
+ expect(container.querySelector('.v0-diagram-title')).toBeNull();
30
+ });
31
+ it('applies v0-diagram CSS class', () => {
32
+ const spec = {
33
+ type: 'mermaid',
34
+ source: 'graph TD; A-->B',
35
+ };
36
+ const { container } = render(MermaidDiagram, { spec });
37
+ expect(container.querySelector('.v0-diagram')).not.toBeNull();
38
+ expect(container.querySelector('.v0-diagram--mermaid')).not.toBeNull();
39
+ });
40
+ });
@@ -85,10 +85,19 @@
85
85
  }
86
86
 
87
87
  function handleKeydown(e: KeyboardEvent) {
88
- // Tab inserts spaces
88
+ // Tab inserts two spaces via Selection/Range (no deprecated execCommand)
89
89
  if (e.key === 'Tab') {
90
90
  e.preventDefault();
91
- document.execCommand('insertText', false, ' ');
91
+ const sel = window.getSelection();
92
+ if (sel && sel.rangeCount > 0) {
93
+ const range = sel.getRangeAt(0);
94
+ range.deleteContents();
95
+ range.insertNode(document.createTextNode(' '));
96
+ range.collapse(false);
97
+ sel.removeAllRanges();
98
+ sel.addRange(range);
99
+ handleInput();
100
+ }
92
101
  }
93
102
  }
94
103
  </script>
@@ -1 +1 @@
1
- {"version":3,"file":"NodepadBlock.svelte.d.ts","sourceRoot":"","sources":["../../../src/x0-enchanted-blocks/components/NodepadBlock.svelte.ts"],"names":[],"mappings":"AAUA,OAAO,EACH,KAAK,SAAS,EACd,KAAK,kBAAkB,EAIxB,MAAM,wBAAwB,CAAC;AAGhC,UAAU,KAAK;IACb,KAAK,EAAE,kBAAkB,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;CAC1C;AAqHH,QAAA,MAAM,YAAY,2CAAwC,CAAC;AAC3D,KAAK,YAAY,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;AACpD,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"NodepadBlock.svelte.d.ts","sourceRoot":"","sources":["../../../src/x0-enchanted-blocks/components/NodepadBlock.svelte.ts"],"names":[],"mappings":"AAUA,OAAO,EACH,KAAK,SAAS,EACd,KAAK,kBAAkB,EAIxB,MAAM,wBAAwB,CAAC;AAGhC,UAAU,KAAK;IACb,KAAK,EAAE,kBAAkB,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;CAC1C;AA8HH,QAAA,MAAM,YAAY,2CAAwC,CAAC;AAC3D,KAAK,YAAY,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;AACpD,eAAe,YAAY,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stephen-netu/design-system",
3
- "version": "0.2.1",
3
+ "version": "0.5.1",
4
4
  "description": "KOS LEAP Design System — Neo-brutalist industrial UI with brass accent",
5
5
  "type": "module",
6
6
  "publishConfig": {
@@ -18,6 +18,13 @@
18
18
  "docs:dev": "vitepress dev docs",
19
19
  "docs:build": "vitepress build docs",
20
20
  "docs:preview": "vitepress preview docs",
21
+ "test": "vitest run",
22
+ "test:e2e": "playwright test",
23
+ "check": "svelte-check --tsconfig ./tsconfig.json",
24
+ "check:layers": "node scripts/checks/import-graph.mjs",
25
+ "check:tokens": "node scripts/checks/token-audit.mjs",
26
+ "check:exports": "node scripts/checks/check-exports.mjs",
27
+ "check:all": "pnpm check && pnpm check:layers && pnpm check:tokens && pnpm check:vite-pin",
21
28
  "check:vite-pin": "node -e \"const v=require('./package.json').devDependencies.vite;if(v!=='5.4.21'){console.error('vite pin violated: found '+v+', must stay at 5.4.21 (LEAP workspace standard — see LEAP/pnpm-workspace.yaml before bumping)');process.exit(1)}\""
22
29
  },
23
30
  "files": [
@@ -50,9 +57,27 @@
50
57
  "svelte": "./dist/u0-primitives/index.js",
51
58
  "default": "./dist/u0-primitives/index.js"
52
59
  },
60
+ "./u0-primitives/web-components": {
61
+ "types": "./dist/u0-primitives/web-components/index.d.ts",
62
+ "default": "./dist/u0-primitives/web-components/index.js"
63
+ },
64
+ "./u0-primitives/web-components/button-component": {
65
+ "types": "./dist/u0-primitives/web-components/button-component.d.ts",
66
+ "default": "./dist/u0-primitives/web-components/button-component.js"
67
+ },
68
+ "./u0-primitives/web-components/input-component": {
69
+ "types": "./dist/u0-primitives/web-components/input-component.d.ts",
70
+ "default": "./dist/u0-primitives/web-components/input-component.js"
71
+ },
72
+ "./u0-primitives/input/Input.svelte": "./dist/u0-primitives/input/Input.svelte",
73
+ "./u0-primitives/surface-state/SurfaceState.svelte": "./dist/u0-primitives/surface-state/SurfaceState.svelte",
53
74
  "./u0-primitives/badge/ValidityBadge.svelte": "./dist/u0-primitives/badge/ValidityBadge.svelte",
54
75
  "./u0-primitives/badge/validity-utils": "./dist/u0-primitives/badge/validity-utils.js",
55
76
  "./l0-layout": "./dist/l0-layout/index.js",
77
+ "./l0-layout/kanban": "./dist/l0-layout/kanban/index.js",
78
+ "./l0-layout/kanban/KanbanBoard.svelte": "./dist/l0-layout/kanban/KanbanBoard.svelte",
79
+ "./l0-layout/kanban/KanbanColumn.svelte": "./dist/l0-layout/kanban/KanbanColumn.svelte",
80
+ "./l0-layout/kanban/KanbanCard.svelte": "./dist/l0-layout/kanban/KanbanCard.svelte",
56
81
  "./l0-layout/block-writer": "./dist/l0-layout/block-writer/index.js",
57
82
  "./l0-layout/grove": "./dist/l0-layout/grove/index.js",
58
83
  "./l0-layout/grant": "./dist/l0-layout/grant/index.js",
@@ -66,22 +91,34 @@
66
91
  "./spatial/LodRenderer.svelte": "./dist/spatial/LodRenderer.svelte",
67
92
  "./spatial/SnapZoomCamera.svelte": "./dist/spatial/SnapZoomCamera.svelte",
68
93
  "./spatial/BspTilingCanvas.svelte": "./dist/spatial/BspTilingCanvas.svelte",
94
+ "./spatial/ParticleAssembleMark.svelte": "./dist/spatial/ParticleAssembleMark.svelte",
69
95
  "./s0-lifecycle": "./dist/s0-lifecycle/index.js",
70
96
  "./s0-state": "./dist/s0-state/index.js",
71
97
  "./t0-transport": "./dist/t0-transport/index.js",
98
+ "./t0-transport/substrate": {
99
+ "types": "./dist/t0-transport/substrate.svelte.d.ts",
100
+ "default": "./dist/t0-transport/substrate.svelte.js"
101
+ },
72
102
  "./f0-forms": "./dist/f0-forms/index.js",
73
103
  "./d0-data-viz": "./dist/d0-data-viz/index.js",
104
+ "./epistemic": "./dist/epistemic/index.js",
105
+ "./epistemic/types": "./dist/epistemic/types.js",
106
+ "./epistemic/utils": "./dist/epistemic/utils.js",
74
107
  "./n0-node-graph": "./dist/n0-node-graph/index.js",
75
108
  "./n1-flow-canvas": "./dist/n1-flow-canvas/index.js",
76
109
  "./n2-manifold-disk": "./dist/n2-manifold-disk/index.js",
77
110
  "./n3-force-graph": "./dist/n3-force-graph/index.js",
78
111
  "./n4-adaptive-manifold": "./dist/n4-adaptive-manifold/index.js",
79
112
  "./n4-tokens.css": "./dist/n4-adaptive-manifold/n4-tokens.css",
113
+ "./platform": "./dist/platform/index.js",
114
+ "./platform/hud-protocol": "./dist/platform/hud-protocol.js",
80
115
  "./v0-diagrams": "./dist/v0-diagrams/index.js",
81
116
  "./g0-generative": "./dist/g0-generative/index.js",
82
117
  "./entity-graph-view": "./dist/entity-graph-view/index.js",
83
118
  "./tokens.css": "./dist/p0-primitives/tokens/tokens.css",
119
+ "./tokens/validity-tokens.css": "./dist/p0-primitives/tokens/validity-tokens.css",
84
120
  "./tokens/control-room.css": "./dist/p0-primitives/tokens/control-room.css",
121
+ "./tokens/ambient.css": "./dist/p0-primitives/tokens/ambient.css",
85
122
  "./d0-tokens.css": "./dist/d0-data-viz/d0-tokens.css",
86
123
  "./n0-tokens.css": "./dist/n0-node-graph/n0-tokens.css",
87
124
  "./base.css": "./dist/base.css",
@@ -91,11 +128,8 @@
91
128
  "./x0-enchanted-blocks": "./dist/x0-enchanted-blocks/index.js",
92
129
  "./editor": "./dist/editor/index.js",
93
130
  "./editor/MarkdownEditor.svelte": "./dist/editor/MarkdownEditor.svelte",
94
- "./demos": "./dist/demos/index.js",
95
- "./demos/BspZoneDemo.svelte": "./dist/demos/BspZoneDemo.svelte",
96
- "./demos/NodepadBlocksShowcase.svelte": "./dist/demos/NodepadBlocksShowcase.svelte",
97
- "./demos/BspSizingInfographic.svelte": "./dist/demos/BspSizingInfographic.svelte",
98
- "./demos/ControlRoomDemo.svelte": "./dist/demos/ControlRoomDemo.svelte",
131
+ "./editor/CorrectionTooltip.svelte": "./dist/editor/components/CorrectionTooltip.svelte",
132
+ "./editor/extensions/autocomplete": "./dist/editor/extensions/autocomplete.js",
99
133
  "./fabric": "./dist/fabric/index.js",
100
134
  "./fabric/layout": "./dist/fabric/layout/index.js",
101
135
  "./fabric/layout/GlassBox.svelte": "./dist/fabric/layout/GlassBox.svelte",
@@ -105,8 +139,9 @@
105
139
  "./fabric/navigation": "./dist/fabric/navigation/index.js",
106
140
  "./fabric/navigation/ActivityRail.svelte": "./dist/fabric/navigation/ActivityRail.svelte",
107
141
  "./fabric/data": "./dist/fabric/data/index.js",
142
+ "./fabric/data/FileTree.svelte": "./dist/fabric/data/FileTree.svelte",
108
143
  "./fabric/input": "./dist/fabric/input/index.js",
109
- "./fabric/input/CommandBar.svelte": "./dist/fabric/input/CommandBar.svelte",
144
+ "./fabric/input/AppHeaderBar.svelte": "./dist/fabric/input/AppHeaderBar.svelte",
110
145
  "./fabric/input/KeyboardShortcuts.svelte": "./dist/fabric/input/KeyboardShortcuts.svelte",
111
146
  "./fabric/feedback": "./dist/fabric/feedback/index.js",
112
147
  "./fabric/feedback/ToastContainer.svelte": "./dist/fabric/feedback/ToastContainer.svelte",
@@ -120,15 +155,20 @@
120
155
  ],
121
156
  "peerDependencies": {
122
157
  "@tauri-apps/api": "^2",
158
+ "@tauri-apps/plugin-fs": "^2",
123
159
  "svelte": "^5.0.0"
124
160
  },
125
161
  "peerDependenciesMeta": {
126
162
  "@tauri-apps/api": {
127
163
  "optional": true
164
+ },
165
+ "@tauri-apps/plugin-fs": {
166
+ "optional": true
128
167
  }
129
168
  },
130
169
  "dependencies": {
131
170
  "@chenglou/pretext": "^0.0.5",
171
+ "@lucide/svelte": "^1.17.0",
132
172
  "@codemirror/autocomplete": "^6.18.0",
133
173
  "@codemirror/commands": "^6.10.0",
134
174
  "@codemirror/lang-markdown": "^6.2.0",
@@ -137,7 +177,7 @@
137
177
  "@codemirror/lint": "^6.8.0",
138
178
  "@codemirror/search": "^6.6.0",
139
179
  "@codemirror/state": "6.6.0",
140
- "@codemirror/view": "6.40.0",
180
+ "@codemirror/view": "^6.43.1",
141
181
  "codemirror": "^6.0.1",
142
182
  "d3-force": "^3.0.0",
143
183
  "elkjs": "^0.9.3",
@@ -145,17 +185,20 @@
145
185
  "graphology": "^0.25.4",
146
186
  "graphology-types": "^0.24.7",
147
187
  "leaflet": "^1.9.4",
188
+ "markmap-lib": "^0.18.0",
189
+ "markmap-view": "^0.18.0",
190
+ "mermaid": "^11.0.0",
191
+ "dompurify": "^3.4.9",
148
192
  "perfect-arrows": "^0.3.7",
149
- "svelte-canvas": "^2.1.0",
150
- "tsx": "^4.22.4"
193
+ "svelte-canvas": "^2.1.0"
151
194
  },
152
195
  "devDependencies": {
153
196
  "@changesets/cli": "^2.31.0",
154
- "@lucide/svelte": "^1.17.0",
155
197
  "@playwright/test": "^1.60.0",
156
198
  "@sveltejs/package": "^2.5.7",
157
199
  "@sveltejs/vite-plugin-svelte": "^4.0.4",
158
200
  "@tauri-apps/api": "^2.8.0",
201
+ "@tauri-apps/plugin-fs": "^2.0.0",
159
202
  "@testing-library/dom": "9.3.4",
160
203
  "@testing-library/jest-dom": "^6.9.1",
161
204
  "@testing-library/svelte": "5.3.1",
@@ -165,11 +208,9 @@
165
208
  "@types/d3-force": "^3.0.10",
166
209
  "@types/leaflet": "^1.9.21",
167
210
  "jsdom": "^29.1.1",
168
- "markmap-lib": "^0.18.0",
169
- "markmap-view": "^0.18.0",
170
- "mermaid": "^11.0.0",
171
211
  "svelte": "^5.55.0",
172
212
  "svelte-check": "^4.4.8",
213
+ "tsx": "^4.22.4",
173
214
  "typescript": "^5.9.3",
174
215
  "vite": "5.4.21",
175
216
  "vitest": "^1.6.1"
@@ -187,5 +228,6 @@
187
228
  "dark-theme"
188
229
  ],
189
230
  "author": "Stephen Netu",
190
- "license": "MIT"
231
+ "license": "MIT",
232
+ "packageManager": "pnpm@11.5.2"
191
233
  }
@@ -66,10 +66,10 @@
66
66
 
67
67
  /* ── Kind accents (overridden by consuming apps) ───────────────────────── */
68
68
  --n4-kind-task: var(--color-accent, #b87333);
69
- --n4-kind-agent: var(--color-expert-sovereign, #b87333);
69
+ --n4-kind-agent: var(--expert-sovereign, #b87333);
70
70
  --n4-kind-signal: var(--color-status-info, #2980b9);
71
71
  --n4-kind-capability: var(--color-accent-secondary, #d4a574);
72
- --n4-kind-intent: var(--color-expert-atelier, #b87333);
72
+ --n4-kind-intent: var(--expert-atelier, #b87333);
73
73
  --n4-kind-subtask: color-mix(in srgb, var(--color-accent, #b87333) 60%, transparent);
74
74
  --n4-kind-note: var(--color-text-primary, #e8e0d0);
75
75
  --n4-kind-concept: var(--color-accent-secondary, #d4a574);
@@ -0,0 +1,76 @@
1
+ /* @kos/design-system — Ambient Layer
2
+ Opt-in decorative tokens for marketing/docs/onboarding surfaces —
3
+ NOT auto-imported (see src/index.ts). Import explicitly:
4
+ import '@stephen-netu/design-system/tokens/ambient.css';
5
+
6
+ Everything here derives from the existing single-seed accent engine
7
+ (--accent-primary → color-mix()) already defined in tokens.css. No
8
+ hardcoded hues are introduced — swapping --accent-primary re-themes
9
+ every gradient/glow defined here for free. Do not add hardcoded
10
+ parallel palettes; that reintroduces the "brass leak" anti-pattern
11
+ tokens.css's own comments warn against. */
12
+
13
+ :root {
14
+ /* --- Gradient --- */
15
+ --gradient-accent: linear-gradient(135deg, var(--accent-primary) 0%, var(--color-accent-secondary) 100%);
16
+
17
+ /* --- Ambient glow layers — low-opacity radial fields for hero/empty-state backgrounds --- */
18
+ --glow-ambient-1: color-mix(in srgb, var(--accent-primary) 7%, transparent);
19
+ --glow-ambient-2: color-mix(in srgb, var(--color-accent-secondary) 5%, transparent);
20
+ --glow-ambient-3: color-mix(in srgb, var(--accent-primary) 3%, transparent);
21
+ }
22
+
23
+ /* --- Gradient text --- */
24
+ .text-gradient-accent {
25
+ background: var(--gradient-accent);
26
+ -webkit-background-clip: text;
27
+ background-clip: text;
28
+ color: transparent;
29
+ }
30
+
31
+ /* --- Ambient background glow ---
32
+ Apply to a positioned container; renders a fixed-feel radial glow trio
33
+ behind its content. Marketing/docs surfaces only — do not use on
34
+ console/product chrome. */
35
+ .bg-ambient-glow {
36
+ position: relative;
37
+ }
38
+ .bg-ambient-glow::before {
39
+ content: '';
40
+ position: absolute;
41
+ inset: 0;
42
+ z-index: 0;
43
+ pointer-events: none;
44
+ background:
45
+ radial-gradient(900px 600px at 10% -10%, var(--glow-ambient-1), transparent 65%),
46
+ radial-gradient(700px 500px at 92% 8%, var(--glow-ambient-2), transparent 60%),
47
+ radial-gradient(1000px 800px at 50% 140%, var(--glow-ambient-3), transparent 70%);
48
+ }
49
+ .bg-ambient-glow > * {
50
+ position: relative;
51
+ z-index: 1;
52
+ }
53
+
54
+ /* --- Scroll reveal (see p0-primitives/utils/reveal.ts) ---
55
+ Marketing/docs surfaces only — never wire into console/product chrome. */
56
+ @keyframes ds-reveal-fade-up {
57
+ from { opacity: 0; transform: translateY(20px); }
58
+ to { opacity: 1; transform: translateY(0); }
59
+ }
60
+
61
+ .ds-reveal {
62
+ opacity: 0;
63
+ }
64
+
65
+ .ds-reveal.ds-reveal-in {
66
+ animation: ds-reveal-fade-up 0.7s cubic-bezier(0.16, 0.8, 0.3, 1) both;
67
+ animation-delay: var(--ds-reveal-delay, 0ms);
68
+ }
69
+
70
+ @media (prefers-reduced-motion: reduce) {
71
+ .ds-reveal,
72
+ .ds-reveal.ds-reveal-in {
73
+ opacity: 1;
74
+ animation: none;
75
+ }
76
+ }