entropia-template-ui 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +67 -0
  3. package/dist/App.d.ts +2 -0
  4. package/dist/App.d.ts.map +1 -0
  5. package/dist/areas.d.ts +54 -0
  6. package/dist/areas.d.ts.map +1 -0
  7. package/dist/components/AboutPanel.d.ts +4 -0
  8. package/dist/components/AboutPanel.d.ts.map +1 -0
  9. package/dist/components/BrandLogo.d.ts +6 -0
  10. package/dist/components/BrandLogo.d.ts.map +1 -0
  11. package/dist/components/CodeEditor.d.ts +2 -0
  12. package/dist/components/CodeEditor.d.ts.map +1 -0
  13. package/dist/components/CodePreview.d.ts +6 -0
  14. package/dist/components/CodePreview.d.ts.map +1 -0
  15. package/dist/components/ContextMenu.d.ts +10 -0
  16. package/dist/components/ContextMenu.d.ts.map +1 -0
  17. package/dist/components/DocsPanel.d.ts +2 -0
  18. package/dist/components/DocsPanel.d.ts.map +1 -0
  19. package/dist/components/FileExplorer.d.ts +4 -0
  20. package/dist/components/FileExplorer.d.ts.map +1 -0
  21. package/dist/components/FileManager.d.ts +2 -0
  22. package/dist/components/FileManager.d.ts.map +1 -0
  23. package/dist/components/FilePicker.d.ts +5 -0
  24. package/dist/components/FilePicker.d.ts.map +1 -0
  25. package/dist/components/FloatingWindow.d.ts +10 -0
  26. package/dist/components/FloatingWindow.d.ts.map +1 -0
  27. package/dist/components/GraphCanvas.d.ts +2 -0
  28. package/dist/components/GraphCanvas.d.ts.map +1 -0
  29. package/dist/components/HandwritingPad.d.ts +2 -0
  30. package/dist/components/HandwritingPad.d.ts.map +1 -0
  31. package/dist/components/ImportFolderPanel.d.ts +4 -0
  32. package/dist/components/ImportFolderPanel.d.ts.map +1 -0
  33. package/dist/components/LossPanel.d.ts +2 -0
  34. package/dist/components/LossPanel.d.ts.map +1 -0
  35. package/dist/components/MenuBar.d.ts +12 -0
  36. package/dist/components/MenuBar.d.ts.map +1 -0
  37. package/dist/components/NodeCard.d.ts +4 -0
  38. package/dist/components/NodeCard.d.ts.map +1 -0
  39. package/dist/components/NodeLibrary.d.ts +2 -0
  40. package/dist/components/NodeLibrary.d.ts.map +1 -0
  41. package/dist/components/Panel.d.ts +38 -0
  42. package/dist/components/Panel.d.ts.map +1 -0
  43. package/dist/components/PluginPanel.d.ts +2 -0
  44. package/dist/components/PluginPanel.d.ts.map +1 -0
  45. package/dist/components/PopupMenu.d.ts +19 -0
  46. package/dist/components/PopupMenu.d.ts.map +1 -0
  47. package/dist/components/PreferencesPanel.d.ts +4 -0
  48. package/dist/components/PreferencesPanel.d.ts.map +1 -0
  49. package/dist/components/ProjectPanel.d.ts +2 -0
  50. package/dist/components/ProjectPanel.d.ts.map +1 -0
  51. package/dist/components/SideInspector.d.ts +7 -0
  52. package/dist/components/SideInspector.d.ts.map +1 -0
  53. package/dist/components/Splitter.d.ts +7 -0
  54. package/dist/components/Splitter.d.ts.map +1 -0
  55. package/dist/components/StatusPanel.d.ts +6 -0
  56. package/dist/components/StatusPanel.d.ts.map +1 -0
  57. package/dist/components/Titlebar.d.ts +2 -0
  58. package/dist/components/Titlebar.d.ts.map +1 -0
  59. package/dist/components/ToastStack.d.ts +2 -0
  60. package/dist/components/ToastStack.d.ts.map +1 -0
  61. package/dist/components/Toolbar.d.ts +2 -0
  62. package/dist/components/Toolbar.d.ts.map +1 -0
  63. package/dist/components/WelcomePanel.d.ts +4 -0
  64. package/dist/components/WelcomePanel.d.ts.map +1 -0
  65. package/dist/components/WorkspaceTabs.d.ts +12 -0
  66. package/dist/components/WorkspaceTabs.d.ts.map +1 -0
  67. package/dist/docs/Markdown.d.ts +2 -0
  68. package/dist/docs/Markdown.d.ts.map +1 -0
  69. package/dist/index.d.ts +51 -0
  70. package/dist/index.d.ts.map +1 -0
  71. package/dist/index.js +3685 -0
  72. package/dist/nodes/nodeDefinitions.d.ts +29 -0
  73. package/dist/nodes/nodeDefinitions.d.ts.map +1 -0
  74. package/dist/store/graphStore.d.ts +166 -0
  75. package/dist/store/graphStore.d.ts.map +1 -0
  76. package/dist/style.css +1 -0
  77. package/dist/subgraphActions.d.ts +4 -0
  78. package/dist/subgraphActions.d.ts.map +1 -0
  79. package/dist/theme.d.ts +11 -0
  80. package/dist/theme.d.ts.map +1 -0
  81. package/dist/version.d.ts +2 -0
  82. package/dist/version.d.ts.map +1 -0
  83. package/package.json +63 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Entropia Riko contributors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,67 @@
1
+ # Entropia UI Template
2
+
3
+ A reusable **node-graph editor UI shell** extracted from
4
+ [Entropia Riko](https://github.com/SakuraEntropia/Entropia-Riko): React + Vite +
5
+ TypeScript + React Flow + Zustand.
6
+
7
+ It ships the whole front-end shell — Blender-style workspace panels, draggable
8
+ floating windows, collapsible popup menus, themes (incl. Apple Liquid Glass),
9
+ node frames, subgraph breadcrumb, code editor, handwriting pad, plugin panel,
10
+ file manager, and a Windows-style file picker — ready to wire to your own
11
+ backend.
12
+
13
+ ## Use as a library (npm)
14
+
15
+ ```bash
16
+ npm install entropia-template-ui
17
+ ```
18
+
19
+ `react` / `react-dom` are peer dependencies (install them alongside);
20
+ `@xyflow/react` and `zustand` are bundled as dependencies.
21
+
22
+ ```tsx
23
+ import { App, GraphCanvas, useGraphStore, APP_VERSION } from "entropia-template-ui";
24
+ import "entropia-template-ui/style.css";
25
+ import "@xyflow/react/dist/style.css";
26
+ ```
27
+
28
+ The full editor is `<App />`; every panel, the canvas, the store, and the theme
29
+ helpers are also exported for custom embedding.
30
+
31
+ ## Quick start (development)
32
+
33
+ ```bash
34
+ npm install
35
+ npm run dev # http://localhost:5173
36
+ ```
37
+
38
+ The UI calls `/api/*`; the dev server proxies those to `http://localhost:8000`.
39
+ Point it at any backend by editing `vite.config.ts` → `server.proxy`.
40
+
41
+ ## Structure
42
+
43
+ ```
44
+ src/
45
+ ├── main.tsx # entry
46
+ ├── App.tsx # workspace shell
47
+ ├── store/graphStore.ts # zustand store (the data layer you adapt)
48
+ ├── components/ # panels, windows, menus, canvas, file manager…
49
+ ├── theme.ts # light / dark / system / Liquid Glass
50
+ ├── areas.ts # Blender-style area tree + workspace presets
51
+ ├── styles.css # frosted-glass design tokens
52
+ └── __tests__/ # vitest unit tests
53
+ public/brand/ # replace logo.ico / logo.png / favicon to rebrand
54
+ ```
55
+
56
+ ## Scripts
57
+
58
+ ```bash
59
+ npm run dev # Vite dev server
60
+ npm run build # tsc + production build
61
+ npm test # vitest
62
+ npm run preview # preview the production build
63
+ ```
64
+
65
+ ## License
66
+
67
+ MIT
package/dist/App.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ export default function App(): import("react").JSX.Element;
2
+ //# sourceMappingURL=App.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../src/App.tsx"],"names":[],"mappings":"AAiCA,MAAM,CAAC,OAAO,UAAU,GAAG,gCAkL1B"}
@@ -0,0 +1,54 @@
1
+ /** Blender-style area tree.
2
+
3
+ The window layout is a binary tree of splits. Each leaf is an "area" (a panel
4
+ showing one editor type). Splits are either a row (children side-by-side,
5
+ separated by a vertical divider) or a column (children stacked, separated by a
6
+ horizontal divider). This lets every panel be split both horizontally and
7
+ vertically, and merged away, exactly like Blender's editor areas.
8
+ */
9
+ import type { PanelType } from "./components/Panel";
10
+ export type AreaNode = {
11
+ kind: "leaf";
12
+ id: string;
13
+ type: PanelType;
14
+ } | {
15
+ kind: "split";
16
+ id: string;
17
+ direction: "row" | "column";
18
+ first: AreaNode;
19
+ second: AreaNode;
20
+ ratio: number;
21
+ };
22
+ export declare const leaf: (type: PanelType) => AreaNode;
23
+ export declare const split: (direction: "row" | "column", first: AreaNode, second: AreaNode, ratio?: number) => AreaNode;
24
+ /** Default layout: [nodes/files stacked] | [canvas | (New File over inspector)] over [status | loss]. */
25
+ export declare function defaultLayout(): AreaNode;
26
+ /** A named workspace preset (categorized for the "+" menu). */
27
+ export interface WorkspacePreset {
28
+ id: string;
29
+ label: string;
30
+ category: string;
31
+ description: string;
32
+ build: () => AreaNode;
33
+ }
34
+ export declare const WORKSPACE_PRESETS: WorkspacePreset[];
35
+ /** A runtime workspace instance (its own editable layout). */
36
+ export interface WorkspaceInstance {
37
+ id: string;
38
+ name: string;
39
+ root: AreaNode;
40
+ }
41
+ /** Replace a leaf with a split that keeps the leaf + a new sibling of the same type. */
42
+ export declare function splitLeaf(node: AreaNode, id: string, direction: "row" | "column"): AreaNode;
43
+ /** Remove the divider around a node (replace its parent split with its sibling). */
44
+ export declare function closeLeaf(node: AreaNode, id: string): AreaNode;
45
+ /** Join: keep the dragged leaf `id`, remove its sibling (Blender drag-outward). */
46
+ export declare function mergeLeaf(node: AreaNode, id: string): AreaNode;
47
+ /** Return the id of `id`'s sibling (the other child of its parent split), if any. */
48
+ export declare function siblingNodeId(node: AreaNode, id: string): string | null;
49
+ /** Adjust a split's ratio (delta is a fraction of the split's own extent). */
50
+ export declare function resizeSplit(node: AreaNode, id: string, delta: number): AreaNode;
51
+ /** Change the editor type of a leaf. */
52
+ export declare function setLeafType(node: AreaNode, id: string, type: PanelType): AreaNode;
53
+ export declare function countLeaves(node: AreaNode): number;
54
+ //# sourceMappingURL=areas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"areas.d.ts","sourceRoot":"","sources":["../src/areas.ts"],"names":[],"mappings":"AAAA;;;;;;;EAOE;AACF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD,MAAM,MAAM,QAAQ,GAChB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,SAAS,CAAA;CAAE,GAC7C;IACE,IAAI,EAAE,OAAO,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,KAAK,GAAG,QAAQ,CAAC;IAC5B,KAAK,EAAE,QAAQ,CAAC;IAChB,MAAM,EAAE,QAAQ,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAKN,eAAO,MAAM,IAAI,GAAI,MAAM,SAAS,KAAG,QAIrC,CAAC;AAEH,eAAO,MAAM,KAAK,GAChB,WAAW,KAAK,GAAG,QAAQ,EAC3B,OAAO,QAAQ,EACf,QAAQ,QAAQ,EAChB,cAAW,KACV,QAA2E,CAAC;AAE/E,yGAAyG;AACzG,wBAAgB,aAAa,IAAI,QAAQ,CAaxC;AA4BD,+DAA+D;AAC/D,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,QAAQ,CAAC;CACvB;AAED,eAAO,MAAM,iBAAiB,EAAE,eAAe,EAyB9C,CAAC;AAEF,8DAA8D;AAC9D,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,CAAC;CAChB;AAID,wFAAwF;AACxF,wBAAgB,SAAS,CACvB,IAAI,EAAE,QAAQ,EACd,EAAE,EAAE,MAAM,EACV,SAAS,EAAE,KAAK,GAAG,QAAQ,GAC1B,QAAQ,CASV;AAED,oFAAoF;AACpF,wBAAgB,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,GAAG,QAAQ,CAY9D;AAED,mFAAmF;AACnF,wBAAgB,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,GAAG,QAAQ,CAW9D;AAED,qFAAqF;AACrF,wBAAgB,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CASvE;AAED,8EAA8E;AAC9E,wBAAgB,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,QAAQ,CAY/E;AAED,wCAAwC;AACxC,wBAAgB,WAAW,CACzB,IAAI,EAAE,QAAQ,EACd,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,SAAS,GACd,QAAQ,CASV;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAGlD"}
@@ -0,0 +1,4 @@
1
+ export declare function AboutPanel({ onClose }: {
2
+ onClose: () => void;
3
+ }): import("react").JSX.Element;
4
+ //# sourceMappingURL=AboutPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AboutPanel.d.ts","sourceRoot":"","sources":["../../src/components/AboutPanel.tsx"],"names":[],"mappings":"AAKA,wBAAgB,UAAU,CAAC,EAAE,OAAO,EAAE,EAAE;IAAE,OAAO,EAAE,MAAM,IAAI,CAAA;CAAE,+BA8B9D"}
@@ -0,0 +1,6 @@
1
+ export declare function BrandLogo({ className, alt, title, }: {
2
+ className?: string;
3
+ alt?: string;
4
+ title?: string;
5
+ }): import("react").JSX.Element;
6
+ //# sourceMappingURL=BrandLogo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BrandLogo.d.ts","sourceRoot":"","sources":["../../src/components/BrandLogo.tsx"],"names":[],"mappings":"AAUA,wBAAgB,SAAS,CAAC,EACxB,SAAS,EACT,GAA0B,EAC1B,KAAK,GACN,EAAE;IACD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,+BAWA"}
@@ -0,0 +1,2 @@
1
+ export declare function CodeEditor(): import("react").JSX.Element;
2
+ //# sourceMappingURL=CodeEditor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CodeEditor.d.ts","sourceRoot":"","sources":["../../src/components/CodeEditor.tsx"],"names":[],"mappings":"AAKA,wBAAgB,UAAU,gCA4IzB"}
@@ -0,0 +1,6 @@
1
+ export declare function CodePreview({ path, name, onClose, }: {
2
+ path: string;
3
+ name: string;
4
+ onClose: () => void;
5
+ }): import("react").JSX.Element;
6
+ //# sourceMappingURL=CodePreview.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CodePreview.d.ts","sourceRoot":"","sources":["../../src/components/CodePreview.tsx"],"names":[],"mappings":"AAIA,wBAAgB,WAAW,CAAC,EAC1B,IAAI,EACJ,IAAI,EACJ,OAAO,GACR,EAAE;IACD,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,+BA2CA"}
@@ -0,0 +1,10 @@
1
+ export interface ContextMenuState {
2
+ x: number;
3
+ y: number;
4
+ visible: boolean;
5
+ }
6
+ export declare function ContextMenu({ state, onClose }: {
7
+ state: ContextMenuState;
8
+ onClose: () => void;
9
+ }): import("react").JSX.Element | null;
10
+ //# sourceMappingURL=ContextMenu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContextMenu.d.ts","sourceRoot":"","sources":["../../src/components/ContextMenu.tsx"],"names":[],"mappings":"AAMA,MAAM,WAAW,gBAAgB;IAC/B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,wBAAgB,WAAW,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;IAAE,KAAK,EAAE,gBAAgB,CAAC;IAAC,OAAO,EAAE,MAAM,IAAI,CAAA;CAAE,sCAsC/F"}
@@ -0,0 +1,2 @@
1
+ export declare function DocsPanel(): import("react").JSX.Element;
2
+ //# sourceMappingURL=DocsPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DocsPanel.d.ts","sourceRoot":"","sources":["../../src/components/DocsPanel.tsx"],"names":[],"mappings":"AAsDA,wBAAgB,SAAS,gCA8HxB"}
@@ -0,0 +1,4 @@
1
+ export declare function FileExplorer({ onClose }: {
2
+ onClose: () => void;
3
+ }): import("react").JSX.Element;
4
+ //# sourceMappingURL=FileExplorer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileExplorer.d.ts","sourceRoot":"","sources":["../../src/components/FileExplorer.tsx"],"names":[],"mappings":"AA2BA,wBAAgB,YAAY,CAAC,EAAE,OAAO,EAAE,EAAE;IAAE,OAAO,EAAE,MAAM,IAAI,CAAA;CAAE,+BA0HhE"}
@@ -0,0 +1,2 @@
1
+ export declare function FileManager(): import("react").JSX.Element;
2
+ //# sourceMappingURL=FileManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileManager.d.ts","sourceRoot":"","sources":["../../src/components/FileManager.tsx"],"names":[],"mappings":"AAKA,wBAAgB,WAAW,gCAyG1B"}
@@ -0,0 +1,5 @@
1
+ export declare function openFilePicker(mode: "import" | "export" | "save", options?: {
2
+ defaultName?: string;
3
+ }): Promise<string | null>;
4
+ export declare function FilePickerHost(): import("react").JSX.Element | null;
5
+ //# sourceMappingURL=FilePicker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FilePicker.d.ts","sourceRoot":"","sources":["../../src/components/FilePicker.tsx"],"names":[],"mappings":"AAkBA,wBAAgB,cAAc,CAC5B,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,EAClC,OAAO,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GACjC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAQxB;AAgCD,wBAAgB,cAAc,uCAuK7B"}
@@ -0,0 +1,10 @@
1
+ export declare function FloatingWindow({ title, onClose, x, y, width, zIndex, children, }: {
2
+ title: string;
3
+ onClose: () => void;
4
+ x?: number;
5
+ y?: number;
6
+ width?: number;
7
+ zIndex?: number;
8
+ children: React.ReactNode;
9
+ }): import("react").JSX.Element;
10
+ //# sourceMappingURL=FloatingWindow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FloatingWindow.d.ts","sourceRoot":"","sources":["../../src/components/FloatingWindow.tsx"],"names":[],"mappings":"AAGA,wBAAgB,cAAc,CAAC,EAC7B,KAAK,EACL,OAAO,EACP,CAAO,EACP,CAAM,EACN,KAAW,EACX,MAAa,EACb,QAAQ,GACT,EAAE;IACD,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,+BA+BA"}
@@ -0,0 +1,2 @@
1
+ export declare function GraphCanvas(): import("react").JSX.Element;
2
+ //# sourceMappingURL=GraphCanvas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GraphCanvas.d.ts","sourceRoot":"","sources":["../../src/components/GraphCanvas.tsx"],"names":[],"mappings":"AAgHA,wBAAgB,WAAW,gCAmC1B"}
@@ -0,0 +1,2 @@
1
+ export declare function HandwritingPad(): import("react").JSX.Element;
2
+ //# sourceMappingURL=HandwritingPad.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HandwritingPad.d.ts","sourceRoot":"","sources":["../../src/components/HandwritingPad.tsx"],"names":[],"mappings":"AAKA,wBAAgB,cAAc,gCAwG7B"}
@@ -0,0 +1,4 @@
1
+ export declare function ImportFolderPanel({ onClose }: {
2
+ onClose: () => void;
3
+ }): import("react").JSX.Element;
4
+ //# sourceMappingURL=ImportFolderPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ImportFolderPanel.d.ts","sourceRoot":"","sources":["../../src/components/ImportFolderPanel.tsx"],"names":[],"mappings":"AAMA,wBAAgB,iBAAiB,CAAC,EAAE,OAAO,EAAE,EAAE;IAAE,OAAO,EAAE,MAAM,IAAI,CAAA;CAAE,+BAyDrE"}
@@ -0,0 +1,2 @@
1
+ export declare function LossPanel(): import("react").JSX.Element;
2
+ //# sourceMappingURL=LossPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LossPanel.d.ts","sourceRoot":"","sources":["../../src/components/LossPanel.tsx"],"names":[],"mappings":"AAIA,wBAAgB,SAAS,gCAgFxB"}
@@ -0,0 +1,12 @@
1
+ import type { WorkspaceInstance } from "../areas";
2
+ export declare function MenuBar({ workspaces, activeWorkspaceId, onSwitchWorkspace, onAddWorkspace, onRemoveWorkspace, onRenameWorkspace, onDuplicateWorkspace, onMoveWorkspace, }: {
3
+ workspaces: WorkspaceInstance[];
4
+ activeWorkspaceId: string;
5
+ onSwitchWorkspace: (id: string) => void;
6
+ onAddWorkspace: (presetId: string) => void;
7
+ onRemoveWorkspace: (id: string) => void;
8
+ onRenameWorkspace: (id: string, name: string) => void;
9
+ onDuplicateWorkspace: (id: string) => void;
10
+ onMoveWorkspace: (id: string, delta: number) => void;
11
+ }): import("react").JSX.Element;
12
+ //# sourceMappingURL=MenuBar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuBar.d.ts","sourceRoot":"","sources":["../../src/components/MenuBar.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAelD,wBAAgB,OAAO,CAAC,EACtB,UAAU,EACV,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,eAAe,GAChB,EAAE;IACD,UAAU,EAAE,iBAAiB,EAAE,CAAC;IAChC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,cAAc,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,iBAAiB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,iBAAiB,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACtD,oBAAoB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,eAAe,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACtD,+BA4RA"}
@@ -0,0 +1,4 @@
1
+ /** Custom React Flow node card: title, ports, state, result (UI_STANDARD.md). */
2
+ import { type NodeProps } from "@xyflow/react";
3
+ export declare function NodeCard({ id, data, selected }: NodeProps): import("react").JSX.Element;
4
+ //# sourceMappingURL=NodeCard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NodeCard.d.ts","sourceRoot":"","sources":["../../src/components/NodeCard.tsx"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,OAAO,EAAoB,KAAK,SAAS,EAAE,MAAM,eAAe,CAAC;AAIjE,wBAAgB,QAAQ,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,SAAS,+BAkDzD"}
@@ -0,0 +1,2 @@
1
+ export declare function NodeLibrary(): import("react").JSX.Element;
2
+ //# sourceMappingURL=NodeLibrary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NodeLibrary.d.ts","sourceRoot":"","sources":["../../src/components/NodeLibrary.tsx"],"names":[],"mappings":"AAIA,wBAAgB,WAAW,gCA+D1B"}
@@ -0,0 +1,38 @@
1
+ export type PanelType = "nodes" | "files" | "project" | "canvas" | "inspector" | "status" | "loss" | "docs" | "plugins" | "code" | "pad";
2
+ export interface PanelSpec {
3
+ id: string;
4
+ type: PanelType;
5
+ /** Fixed size in px; 0 means "flexible" (fills remaining space). */
6
+ size: number;
7
+ }
8
+ export type DragMode = "split-row" | "split-column" | "merge";
9
+ export interface DragPreview {
10
+ mode: DragMode;
11
+ /** Position relative to the panel being dragged (clips the preview line). */
12
+ x: number;
13
+ y: number;
14
+ }
15
+ export declare const PANEL_TYPES: {
16
+ value: PanelType;
17
+ label: string;
18
+ category: string;
19
+ }[];
20
+ export declare function panelLabel(type: PanelType): string;
21
+ type PanelRenderer = () => React.ReactNode;
22
+ export declare function registerPanelContent(type: string, render: PanelRenderer): void;
23
+ export declare function renderPanelContent(type: PanelType): React.ReactNode;
24
+ export declare function PanelSlot({ id, type, onType, onSplitRow, onSplitColumn, onMerge, onClose, canMerge, mergeTarget, preview, onPreview, }: {
25
+ id: string;
26
+ type: PanelType;
27
+ onType: (t: PanelType) => void;
28
+ onSplitRow: () => void;
29
+ onSplitColumn: () => void;
30
+ onMerge: () => void;
31
+ onClose: () => void;
32
+ canMerge: boolean;
33
+ mergeTarget: boolean;
34
+ preview: DragPreview | null;
35
+ onPreview: (p: DragPreview | null) => void;
36
+ }): import("react").JSX.Element;
37
+ export {};
38
+ //# sourceMappingURL=Panel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Panel.d.ts","sourceRoot":"","sources":["../../src/components/Panel.tsx"],"names":[],"mappings":"AAwBA,MAAM,MAAM,SAAS,GACjB,OAAO,GACP,OAAO,GACP,SAAS,GACT,QAAQ,GACR,WAAW,GACX,QAAQ,GACR,MAAM,GACN,MAAM,GACN,SAAS,GACT,MAAM,GACN,KAAK,CAAC;AAEV,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,SAAS,CAAC;IAChB,oEAAoE;IACpE,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,QAAQ,GAAG,WAAW,GAAG,cAAc,GAAG,OAAO,CAAC;AAE9D,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,QAAQ,CAAC;IACf,6EAA6E;IAC7E,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,eAAO,MAAM,WAAW,EAAE;IAAE,KAAK,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,EAY9E,CAAC;AAIF,wBAAgB,UAAU,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,CAElD;AAMD,KAAK,aAAa,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC;AAgB3C,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI,CAE9E;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,SAAS,GAAG,KAAK,CAAC,SAAS,CAGnE;AA2HD,wBAAgB,SAAS,CAAC,EACxB,EAAE,EACF,IAAI,EACJ,MAAM,EACN,UAAU,EACV,aAAa,EACb,OAAO,EACP,OAAO,EACP,QAAQ,EACR,WAAW,EACX,OAAO,EACP,SAAS,GACV,EAAE;IACD,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,SAAS,CAAC;IAChB,MAAM,EAAE,CAAC,CAAC,EAAE,SAAS,KAAK,IAAI,CAAC;IAC/B,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;IACrB,OAAO,EAAE,WAAW,GAAG,IAAI,CAAC;IAC5B,SAAS,EAAE,CAAC,CAAC,EAAE,WAAW,GAAG,IAAI,KAAK,IAAI,CAAC;CAC5C,+BAmCA"}
@@ -0,0 +1,2 @@
1
+ export declare function PluginPanel(): import("react").JSX.Element;
2
+ //# sourceMappingURL=PluginPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PluginPanel.d.ts","sourceRoot":"","sources":["../../src/components/PluginPanel.tsx"],"names":[],"mappings":"AAiBA,wBAAgB,WAAW,gCAkI1B"}
@@ -0,0 +1,19 @@
1
+ export interface MenuEntry {
2
+ id: string;
3
+ label: string;
4
+ description?: string;
5
+ category?: string;
6
+ danger?: boolean;
7
+ disabled?: boolean;
8
+ separator?: boolean;
9
+ onSelect?: () => void;
10
+ }
11
+ export declare function PopupMenu({ entries, x, y, onClose, searchable, maxWidth, }: {
12
+ entries: MenuEntry[];
13
+ x: number;
14
+ y: number;
15
+ onClose: () => void;
16
+ searchable?: boolean;
17
+ maxWidth?: number;
18
+ }): import("react").ReactPortal;
19
+ //# sourceMappingURL=PopupMenu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PopupMenu.d.ts","sourceRoot":"","sources":["../../src/components/PopupMenu.tsx"],"names":[],"mappings":"AAWA,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,wBAAgB,SAAS,CAAC,EACxB,OAAO,EACP,CAAC,EACD,CAAC,EACD,OAAO,EACP,UAAkB,EAClB,QAAc,GACf,EAAE;IACD,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,+BAkGA"}
@@ -0,0 +1,4 @@
1
+ export declare function PreferencesPanel({ onClose }: {
2
+ onClose: () => void;
3
+ }): import("react").JSX.Element;
4
+ //# sourceMappingURL=PreferencesPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PreferencesPanel.d.ts","sourceRoot":"","sources":["../../src/components/PreferencesPanel.tsx"],"names":[],"mappings":"AAiBA,wBAAgB,gBAAgB,CAAC,EAAE,OAAO,EAAE,EAAE;IAAE,OAAO,EAAE,MAAM,IAAI,CAAA;CAAE,+BA0HpE"}
@@ -0,0 +1,2 @@
1
+ export declare function ProjectPanel(): import("react").JSX.Element;
2
+ //# sourceMappingURL=ProjectPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProjectPanel.d.ts","sourceRoot":"","sources":["../../src/components/ProjectPanel.tsx"],"names":[],"mappings":"AAoBA,wBAAgB,YAAY,gCAkO3B"}
@@ -0,0 +1,7 @@
1
+ /** Right side inspector: a left tag strip + tabbed content (Summary / Params /
2
+ * Inputs / Outputs / Preview). */
3
+ import { type CSSProperties } from "react";
4
+ export declare function SideInspector({ style }: {
5
+ style?: CSSProperties;
6
+ }): import("react").JSX.Element;
7
+ //# sourceMappingURL=SideInspector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SideInspector.d.ts","sourceRoot":"","sources":["../../src/components/SideInspector.tsx"],"names":[],"mappings":"AAAA;kCACkC;AAClC,OAAO,EAAY,KAAK,aAAa,EAAE,MAAM,OAAO,CAAC;AAcrD,wBAAgB,aAAa,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,CAAC,EAAE,aAAa,CAAA;CAAE,+BAoDjE"}
@@ -0,0 +1,7 @@
1
+ export declare function VSplitter({ onDrag }: {
2
+ onDrag: (dx: number, total: number) => void;
3
+ }): import("react").JSX.Element;
4
+ export declare function HSplitter({ onDrag }: {
5
+ onDrag: (dy: number, total: number) => void;
6
+ }): import("react").JSX.Element;
7
+ //# sourceMappingURL=Splitter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Splitter.d.ts","sourceRoot":"","sources":["../../src/components/Splitter.tsx"],"names":[],"mappings":"AA4BA,wBAAgB,SAAS,CAAC,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;CAAE,+BAOpF;AAED,wBAAgB,SAAS,CAAC,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;CAAE,+BAOpF"}
@@ -0,0 +1,6 @@
1
+ /** Bottom status panel: logs + queue (UI_STANDARD.md). */
2
+ import { type CSSProperties } from "react";
3
+ export declare function StatusPanel({ style }: {
4
+ style?: CSSProperties;
5
+ }): import("react").JSX.Element;
6
+ //# sourceMappingURL=StatusPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StatusPanel.d.ts","sourceRoot":"","sources":["../../src/components/StatusPanel.tsx"],"names":[],"mappings":"AAAA,0DAA0D;AAC1D,OAAO,EAAY,KAAK,aAAa,EAAE,MAAM,OAAO,CAAC;AAGrD,wBAAgB,WAAW,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,CAAC,EAAE,aAAa,CAAA;CAAE,+BA8C/D"}
@@ -0,0 +1,2 @@
1
+ export declare function Titlebar(): import("react").JSX.Element;
2
+ //# sourceMappingURL=Titlebar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Titlebar.d.ts","sourceRoot":"","sources":["../../src/components/Titlebar.tsx"],"names":[],"mappings":"AAMA,wBAAgB,QAAQ,gCAevB"}
@@ -0,0 +1,2 @@
1
+ export declare function ToastStack(): import("react").JSX.Element;
2
+ //# sourceMappingURL=ToastStack.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToastStack.d.ts","sourceRoot":"","sources":["../../src/components/ToastStack.tsx"],"names":[],"mappings":"AAGA,wBAAgB,UAAU,gCAgBzB"}
@@ -0,0 +1,2 @@
1
+ export declare function Toolbar(): import("react").JSX.Element;
2
+ //# sourceMappingURL=Toolbar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Toolbar.d.ts","sourceRoot":"","sources":["../../src/components/Toolbar.tsx"],"names":[],"mappings":"AAIA,wBAAgB,OAAO,gCAgEtB"}
@@ -0,0 +1,4 @@
1
+ export declare function WelcomePanel({ onClose }: {
2
+ onClose: () => void;
3
+ }): import("react").JSX.Element;
4
+ //# sourceMappingURL=WelcomePanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WelcomePanel.d.ts","sourceRoot":"","sources":["../../src/components/WelcomePanel.tsx"],"names":[],"mappings":"AAOA,wBAAgB,YAAY,CAAC,EAAE,OAAO,EAAE,EAAE;IAAE,OAAO,EAAE,MAAM,IAAI,CAAA;CAAE,+BA4HhE"}
@@ -0,0 +1,12 @@
1
+ import { type WorkspaceInstance } from "../areas";
2
+ export declare function WorkspaceTabs({ workspaces, activeId, onSwitch, onAdd, onRemove, onRename, onDuplicate, onMove, }: {
3
+ workspaces: WorkspaceInstance[];
4
+ activeId: string;
5
+ onSwitch: (id: string) => void;
6
+ onAdd: (presetId: string) => void;
7
+ onRemove: (id: string) => void;
8
+ onRename: (id: string, name: string) => void;
9
+ onDuplicate: (id: string) => void;
10
+ onMove: (id: string, delta: number) => void;
11
+ }): import("react").JSX.Element;
12
+ //# sourceMappingURL=WorkspaceTabs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkspaceTabs.d.ts","sourceRoot":"","sources":["../../src/components/WorkspaceTabs.tsx"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,UAAU,CAAC;AAQlB,wBAAgB,aAAa,CAAC,EAC5B,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,MAAM,GACP,EAAE;IACD,UAAU,EAAE,iBAAiB,EAAE,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,WAAW,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7C,+BAuGA"}
@@ -0,0 +1,2 @@
1
+ export declare function renderMarkdown(md: string): React.ReactNode[];
2
+ //# sourceMappingURL=Markdown.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Markdown.d.ts","sourceRoot":"","sources":["../../src/docs/Markdown.tsx"],"names":[],"mappings":"AAyCA,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,KAAK,CAAC,SAAS,EAAE,CAgI5D"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Entropia Template UI — public entry point.
3
+ *
4
+ * This module re-exports the reusable node-graph editor building blocks so the
5
+ * template can be consumed as a library:
6
+ *
7
+ * import { App, GraphCanvas, useGraphStore } from "entropia-template-ui";
8
+ * import "entropia-template-ui/style.css";
9
+ * import "@xyflow/react/dist/style.css";
10
+ *
11
+ * The application shell (`App`) is the full editor; individual panels and the
12
+ * zustand store are also exported for custom embedding.
13
+ */
14
+ import "./styles.css";
15
+ export { default as App } from "./App";
16
+ export { GraphCanvas } from "./components/GraphCanvas";
17
+ export { NodeCard } from "./components/NodeCard";
18
+ export { NodeLibrary } from "./components/NodeLibrary";
19
+ export { SideInspector } from "./components/SideInspector";
20
+ export { MenuBar } from "./components/MenuBar";
21
+ export { Titlebar } from "./components/Titlebar";
22
+ export { StatusPanel } from "./components/StatusPanel";
23
+ export { Toolbar } from "./components/Toolbar";
24
+ export { ToastStack } from "./components/ToastStack";
25
+ export { WorkspaceTabs } from "./components/WorkspaceTabs";
26
+ export { FloatingWindow } from "./components/FloatingWindow";
27
+ export { PopupMenu } from "./components/PopupMenu";
28
+ export { ContextMenu } from "./components/ContextMenu";
29
+ export { PanelSlot, registerPanelContent, renderPanelContent, panelLabel, PANEL_TYPES, } from "./components/Panel";
30
+ export { HSplitter, VSplitter } from "./components/Splitter";
31
+ export { WelcomePanel } from "./components/WelcomePanel";
32
+ export { AboutPanel } from "./components/AboutPanel";
33
+ export { PreferencesPanel } from "./components/PreferencesPanel";
34
+ export { PluginPanel } from "./components/PluginPanel";
35
+ export { ProjectPanel } from "./components/ProjectPanel";
36
+ export { ImportFolderPanel } from "./components/ImportFolderPanel";
37
+ export { FileManager } from "./components/FileManager";
38
+ export { FileExplorer } from "./components/FileExplorer";
39
+ export { CodeEditor } from "./components/CodeEditor";
40
+ export { CodePreview } from "./components/CodePreview";
41
+ export { LossPanel } from "./components/LossPanel";
42
+ export { HandwritingPad } from "./components/HandwritingPad";
43
+ export { DocsPanel } from "./components/DocsPanel";
44
+ export { BrandLogo } from "./components/BrandLogo";
45
+ export { FilePickerHost, openFilePicker } from "./components/FilePicker";
46
+ export { useGraphStore } from "./store/graphStore";
47
+ export * from "./areas";
48
+ export { loadTheme, applyTheme, applyBackground } from "./theme";
49
+ export type { ThemeMode } from "./theme";
50
+ export { APP_VERSION } from "./version";
51
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,cAAc,CAAC;AAGtB,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,OAAO,CAAC;AAGvC,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAG3D,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EACL,SAAS,EACT,oBAAoB,EACpB,kBAAkB,EAClB,UAAU,EACV,WAAW,GACZ,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAG7D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAGnD,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAGzE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AACjE,YAAY,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC"}