@nice2dev/ui-diagrams 1.0.29 → 1.1.5
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 +4 -0
- package/dist/__tests__/setup.d.ts +0 -1
- package/dist/components/AnimationTimeline.d.ts +0 -1
- package/dist/components/DiagramCanvas.d.ts +0 -1
- package/dist/components/DiagramCellRenderer.d.ts +0 -1
- package/dist/components/DiagramMinimap.d.ts +0 -1
- package/dist/components/DiagramPropertyPanel.d.ts +0 -1
- package/dist/components/DiagramToolbar.d.ts +0 -1
- package/dist/components/NiceDatabaseSchemaViewer.d.ts +0 -1
- package/dist/components/NiceDecisionTreeEditor.d.ts +0 -1
- package/dist/components/NiceDependencyGraph.d.ts +0 -1
- package/dist/components/NiceDiagramEditor.d.ts +0 -1
- package/dist/components/NiceDiagramViewer.d.ts +0 -1
- package/dist/components/NiceNetworkTopology.d.ts +0 -1
- package/dist/components/NiceOrgChartVisualizer.d.ts +0 -1
- package/dist/components/NiceProcessMiningDiagram.d.ts +0 -1
- package/dist/components/NiceWorkflowVisualizer.d.ts +0 -1
- package/dist/components/collaborativeDiagram.d.ts +0 -1
- package/dist/components/diagramAdapters.d.ts +0 -1
- package/dist/components/diagramTemplates.d.ts +0 -1
- package/dist/components/shapeRegistry.d.ts +0 -1
- package/dist/components/snapGuides.d.ts +0 -1
- package/dist/components/workflowIntegrations.d.ts +0 -1
- package/dist/core/DiagramModel.d.ts +0 -1
- package/dist/core/animationEngine.d.ts +0 -1
- package/dist/core/conditionalStyling.d.ts +0 -1
- package/dist/core/dataBinding.d.ts +0 -1
- package/dist/core/diagramParticleEngine.d.ts +0 -1
- package/dist/core/diagramSearch.d.ts +0 -1
- package/dist/core/diagramStylePresets.d.ts +0 -1
- package/dist/core/diagramTemplateGallery.d.ts +0 -1
- package/dist/core/diagramVersioning.d.ts +0 -1
- package/dist/core/exportEngine.d.ts +0 -1
- package/dist/core/i18n.d.ts +0 -1
- package/dist/core/layoutEngine.d.ts +0 -1
- package/dist/core/serialization.d.ts +0 -1
- package/dist/core/snapGrid.d.ts +0 -1
- package/dist/hooks/useDiagramEditor.d.ts +0 -1
- package/dist/index.d.ts +0 -1
- package/dist/ui-diagrams.css +1 -0
- package/package.json +14 -12
package/CHANGELOG.md
CHANGED
|
@@ -2,7 +2,6 @@ import { default as React } from 'react';
|
|
|
2
2
|
import { AnimationState } from '../core/animationEngine';
|
|
3
3
|
import { ParticleEngineState } from '../core/diagramParticleEngine';
|
|
4
4
|
import { DiagramNode, DiagramEdge, DiagramGroup, DiagramViewport, DiagramThemeOverrides, DiagramViewMode, Point, Size } from '../types/diagramTypes';
|
|
5
|
-
|
|
6
5
|
export interface DiagramCanvasProps {
|
|
7
6
|
nodes: readonly DiagramNode[];
|
|
8
7
|
edges: readonly DiagramEdge[];
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { default as React } from 'react';
|
|
2
2
|
import { LayoutAlgorithm, NodeShape, DiagramType, DiagramViewMode } from '../types/diagramTypes';
|
|
3
|
-
|
|
4
3
|
export type DiagramTool = 'select' | 'addNode' | 'addEdge' | 'pan' | 'delete' | 'text' | 'freehand';
|
|
5
4
|
export interface DiagramToolbarProps {
|
|
6
5
|
activeTool: DiagramTool;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { NiceComponentTutorial } from '@nice2dev/ui';
|
|
2
2
|
import { default as React } from 'react';
|
|
3
3
|
import { NiceDiagramDocument, DiagramType } from '../types/diagramTypes';
|
|
4
|
-
|
|
5
4
|
export interface NiceDiagramEditorProps {
|
|
6
5
|
/** Initial document (optional — empty diagram created if omitted) */
|
|
7
6
|
initialDocument?: NiceDiagramDocument;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { NiceDiagramDocument, DiagramNode, DiagramEdge, DiagramGroup, DiagramAnimation, DiagramAnimationMode, DiagramViewport, DiagramViewMode, DiagramPlayerConfig, DiagramStylePresetConfig, DiagramType, Point, Size, NodeShape } from '../types/diagramTypes';
|
|
2
|
-
|
|
3
2
|
export declare class DiagramModel {
|
|
4
3
|
private doc;
|
|
5
4
|
private undoStack;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { DiagramNode, DiagramEdge, NodeStyle, EdgeStyle, NodeShape } from '../types/diagramTypes';
|
|
2
|
-
|
|
3
2
|
/** Condition operator for style rules. */
|
|
4
3
|
export type StyleConditionOperator = 'equals' | 'not_equals' | 'greater_than' | 'greater_than_or_equals' | 'less_than' | 'less_than_or_equals' | 'contains' | 'not_contains' | 'starts_with' | 'ends_with' | 'regex' | 'is_null' | 'is_not_null' | 'is_empty' | 'is_not_empty' | 'in' | 'not_in' | 'between';
|
|
5
4
|
/** A single condition. */
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { DiagramStylePreset, DiagramStylePresetConfig, DiagramStylePresetCategory, NodeStyle, EdgeStyle, DiagramThemeOverrides } from '../types/diagramTypes';
|
|
2
|
-
|
|
3
2
|
export declare const DIAGRAM_STYLE_PRESETS: DiagramStylePreset[];
|
|
4
3
|
export interface NodeStyleCatalogEntry {
|
|
5
4
|
id: string;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { NiceDiagramDocument } from '../types/diagramTypes';
|
|
2
|
-
|
|
3
2
|
/** Type of change in a version. */
|
|
4
3
|
export type DiagramChangeType = 'node-added' | 'node-removed' | 'node-moved' | 'node-resized' | 'node-restyled' | 'node-relabeled' | 'edge-added' | 'edge-removed' | 'edge-restyled' | 'edge-rerouted' | 'group-added' | 'group-removed' | 'group-modified' | 'viewport-changed' | 'metadata-changed' | 'animation-added' | 'animation-removed' | 'animation-modified' | 'theme-changed' | 'title-changed';
|
|
5
4
|
/** A single change in a diff. */
|
package/dist/core/i18n.d.ts
CHANGED
package/dist/core/snapGrid.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { DiagramModel } from '../core/DiagramModel';
|
|
2
2
|
import { NiceDiagramDocument, DiagramNode, DiagramEdge, DiagramGroup, DiagramAnimation, DiagramAnimationMode, DiagramViewport, DiagramViewMode, DiagramPlayerConfig, DiagramStylePresetConfig, LayoutOptions, NodeShape, Point, Size } from '../types/diagramTypes';
|
|
3
|
-
|
|
4
3
|
export interface UseDiagramEditorReturn {
|
|
5
4
|
/** Current document (read-only) */
|
|
6
5
|
document: Readonly<NiceDiagramDocument>;
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
|
|
2
1
|
export { NiceDiagramEditor, type NiceDiagramEditorProps } from './components/NiceDiagramEditor';
|
|
3
2
|
export { NiceDiagramViewer, type NiceDiagramViewerProps } from './components/NiceDiagramViewer';
|
|
4
3
|
export { NiceDiagramViewer as NiceDiagram, type NiceDiagramViewerProps as NiceDiagramProps, } from './components/NiceDiagramViewer';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.nice-diagram-editor{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--nice-bg, #FFF);color:var(--nice-text, #222);border:1px solid var(--nice-border, #ddd);border-radius:var(--nice-radius-md, 6px);overflow:hidden}.nice-diagram-toolbar{display:flex;align-items:center;gap:var(--nice-space-0-5, 2px);padding:var(--nice-space-1, 4px) var(--nice-space-2, 8px);background:var(--nice-bg-secondary, #f5f5f5);border-bottom:1px solid var(--nice-border, #ddd);flex-wrap:wrap}.nice-diagram-toolbar__group{display:flex;gap:var(--nice-space-0-5, 2px);padding-right:var(--nice-space-1-5, 6px);border-right:1px solid var(--nice-border, #e0e0e0);margin-right:var(--nice-space-1, 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:var(--nice-space-1, 4px);padding:var(--nice-space-1, 4px) var(--nice-space-2, 8px);border:1px solid transparent;border-radius:var(--nice-radius-sm, 4px);background:transparent;cursor:pointer;font-size:13px;color:var(--nice-text, #444);white-space:nowrap;transition:background .15s,border-color .15s}.nice-diagram-toolbar__btn:hover{background:var(--nice-border, #e8e8e8)}.nice-diagram-toolbar__btn--active{background:var(--nice-primary-bg, #dbeafe);border-color:var(--nice-primary, #2196f3);color:var(--nice-primary-dark, #1565c0)}.nice-diagram-toolbar__btn:disabled{opacity:.4;cursor:default}.nice-diagram-toolbar__dropdown{position:absolute;top:100%;left:0;z-index:10;background:var(--nice-bg, #FFF);border:1px solid var(--nice-border, #ccc);border-radius:var(--nice-radius-sm, 4px);box-shadow:0 4px 12px var(--nice-overlay-12, rgba(0, 0, 0, .12));min-width:140px;padding:var(--nice-space-1, 4px) 0}.nice-diagram-toolbar__dropdown-item{display:block;width:100%;text-align:left;padding:var(--nice-space-1-5, 6px) var(--nice-space-3, 12px);border:none;background:none;cursor:pointer;font-size:13px;color:var(--nice-text, #333)}.nice-diagram-toolbar__dropdown-item:hover{background:var(--nice-primary-bg, #f0f4ff)}.nice-diagram-property-panel{padding:var(--nice-space-3, 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:var(--nice-text-muted, #999);font-style:italic}.nice-diagram-property-panel__title{font-size:14px;font-weight:600;margin:0 0 var(--nice-space-3, 12px);color:var(--nice-text, #333)}.nice-diagram-property-panel__label{display:flex;flex-direction:column;gap:var(--nice-space-0-75, 3px);margin-bottom:var(--nice-space-2-5, 10px);font-size:12px;color:var(--nice-text-secondary, #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:var(--nice-space-1-5, 6px)}.nice-diagram-property-panel__row{display:flex;gap:var(--nice-space-2, 8px)}.nice-diagram-property-panel__input,.nice-diagram-property-panel__select{padding:var(--nice-space-1, 4px) var(--nice-space-1-5, 6px);border:1px solid var(--nice-border, #ccc);border-radius:var(--nice-radius-sm, 4px);font-size:13px;outline:none}.nice-diagram-property-panel__input:focus,.nice-diagram-property-panel__select:focus{border-color:var(--nice-primary, #2196f3)}.nice-diagram-property-panel__color{width:100%;height:28px;padding:0;border:1px solid var(--nice-border, #ccc);border-radius:var(--nice-radius-sm, 4px);cursor:pointer}.nice-diagram-property-panel__btn{width:100%;padding:var(--nice-space-1-5, 6px) var(--nice-space-3, 12px);border:1px solid var(--nice-border, #ccc);border-radius:var(--nice-radius-sm, 4px);cursor:pointer;font-size:13px;margin-top:var(--nice-space-2, 8px);transition:background .15s}.nice-diagram-property-panel__btn--danger{color:var(--nice-danger-dark, #d32f2f);border-color:var(--nice-danger-dark, #d32f2f);background:var(--nice-danger-bg, #fff5f5)}.nice-diagram-property-panel__btn--danger:hover{background:var(--nice-danger-bg, #ffebee)}.nice-diagram-minimap{box-shadow:0 2px 8px var(--nice-overlay-10, rgba(0, 0, 0, .1))}.nice-diagram-timeline{padding:var(--nice-space-2, 8px) var(--nice-space-3, 12px);font-size:13px;min-height:80px}.nice-diagram-timeline__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--nice-space-2, 8px)}.nice-diagram-timeline__title{font-size:13px;font-weight:600;margin:0;color:var(--nice-text, #333)}.nice-diagram-timeline__controls{display:flex;gap:var(--nice-space-1, 4px)}.nice-diagram-timeline__btn{padding:var(--nice-space-0-75, 3px) var(--nice-space-2, 8px);border:1px solid var(--nice-border, #ccc);border-radius:var(--nice-radius-sm, 4px);background:var(--nice-bg, #FFF);cursor:pointer;font-size:12px}.nice-diagram-timeline__btn:hover{background:var(--nice-bg-secondary, #f0f0f0)}.nice-diagram-timeline__empty{color:var(--nice-text-muted, #999);font-style:italic;text-align:center;padding:var(--nice-space-3, 12px);margin:0}.nice-diagram-timeline__tracks{display:flex;flex-direction:column;gap:var(--nice-space-1, 4px)}.nice-diagram-timeline__track{display:flex;align-items:center;gap:var(--nice-space-2, 8px)}.nice-diagram-timeline__track-label{display:flex;align-items:center;gap:var(--nice-space-1, 4px);min-width:160px;font-size:12px}.nice-diagram-timeline__track-name{font-weight:500;color:var(--nice-text, #333)}.nice-diagram-timeline__track-effect{color:var(--nice-text-secondary, #888);font-size:11px}.nice-diagram-timeline__track-remove{margin-left:auto;border:none;background:none;color:var(--nice-danger-dark, #d32f2f);cursor:pointer;font-size:16px;line-height:1;padding:0 var(--nice-space-0-5, 2px)}.nice-diagram-timeline__track-bar{flex:1;height:20px;background:var(--nice-bg-secondary, #f0f0f0);border-radius:var(--nice-radius-sm, 3px);position:relative;overflow:hidden}.nice-diagram-timeline__track-segment{position:absolute;top:2px;bottom:2px;background:var(--nice-primary-light, #64b5f6);border-radius:var(--nice-radius-sm, 2px);min-width:4px}.nice-diagram-timeline__ruler{position:relative;height:16px;margin-top:var(--nice-space-1, 4px);margin-left:168px}.nice-diagram-timeline__ruler-mark{position:absolute;font-size:10px;color:var(--nice-text-muted, #aaa);transform:translate(-50%)}.nice-diagram-viewer{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--nice-bg, #FFF);border:1px solid var(--nice-border, #ddd);border-radius:var(--nice-radius-md, 6px);overflow:hidden}.nice-diagram-viewer__btn{padding:var(--nice-space-0-75, 3px) var(--nice-space-2, 8px);border:1px solid var(--nice-border, #ccc);border-radius:var(--nice-radius-sm, 4px);background:var(--nice-bg, #FFF);cursor:pointer;font-size:12px}.nice-diagram-viewer__btn:hover{background:var(--nice-bg-secondary, #f0f0f0)}.nice-diagram-canvas{-webkit-user-select:none;user-select:none}._cell_9ewd0_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_9ewd0_9._expandable_9ewd0_29{cursor:pointer}._cell_9ewd0_9._expandable_9ewd0_29:hover{border-color:var(--nice-primary-light, #93c5fd);box-shadow:0 1px 4px var(--nice-primary-tint-15, rgba(59, 130, 246, .15))}._cell_9ewd0_9._expandable_9ewd0_29:active{transform:scale(.98)}._svg_9ewd0_57{display:block}._emptyText_9ewd0_67{color:var(--nice-text-tertiary, #94a3b8);font-size:.75rem}._badge_9ewd0_79{position:absolute;top:2px;right:2px;display:flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 var(--nice-space-1, 4px);border-radius:var(--nice-radius-lg, 8px);background:var(--nice-bg-tertiary, #e2e8f0);color:var(--nice-text-secondary, #64748b);font-size:.625rem;font-weight:600;line-height:1}._expandIcon_9ewd0_117{position:absolute;bottom:2px;right:2px;display:flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:var(--nice-radius-sm, 4px);background:var(--nice-overlay-light-85, rgba(255, 255, 255, .85));color:var(--nice-text-secondary, #64748b);opacity:0;transition:opacity .15s ease}._cell_9ewd0_9._expandable_9ewd0_29:hover ._expandIcon_9ewd0_117{opacity:1}._modalOverlay_9ewd0_165{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;background:var(--nice-overlay-50, rgba(0, 0, 0, .5));-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10000;animation:_fadeIn_9ewd0_1 .15s ease}@keyframes _fadeIn_9ewd0_1{0%{opacity:0}to{opacity:1}}._modalContent_9ewd0_213{display:flex;flex-direction:column;width:90vw;max-width:800px;height:80vh;max-height:600px;background:var(--nice-bg-primary, #ffffff);border-radius:var(--nice-radius-xl, 12px);box-shadow:0 20px 40px var(--nice-overlay-20, rgba(0, 0, 0, .2));overflow:hidden;animation:_slideUp_9ewd0_1 .2s ease}@keyframes _slideUp_9ewd0_1{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}._modalHeader_9ewd0_263{display:flex;align-items:center;justify-content:space-between;padding:var(--nice-space-4, 16px) var(--nice-space-5, 20px);border-bottom:1px solid var(--nice-border, #e2e8f0);background:var(--nice-bg-secondary, #f8fafc)}._modalTitle_9ewd0_281{margin:0;font-size:1rem;font-weight:600;color:var(--nice-text-primary, #1e293b)}._modalClose_9ewd0_295{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:var(--nice-radius-md, 6px);background:transparent;color:var(--nice-text-secondary, #64748b);cursor:pointer;transition:all .15s ease}._modalClose_9ewd0_295:hover{background:var(--nice-bg-tertiary, #e2e8f0);color:var(--nice-text-primary, #1e293b)}._modalBody_9ewd0_333{flex:1;display:flex;align-items:center;justify-content:center;padding:var(--nice-space-5, 20px);background:var(--nice-bg-primary, #ffffff);overflow:hidden}._modalSvg_9ewd0_353{max-width:100%;max-height:100%;width:auto;height:auto}._modalFooter_9ewd0_367{display:flex;align-items:center;justify-content:flex-end;padding:var(--nice-space-3, 12px) var(--nice-space-5, 20px);border-top:1px solid var(--nice-border, #e2e8f0);background:var(--nice-bg-secondary, #f8fafc)}._modalInfo_9ewd0_385{font-size:.75rem;color:var(--nice-text-secondary, #64748b)}@media(prefers-color-scheme:dark){._cell_9ewd0_9{border-color:var(--nice-border-dark, #374151)}._badge_9ewd0_79{background:var(--nice-bg-dark-tertiary, #374151);color:var(--nice-text-dark-secondary, #9ca3af)}._expandIcon_9ewd0_117{background:var(--nice-overlay-75, rgba(0, 0, 0, .75));color:var(--nice-text-dark-secondary, #9ca3af)}._modalContent_9ewd0_213{box-shadow:0 20px 40px var(--nice-overlay-50, rgba(0, 0, 0, .5))}}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nice2dev/ui-diagrams",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.1.5",
|
|
4
4
|
"description": "Nice2Dev Diagram Editor & Viewer — flowcharts, org charts, BPMN, ER diagrams with animations, data binding, and custom .ndd.json format",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.cjs",
|
|
@@ -40,17 +40,19 @@
|
|
|
40
40
|
"react-dom": ">=17.0.0"
|
|
41
41
|
},
|
|
42
42
|
"devDependencies": {
|
|
43
|
-
"@
|
|
44
|
-
"@testing-library/
|
|
45
|
-
"@
|
|
46
|
-
"@types/react
|
|
47
|
-
"@
|
|
48
|
-
"react": "^
|
|
49
|
-
"
|
|
50
|
-
"
|
|
51
|
-
"
|
|
52
|
-
"
|
|
53
|
-
"
|
|
43
|
+
"@nice2dev/ui": "^1.1.5",
|
|
44
|
+
"@testing-library/jest-dom": "^7.0.1",
|
|
45
|
+
"@testing-library/react": "^16.3.3",
|
|
46
|
+
"@types/react": "^19.2.18",
|
|
47
|
+
"@types/react-dom": "^19.2.7",
|
|
48
|
+
"@vitejs/plugin-react": "^4.7.0",
|
|
49
|
+
"jsdom": "^29.0.0",
|
|
50
|
+
"react": "^19.2.8",
|
|
51
|
+
"react-dom": "^19.2.8",
|
|
52
|
+
"typescript": "^5.9.3",
|
|
53
|
+
"vite": "^6.4.1",
|
|
54
|
+
"vite-plugin-dts": "^4.5.4",
|
|
55
|
+
"vitest": "^4.1.11"
|
|
54
56
|
},
|
|
55
57
|
"keywords": [
|
|
56
58
|
"react",
|