@grafloria/element 0.3.19 → 0.3.20
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/{src/index.ts → esm/src/index.js} +60 -569
- package/esm/src/lib/dashboard-kit/dashboard.js +590 -0
- package/esm/src/lib/dashboard-kit/grid-binder.js +1633 -0
- package/esm/src/lib/dashboard-kit/grid-mapping.js +164 -0
- package/esm/src/lib/dashboard-kit/index.js +8 -0
- package/{src/lib/dashboard-kit/styles.ts → esm/src/lib/dashboard-kit/styles.js} +8 -9
- package/esm/src/lib/dashboard-kit/widgets.js +379 -0
- package/esm/src/lib/diagram-kit/card.js +199 -0
- package/esm/src/lib/diagram-kit/editing.js +448 -0
- package/esm/src/lib/diagram-kit/er.js +160 -0
- package/esm/src/lib/diagram-kit/handles.js +312 -0
- package/esm/src/lib/diagram-kit/index.js +15 -0
- package/esm/src/lib/diagram-kit/join-guidance.js +322 -0
- package/esm/src/lib/diagram-kit/rows.js +144 -0
- package/{src/lib/diagram-kit/styles.ts → esm/src/lib/diagram-kit/styles.js} +10 -10
- package/esm/src/lib/diagram-kit/uml.js +135 -0
- package/esm/src/lib/diagram-kit/update.js +244 -0
- package/esm/src/lib/grafloria-flow-element.js +266 -0
- package/esm/src/lib/grafloria.js +69 -0
- package/esm/src/lib/load.js +252 -0
- package/esm/src/lib/node-type-registry.js +42 -0
- package/esm/src/lib/stencil-kit/builders.js +18 -0
- package/esm/src/lib/stencil-kit/card-builders.js +105 -0
- package/esm/src/lib/stencil-kit/index.js +9 -0
- package/esm/src/lib/stencil-kit/palette.js +427 -0
- package/esm/src/lib/stencil-kit/shape-data.js +537 -0
- package/{src/lib/stencil-kit/styles.ts → esm/src/lib/stencil-kit/styles.js} +9 -9
- package/package.json +12 -3
- package/jest.config.ts +0 -16
- package/project.json +0 -44
- package/src/front-door-probe.spec.ts +0 -173
- package/src/index.js.map +0 -1
- package/src/lib/dashboard-kit/dashboard.js.map +0 -1
- package/src/lib/dashboard-kit/dashboard.spec.ts +0 -821
- package/src/lib/dashboard-kit/dashboard.ts +0 -906
- package/src/lib/dashboard-kit/grid-binder.js.map +0 -1
- package/src/lib/dashboard-kit/grid-binder.ts +0 -1976
- package/src/lib/dashboard-kit/grid-mapping.js.map +0 -1
- package/src/lib/dashboard-kit/grid-mapping.spec.ts +0 -308
- package/src/lib/dashboard-kit/grid-mapping.ts +0 -283
- package/src/lib/dashboard-kit/index.js.map +0 -1
- package/src/lib/dashboard-kit/index.ts +0 -56
- package/src/lib/dashboard-kit/styles.js.map +0 -1
- package/src/lib/dashboard-kit/widgets.js.map +0 -1
- package/src/lib/dashboard-kit/widgets.spec.ts +0 -239
- package/src/lib/dashboard-kit/widgets.ts +0 -484
- package/src/lib/diagram-kit/card.js.map +0 -1
- package/src/lib/diagram-kit/card.ts +0 -219
- package/src/lib/diagram-kit/diagram-kit.spec.ts +0 -465
- package/src/lib/diagram-kit/editing.js.map +0 -1
- package/src/lib/diagram-kit/editing.spec.ts +0 -172
- package/src/lib/diagram-kit/editing.ts +0 -493
- package/src/lib/diagram-kit/er.js.map +0 -1
- package/src/lib/diagram-kit/er.ts +0 -246
- package/src/lib/diagram-kit/handles.js.map +0 -1
- package/src/lib/diagram-kit/handles.spec.ts +0 -224
- package/src/lib/diagram-kit/handles.ts +0 -375
- package/src/lib/diagram-kit/index.js.map +0 -1
- package/src/lib/diagram-kit/index.ts +0 -66
- package/src/lib/diagram-kit/join-guidance.js.map +0 -1
- package/src/lib/diagram-kit/join-guidance.spec.ts +0 -241
- package/src/lib/diagram-kit/join-guidance.ts +0 -390
- package/src/lib/diagram-kit/rows.js.map +0 -1
- package/src/lib/diagram-kit/rows.ts +0 -174
- package/src/lib/diagram-kit/styles.js.map +0 -1
- package/src/lib/diagram-kit/uml.js.map +0 -1
- package/src/lib/diagram-kit/uml.ts +0 -213
- package/src/lib/diagram-kit/update.js.map +0 -1
- package/src/lib/diagram-kit/update.spec.ts +0 -208
- package/src/lib/diagram-kit/update.ts +0 -324
- package/src/lib/grafloria-flow-element.js.map +0 -1
- package/src/lib/grafloria-flow-element.spec.ts +0 -290
- package/src/lib/grafloria-flow-element.ts +0 -298
- package/src/lib/grafloria.js.map +0 -1
- package/src/lib/grafloria.ts +0 -151
- package/src/lib/load.js.map +0 -1
- package/src/lib/load.spec.ts +0 -565
- package/src/lib/load.ts +0 -359
- package/src/lib/node-type-registry.js.map +0 -1
- package/src/lib/node-type-registry.ts +0 -76
- package/src/lib/stencil-kit/builders.js.map +0 -1
- package/src/lib/stencil-kit/builders.ts +0 -58
- package/src/lib/stencil-kit/card-builders.js.map +0 -1
- package/src/lib/stencil-kit/card-builders.ts +0 -113
- package/src/lib/stencil-kit/index.js.map +0 -1
- package/src/lib/stencil-kit/index.ts +0 -17
- package/src/lib/stencil-kit/palette.js.map +0 -1
- package/src/lib/stencil-kit/palette.ts +0 -482
- package/src/lib/stencil-kit/shape-data.js.map +0 -1
- package/src/lib/stencil-kit/shape-data.spec.ts +0 -470
- package/src/lib/stencil-kit/shape-data.ts +0 -680
- package/src/lib/stencil-kit/styles.js.map +0 -1
- package/src/libs/element/src/index.js.map +0 -1
- package/src/libs/element/src/lib/dashboard-kit/dashboard.js.map +0 -1
- package/src/libs/element/src/lib/dashboard-kit/grid-binder.js.map +0 -1
- package/src/libs/element/src/lib/dashboard-kit/grid-mapping.js.map +0 -1
- package/src/libs/element/src/lib/dashboard-kit/index.js.map +0 -1
- package/src/libs/element/src/lib/dashboard-kit/styles.js.map +0 -1
- package/src/libs/element/src/lib/dashboard-kit/widgets.js.map +0 -1
- package/src/libs/element/src/lib/diagram-kit/card.js.map +0 -1
- package/src/libs/element/src/lib/diagram-kit/editing.js.map +0 -1
- package/src/libs/element/src/lib/diagram-kit/er.js.map +0 -1
- package/src/libs/element/src/lib/diagram-kit/handles.js.map +0 -1
- package/src/libs/element/src/lib/diagram-kit/index.js.map +0 -1
- package/src/libs/element/src/lib/diagram-kit/join-guidance.js.map +0 -1
- package/src/libs/element/src/lib/diagram-kit/rows.js.map +0 -1
- package/src/libs/element/src/lib/diagram-kit/styles.js.map +0 -1
- package/src/libs/element/src/lib/diagram-kit/uml.js.map +0 -1
- package/src/libs/element/src/lib/diagram-kit/update.js.map +0 -1
- package/src/libs/element/src/lib/grafloria-flow-element.js.map +0 -1
- package/src/libs/element/src/lib/grafloria.js.map +0 -1
- package/src/libs/element/src/lib/load.js.map +0 -1
- package/src/libs/element/src/lib/node-type-registry.js.map +0 -1
- package/src/libs/element/src/lib/stencil-kit/builders.js.map +0 -1
- package/src/libs/element/src/lib/stencil-kit/card-builders.js.map +0 -1
- package/src/libs/element/src/lib/stencil-kit/index.js.map +0 -1
- package/src/libs/element/src/lib/stencil-kit/palette.js.map +0 -1
- package/src/libs/element/src/lib/stencil-kit/shape-data.js.map +0 -1
- package/src/libs/element/src/lib/stencil-kit/styles.js.map +0 -1
- package/src/libs/engine/src/adapters/component-adapter.interface.js.map +0 -1
- package/src/libs/engine/src/adapters/index.js.map +0 -1
- package/src/libs/engine/src/clipboard/ClipboardManager.js.map +0 -1
- package/src/libs/engine/src/clipboard/index.js.map +0 -1
- package/src/libs/engine/src/collab/apply-op.js.map +0 -1
- package/src/libs/engine/src/collab/capture.js.map +0 -1
- package/src/libs/engine/src/collab/index.js.map +0 -1
- package/src/libs/engine/src/collab/integrity.js.map +0 -1
- package/src/libs/engine/src/collab/lww.js.map +0 -1
- package/src/libs/engine/src/collab/op-log.js.map +0 -1
- package/src/libs/engine/src/collab/op.js.map +0 -1
- package/src/libs/engine/src/collab/replica.js.map +0 -1
- package/src/libs/engine/src/collab/undo.js.map +0 -1
- package/src/libs/engine/src/commands/Command.js.map +0 -1
- package/src/libs/engine/src/commands/CommandManager.js.map +0 -1
- package/src/libs/engine/src/commands/basic/AddGroupCommand.js.map +0 -1
- package/src/libs/engine/src/commands/basic/AddLinkCommand.js.map +0 -1
- package/src/libs/engine/src/commands/basic/AddNodeCommand.js.map +0 -1
- package/src/libs/engine/src/commands/basic/AddToGroupCommand.js.map +0 -1
- package/src/libs/engine/src/commands/basic/AlignCommands.js.map +0 -1
- package/src/libs/engine/src/commands/basic/CollapseGroupCommand.js.map +0 -1
- package/src/libs/engine/src/commands/basic/CopyCommand.js.map +0 -1
- package/src/libs/engine/src/commands/basic/CutCommand.js.map +0 -1
- package/src/libs/engine/src/commands/basic/DeleteSelectionCommand.js.map +0 -1
- package/src/libs/engine/src/commands/basic/DuplicateCommand.js.map +0 -1
- package/src/libs/engine/src/commands/basic/ExpandGroupCommand.js.map +0 -1
- package/src/libs/engine/src/commands/basic/MoveGroupCommand.js.map +0 -1
- package/src/libs/engine/src/commands/basic/MoveNodeCommand.js.map +0 -1
- package/src/libs/engine/src/commands/basic/NodeZOrderCommands.js.map +0 -1
- package/src/libs/engine/src/commands/basic/PasteCommand.js.map +0 -1
- package/src/libs/engine/src/commands/basic/PortCommands.js.map +0 -1
- package/src/libs/engine/src/commands/basic/ReconnectLinkCommand.js.map +0 -1
- package/src/libs/engine/src/commands/basic/RemoveFromGroupCommand.js.map +0 -1
- package/src/libs/engine/src/commands/basic/RemoveGroupCommand.js.map +0 -1
- package/src/libs/engine/src/commands/basic/RemoveLinkCommand.js.map +0 -1
- package/src/libs/engine/src/commands/basic/RemoveNodeCommand.js.map +0 -1
- package/src/libs/engine/src/commands/basic/ResizeNodeCommand.js.map +0 -1
- package/src/libs/engine/src/commands/basic/RotateNodeCommand.js.map +0 -1
- package/src/libs/engine/src/commands/basic/SetFlexItemCommand.js.map +0 -1
- package/src/libs/engine/src/commands/basic/SetGridItemCommand.js.map +0 -1
- package/src/libs/engine/src/commands/basic/SetLayoutCommand.js.map +0 -1
- package/src/libs/engine/src/commands/basic/SetLinkDisplayLabelCommand.js.map +0 -1
- package/src/libs/engine/src/commands/basic/SetLinkLabelCommand.js.map +0 -1
- package/src/libs/engine/src/commands/basic/SetLinkLabelsCommand.js.map +0 -1
- package/src/libs/engine/src/commands/basic/SetLinkPathTypeCommand.js.map +0 -1
- package/src/libs/engine/src/commands/basic/SetLinkPointsCommand.js.map +0 -1
- package/src/libs/engine/src/commands/basic/SetNodeDataCommand.js.map +0 -1
- package/src/libs/engine/src/commands/basic/SetNodeLabelCommand.js.map +0 -1
- package/src/libs/engine/src/commands/basic/SetNodeShapeConfigCommand.js.map +0 -1
- package/src/libs/engine/src/commands/basic/SetNodeStyleCommand.js.map +0 -1
- package/src/libs/engine/src/commands/basic/SetParentCommand.js.map +0 -1
- package/src/libs/engine/src/commands/basic/SetStrokePointsCommand.js.map +0 -1
- package/src/libs/engine/src/commands/basic/StrokeLifecycleCommands.js.map +0 -1
- package/src/libs/engine/src/commands/basic/UpdateLinkStyleCommand.js.map +0 -1
- package/src/libs/engine/src/commands/basic/index.js.map +0 -1
- package/src/libs/engine/src/commands/basic/remapNodePortIds.js.map +0 -1
- package/src/libs/engine/src/commands/basic/resolveLinkNodeIds.js.map +0 -1
- package/src/libs/engine/src/commands/composite/BatchCommand.js.map +0 -1
- package/src/libs/engine/src/commands/composite/MacroCommand.js.map +0 -1
- package/src/libs/engine/src/commands/composite/index.js.map +0 -1
- package/src/libs/engine/src/commands/index.js.map +0 -1
- package/src/libs/engine/src/comments/comment-store.js.map +0 -1
- package/src/libs/engine/src/comments/index.js.map +0 -1
- package/src/libs/engine/src/comments/mentions.js.map +0 -1
- package/src/libs/engine/src/comments/read-state.js.map +0 -1
- package/src/libs/engine/src/comments/types.js.map +0 -1
- package/src/libs/engine/src/config/InteractionConfig.js.map +0 -1
- package/src/libs/engine/src/config/index.js.map +0 -1
- package/src/libs/engine/src/dsl/DSL.js.map +0 -1
- package/src/libs/engine/src/dsl/advanced/StyleParser.js.map +0 -1
- package/src/libs/engine/src/dsl/advanced/TemplateParser.js.map +0 -1
- package/src/libs/engine/src/dsl/advanced/index.js.map +0 -1
- package/src/libs/engine/src/dsl/detector/LayoutDetector.js.map +0 -1
- package/src/libs/engine/src/dsl/extended/BPMNGenerator.js.map +0 -1
- package/src/libs/engine/src/dsl/extended/BPMNParser.js.map +0 -1
- package/src/libs/engine/src/dsl/extended/ERDGenerator.js.map +0 -1
- package/src/libs/engine/src/dsl/extended/ERDParser.js.map +0 -1
- package/src/libs/engine/src/dsl/extended/ERDTransformer.js.map +0 -1
- package/src/libs/engine/src/dsl/extended/UMLGenerator.js.map +0 -1
- package/src/libs/engine/src/dsl/extended/UMLParser.js.map +0 -1
- package/src/libs/engine/src/dsl/extended/index.js.map +0 -1
- package/src/libs/engine/src/dsl/generator/DSLFormatter.js.map +0 -1
- package/src/libs/engine/src/dsl/generator/DSLGenerator.js.map +0 -1
- package/src/libs/engine/src/dsl/generator/DiagramAnalyzer.js.map +0 -1
- package/src/libs/engine/src/dsl/index.js.map +0 -1
- package/src/libs/engine/src/dsl/lexer/Lexer.js.map +0 -1
- package/src/libs/engine/src/dsl/mermaid/MermaidClass.js.map +0 -1
- package/src/libs/engine/src/dsl/mermaid/MermaidER.js.map +0 -1
- package/src/libs/engine/src/dsl/mermaid/MermaidState.js.map +0 -1
- package/src/libs/engine/src/dsl/mermaid/index.js.map +0 -1
- package/src/libs/engine/src/dsl/mermaid/layout.js.map +0 -1
- package/src/libs/engine/src/dsl/mermaid/lines.js.map +0 -1
- package/src/libs/engine/src/dsl/parser/Parser.js.map +0 -1
- package/src/libs/engine/src/dsl/sync/BidirectionalSync.js.map +0 -1
- package/src/libs/engine/src/dsl/sync/IntegratedSyncManager.js.map +0 -1
- package/src/libs/engine/src/dsl/sync/LayoutApplicator.js.map +0 -1
- package/src/libs/engine/src/dsl/sync/SyncStateManager.js.map +0 -1
- package/src/libs/engine/src/dsl/sync/index.js.map +0 -1
- package/src/libs/engine/src/dsl/transformer/ASTTransformer.js.map +0 -1
- package/src/libs/engine/src/dsl/types/ASTNode.js.map +0 -1
- package/src/libs/engine/src/dsl/types/Token.js.map +0 -1
- package/src/libs/engine/src/engine/DiagramEngine.js.map +0 -1
- package/src/libs/engine/src/engine/DiagramMode.js.map +0 -1
- package/src/libs/engine/src/engine/DiagramModeTypes.js.map +0 -1
- package/src/libs/engine/src/engine/ModeManager.js.map +0 -1
- package/src/libs/engine/src/engine/index.js.map +0 -1
- package/src/libs/engine/src/events/EventBus.js.map +0 -1
- package/src/libs/engine/src/events/index.js.map +0 -1
- package/src/libs/engine/src/index.js.map +0 -1
- package/src/libs/engine/src/interaction/GroupCollapseService.js.map +0 -1
- package/src/libs/engine/src/interaction/GroupMembershipService.js.map +0 -1
- package/src/libs/engine/src/interaction/SemanticMembershipService.js.map +0 -1
- package/src/libs/engine/src/interaction/SwimlaneService.js.map +0 -1
- package/src/libs/engine/src/interaction/index.js.map +0 -1
- package/src/libs/engine/src/interop/drawio/importDrawio.js.map +0 -1
- package/src/libs/engine/src/interop/drawio/index.js.map +0 -1
- package/src/libs/engine/src/interop/drawio/xml.js.map +0 -1
- package/src/libs/engine/src/layout/CompoundLayoutService.js.map +0 -1
- package/src/libs/engine/src/layout/ILayoutAlgorithm.js.map +0 -1
- package/src/libs/engine/src/layout/LayoutManager.js.map +0 -1
- package/src/libs/engine/src/layout/SmartSpacingCalculator.js.map +0 -1
- package/src/libs/engine/src/layout/ViewportTransform.js.map +0 -1
- package/src/libs/engine/src/layout/algorithms/ForceDirectedLayoutAlgorithm.js.map +0 -1
- package/src/libs/engine/src/layout/algorithms/GridLayoutAlgorithm.js.map +0 -1
- package/src/libs/engine/src/layout/algorithms/HierarchicalLayoutAlgorithm.js.map +0 -1
- package/src/libs/engine/src/layout/algorithms/HybridLayoutAlgorithm.js.map +0 -1
- package/src/libs/engine/src/layout/community-layout-adapter.js.map +0 -1
- package/src/libs/engine/src/layout/component-packing.js.map +0 -1
- package/src/libs/engine/src/layout/dagre-layout-adapter.js.map +0 -1
- package/src/libs/engine/src/layout/edge-bundling.interface.js.map +0 -1
- package/src/libs/engine/src/layout/elk-layout-adapter.js.map +0 -1
- package/src/libs/engine/src/layout/elk-loader.js.map +0 -1
- package/src/libs/engine/src/layout/force-layout-adapter.js.map +0 -1
- package/src/libs/engine/src/layout/grid-pack/grid-pack-engine.js.map +0 -1
- package/src/libs/engine/src/layout/incremental/mental-map.js.map +0 -1
- package/src/libs/engine/src/layout/incremental-layout.interface.js.map +0 -1
- package/src/libs/engine/src/layout/index.js.map +0 -1
- package/src/libs/engine/src/layout/layout-adapter.interface.js.map +0 -1
- package/src/libs/engine/src/layout/layout-auto-select.js.map +0 -1
- package/src/libs/engine/src/layout/layout-constraints.interface.js.map +0 -1
- package/src/libs/engine/src/layout/layout-graph.js.map +0 -1
- package/src/libs/engine/src/layout/layout-history.js.map +0 -1
- package/src/libs/engine/src/layout/layout-host.js.map +0 -1
- package/src/libs/engine/src/layout/layout-presets.js.map +0 -1
- package/src/libs/engine/src/layout/layout-quality-extended.js.map +0 -1
- package/src/libs/engine/src/layout/layout-quality-metrics.js.map +0 -1
- package/src/libs/engine/src/layout/layout-registry.js.map +0 -1
- package/src/libs/engine/src/layout/layout.service.js.map +0 -1
- package/src/libs/engine/src/layout/overlap-removal.js.map +0 -1
- package/src/libs/engine/src/layout/port-aware-layout.interface.js.map +0 -1
- package/src/libs/engine/src/layout/port-label-bridge.js.map +0 -1
- package/src/libs/engine/src/layout/portfolio-layouts.js.map +0 -1
- package/src/libs/engine/src/layout/rng.js.map +0 -1
- package/src/libs/engine/src/layout/spectral-layout-adapter.js.map +0 -1
- package/src/libs/engine/src/layout/steppable-layout.js.map +0 -1
- package/src/libs/engine/src/layout/subgraph-layout.interface.js.map +0 -1
- package/src/libs/engine/src/layout/sugiyama/layered-layout.js.map +0 -1
- package/src/libs/engine/src/layout/sugiyama/sugiyama.js.map +0 -1
- package/src/libs/engine/src/layout/tree-layout.js.map +0 -1
- package/src/libs/engine/src/layout/types.js.map +0 -1
- package/src/libs/engine/src/lib/performance/mobile-performance.service.js.map +0 -1
- package/src/libs/engine/src/models/DiagramEntity.js.map +0 -1
- package/src/libs/engine/src/models/DiagramModel.js.map +0 -1
- package/src/libs/engine/src/models/GroupModel.js.map +0 -1
- package/src/libs/engine/src/models/LinkModel.js.map +0 -1
- package/src/libs/engine/src/models/NodeModel.js.map +0 -1
- package/src/libs/engine/src/models/PortModel.js.map +0 -1
- package/src/libs/engine/src/models/StrokeModel.js.map +0 -1
- package/src/libs/engine/src/models/index.js.map +0 -1
- package/src/libs/engine/src/models/readonly-lock.js.map +0 -1
- package/src/libs/engine/src/performance/LRUCache.js.map +0 -1
- package/src/libs/engine/src/performance/PerformanceMonitor.js.map +0 -1
- package/src/libs/engine/src/performance/SpatialIndex.js.map +0 -1
- package/src/libs/engine/src/performance/index.js.map +0 -1
- package/src/libs/engine/src/plugins/PluginManager.js.map +0 -1
- package/src/libs/engine/src/plugins/index.js.map +0 -1
- package/src/libs/engine/src/ports/connection-rules.js.map +0 -1
- package/src/libs/engine/src/ports/dynamic-ports.js.map +0 -1
- package/src/libs/engine/src/ports/index.js.map +0 -1
- package/src/libs/engine/src/ports/port-groups.js.map +0 -1
- package/src/libs/engine/src/ports/port-type-registry.js.map +0 -1
- package/src/libs/engine/src/ports/port-types.js.map +0 -1
- package/src/libs/engine/src/rendering/HtmlTemplateRenderer.js.map +0 -1
- package/src/libs/engine/src/rendering/LemonadeJSRenderer.js.map +0 -1
- package/src/libs/engine/src/rendering/index.js.map +0 -1
- package/src/libs/engine/src/routing/LiveReroutingEngine.js.map +0 -1
- package/src/libs/engine/src/routing/ObstacleIndex.js.map +0 -1
- package/src/libs/engine/src/routing/ObstacleMap.js.map +0 -1
- package/src/libs/engine/src/routing/ObstacleMapBuilder.js.map +0 -1
- package/src/libs/engine/src/routing/PathSimplifier.js.map +0 -1
- package/src/libs/engine/src/routing/RoutingEngine.js.map +0 -1
- package/src/libs/engine/src/routing/algorithms/AStarRouter.js.map +0 -1
- package/src/libs/engine/src/routing/algorithms/DijkstraRouter.js.map +0 -1
- package/src/libs/engine/src/routing/algorithms/ElkRouter.js.map +0 -1
- package/src/libs/engine/src/routing/algorithms/ManhattanRouter.js.map +0 -1
- package/src/libs/engine/src/routing/algorithms/OrthogonalRouter.js.map +0 -1
- package/src/libs/engine/src/routing/algorithms/StraightRouter.js.map +0 -1
- package/src/libs/engine/src/routing/algorithms/VisibilityGraphRouter.js.map +0 -1
- package/src/libs/engine/src/routing/global/GlobalRouteSolver.js.map +0 -1
- package/src/libs/engine/src/routing/global/solver-host.js.map +0 -1
- package/src/libs/engine/src/routing/index.js.map +0 -1
- package/src/libs/engine/src/routing/types.js.map +0 -1
- package/src/libs/engine/src/selection/SelectionManager.js.map +0 -1
- package/src/libs/engine/src/selection/index.js.map +0 -1
- package/src/libs/engine/src/serialization/DiagramMigrations.js.map +0 -1
- package/src/libs/engine/src/serialization/DiagramValidator.js.map +0 -1
- package/src/libs/engine/src/serialization/DocumentEnvelope.js.map +0 -1
- package/src/libs/engine/src/serialization/Incremental.js.map +0 -1
- package/src/libs/engine/src/serialization/Serializer.js.map +0 -1
- package/src/libs/engine/src/serialization/Subgraph.js.map +0 -1
- package/src/libs/engine/src/serialization/TextFormat.js.map +0 -1
- package/src/libs/engine/src/state/ConnectionStateManager.js.map +0 -1
- package/src/libs/engine/src/state/DiagramStore.js.map +0 -1
- package/src/libs/engine/src/state/index.js.map +0 -1
- package/src/libs/engine/src/sync/awareness.js.map +0 -1
- package/src/libs/engine/src/sync/batcher.js.map +0 -1
- package/src/libs/engine/src/sync/causal-buffer.js.map +0 -1
- package/src/libs/engine/src/sync/index.js.map +0 -1
- package/src/libs/engine/src/sync/protocol.js.map +0 -1
- package/src/libs/engine/src/sync/sync-adapter.js.map +0 -1
- package/src/libs/engine/src/sync/transport.js.map +0 -1
- package/src/libs/engine/src/sync/transports/broadcast-channel.js.map +0 -1
- package/src/libs/engine/src/sync/transports/memory.js.map +0 -1
- package/src/libs/engine/src/sync/transports/unreliable.js.map +0 -1
- package/src/libs/engine/src/sync/transports/websocket.js.map +0 -1
- package/src/libs/engine/src/sync/version-vector.js.map +0 -1
- package/src/libs/engine/src/template-library/common-templates.js.map +0 -1
- package/src/libs/engine/src/template-library/data-viz-templates.js.map +0 -1
- package/src/libs/engine/src/template-library/erd-templates.js.map +0 -1
- package/src/libs/engine/src/template-library/index.js.map +0 -1
- package/src/libs/engine/src/template-library/integration.js.map +0 -1
- package/src/libs/engine/src/template-library/workflow-templates.js.map +0 -1
- package/src/libs/engine/src/templates/NodeFactory.js.map +0 -1
- package/src/libs/engine/src/templates/NodeTemplate.js.map +0 -1
- package/src/libs/engine/src/templates/TemplateLoader.js.map +0 -1
- package/src/libs/engine/src/templates/TemplateRegistry.js.map +0 -1
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-business-rule-task.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-end-event.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-error-event.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-exclusive-gateway.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-inclusive-gateway.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-intermediate-event.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-manual-task.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-message-event.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-parallel-gateway.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-script-task.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-service-task.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-start-event.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-task.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-timer-event.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-user-task.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/bpmn/index.js.map +0 -1
- package/src/libs/engine/src/templates/generated/erd/erd-associative-entity.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/erd/erd-attribute.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/erd/erd-bridge-entity.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/erd/erd-composite-attribute.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/erd/erd-derived-attribute.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/erd/erd-discriminator.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/erd/erd-entity.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/erd/erd-isa.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/erd/erd-key-attribute.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/erd/erd-multivalued-attribute.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/erd/erd-optional-attribute.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/erd/erd-partial-key.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/erd/erd-relationship.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/erd/erd-subtype.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/erd/erd-supertype.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/erd/erd-table.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/erd/erd-view.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/erd/erd-weak-entity.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/erd/erd-weak-relationship.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/erd/index.js.map +0 -1
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-connector.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-data.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-decision.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-delay.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-display.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-document.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-manual-input.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-manual-operation.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-merge.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-or.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-predefined-process.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-preparation.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-process.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-stored-data.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-summing-junction.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-terminal.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/flowchart/index.js.map +0 -1
- package/src/libs/engine/src/templates/generated/index.js.map +0 -1
- package/src/libs/engine/src/templates/generated/register.js.map +0 -1
- package/src/libs/engine/src/templates/generated/uml/index.js.map +0 -1
- package/src/libs/engine/src/templates/generated/uml/uml-abstract-class.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/uml/uml-activation.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/uml/uml-activity-partition.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/uml/uml-activity.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/uml/uml-actor.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/uml/uml-class.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/uml/uml-collaboration.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/uml/uml-component.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/uml/uml-datatype.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/uml/uml-decision.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/uml/uml-enum.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/uml/uml-final-node.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/uml/uml-final-state.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/uml/uml-fork.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/uml/uml-initial-node.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/uml/uml-initial-state.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/uml/uml-interface.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/uml/uml-join.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/uml/uml-lifeline.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/uml/uml-merge.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/uml/uml-node.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/uml/uml-note.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/uml/uml-object.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/uml/uml-package.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/uml/uml-part.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/uml/uml-port.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/uml/uml-primitive-type.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/uml/uml-signal.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/uml/uml-state.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/uml/uml-use-case.template.js.map +0 -1
- package/src/libs/engine/src/templates/index.js.map +0 -1
- package/src/libs/engine/src/templates/stencils.js.map +0 -1
- package/src/libs/engine/src/types/domain/bpmn.js.map +0 -1
- package/src/libs/engine/src/types/domain/erd.js.map +0 -1
- package/src/libs/engine/src/types/domain/flowchart.js.map +0 -1
- package/src/libs/engine/src/types/domain/index.js.map +0 -1
- package/src/libs/engine/src/types/domain/uml.js.map +0 -1
- package/src/libs/engine/src/types/event.types.js.map +0 -1
- package/src/libs/engine/src/types/geometry.types.js.map +0 -1
- package/src/libs/engine/src/types/index.js.map +0 -1
- package/src/libs/engine/src/types/layout.types.js.map +0 -1
- package/src/libs/engine/src/types/model.types.js.map +0 -1
- package/src/libs/engine/src/types/performance.types.js.map +0 -1
- package/src/libs/engine/src/types/plugin.types.js.map +0 -1
- package/src/libs/engine/src/utils/deep-clone.js.map +0 -1
- package/src/libs/engine/src/utils/geometry.js.map +0 -1
- package/src/libs/engine/src/utils/id.js.map +0 -1
- package/src/libs/engine/src/utils/index.js.map +0 -1
- package/src/libs/engine/src/utils/transform.js.map +0 -1
- package/src/libs/engine/src/validation/ConnectionGroupValidator.js.map +0 -1
- package/src/libs/engine/src/validation/TypeRegistry.js.map +0 -1
- package/src/libs/engine/src/validation/ValidationEngine.js.map +0 -1
- package/src/libs/engine/src/validation/index.js.map +0 -1
- package/src/libs/renderer/src/a11y/diagram-outline.js.map +0 -1
- package/src/libs/renderer/src/a11y/focus-containment.js.map +0 -1
- package/src/libs/renderer/src/a11y/graph-topology.js.map +0 -1
- package/src/libs/renderer/src/a11y/index.js.map +0 -1
- package/src/libs/renderer/src/a11y/live-region.js.map +0 -1
- package/src/libs/renderer/src/a11y/outline-view.js.map +0 -1
- package/src/libs/renderer/src/a11y/reduced-motion.js.map +0 -1
- package/src/libs/renderer/src/a11y/semantics.js.map +0 -1
- package/src/libs/renderer/src/canvas/canvas-context.js.map +0 -1
- package/src/libs/renderer/src/canvas/canvas-renderer.js.map +0 -1
- package/src/libs/renderer/src/canvas/dirty-region.js.map +0 -1
- package/src/libs/renderer/src/canvas/index.js.map +0 -1
- package/src/libs/renderer/src/canvas/path-geometry.js.map +0 -1
- package/src/libs/renderer/src/canvas/render-backend.js.map +0 -1
- package/src/libs/renderer/src/canvas/style-resolution.js.map +0 -1
- package/src/libs/renderer/src/canvas/tier-policy.js.map +0 -1
- package/src/libs/renderer/src/canvas/vnode-painter.js.map +0 -1
- package/src/libs/renderer/src/comments/comment-overlay.js.map +0 -1
- package/src/libs/renderer/src/comments/comment-panel.js.map +0 -1
- package/src/libs/renderer/src/comments/comment-pins.js.map +0 -1
- package/src/libs/renderer/src/comments/index.js.map +0 -1
- package/src/libs/renderer/src/export/assets.js.map +0 -1
- package/src/libs/renderer/src/export/batch.js.map +0 -1
- package/src/libs/renderer/src/export/bounds.js.map +0 -1
- package/src/libs/renderer/src/export/capture-host.js.map +0 -1
- package/src/libs/renderer/src/export/custom-nodes.js.map +0 -1
- package/src/libs/renderer/src/export/index.js.map +0 -1
- package/src/libs/renderer/src/export/node-raster.js.map +0 -1
- package/src/libs/renderer/src/export/pagination.js.map +0 -1
- package/src/libs/renderer/src/export/pdf/flate.js.map +0 -1
- package/src/libs/renderer/src/export/pdf/index.js.map +0 -1
- package/src/libs/renderer/src/export/pdf/pdf-export.js.map +0 -1
- package/src/libs/renderer/src/export/pdf/pdf-path.js.map +0 -1
- package/src/libs/renderer/src/export/pdf/pdf-primitives.js.map +0 -1
- package/src/libs/renderer/src/export/pdf/png.js.map +0 -1
- package/src/libs/renderer/src/export/raster.js.map +0 -1
- package/src/libs/renderer/src/export/round-trip.js.map +0 -1
- package/src/libs/renderer/src/export/scope.js.map +0 -1
- package/src/libs/renderer/src/export/style-flattener.js.map +0 -1
- package/src/libs/renderer/src/export/svg-export.js.map +0 -1
- package/src/libs/renderer/src/export/vnode-serializer.js.map +0 -1
- package/src/libs/renderer/src/ext/capabilities.js.map +0 -1
- package/src/libs/renderer/src/ext/capability-factory.js.map +0 -1
- package/src/libs/renderer/src/ext/components/attach.js.map +0 -1
- package/src/libs/renderer/src/ext/components/background.js.map +0 -1
- package/src/libs/renderer/src/ext/components/controls.js.map +0 -1
- package/src/libs/renderer/src/ext/components/minimap.js.map +0 -1
- package/src/libs/renderer/src/ext/diagram-registry.js.map +0 -1
- package/src/libs/renderer/src/ext/disposable.js.map +0 -1
- package/src/libs/renderer/src/ext/extension-host.js.map +0 -1
- package/src/libs/renderer/src/ext/index.js.map +0 -1
- package/src/libs/renderer/src/ext/link-pipeline.js.map +0 -1
- package/src/libs/renderer/src/ext/manifest.js.map +0 -1
- package/src/libs/renderer/src/ext/node-component.js.map +0 -1
- package/src/libs/renderer/src/ext/plugins-loader.js.map +0 -1
- package/src/libs/renderer/src/ext/portal.js.map +0 -1
- package/src/libs/renderer/src/ext/public-api.js.map +0 -1
- package/src/libs/renderer/src/ext/registry-scope.js.map +0 -1
- package/src/libs/renderer/src/ext/tools.js.map +0 -1
- package/src/libs/renderer/src/index.js.map +0 -1
- package/src/libs/renderer/src/instance/create-diagram.js.map +0 -1
- package/src/libs/renderer/src/instance/diagram-instance.js.map +0 -1
- package/src/libs/renderer/src/instance/dom-event-binder.js.map +0 -1
- package/src/libs/renderer/src/instance/index.js.map +0 -1
- package/src/libs/renderer/src/instance/layers.js.map +0 -1
- package/src/libs/renderer/src/instance/model-input.js.map +0 -1
- package/src/libs/renderer/src/instance/render-scheduler.js.map +0 -1
- package/src/libs/renderer/src/instance/wheel-scroll-yield.js.map +0 -1
- package/src/libs/renderer/src/interaction/ControlPointEditor.js.map +0 -1
- package/src/libs/renderer/src/interaction/WaypointEditor.js.map +0 -1
- package/src/libs/renderer/src/interaction/highlighters.js.map +0 -1
- package/src/libs/renderer/src/interaction/in-place-editor.js.map +0 -1
- package/src/libs/renderer/src/interaction/index.js.map +0 -1
- package/src/libs/renderer/src/interaction/ink-overlay.js.map +0 -1
- package/src/libs/renderer/src/interaction/interaction-controller.js.map +0 -1
- package/src/libs/renderer/src/interaction/keyboard-navigation.js.map +0 -1
- package/src/libs/renderer/src/interaction/selection-tools.js.map +0 -1
- package/src/libs/renderer/src/interaction/snapping.js.map +0 -1
- package/src/libs/renderer/src/interaction/touch-gestures.js.map +0 -1
- package/src/libs/renderer/src/interaction/whiteboard-tools.js.map +0 -1
- package/src/libs/renderer/src/lazy/host-culling.js.map +0 -1
- package/src/libs/renderer/src/lazy/index.js.map +0 -1
- package/src/libs/renderer/src/lazy/progressive-mounter.js.map +0 -1
- package/src/libs/renderer/src/lazy/types.js.map +0 -1
- package/src/libs/renderer/src/lazy/view-lifecycle.js.map +0 -1
- package/src/libs/renderer/src/perf/index.js.map +0 -1
- package/src/libs/renderer/src/perf/perf-hud.js.map +0 -1
- package/src/libs/renderer/src/perf/quality-governor.js.map +0 -1
- package/src/libs/renderer/src/platform/index.js.map +0 -1
- package/src/libs/renderer/src/platform/platform.js.map +0 -1
- package/src/libs/renderer/src/presence/bind-presence.js.map +0 -1
- package/src/libs/renderer/src/presence/index.js.map +0 -1
- package/src/libs/renderer/src/presence/presence-overlay.js.map +0 -1
- package/src/libs/renderer/src/presentation/index.js.map +0 -1
- package/src/libs/renderer/src/presentation/presentation.js.map +0 -1
- package/src/libs/renderer/src/presentation/viewport-channel.js.map +0 -1
- package/src/libs/renderer/src/services/animation-lifecycle.js.map +0 -1
- package/src/libs/renderer/src/services/animation-performance.service.js.map +0 -1
- package/src/libs/renderer/src/services/animation-sequencer.js.map +0 -1
- package/src/libs/renderer/src/services/animation.service.js.map +0 -1
- package/src/libs/renderer/src/services/custom-animation-registry.js.map +0 -1
- package/src/libs/renderer/src/ssr/index.js.map +0 -1
- package/src/libs/renderer/src/ssr/render-to-static.js.map +0 -1
- package/src/libs/renderer/src/svg/ArrowRenderer.js.map +0 -1
- package/src/libs/renderer/src/svg/JumpPointDetector.js.map +0 -1
- package/src/libs/renderer/src/svg/JumpPointRenderer.js.map +0 -1
- package/src/libs/renderer/src/svg/LabelRenderer.js.map +0 -1
- package/src/libs/renderer/src/svg/auto-size.js.map +0 -1
- package/src/libs/renderer/src/svg/channel-nudging.js.map +0 -1
- package/src/libs/renderer/src/svg/edge-optimizer.js.map +0 -1
- package/src/libs/renderer/src/svg/edge-templates.js.map +0 -1
- package/src/libs/renderer/src/svg/html-node.js.map +0 -1
- package/src/libs/renderer/src/svg/index.js.map +0 -1
- package/src/libs/renderer/src/svg/link-fanout.js.map +0 -1
- package/src/libs/renderer/src/svg/link-hit-test.js.map +0 -1
- package/src/libs/renderer/src/svg/motion-tracker.js.map +0 -1
- package/src/libs/renderer/src/svg/node-sizing.js.map +0 -1
- package/src/libs/renderer/src/svg/node-toolbar.js.map +0 -1
- package/src/libs/renderer/src/svg/notation-shapes.js.map +0 -1
- package/src/libs/renderer/src/svg/paint-servers.js.map +0 -1
- package/src/libs/renderer/src/svg/panel.js.map +0 -1
- package/src/libs/renderer/src/svg/path-outline.js.map +0 -1
- package/src/libs/renderer/src/svg/port-glyph.js.map +0 -1
- package/src/libs/renderer/src/svg/port-label.js.map +0 -1
- package/src/libs/renderer/src/svg/port-layout.js.map +0 -1
- package/src/libs/renderer/src/svg/port-positioning.js.map +0 -1
- package/src/libs/renderer/src/svg/port-spots.js.map +0 -1
- package/src/libs/renderer/src/svg/route-memo.js.map +0 -1
- package/src/libs/renderer/src/svg/route-solver-bridge.js.map +0 -1
- package/src/libs/renderer/src/svg/shape-registry.js.map +0 -1
- package/src/libs/renderer/src/svg/stroke-layer.js.map +0 -1
- package/src/libs/renderer/src/svg/svg-renderer.js.map +0 -1
- package/src/libs/renderer/src/svg/text-block.js.map +0 -1
- package/src/libs/renderer/src/themes/color-mode.js.map +0 -1
- package/src/libs/renderer/src/themes/contrast.js.map +0 -1
- package/src/libs/renderer/src/themes/default-dark-theme.js.map +0 -1
- package/src/libs/renderer/src/themes/default-light-theme.js.map +0 -1
- package/src/libs/renderer/src/themes/default-theme-set.js.map +0 -1
- package/src/libs/renderer/src/themes/high-contrast-theme.js.map +0 -1
- package/src/libs/renderer/src/themes/index.js.map +0 -1
- package/src/libs/renderer/src/themes/style-cascade.js.map +0 -1
- package/src/libs/renderer/src/themes/style-registry.js.map +0 -1
- package/src/libs/renderer/src/themes/theme-a11y.js.map +0 -1
- package/src/libs/renderer/src/themes/theme-css.js.map +0 -1
- package/src/libs/renderer/src/themes/theme-ref.js.map +0 -1
- package/src/libs/renderer/src/themes/theme-vars.js.map +0 -1
- package/src/libs/renderer/src/themes/token-bridge.js.map +0 -1
- package/src/libs/renderer/src/types/geometry.types.js.map +0 -1
- package/src/libs/renderer/src/types/index.js.map +0 -1
- package/src/libs/renderer/src/types/property-schema/conditions.js.map +0 -1
- package/src/libs/renderer/src/types/property-schema/editor-types.js.map +0 -1
- package/src/libs/renderer/src/types/property-schema/groups.js.map +0 -1
- package/src/libs/renderer/src/types/property-schema/index.js.map +0 -1
- package/src/libs/renderer/src/types/property-schema/property-definition.js.map +0 -1
- package/src/libs/renderer/src/types/property-schema/schema.js.map +0 -1
- package/src/libs/renderer/src/types/property-schema/validation.js.map +0 -1
- package/src/libs/renderer/src/types/renderer.interface.js.map +0 -1
- package/src/libs/renderer/src/types/theme.types.js.map +0 -1
- package/src/libs/renderer/src/types/vnode.types.js.map +0 -1
- package/src/libs/renderer/src/utils/animation-presets.js.map +0 -1
- package/src/libs/renderer/src/utils/animation-priority.js.map +0 -1
- package/src/libs/renderer/src/utils/animation-utils.js.map +0 -1
- package/src/libs/renderer/src/utils/lru-cache.js.map +0 -1
- package/src/libs/renderer/src/viewport/index.js.map +0 -1
- package/src/libs/renderer/src/viewport/viewport-controller.js.map +0 -1
- package/src/libs/renderer/src/vnode/container-id-generator.js.map +0 -1
- package/src/libs/renderer/src/vnode/foreign-object.js.map +0 -1
- package/src/libs/renderer/src/vnode/index.js.map +0 -1
- package/src/libs/renderer/src/vnode/patch.js.map +0 -1
- package/src/reachability.spec.ts +0 -173
- package/tsconfig.esm.json +0 -9
- package/tsconfig.json +0 -24
- package/tsconfig.lib.json +0 -10
- package/tsconfig.spec.json +0 -14
package/src/lib/load.ts
DELETED
|
@@ -1,359 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* `fromDocument()` — the LOAD front door.
|
|
3
|
-
*
|
|
4
|
-
* ---------------------------------------------------------------------------
|
|
5
|
-
* THE GAP THIS CLOSES
|
|
6
|
-
* ---------------------------------------------------------------------------
|
|
7
|
-
* Saving was never the problem. `DiagramSerializer.serialize()` already emits a
|
|
8
|
-
* document that round-trips byte-identically, carrying nodes, links, ports,
|
|
9
|
-
* groups and every scrap of kit metadata. LOADING was the problem, in three
|
|
10
|
-
* layers:
|
|
11
|
-
*
|
|
12
|
-
* 1. THERE WAS NO FRONT DOOR. `CreateDiagramOptions` takes `nodes`/`edges`;
|
|
13
|
-
* nothing took a saved document. `deserialize()` handed back a
|
|
14
|
-
* `DiagramModel` that no entry point would render.
|
|
15
|
-
* 2. THE KITS' POST-RENDER WIRING NEVER RAN. `erDiagram()`/`umlDiagram()` do
|
|
16
|
-
* their interaction wiring in `finalize(api)` — row selection, in-canvas
|
|
17
|
-
* editing, the suppressed resize handles. A document has no `finalize`, so
|
|
18
|
-
* a "successfully loaded" ERD was a PICTURE of an ERD: it looked right and
|
|
19
|
-
* did nothing.
|
|
20
|
-
* 3. CUSTOM NODES HAD NO PAINTER. `renderCustomNode` is a function; functions
|
|
21
|
-
* do not serialize. A loaded dashboard mounted 14 widget hosts and painted
|
|
22
|
-
* into none of them.
|
|
23
|
-
*
|
|
24
|
-
* ---------------------------------------------------------------------------
|
|
25
|
-
* WHY THE NODES GO BACK IN AS LIVE MODELS
|
|
26
|
-
* ---------------------------------------------------------------------------
|
|
27
|
-
* The obvious implementation projects every loaded `NodeModel` back down into a
|
|
28
|
-
* `NodeSpec` and lets `buildNode()` rebuild it. That is a LOSSY detour, and it
|
|
29
|
-
* loses exactly the things a saved diagram is made of: `toNodeSpec()` carries
|
|
30
|
-
* id/position/size/data/label/shape and nothing else — no ports, no metadata,
|
|
31
|
-
* no behavior. An ER card would come back with four default side ports instead
|
|
32
|
-
* of its field ports, and every FK→PK edge would silently reroute.
|
|
33
|
-
*
|
|
34
|
-
* It is also unnecessary. `applyNodes()`/`applyEdges()` have always accepted a
|
|
35
|
-
* live `NodeModel`/`LinkModel` and pass it through untouched — the documented
|
|
36
|
-
* "mix data with your own model" seam. So the loaded models ARE the input, and
|
|
37
|
-
* nothing is projected, converted or lost.
|
|
38
|
-
*
|
|
39
|
-
* ---------------------------------------------------------------------------
|
|
40
|
-
* HOW PAINTERS COME BACK
|
|
41
|
-
* ---------------------------------------------------------------------------
|
|
42
|
-
* ER and UML need NOTHING: their card is `metadata.html`, a structured tree the
|
|
43
|
-
* renderer paints itself, and metadata round-trips. Measured, not assumed — a
|
|
44
|
-
* loaded ER document paints byte-identical cards with no painter in sight.
|
|
45
|
-
*
|
|
46
|
-
* Dashboard widgets are custom HTML nodes and do need one. The kit REBUILDS the
|
|
47
|
-
* widget spec from the node's own metadata (`widgetKind` / `widgetSpec` /
|
|
48
|
-
* `widgetTitle`) and hands it to the same `defaultWidgetRenderer` the authoring
|
|
49
|
-
* path uses, so a loaded board is drawn by the identical code.
|
|
50
|
-
*
|
|
51
|
-
* Precedence, and why:
|
|
52
|
-
*
|
|
53
|
-
* caller's `renderCustomNode` — an explicit override outranks everything.
|
|
54
|
-
* caller's `renderWidget` — the app's own chart painter; a board that was
|
|
55
|
-
* authored with one must be reloaded with it.
|
|
56
|
-
* the kit's own painter — but ONLY for nodes the kit actually stamped.
|
|
57
|
-
* {@link getNodeType} registry — everything else, exactly as `render()` does.
|
|
58
|
-
*
|
|
59
|
-
* The kit claims a node by its METADATA, never by `type === 'widget'` alone.
|
|
60
|
-
* Hijacking a type name would mean any unrelated diagram with a node called
|
|
61
|
-
* "widget" got dashboard chrome painted over it; requiring the stamp the kit
|
|
62
|
-
* itself wrote keeps the registry the general seam it is meant to be.
|
|
63
|
-
*/
|
|
64
|
-
import { DiagramSerializer } from '@grafloria/engine';
|
|
65
|
-
import type {
|
|
66
|
-
DiagramDocumentEnvelope,
|
|
67
|
-
DiagramModel,
|
|
68
|
-
GroupModel,
|
|
69
|
-
LinkModel,
|
|
70
|
-
NodeModel,
|
|
71
|
-
SerializedDiagramData,
|
|
72
|
-
} from '@grafloria/engine';
|
|
73
|
-
import { getNodeType } from './node-type-registry';
|
|
74
|
-
import { bindRowInteractions } from './diagram-kit/rows';
|
|
75
|
-
import { bindCardEditing } from './diagram-kit/editing';
|
|
76
|
-
import { ensureDiagramKitStyles } from './diagram-kit/styles';
|
|
77
|
-
import { bindDashboardGrid, type DashboardGridHandle } from './dashboard-kit/grid-binder';
|
|
78
|
-
import { ensureDashboardKitStyles } from './dashboard-kit/styles';
|
|
79
|
-
import { defaultWidgetRenderer, type WidgetRenderer } from './dashboard-kit/widgets';
|
|
80
|
-
import {
|
|
81
|
-
createDashboardHandle,
|
|
82
|
-
type DashboardApiRef,
|
|
83
|
-
type DashboardHandle,
|
|
84
|
-
type DashboardHandleContext,
|
|
85
|
-
type DashboardViewSpec,
|
|
86
|
-
type DashboardWidgetSpec,
|
|
87
|
-
} from './dashboard-kit/dashboard';
|
|
88
|
-
|
|
89
|
-
/** Anything `DiagramSerializer.deserialize()` accepts, or the JSON string of it. */
|
|
90
|
-
export type SavedDiagram =
|
|
91
|
-
| SerializedDiagramData
|
|
92
|
-
| DiagramDocumentEnvelope
|
|
93
|
-
| Record<string, unknown>
|
|
94
|
-
| string;
|
|
95
|
-
|
|
96
|
-
export interface FromDocumentOptions {
|
|
97
|
-
/**
|
|
98
|
-
* The app's own widget painter — the same function it passed to
|
|
99
|
-
* `dashboard({ renderWidget })`. A board authored with a custom painter must
|
|
100
|
-
* be RELOADED with it, or the reload silently drops the app's chrome.
|
|
101
|
-
*/
|
|
102
|
-
renderWidget?: WidgetRenderer;
|
|
103
|
-
/** Full override of the custom-node painter. Outranks everything. */
|
|
104
|
-
renderCustomNode?: (node: NodeModel, host: HTMLElement) => void;
|
|
105
|
-
/**
|
|
106
|
-
* Re-attach kit interaction wiring (row selection, in-canvas editing, the
|
|
107
|
-
* dashboard grid binder). Default true — a loaded diagram should behave like
|
|
108
|
-
* the one that was saved. Pass false for a read-only viewer.
|
|
109
|
-
*/
|
|
110
|
-
interactive?: boolean;
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
/** What {@link fromDocument} returns: a `render()` spec, plus the way back in. */
|
|
114
|
-
export interface LoadedDiagramSpec {
|
|
115
|
-
nodes: NodeModel[];
|
|
116
|
-
edges: LinkModel[];
|
|
117
|
-
renderCustomNode: (node: NodeModel, host: HTMLElement) => void;
|
|
118
|
-
finalize: (api: unknown) => void;
|
|
119
|
-
/** The deserialized model — the escape hatch, available before any render. */
|
|
120
|
-
readonly model: DiagramModel;
|
|
121
|
-
/**
|
|
122
|
-
* Live grid binders for the boards `finalize()` re-attached, keyed by group
|
|
123
|
-
* id. Empty for a document that is not a dashboard.
|
|
124
|
-
*
|
|
125
|
-
* This is the SAME Map instance the handle drives (`handle.binderOf` returns
|
|
126
|
-
* from it), so the two can never disagree — `boards` is now derived from the
|
|
127
|
-
* handle's own binders rather than a parallel copy.
|
|
128
|
-
*/
|
|
129
|
-
readonly boards: Map<string, DashboardGridHandle>;
|
|
130
|
-
/**
|
|
131
|
-
* The dashboard toolbar handle over the reloaded board(s) — the SAME
|
|
132
|
-
* `DashboardHandle` `dashboard()` returns, built by the one shared builder so
|
|
133
|
-
* it cannot drift from the authoring surface: addWidget/showView/setSizing/
|
|
134
|
-
* setColumns/toJSON/exportIds and the widget handles, all live on the reload.
|
|
135
|
-
*
|
|
136
|
-
* INERT (empty `views`, every op a no-op) for a document that is not a
|
|
137
|
-
* dashboard — an ER/UML load carries no board, so an honest empty handle
|
|
138
|
-
* beats one that pretends a class card is a widget.
|
|
139
|
-
*
|
|
140
|
-
* Two carried limits, both because the datum is not in the document:
|
|
141
|
-
* - `responsive` is a runtime seam, never serialised, so a reloaded board is
|
|
142
|
-
* fixed at its saved column count until `setColumns`/`responsive` is
|
|
143
|
-
* re-supplied; `toJSON()` therefore omits it.
|
|
144
|
-
* - `renderWidget`/`onLayoutChange` are functions and cannot serialise —
|
|
145
|
-
* pass `renderWidget` to `fromDocument({ renderWidget })` to reattach the
|
|
146
|
-
* app's own painter, exactly as `dashboard({ renderWidget })` did.
|
|
147
|
-
*/
|
|
148
|
-
readonly handle: DashboardHandle;
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
/** The board geometry `dashboard()` stamps on its view group so a reload can rebind. */
|
|
152
|
-
interface PersistedBoard {
|
|
153
|
-
columns?: number;
|
|
154
|
-
gap?: number;
|
|
155
|
-
padding?: number;
|
|
156
|
-
sizing?: 'fit' | 'grow';
|
|
157
|
-
baseRowHeight?: number;
|
|
158
|
-
designHeight?: number;
|
|
159
|
-
float?: boolean;
|
|
160
|
-
rtl?: boolean;
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
/** True when the node is an ER entity card or a UML class card. */
|
|
164
|
-
function isDiagramKitCard(node: NodeModel): boolean {
|
|
165
|
-
return node.getMetadata('kitEntity') !== undefined || node.getMetadata('kitClass') !== undefined;
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
/**
|
|
169
|
-
* Rebuild the widget spec the kit's renderers eat, from the node's own metadata.
|
|
170
|
-
* Returns null for a node the dashboard kit did not stamp — see the header on
|
|
171
|
-
* why the type name alone is not enough.
|
|
172
|
-
*/
|
|
173
|
-
function widgetSpecOf(node: NodeModel): DashboardWidgetSpec | null {
|
|
174
|
-
const kind = node.getMetadata('widgetKind');
|
|
175
|
-
if (kind === undefined) return null;
|
|
176
|
-
const title = node.getMetadata('widgetTitle');
|
|
177
|
-
return {
|
|
178
|
-
id: node.id,
|
|
179
|
-
kind: kind as string,
|
|
180
|
-
...(typeof title === 'string' ? { title } : {}),
|
|
181
|
-
data: (node.getMetadata('widgetSpec') ?? {}) as Record<string, unknown>,
|
|
182
|
-
span: node.getMetadata('columnSpan') as number | undefined,
|
|
183
|
-
rows: node.getMetadata('rowSpan') as number | undefined,
|
|
184
|
-
};
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
/**
|
|
188
|
-
* Turn a saved document back into something `render()` can mount.
|
|
189
|
-
*
|
|
190
|
-
* ```ts
|
|
191
|
-
* const json = JSON.stringify(new DiagramSerializer().serialize(api.getModel()));
|
|
192
|
-
* // …later, in a fresh page:
|
|
193
|
-
* render(fromDocument(json), host);
|
|
194
|
-
* ```
|
|
195
|
-
*
|
|
196
|
-
* Accepts the flat serializer form, the portable envelope, or the JSON string
|
|
197
|
-
* of either.
|
|
198
|
-
*/
|
|
199
|
-
export function fromDocument(
|
|
200
|
-
document: SavedDiagram,
|
|
201
|
-
options: FromDocumentOptions = {}
|
|
202
|
-
): LoadedDiagramSpec {
|
|
203
|
-
const parsed = typeof document === 'string' ? parseDocument(document) : document;
|
|
204
|
-
const model = new DiagramSerializer().deserialize(parsed as never);
|
|
205
|
-
const nodes = model.getNodes();
|
|
206
|
-
const groups = model.getGroups();
|
|
207
|
-
const boards = new Map<string, DashboardGridHandle>();
|
|
208
|
-
|
|
209
|
-
// The kits inject their stylesheet from their builder; a load never calls one,
|
|
210
|
-
// so an un-styled card would come back as unstyled divs. Only for documents
|
|
211
|
-
// that actually contain that kit's nodes.
|
|
212
|
-
if (nodes.some(isDiagramKitCard)) ensureDiagramKitStyles();
|
|
213
|
-
if (nodes.some((n) => widgetSpecOf(n) !== null)) ensureDashboardKitStyles();
|
|
214
|
-
|
|
215
|
-
const paintWidget = options.renderWidget ?? defaultWidgetRenderer;
|
|
216
|
-
|
|
217
|
-
// -- reconstruct the dashboard handle's context from the loaded model -------
|
|
218
|
-
// Every board group carries `dashboardBoard` geometry; its widget members
|
|
219
|
-
// carry `widgetSpec`/title/span/rows — the canonical, lossless source for
|
|
220
|
-
// widgets (the load.ts principle that non-widget nodes go back as LIVE models
|
|
221
|
-
// is untouched; only widgets are rebuilt from metadata, exactly as the
|
|
222
|
-
// renderCustomNode painter already does). That is enough to build the SAME
|
|
223
|
-
// handle dashboard() does, through the SAME builder — no drifting twin.
|
|
224
|
-
const dashGroups = groups.filter((g) => g.getMetadata('dashboardBoard') !== undefined);
|
|
225
|
-
const specById = new Map<string, DashboardWidgetSpec>();
|
|
226
|
-
const viewOfWidget = new Map<string, string>();
|
|
227
|
-
const ctxViews: DashboardViewSpec[] = dashGroups.map((g) => {
|
|
228
|
-
const board = g.getMetadata('dashboardBoard') as PersistedBoard;
|
|
229
|
-
const widgets: DashboardWidgetSpec[] = [];
|
|
230
|
-
for (const memberId of g.members ?? []) {
|
|
231
|
-
const node = model.getNode(memberId);
|
|
232
|
-
const ws = node ? widgetSpecOf(node) : null;
|
|
233
|
-
if (!ws) continue; // non-widget members (e.g. a nested slab group) are not widgets
|
|
234
|
-
specById.set(ws.id, ws);
|
|
235
|
-
viewOfWidget.set(ws.id, g.id);
|
|
236
|
-
widgets.push(ws);
|
|
237
|
-
}
|
|
238
|
-
return { id: g.id, name: g.name, widgets, columns: board.columns, width: g.size?.width, height: g.size?.height };
|
|
239
|
-
});
|
|
240
|
-
|
|
241
|
-
const firstBoard = dashGroups[0]?.getMetadata('dashboardBoard') as PersistedBoard | undefined;
|
|
242
|
-
// The active view is the one the save left ON camera (x≈0); the others were
|
|
243
|
-
// parked far off-screen by showView. Falls back to the first board when
|
|
244
|
-
// positions are ambiguous (e.g. a single view, or positions not restored).
|
|
245
|
-
const activeGroup = dashGroups.find((g) => g.position.x > -1000) ?? dashGroups[0];
|
|
246
|
-
|
|
247
|
-
const ctx: DashboardHandleContext = {
|
|
248
|
-
views: ctxViews,
|
|
249
|
-
groups: new Map(dashGroups.map((g) => [g.id, g])),
|
|
250
|
-
// The SAME map the LoadedDiagramSpec exposes as `boards` — derived, not a copy.
|
|
251
|
-
binders: boards,
|
|
252
|
-
specById,
|
|
253
|
-
viewOfWidget,
|
|
254
|
-
hosts: new Map<string, HTMLElement>(),
|
|
255
|
-
renderWidget: paintWidget,
|
|
256
|
-
columns: firstBoard?.columns ?? 12,
|
|
257
|
-
gap: firstBoard?.gap ?? 8,
|
|
258
|
-
rowHeight: firstBoard?.baseRowHeight ?? 130,
|
|
259
|
-
boardW: dashGroups[0]?.size?.width ?? 1180,
|
|
260
|
-
boardH: dashGroups[0]?.size?.height ?? 660,
|
|
261
|
-
// responsive is NOT in the document (a runtime seam), so it is deliberately
|
|
262
|
-
// absent from the round-trip; width/height/columns/gap/sizing/float/rtl are.
|
|
263
|
-
optionsBase: firstBoard
|
|
264
|
-
? {
|
|
265
|
-
columns: firstBoard.columns,
|
|
266
|
-
gap: firstBoard.gap,
|
|
267
|
-
rowHeight: firstBoard.baseRowHeight,
|
|
268
|
-
sizing: firstBoard.sizing,
|
|
269
|
-
float: firstBoard.float,
|
|
270
|
-
rtl: firstBoard.rtl,
|
|
271
|
-
width: dashGroups[0]?.size?.width,
|
|
272
|
-
height: dashGroups[0]?.size?.height,
|
|
273
|
-
}
|
|
274
|
-
: {},
|
|
275
|
-
active: activeGroup?.id ?? 'main',
|
|
276
|
-
apiRef: null,
|
|
277
|
-
};
|
|
278
|
-
const handle = createDashboardHandle(ctx);
|
|
279
|
-
|
|
280
|
-
const renderCustomNode = (node: NodeModel, host: HTMLElement): void => {
|
|
281
|
-
if (options.renderCustomNode) return options.renderCustomNode(node, host);
|
|
282
|
-
// Prefer the ctx spec object so a later handle.update()/repaint() mutates the
|
|
283
|
-
// SAME object this initial paint used; fall back to a fresh rebuild for a
|
|
284
|
-
// loose widget node that belongs to no reconstructed board.
|
|
285
|
-
const widget = specById.get(node.id) ?? widgetSpecOf(node);
|
|
286
|
-
if (widget) {
|
|
287
|
-
ctx.hosts.set(node.id, host); // captured so update()/repaint() can find the host
|
|
288
|
-
return paintWidget(widget, host);
|
|
289
|
-
}
|
|
290
|
-
getNodeType(node.type)?.(node, host);
|
|
291
|
-
};
|
|
292
|
-
|
|
293
|
-
const finalize = (api: unknown): void => {
|
|
294
|
-
const a = api as FinalizeApi | null;
|
|
295
|
-
if (!a) return;
|
|
296
|
-
|
|
297
|
-
// -- groups ---------------------------------------------------------------
|
|
298
|
-
// Groups are not part of `nodes`/`edges`, so nothing else would carry them
|
|
299
|
-
// across. A dashboard without its view group is a set of loose widgets: no
|
|
300
|
-
// board frame, and nothing for the grid binder to bind to.
|
|
301
|
-
const live = a.getModel?.();
|
|
302
|
-
if (live) {
|
|
303
|
-
for (const group of groups) {
|
|
304
|
-
if (!live.getGroup?.(group.id)) live.addGroup?.(group);
|
|
305
|
-
}
|
|
306
|
-
}
|
|
307
|
-
|
|
308
|
-
if (options.interactive === false) return;
|
|
309
|
-
|
|
310
|
-
// -- ER / UML -------------------------------------------------------------
|
|
311
|
-
const cards = nodes.filter(isDiagramKitCard);
|
|
312
|
-
if (cards.length > 0 && a.container) {
|
|
313
|
-
for (const node of cards) {
|
|
314
|
-
// The card draws its own selection ring; the node's resize handles would
|
|
315
|
-
// frame it a second time. `erDiagram().finalize` does this on the live
|
|
316
|
-
// model for the same reason — and behaviour is NOT in the document.
|
|
317
|
-
node.setBehavior?.({ resizable: false });
|
|
318
|
-
}
|
|
319
|
-
// `rowSelection: false` is recorded only when it is the non-default, so an
|
|
320
|
-
// ordinary document stays byte-identical to what it always was.
|
|
321
|
-
if (!cards.some((n) => n.getMetadata('kitRowSelection') === false)) {
|
|
322
|
-
bindRowInteractions(a as never);
|
|
323
|
-
}
|
|
324
|
-
if (cards.some((n) => n.getMetadata('kitEditable') === true)) {
|
|
325
|
-
bindCardEditing(a as never);
|
|
326
|
-
}
|
|
327
|
-
}
|
|
328
|
-
|
|
329
|
-
// -- dashboard boards -----------------------------------------------------
|
|
330
|
-
// Wire the render API into the handle's boxed cell, then bind each board.
|
|
331
|
-
// `bindDashboardGrid` sync()s on construction, so the handle's cellOf/toJSON
|
|
332
|
-
// work immediately — no camera move, no showView, so the paint is byte-for-
|
|
333
|
-
// byte what a boards-only load produced.
|
|
334
|
-
ctx.apiRef = a as unknown as DashboardApiRef;
|
|
335
|
-
for (const group of groups) {
|
|
336
|
-
const board = group.getMetadata('dashboardBoard') as PersistedBoard | undefined;
|
|
337
|
-
if (!board) continue;
|
|
338
|
-
boards.set(group.id, bindDashboardGrid(a as never, group, { ...board }));
|
|
339
|
-
}
|
|
340
|
-
};
|
|
341
|
-
|
|
342
|
-
return { nodes, edges: model.getLinks(), renderCustomNode, finalize, model, boards, handle };
|
|
343
|
-
}
|
|
344
|
-
|
|
345
|
-
interface FinalizeApi {
|
|
346
|
-
container?: HTMLElement;
|
|
347
|
-
getModel?: () => {
|
|
348
|
-
getGroup?: (id: string) => GroupModel | undefined;
|
|
349
|
-
addGroup?: (g: GroupModel) => void;
|
|
350
|
-
};
|
|
351
|
-
}
|
|
352
|
-
|
|
353
|
-
function parseDocument(json: string): SavedDiagram {
|
|
354
|
-
try {
|
|
355
|
-
return JSON.parse(json) as Record<string, unknown>;
|
|
356
|
-
} catch (error) {
|
|
357
|
-
throw new Error(`fromDocument: not a saved diagram (${(error as Error).message})`);
|
|
358
|
-
}
|
|
359
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"node-type-registry.js","sourceRoot":"","sources":["node-type-registry.ts"],"names":[],"mappings":";;AA2BA,4CAEC;AAED,kCAEC;AAED,kCAEC;AAGD,gDAEC;AAGD,kDAEC;AAWD,gDAiBC;AAnDD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA4B,CAAC;AAErD,kDAAkD;AAClD,SAAgB,gBAAgB,CAAC,IAAY,EAAE,QAA0B;IACvE,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAC/B,CAAC;AAED,SAAgB,WAAW,CAAC,IAAY;IACtC,OAAO,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED,SAAgB,WAAW,CAAC,IAAY;IACtC,OAAO,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED,8CAA8C;AAC9C,SAAgB,kBAAkB,CAAC,IAAY;IAC7C,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACxB,CAAC;AAED,kCAAkC;AAClC,SAAgB,mBAAmB;IACjC,OAAO,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;AAC9B,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,kBAAkB,CAChC,QAA6B,EAC7B,IAAe,EACf,OAAoB;IAEpB,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAqB,CAAC;IAEtE,MAAM,MAAM,GAAG,QAAQ,CAAC,gBAAgB,CAAc,cAAc,CAAC,CAAC;IACtE,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACvC,MAAM,GAAG,GAAG,KAAK,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QAC7C,IAAI,CAAC,GAAG;YAAE,SAAS;QACnB,MAAM,KAAK,GAAG,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAE,IAAI,CAAC,IAAgC,CAAC,GAAG,CAAC,CAAC;QACnF,KAAK,CAAC,WAAW,GAAG,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACjF,CAAC;IAED,OAAO,CAAC,WAAW,GAAG,EAAE,CAAC;IACzB,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;AAChC,CAAC"}
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
import type { NodeModel } from '@grafloria/engine';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* The framework-free custom-node registry behind `<grafloria-flow>` and
|
|
5
|
-
* `Grafloria.registerNodeType()`.
|
|
6
|
-
*
|
|
7
|
-
* A "node type" is just a function that fills a host element the core handed us:
|
|
8
|
-
*
|
|
9
|
-
* ```ts
|
|
10
|
-
* Grafloria.registerNodeType('card', (node, el) => {
|
|
11
|
-
* el.innerHTML = `<div class="card">${node.data.title}</div>`;
|
|
12
|
-
* });
|
|
13
|
-
* ```
|
|
14
|
-
*
|
|
15
|
-
* There is a second, zero-JavaScript path: a `<template data-node-type="card">`
|
|
16
|
-
* slotted inside the `<grafloria-flow>` element. The template is cloned per node and
|
|
17
|
-
* `[data-field="title"]` elements are filled from `node.data` — which is what
|
|
18
|
-
* lets a CMS, a notebook or a plain HTML page ship a custom node with no build
|
|
19
|
-
* step at all.
|
|
20
|
-
*/
|
|
21
|
-
|
|
22
|
-
/** Fills `element` with the visual for `node`. Called once per mounted node. */
|
|
23
|
-
export type NodeTypeRenderer = (node: NodeModel, element: HTMLElement) => void;
|
|
24
|
-
|
|
25
|
-
const registry = new Map<string, NodeTypeRenderer>();
|
|
26
|
-
|
|
27
|
-
/** Register (or replace) a node type globally. */
|
|
28
|
-
export function registerNodeType(type: string, renderer: NodeTypeRenderer): void {
|
|
29
|
-
registry.set(type, renderer);
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
export function getNodeType(type: string): NodeTypeRenderer | undefined {
|
|
33
|
-
return registry.get(type);
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
export function hasNodeType(type: string): boolean {
|
|
37
|
-
return registry.has(type);
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
/** Drop a registration (mostly for tests). */
|
|
41
|
-
export function unregisterNodeType(type: string): void {
|
|
42
|
-
registry.delete(type);
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
/** Every registered type name. */
|
|
46
|
-
export function registeredNodeTypes(): string[] {
|
|
47
|
-
return [...registry.keys()];
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
/**
|
|
51
|
-
* Render a node from a slotted `<template data-node-type="...">`.
|
|
52
|
-
*
|
|
53
|
-
* Clones the template's content into `element` and substitutes `node.data` into
|
|
54
|
-
* every `[data-field="key"]` descendant's text. Values are written with
|
|
55
|
-
* `textContent`, never `innerHTML`: a diagram's `data` is frequently
|
|
56
|
-
* user-supplied, and a template engine that injected raw HTML here would be an
|
|
57
|
-
* XSS vector in every host that embeds us.
|
|
58
|
-
*/
|
|
59
|
-
export function renderFromTemplate(
|
|
60
|
-
template: HTMLTemplateElement,
|
|
61
|
-
node: NodeModel,
|
|
62
|
-
element: HTMLElement
|
|
63
|
-
): void {
|
|
64
|
-
const fragment = template.content.cloneNode(true) as DocumentFragment;
|
|
65
|
-
|
|
66
|
-
const fields = fragment.querySelectorAll<HTMLElement>('[data-field]');
|
|
67
|
-
for (const field of Array.from(fields)) {
|
|
68
|
-
const key = field.getAttribute('data-field');
|
|
69
|
-
if (!key) continue;
|
|
70
|
-
const value = key === 'id' ? node.id : (node.data as Record<string, unknown>)[key];
|
|
71
|
-
field.textContent = value === undefined || value === null ? '' : String(value);
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
element.textContent = '';
|
|
75
|
-
element.appendChild(fragment);
|
|
76
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"builders.js","sourceRoot":"","sources":["builders.ts"],"names":[],"mappings":";;AAwCA,wDAEC;AAGD,8CAEC;AAGD,4DAEC;AAGD,8DAEC;AApBD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA0B,CAAC;AAEnD,oEAAoE;AACpE,SAAgB,sBAAsB,CAAC,QAAgB,EAAE,OAAuB;IAC9E,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AAClC,CAAC;AAED,+EAA+E;AAC/E,SAAgB,iBAAiB,CAAC,QAAgB;IAChD,OAAO,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAChC,CAAC;AAED,mEAAmE;AACnE,SAAgB,wBAAwB,CAAC,QAAgB;IACvD,OAAO,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AACnC,CAAC;AAED,iEAAiE;AACjE,SAAgB,yBAAyB;IACvC,OAAO,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;AACrC,CAAC"}
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Stencil BUILDERS — how a dropped master becomes node(s).
|
|
3
|
-
*
|
|
4
|
-
* Most masters are a silhouette plus a label, and `NodeFactory` builds those
|
|
5
|
-
* perfectly well. A few are not shapes at all: an ER entity or a UML class is a
|
|
6
|
-
* CARD with rows you select, rename and add to. The diagram kits already build
|
|
7
|
-
* exactly those cards, with inline editing, row-selection events and an undoable
|
|
8
|
-
* update funnel — and the palette had no way to reach them, so dropping "Entity"
|
|
9
|
-
* produced a rectangle.
|
|
10
|
-
*
|
|
11
|
-
* Rather than special-case ids inside the palette (which would hardcode ER/UML
|
|
12
|
-
* knowledge into a module that should not have it, and would lock a host's own
|
|
13
|
-
* stencils out of the same capability), a master resolves to a REGISTERED
|
|
14
|
-
* builder. The default builder is the template path; the ER and UML kits
|
|
15
|
-
* register card builders; anyone can register their own.
|
|
16
|
-
*
|
|
17
|
-
* registerStencilBuilder('erd-entity', myBuilder);
|
|
18
|
-
*/
|
|
19
|
-
import type { NodeTemplate } from '@grafloria/engine';
|
|
20
|
-
|
|
21
|
-
/** What a builder is handed. */
|
|
22
|
-
export interface StencilBuildContext {
|
|
23
|
-
/** The live diagram instance (engine + model + container). */
|
|
24
|
-
api: any;
|
|
25
|
-
/** The master being placed. */
|
|
26
|
-
master: NodeTemplate;
|
|
27
|
-
/** World position for the node's TOP-LEFT (the palette centres before calling). */
|
|
28
|
-
at: { x: number; y: number };
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
/**
|
|
32
|
-
* Build the node(s) for a master. Return the created root node — the palette
|
|
33
|
-
* takes it from there (undo entry, membership, onPlace). Return `null` to fall
|
|
34
|
-
* through to the default template path.
|
|
35
|
-
*/
|
|
36
|
-
export type StencilBuilder = (ctx: StencilBuildContext) => any | null;
|
|
37
|
-
|
|
38
|
-
const builders = new Map<string, StencilBuilder>();
|
|
39
|
-
|
|
40
|
-
/** Register the builder for a master id. Last registration wins. */
|
|
41
|
-
export function registerStencilBuilder(masterId: string, builder: StencilBuilder): void {
|
|
42
|
-
builders.set(masterId, builder);
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
/** The builder for a master id, or undefined for the default template path. */
|
|
46
|
-
export function getStencilBuilder(masterId: string): StencilBuilder | undefined {
|
|
47
|
-
return builders.get(masterId);
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
/** Drop a registration (tests, or a host replacing a built-in). */
|
|
51
|
-
export function unregisterStencilBuilder(masterId: string): boolean {
|
|
52
|
-
return builders.delete(masterId);
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
/** Every master id that currently resolves to a card builder. */
|
|
56
|
-
export function registeredStencilBuilders(): string[] {
|
|
57
|
-
return [...builders.keys()].sort();
|
|
58
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"card-builders.js","sourceRoot":"","sources":["card-builders.ts"],"names":[],"mappings":";;AAoEA,oDA4CC;AAhHD;;;;;;;;;;;;;GAaG;AACH,8CAA8C;AAC9C,gDAQwB;AACxB,yCAA8E;AAE9E,kFAAkF;AAClF,MAAM,UAAU,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AAClE,MAAM,UAAU,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;AAElF,IAAI,GAAG,GAAG,CAAC,CAAC;AACZ,MAAM,MAAM,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,GAAG,MAAM,IAAI,EAAE,GAAG,EAAE,CAAC;AAExD,kFAAkF;AAClF,SAAS,SAAS,CAChB,GAAwB,EACxB,IAAqG;;IAErG,IAAA,oCAAsB,GAAE,CAAC;IACzB,MAAM,IAAI,GAAG,IAAI,kBAAS,CAAC;QACzB,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE;QACtC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;KACjD,CAAC,CAAC;IACH,4EAA4E;IAC5E,kCAAkC;IAClC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;IACvE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1C,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;IACtC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IACtC,MAAA,IAAI,CAAC,QAAQ,qDAAG,UAAU,CAAC,CAAC;IAE5B,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjC,4EAA4E;IAC5E,4EAA4E;IAC5E,sCAAsC;IACtC,MAAM,SAAS,GAAG,MAAA,GAAG,CAAC,GAAG,CAAC,SAAS,mCAAI,MAAA,MAAA,GAAG,CAAC,GAAG,EAAC,YAAY,kDAAI,CAAC;IAChE,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,MAAM,mCAAQ,GAAG,CAAC,GAAG,KAAE,SAAS,GAAE,CAAC;QACzC,IAAI,CAAC;YAAC,IAAA,iCAAmB,EAAC,MAAe,CAAC,CAAC;QAAC,CAAC;QAAC,QAAQ,cAAc,IAAhB,CAAC,CAAC,cAAc,CAAC,CAAC;QACtE,IAAI,CAAC;YAAC,IAAA,6BAAe,EAAC,MAAe,CAAC,CAAC;QAAC,CAAC;QAAC,QAAQ,cAAc,IAAhB,CAAC,CAAC,cAAc,CAAC,CAAC;IACpE,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,8EAA8E;AAC9E,SAAgB,oBAAoB;IAClC,KAAK,MAAM,QAAQ,IAAI,CAAC,YAAY,EAAE,WAAW,EAAE,wBAAwB,EAAE,mBAAmB,CAAC,EAAE,CAAC;QAClG,IAAA,iCAAsB,EAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE;;YACvC,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC5B,MAAM,IAAI,GAAG;gBACX,EAAE;gBACF,IAAI,EAAE,MAAA,MAAC,GAAG,CAAC,MAAc,CAAC,IAAI,0CAAE,IAAI,mCAAI,QAAQ;gBAChD,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE;oBACtC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE;iBAClC;aACF,CAAC;YACF,OAAO,SAAS,CAAC,GAAG,EAAE;gBACpB,EAAE;gBACF,KAAK,EAAE,GAAG;gBACV,MAAM,EAAE,IAAA,8BAAgB,EAAC,IAAa,EAAE,IAAI,CAAC;gBAC7C,OAAO,EAAE,IAAA,+BAAiB,EAAC,IAAa,EAAE,IAAI,CAAC;gBAC/C,OAAO,EAAE,WAAW;gBACpB,IAAI;aACL,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,MAAM,QAAQ,IAAI,CAAC,WAAW,EAAE,oBAAoB,EAAE,eAAe,CAAC,EAAE,CAAC;QAC5E,IAAA,iCAAsB,EAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE;;YACvC,MAAM,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;YAC3B,MAAM,IAAI,GAAG;gBACX,EAAE;gBACF,IAAI,EAAE,MAAA,MAAC,GAAG,CAAC,MAAc,CAAC,IAAI,0CAAE,IAAI,mCAAI,OAAO;gBAC/C,QAAQ,EAAE,QAAQ,KAAK,oBAAoB;gBAC3C,UAAU,EAAE,QAAQ,KAAK,eAAe,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;gBAClE,UAAU,EAAE,CAAC,eAAe,CAAC;gBAC7B,OAAO,EAAE,CAAC,kBAAkB,CAAC;aAC9B,CAAC;YACF,OAAO,SAAS,CAAC,GAAG,EAAE;gBACpB,EAAE;gBACF,KAAK,EAAE,GAAG;gBACV,MAAM,EAAE,IAAA,6BAAe,EAAC,IAAa,EAAE,IAAI,CAAC;gBAC5C,OAAO,EAAE,IAAA,8BAAgB,EAAC,IAAa,EAAE,IAAI,CAAC;gBAC9C,OAAO,EAAE,UAAU;gBACnB,IAAI;aACL,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
|
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Card builders for the stencil palette — the bridge that finally lets a
|
|
3
|
-
* dropped "Entity" or "Class" be a REAL kit card instead of a rectangle.
|
|
4
|
-
*
|
|
5
|
-
* Everything here is reuse. `entityCardContent` / `classCardContent` and their
|
|
6
|
-
* auto-height helpers are the same functions `erDiagram()` / `umlDiagram()`
|
|
7
|
-
* use, so a dropped card is byte-for-byte the card those kits produce — which
|
|
8
|
-
* means the row-selection layer (`axk:row-select`), the inline editors and the
|
|
9
|
-
* `erTable(api, id)` / `umlClass(api, id)` handles all work on it for free.
|
|
10
|
-
*
|
|
11
|
-
* The kit's own bindings are idempotent per container, so binding them again
|
|
12
|
-
* after a drop is safe and is what makes the FIRST dropped card interactive on
|
|
13
|
-
* a canvas that was never built by a kit.
|
|
14
|
-
*/
|
|
15
|
-
import { NodeModel } from '@grafloria/engine';
|
|
16
|
-
import {
|
|
17
|
-
entityCardContent,
|
|
18
|
-
entityAutoHeight,
|
|
19
|
-
classCardContent,
|
|
20
|
-
classAutoHeight,
|
|
21
|
-
bindRowInteractions,
|
|
22
|
-
bindCardEditing,
|
|
23
|
-
ensureDiagramKitStyles,
|
|
24
|
-
} from '../diagram-kit';
|
|
25
|
-
import { registerStencilBuilder, type StencilBuildContext } from './builders';
|
|
26
|
-
|
|
27
|
-
/** Cards are transparent: the HTML body IS the card, the shape must not paint. */
|
|
28
|
-
const CARD_SHAPE = { type: 'rect', fill: 'none', stroke: 'none' };
|
|
29
|
-
const CARD_STYLE = { fill: 'transparent', stroke: 'transparent', strokeWidth: 0 };
|
|
30
|
-
|
|
31
|
-
let seq = 0;
|
|
32
|
-
const nextId = (prefix: string) => `${prefix}-${++seq}`;
|
|
33
|
-
|
|
34
|
-
/** Turn the kit's card spec into a live node, and make the canvas interactive. */
|
|
35
|
-
function mountCard(
|
|
36
|
-
ctx: StencilBuildContext,
|
|
37
|
-
opts: { id: string; width: number; height: number; content: unknown; metaKey: string; spec: unknown }
|
|
38
|
-
): any {
|
|
39
|
-
ensureDiagramKitStyles();
|
|
40
|
-
const node = new NodeModel({
|
|
41
|
-
id: opts.id,
|
|
42
|
-
type: 'kit-card',
|
|
43
|
-
position: { x: ctx.at.x, y: ctx.at.y },
|
|
44
|
-
size: { width: opts.width, height: opts.height },
|
|
45
|
-
});
|
|
46
|
-
// The SAME metadata shape erDiagram()/umlDiagram() stamp — that is what the
|
|
47
|
-
// row and editing layers key off.
|
|
48
|
-
node.setMetadata('html', { content: opts.content, interactive: true });
|
|
49
|
-
node.setMetadata(opts.metaKey, opts.spec);
|
|
50
|
-
node.setMetadata('kitEditable', true);
|
|
51
|
-
node.setMetadata('shape', CARD_SHAPE);
|
|
52
|
-
node.setStyle?.(CARD_STYLE);
|
|
53
|
-
|
|
54
|
-
ctx.api.getModel().addNode(node);
|
|
55
|
-
|
|
56
|
-
// Bind the kit runtime for this container. Both are idempotent, so a canvas
|
|
57
|
-
// that already ran a kit's finalize() is unaffected, and one that never did
|
|
58
|
-
// becomes editable on the first drop.
|
|
59
|
-
const container = ctx.api.container ?? ctx.api.getContainer?.();
|
|
60
|
-
if (container) {
|
|
61
|
-
const kitApi = { ...ctx.api, container };
|
|
62
|
-
try { bindRowInteractions(kitApi as never); } catch { /* optional */ }
|
|
63
|
-
try { bindCardEditing(kitApi as never); } catch { /* optional */ }
|
|
64
|
-
}
|
|
65
|
-
return node;
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
/** Register the built-in card builders (ER entity/table, UML classifiers). */
|
|
69
|
-
export function registerCardBuilders(): void {
|
|
70
|
-
for (const masterId of ['erd-entity', 'erd-table', 'erd-associative-entity', 'erd-bridge-entity']) {
|
|
71
|
-
registerStencilBuilder(masterId, (ctx) => {
|
|
72
|
-
const id = nextId('entity');
|
|
73
|
-
const spec = {
|
|
74
|
-
id,
|
|
75
|
-
name: (ctx.master as any).meta?.name ?? 'Entity',
|
|
76
|
-
columns: [
|
|
77
|
-
{ name: 'id', type: 'uuid', pk: true },
|
|
78
|
-
{ name: 'name', type: 'varchar' },
|
|
79
|
-
],
|
|
80
|
-
};
|
|
81
|
-
return mountCard(ctx, {
|
|
82
|
-
id,
|
|
83
|
-
width: 220,
|
|
84
|
-
height: entityAutoHeight(spec as never, true),
|
|
85
|
-
content: entityCardContent(spec as never, true),
|
|
86
|
-
metaKey: 'kitEntity',
|
|
87
|
-
spec,
|
|
88
|
-
});
|
|
89
|
-
});
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
for (const masterId of ['uml-class', 'uml-abstract-class', 'uml-interface']) {
|
|
93
|
-
registerStencilBuilder(masterId, (ctx) => {
|
|
94
|
-
const id = nextId('class');
|
|
95
|
-
const spec = {
|
|
96
|
-
id,
|
|
97
|
-
name: (ctx.master as any).meta?.name ?? 'Class',
|
|
98
|
-
abstract: masterId === 'uml-abstract-class',
|
|
99
|
-
stereotype: masterId === 'uml-interface' ? 'interface' : undefined,
|
|
100
|
-
attributes: ['- field: Type'],
|
|
101
|
-
methods: ['+ method(): void'],
|
|
102
|
-
};
|
|
103
|
-
return mountCard(ctx, {
|
|
104
|
-
id,
|
|
105
|
-
width: 220,
|
|
106
|
-
height: classAutoHeight(spec as never, true),
|
|
107
|
-
content: classCardContent(spec as never, true),
|
|
108
|
-
metaKey: 'kitClass',
|
|
109
|
-
spec,
|
|
110
|
-
});
|
|
111
|
-
});
|
|
112
|
-
}
|
|
113
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;AAAA,qCAA+C;AAAtC,6GAAA,kBAAkB,OAAA;AAM3B,2CAAkD;AAAzC,gHAAA,kBAAkB,OAAA;AAE3B,mCAAkD;AAAzC,gHAAA,sBAAsB,OAAA;AAC/B,uCAEoB;AADlB,kHAAA,sBAAsB,OAAA;AAAE,6GAAA,iBAAiB,OAAA;AAAE,oHAAA,wBAAwB,OAAA;AAAE,qHAAA,yBAAyB,OAAA;AAGhG,mDAAuD;AACvD,6EAA6E;AAC7E,iCAAiC;AACjC,IAAA,oCAAoB,GAAE,CAAC"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
export { bindStencilPalette } from './palette';
|
|
2
|
-
export type {
|
|
3
|
-
StencilPaletteApi,
|
|
4
|
-
StencilPaletteOptions,
|
|
5
|
-
StencilPaletteHandle,
|
|
6
|
-
} from './palette';
|
|
7
|
-
export { bindShapeDataPanel } from './shape-data';
|
|
8
|
-
export type { ShapeDataPanelApi, ShapeDataPanelOptions, ShapeDataPanelHandle } from './shape-data';
|
|
9
|
-
export { ensureStencilKitStyles } from './styles';
|
|
10
|
-
export {
|
|
11
|
-
registerStencilBuilder, getStencilBuilder, unregisterStencilBuilder, registeredStencilBuilders,
|
|
12
|
-
} from './builders';
|
|
13
|
-
export type { StencilBuilder, StencilBuildContext } from './builders';
|
|
14
|
-
import { registerCardBuilders } from './card-builders';
|
|
15
|
-
// The ER/UML card builders ship registered — dropping "Entity" gives a real,
|
|
16
|
-
// editable table out of the box.
|
|
17
|
-
registerCardBuilders();
|