@nice2dev/ui-diagrams 1.0.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 (108) hide show
  1. package/CHANGELOG.md +64 -0
  2. package/README.md +49 -0
  3. package/dist/__tests__/DiagramModel.test.d.ts +2 -0
  4. package/dist/__tests__/DiagramModel.test.d.ts.map +1 -0
  5. package/dist/__tests__/animationEngine.test.d.ts +2 -0
  6. package/dist/__tests__/animationEngine.test.d.ts.map +1 -0
  7. package/dist/__tests__/businessVisualizers.test.d.ts +2 -0
  8. package/dist/__tests__/businessVisualizers.test.d.ts.map +1 -0
  9. package/dist/__tests__/dataBinding.test.d.ts +2 -0
  10. package/dist/__tests__/dataBinding.test.d.ts.map +1 -0
  11. package/dist/__tests__/diagramTemplateGallery.test.d.ts +2 -0
  12. package/dist/__tests__/diagramTemplateGallery.test.d.ts.map +1 -0
  13. package/dist/__tests__/exportEngine.test.d.ts +2 -0
  14. package/dist/__tests__/exportEngine.test.d.ts.map +1 -0
  15. package/dist/__tests__/i18n-locales.test.d.ts +2 -0
  16. package/dist/__tests__/i18n-locales.test.d.ts.map +1 -0
  17. package/dist/__tests__/layoutEngine.test.d.ts +2 -0
  18. package/dist/__tests__/layoutEngine.test.d.ts.map +1 -0
  19. package/dist/__tests__/serialization.test.d.ts +2 -0
  20. package/dist/__tests__/serialization.test.d.ts.map +1 -0
  21. package/dist/__tests__/setup.d.ts +2 -0
  22. package/dist/__tests__/setup.d.ts.map +1 -0
  23. package/dist/__tests__/snapGrid.test.d.ts +2 -0
  24. package/dist/__tests__/snapGrid.test.d.ts.map +1 -0
  25. package/dist/__tests__/sprint24-diagrams.test.d.ts +2 -0
  26. package/dist/__tests__/sprint24-diagrams.test.d.ts.map +1 -0
  27. package/dist/components/AnimationTimeline.d.ts +21 -0
  28. package/dist/components/AnimationTimeline.d.ts.map +1 -0
  29. package/dist/components/DiagramCanvas.d.ts +54 -0
  30. package/dist/components/DiagramCanvas.d.ts.map +1 -0
  31. package/dist/components/DiagramCellRenderer.d.ts +36 -0
  32. package/dist/components/DiagramCellRenderer.d.ts.map +1 -0
  33. package/dist/components/DiagramMinimap.d.ts +17 -0
  34. package/dist/components/DiagramMinimap.d.ts.map +1 -0
  35. package/dist/components/DiagramPropertyPanel.d.ts +13 -0
  36. package/dist/components/DiagramPropertyPanel.d.ts.map +1 -0
  37. package/dist/components/DiagramToolbar.d.ts +65 -0
  38. package/dist/components/DiagramToolbar.d.ts.map +1 -0
  39. package/dist/components/NiceDatabaseSchemaViewer.d.ts +77 -0
  40. package/dist/components/NiceDatabaseSchemaViewer.d.ts.map +1 -0
  41. package/dist/components/NiceDecisionTreeEditor.d.ts +126 -0
  42. package/dist/components/NiceDecisionTreeEditor.d.ts.map +1 -0
  43. package/dist/components/NiceDependencyGraph.d.ts +104 -0
  44. package/dist/components/NiceDependencyGraph.d.ts.map +1 -0
  45. package/dist/components/NiceDiagramEditor.d.ts +24 -0
  46. package/dist/components/NiceDiagramEditor.d.ts.map +1 -0
  47. package/dist/components/NiceDiagramViewer.d.ts +19 -0
  48. package/dist/components/NiceDiagramViewer.d.ts.map +1 -0
  49. package/dist/components/NiceNetworkTopology.d.ts +125 -0
  50. package/dist/components/NiceNetworkTopology.d.ts.map +1 -0
  51. package/dist/components/NiceOrgChartVisualizer.d.ts +91 -0
  52. package/dist/components/NiceOrgChartVisualizer.d.ts.map +1 -0
  53. package/dist/components/NiceProcessMiningDiagram.d.ts +84 -0
  54. package/dist/components/NiceProcessMiningDiagram.d.ts.map +1 -0
  55. package/dist/components/NiceWorkflowVisualizer.d.ts +70 -0
  56. package/dist/components/NiceWorkflowVisualizer.d.ts.map +1 -0
  57. package/dist/components/collaborativeDiagram.d.ts +253 -0
  58. package/dist/components/collaborativeDiagram.d.ts.map +1 -0
  59. package/dist/components/diagramAdapters.d.ts +80 -0
  60. package/dist/components/diagramAdapters.d.ts.map +1 -0
  61. package/dist/components/diagramTemplates.d.ts +62 -0
  62. package/dist/components/diagramTemplates.d.ts.map +1 -0
  63. package/dist/components/shapeRegistry.d.ts +134 -0
  64. package/dist/components/shapeRegistry.d.ts.map +1 -0
  65. package/dist/components/snapGuides.d.ts +167 -0
  66. package/dist/components/snapGuides.d.ts.map +1 -0
  67. package/dist/components/workflowIntegrations.d.ts +280 -0
  68. package/dist/components/workflowIntegrations.d.ts.map +1 -0
  69. package/dist/core/DiagramModel.d.ts +56 -0
  70. package/dist/core/DiagramModel.d.ts.map +1 -0
  71. package/dist/core/animationEngine.d.ts +40 -0
  72. package/dist/core/animationEngine.d.ts.map +1 -0
  73. package/dist/core/conditionalStyling.d.ts +151 -0
  74. package/dist/core/conditionalStyling.d.ts.map +1 -0
  75. package/dist/core/dataBinding.d.ts +21 -0
  76. package/dist/core/dataBinding.d.ts.map +1 -0
  77. package/dist/core/diagramComments.d.ts +208 -0
  78. package/dist/core/diagramComments.d.ts.map +1 -0
  79. package/dist/core/diagramParticleEngine.d.ts +96 -0
  80. package/dist/core/diagramParticleEngine.d.ts.map +1 -0
  81. package/dist/core/diagramSearch.d.ts +169 -0
  82. package/dist/core/diagramSearch.d.ts.map +1 -0
  83. package/dist/core/diagramStylePresets.d.ts +56 -0
  84. package/dist/core/diagramStylePresets.d.ts.map +1 -0
  85. package/dist/core/diagramTemplateGallery.d.ts +27 -0
  86. package/dist/core/diagramTemplateGallery.d.ts.map +1 -0
  87. package/dist/core/diagramVersioning.d.ts +124 -0
  88. package/dist/core/diagramVersioning.d.ts.map +1 -0
  89. package/dist/core/exportEngine.d.ts +11 -0
  90. package/dist/core/exportEngine.d.ts.map +1 -0
  91. package/dist/core/i18n.d.ts +19 -0
  92. package/dist/core/i18n.d.ts.map +1 -0
  93. package/dist/core/layoutEngine.d.ts +10 -0
  94. package/dist/core/layoutEngine.d.ts.map +1 -0
  95. package/dist/core/serialization.d.ts +16 -0
  96. package/dist/core/serialization.d.ts.map +1 -0
  97. package/dist/core/snapGrid.d.ts +51 -0
  98. package/dist/core/snapGrid.d.ts.map +1 -0
  99. package/dist/hooks/useDiagramEditor.d.ts +64 -0
  100. package/dist/hooks/useDiagramEditor.d.ts.map +1 -0
  101. package/dist/index.cjs +3484 -0
  102. package/dist/index.d.ts +35 -0
  103. package/dist/index.d.ts.map +1 -0
  104. package/dist/index.mjs +58661 -0
  105. package/dist/style.css +1 -0
  106. package/dist/types/diagramTypes.d.ts +410 -0
  107. package/dist/types/diagramTypes.d.ts.map +1 -0
  108. package/package.json +59 -0
package/CHANGELOG.md ADDED
@@ -0,0 +1,64 @@
1
+ # @nice2dev/ui-diagrams — Changelog
2
+
3
+ All notable changes to the diagram editor package.
4
+
5
+ ## [0.2.0] — 2026-03-25
6
+
7
+ ### Added (FAZA 1.1)
8
+
9
+ - **NiceDiagramEditor** — full-featured diagram editor:
10
+ - Canvas with pan/zoom, minimap
11
+ - Node creation/editing, edge routing (kliknię-port, dnd)
12
+ - 8 diagram types: flowchart, org chart, mind map, BPMN, ER, sequence, state machine, network topology
13
+ - Auto-layout: dagre, force-directed, grid, radial, tree
14
+ - Animation timeline, data binding from DataSource
15
+ - Export: SVG, PNG, PDF, .ndd.json, Mermaid
16
+ - Import: .ndd.json, Mermaid, draw.io XML
17
+ - **NiceDiagramViewer** — read-only viewer with auto-play animations, tooltips, fullscreen
18
+ - **Business visualizers**: NiceWorkflowVisualizer, NiceDatabaseSchemaViewer, NiceOrgChartVisualizer, NiceProcessMiningDiagram, NiceDependencyGraph, NiceNetworkTopology, NiceDecisionTreeEditor
19
+ - **Collaborative editing** — multi-user CRDT/op-log with visible cursors
20
+ - **Versioning** — history with diff (node added/removed/moved/restyled)
21
+ - **Comments / annotations** — sticky notes, @mentions, resolve
22
+ - **Templates gallery** — ready-made templates per diagram type
23
+ - **Snap to grid + alignment guides**
24
+ - **Custom node shapes** — SVG/React component shape registry
25
+ - **Conditional styling** — data-driven colors (e.g. red if SLA > threshold)
26
+ - **Search & filter** — node search by name/type, layer filtering
27
+ - **DiagramCellRenderer** — mini-diagram in DataGrid cells with expand-to-modal
28
+ - AI layout suggestions via `useAIDiagramLayout`
29
+
30
+ ### Tests
31
+
32
+ - 11 unit tests + E2E tests (editor, viewer, workflow, org, deps, network, decision tree)
33
+
34
+ ---
35
+
36
+ ## [0.1.0] — 2025-06-01
37
+
38
+ Initial beta release with `.ndd.json` format specification.
39
+
40
+ All notable changes to `@nice2dev/ui-diagrams` will be documented in this file.
41
+
42
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
43
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
44
+
45
+ ---
46
+
47
+ ## [0.1.0] — 2026-03-18
48
+
49
+ ### 📊 Initial Release
50
+
51
+ First release of `@nice2dev/ui-diagrams` — a diagram editor and viewer suite for React.
52
+
53
+ ### Features
54
+
55
+ - **NiceDiagramEditor** — full-featured diagram editor with drag-and-drop nodes, edge routing, zoom/pan, undo/redo, snap-to-grid, groups, and multi-select
56
+ - **NiceDiagramViewer** — read-only diagram viewer with zoom/pan and auto-fit
57
+ - **NiceWorkflowVisualizer** — step-based workflow visualization with status indicators, auto-layout, and animated transitions
58
+ - **NiceOrgChartVisualizer** — hierarchical org chart with status badges, expand/collapse, and search
59
+ - **NiceDependencyGraph** — package dependency graph with color-coded version ranges and circular dependency detection
60
+ - **NiceNetworkTopology** — network topology visualizer with device icons, connection status, and traffic animation
61
+ - **NiceDecisionTreeEditor** — interactive decision tree editor with yes/no branches, condition evaluation, and collapse/expand
62
+ - **Animation system** — liquid flow, particle effects, and style presets for edges and nodes
63
+ - **i18n** — full internationalization support via NiceI18nProvider
64
+ - **Theming** — CSS custom properties with light/dark mode support
package/README.md ADDED
@@ -0,0 +1,49 @@
1
+ # @nice2dev/ui-diagrams
2
+
3
+ > Full-featured diagram editor & viewer for React — flowchart, BPMN, ER, org chart, mind map, sequence, state machine, network topology.
4
+
5
+ ## Features
6
+
7
+ ### NiceDiagramEditor
8
+ - Canvas with pan/zoom (scroll wheel, pinch, minimap)
9
+ - Node CRUD — drag, resize, double-click edit, custom shapes (SVG/React)
10
+ - Edge creation — click port → drag to target port
11
+ - Toolbar — select, add node/edge, group, delete, undo/redo
12
+ - Property panel — node style (shape, color, border, font, icon), edge style (line, color, arrow)
13
+ - Auto-layout — dagre hierarchical, force-directed, grid, radial, tree
14
+ - Animations timeline — entry/exit/highlight per element
15
+ - Data binding — DataSource → auto-generated diagram (e.g., org chart from employee table)
16
+ - Export — SVG, PNG, PDF, `.ndd.json`, Mermaid
17
+ - Import — `.ndd.json`, Mermaid, draw.io XML (basic)
18
+ - i18n (10+ languages) + theming (light/dark, custom CSS variables)
19
+
20
+ ### NiceDiagramViewer
21
+ - Read-only with pan/zoom
22
+ - Auto-play animations (step-by-step sequence)
23
+ - Interactive tooltips on hover
24
+ - Fullscreen + print mode
25
+
26
+ ### Business Integrations
27
+ - **NiceWorkflowVisualizer** — auto-generate from workflow engine
28
+ - **NiceDatabaseSchemaViewer** — ER diagram from DB metadata
29
+ - **NiceOrgChartVisualizer** — org chart from HR data
30
+ - **NiceProcessMiningDiagram** — frequent paths, bottlenecks, SLA violations
31
+ - **NiceDependencyGraph** — module/microservice dependency visualization
32
+ - **NiceNetworkTopology** — auto-discovery + real-time status (green/yellow/red)
33
+ - **NiceDecisionTreeEditor** — decision tree with conditions, probabilities
34
+
35
+ ### Collaboration
36
+ - Multi-user CRDT editing with visible cursors
37
+ - Version history with visual diff (node added/removed/moved)
38
+ - Comments & annotations — sticky notes, @mentions, resolve
39
+ - Diagram template gallery
40
+
41
+ ## Installation
42
+
43
+ ```bash
44
+ npm install @nice2dev/ui-diagrams
45
+ ```
46
+
47
+ ## License
48
+
49
+ MIT © NiceToDev
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=DiagramModel.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DiagramModel.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/DiagramModel.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=animationEngine.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"animationEngine.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/animationEngine.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=businessVisualizers.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"businessVisualizers.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/businessVisualizers.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=dataBinding.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dataBinding.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/dataBinding.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=diagramTemplateGallery.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagramTemplateGallery.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/diagramTemplateGallery.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=exportEngine.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exportEngine.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/exportEngine.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=i18n-locales.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i18n-locales.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/i18n-locales.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=layoutEngine.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layoutEngine.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/layoutEngine.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=serialization.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serialization.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/serialization.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=setup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/__tests__/setup.ts"],"names":[],"mappings":"AACA,OAAO,kCAAkC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=snapGrid.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snapGrid.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/snapGrid.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=sprint24-diagrams.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sprint24-diagrams.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/sprint24-diagrams.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,21 @@
1
+ import { default as React } from 'react';
2
+ import { DiagramAnimation } from '../types/diagramTypes';
3
+
4
+ export interface AnimationTimelineProps {
5
+ animations: readonly DiagramAnimation[];
6
+ onAdd?: (anim: Omit<DiagramAnimation, 'id'>) => void;
7
+ onRemove?: (id: string) => void;
8
+ onUpdate?: (id: string, patch: Partial<Omit<DiagramAnimation, 'id'>>) => void;
9
+ onPlay?: () => void;
10
+ onStop?: () => void;
11
+ isPlaying?: boolean;
12
+ /** Available target IDs (node/edge) for the dropdown */
13
+ availableTargets?: Array<{
14
+ id: string;
15
+ label: string;
16
+ type: 'node' | 'edge' | 'group';
17
+ }>;
18
+ className?: string;
19
+ }
20
+ export declare const AnimationTimeline: React.FC<AnimationTimelineProps>;
21
+ //# sourceMappingURL=AnimationTimeline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AnimationTimeline.d.ts","sourceRoot":"","sources":["../../src/components/AnimationTimeline.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAgC,MAAM,OAAO,CAAC;AACrD,OAAO,KAAK,EAAE,gBAAgB,EAA+B,MAAM,uBAAuB,CAAC;AAM3F,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,SAAS,gBAAgB,EAAE,CAAC;IACxC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,KAAK,IAAI,CAAC;IACrD,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC;IAC9E,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,wDAAwD;IACxD,gBAAgB,CAAC,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC,CAAC;IACzF,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAUD,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAmN9D,CAAC"}
@@ -0,0 +1,54 @@
1
+ import { default as React } from 'react';
2
+ import { DiagramNode, DiagramEdge, DiagramGroup, DiagramViewport, DiagramThemeOverrides, DiagramViewMode, Point, Size } from '../types/diagramTypes';
3
+ import { AnimationState } from '../core/animationEngine';
4
+ import { ParticleEngineState } from '../core/diagramParticleEngine';
5
+
6
+ export interface DiagramCanvasProps {
7
+ nodes: readonly DiagramNode[];
8
+ edges: readonly DiagramEdge[];
9
+ groups?: readonly DiagramGroup[];
10
+ viewport: DiagramViewport;
11
+ onViewportChange?: (viewport: DiagramViewport) => void;
12
+ theme?: DiagramThemeOverrides;
13
+ /** Currently selected element IDs */
14
+ selectedId?: string | null;
15
+ selectedIds?: readonly string[];
16
+ onSelectElement?: (id: string | null) => void;
17
+ onMultiSelect?: (ids: string[]) => void;
18
+ /** Node drag callbacks (editor only) */
19
+ onNodeDragStart?: (nodeId: string) => void;
20
+ onNodeDrag?: (nodeId: string, position: Point) => void;
21
+ onNodeDragEnd?: (nodeId: string, position: Point) => void;
22
+ /** Node resize (editor only) */
23
+ onNodeResize?: (nodeId: string, size: Size, position: Point) => void;
24
+ /** Edge creation (editor only) */
25
+ onEdgeCreate?: (sourceNodeId: string, targetNodeId: string) => void;
26
+ /** In-place text editing */
27
+ onNodeLabelChange?: (nodeId: string, label: string) => void;
28
+ /** Animation states (viewer only) */
29
+ animationStates?: Map<string, AnimationState>;
30
+ /** Particle engine state (liquid flows, glow, particles) */
31
+ particleState?: ParticleEngineState;
32
+ /** View mode: editor / player / playerAnimated */
33
+ viewMode?: DiagramViewMode;
34
+ /** Ghost opacity for click-to-reveal elements */
35
+ ghostOpacity?: number;
36
+ /** Group collapse/expand callback */
37
+ onGroupCollapse?: (groupId: string) => void;
38
+ /** Node collapse/expand callback */
39
+ onNodeCollapse?: (nodeId: string) => void;
40
+ /** Interaction trigger callback */
41
+ onInteraction?: (nodeId: string, interactionId: string) => void;
42
+ /** Whether the canvas is interactive (editor) or read-only (viewer) */
43
+ interactive?: boolean;
44
+ /** Show grid */
45
+ showGrid?: boolean;
46
+ /** Show rulers */
47
+ showRulers?: boolean;
48
+ /** Snap to grid */
49
+ snapToGrid?: boolean;
50
+ gridSnapSize?: number;
51
+ className?: string;
52
+ }
53
+ export declare const DiagramCanvas: React.FC<DiagramCanvasProps>;
54
+ //# sourceMappingURL=DiagramCanvas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DiagramCanvas.d.ts","sourceRoot":"","sources":["../../src/components/DiagramCanvas.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAA4D,MAAM,OAAO,CAAC;AACjF,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EACX,YAAY,EACZ,eAAe,EACf,qBAAqB,EACrB,eAAe,EACf,KAAK,EACL,IAAI,EACL,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,mBAAmB,EAA8B,MAAM,+BAA+B,CAAC;AAKrG,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,SAAS,WAAW,EAAE,CAAC;IAC9B,KAAK,EAAE,SAAS,WAAW,EAAE,CAAC;IAC9B,MAAM,CAAC,EAAE,SAAS,YAAY,EAAE,CAAC;IACjC,QAAQ,EAAE,eAAe,CAAC;IAC1B,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,eAAe,KAAK,IAAI,CAAC;IACvD,KAAK,CAAC,EAAE,qBAAqB,CAAC;IAE9B,qCAAqC;IACrC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,eAAe,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC9C,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAExC,wCAAwC;IACxC,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,KAAK,IAAI,CAAC;IACvD,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,KAAK,IAAI,CAAC;IAE1D,gCAAgC;IAChC,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,KAAK,IAAI,CAAC;IAErE,kCAAkC;IAClC,YAAY,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IAEpE,4BAA4B;IAC5B,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAE5D,qCAAqC;IACrC,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAE9C,4DAA4D;IAC5D,aAAa,CAAC,EAAE,mBAAmB,CAAC;IAEpC,kDAAkD;IAClD,QAAQ,CAAC,EAAE,eAAe,CAAC;IAE3B,iDAAiD;IACjD,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,qCAAqC;IACrC,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAE5C,oCAAoC;IACpC,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAE1C,mCAAmC;IACnC,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,KAAK,IAAI,CAAC;IAEhE,uEAAuE;IACvE,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB,gBAAgB;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,kBAAkB;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,mBAAmB;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAuBD,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CA8rCtD,CAAC"}
@@ -0,0 +1,36 @@
1
+ import { default as React } from 'react';
2
+ import { NiceDiagramDocument, DiagramNode, DiagramEdge } from '../types/diagramTypes';
3
+
4
+ export interface DiagramCellRendererProps {
5
+ /** Full diagram document to render. */
6
+ document?: NiceDiagramDocument;
7
+ /** Alternative: provide nodes directly. */
8
+ nodes?: DiagramNode[];
9
+ /** Alternative: provide edges directly. */
10
+ edges?: DiagramEdge[];
11
+ /** Cell width in pixels. */
12
+ width?: number;
13
+ /** Cell height in pixels. */
14
+ height?: number;
15
+ /** Show node count badge. */
16
+ showCount?: boolean;
17
+ /** Enable click to expand to full viewer modal. */
18
+ expandable?: boolean;
19
+ /** Custom expand handler instead of built-in modal. */
20
+ onExpand?: (document: NiceDiagramDocument) => void;
21
+ /** Padding inside the cell (default: 4). */
22
+ padding?: number;
23
+ /** Background color (default: transparent). */
24
+ backgroundColor?: string;
25
+ /** Border radius (default: 4). */
26
+ borderRadius?: number;
27
+ /** Whether to show mini labels on nodes. */
28
+ showLabels?: boolean;
29
+ /** Edge color (default: #94a3b8). */
30
+ edgeColor?: string;
31
+ /** Tooltip text. */
32
+ tooltip?: string;
33
+ }
34
+ export declare const DiagramCellRenderer: React.FC<DiagramCellRendererProps>;
35
+ export default DiagramCellRenderer;
36
+ //# sourceMappingURL=DiagramCellRenderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DiagramCellRenderer.d.ts","sourceRoot":"","sources":["../../src/components/DiagramCellRenderer.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAiD,MAAM,OAAO,CAAC;AACtE,OAAO,KAAK,EACR,mBAAmB,EACnB,WAAW,EACX,WAAW,EAGd,MAAM,uBAAuB,CAAC;AAO/B,MAAM,WAAW,wBAAwB;IACrC,uCAAuC;IACvC,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAC/B,2CAA2C;IAC3C,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC;IACtB,2CAA2C;IAC3C,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC;IACtB,4BAA4B;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6BAA6B;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6BAA6B;IAC7B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,mDAAmD;IACnD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,uDAAuD;IACvD,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACnD,4CAA4C;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+CAA+C;IAC/C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kCAAkC;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,4CAA4C;IAC5C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,qCAAqC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oBAAoB;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAmND,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CA+KlE,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { default as React } from 'react';
2
+ import { DiagramNode, DiagramEdge, DiagramViewport } from '../types/diagramTypes';
3
+
4
+ export interface DiagramMinimapProps {
5
+ nodes: readonly DiagramNode[];
6
+ edges: readonly DiagramEdge[];
7
+ viewport: DiagramViewport;
8
+ onViewportChange?: (viewport: DiagramViewport) => void;
9
+ /** Canvas pixel size (to compute viewport rectangle) */
10
+ canvasWidth?: number;
11
+ canvasHeight?: number;
12
+ width?: number;
13
+ height?: number;
14
+ className?: string;
15
+ }
16
+ export declare const DiagramMinimap: React.FC<DiagramMinimapProps>;
17
+ //# sourceMappingURL=DiagramMinimap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DiagramMinimap.d.ts","sourceRoot":"","sources":["../../src/components/DiagramMinimap.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAA+B,MAAM,OAAO,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,eAAe,EAAS,MAAM,uBAAuB,CAAC;AAE9F,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,SAAS,WAAW,EAAE,CAAC;IAC9B,KAAK,EAAE,SAAS,WAAW,EAAE,CAAC;IAC9B,QAAQ,EAAE,eAAe,CAAC;IAC1B,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,eAAe,KAAK,IAAI,CAAC;IACvD,wDAAwD;IACxD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAKD,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAwGxD,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { default as React } from 'react';
2
+ import { DiagramNode, DiagramEdge } from '../types/diagramTypes';
3
+
4
+ export interface DiagramPropertyPanelProps {
5
+ selectedNode?: DiagramNode | null;
6
+ selectedEdge?: DiagramEdge | null;
7
+ onNodeChange?: (id: string, patch: Partial<Omit<DiagramNode, 'id'>>) => void;
8
+ onEdgeChange?: (id: string, patch: Partial<Omit<DiagramEdge, 'id'>>) => void;
9
+ onRemove?: (id: string) => void;
10
+ className?: string;
11
+ }
12
+ export declare const DiagramPropertyPanel: React.FC<DiagramPropertyPanelProps>;
13
+ //# sourceMappingURL=DiagramPropertyPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DiagramPropertyPanel.d.ts","sourceRoot":"","sources":["../../src/components/DiagramPropertyPanel.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAsB,MAAM,OAAO,CAAC;AAC3C,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EAIZ,MAAM,uBAAuB,CAAC;AAe/B,MAAM,WAAW,yBAAyB;IACxC,YAAY,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAClC,YAAY,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAClC,YAAY,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC;IAC7E,YAAY,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC;IAC7E,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAYD,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CAiepE,CAAC"}
@@ -0,0 +1,65 @@
1
+ import { default as React } from 'react';
2
+ import { LayoutAlgorithm, NodeShape, DiagramType, DiagramViewMode } from '../types/diagramTypes';
3
+
4
+ export type DiagramTool = 'select' | 'addNode' | 'addEdge' | 'pan' | 'delete' | 'text' | 'freehand';
5
+ export interface DiagramToolbarProps {
6
+ activeTool: DiagramTool;
7
+ onToolChange: (tool: DiagramTool) => void;
8
+ diagramType: DiagramType;
9
+ /** Callbacks wired from editor */
10
+ onAddNode?: (shape: NodeShape) => void;
11
+ onApplyLayout?: (algorithm: LayoutAlgorithm) => void;
12
+ onUndo?: () => void;
13
+ onRedo?: () => void;
14
+ canUndo?: boolean;
15
+ canRedo?: boolean;
16
+ onExport?: (format: 'svg' | 'mermaid' | 'ndd' | 'png') => void;
17
+ onZoomIn?: () => void;
18
+ onZoomOut?: () => void;
19
+ onZoomReset?: () => void;
20
+ zoomLevel?: number;
21
+ /** Format & style */
22
+ onToggleBold?: () => void;
23
+ onToggleItalic?: () => void;
24
+ isBold?: boolean;
25
+ isItalic?: boolean;
26
+ onFontFamilyChange?: (family: string) => void;
27
+ currentFontFamily?: string;
28
+ onFontSizeChange?: (size: number) => void;
29
+ currentFontSize?: number;
30
+ /** Alignment & distribute */
31
+ onAlignLeft?: () => void;
32
+ onAlignCenterH?: () => void;
33
+ onAlignRight?: () => void;
34
+ onAlignTop?: () => void;
35
+ onAlignCenterV?: () => void;
36
+ onAlignBottom?: () => void;
37
+ onDistributeH?: () => void;
38
+ onDistributeV?: () => void;
39
+ /** Arrange (z-order, group) */
40
+ onBringToFront?: () => void;
41
+ onSendToBack?: () => void;
42
+ onGroupSelected?: () => void;
43
+ onUngroupSelected?: () => void;
44
+ /** Clipboard */
45
+ onCopy?: () => void;
46
+ onPaste?: () => void;
47
+ onDuplicate?: () => void;
48
+ onSelectAll?: () => void;
49
+ /** Multi-select info */
50
+ selectionCount?: number;
51
+ /** Find */
52
+ onFind?: () => void;
53
+ showFind?: boolean;
54
+ findQuery?: string;
55
+ onFindQueryChange?: (q: string) => void;
56
+ /** View mode */
57
+ viewMode?: DiagramViewMode;
58
+ onViewModeChange?: (mode: DiagramViewMode) => void;
59
+ /** Style preset */
60
+ stylePresetId?: string;
61
+ onStylePresetChange?: (presetId: string) => void;
62
+ className?: string;
63
+ }
64
+ export declare const DiagramToolbar: React.FC<DiagramToolbarProps>;
65
+ //# sourceMappingURL=DiagramToolbar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DiagramToolbar.d.ts","sourceRoot":"","sources":["../../src/components/DiagramToolbar.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,77 @@
1
+ import { default as React } from 'react';
2
+
3
+ export interface DatabaseColumn {
4
+ name: string;
5
+ type: string;
6
+ nullable: boolean;
7
+ primaryKey?: boolean;
8
+ foreignKey?: {
9
+ table: string;
10
+ column: string;
11
+ };
12
+ unique?: boolean;
13
+ defaultValue?: string;
14
+ comment?: string;
15
+ }
16
+ export interface DatabaseTable {
17
+ name: string;
18
+ schema?: string;
19
+ columns: DatabaseColumn[];
20
+ comment?: string;
21
+ metadata?: Record<string, unknown>;
22
+ }
23
+ export interface DatabaseRelation {
24
+ id: string;
25
+ fromTable: string;
26
+ fromColumn: string;
27
+ toTable: string;
28
+ toColumn: string;
29
+ type: RelationType;
30
+ name?: string;
31
+ }
32
+ export type RelationType = 'one-to-one' | 'one-to-many' | 'many-to-one' | 'many-to-many';
33
+ export interface DatabaseSchema {
34
+ name: string;
35
+ tables: DatabaseTable[];
36
+ relations: DatabaseRelation[];
37
+ metadata?: Record<string, unknown>;
38
+ }
39
+ export interface DatabaseSchemaViewerProps {
40
+ /** Database schema data */
41
+ schema: DatabaseSchema;
42
+ /** Called when a table is clicked */
43
+ onTableClick?: (table: DatabaseTable) => void;
44
+ /** Called when a column is clicked */
45
+ onColumnClick?: (table: DatabaseTable, column: DatabaseColumn) => void;
46
+ /** Called when a relation is clicked */
47
+ onRelationClick?: (relation: DatabaseRelation) => void;
48
+ /** Show column details */
49
+ showColumnDetails?: boolean;
50
+ /** Show only primary/foreign keys */
51
+ showOnlyKeys?: boolean;
52
+ /** Highlight specific tables */
53
+ highlightTables?: string[];
54
+ /** Show minimap */
55
+ showMinimap?: boolean;
56
+ /** Table colors by schema */
57
+ schemaColors?: Record<string, string>;
58
+ /** Layout algorithm */
59
+ layout?: 'auto' | 'grid' | 'hierarchical';
60
+ /** Maximum columns to display per table */
61
+ maxColumnsDisplay?: number;
62
+ /** Additional CSS class */
63
+ className?: string;
64
+ /** Inline styles */
65
+ style?: React.CSSProperties;
66
+ }
67
+ export declare const NiceDatabaseSchemaViewer: React.FC<DatabaseSchemaViewerProps>;
68
+ /**
69
+ * Parse SQL CREATE TABLE statements to DatabaseSchema
70
+ */
71
+ export declare function parseSQLToSchema(sql: string): DatabaseSchema;
72
+ /**
73
+ * Generate SQL CREATE TABLE from DatabaseSchema
74
+ */
75
+ export declare function schemaToSQL(schema: DatabaseSchema, dialect?: 'mysql' | 'postgres' | 'mssql'): string;
76
+ export default NiceDatabaseSchemaViewer;
77
+ //# sourceMappingURL=NiceDatabaseSchemaViewer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NiceDatabaseSchemaViewer.d.ts","sourceRoot":"","sources":["../../src/components/NiceDatabaseSchemaViewer.tsx"],"names":[],"mappings":"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"}