@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
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Live editing — `updateEntity` / `updateClass` mutate a rendered kit card in
|
|
3
|
+
* place (P3, the foundation the in-canvas editing chrome is built on).
|
|
4
|
+
*
|
|
5
|
+
* A delta changes the DATA (a table's name, its columns; a class's name,
|
|
6
|
+
* attributes, methods, width/height) and this module:
|
|
7
|
+
* 1. reads the stored spec (`kitEntity` / `kitClass`) — the source of truth;
|
|
8
|
+
* 2. applies the delta to a NEW spec (the caller's objects are never mutated,
|
|
9
|
+
* so undo can restore the old one cleanly);
|
|
10
|
+
* 3. regenerates the card html from the SAME builder er.ts/uml.ts use
|
|
11
|
+
* (`card.ts`), so an edited card is identical to a freshly-built one;
|
|
12
|
+
* 4. recomputes the node size;
|
|
13
|
+
* 5. RECONCILES the field ports — every port pinned to a surviving column
|
|
14
|
+
* moves to that column's new row (`erRowCenterY`), ports on a removed
|
|
15
|
+
* column are dropped along with their edges. Port ids never change, so an
|
|
16
|
+
* edge stays glued to its row across inserts/removes/reorders (the exact
|
|
17
|
+
* failure this solves: a port frozen at the old row while the rows shifted
|
|
18
|
+
* under it);
|
|
19
|
+
* 6. repaints — as ONE undoable step.
|
|
20
|
+
*
|
|
21
|
+
* ONE UNDO STEP. The change is applied through `api.getEngine().commandManager`
|
|
22
|
+
* — the same public seam `renderer/ext/public-api.ts` uses — wrapped in a
|
|
23
|
+
* single kit-local {@link Command}. There is no `SetNodeMetadataCommand` in the
|
|
24
|
+
* engine (the html/kit-spec mutation has no built-in command), so rather than
|
|
25
|
+
* reach into engine internals or compose a half-undoable macro, the whole edit
|
|
26
|
+
* lives in one Command subclass here (subclassing `Command` is the engine's
|
|
27
|
+
* intended extension point — every basic command does it). When no engine is
|
|
28
|
+
* present the edit still applies, just non-undoably.
|
|
29
|
+
*/
|
|
30
|
+
import { __awaiter } from "tslib";
|
|
31
|
+
import { Command, PortModel, LinkModel } from '@grafloria/engine';
|
|
32
|
+
import { entityCardContent, entityAutoHeight, classCardContent, classAutoHeight, erRowCenterY, rowIndexFromY, matchColumns, } from './card';
|
|
33
|
+
/**
|
|
34
|
+
* The single undoable edit. Captures the card's whole before-state on first
|
|
35
|
+
* execute and restores it on undo, so an edit — however many rows and edges it
|
|
36
|
+
* touched — is one Ctrl+Z.
|
|
37
|
+
*/
|
|
38
|
+
class UpdateCardCommand extends Command {
|
|
39
|
+
constructor(nodeId, kind, build) {
|
|
40
|
+
super(kind === 'er' ? 'Edit table' : 'Edit class');
|
|
41
|
+
this.nodeId = nodeId;
|
|
42
|
+
this.kind = kind;
|
|
43
|
+
this.build = build;
|
|
44
|
+
this.captured = false;
|
|
45
|
+
}
|
|
46
|
+
execute(context) {
|
|
47
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
48
|
+
const model = context.diagram;
|
|
49
|
+
const node = model.getNode(this.nodeId);
|
|
50
|
+
if (!node)
|
|
51
|
+
return;
|
|
52
|
+
const kitKey = this.kind === 'er' ? 'kitEntity' : 'kitClass';
|
|
53
|
+
const oldKit = ((_a = node.getMetadata(kitKey)) !== null && _a !== void 0 ? _a : {});
|
|
54
|
+
if (!this.captured) {
|
|
55
|
+
this.captured = true;
|
|
56
|
+
this.before = {
|
|
57
|
+
html: node.getMetadata('html'),
|
|
58
|
+
kit: oldKit,
|
|
59
|
+
size: Object.assign({}, node.size),
|
|
60
|
+
ports: node.getPorts().map((p) => p.serialize()),
|
|
61
|
+
links: [],
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
const result = this.build(oldKit);
|
|
65
|
+
const newWidth = (_b = result.width) !== null && _b !== void 0 ? _b : node.size.width;
|
|
66
|
+
const removedLinks = [];
|
|
67
|
+
if (this.kind === 'er') {
|
|
68
|
+
const oldCols = ((_c = oldKit['columns']) !== null && _c !== void 0 ? _c : []);
|
|
69
|
+
const newCols = ((_d = result.newKit['columns']) !== null && _d !== void 0 ? _d : []);
|
|
70
|
+
const map = matchColumns(oldCols, newCols);
|
|
71
|
+
for (const port of [...node.getPorts()]) {
|
|
72
|
+
const args = (_e = port.layout) === null || _e === void 0 ? void 0 : _e.args;
|
|
73
|
+
if (((_f = port.layout) === null || _f === void 0 ? void 0 : _f.strategy) !== 'absolute' || !args || args.units !== 'px' || args.y == null)
|
|
74
|
+
continue;
|
|
75
|
+
const oldIdx = rowIndexFromY(args.y);
|
|
76
|
+
if (oldIdx < 0 || oldIdx >= oldCols.length)
|
|
77
|
+
continue; // not a row-pinned field port
|
|
78
|
+
const newIdx = map.get(oldIdx);
|
|
79
|
+
if (newIdx === undefined) {
|
|
80
|
+
// The column is gone — drop the port and every edge riding it.
|
|
81
|
+
for (const link of model.getLinks()) {
|
|
82
|
+
if (link.sourcePortId === port.id || link.targetPortId === port.id)
|
|
83
|
+
removedLinks.push(link.serialize());
|
|
84
|
+
}
|
|
85
|
+
for (const link of model.getLinks().filter((l) => l.sourcePortId === port.id || l.targetPortId === port.id)) {
|
|
86
|
+
model.removeLink(link.id);
|
|
87
|
+
}
|
|
88
|
+
node.removePort(port.id);
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
// Move the port to its column's NEW row; keep the ±dy spread. x tracks
|
|
92
|
+
// the (possibly changed) width by side, so a widened table stays pinned.
|
|
93
|
+
args.y = erRowCenterY(newIdx);
|
|
94
|
+
const side = (_g = port.alignment) === null || _g === void 0 ? void 0 : _g.side;
|
|
95
|
+
args.x = side === 'left' ? 0 : side === 'right' ? newWidth : newWidth / 2;
|
|
96
|
+
// A nested-arg mutation is not tracked — nudge the port so the model
|
|
97
|
+
// marks it dirty and the renderer repositions it this frame.
|
|
98
|
+
port.setOffset(Object.assign({}, ((_h = port.offset) !== null && _h !== void 0 ? _h : { x: 0, y: 0 })));
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
node.setMetadata('html', { content: result.content, interactive: true });
|
|
103
|
+
node.setMetadata(kitKey, result.newKit);
|
|
104
|
+
node.setSize(newWidth, result.height);
|
|
105
|
+
if (this.before)
|
|
106
|
+
this.before.links = removedLinks;
|
|
107
|
+
}
|
|
108
|
+
undo(context) {
|
|
109
|
+
var _a;
|
|
110
|
+
const model = context.diagram;
|
|
111
|
+
const node = model.getNode(this.nodeId);
|
|
112
|
+
if (!node || !this.before)
|
|
113
|
+
return;
|
|
114
|
+
node.setMetadata('html', this.before.html);
|
|
115
|
+
node.setMetadata(this.kind === 'er' ? 'kitEntity' : 'kitClass', this.before.kit);
|
|
116
|
+
node.setSize(this.before.size.width, this.before.size.height);
|
|
117
|
+
const beforeIds = new Set(this.before.ports.map((p) => p['id']));
|
|
118
|
+
for (const p of [...node.getPorts()])
|
|
119
|
+
if (!beforeIds.has(p.id))
|
|
120
|
+
node.removePort(p.id);
|
|
121
|
+
for (const sp of this.before.ports) {
|
|
122
|
+
const live = node.getPort(sp['id']);
|
|
123
|
+
if (live) {
|
|
124
|
+
live.layout = sp['layout'];
|
|
125
|
+
live.setOffset(Object.assign({}, ((_a = sp['offset']) !== null && _a !== void 0 ? _a : { x: 0, y: 0 })));
|
|
126
|
+
}
|
|
127
|
+
else {
|
|
128
|
+
node.addPort(PortModel.fromJSON(sp));
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
for (const sl of this.before.links) {
|
|
132
|
+
if (!model.getLink(sl['id']))
|
|
133
|
+
model.addLink(LinkModel.fromJSON(sl));
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
canExecute(context) {
|
|
137
|
+
var _a;
|
|
138
|
+
return !!((_a = context.diagram) === null || _a === void 0 ? void 0 : _a.getNode(this.nodeId));
|
|
139
|
+
}
|
|
140
|
+
serialize() {
|
|
141
|
+
return { id: this.id, name: this.name, timestamp: this.timestamp, data: { nodeId: this.nodeId, kind: this.kind } };
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
/** Route a build through the engine's command stack (one undo step) or apply it directly. */
|
|
145
|
+
function runUpdate(api, nodeId, kind, build) {
|
|
146
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
147
|
+
var _a, _b, _c, _d, _e;
|
|
148
|
+
const model = (_a = api.getModel) === null || _a === void 0 ? void 0 : _a.call(api);
|
|
149
|
+
const node = (_b = model === null || model === void 0 ? void 0 : model.getNode) === null || _b === void 0 ? void 0 : _b.call(model, nodeId);
|
|
150
|
+
if (!model || !node)
|
|
151
|
+
return false;
|
|
152
|
+
const command = new UpdateCardCommand(nodeId, kind, build);
|
|
153
|
+
const cm = (_d = (_c = api.getEngine) === null || _c === void 0 ? void 0 : _c.call(api)) === null || _d === void 0 ? void 0 : _d.commandManager;
|
|
154
|
+
if (cm === null || cm === void 0 ? void 0 : cm.execute) {
|
|
155
|
+
yield cm.execute(command); // ONE undoable step (Command enters history once)
|
|
156
|
+
}
|
|
157
|
+
else {
|
|
158
|
+
command.execute({ diagram: model }); // no engine — apply, non-undoably
|
|
159
|
+
}
|
|
160
|
+
(_e = api.renderNow) === null || _e === void 0 ? void 0 : _e.call(api);
|
|
161
|
+
return true;
|
|
162
|
+
});
|
|
163
|
+
}
|
|
164
|
+
const isEditable = (node) => (node === null || node === void 0 ? void 0 : node.getMetadata('kitEditable')) === true;
|
|
165
|
+
/**
|
|
166
|
+
* Edit a rendered ER table in place. `delta` may change the name, the column
|
|
167
|
+
* list (add / remove / reorder / rename / retype), and the width/height. Field
|
|
168
|
+
* ports and their edges are reconciled so the diagram stays correct, as ONE
|
|
169
|
+
* undoable step.
|
|
170
|
+
*
|
|
171
|
+
* @returns whether the node existed and the edit was applied.
|
|
172
|
+
*/
|
|
173
|
+
export function updateEntity(api, entityId, delta) {
|
|
174
|
+
var _a, _b, _c;
|
|
175
|
+
const editable = isEditable((_c = (_b = (_a = api.getModel) === null || _a === void 0 ? void 0 : _a.call(api)) === null || _b === void 0 ? void 0 : _b.getNode) === null || _c === void 0 ? void 0 : _c.call(_b, entityId));
|
|
176
|
+
const build = (oldKit) => {
|
|
177
|
+
const newEntity = Object.assign({}, oldKit);
|
|
178
|
+
if (delta.name !== undefined)
|
|
179
|
+
newEntity.name = delta.name;
|
|
180
|
+
if (delta.width !== undefined)
|
|
181
|
+
newEntity.width = delta.width;
|
|
182
|
+
if (delta.height !== undefined)
|
|
183
|
+
newEntity.height = delta.height;
|
|
184
|
+
if (delta.columns !== undefined)
|
|
185
|
+
newEntity.columns = delta.columns;
|
|
186
|
+
return {
|
|
187
|
+
newKit: newEntity,
|
|
188
|
+
content: entityCardContent(newEntity, editable),
|
|
189
|
+
height: entityAutoHeight(newEntity, editable),
|
|
190
|
+
width: newEntity.width,
|
|
191
|
+
};
|
|
192
|
+
};
|
|
193
|
+
return runUpdate(api, entityId, 'er', build);
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* Edit a rendered UML class in place. `delta` may change the name, stereotype,
|
|
197
|
+
* abstract flag, attributes, methods, and width/height. One undoable step.
|
|
198
|
+
*/
|
|
199
|
+
export function updateClass(api, classId, delta) {
|
|
200
|
+
var _a, _b, _c;
|
|
201
|
+
const editable = isEditable((_c = (_b = (_a = api.getModel) === null || _a === void 0 ? void 0 : _a.call(api)) === null || _b === void 0 ? void 0 : _b.getNode) === null || _c === void 0 ? void 0 : _c.call(_b, classId));
|
|
202
|
+
const build = (oldKit) => {
|
|
203
|
+
const newClass = Object.assign({}, oldKit);
|
|
204
|
+
if (delta.name !== undefined)
|
|
205
|
+
newClass.name = delta.name;
|
|
206
|
+
if (delta.stereotype !== undefined)
|
|
207
|
+
newClass.stereotype = delta.stereotype;
|
|
208
|
+
if (delta.abstract !== undefined)
|
|
209
|
+
newClass.abstract = delta.abstract;
|
|
210
|
+
if (delta.width !== undefined)
|
|
211
|
+
newClass.width = delta.width;
|
|
212
|
+
if (delta.height !== undefined)
|
|
213
|
+
newClass.height = delta.height;
|
|
214
|
+
if (delta.attributes !== undefined)
|
|
215
|
+
newClass.attributes = delta.attributes;
|
|
216
|
+
if (delta.methods !== undefined)
|
|
217
|
+
newClass.methods = delta.methods;
|
|
218
|
+
return {
|
|
219
|
+
newKit: newClass,
|
|
220
|
+
content: classCardContent(newClass, editable),
|
|
221
|
+
height: classAutoHeight(newClass, editable),
|
|
222
|
+
width: newClass.width,
|
|
223
|
+
};
|
|
224
|
+
};
|
|
225
|
+
return runUpdate(api, classId, 'uml', build);
|
|
226
|
+
}
|
|
227
|
+
// -- small column helpers, for the editing chrome and embedders --------------
|
|
228
|
+
/** Append a column (immutably) — returns the new column array. */
|
|
229
|
+
export function addColumnAt(columns, column, at = columns.length) {
|
|
230
|
+
const next = columns.slice();
|
|
231
|
+
next.splice(Math.max(0, Math.min(at, next.length)), 0, column);
|
|
232
|
+
return next;
|
|
233
|
+
}
|
|
234
|
+
/** Remove the column at `index` — returns the new column array. */
|
|
235
|
+
export function removeColumnAt(columns, index) {
|
|
236
|
+
const next = columns.slice();
|
|
237
|
+
next.splice(index, 1);
|
|
238
|
+
return next;
|
|
239
|
+
}
|
|
240
|
+
/** Rename the column at `index` — returns a new array with a NEW object there. */
|
|
241
|
+
export function renameColumnAt(columns, index, name) {
|
|
242
|
+
return columns.map((c, i) => (i === index ? Object.assign(Object.assign({}, c), { name }) : c));
|
|
243
|
+
}
|
|
244
|
+
//# sourceMappingURL=update.js.map
|
|
@@ -0,0 +1,266 @@
|
|
|
1
|
+
import { createDiagram, DARK_THEME, LIGHT_THEME } from '@grafloria/renderer';
|
|
2
|
+
import { getNodeType, renderFromTemplate } from './node-type-registry';
|
|
3
|
+
/**
|
|
4
|
+
* `<grafloria-flow>` — the universal embed.
|
|
5
|
+
*
|
|
6
|
+
* React Flow serves React. ngx-vflow serves Angular. Each is a wall around one
|
|
7
|
+
* framework. A custom element has no wall: Vue, Svelte, Solid, Lit, Alpine,
|
|
8
|
+
* plain HTML, a CMS block, a Jupyter/Observable cell and a static site all speak
|
|
9
|
+
* "HTML element with attributes and events". This is the piece that lets Grafloria
|
|
10
|
+
* reach the long tail those libraries cannot.
|
|
11
|
+
*
|
|
12
|
+
* ```html
|
|
13
|
+
* <grafloria-flow theme="dark" fit-view
|
|
14
|
+
* nodes='[{"id":"a","position":{"x":0,"y":0},"label":"A"}]'
|
|
15
|
+
* edges='[{"source":"a","target":"b"}]'>
|
|
16
|
+
* <template data-node-type="card">
|
|
17
|
+
* <div class="card"><h4 data-field="title"></h4></div>
|
|
18
|
+
* </template>
|
|
19
|
+
* </grafloria-flow>
|
|
20
|
+
*
|
|
21
|
+
* <script>
|
|
22
|
+
* document.querySelector('grafloria-flow')
|
|
23
|
+
* .addEventListener('grafloria-connect', e => console.log(e.detail.link));
|
|
24
|
+
* </script>
|
|
25
|
+
* ```
|
|
26
|
+
*
|
|
27
|
+
* Rich data goes in as PROPERTIES (`el.nodes = [...]`) and simple data as
|
|
28
|
+
* ATTRIBUTES (JSON strings) — the standard custom-element contract that every
|
|
29
|
+
* framework's template binding already targets:
|
|
30
|
+
* `:nodes` in Vue, `nodes={...}` in Svelte/Solid, `[attr.nodes]` in Angular.
|
|
31
|
+
*
|
|
32
|
+
* Everything it does is delegation. There is no diagram logic in this file.
|
|
33
|
+
*/
|
|
34
|
+
const THEMES = {
|
|
35
|
+
light: LIGHT_THEME,
|
|
36
|
+
dark: DARK_THEME,
|
|
37
|
+
};
|
|
38
|
+
/** Events emitted on the element. All bubble and cross shadow boundaries. */
|
|
39
|
+
export const GRAFLORIA_EVENTS = {
|
|
40
|
+
ready: 'grafloria-ready',
|
|
41
|
+
nodesChange: 'grafloria-nodes-change',
|
|
42
|
+
edgesChange: 'grafloria-edges-change',
|
|
43
|
+
selectionChange: 'grafloria-selection-change',
|
|
44
|
+
connect: 'grafloria-connect',
|
|
45
|
+
nodeClick: 'grafloria-node-click',
|
|
46
|
+
edgeClick: 'grafloria-edge-click',
|
|
47
|
+
viewportChange: 'grafloria-viewport-change',
|
|
48
|
+
};
|
|
49
|
+
// wave11/gallery BUG FIX — worker-safe base class.
|
|
50
|
+
//
|
|
51
|
+
// `class GrafloriaFlowElement extends HTMLElement` evaluates `HTMLElement` at MODULE
|
|
52
|
+
// LOAD, so merely IMPORTING this package threw `HTMLElement is not defined` in any
|
|
53
|
+
// context without a DOM — a Web Worker, or Node. The package doc already promised
|
|
54
|
+
// the import is "a no-op on the server", and `defineGrafloriaFlow()` guards
|
|
55
|
+
// `customElements`; but the class declaration itself did not, so the promise was
|
|
56
|
+
// only half true. It matters concretely: the off-thread-layout demo runs the
|
|
57
|
+
// engine's `serveLayout` INSIDE a real Worker by importing this very bundle, which
|
|
58
|
+
// is impossible if the top-level class reference throws. The element only ever
|
|
59
|
+
// EXTENDS the real HTMLElement in a browser (a worker never instantiates it), so a
|
|
60
|
+
// guarded base is behaviourally identical on the client and merely importable off it.
|
|
61
|
+
const HTMLElementBase = typeof HTMLElement !== 'undefined'
|
|
62
|
+
? HTMLElement
|
|
63
|
+
: class {
|
|
64
|
+
};
|
|
65
|
+
export class GrafloriaFlowElement extends HTMLElementBase {
|
|
66
|
+
constructor() {
|
|
67
|
+
super(...arguments);
|
|
68
|
+
this.instance = null;
|
|
69
|
+
this.canvas = null;
|
|
70
|
+
this._nodes = [];
|
|
71
|
+
this._edges = [];
|
|
72
|
+
this.connected = false;
|
|
73
|
+
}
|
|
74
|
+
static get observedAttributes() {
|
|
75
|
+
return [
|
|
76
|
+
'nodes',
|
|
77
|
+
'edges',
|
|
78
|
+
'theme',
|
|
79
|
+
'fit-view',
|
|
80
|
+
'readonly',
|
|
81
|
+
'zoom',
|
|
82
|
+
'min-zoom',
|
|
83
|
+
'max-zoom',
|
|
84
|
+
'pan',
|
|
85
|
+
'wheel-zoom',
|
|
86
|
+
];
|
|
87
|
+
}
|
|
88
|
+
// -- properties (the rich path) ---------------------------------------------
|
|
89
|
+
get nodes() {
|
|
90
|
+
return this._nodes;
|
|
91
|
+
}
|
|
92
|
+
set nodes(value) {
|
|
93
|
+
var _a;
|
|
94
|
+
this._nodes = value !== null && value !== void 0 ? value : [];
|
|
95
|
+
(_a = this.instance) === null || _a === void 0 ? void 0 : _a.setNodes(this._nodes);
|
|
96
|
+
}
|
|
97
|
+
get edges() {
|
|
98
|
+
return this._edges;
|
|
99
|
+
}
|
|
100
|
+
set edges(value) {
|
|
101
|
+
var _a;
|
|
102
|
+
this._edges = value !== null && value !== void 0 ? value : [];
|
|
103
|
+
(_a = this.instance) === null || _a === void 0 ? void 0 : _a.setEdges(this._edges);
|
|
104
|
+
}
|
|
105
|
+
/** The headless instance — the escape hatch to everything else. */
|
|
106
|
+
get diagram() {
|
|
107
|
+
return this.instance;
|
|
108
|
+
}
|
|
109
|
+
// -- lifecycle ---------------------------------------------------------------
|
|
110
|
+
connectedCallback() {
|
|
111
|
+
if (this.connected)
|
|
112
|
+
return;
|
|
113
|
+
this.connected = true;
|
|
114
|
+
// Attributes may have been parsed before we upgraded.
|
|
115
|
+
this.readAttributeModel();
|
|
116
|
+
// Light DOM, not shadow DOM: the diagram's stylesheet is injected into
|
|
117
|
+
// <head> and its CSS variables cascade — a shadow root would cut both off,
|
|
118
|
+
// and hosts routinely want to style nodes from their own stylesheet.
|
|
119
|
+
this.canvas = document.createElement('div');
|
|
120
|
+
this.canvas.className = 'grafloria-flow-canvas';
|
|
121
|
+
this.canvas.setAttribute('style', 'position:relative;width:100%;height:100%');
|
|
122
|
+
this.appendChild(this.canvas);
|
|
123
|
+
if (!this.style.display)
|
|
124
|
+
this.style.display = 'block';
|
|
125
|
+
this.instance = createDiagram(this.canvas, this.buildOptions());
|
|
126
|
+
this.wireEvents(this.instance);
|
|
127
|
+
}
|
|
128
|
+
disconnectedCallback() {
|
|
129
|
+
var _a, _b;
|
|
130
|
+
this.connected = false;
|
|
131
|
+
(_a = this.instance) === null || _a === void 0 ? void 0 : _a.dispose();
|
|
132
|
+
this.instance = null;
|
|
133
|
+
(_b = this.canvas) === null || _b === void 0 ? void 0 : _b.remove();
|
|
134
|
+
this.canvas = null;
|
|
135
|
+
}
|
|
136
|
+
attributeChangedCallback(name, previous, next) {
|
|
137
|
+
var _a, _b;
|
|
138
|
+
if (previous === next)
|
|
139
|
+
return;
|
|
140
|
+
switch (name) {
|
|
141
|
+
case 'nodes':
|
|
142
|
+
this._nodes = parseJsonAttribute(next, []);
|
|
143
|
+
(_a = this.instance) === null || _a === void 0 ? void 0 : _a.setNodes(this._nodes);
|
|
144
|
+
return;
|
|
145
|
+
case 'edges':
|
|
146
|
+
this._edges = parseJsonAttribute(next, []);
|
|
147
|
+
(_b = this.instance) === null || _b === void 0 ? void 0 : _b.setEdges(this._edges);
|
|
148
|
+
return;
|
|
149
|
+
case 'theme':
|
|
150
|
+
if (this.instance)
|
|
151
|
+
this.instance.setTheme(this.resolveTheme());
|
|
152
|
+
return;
|
|
153
|
+
case 'fit-view':
|
|
154
|
+
if (this.instance && next !== null)
|
|
155
|
+
this.instance.fitView();
|
|
156
|
+
return;
|
|
157
|
+
case 'zoom':
|
|
158
|
+
if (this.instance && next !== null)
|
|
159
|
+
this.instance.viewport.setZoom(Number(next));
|
|
160
|
+
return;
|
|
161
|
+
default:
|
|
162
|
+
// pan / wheel-zoom / readonly / min-zoom / max-zoom are read at mount:
|
|
163
|
+
// they configure the event binder, which is created once. Changing them
|
|
164
|
+
// afterwards is rare enough that we do not tear the instance down.
|
|
165
|
+
return;
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
// -- API ---------------------------------------------------------------------
|
|
169
|
+
fitView(padding) {
|
|
170
|
+
var _a;
|
|
171
|
+
(_a = this.instance) === null || _a === void 0 ? void 0 : _a.fitView(padding);
|
|
172
|
+
}
|
|
173
|
+
// -- internals ---------------------------------------------------------------
|
|
174
|
+
buildOptions() {
|
|
175
|
+
return {
|
|
176
|
+
nodes: this._nodes,
|
|
177
|
+
edges: this._edges,
|
|
178
|
+
theme: this.resolveTheme(),
|
|
179
|
+
fitView: this.hasAttribute('fit-view'),
|
|
180
|
+
readonly: this.hasAttribute('readonly'),
|
|
181
|
+
enablePan: this.getAttribute('pan') !== 'false',
|
|
182
|
+
enableZoom: this.getAttribute('wheel-zoom') !== 'false',
|
|
183
|
+
zoom: this.hasAttribute('zoom') ? Number(this.getAttribute('zoom')) : undefined,
|
|
184
|
+
minZoom: this.hasAttribute('min-zoom')
|
|
185
|
+
? Number(this.getAttribute('min-zoom'))
|
|
186
|
+
: undefined,
|
|
187
|
+
maxZoom: this.hasAttribute('max-zoom')
|
|
188
|
+
? Number(this.getAttribute('max-zoom'))
|
|
189
|
+
: undefined,
|
|
190
|
+
renderCustomNode: (node, element) => this.renderCustomNode(node, element),
|
|
191
|
+
};
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Custom nodes, two ways and no framework: a registered renderer
|
|
195
|
+
* (`Grafloria.registerNodeType`), or a slotted `<template data-node-type="…">`.
|
|
196
|
+
*/
|
|
197
|
+
renderCustomNode(node, element) {
|
|
198
|
+
const renderer = getNodeType(node.type);
|
|
199
|
+
if (renderer) {
|
|
200
|
+
renderer(node, element);
|
|
201
|
+
return;
|
|
202
|
+
}
|
|
203
|
+
const template = this.querySelector(`template[data-node-type="${cssEscape(node.type)}"]`);
|
|
204
|
+
if (template) {
|
|
205
|
+
renderFromTemplate(template, node, element);
|
|
206
|
+
return;
|
|
207
|
+
}
|
|
208
|
+
// Nothing registered: leave the host empty rather than throwing inside a
|
|
209
|
+
// render. The node still exists, is selectable and is draggable.
|
|
210
|
+
}
|
|
211
|
+
resolveTheme() {
|
|
212
|
+
var _a, _b;
|
|
213
|
+
return (_b = THEMES[(_a = this.getAttribute('theme')) !== null && _a !== void 0 ? _a : 'light']) !== null && _b !== void 0 ? _b : LIGHT_THEME;
|
|
214
|
+
}
|
|
215
|
+
readAttributeModel() {
|
|
216
|
+
if (this._nodes.length === 0 && this.hasAttribute('nodes')) {
|
|
217
|
+
this._nodes = parseJsonAttribute(this.getAttribute('nodes'), []);
|
|
218
|
+
}
|
|
219
|
+
if (this._edges.length === 0 && this.hasAttribute('edges')) {
|
|
220
|
+
this._edges = parseJsonAttribute(this.getAttribute('edges'), []);
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
/** Instance events → DOM CustomEvents. `composed` so they escape a shadow root. */
|
|
224
|
+
wireEvents(instance) {
|
|
225
|
+
const forward = (type, detail) => {
|
|
226
|
+
this.dispatchEvent(new CustomEvent(type, { detail, bubbles: true, composed: true }));
|
|
227
|
+
};
|
|
228
|
+
instance.on('ready', () => forward(GRAFLORIA_EVENTS.ready, { diagram: instance }));
|
|
229
|
+
instance.on('nodes:change', (payload) => forward(GRAFLORIA_EVENTS.nodesChange, payload));
|
|
230
|
+
instance.on('edges:change', (payload) => forward(GRAFLORIA_EVENTS.edgesChange, payload));
|
|
231
|
+
instance.on('selection:change', (payload) => forward(GRAFLORIA_EVENTS.selectionChange, payload));
|
|
232
|
+
instance.on('connect', (payload) => forward(GRAFLORIA_EVENTS.connect, payload));
|
|
233
|
+
instance.on('node:click', (payload) => forward(GRAFLORIA_EVENTS.nodeClick, payload));
|
|
234
|
+
instance.on('edge:click', (payload) => forward(GRAFLORIA_EVENTS.edgeClick, payload));
|
|
235
|
+
instance.on('viewport:change', (payload) => forward(GRAFLORIA_EVENTS.viewportChange, payload));
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
/** JSON attribute → value. A malformed attribute must not take the page down. */
|
|
239
|
+
function parseJsonAttribute(raw, fallback) {
|
|
240
|
+
if (!raw)
|
|
241
|
+
return fallback;
|
|
242
|
+
try {
|
|
243
|
+
return JSON.parse(raw);
|
|
244
|
+
}
|
|
245
|
+
catch (_a) {
|
|
246
|
+
console.warn('[grafloria-flow] ignoring malformed JSON attribute:', raw);
|
|
247
|
+
return fallback;
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
/** Minimal CSS.escape for the attribute selector (jsdom/older browsers lack it). */
|
|
251
|
+
function cssEscape(value) {
|
|
252
|
+
return value.replace(/["\\]/g, '\\$&');
|
|
253
|
+
}
|
|
254
|
+
/**
|
|
255
|
+
* Register the element. Idempotent, and safe to call on the server (where
|
|
256
|
+
* `customElements` does not exist) — which is what lets a bundle be imported
|
|
257
|
+
* from an SSR entry point without a `typeof window` dance at every call site.
|
|
258
|
+
*/
|
|
259
|
+
export function defineGrafloriaFlow(tagName = 'grafloria-flow') {
|
|
260
|
+
if (typeof customElements === 'undefined')
|
|
261
|
+
return;
|
|
262
|
+
if (customElements.get(tagName))
|
|
263
|
+
return;
|
|
264
|
+
customElements.define(tagName, GrafloriaFlowElement);
|
|
265
|
+
}
|
|
266
|
+
//# sourceMappingURL=grafloria-flow-element.js.map
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { createDiagram, renderToStaticSVG } from '@grafloria/renderer';
|
|
2
|
+
import { defineGrafloriaFlow } from './grafloria-flow-element';
|
|
3
|
+
import { registerNodeType, registeredNodeTypes, getNodeType } from './node-type-registry';
|
|
4
|
+
/**
|
|
5
|
+
* Mount `spec` into `target` and return the live instance.
|
|
6
|
+
*
|
|
7
|
+
* `target` may be an element or a CSS selector. Custom nodes (`custom: true`)
|
|
8
|
+
* are rendered by the types registered with {@link registerNodeType}.
|
|
9
|
+
*
|
|
10
|
+
* SCOPE, stated plainly: `spec` is data (an object or its JSON), not a Mermaid-
|
|
11
|
+
* style text DSL. The engine does have a DSL, but wiring it in is a separate
|
|
12
|
+
* card — `render()` is the embedding surface, not a parser.
|
|
13
|
+
*/
|
|
14
|
+
export function render(spec, target, options = {}) {
|
|
15
|
+
var _a, _b, _c, _d;
|
|
16
|
+
const element = typeof target === 'string'
|
|
17
|
+
? document.querySelector(target)
|
|
18
|
+
: target;
|
|
19
|
+
if (!element) {
|
|
20
|
+
throw new Error(`Grafloria.render: no element matched ${JSON.stringify(target)}`);
|
|
21
|
+
}
|
|
22
|
+
// Kit specs (dashboard()) carry looser node typing than DiagramSpec — both
|
|
23
|
+
// flow into createDiagram's NodeInput[] the same way.
|
|
24
|
+
const parsed = (typeof spec === 'string' ? parseSpec(spec) : spec);
|
|
25
|
+
const instance = createDiagram(element, Object.assign(Object.assign({}, options), { nodes: (_a = parsed.nodes) !== null && _a !== void 0 ? _a : [], edges: (_b = parsed.edges) !== null && _b !== void 0 ? _b : [],
|
|
26
|
+
// Wire the global registry in, so `registerNodeType` works for the tiny API
|
|
27
|
+
// exactly as it does for `<grafloria-flow>` — unless the caller supplies their
|
|
28
|
+
// own. A KIT SPEC may also carry its own painter (dashboard() does: every
|
|
29
|
+
// widget is a custom HTML node), and it must be honoured — otherwise the
|
|
30
|
+
// documented one-liner `render(dashboard({…}), host)` mounts a board whose
|
|
31
|
+
// widgets never paint. Precedence: explicit option > spec > registry.
|
|
32
|
+
renderCustomNode: (_d = (_c = options.renderCustomNode) !== null && _c !== void 0 ? _c : parsed.renderCustomNode) !== null && _d !== void 0 ? _d : ((node, host) => { var _a; return (_a = getNodeType(node.type)) === null || _a === void 0 ? void 0 : _a(node, host); }) }));
|
|
33
|
+
// Diagram-kit specs (erDiagram/umlDiagram) carry a `finalize(api)` for the
|
|
34
|
+
// post-render wiring that needs the LIVE instance — row interactions,
|
|
35
|
+
// multiplicity chips. Auto-run it so a kit diagram is fully wired from one
|
|
36
|
+
// render() call; finalize is idempotent, so a caller may still call it too.
|
|
37
|
+
const maybeFinalize = spec.finalize;
|
|
38
|
+
if (typeof maybeFinalize === 'function') {
|
|
39
|
+
try {
|
|
40
|
+
maybeFinalize(instance);
|
|
41
|
+
}
|
|
42
|
+
catch (_e) {
|
|
43
|
+
/* a kit's finalize must never break the mount */
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
return instance;
|
|
47
|
+
}
|
|
48
|
+
/** Server-side render (Card 6). Re-exported so the tiny API is self-contained. */
|
|
49
|
+
export function renderStatic(options = {}) {
|
|
50
|
+
return renderToStaticSVG(options);
|
|
51
|
+
}
|
|
52
|
+
function parseSpec(spec) {
|
|
53
|
+
try {
|
|
54
|
+
return JSON.parse(spec);
|
|
55
|
+
}
|
|
56
|
+
catch (error) {
|
|
57
|
+
throw new Error(`Grafloria.render: spec must be an object or a JSON string (${error.message})`);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
/** The namespace object, for `import { Grafloria }` and for `<script>` globals. */
|
|
61
|
+
export const Grafloria = {
|
|
62
|
+
render,
|
|
63
|
+
renderStatic,
|
|
64
|
+
registerNodeType,
|
|
65
|
+
registeredNodeTypes,
|
|
66
|
+
/** Register `<grafloria-flow>` (called for you when you import this package). */
|
|
67
|
+
define: defineGrafloriaFlow,
|
|
68
|
+
};
|
|
69
|
+
//# sourceMappingURL=grafloria.js.map
|