@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.
- package/CHANGELOG.md +64 -0
- package/README.md +49 -0
- package/dist/__tests__/DiagramModel.test.d.ts +2 -0
- package/dist/__tests__/DiagramModel.test.d.ts.map +1 -0
- package/dist/__tests__/animationEngine.test.d.ts +2 -0
- package/dist/__tests__/animationEngine.test.d.ts.map +1 -0
- package/dist/__tests__/businessVisualizers.test.d.ts +2 -0
- package/dist/__tests__/businessVisualizers.test.d.ts.map +1 -0
- package/dist/__tests__/dataBinding.test.d.ts +2 -0
- package/dist/__tests__/dataBinding.test.d.ts.map +1 -0
- package/dist/__tests__/diagramTemplateGallery.test.d.ts +2 -0
- package/dist/__tests__/diagramTemplateGallery.test.d.ts.map +1 -0
- package/dist/__tests__/exportEngine.test.d.ts +2 -0
- package/dist/__tests__/exportEngine.test.d.ts.map +1 -0
- package/dist/__tests__/i18n-locales.test.d.ts +2 -0
- package/dist/__tests__/i18n-locales.test.d.ts.map +1 -0
- package/dist/__tests__/layoutEngine.test.d.ts +2 -0
- package/dist/__tests__/layoutEngine.test.d.ts.map +1 -0
- package/dist/__tests__/serialization.test.d.ts +2 -0
- package/dist/__tests__/serialization.test.d.ts.map +1 -0
- package/dist/__tests__/setup.d.ts +2 -0
- package/dist/__tests__/setup.d.ts.map +1 -0
- package/dist/__tests__/snapGrid.test.d.ts +2 -0
- package/dist/__tests__/snapGrid.test.d.ts.map +1 -0
- package/dist/__tests__/sprint24-diagrams.test.d.ts +2 -0
- package/dist/__tests__/sprint24-diagrams.test.d.ts.map +1 -0
- package/dist/components/AnimationTimeline.d.ts +21 -0
- package/dist/components/AnimationTimeline.d.ts.map +1 -0
- package/dist/components/DiagramCanvas.d.ts +54 -0
- package/dist/components/DiagramCanvas.d.ts.map +1 -0
- package/dist/components/DiagramCellRenderer.d.ts +36 -0
- package/dist/components/DiagramCellRenderer.d.ts.map +1 -0
- package/dist/components/DiagramMinimap.d.ts +17 -0
- package/dist/components/DiagramMinimap.d.ts.map +1 -0
- package/dist/components/DiagramPropertyPanel.d.ts +13 -0
- package/dist/components/DiagramPropertyPanel.d.ts.map +1 -0
- package/dist/components/DiagramToolbar.d.ts +65 -0
- package/dist/components/DiagramToolbar.d.ts.map +1 -0
- package/dist/components/NiceDatabaseSchemaViewer.d.ts +77 -0
- package/dist/components/NiceDatabaseSchemaViewer.d.ts.map +1 -0
- package/dist/components/NiceDecisionTreeEditor.d.ts +126 -0
- package/dist/components/NiceDecisionTreeEditor.d.ts.map +1 -0
- package/dist/components/NiceDependencyGraph.d.ts +104 -0
- package/dist/components/NiceDependencyGraph.d.ts.map +1 -0
- package/dist/components/NiceDiagramEditor.d.ts +24 -0
- package/dist/components/NiceDiagramEditor.d.ts.map +1 -0
- package/dist/components/NiceDiagramViewer.d.ts +19 -0
- package/dist/components/NiceDiagramViewer.d.ts.map +1 -0
- package/dist/components/NiceNetworkTopology.d.ts +125 -0
- package/dist/components/NiceNetworkTopology.d.ts.map +1 -0
- package/dist/components/NiceOrgChartVisualizer.d.ts +91 -0
- package/dist/components/NiceOrgChartVisualizer.d.ts.map +1 -0
- package/dist/components/NiceProcessMiningDiagram.d.ts +84 -0
- package/dist/components/NiceProcessMiningDiagram.d.ts.map +1 -0
- package/dist/components/NiceWorkflowVisualizer.d.ts +70 -0
- package/dist/components/NiceWorkflowVisualizer.d.ts.map +1 -0
- package/dist/components/collaborativeDiagram.d.ts +253 -0
- package/dist/components/collaborativeDiagram.d.ts.map +1 -0
- package/dist/components/diagramAdapters.d.ts +80 -0
- package/dist/components/diagramAdapters.d.ts.map +1 -0
- package/dist/components/diagramTemplates.d.ts +62 -0
- package/dist/components/diagramTemplates.d.ts.map +1 -0
- package/dist/components/shapeRegistry.d.ts +134 -0
- package/dist/components/shapeRegistry.d.ts.map +1 -0
- package/dist/components/snapGuides.d.ts +167 -0
- package/dist/components/snapGuides.d.ts.map +1 -0
- package/dist/components/workflowIntegrations.d.ts +280 -0
- package/dist/components/workflowIntegrations.d.ts.map +1 -0
- package/dist/core/DiagramModel.d.ts +56 -0
- package/dist/core/DiagramModel.d.ts.map +1 -0
- package/dist/core/animationEngine.d.ts +40 -0
- package/dist/core/animationEngine.d.ts.map +1 -0
- package/dist/core/conditionalStyling.d.ts +151 -0
- package/dist/core/conditionalStyling.d.ts.map +1 -0
- package/dist/core/dataBinding.d.ts +21 -0
- package/dist/core/dataBinding.d.ts.map +1 -0
- package/dist/core/diagramComments.d.ts +208 -0
- package/dist/core/diagramComments.d.ts.map +1 -0
- package/dist/core/diagramParticleEngine.d.ts +96 -0
- package/dist/core/diagramParticleEngine.d.ts.map +1 -0
- package/dist/core/diagramSearch.d.ts +169 -0
- package/dist/core/diagramSearch.d.ts.map +1 -0
- package/dist/core/diagramStylePresets.d.ts +56 -0
- package/dist/core/diagramStylePresets.d.ts.map +1 -0
- package/dist/core/diagramTemplateGallery.d.ts +27 -0
- package/dist/core/diagramTemplateGallery.d.ts.map +1 -0
- package/dist/core/diagramVersioning.d.ts +124 -0
- package/dist/core/diagramVersioning.d.ts.map +1 -0
- package/dist/core/exportEngine.d.ts +11 -0
- package/dist/core/exportEngine.d.ts.map +1 -0
- package/dist/core/i18n.d.ts +19 -0
- package/dist/core/i18n.d.ts.map +1 -0
- package/dist/core/layoutEngine.d.ts +10 -0
- package/dist/core/layoutEngine.d.ts.map +1 -0
- package/dist/core/serialization.d.ts +16 -0
- package/dist/core/serialization.d.ts.map +1 -0
- package/dist/core/snapGrid.d.ts +51 -0
- package/dist/core/snapGrid.d.ts.map +1 -0
- package/dist/hooks/useDiagramEditor.d.ts +64 -0
- package/dist/hooks/useDiagramEditor.d.ts.map +1 -0
- package/dist/index.cjs +3484 -0
- package/dist/index.d.ts +35 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.mjs +58661 -0
- package/dist/style.css +1 -0
- package/dist/types/diagramTypes.d.ts +410 -0
- package/dist/types/diagramTypes.d.ts.map +1 -0
- package/package.json +59 -0
package/dist/style.css
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.nice-diagram-editor{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#fff;color:#222;border:1px solid #ddd;border-radius:6px;overflow:hidden}.nice-diagram-toolbar{display:flex;align-items:center;gap:2px;padding:4px 8px;background:#f5f5f5;border-bottom:1px solid #ddd;flex-wrap:wrap}.nice-diagram-toolbar__group{display:flex;gap:2px;padding-right:6px;border-right:1px solid #e0e0e0;margin-right:4px}.nice-diagram-toolbar__group:last-child{border-right:none;margin-right:0}.nice-diagram-toolbar__group--relative{position:relative}.nice-diagram-toolbar__btn{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border:1px solid transparent;border-radius:4px;background:transparent;cursor:pointer;font-size:13px;color:#444;white-space:nowrap;transition:background .15s,border-color .15s}.nice-diagram-toolbar__btn:hover{background:#e8e8e8}.nice-diagram-toolbar__btn--active{background:#dbeafe;border-color:#2196f3;color:#1565c0}.nice-diagram-toolbar__btn:disabled{opacity:.4;cursor:default}.nice-diagram-toolbar__dropdown{position:absolute;top:100%;left:0;z-index:10;background:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:0 4px 12px #0000001f;min-width:140px;padding:4px 0}.nice-diagram-toolbar__dropdown-item{display:block;width:100%;text-align:left;padding:6px 12px;border:none;background:none;cursor:pointer;font-size:13px;color:#333}.nice-diagram-toolbar__dropdown-item:hover{background:#f0f4ff}.nice-diagram-property-panel{padding:12px;font-size:13px}.nice-diagram-property-panel--empty{display:flex;align-items:center;justify-content:center;min-height:100px}.nice-diagram-property-panel__hint{color:#999;font-style:italic}.nice-diagram-property-panel__title{font-size:14px;font-weight:600;margin:0 0 12px;color:#333}.nice-diagram-property-panel__label{display:flex;flex-direction:column;gap:3px;margin-bottom:10px;font-size:12px;color:#666}.nice-diagram-property-panel__label--half{flex:1;min-width:0}.nice-diagram-property-panel__label--check{flex-direction:row;align-items:center;gap:6px}.nice-diagram-property-panel__row{display:flex;gap:8px}.nice-diagram-property-panel__input,.nice-diagram-property-panel__select{padding:4px 6px;border:1px solid #ccc;border-radius:4px;font-size:13px;outline:none}.nice-diagram-property-panel__input:focus,.nice-diagram-property-panel__select:focus{border-color:#2196f3}.nice-diagram-property-panel__color{width:100%;height:28px;padding:0;border:1px solid #ccc;border-radius:4px;cursor:pointer}.nice-diagram-property-panel__btn{width:100%;padding:6px 12px;border:1px solid #ccc;border-radius:4px;cursor:pointer;font-size:13px;margin-top:8px;transition:background .15s}.nice-diagram-property-panel__btn--danger{color:#d32f2f;border-color:#d32f2f;background:#fff5f5}.nice-diagram-property-panel__btn--danger:hover{background:#ffebee}.nice-diagram-minimap{box-shadow:0 2px 8px #0000001a}.nice-diagram-timeline{padding:8px 12px;font-size:13px;min-height:80px}.nice-diagram-timeline__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.nice-diagram-timeline__title{font-size:13px;font-weight:600;margin:0;color:#333}.nice-diagram-timeline__controls{display:flex;gap:4px}.nice-diagram-timeline__btn{padding:3px 8px;border:1px solid #ccc;border-radius:4px;background:#fff;cursor:pointer;font-size:12px}.nice-diagram-timeline__btn:hover{background:#f0f0f0}.nice-diagram-timeline__empty{color:#999;font-style:italic;text-align:center;padding:12px;margin:0}.nice-diagram-timeline__tracks{display:flex;flex-direction:column;gap:4px}.nice-diagram-timeline__track{display:flex;align-items:center;gap:8px}.nice-diagram-timeline__track-label{display:flex;align-items:center;gap:4px;min-width:160px;font-size:12px}.nice-diagram-timeline__track-name{font-weight:500;color:#333}.nice-diagram-timeline__track-effect{color:#888;font-size:11px}.nice-diagram-timeline__track-remove{margin-left:auto;border:none;background:none;color:#d32f2f;cursor:pointer;font-size:16px;line-height:1;padding:0 2px}.nice-diagram-timeline__track-bar{flex:1;height:20px;background:#f0f0f0;border-radius:3px;position:relative;overflow:hidden}.nice-diagram-timeline__track-segment{position:absolute;top:2px;bottom:2px;background:#64b5f6;border-radius:2px;min-width:4px}.nice-diagram-timeline__ruler{position:relative;height:16px;margin-top:4px;margin-left:168px}.nice-diagram-timeline__ruler-mark{position:absolute;font-size:10px;color:#aaa;transform:translate(-50%)}.nice-diagram-viewer{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#fff;border:1px solid #ddd;border-radius:6px;overflow:hidden}.nice-diagram-viewer__btn{padding:3px 8px;border:1px solid #ccc;border-radius:4px;background:#fff;cursor:pointer;font-size:12px}.nice-diagram-viewer__btn:hover{background:#f0f0f0}.nice-diagram-canvas{-webkit-user-select:none;user-select:none}._cell_10q3j_9{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid var(--nice-border-light, #e2e8f0);transition:all .15s ease}._cell_10q3j_9._expandable_10q3j_29{cursor:pointer}._cell_10q3j_9._expandable_10q3j_29:hover{border-color:var(--nice-primary-light, #93c5fd);box-shadow:0 1px 4px #3b82f626}._cell_10q3j_9._expandable_10q3j_29:active{transform:scale(.98)}._svg_10q3j_57{display:block}._emptyText_10q3j_67{color:var(--nice-text-tertiary, #94a3b8);font-size:.75rem}._badge_10q3j_79{position:absolute;top:2px;right:2px;display:flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--nice-bg-tertiary, #e2e8f0);color:var(--nice-text-secondary, #64748b);font-size:.625rem;font-weight:600;line-height:1}._expandIcon_10q3j_117{position:absolute;bottom:2px;right:2px;display:flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:4px;background:#ffffffd9;color:var(--nice-text-secondary, #64748b);opacity:0;transition:opacity .15s ease}._cell_10q3j_9._expandable_10q3j_29:hover ._expandIcon_10q3j_117{opacity:1}._modalOverlay_10q3j_165{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10000;animation:_fadeIn_10q3j_1 .15s ease}@keyframes _fadeIn_10q3j_1{0%{opacity:0}to{opacity:1}}._modalContent_10q3j_213{display:flex;flex-direction:column;width:90vw;max-width:800px;height:80vh;max-height:600px;background:var(--nice-bg-primary, #ffffff);border-radius:12px;box-shadow:0 20px 40px #0003;overflow:hidden;animation:_slideUp_10q3j_1 .2s ease}@keyframes _slideUp_10q3j_1{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}._modalHeader_10q3j_263{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--nice-border, #e2e8f0);background:var(--nice-bg-secondary, #f8fafc)}._modalTitle_10q3j_281{margin:0;font-size:1rem;font-weight:600;color:var(--nice-text-primary, #1e293b)}._modalClose_10q3j_295{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:6px;background:transparent;color:var(--nice-text-secondary, #64748b);cursor:pointer;transition:all .15s ease}._modalClose_10q3j_295:hover{background:var(--nice-bg-tertiary, #e2e8f0);color:var(--nice-text-primary, #1e293b)}._modalBody_10q3j_333{flex:1;display:flex;align-items:center;justify-content:center;padding:20px;background:var(--nice-bg-primary, #ffffff);overflow:hidden}._modalSvg_10q3j_353{max-width:100%;max-height:100%;width:auto;height:auto}._modalFooter_10q3j_367{display:flex;align-items:center;justify-content:flex-end;padding:12px 20px;border-top:1px solid var(--nice-border, #e2e8f0);background:var(--nice-bg-secondary, #f8fafc)}._modalInfo_10q3j_385{font-size:.75rem;color:var(--nice-text-secondary, #64748b)}@media (prefers-color-scheme: dark){._cell_10q3j_9{border-color:var(--nice-border-dark, #374151)}._badge_10q3j_79{background:var(--nice-bg-dark-tertiary, #374151);color:var(--nice-text-dark-secondary, #9ca3af)}._expandIcon_10q3j_117{background:#000000bf;color:var(--nice-text-dark-secondary, #9ca3af)}._modalContent_10q3j_213{box-shadow:0 20px 40px #00000080}}
|
|
@@ -0,0 +1,410 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* NiceToDev Diagram Document Format (.ndd.json)
|
|
3
|
+
*
|
|
4
|
+
* Custom format supporting animated, data-bound diagrams.
|
|
5
|
+
* Designed for flowcharts, org charts, BPMN, ER, sequence, state machine, etc.
|
|
6
|
+
*/
|
|
7
|
+
export interface NiceDiagramDocument {
|
|
8
|
+
/** Format version — currently "1.0" */
|
|
9
|
+
version: '1.0';
|
|
10
|
+
/** Unique document identifier */
|
|
11
|
+
id: string;
|
|
12
|
+
/** User-visible title */
|
|
13
|
+
title: string;
|
|
14
|
+
/** Diagram type hint (editor adapts toolbar/templates) */
|
|
15
|
+
diagramType: DiagramType;
|
|
16
|
+
/** All nodes (boxes, shapes) */
|
|
17
|
+
nodes: DiagramNode[];
|
|
18
|
+
/** All edges (connections between nodes) */
|
|
19
|
+
edges: DiagramEdge[];
|
|
20
|
+
/** Logical groups of nodes */
|
|
21
|
+
groups: DiagramGroup[];
|
|
22
|
+
/** Animation timeline definitions */
|
|
23
|
+
animations: DiagramAnimation[];
|
|
24
|
+
/** Viewport state (for restoring pan/zoom) */
|
|
25
|
+
viewport: DiagramViewport;
|
|
26
|
+
/** Document-level metadata */
|
|
27
|
+
metadata: DiagramMetadata;
|
|
28
|
+
/** Global theme overrides */
|
|
29
|
+
theme?: DiagramThemeOverrides;
|
|
30
|
+
/** Active style preset ID (from built-in or custom) */
|
|
31
|
+
stylePresetId?: string;
|
|
32
|
+
/** Custom style overrides applied on top of the preset */
|
|
33
|
+
styleOverrides?: Partial<DiagramStylePresetConfig>;
|
|
34
|
+
/** Named animation modes — multiple sets, only one active at a time */
|
|
35
|
+
animationModes?: DiagramAnimationMode[];
|
|
36
|
+
/** Currently active animation mode ID */
|
|
37
|
+
activeAnimationModeId?: string;
|
|
38
|
+
/** Player/viewer configuration */
|
|
39
|
+
playerConfig?: DiagramPlayerConfig;
|
|
40
|
+
}
|
|
41
|
+
/** A named diagram style preset — complete visual recipe */
|
|
42
|
+
export interface DiagramStylePreset {
|
|
43
|
+
id: string;
|
|
44
|
+
name: string;
|
|
45
|
+
/** Category for grouping in the picker */
|
|
46
|
+
category: DiagramStylePresetCategory;
|
|
47
|
+
/** Optional NiceTheme name this preset derives from */
|
|
48
|
+
themeSource?: string;
|
|
49
|
+
/** Preview thumbnail (small SVG or data URI) */
|
|
50
|
+
thumbnail?: string;
|
|
51
|
+
/** The actual style values */
|
|
52
|
+
config: DiagramStylePresetConfig;
|
|
53
|
+
}
|
|
54
|
+
export type DiagramStylePresetCategory = 'corporate' | 'technical' | 'creative' | 'dark' | 'nature' | 'pastel' | 'retro' | 'accessibility' | 'theme-based' | 'custom';
|
|
55
|
+
/** Full configuration of visual styles for every diagram element */
|
|
56
|
+
export interface DiagramStylePresetConfig {
|
|
57
|
+
/** Canvas/background */
|
|
58
|
+
canvas: {
|
|
59
|
+
background: string;
|
|
60
|
+
gridColor: string;
|
|
61
|
+
gridSize: number;
|
|
62
|
+
selectionColor: string;
|
|
63
|
+
};
|
|
64
|
+
/** Default node styles */
|
|
65
|
+
nodeDefaults: Partial<NodeStyle>;
|
|
66
|
+
/** Default edge styles */
|
|
67
|
+
edgeDefaults: Partial<EdgeStyle>;
|
|
68
|
+
/** Default group styles */
|
|
69
|
+
groupDefaults: Partial<GroupStyle>;
|
|
70
|
+
/** Font family applied globally */
|
|
71
|
+
fontFamily: string;
|
|
72
|
+
/** Color palette — semantic named slots */
|
|
73
|
+
palette: DiagramColorPalette;
|
|
74
|
+
/** Glow and particle effect defaults */
|
|
75
|
+
effects?: DiagramEffectDefaults;
|
|
76
|
+
}
|
|
77
|
+
export interface DiagramColorPalette {
|
|
78
|
+
primary: string;
|
|
79
|
+
primaryLight: string;
|
|
80
|
+
secondary: string;
|
|
81
|
+
accent: string;
|
|
82
|
+
success: string;
|
|
83
|
+
warning: string;
|
|
84
|
+
error: string;
|
|
85
|
+
info: string;
|
|
86
|
+
text: string;
|
|
87
|
+
textMuted: string;
|
|
88
|
+
border: string;
|
|
89
|
+
surface: string;
|
|
90
|
+
surfaceAlt: string;
|
|
91
|
+
}
|
|
92
|
+
export interface DiagramEffectDefaults {
|
|
93
|
+
/** Default glow color for effects */
|
|
94
|
+
glowColor?: string;
|
|
95
|
+
/** Default glow intensity (0-1) */
|
|
96
|
+
glowIntensity?: number;
|
|
97
|
+
/** Default particle color */
|
|
98
|
+
particleColor?: string;
|
|
99
|
+
/** Default liquid flow color */
|
|
100
|
+
liquidColor?: string;
|
|
101
|
+
/** Default liquid flow end color */
|
|
102
|
+
liquidColorEnd?: string;
|
|
103
|
+
}
|
|
104
|
+
/** A named animation set — multiple can exist, one active at a time */
|
|
105
|
+
export interface DiagramAnimationMode {
|
|
106
|
+
id: string;
|
|
107
|
+
/** User-visible name (e.g. "Onboarding flow", "Error sequence") */
|
|
108
|
+
name: string;
|
|
109
|
+
/** Description of what this mode shows */
|
|
110
|
+
description?: string;
|
|
111
|
+
/** Animations belonging to this mode */
|
|
112
|
+
animations: DiagramAnimation[];
|
|
113
|
+
/** Whether this is the default mode */
|
|
114
|
+
isDefault?: boolean;
|
|
115
|
+
/** Auto-play in player mode */
|
|
116
|
+
autoPlay?: boolean;
|
|
117
|
+
/** Loop all animations */
|
|
118
|
+
loop?: boolean;
|
|
119
|
+
}
|
|
120
|
+
/** How the diagram behaves in player (viewer) mode */
|
|
121
|
+
export interface DiagramPlayerConfig {
|
|
122
|
+
/** View mode */
|
|
123
|
+
mode: DiagramViewMode;
|
|
124
|
+
/** Whether interactions are enabled in player */
|
|
125
|
+
interactionsEnabled: boolean;
|
|
126
|
+
/** Whether to show the animation mode switcher in player */
|
|
127
|
+
showModeSwitcher: boolean;
|
|
128
|
+
/** Show playback controls */
|
|
129
|
+
showPlaybackControls: boolean;
|
|
130
|
+
/** Auto-start animation on load */
|
|
131
|
+
autoPlay: boolean;
|
|
132
|
+
/** Show ghost elements for click-to-reveal interactions */
|
|
133
|
+
showGhostElements: boolean;
|
|
134
|
+
/** Ghost element opacity (0-1, default 0.15) */
|
|
135
|
+
ghostOpacity: number;
|
|
136
|
+
/** Ghost element cursor icon style */
|
|
137
|
+
ghostCursorStyle: 'pointer' | 'hand' | 'plus' | 'eye';
|
|
138
|
+
}
|
|
139
|
+
export type DiagramViewMode = 'editor' | 'player' | 'playerAnimated';
|
|
140
|
+
export type DiagramType = 'flowchart' | 'orgchart' | 'mindmap' | 'bpmn' | 'er' | 'sequence' | 'stateMachine' | 'networkTopology' | 'decisionTree' | 'custom';
|
|
141
|
+
export interface DiagramNode {
|
|
142
|
+
id: string;
|
|
143
|
+
/** Display label (supports simple markdown: **bold**, *italic*) */
|
|
144
|
+
label: string;
|
|
145
|
+
/** Secondary description (shown below label in smaller font) */
|
|
146
|
+
description?: string;
|
|
147
|
+
/** Position on canvas */
|
|
148
|
+
position: Point;
|
|
149
|
+
/** Size in pixels */
|
|
150
|
+
size: Size;
|
|
151
|
+
/** Visual shape */
|
|
152
|
+
shape: NodeShape;
|
|
153
|
+
/** Style overrides */
|
|
154
|
+
style: NodeStyle;
|
|
155
|
+
/** Connection ports */
|
|
156
|
+
ports: NodePort[];
|
|
157
|
+
/** Arbitrary user data (for data-bound diagrams) */
|
|
158
|
+
data?: Record<string, unknown>;
|
|
159
|
+
/** Icon identifier (from @nice2dev/icons or URL) */
|
|
160
|
+
icon?: string;
|
|
161
|
+
/** Whether the node is locked (cannot be moved/edited) */
|
|
162
|
+
locked?: boolean;
|
|
163
|
+
/** Group membership */
|
|
164
|
+
groupId?: string;
|
|
165
|
+
/** Interaction triggers (click, hover, etc.) */
|
|
166
|
+
interactions?: NodeInteraction[];
|
|
167
|
+
/** Expand/collapse state for container nodes */
|
|
168
|
+
collapsed?: boolean;
|
|
169
|
+
/** Children node IDs (for collapsible hierarchy) */
|
|
170
|
+
childNodeIds?: string[];
|
|
171
|
+
/** Whether this node is hidden (collapsed by parent) */
|
|
172
|
+
hidden?: boolean;
|
|
173
|
+
}
|
|
174
|
+
/** Interaction trigger on a node — fires on user action */
|
|
175
|
+
export interface NodeInteraction {
|
|
176
|
+
id: string;
|
|
177
|
+
/** Trigger event */
|
|
178
|
+
trigger: InteractionTrigger;
|
|
179
|
+
/** Action to perform */
|
|
180
|
+
action: InteractionAction;
|
|
181
|
+
/** Target element ID (node/edge/group). 'self' = this node */
|
|
182
|
+
targetId: string;
|
|
183
|
+
/** Transition/animation config */
|
|
184
|
+
transition?: InteractionTransition;
|
|
185
|
+
}
|
|
186
|
+
export type InteractionTrigger = 'click' | 'doubleClick' | 'hover' | 'hoverLeave' | 'contextMenu';
|
|
187
|
+
export type InteractionAction = 'toggleCollapse' | 'highlight' | 'navigate' | 'showTooltip' | 'playAnimation' | 'toggleVisibility' | 'startFlow' | 'stopFlow' | 'reveal' | 'switchAnimationMode';
|
|
188
|
+
export interface InteractionTransition {
|
|
189
|
+
type: 'expand' | 'collapse' | 'fadeIn' | 'fadeOut' | 'slideDown' | 'slideUp' | 'morph';
|
|
190
|
+
durationMs: number;
|
|
191
|
+
easing: EasingType;
|
|
192
|
+
}
|
|
193
|
+
export type NodeShape = 'rectangle' | 'roundedRect' | 'ellipse' | 'circle' | 'diamond' | 'hexagon' | 'parallelogram' | 'cylinder' | 'triangle' | 'cloud' | 'document' | 'actor' | 'custom';
|
|
194
|
+
export interface NodeStyle {
|
|
195
|
+
backgroundColor?: string;
|
|
196
|
+
/** Gradient second colour (linear/radial blend from backgroundColor) */
|
|
197
|
+
gradientColor?: string;
|
|
198
|
+
/** Gradient direction */
|
|
199
|
+
gradientDirection?: 'horizontal' | 'vertical' | 'diagonal' | 'radial';
|
|
200
|
+
borderColor?: string;
|
|
201
|
+
borderWidth?: number;
|
|
202
|
+
borderRadius?: number;
|
|
203
|
+
borderStyle?: 'solid' | 'dashed' | 'dotted';
|
|
204
|
+
fontFamily?: string;
|
|
205
|
+
fontSize?: number;
|
|
206
|
+
fontColor?: string;
|
|
207
|
+
fontWeight?: 'normal' | 'bold';
|
|
208
|
+
fontStyle?: 'normal' | 'italic';
|
|
209
|
+
textAlign?: 'left' | 'center' | 'right';
|
|
210
|
+
verticalAlign?: 'top' | 'middle' | 'bottom';
|
|
211
|
+
opacity?: number;
|
|
212
|
+
shadow?: boolean;
|
|
213
|
+
/** Rotation in degrees */
|
|
214
|
+
rotation?: number;
|
|
215
|
+
/** Hyperlink URL */
|
|
216
|
+
linkUrl?: string;
|
|
217
|
+
/** Ghost opacity for click-to-reveal elements (0-1). 0 = fully hidden, 0.15 = subtle hint */
|
|
218
|
+
ghostOpacity?: number;
|
|
219
|
+
/** Glow color for glow/shine effects */
|
|
220
|
+
glowColor?: string;
|
|
221
|
+
/** Glow intensity (0-1) */
|
|
222
|
+
glowIntensity?: number;
|
|
223
|
+
}
|
|
224
|
+
export interface NodePort {
|
|
225
|
+
id: string;
|
|
226
|
+
/** Position on the node boundary */
|
|
227
|
+
side: 'top' | 'right' | 'bottom' | 'left';
|
|
228
|
+
/** Offset along the side (0 = start, 0.5 = center, 1 = end) */
|
|
229
|
+
offset: number;
|
|
230
|
+
/** Label shown near port (optional) */
|
|
231
|
+
label?: string;
|
|
232
|
+
}
|
|
233
|
+
export interface DiagramEdge {
|
|
234
|
+
id: string;
|
|
235
|
+
/** Source node ID */
|
|
236
|
+
sourceNodeId: string;
|
|
237
|
+
/** Source port ID */
|
|
238
|
+
sourcePortId: string;
|
|
239
|
+
/** Target node ID */
|
|
240
|
+
targetNodeId: string;
|
|
241
|
+
/** Target port ID */
|
|
242
|
+
targetPortId: string;
|
|
243
|
+
/** Edge label (shown at midpoint) */
|
|
244
|
+
label?: string;
|
|
245
|
+
/** Style overrides */
|
|
246
|
+
style: EdgeStyle;
|
|
247
|
+
/** Routing waypoints (for manual routing) */
|
|
248
|
+
waypoints?: Point[];
|
|
249
|
+
/** Arbitrary user data */
|
|
250
|
+
data?: Record<string, unknown>;
|
|
251
|
+
}
|
|
252
|
+
export interface EdgeStyle {
|
|
253
|
+
strokeColor?: string;
|
|
254
|
+
strokeWidth?: number;
|
|
255
|
+
strokeDash?: number[];
|
|
256
|
+
lineType?: 'straight' | 'orthogonal' | 'bezier' | 'step';
|
|
257
|
+
sourceArrow?: ArrowType;
|
|
258
|
+
targetArrow?: ArrowType;
|
|
259
|
+
animated?: boolean;
|
|
260
|
+
/** Flow animation — dots moving along the edge */
|
|
261
|
+
flowSpeed?: number;
|
|
262
|
+
opacity?: number;
|
|
263
|
+
/** Liquid flow configuration */
|
|
264
|
+
liquidFlow?: LiquidFlowConfig;
|
|
265
|
+
}
|
|
266
|
+
/** Liquid flow animation that fills an edge like a pipe */
|
|
267
|
+
export interface LiquidFlowConfig {
|
|
268
|
+
/** Whether the flow is currently active */
|
|
269
|
+
active: boolean;
|
|
270
|
+
/** Fill color */
|
|
271
|
+
color: string;
|
|
272
|
+
/** Secondary color for gradient effect */
|
|
273
|
+
colorEnd?: string;
|
|
274
|
+
/** Flow speed (0-10, default 1) */
|
|
275
|
+
speed: number;
|
|
276
|
+
/** Fill progress (0-1) — for one-shot fill animations */
|
|
277
|
+
progress?: number;
|
|
278
|
+
/** Pipe/edge width for liquid (default: strokeWidth * 3) */
|
|
279
|
+
pipeWidth?: number;
|
|
280
|
+
/** Particle density (number of bubble/particles, 0 = none) */
|
|
281
|
+
particleDensity?: number;
|
|
282
|
+
/** Direction: 'forward' (source→target) or 'reverse' */
|
|
283
|
+
direction?: 'forward' | 'reverse';
|
|
284
|
+
/** Turbulence amount (0-1) for wavy distortion */
|
|
285
|
+
turbulence?: number;
|
|
286
|
+
}
|
|
287
|
+
export type ArrowType = 'none' | 'arrow' | 'diamond' | 'circle' | 'openArrow';
|
|
288
|
+
export interface DiagramGroup {
|
|
289
|
+
id: string;
|
|
290
|
+
label: string;
|
|
291
|
+
/** IDs of child nodes */
|
|
292
|
+
nodeIds: string[];
|
|
293
|
+
style?: GroupStyle;
|
|
294
|
+
/** Nested subgroup IDs */
|
|
295
|
+
childGroupIds?: string[];
|
|
296
|
+
collapsed?: boolean;
|
|
297
|
+
/** Transition animation for expand/collapse */
|
|
298
|
+
collapseTransition?: InteractionTransition;
|
|
299
|
+
}
|
|
300
|
+
export interface GroupStyle {
|
|
301
|
+
backgroundColor?: string;
|
|
302
|
+
borderColor?: string;
|
|
303
|
+
borderWidth?: number;
|
|
304
|
+
borderStyle?: 'solid' | 'dashed' | 'dotted';
|
|
305
|
+
borderRadius?: number;
|
|
306
|
+
labelColor?: string;
|
|
307
|
+
padding?: number;
|
|
308
|
+
}
|
|
309
|
+
export interface DiagramAnimation {
|
|
310
|
+
id: string;
|
|
311
|
+
/** Human-readable name */
|
|
312
|
+
name: string;
|
|
313
|
+
/** Target element ID (node or edge) */
|
|
314
|
+
targetId: string;
|
|
315
|
+
/** Target type */
|
|
316
|
+
targetType: 'node' | 'edge' | 'group';
|
|
317
|
+
/** Animation effect */
|
|
318
|
+
effect: AnimationEffect;
|
|
319
|
+
/** Start time in milliseconds (relative to animation start) */
|
|
320
|
+
startMs: number;
|
|
321
|
+
/** Duration in milliseconds */
|
|
322
|
+
durationMs: number;
|
|
323
|
+
/** Easing function */
|
|
324
|
+
easing: EasingType;
|
|
325
|
+
/** Delay before starting */
|
|
326
|
+
delayMs?: number;
|
|
327
|
+
/** Number of repeats (0 = play once, -1 = infinite) */
|
|
328
|
+
repeat?: number;
|
|
329
|
+
}
|
|
330
|
+
export type AnimationEffect = 'fadeIn' | 'fadeOut' | 'slideInLeft' | 'slideInRight' | 'slideInTop' | 'slideInBottom' | 'zoomIn' | 'zoomOut' | 'pulse' | 'shake' | 'highlight' | 'flowPulse' | 'bounce' | 'glow' | 'colorShift' | 'liquidFill' | 'expand' | 'collapse' | 'ripple' | 'typewriter' | 'morphShape' | 'drawPath' | 'particleTrail';
|
|
331
|
+
export type EasingType = 'linear' | 'easeIn' | 'easeOut' | 'easeInOut' | 'spring' | 'bounce';
|
|
332
|
+
export interface DiagramViewport {
|
|
333
|
+
x: number;
|
|
334
|
+
y: number;
|
|
335
|
+
zoom: number;
|
|
336
|
+
}
|
|
337
|
+
export interface DiagramMetadata {
|
|
338
|
+
createdAt: string;
|
|
339
|
+
updatedAt: string;
|
|
340
|
+
author?: string;
|
|
341
|
+
description?: string;
|
|
342
|
+
tags?: string[];
|
|
343
|
+
}
|
|
344
|
+
export interface DiagramThemeOverrides {
|
|
345
|
+
canvasBackground?: string;
|
|
346
|
+
gridColor?: string;
|
|
347
|
+
gridSize?: number;
|
|
348
|
+
selectionColor?: string;
|
|
349
|
+
fontFamily?: string;
|
|
350
|
+
/** Default node style (applied under per-node overrides) */
|
|
351
|
+
nodeDefaults?: Partial<NodeStyle>;
|
|
352
|
+
/** Default edge style */
|
|
353
|
+
edgeDefaults?: Partial<EdgeStyle>;
|
|
354
|
+
/** Default group style */
|
|
355
|
+
groupDefaults?: Partial<GroupStyle>;
|
|
356
|
+
/** Semantic color palette (populated from style preset or theme) */
|
|
357
|
+
palette?: Partial<DiagramColorPalette>;
|
|
358
|
+
/** Effect defaults */
|
|
359
|
+
effects?: DiagramEffectDefaults;
|
|
360
|
+
}
|
|
361
|
+
export interface Point {
|
|
362
|
+
x: number;
|
|
363
|
+
y: number;
|
|
364
|
+
}
|
|
365
|
+
export interface Size {
|
|
366
|
+
width: number;
|
|
367
|
+
height: number;
|
|
368
|
+
}
|
|
369
|
+
export type LayoutAlgorithm = 'dagre' | 'forceDirected' | 'grid' | 'radial' | 'tree' | 'manual';
|
|
370
|
+
export interface LayoutOptions {
|
|
371
|
+
algorithm: LayoutAlgorithm;
|
|
372
|
+
direction?: 'TB' | 'BT' | 'LR' | 'RL';
|
|
373
|
+
nodeSpacing?: number;
|
|
374
|
+
rankSpacing?: number;
|
|
375
|
+
centerGraph?: boolean;
|
|
376
|
+
}
|
|
377
|
+
export interface DiagramDataBinding {
|
|
378
|
+
/** Data source identifier (REST URL, SignalR hub, OData endpoint) */
|
|
379
|
+
sourceUrl: string;
|
|
380
|
+
/** How to map data records to nodes */
|
|
381
|
+
nodeMapping: {
|
|
382
|
+
idField: string;
|
|
383
|
+
labelField: string;
|
|
384
|
+
parentField?: string;
|
|
385
|
+
descriptionField?: string;
|
|
386
|
+
iconField?: string;
|
|
387
|
+
colorField?: string;
|
|
388
|
+
};
|
|
389
|
+
/** How to map data records to edges (if separate from node hierarchy) */
|
|
390
|
+
edgeMapping?: {
|
|
391
|
+
sourceField: string;
|
|
392
|
+
targetField: string;
|
|
393
|
+
labelField?: string;
|
|
394
|
+
};
|
|
395
|
+
/** Refresh interval in ms (0 = manual) */
|
|
396
|
+
refreshIntervalMs?: number;
|
|
397
|
+
}
|
|
398
|
+
export type DiagramExportFormat = 'ndd.json' | 'svg' | 'png' | 'pdf' | 'mermaid';
|
|
399
|
+
export interface DiagramExportOptions {
|
|
400
|
+
format: DiagramExportFormat;
|
|
401
|
+
/** Include animations metadata in SVG export */
|
|
402
|
+
includeAnimations?: boolean;
|
|
403
|
+
/** Background color (transparent for PNG) */
|
|
404
|
+
background?: string;
|
|
405
|
+
/** Scale factor for raster exports */
|
|
406
|
+
scale?: number;
|
|
407
|
+
/** Fit content to page (PDF) */
|
|
408
|
+
fitToPage?: boolean;
|
|
409
|
+
}
|
|
410
|
+
//# sourceMappingURL=diagramTypes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diagramTypes.d.ts","sourceRoot":"","sources":["../../src/types/diagramTypes.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@nice2dev/ui-diagrams",
|
|
3
|
+
"version": "1.0.2",
|
|
4
|
+
"description": "Nice2Dev Diagram Editor & Viewer — flowcharts, org charts, BPMN, ER diagrams with animations, data binding, and custom .ndd.json format",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "dist/index.cjs",
|
|
7
|
+
"module": "dist/index.mjs",
|
|
8
|
+
"types": "dist/index.d.ts",
|
|
9
|
+
"exports": {
|
|
10
|
+
".": {
|
|
11
|
+
"types": "./dist/index.d.ts",
|
|
12
|
+
"import": "./dist/index.mjs",
|
|
13
|
+
"require": "./dist/index.cjs"
|
|
14
|
+
},
|
|
15
|
+
"./style.css": "./dist/style.css"
|
|
16
|
+
},
|
|
17
|
+
"files": ["dist", "LICENSE", "CHANGELOG.md", "README.md"],
|
|
18
|
+
"sideEffects": ["*.css"],
|
|
19
|
+
"scripts": {
|
|
20
|
+
"dev": "vite",
|
|
21
|
+
"build": "vite build",
|
|
22
|
+
"build:full": "tsc -p tsconfig.build.json && vite build",
|
|
23
|
+
"test": "vitest run",
|
|
24
|
+
"test:watch": "vitest",
|
|
25
|
+
"test:coverage": "vitest run --coverage",
|
|
26
|
+
"typecheck": "tsc --noEmit",
|
|
27
|
+
"prepublishOnly": "npm run build"
|
|
28
|
+
},
|
|
29
|
+
"peerDependencies": {
|
|
30
|
+
"@nice2dev/ui": "^1.0.0",
|
|
31
|
+
"react": ">=17.0.0",
|
|
32
|
+
"react-dom": ">=17.0.0"
|
|
33
|
+
},
|
|
34
|
+
"devDependencies": {
|
|
35
|
+
"@testing-library/jest-dom": "^6.9.1",
|
|
36
|
+
"@testing-library/react": "^14.0.0",
|
|
37
|
+
"@types/react": "^18.2.0",
|
|
38
|
+
"@types/react-dom": "^18.2.0",
|
|
39
|
+
"@vitejs/plugin-react": "^4.2.0",
|
|
40
|
+
"react": "^18.2.0",
|
|
41
|
+
"react-dom": "^18.2.0",
|
|
42
|
+
"typescript": "^5.3.0",
|
|
43
|
+
"vite": "^5.0.0",
|
|
44
|
+
"vite-plugin-dts": "^3.7.0",
|
|
45
|
+
"vitest": "^4.1.0"
|
|
46
|
+
},
|
|
47
|
+
"keywords": [
|
|
48
|
+
"react", "diagram", "flowchart", "editor", "viewer", "org-chart",
|
|
49
|
+
"bpmn", "er-diagram", "mind-map", "sequence-diagram", "state-machine",
|
|
50
|
+
"animations", "data-binding", "nice2dev", "ndd"
|
|
51
|
+
],
|
|
52
|
+
"author": "NiceToDev",
|
|
53
|
+
"license": "MIT",
|
|
54
|
+
"repository": {
|
|
55
|
+
"type": "git",
|
|
56
|
+
"url": "https://github.com/nicetoDev/NiceToDev.UI",
|
|
57
|
+
"directory": "packages/ui-diagrams"
|
|
58
|
+
}
|
|
59
|
+
}
|