@stephen-netu/design-system 0.2.1 → 0.2.2

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 (187) 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/CheckpointPill.svelte +7 -2
  10. package/dist/d0-data-viz/CheckpointPill.svelte.d.ts.map +1 -1
  11. package/dist/d0-data-viz/theme-integration.d.ts +3 -3
  12. package/dist/d0-data-viz/theme-integration.js +3 -3
  13. package/dist/d0-data-viz/theme-integration.test.js +41 -0
  14. package/dist/demos/BspSizingInfographic.svelte +3 -32
  15. package/dist/editor/CodeEditor.test.js +38 -0
  16. package/dist/editor/FindReplaceDialog.svelte +32 -32
  17. package/dist/editor/MarkdownEditor.svelte +71 -58
  18. package/dist/editor/MarkdownEditor.svelte.d.ts.map +1 -1
  19. package/dist/editor/MarkdownEditor.test.js +38 -0
  20. package/dist/editor/components/CorrectionTooltip.svelte +0 -1
  21. package/dist/entity-graph-view/WorldView.svelte +1 -1
  22. package/dist/fabric/ai/ChatPanel.svelte +31 -31
  23. package/dist/fabric/ai/ResearchPanel.svelte +6 -3
  24. package/dist/fabric/ai/ResearchPanel.svelte.d.ts.map +1 -1
  25. package/dist/fabric/index.d.ts +4 -5
  26. package/dist/fabric/index.d.ts.map +1 -1
  27. package/dist/fabric/index.js +3 -3
  28. package/dist/fabric/input/{CommandBar.svelte → AppHeaderBar.svelte} +13 -13
  29. package/dist/fabric/input/{CommandBar.svelte.d.ts → AppHeaderBar.svelte.d.ts} +5 -5
  30. package/dist/fabric/input/AppHeaderBar.svelte.d.ts.map +1 -0
  31. package/dist/fabric/input/{CommandBar.test.js → AppHeaderBar.test.js} +9 -9
  32. package/dist/fabric/input/index.d.ts +2 -2
  33. package/dist/fabric/input/index.d.ts.map +1 -1
  34. package/dist/fabric/input/index.js +1 -1
  35. package/dist/fabric/layout/KanbanBoard.svelte +25 -155
  36. package/dist/fabric/layout/KanbanBoard.svelte.d.ts +2 -26
  37. package/dist/fabric/layout/KanbanBoard.svelte.d.ts.map +1 -1
  38. package/dist/fabric/layout/KanbanBoard.test.js +125 -10
  39. package/dist/fabric/layout/KanbanCard.svelte +27 -223
  40. package/dist/fabric/layout/KanbanCard.svelte.d.ts +2 -19
  41. package/dist/fabric/layout/KanbanCard.svelte.d.ts.map +1 -1
  42. package/dist/fabric/layout/KanbanColumn.svelte +41 -275
  43. package/dist/fabric/layout/KanbanColumn.svelte.d.ts +2 -22
  44. package/dist/fabric/layout/KanbanColumn.svelte.d.ts.map +1 -1
  45. package/dist/fabric/layout/index.d.ts +2 -5
  46. package/dist/fabric/layout/index.d.ts.map +1 -1
  47. package/dist/fabric/layout/index.js +1 -1
  48. package/dist/index.d.ts.map +1 -1
  49. package/dist/index.js +4 -2
  50. package/dist/l0-layout/SectionSplitter.svelte +5 -5
  51. package/dist/l0-layout/block-writer/BlockItem.svelte +6 -4
  52. package/dist/l0-layout/card/CompactCard.svelte +4 -3
  53. package/dist/l0-layout/grant/GrantCard.svelte +15 -5
  54. package/dist/l0-layout/grant/GrantCard.svelte.d.ts.map +1 -1
  55. package/dist/l0-layout/index.d.ts +2 -0
  56. package/dist/l0-layout/index.d.ts.map +1 -1
  57. package/dist/l0-layout/index.js +1 -0
  58. package/dist/l0-layout/kanban/KanbanBoard.svelte +246 -29
  59. package/dist/l0-layout/kanban/KanbanBoard.svelte.d.ts +28 -2
  60. package/dist/l0-layout/kanban/KanbanBoard.svelte.d.ts.map +1 -1
  61. package/dist/l0-layout/kanban/KanbanCard.svelte +175 -150
  62. package/dist/l0-layout/kanban/KanbanCard.svelte.d.ts +16 -18
  63. package/dist/l0-layout/kanban/KanbanCard.svelte.d.ts.map +1 -1
  64. package/dist/l0-layout/kanban/KanbanColumn.svelte +152 -78
  65. package/dist/l0-layout/kanban/KanbanColumn.svelte.d.ts +28 -7
  66. package/dist/l0-layout/kanban/KanbanColumn.svelte.d.ts.map +1 -1
  67. package/dist/l0-layout/kanban/index.d.ts +6 -0
  68. package/dist/l0-layout/kanban/index.d.ts.map +1 -0
  69. package/dist/l0-layout/kanban/index.js +3 -0
  70. package/dist/n0-node-graph/Node.svelte +2 -2
  71. package/dist/n0-node-graph/NodePalette.svelte +2 -2
  72. package/dist/n1-flow-canvas/graph-state.test.js +69 -0
  73. package/dist/n1-flow-canvas/utils.test.js +116 -0
  74. package/dist/n3-force-graph/GraphTooltip.svelte +2 -2
  75. package/dist/n4-adaptive-manifold/AdaptiveManifold.svelte +12 -11
  76. package/dist/n4-adaptive-manifold/AdaptiveManifold.svelte.d.ts.map +1 -1
  77. package/dist/n4-adaptive-manifold/classifier.test.js +104 -0
  78. package/dist/n4-adaptive-manifold/n4-tokens.css +2 -2
  79. package/dist/p0-primitives/ThemeProvider.svelte +10 -11
  80. package/dist/p0-primitives/ThemeProvider.svelte.d.ts +1 -1
  81. package/dist/p0-primitives/ThemeProvider.svelte.d.ts.map +1 -1
  82. package/dist/p0-primitives/canvas-theme.d.ts +12 -0
  83. package/dist/p0-primitives/canvas-theme.d.ts.map +1 -1
  84. package/dist/p0-primitives/canvas-theme.js +10 -0
  85. package/dist/p0-primitives/index.d.ts +2 -1
  86. package/dist/p0-primitives/index.d.ts.map +1 -1
  87. package/dist/p0-primitives/index.js +1 -0
  88. package/dist/p0-primitives/theme-context.d.ts +9 -0
  89. package/dist/p0-primitives/theme-context.d.ts.map +1 -0
  90. package/dist/p0-primitives/theme-context.js +8 -0
  91. package/dist/p0-primitives/tokens/tokens.css +22 -11
  92. package/dist/p0-primitives/utils/index.d.ts +2 -2
  93. package/dist/p0-primitives/utils/index.d.ts.map +1 -1
  94. package/dist/s0-state/SyncStatus.svelte +1 -1
  95. package/dist/s0-state/ThemeStore.svelte.d.ts +3 -2
  96. package/dist/s0-state/ThemeStore.svelte.d.ts.map +1 -1
  97. package/dist/s0-state/ThemeStore.svelte.js +20 -1
  98. package/dist/s0-state/index.d.ts +0 -1
  99. package/dist/s0-state/index.d.ts.map +1 -1
  100. package/dist/s0-state/index.js +1 -0
  101. package/dist/s0-state/modal-stack-store.svelte.d.ts +25 -0
  102. package/dist/s0-state/modal-stack-store.svelte.d.ts.map +1 -1
  103. package/dist/s0-state/modal-stack-store.svelte.js +19 -0
  104. package/dist/showcase/Showcase.svelte +43 -34
  105. package/dist/showcase/Showcase.svelte.d.ts.map +1 -1
  106. package/dist/spatial/BspTilingCanvas.svelte +5 -5
  107. package/dist/spatial/BspTilingSimulation.test.js +88 -0
  108. package/dist/spatial/CameraController.test.js +120 -0
  109. package/dist/spatial/ForceCanvas.svelte +18 -13
  110. package/dist/spatial/ForceCanvas.svelte.d.ts.map +1 -1
  111. package/dist/spatial/ForceSimulation.svelte.d.ts.map +1 -1
  112. package/dist/spatial/ForceSimulation.svelte.js +32 -21
  113. package/dist/spatial/LodRenderer.svelte +14 -1
  114. package/dist/spatial/LodRenderer.svelte.d.ts.map +1 -1
  115. package/dist/spatial/SnapZoomCamera.svelte +23 -13
  116. package/dist/spatial/SnapZoomCamera.svelte.d.ts.map +1 -1
  117. package/dist/spatial/ZoneTiler.svelte +3 -2
  118. package/dist/spatial/d3-types.d.ts +31 -0
  119. package/dist/spatial/d3-types.d.ts.map +1 -0
  120. package/dist/spatial/d3-types.js +19 -0
  121. package/dist/ssr-import-clean.test.js +37 -0
  122. package/dist/t0-transport/fs.d.ts +12 -0
  123. package/dist/t0-transport/fs.d.ts.map +1 -0
  124. package/dist/t0-transport/fs.js +55 -0
  125. package/dist/t0-transport/index.d.ts +1 -0
  126. package/dist/t0-transport/index.d.ts.map +1 -1
  127. package/dist/t0-transport/index.js +1 -0
  128. package/dist/t0-transport/invoke.d.ts.map +1 -1
  129. package/dist/t0-transport/invoke.js +5 -2
  130. package/dist/t0-transport/quality.d.ts +12 -3
  131. package/dist/t0-transport/quality.d.ts.map +1 -1
  132. package/dist/t0-transport/quality.js +17 -4
  133. package/dist/t0-transport/substrate.svelte.d.ts +27 -0
  134. package/dist/t0-transport/substrate.svelte.d.ts.map +1 -0
  135. package/dist/t0-transport/substrate.svelte.js +49 -0
  136. package/dist/u0-primitives/LockIndicator.svelte +1 -1
  137. package/dist/u0-primitives/VerticalToolbar.svelte +1 -1
  138. package/dist/u0-primitives/accordion/Accordion.svelte +10 -9
  139. package/dist/u0-primitives/accordion/Accordion.svelte.d.ts +0 -7
  140. package/dist/u0-primitives/accordion/Accordion.svelte.d.ts.map +1 -1
  141. package/dist/u0-primitives/accordion/Accordion.test.js +5 -5
  142. package/dist/u0-primitives/badge/Badge.test.js +10 -10
  143. package/dist/u0-primitives/badge/ValidityBadge.test.js +9 -9
  144. package/dist/u0-primitives/button/Button.svelte +3 -1
  145. package/dist/u0-primitives/button/Button.svelte.d.ts +1 -0
  146. package/dist/u0-primitives/button/Button.svelte.d.ts.map +1 -1
  147. package/dist/u0-primitives/button/Button.test.js +11 -11
  148. package/dist/u0-primitives/card/Card.svelte +26 -20
  149. package/dist/u0-primitives/card/Card.svelte.d.ts.map +1 -1
  150. package/dist/u0-primitives/command-palette/CommandPalette.svelte +27 -0
  151. package/dist/u0-primitives/command-palette/CommandPalette.svelte.d.ts.map +1 -1
  152. package/dist/u0-primitives/command-palette/commandStore.svelte.d.ts.map +1 -1
  153. package/dist/u0-primitives/command-palette/commandStore.svelte.js +2 -1
  154. package/dist/u0-primitives/dropdown/Dropdown.test.js +1 -1
  155. package/dist/u0-primitives/index.d.ts +2 -0
  156. package/dist/u0-primitives/index.d.ts.map +1 -1
  157. package/dist/u0-primitives/index.js +1 -0
  158. package/dist/u0-primitives/input/Input.svelte +9 -0
  159. package/dist/u0-primitives/input/Input.svelte.d.ts.map +1 -1
  160. package/dist/u0-primitives/input/Input.test.js +1 -1
  161. package/dist/u0-primitives/modal/Modal.svelte +46 -23
  162. package/dist/u0-primitives/modal/Modal.svelte.d.ts.map +1 -1
  163. package/dist/u0-primitives/modal/Modal.test.js +63 -15
  164. package/dist/u0-primitives/rsvp/RsvpReader.svelte +8 -8
  165. package/dist/u0-primitives/rsvp/RsvpReader.svelte.d.ts.map +1 -1
  166. package/dist/u0-primitives/steps/Steps.svelte +2 -2
  167. package/dist/u0-primitives/surface-state/SurfaceState.svelte +190 -0
  168. package/dist/u0-primitives/surface-state/SurfaceState.svelte.d.ts +15 -0
  169. package/dist/u0-primitives/surface-state/SurfaceState.svelte.d.ts.map +1 -0
  170. package/dist/u0-primitives/toggle/Toggle.svelte +12 -2
  171. package/dist/u0-primitives/tooltip/Tooltip.test.js +12 -12
  172. package/dist/v0-diagrams/MarkmapDiagram.test.js +49 -0
  173. package/dist/v0-diagrams/MermaidDiagram.svelte +21 -9
  174. package/dist/v0-diagrams/MermaidDiagram.svelte.d.ts.map +1 -1
  175. package/dist/v0-diagrams/MermaidDiagram.test.js +40 -0
  176. package/package.json +50 -24
  177. package/src/n4-adaptive-manifold/n4-tokens.css +2 -2
  178. package/src/p0-primitives/tokens/tokens.css +22 -11
  179. package/src/p0-primitives/tokens/tokens.json +13 -2
  180. package/dist/b0-app-shell/command-bar/CommandBar.svelte.d.ts.map +0 -1
  181. package/dist/fabric/input/CommandBar.svelte.d.ts.map +0 -1
  182. package/dist/stores/vaultStore.svelte +0 -14
  183. package/dist/stores/vaultStore.svelte.d.ts +0 -24
  184. package/dist/stores/vaultStore.svelte.d.ts.map +0 -1
  185. package/dist/tauri/index.d.ts +0 -3
  186. package/dist/tauri/index.d.ts.map +0 -1
  187. package/dist/tauri/index.js +0 -11
@@ -6,21 +6,21 @@ describe('Tooltip', () => {
6
6
  afterEach(() => cleanup());
7
7
  it('renders the trigger wrapper', async () => {
8
8
  const { container } = render(Tooltip, {
9
- props: { content: 'tip', trigger: () => 'hover me' },
9
+ props: { content: 'tip', trigger: (() => '') },
10
10
  });
11
11
  const wrapper = container.querySelector('.ds-tooltip-wrapper');
12
12
  expect(wrapper).not.toBeNull();
13
13
  });
14
14
  it('does not show tooltip content initially', () => {
15
15
  const { container } = render(Tooltip, {
16
- props: { content: 'secret tip', trigger: () => 'hover me' },
16
+ props: { content: 'secret tip', trigger: (() => '') },
17
17
  });
18
18
  expect(container.querySelector('.ds-tooltip-content')).toBeNull();
19
19
  });
20
20
  it('shows tooltip on mouse enter', async () => {
21
21
  vi.useFakeTimers();
22
22
  const { container } = render(Tooltip, {
23
- props: { content: 'hovered!', trigger: () => 'target', delayMs: 0 },
23
+ props: { content: 'hovered!', trigger: (() => ''), delayMs: 0 },
24
24
  });
25
25
  const wrapper = container.querySelector('.ds-tooltip-wrapper');
26
26
  await fireEvent.mouseEnter(wrapper);
@@ -33,7 +33,7 @@ describe('Tooltip', () => {
33
33
  it('hides tooltip on mouse leave', async () => {
34
34
  vi.useFakeTimers();
35
35
  const { container } = render(Tooltip, {
36
- props: { content: 'hovered!', trigger: () => 'target', delayMs: 0 },
36
+ props: { content: 'hovered!', trigger: (() => ''), delayMs: 0 },
37
37
  });
38
38
  const wrapper = container.querySelector('.ds-tooltip-wrapper');
39
39
  await fireEvent.mouseEnter(wrapper);
@@ -49,7 +49,7 @@ describe('Tooltip', () => {
49
49
  it('applies position class for top (default)', async () => {
50
50
  vi.useFakeTimers();
51
51
  const { container } = render(Tooltip, {
52
- props: { content: 'top tip', trigger: () => 'target', delayMs: 0 },
52
+ props: { content: 'top tip', trigger: (() => ''), delayMs: 0 },
53
53
  });
54
54
  const wrapper = container.querySelector('.ds-tooltip-wrapper');
55
55
  await fireEvent.mouseEnter(wrapper);
@@ -62,7 +62,7 @@ describe('Tooltip', () => {
62
62
  it('applies position class for bottom', async () => {
63
63
  vi.useFakeTimers();
64
64
  const { container } = render(Tooltip, {
65
- props: { content: 'bottom tip', position: 'bottom', trigger: () => 'target', delayMs: 0 },
65
+ props: { content: 'bottom tip', position: 'bottom', trigger: (() => ''), delayMs: 0 },
66
66
  });
67
67
  const wrapper = container.querySelector('.ds-tooltip-wrapper');
68
68
  await fireEvent.mouseEnter(wrapper);
@@ -75,7 +75,7 @@ describe('Tooltip', () => {
75
75
  it('applies position class for left', async () => {
76
76
  vi.useFakeTimers();
77
77
  const { container } = render(Tooltip, {
78
- props: { content: 'left tip', position: 'left', trigger: () => 'target', delayMs: 0 },
78
+ props: { content: 'left tip', position: 'left', trigger: (() => ''), delayMs: 0 },
79
79
  });
80
80
  const wrapper = container.querySelector('.ds-tooltip-wrapper');
81
81
  await fireEvent.mouseEnter(wrapper);
@@ -88,7 +88,7 @@ describe('Tooltip', () => {
88
88
  it('applies position class for right', async () => {
89
89
  vi.useFakeTimers();
90
90
  const { container } = render(Tooltip, {
91
- props: { content: 'right tip', position: 'right', trigger: () => 'target', delayMs: 0 },
91
+ props: { content: 'right tip', position: 'right', trigger: (() => ''), delayMs: 0 },
92
92
  });
93
93
  const wrapper = container.querySelector('.ds-tooltip-wrapper');
94
94
  await fireEvent.mouseEnter(wrapper);
@@ -101,7 +101,7 @@ describe('Tooltip', () => {
101
101
  it('renders string content inside tooltip inner', async () => {
102
102
  vi.useFakeTimers();
103
103
  const { container } = render(Tooltip, {
104
- props: { content: 'hello world', trigger: () => 'target', delayMs: 0 },
104
+ props: { content: 'hello world', trigger: (() => ''), delayMs: 0 },
105
105
  });
106
106
  const wrapper = container.querySelector('.ds-tooltip-wrapper');
107
107
  await fireEvent.mouseEnter(wrapper);
@@ -115,7 +115,7 @@ describe('Tooltip', () => {
115
115
  it('respects delayMs before showing', async () => {
116
116
  vi.useFakeTimers();
117
117
  const { container } = render(Tooltip, {
118
- props: { content: 'delayed', trigger: () => 'target', delayMs: 500 },
118
+ props: { content: 'delayed', trigger: (() => ''), delayMs: 500 },
119
119
  });
120
120
  const wrapper = container.querySelector('.ds-tooltip-wrapper');
121
121
  await fireEvent.mouseEnter(wrapper);
@@ -131,7 +131,7 @@ describe('Tooltip', () => {
131
131
  it('shows tooltip on focus', async () => {
132
132
  vi.useFakeTimers();
133
133
  const { container } = render(Tooltip, {
134
- props: { content: 'focused!', trigger: () => 'target', delayMs: 0 },
134
+ props: { content: 'focused!', trigger: (() => ''), delayMs: 0 },
135
135
  });
136
136
  const wrapper = container.querySelector('.ds-tooltip-wrapper');
137
137
  await fireEvent.focusIn(wrapper);
@@ -143,7 +143,7 @@ describe('Tooltip', () => {
143
143
  });
144
144
  it('applies custom class to wrapper', () => {
145
145
  const { container } = render(Tooltip, {
146
- props: { content: 'tip', trigger: () => 'target', class: 'my-tooltip' },
146
+ props: { content: 'tip', trigger: (() => ''), class: 'my-tooltip' },
147
147
  });
148
148
  expect(container.querySelector('.my-tooltip')).not.toBeNull();
149
149
  });
@@ -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
+ });
package/package.json CHANGED
@@ -1,25 +1,12 @@
1
1
  {
2
2
  "name": "@stephen-netu/design-system",
3
- "version": "0.2.1",
3
+ "version": "0.2.2",
4
4
  "description": "KOS LEAP Design System — Neo-brutalist industrial UI with brass accent",
5
5
  "type": "module",
6
6
  "publishConfig": {
7
7
  "access": "public",
8
8
  "registry": "https://registry.npmjs.org/"
9
9
  },
10
- "scripts": {
11
- "tokens:generate": "tsx scripts/generate-tokens-json.ts",
12
- "prebuild": "pnpm tokens:generate",
13
- "build": "svelte-package -i src -o dist",
14
- "postbuild": "pnpm tokens:generate",
15
- "changeset": "changeset",
16
- "version": "changeset version",
17
- "release": "pnpm build && changeset publish",
18
- "docs:dev": "vitepress dev docs",
19
- "docs:build": "vitepress build docs",
20
- "docs:preview": "vitepress preview docs",
21
- "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
- },
23
10
  "files": [
24
11
  "dist/**/*.svelte",
25
12
  "dist/**/*.svelte.js",
@@ -50,9 +37,14 @@
50
37
  "svelte": "./dist/u0-primitives/index.js",
51
38
  "default": "./dist/u0-primitives/index.js"
52
39
  },
40
+ "./u0-primitives/surface-state/SurfaceState.svelte": "./dist/u0-primitives/surface-state/SurfaceState.svelte",
53
41
  "./u0-primitives/badge/ValidityBadge.svelte": "./dist/u0-primitives/badge/ValidityBadge.svelte",
54
42
  "./u0-primitives/badge/validity-utils": "./dist/u0-primitives/badge/validity-utils.js",
55
43
  "./l0-layout": "./dist/l0-layout/index.js",
44
+ "./l0-layout/kanban": "./dist/l0-layout/kanban/index.js",
45
+ "./l0-layout/kanban/KanbanBoard.svelte": "./dist/l0-layout/kanban/KanbanBoard.svelte",
46
+ "./l0-layout/kanban/KanbanColumn.svelte": "./dist/l0-layout/kanban/KanbanColumn.svelte",
47
+ "./l0-layout/kanban/KanbanCard.svelte": "./dist/l0-layout/kanban/KanbanCard.svelte",
56
48
  "./l0-layout/block-writer": "./dist/l0-layout/block-writer/index.js",
57
49
  "./l0-layout/grove": "./dist/l0-layout/grove/index.js",
58
50
  "./l0-layout/grant": "./dist/l0-layout/grant/index.js",
@@ -69,14 +61,23 @@
69
61
  "./s0-lifecycle": "./dist/s0-lifecycle/index.js",
70
62
  "./s0-state": "./dist/s0-state/index.js",
71
63
  "./t0-transport": "./dist/t0-transport/index.js",
64
+ "./t0-transport/substrate": {
65
+ "types": "./dist/t0-transport/substrate.svelte.d.ts",
66
+ "default": "./dist/t0-transport/substrate.svelte.js"
67
+ },
72
68
  "./f0-forms": "./dist/f0-forms/index.js",
73
69
  "./d0-data-viz": "./dist/d0-data-viz/index.js",
70
+ "./epistemic": "./dist/epistemic/index.js",
71
+ "./epistemic/types": "./dist/epistemic/types.js",
72
+ "./epistemic/utils": "./dist/epistemic/utils.js",
74
73
  "./n0-node-graph": "./dist/n0-node-graph/index.js",
75
74
  "./n1-flow-canvas": "./dist/n1-flow-canvas/index.js",
76
75
  "./n2-manifold-disk": "./dist/n2-manifold-disk/index.js",
77
76
  "./n3-force-graph": "./dist/n3-force-graph/index.js",
78
77
  "./n4-adaptive-manifold": "./dist/n4-adaptive-manifold/index.js",
79
78
  "./n4-tokens.css": "./dist/n4-adaptive-manifold/n4-tokens.css",
79
+ "./platform": "./dist/platform/index.js",
80
+ "./platform/hud-protocol": "./dist/platform/hud-protocol.js",
80
81
  "./v0-diagrams": "./dist/v0-diagrams/index.js",
81
82
  "./g0-generative": "./dist/g0-generative/index.js",
82
83
  "./entity-graph-view": "./dist/entity-graph-view/index.js",
@@ -106,7 +107,7 @@
106
107
  "./fabric/navigation/ActivityRail.svelte": "./dist/fabric/navigation/ActivityRail.svelte",
107
108
  "./fabric/data": "./dist/fabric/data/index.js",
108
109
  "./fabric/input": "./dist/fabric/input/index.js",
109
- "./fabric/input/CommandBar.svelte": "./dist/fabric/input/CommandBar.svelte",
110
+ "./fabric/input/AppHeaderBar.svelte": "./dist/fabric/input/AppHeaderBar.svelte",
110
111
  "./fabric/input/KeyboardShortcuts.svelte": "./dist/fabric/input/KeyboardShortcuts.svelte",
111
112
  "./fabric/feedback": "./dist/fabric/feedback/index.js",
112
113
  "./fabric/feedback/ToastContainer.svelte": "./dist/fabric/feedback/ToastContainer.svelte",
@@ -120,15 +121,20 @@
120
121
  ],
121
122
  "peerDependencies": {
122
123
  "@tauri-apps/api": "^2",
124
+ "@tauri-apps/plugin-fs": "^2",
123
125
  "svelte": "^5.0.0"
124
126
  },
125
127
  "peerDependenciesMeta": {
126
128
  "@tauri-apps/api": {
127
129
  "optional": true
130
+ },
131
+ "@tauri-apps/plugin-fs": {
132
+ "optional": true
128
133
  }
129
134
  },
130
135
  "dependencies": {
131
136
  "@chenglou/pretext": "^0.0.5",
137
+ "@lucide/svelte": "^1.17.0",
132
138
  "@codemirror/autocomplete": "^6.18.0",
133
139
  "@codemirror/commands": "^6.10.0",
134
140
  "@codemirror/lang-markdown": "^6.2.0",
@@ -137,7 +143,7 @@
137
143
  "@codemirror/lint": "^6.8.0",
138
144
  "@codemirror/search": "^6.6.0",
139
145
  "@codemirror/state": "6.6.0",
140
- "@codemirror/view": "6.40.0",
146
+ "@codemirror/view": "^6.43.0",
141
147
  "codemirror": "^6.0.1",
142
148
  "d3-force": "^3.0.0",
143
149
  "elkjs": "^0.9.3",
@@ -145,17 +151,19 @@
145
151
  "graphology": "^0.25.4",
146
152
  "graphology-types": "^0.24.7",
147
153
  "leaflet": "^1.9.4",
154
+ "markmap-lib": "^0.18.0",
155
+ "markmap-view": "^0.18.0",
156
+ "mermaid": "^11.0.0",
148
157
  "perfect-arrows": "^0.3.7",
149
- "svelte-canvas": "^2.1.0",
150
- "tsx": "^4.22.4"
158
+ "svelte-canvas": "^2.1.0"
151
159
  },
152
160
  "devDependencies": {
153
161
  "@changesets/cli": "^2.31.0",
154
- "@lucide/svelte": "^1.17.0",
155
162
  "@playwright/test": "^1.60.0",
156
163
  "@sveltejs/package": "^2.5.7",
157
164
  "@sveltejs/vite-plugin-svelte": "^4.0.4",
158
165
  "@tauri-apps/api": "^2.8.0",
166
+ "@tauri-apps/plugin-fs": "^2.0.0",
159
167
  "@testing-library/dom": "9.3.4",
160
168
  "@testing-library/jest-dom": "^6.9.1",
161
169
  "@testing-library/svelte": "5.3.1",
@@ -165,11 +173,9 @@
165
173
  "@types/d3-force": "^3.0.10",
166
174
  "@types/leaflet": "^1.9.21",
167
175
  "jsdom": "^29.1.1",
168
- "markmap-lib": "^0.18.0",
169
- "markmap-view": "^0.18.0",
170
- "mermaid": "^11.0.0",
171
176
  "svelte": "^5.55.0",
172
177
  "svelte-check": "^4.4.8",
178
+ "tsx": "^4.22.4",
173
179
  "typescript": "^5.9.3",
174
180
  "vite": "5.4.21",
175
181
  "vitest": "^1.6.1"
@@ -187,5 +193,25 @@
187
193
  "dark-theme"
188
194
  ],
189
195
  "author": "Stephen Netu",
190
- "license": "MIT"
191
- }
196
+ "license": "MIT",
197
+ "scripts": {
198
+ "tokens:generate": "tsx scripts/generate-tokens-json.ts",
199
+ "prebuild": "pnpm tokens:generate",
200
+ "build": "svelte-package -i src -o dist",
201
+ "postbuild": "pnpm tokens:generate",
202
+ "changeset": "changeset",
203
+ "version": "changeset version",
204
+ "release": "pnpm build && changeset publish",
205
+ "docs:dev": "vitepress dev docs",
206
+ "docs:build": "vitepress build docs",
207
+ "docs:preview": "vitepress preview docs",
208
+ "test": "vitest run",
209
+ "test:e2e": "playwright test",
210
+ "check": "svelte-check --tsconfig ./tsconfig.json",
211
+ "check:layers": "node scripts/checks/import-graph.mjs",
212
+ "check:tokens": "node scripts/checks/token-audit.mjs",
213
+ "check:exports": "node scripts/checks/check-exports.mjs",
214
+ "check:all": "pnpm check && pnpm check:layers && pnpm check:tokens && pnpm check:vite-pin",
215
+ "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)}\""
216
+ }
217
+ }
@@ -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);
@@ -28,14 +28,22 @@
28
28
  --color-card-text-secondary: #a8a08c;
29
29
  --color-card-text-tertiary: #6b6558;
30
30
 
31
- /* --- Accent (default: brass, user-controllable via --accent-*) --- */
32
- --color-accent: var(--accent-primary, #b87333);
33
- --color-accent-hover: var(--accent-hover, #d4892f);
34
- --color-accent-active: var(--accent-active, #8a5526);
35
- --color-accent-glow: var(--accent-glow, rgba(184, 115, 51, 0.28));
36
- --color-accent-muted: var(--accent-muted, rgba(184, 115, 51, 0.16));
37
- --color-accent-subtle: var(--accent-subtle, rgba(184, 115, 51, 0.08));
38
- --color-accent-faint: var(--accent-faint, rgba(184, 115, 51, 0.04));
31
+ /* --- Accent (default: brass, user-controllable via --accent-*) --- */
32
+ --accent-primary: #b87333;
33
+ --accent-hover: #d4892f;
34
+ --accent-active: #8a5526;
35
+ --accent-glow: rgba(184, 115, 51, 0.28);
36
+ --accent-muted: rgba(184, 115, 51, 0.16);
37
+ --accent-subtle: rgba(184, 115, 51, 0.08);
38
+ --accent-faint: rgba(184, 115, 51, 0.04);
39
+ --color-accent: var(--accent-primary);
40
+ --color-accent-hover: var(--accent-hover);
41
+ --color-accent-active: var(--accent-active);
42
+ --color-accent-glow: var(--accent-glow);
43
+ --color-accent-muted: var(--accent-muted);
44
+ --color-accent-subtle: var(--accent-subtle);
45
+ --color-accent-faint: var(--accent-faint);
46
+ --color-accent-secondary: #d4a574; /* Companion warm tone (n4 kind colors) */
39
47
 
40
48
  /* Overlay levels — white opacity ramps for borders, backgrounds, hover states */
41
49
  --overlay-white-02: rgba(255, 255, 255, 0.02);
@@ -59,9 +67,10 @@
59
67
  --overlay-accent-50: rgba(184, 115, 51, 0.50);
60
68
  --overlay-accent-55: rgba(184, 115, 51, 0.55);
61
69
 
62
- /* Overlay levels — status color opacity ramps */
63
- --overlay-success-06: rgba(79, 168, 162, 0.06);
64
- --overlay-error-06: rgba(193, 74, 74, 0.06);
70
+ /* Overlay levels — status color opacity ramps */
71
+ --overlay-success-06: rgba(79, 168, 162, 0.06);
72
+ --overlay-warning-06: rgba(245, 192, 48, 0.06);
73
+ --overlay-error-06: rgba(193, 74, 74, 0.06);
65
74
 
66
75
  /* Cell background for band/offer tables */
67
76
  --color-bg-cell: #121518;
@@ -78,7 +87,9 @@
78
87
  --color-success: #4fa8a2;
79
88
  --color-warning: #d4a04c;
80
89
  --color-error: #c14a4a;
90
+ --color-error-bg: rgba(193, 74, 74, 0.10);
81
91
  --color-info: #5b8db8;
92
+ --color-neutral: #6b6558; /* Inactive / archival (e.g. compost phase) */
82
93
 
83
94
  /* --- Semantic (presence) --- */
84
95
  --color-online: #4fa8a2;
@@ -26,13 +26,16 @@
26
26
  "glow": "var(--color-accent-glow)",
27
27
  "muted": "var(--color-accent-muted)",
28
28
  "subtle": "var(--color-accent-subtle)",
29
- "faint": "var(--color-accent-faint)"
29
+ "faint": "var(--color-accent-faint)",
30
+ "secondary": "var(--color-accent-secondary)"
30
31
  },
31
32
  "status": {
32
33
  "success": "var(--color-success)",
33
34
  "warning": "var(--color-warning)",
34
35
  "error": "var(--color-error)",
35
- "info": "var(--color-info)"
36
+ "errorBg": "var(--color-error-bg)",
37
+ "info": "var(--color-info)",
38
+ "neutral": "var(--color-neutral)"
36
39
  },
37
40
  "semantic": {
38
41
  "online": "var(--color-online)",
@@ -133,6 +136,13 @@
133
136
  "color_bg_inset": "var(--color-bg-inset)",
134
137
  "color_bg_root": "var(--color-bg-root)",
135
138
  "color_card_border": "var(--color-card-border)",
139
+ "accent_primary": "var(--accent-primary)",
140
+ "accent_hover": "var(--accent-hover)",
141
+ "accent_active": "var(--accent-active)",
142
+ "accent_glow": "var(--accent-glow)",
143
+ "accent_muted": "var(--accent-muted)",
144
+ "accent_subtle": "var(--accent-subtle)",
145
+ "accent_faint": "var(--accent-faint)",
136
146
  "overlay_white_02": "var(--overlay-white-02)",
137
147
  "overlay_white_03": "var(--overlay-white-03)",
138
148
  "overlay_white_04": "var(--overlay-white-04)",
@@ -152,6 +162,7 @@
152
162
  "overlay_accent_50": "var(--overlay-accent-50)",
153
163
  "overlay_accent_55": "var(--overlay-accent-55)",
154
164
  "overlay_success_06": "var(--overlay-success-06)",
165
+ "overlay_warning_06": "var(--overlay-warning-06)",
155
166
  "overlay_error_06": "var(--overlay-error-06)",
156
167
  "color_bg_cell": "var(--color-bg-cell)",
157
168
  "color_cyan": "var(--color-cyan)",
@@ -1 +0,0 @@
1
- {"version":3,"file":"CommandBar.svelte.d.ts","sourceRoot":"","sources":["../../../src/b0-app-shell/command-bar/CommandBar.svelte.ts"],"names":[],"mappings":"AAGE;;;;;;;;;;;;GAYG;AAEH,UAAU,KAAK;IACb,8CAA8C;IAC9C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,iEAAiE;IACjE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,+DAA+D;IAC/D,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,8DAA8D;IAC9D,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,gFAAgF;IAChF,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,wDAAwD;IACxD,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,+CAA+C;IAC/C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC;AAkJH,QAAA,MAAM,UAAU,2CAAwC,CAAC;AACzD,KAAK,UAAU,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;AAChD,eAAe,UAAU,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"CommandBar.svelte.d.ts","sourceRoot":"","sources":["../../../src/fabric/input/CommandBar.svelte.ts"],"names":[],"mappings":"AAGE;;;;;;;;GAQG;AACH,MAAM,WAAW,KAAK;IACpB,0BAA0B;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,8BAA8B;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2CAA2C;IAC3C,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,6CAA6C;IAC7C,qBAAqB,CAAC,EAAE,MAAM,IAAI,CAAC;CACpC;AAoBH,QAAA,MAAM,UAAU,2CAAwC,CAAC;AACzD,KAAK,UAAU,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;AAChD,eAAe,UAAU,CAAC"}
@@ -1,14 +0,0 @@
1
- <script lang="ts" module>
2
- // Stub implementation for vault store
3
- export const vaultStore = {
4
- async hasFileChangedExternally(_path: string): Promise<boolean> {
5
- return false;
6
- },
7
- async getFileModifiedTime(_path: string): Promise<number> {
8
- return Date.now();
9
- },
10
- updateFileState(_path: string, _content: string, _modifiedAt: number): void {
11
- // Stub
12
- }
13
- };
14
- </script>
@@ -1,24 +0,0 @@
1
- export declare const vaultStore: {
2
- hasFileChangedExternally(_path: string): Promise<boolean>;
3
- getFileModifiedTime(_path: string): Promise<number>;
4
- updateFileState(_path: string, _content: string, _modifiedAt: number): void;
5
- };
6
- interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
7
- new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
8
- $$bindings?: Bindings;
9
- } & Exports;
10
- (internal: unknown, props: {
11
- $$events?: Events;
12
- $$slots?: Slots;
13
- }): Exports & {
14
- $set?: any;
15
- $on?: any;
16
- };
17
- z_$$bindings?: Bindings;
18
- }
19
- declare const VaultStore: $$__sveltets_2_IsomorphicComponent<Record<string, never>, {
20
- [evt: string]: CustomEvent<any>;
21
- }, {}, {}, string>;
22
- type VaultStore = InstanceType<typeof VaultStore>;
23
- export default VaultStore;
24
- //# sourceMappingURL=vaultStore.svelte.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"vaultStore.svelte.d.ts","sourceRoot":"","sources":["../../src/stores/vaultStore.svelte.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,UAAU;oCACmB,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;+BAG9B,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;2BAGlC,MAAM,YAAY,MAAM,eAAe,MAAM,GAAG,IAAI;CAG9E,CAAC;AAKF,UAAU,kCAAkC,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,OAAO,GAAG,EAAE,EAAE,QAAQ,GAAG,MAAM;IACpM,KAAK,OAAO,EAAE,OAAO,QAAQ,EAAE,2BAA2B,CAAC,KAAK,CAAC,GAAG,OAAO,QAAQ,EAAE,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG;QAAE,UAAU,CAAC,EAAE,QAAQ,CAAA;KAAE,GAAG,OAAO,CAAC;IACjK,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,KAAK,CAAA;KAAC,GAAG,OAAO,GAAG;QAAE,IAAI,CAAC,EAAE,GAAG,CAAC;QAAC,GAAG,CAAC,EAAE,GAAG,CAAA;KAAE,CAAC;IACtG,YAAY,CAAC,EAAE,QAAQ,CAAC;CAC3B;AAKD,QAAA,MAAM,UAAU;;kBAA+E,CAAC;AAC9E,KAAK,UAAU,GAAG,YAAY,CAAC,OAAO,UAAU,CAAC,CAAC;AACpD,eAAe,UAAU,CAAC"}
@@ -1,3 +0,0 @@
1
- export declare function readFile(path: string): Promise<string>;
2
- export declare function writeFile(path: string, content: string): Promise<void>;
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tauri/index.ts"],"names":[],"mappings":"AAGA,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAI5D;AAED,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAG5E"}
@@ -1,11 +0,0 @@
1
- // Stub implementations for Tauri file operations
2
- // In a real Tauri environment, these would use @tauri-apps/api/fs
3
- export async function readFile(path) {
4
- // Stub: In real implementation, use Tauri fs.readTextFile
5
- console.warn('readFile stub called for', path);
6
- return '';
7
- }
8
- export async function writeFile(path, content) {
9
- // Stub: In real implementation, use Tauri fs.writeTextFile
10
- console.warn('writeFile stub called for', path);
11
- }