@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,117 @@
1
+ import { getMtimeMs, isTauri, readTextFile, writeTextFile } from '../t0-transport/fs';
2
+ export function useFilePersistence(options) {
3
+ const persistenceAvailable = isTauri();
4
+ let interval = null;
5
+ let focusHandler = null;
6
+ async function refreshLastKnownMtime() {
7
+ const filePath = options.getFilePath();
8
+ if (!filePath || !persistenceAvailable)
9
+ return;
10
+ try {
11
+ options.setLastKnownMtimeMs(await getMtimeMs(filePath));
12
+ }
13
+ catch {
14
+ return;
15
+ }
16
+ }
17
+ async function checkExternalChanges() {
18
+ const filePath = options.getFilePath();
19
+ if (!filePath || !persistenceAvailable || options.getIsCheckingExternalChanges() || options.getShowExternalChangeDialog() || !options.getIsDirty()) {
20
+ return;
21
+ }
22
+ options.setIsCheckingExternalChanges(true);
23
+ try {
24
+ const mtime = await getMtimeMs(filePath);
25
+ const lastKnownMtimeMs = options.getLastKnownMtimeMs();
26
+ if (mtime !== null && lastKnownMtimeMs !== null && mtime > lastKnownMtimeMs) {
27
+ options.setShowExternalChangeDialog(true);
28
+ }
29
+ }
30
+ catch (err) {
31
+ console.debug('External change check failed:', err);
32
+ }
33
+ finally {
34
+ options.setIsCheckingExternalChanges(false);
35
+ }
36
+ }
37
+ async function saveContent() {
38
+ const filePath = options.getFilePath();
39
+ if (!options.getIsDirty() || options.getIsSaving() || !filePath || !persistenceAvailable)
40
+ return;
41
+ options.setIsSaving(true);
42
+ options.setSaveError(null);
43
+ try {
44
+ await writeTextFile(filePath, options.getContent());
45
+ options.setIsDirty(false);
46
+ options.onSave?.();
47
+ await refreshLastKnownMtime();
48
+ }
49
+ catch (err) {
50
+ options.setSaveError(err instanceof Error ? err.message : String(err));
51
+ console.error('Failed to save file:', err);
52
+ }
53
+ finally {
54
+ options.setIsSaving(false);
55
+ }
56
+ }
57
+ async function reloadFromDisk() {
58
+ const filePath = options.getFilePath();
59
+ if (!filePath)
60
+ return;
61
+ try {
62
+ const newContent = await readTextFile(filePath);
63
+ const view = options.getEditorView();
64
+ if (view) {
65
+ view.dispatch({ changes: { from: 0, to: view.state.doc.length, insert: newContent } });
66
+ }
67
+ options.setContent(newContent);
68
+ options.setIsDirty(false);
69
+ options.setSaveError(null);
70
+ options.onExternalChange?.(newContent);
71
+ options.onChange?.(newContent);
72
+ await refreshLastKnownMtime();
73
+ }
74
+ catch (err) {
75
+ console.error('Failed to reload file:', err);
76
+ options.setSaveError(err instanceof Error ? err.message : 'Failed to reload file');
77
+ }
78
+ finally {
79
+ options.setShowExternalChangeDialog(false);
80
+ }
81
+ }
82
+ function keepCurrent() {
83
+ options.setShowExternalChangeDialog(false);
84
+ options.setIsDirty(true);
85
+ }
86
+ function startExternalChangeMonitoring() {
87
+ if (!persistenceAvailable)
88
+ return () => { };
89
+ const filePath = options.getFilePath();
90
+ if (filePath) {
91
+ getMtimeMs(filePath).then((m) => options.setLastKnownMtimeMs(m)).catch(() => { });
92
+ }
93
+ interval = setInterval(() => { void checkExternalChanges(); }, 2000);
94
+ focusHandler = () => { void checkExternalChanges(); };
95
+ window.addEventListener('focus', focusHandler);
96
+ return stopExternalChangeMonitoring;
97
+ }
98
+ function stopExternalChangeMonitoring() {
99
+ if (interval) {
100
+ clearInterval(interval);
101
+ interval = null;
102
+ }
103
+ if (focusHandler) {
104
+ window.removeEventListener('focus', focusHandler);
105
+ focusHandler = null;
106
+ }
107
+ }
108
+ return {
109
+ persistenceAvailable,
110
+ startExternalChangeMonitoring,
111
+ stopExternalChangeMonitoring,
112
+ checkExternalChanges,
113
+ saveContent,
114
+ reloadFromDisk,
115
+ keepCurrent
116
+ };
117
+ }
@@ -98,7 +98,7 @@
98
98
  flex-direction: column;
99
99
  height: 100%;
100
100
  min-height: 400px;
101
- background: var(--color-surface, #1a1a1a);
101
+ background: var(--color-bg-panel, #1a1a1a);
102
102
  border-radius: var(--radius-lg, 8px);
103
103
  overflow: hidden;
104
104
  }
@@ -260,13 +260,14 @@
260
260
  </div>
261
261
  </div>
262
262
 
263
- <style>
263
+ <!-- svelte-ignore css_unused_selector -->
264
+ <style>
264
265
  .chat-panel {
265
266
  display: flex;
266
267
  flex-direction: column;
267
268
  height: 100%;
268
- background: var(--bg-panel, #1a1a1a);
269
- color: var(--text-primary, #e0e0e0);
269
+ background: var(--color-bg-panel, #1a1a1a);
270
+ color: var(--color-text-primary, #e0e0e0);
270
271
  }
271
272
 
272
273
  .chat-header {
@@ -275,14 +276,14 @@
275
276
  justify-content: space-between;
276
277
  padding: 12px 16px;
277
278
  border-bottom: 1px solid var(--border-subtle, #2a2a2a);
278
- background: var(--bg-panel, #1a1a1a);
279
+ background: var(--color-bg-panel, #1a1a1a);
279
280
  }
280
281
 
281
282
  .chat-title {
282
283
  font-size: 14px;
283
284
  font-weight: 600;
284
285
  margin: 0;
285
- color: var(--text-primary, #e0e0e0);
286
+ color: var(--color-text-primary, #e0e0e0);
286
287
  }
287
288
 
288
289
  .clear-btn {
@@ -292,15 +293,15 @@
292
293
  padding: 6px;
293
294
  background: transparent;
294
295
  border: none;
295
- border-radius: var(--radius-sm, 4px);
296
- color: var(--text-tertiary, #6b6b6b);
296
+ border-radius: 0;
297
+ color: var(--color-text-tertiary, #6b6b6b);
297
298
  cursor: pointer;
298
- transition: all 0.15s ease;
299
+ transition: color var(--transition-fast, 110ms) linear, background var(--transition-fast, 110ms) linear;
299
300
  }
300
301
 
301
302
  .clear-btn:hover {
302
- background: var(--border-subtle, #2a2a2a);
303
- color: var(--color-error, #ef4444);
303
+ background: var(--border-subtle, #262b30);
304
+ color: var(--color-error, #c14a4a);
304
305
  }
305
306
 
306
307
  .messages-container {
@@ -329,13 +330,13 @@
329
330
 
330
331
  .empty-text {
331
332
  font-size: 14px;
332
- color: var(--text-secondary, #a0a0a0);
333
+ color: var(--color-text-secondary, #a0a0a0);
333
334
  margin: 0 0 4px 0;
334
335
  }
335
336
 
336
337
  .empty-hint {
337
338
  font-size: 12px;
338
- color: var(--text-tertiary, #6b6b6b);
339
+ color: var(--color-text-tertiary, #6b6b6b);
339
340
  margin: 0;
340
341
  }
341
342
 
@@ -353,58 +354,59 @@
353
354
  }
354
355
 
355
356
  .message-bubble {
356
- padding: 10px 14px;
357
- border-radius: var(--radius-xl, 12px);
358
- font-size: 13px;
359
- line-height: 1.5;
357
+ padding: var(--ui-pad-y, 5px) var(--ui-pad-x, 8px);
358
+ font-size: var(--ui-font, 13px);
359
+ line-height: var(--ui-leading, 1.35);
360
360
  }
361
361
 
362
+ /* User bubble: accent-subtle bg + live edge. Accent fill (subtle) justified:
363
+ this is a sender-identity readout, same logic as toggle thumb. */
362
364
  .message.user .message-bubble {
363
- background: var(--accent-primary, var(--color-accent));
364
- color: white;
365
- border-bottom-right-radius: 4px;
365
+ background: var(--color-accent-subtle);
366
+ color: var(--color-text-primary);
367
+ box-shadow: inset -2px 0 0 var(--color-accent);
366
368
  }
367
369
 
368
370
  .message.assistant .message-bubble {
369
- background: var(--bg-panel-elevated, #252525);
370
- color: var(--text-primary, #e0e0e0);
371
- border: 1px solid var(--border-subtle, #2a2a2a);
372
- border-bottom-left-radius: 4px;
371
+ background: var(--color-bg-panel-elevated, #1c2024);
372
+ color: var(--color-text-primary);
373
+ border: 1px solid var(--border-default, #262b30);
374
+ box-shadow: inset 2px 0 0 var(--border-default);
373
375
  }
374
376
 
375
- .message-content :global(h1),
376
- .message-content :global(h2),
377
- .message-content :global(h3) {
377
+ .message-content h1,
378
+ .message-content h2,
379
+ .message-content h3 {
378
380
  font-size: 14px;
379
381
  margin: 8px 0 4px 0;
380
382
  }
381
383
 
382
- .message-content :global(p) {
384
+ .message-content p {
383
385
  margin: 0 0 4px 0;
384
386
  }
385
387
 
386
- .message-content :global(code) {
388
+ .message-content code {
387
389
  background: rgba(0, 0, 0, 0.2);
388
390
  padding: 2px 4px;
389
- border-radius: var(--radius-sm, 3px);
391
+ border-radius: 0;
390
392
  font-family: var(--font-mono, 'JetBrains Mono', monospace);
391
393
  font-size: 0.9em;
392
394
  }
393
395
 
394
- .message-content :global(pre) {
396
+ .message-content pre {
395
397
  background: rgba(0, 0, 0, 0.3);
396
398
  padding: 8px;
397
- border-radius: var(--radius-md, 6px);
399
+ border-radius: 0;
398
400
  overflow-x: auto;
399
401
  margin: 4px 0;
400
402
  }
401
403
 
402
- .message-content :global(pre code) {
404
+ .message-content pre code {
403
405
  background: none;
404
406
  padding: 0;
405
407
  }
406
408
 
407
- .message-content :global(ul) {
409
+ .message-content ul {
408
410
  margin: 4px 0;
409
411
  padding-left: 20px;
410
412
  }
@@ -413,7 +415,7 @@
413
415
  display: inline-block;
414
416
  width: 2px;
415
417
  height: 1em;
416
- background: var(--accent-primary, var(--color-accent));
418
+ background: var(--color-accent);
417
419
  margin-left: 2px;
418
420
  animation: blink 1s infinite;
419
421
  vertical-align: middle;
@@ -437,20 +439,21 @@
437
439
  display: inline-flex;
438
440
  align-items: center;
439
441
  gap: var(--space-1);
440
- padding: 4px 8px;
441
- background: var(--accent-subtle, var(--color-accent-muted));
442
- border: 1px solid var(--accent-primary, var(--color-accent));
443
- border-radius: var(--radius-xl, 12px);
444
- color: var(--accent-primary, var(--color-accent));
445
- font-size: 11px;
442
+ padding: 2px 6px;
443
+ background: var(--color-accent-subtle);
444
+ border: 1px solid var(--color-accent-muted);
445
+ color: var(--color-accent);
446
+ font-family: var(--font-mono);
447
+ font-size: var(--ui-label, 9px);
448
+ letter-spacing: 0.05em;
446
449
  cursor: pointer;
447
- transition: all 0.15s ease;
450
+ transition: background var(--transition-fast, 110ms) linear, box-shadow var(--transition-fast, 110ms) linear;
448
451
  max-width: 150px;
449
452
  }
450
453
 
451
454
  .citation-chip:hover {
452
- background: var(--accent-primary, var(--color-accent));
453
- color: white;
455
+ background: var(--color-accent-muted);
456
+ box-shadow: inset 2px 0 0 var(--color-accent);
454
457
  }
455
458
 
456
459
  .citation-source {
@@ -467,58 +470,55 @@
467
470
  .citation-popover {
468
471
  display: none;
469
472
  position: absolute;
470
- bottom: calc(100% + 8px);
473
+ bottom: calc(100% + 6px);
471
474
  left: 50%;
472
475
  transform: translateX(-50%);
473
476
  width: 220px;
474
- padding: 10px 12px;
475
- background: var(--bg-panel-elevated, #252525);
476
- border: 1px solid var(--border-subtle, #2a2a2a);
477
- border-left: 3px solid var(--accent-primary, var(--color-accent));
478
- border-radius: var(--radius-md, 6px);
479
- box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
477
+ padding: var(--ui-pad-y, 5px) var(--ui-pad-x, 8px);
478
+ background: var(--color-bg-panel-elevated, #1c2024);
479
+ border: 1px solid var(--border-default, #262b30);
480
+ border-left: 2px solid var(--color-accent);
480
481
  z-index: 10;
481
482
  pointer-events: none;
482
483
  }
483
484
 
484
485
  .citation-wrapper:hover .citation-popover {
485
486
  display: block;
486
- animation: popover-fade 0.15s ease-out;
487
+ animation: popover-fade var(--transition-fast, 110ms) linear;
487
488
  }
488
489
 
489
490
  @keyframes popover-fade {
490
- from { opacity: 0; transform: translateX(-50%) translateY(4px); }
491
- to { opacity: 1; transform: translateX(-50%) translateY(0); }
491
+ from { opacity: 0; }
492
+ to { opacity: 1; }
492
493
  }
493
494
 
494
495
  .citation-snippet {
495
496
  margin: 0 0 6px 0;
496
497
  font-size: 11px;
497
498
  line-height: 1.5;
498
- color: var(--text-primary, #e0e0e0);
499
+ color: var(--color-text-primary, #e0e0e0);
499
500
  font-family: var(--font-mono, 'JetBrains Mono', monospace);
500
501
  }
501
502
 
502
503
  .citation-popover-source {
503
504
  font-size: 10px;
504
- color: var(--text-tertiary, #6b6b6b);
505
+ color: var(--color-text-tertiary, #6b6b6b);
505
506
  font-style: italic;
506
507
  }
507
508
 
508
509
  .error-message {
509
- padding: 10px 14px;
510
- background: var(--color-error-bg, rgba(239, 68, 68, 0.1));
511
- border: 1px solid var(--color-error, #ef4444);
512
- border-radius: var(--radius-lg, 8px);
513
- color: var(--color-error, #ef4444);
514
- font-size: 13px;
515
- margin-top: 8px;
510
+ padding: var(--ui-pad-y, 5px) var(--ui-pad-x, 8px);
511
+ background: var(--color-error-bg, rgba(193, 74, 74, 0.1));
512
+ border: 1px solid var(--color-error, #c14a4a);
513
+ color: var(--color-error, #c14a4a);
514
+ font-size: var(--ui-font, 13px);
515
+ margin-top: 6px;
516
516
  }
517
517
 
518
518
  .input-container {
519
519
  padding: 12px 16px;
520
520
  border-top: 1px solid var(--border-subtle, #2a2a2a);
521
- background: var(--bg-panel, #1a1a1a);
521
+ background: var(--color-bg-panel, #1a1a1a);
522
522
  }
523
523
 
524
524
  .input-wrapper {
@@ -530,21 +530,21 @@
530
530
  .chat-input {
531
531
  flex: 1;
532
532
  padding: 10px 14px;
533
- background: var(--bg-panel-elevated, #252525);
533
+ background: var(--color-bg-panel-elevated, #252525);
534
534
  border: 1px solid var(--border-subtle, #2a2a2a);
535
- border-radius: var(--radius-xl, 20px);
536
- color: var(--text-primary, #e0e0e0);
535
+ border-radius: 0;
536
+ color: var(--color-text-primary, #e0e0e0);
537
537
  font-size: 13px;
538
538
  outline: none;
539
539
  transition: border-color 0.15s ease;
540
540
  }
541
541
 
542
542
  .chat-input:focus {
543
- border-color: var(--accent-primary, var(--color-accent));
543
+ border-color: var(--color-accent);
544
544
  }
545
545
 
546
546
  .chat-input::placeholder {
547
- color: var(--text-tertiary, #6b6b6b);
547
+ color: var(--color-text-tertiary, #6b6b6b);
548
548
  }
549
549
 
550
550
  .chat-input:disabled {
@@ -552,25 +552,24 @@
552
552
  cursor: not-allowed;
553
553
  }
554
554
 
555
+ /* Send button: accent fill justified — submit = functional state (action, not decoration) */
555
556
  .send-btn {
556
557
  display: flex;
557
558
  align-items: center;
558
559
  justify-content: center;
559
- width: 36px;
560
- height: 36px;
560
+ width: var(--ui-control-h, 24px);
561
+ height: var(--ui-control-h, 24px);
561
562
  padding: 0;
562
- background: var(--accent-primary, var(--color-accent));
563
+ background: var(--color-accent);
563
564
  border: none;
564
- border-radius: 50%;
565
- color: white;
565
+ color: var(--color-bg-app, #0a0b0c);
566
566
  cursor: pointer;
567
- transition: all 0.15s ease;
567
+ transition: background var(--transition-fast, 110ms) linear;
568
568
  flex-shrink: 0;
569
569
  }
570
570
 
571
571
  .send-btn:hover:not(:disabled) {
572
- background: var(--accent-hover, #c9894f);
573
- transform: scale(1.05);
572
+ background: var(--color-accent-hover);
574
573
  }
575
574
 
576
575
  .send-btn:disabled {
@@ -584,7 +583,7 @@
584
583
  align-items: center;
585
584
  justify-content: space-between;
586
585
  padding: 8px 12px;
587
- background: var(--accent-subtle, var(--color-accent-subtle));
586
+ background: var(--color-accent-subtle, var(--color-accent-subtle));
588
587
  border-bottom: 1px solid var(--border-focus, var(--color-accent-muted));
589
588
  gap: var(--space-2);
590
589
  }
@@ -593,7 +592,7 @@
593
592
  display: flex;
594
593
  align-items: center;
595
594
  gap: var(--space-15);
596
- color: var(--accent-primary, var(--color-accent));
595
+ color: var(--color-accent);
597
596
  font-size: 12px;
598
597
  font-weight: 500;
599
598
  white-space: nowrap;
@@ -617,10 +616,10 @@
617
616
  .context-chip {
618
617
  font-size: 11px;
619
618
  padding: 2px 8px;
620
- background: var(--bg-panel-elevated, #252525);
619
+ background: var(--color-bg-panel-elevated, #252525);
621
620
  border: 1px solid var(--border-subtle, #2a2a2a);
622
621
  border-radius: var(--radius-lg, 10px);
623
- color: var(--text-secondary, #a0a0a0);
622
+ color: var(--color-text-secondary, #a0a0a0);
624
623
  white-space: nowrap;
625
624
  overflow: hidden;
626
625
  text-overflow: ellipsis;
@@ -634,15 +633,15 @@
634
633
  padding: 4px;
635
634
  background: transparent;
636
635
  border: none;
637
- border-radius: var(--radius-sm, 4px);
638
- color: var(--text-tertiary, #6b6b6b);
636
+ border-radius: 0;
637
+ color: var(--color-text-tertiary, #6b6b6b);
639
638
  cursor: pointer;
640
- transition: all 0.15s ease;
639
+ transition: color var(--transition-fast, 110ms) linear, background var(--transition-fast, 110ms) linear;
641
640
  flex-shrink: 0;
642
641
  }
643
642
 
644
643
  .clear-context-btn:hover {
645
- background: var(--border-subtle, #2a2a2a);
646
- color: var(--color-error, #ef4444);
644
+ background: var(--border-subtle, #262b30);
645
+ color: var(--color-error, #c14a4a);
647
646
  }
648
647
  </style>
@@ -1 +1 @@
1
- {"version":3,"file":"ChatPanel.svelte.d.ts","sourceRoot":"","sources":["../../../src/fabric/ai/ChatPanel.svelte.ts"],"names":[],"mappings":"AAgBE,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IACvB,SAAS,CAAC,EAAE,IAAI,CAAC;CAClB;AAED,UAAU,KAAK;IAEb,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;IACrB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAGrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAG3C,WAAW,CAAC,EAAE,OAAO,QAAQ,EAAE,OAAO,CAAC;IAGvC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AA0LH,QAAA,MAAM,SAAS,2CAAwC,CAAC;AACxD,KAAK,SAAS,GAAG,UAAU,CAAC,OAAO,SAAS,CAAC,CAAC;AAC9C,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"ChatPanel.svelte.d.ts","sourceRoot":"","sources":["../../../src/fabric/ai/ChatPanel.svelte.ts"],"names":[],"mappings":"AAgBE,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IACvB,SAAS,CAAC,EAAE,IAAI,CAAC;CAClB;AAED,UAAU,KAAK;IAEb,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;IACrB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAGrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAG3C,WAAW,CAAC,EAAE,OAAO,QAAQ,EAAE,OAAO,CAAC;IAGvC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AA2LH,QAAA,MAAM,SAAS,2CAAwC,CAAC;AACxD,KAAK,SAAS,GAAG,UAAU,CAAC,OAAO,SAAS,CAAC,CAAC;AAC9C,eAAe,SAAS,CAAC"}
@@ -261,7 +261,9 @@
261
261
  >
262
262
  {entry.title}
263
263
  </a>
264
- <ExternalLink class="external-icon" size={12} />
264
+ <span class="external-icon">
265
+ <ExternalLink size={12} />
266
+ </span>
265
267
  </div>
266
268
  <p class="result-snippet">{entry.snippet}</p>
267
269
  <div class="result-footer">
@@ -296,9 +298,8 @@
296
298
  display: flex;
297
299
  flex-direction: column;
298
300
  height: 100%;
299
- background: var(--color-bg-panel, #222222);
300
- border: 1px solid var(--border-subtle, rgba(255,255,255,0.06));
301
- border-radius: var(--radius-md, 0.5rem);
301
+ background: var(--color-bg-panel, #181c20);
302
+ border: 1px solid var(--border-default, #262b30);
302
303
  overflow: hidden;
303
304
  }
304
305
 
@@ -322,7 +323,7 @@
322
323
  gap: var(--space-1);
323
324
  background: var(--color-bg-canvas, #1a1a1a);
324
325
  padding: 2px;
325
- border-radius: var(--radius-sm, 0.25rem);
326
+ border-radius: 0;
326
327
  }
327
328
 
328
329
  .mode-btn {
@@ -332,13 +333,15 @@
332
333
  border: none;
333
334
  color: var(--color-text-secondary, #a09880);
334
335
  cursor: pointer;
335
- border-radius: var(--radius-sm, 0.25rem);
336
- transition: all 0.15s;
336
+ border-radius: 0;
337
+ transition: background var(--transition-fast, 110ms) linear, color var(--transition-fast, 110ms) linear;
337
338
  }
338
339
 
340
+ /* Active mode fill justified — mode selection is a functional state readout */
339
341
  .mode-btn.active {
340
- background: var(--color-accent, var(--color-accent));
341
- color: var(--color-text-primary, #f2efe9);
342
+ background: var(--color-accent-subtle);
343
+ color: var(--color-text-primary);
344
+ box-shadow: inset 0 -2px 0 var(--color-accent);
342
345
  }
343
346
 
344
347
  .query-form {
@@ -354,7 +357,7 @@
354
357
  padding: 8px 12px;
355
358
  background: var(--color-bg-canvas, #1a1a1a);
356
359
  border: 1px solid var(--border-subtle, rgba(255,255,255,0.06));
357
- border-radius: var(--radius-sm, 0.25rem);
360
+ border-radius: 0;
358
361
  color: var(--color-text-primary, #f2efe9);
359
362
  font-size: 14px;
360
363
  outline: none;
@@ -385,7 +388,7 @@
385
388
  border: none;
386
389
  color: var(--color-text-secondary, #a09880);
387
390
  cursor: pointer;
388
- border-radius: var(--radius-sm, 0.25rem);
391
+ border-radius: 0;
389
392
  }
390
393
 
391
394
  .clear-btn:hover {
@@ -402,7 +405,7 @@
402
405
  .result-card {
403
406
  padding: 12px;
404
407
  background: var(--color-bg-canvas, #1a1a1a);
405
- border-radius: var(--radius-sm, 0.25rem);
408
+ border-radius: 0;
406
409
  }
407
410
 
408
411
  .result-header {
@@ -437,6 +440,7 @@
437
440
  margin: 0 0 8px;
438
441
  display: -webkit-box;
439
442
  -webkit-line-clamp: 2;
443
+ line-clamp: 2;
440
444
  -webkit-box-orient: vertical;
441
445
  overflow: hidden;
442
446
  }
@@ -453,19 +457,22 @@
453
457
 
454
458
  .credibility {
455
459
  padding: 1px 6px;
456
- border-radius: var(--radius-sm, 0.25rem);
457
- background: rgba(229, 57, 53, 0.2);
458
- color: #e53935;
460
+ font-family: var(--font-mono);
461
+ font-size: var(--ui-label, 9px);
462
+ letter-spacing: 0.06em;
463
+ text-transform: uppercase;
464
+ background: color-mix(in srgb, var(--color-error) 12%, transparent);
465
+ color: var(--color-error);
459
466
  }
460
467
 
461
468
  .credibility.medium {
462
- background: rgba(255, 152, 0, 0.2);
463
- color: #ff9800;
469
+ background: color-mix(in srgb, var(--color-warning) 12%, transparent);
470
+ color: var(--color-warning);
464
471
  }
465
472
 
466
473
  .credibility.high {
467
- background: rgba(76, 175, 80, 0.2);
468
- color: #4caf50;
474
+ background: color-mix(in srgb, var(--color-success) 12%, transparent);
475
+ color: var(--color-success);
469
476
  }
470
477
 
471
478
  .empty-state {
@@ -488,16 +495,19 @@
488
495
  display: flex;
489
496
  align-items: center;
490
497
  gap: var(--space-15);
491
- padding: 6px 16px;
498
+ padding: 4px 12px;
492
499
  background: none;
493
- border: 1px solid var(--color-danger, #e53935);
494
- border-radius: var(--radius-sm, 0.25rem);
495
- color: var(--color-danger, #e53935);
496
- font-size: 12px;
500
+ border: 1px solid color-mix(in srgb, var(--color-error) 55%, transparent);
501
+ color: var(--color-error);
502
+ font-family: var(--font-mono);
503
+ font-size: var(--ui-label, 10px);
504
+ letter-spacing: 0.06em;
505
+ text-transform: uppercase;
497
506
  cursor: pointer;
507
+ transition: background var(--transition-fast, 110ms) linear;
498
508
  }
499
509
 
500
510
  .cancel-btn:hover {
501
- background: rgba(229, 57, 53, 0.1);
511
+ background: color-mix(in srgb, var(--color-error) 12%, transparent);
502
512
  }
503
513
  </style>
@@ -1 +1 @@
1
- {"version":3,"file":"ResearchPanel.svelte.d.ts","sourceRoot":"","sources":["../../../src/fabric/ai/ResearchPanel.svelte.ts"],"names":[],"mappings":"AAeE,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAKD,UAAU,KAAK;IAEb,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACpC,QAAQ,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACtC,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAGvB,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACzE,gBAAgB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAChG,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,OAAO,EAAE,MAAM,IAAI,CAAC;IAGpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAuNH,QAAA,MAAM,aAAa,2CAAwC,CAAC;AAC5D,KAAK,aAAa,GAAG,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC;AACtD,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"ResearchPanel.svelte.d.ts","sourceRoot":"","sources":["../../../src/fabric/ai/ResearchPanel.svelte.ts"],"names":[],"mappings":"AAeE,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAKD,UAAU,KAAK;IAEb,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACpC,QAAQ,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACtC,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAGvB,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACzE,gBAAgB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAChG,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,OAAO,EAAE,MAAM,IAAI,CAAC;IAGpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAyNH,QAAA,MAAM,aAAa,2CAAwC,CAAC;AAC5D,KAAK,aAAa,GAAG,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC;AACtD,eAAe,aAAa,CAAC"}