@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,199 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Card building — the ONE source of truth for the ER/UML card HTML trees, the
|
|
3
|
+
* layout constants and the size math.
|
|
4
|
+
*
|
|
5
|
+
* Both the builders (er.ts / uml.ts, which emit the initial render() spec) and
|
|
6
|
+
* the live editor (update.ts, which regenerates a card after an edit) call
|
|
7
|
+
* these. Keeping them here is what stops the two paths from drifting: an edited
|
|
8
|
+
* card is byte-for-byte the card the builder would have produced for the same
|
|
9
|
+
* data, so a re-rendered table looks identical to a freshly built one.
|
|
10
|
+
*
|
|
11
|
+
* `editable` threads through: when true the card grows the in-canvas editing
|
|
12
|
+
* chrome (a per-row delete control and a trailing "add" affordance). That
|
|
13
|
+
* chrome is DELIBERATELY not a `.axk-row`/`.axk-member` — the row-selection and
|
|
14
|
+
* port-reconciliation code count those, and the affordance is neither a column
|
|
15
|
+
* nor a member.
|
|
16
|
+
*/
|
|
17
|
+
/** Row height / header height of the entity card — sizing is derived from these. */
|
|
18
|
+
export const ER_ROW_H = 25;
|
|
19
|
+
export const ER_HEAD_H = 28;
|
|
20
|
+
/**
|
|
21
|
+
* Auto-height slack: the html wrapper's padding (8px) + the card's 1px
|
|
22
|
+
* top/bottom borders + the head rendering slightly under ER_HEAD_H. Measured
|
|
23
|
+
* live — with less, an auto-sized card overflows a few px, and the wheel
|
|
24
|
+
* delegation would steal that much scroll on EVERY card.
|
|
25
|
+
*/
|
|
26
|
+
export const ER_BORDER_SLACK = 9;
|
|
27
|
+
/** The editable "add column" affordance row's height (excluded from row math). */
|
|
28
|
+
export const ER_ADD_H = 26;
|
|
29
|
+
/** UML compartment metrics (mirrors the pre-kit demos, measured live). */
|
|
30
|
+
export const UML_LINE_H = 19;
|
|
31
|
+
export const UML_NAME_H = 30;
|
|
32
|
+
export const UML_STEREO_H = 14;
|
|
33
|
+
export const UML_PAD = 8;
|
|
34
|
+
/** Node-local y of a row's centre (the +1 offsets past the card's top border). */
|
|
35
|
+
export function erRowCenterY(rowIndex) {
|
|
36
|
+
return ER_HEAD_H + rowIndex * ER_ROW_H + ER_ROW_H / 2 + 1;
|
|
37
|
+
}
|
|
38
|
+
/** Inverse of {@link erRowCenterY}: which column row a pinned port sits on. */
|
|
39
|
+
export function rowIndexFromY(y) {
|
|
40
|
+
return Math.round((y - ER_HEAD_H - ER_ROW_H / 2 - 1) / ER_ROW_H);
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* The `.axk-entity` content tree — the SAME tree er.ts ships and update.ts
|
|
44
|
+
* regenerates. `editable` adds the delete control per row and the trailing add
|
|
45
|
+
* affordance.
|
|
46
|
+
*/
|
|
47
|
+
export function entityCardContent(entity, editable = false) {
|
|
48
|
+
var _a;
|
|
49
|
+
const rows = entity.columns.map((c) => {
|
|
50
|
+
var _a;
|
|
51
|
+
const children = [
|
|
52
|
+
{ tag: 'span', className: 'axk-key' + (c.fk ? ' axk-fk' : ''), text: c.pk ? 'PK' : c.fk ? 'FK' : '' },
|
|
53
|
+
{ tag: 'span', className: 'axk-col', text: c.name },
|
|
54
|
+
{ tag: 'span', className: 'axk-ty', text: (_a = c.type) !== null && _a !== void 0 ? _a : '' },
|
|
55
|
+
];
|
|
56
|
+
// The delete control is a real child so it survives re-renders (the card is
|
|
57
|
+
// regenerated wholesale on every edit) and hover-reveals via CSS only.
|
|
58
|
+
if (editable)
|
|
59
|
+
children.push({ tag: 'span', className: 'axk-col-del', text: '×' });
|
|
60
|
+
return { tag: 'div', className: 'axk-row' + (c.pk ? ' axk-pk' : ''), children };
|
|
61
|
+
});
|
|
62
|
+
const body = {
|
|
63
|
+
// Scroll is OPT-IN via an explicit height: an auto-sized card fits by
|
|
64
|
+
// construction and must never trap the wheel, not even by a pixel.
|
|
65
|
+
tag: 'div',
|
|
66
|
+
className: entity.height != null ? 'axk-entity-body axk-scroll' : 'axk-entity-body',
|
|
67
|
+
children: rows,
|
|
68
|
+
};
|
|
69
|
+
const children = [
|
|
70
|
+
{ tag: 'div', className: 'axk-entity-head', text: (_a = entity.name) !== null && _a !== void 0 ? _a : entity.id },
|
|
71
|
+
body,
|
|
72
|
+
];
|
|
73
|
+
// The affordance sits OUTSIDE the (scrollable) body so it is always reachable.
|
|
74
|
+
if (editable)
|
|
75
|
+
children.push({ tag: 'div', className: 'axk-entity-add', text: '+ add column' });
|
|
76
|
+
return { tag: 'div', className: 'axk-entity', children };
|
|
77
|
+
}
|
|
78
|
+
/** Card height for an entity — explicit height wins, else derived from columns. */
|
|
79
|
+
export function entityAutoHeight(entity, editable = false) {
|
|
80
|
+
if (entity.height != null)
|
|
81
|
+
return entity.height;
|
|
82
|
+
return ER_HEAD_H + entity.columns.length * ER_ROW_H + ER_BORDER_SLACK + (editable ? ER_ADD_H : 0);
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* The `.axk-uml` content tree. `editable` adds a delete control per member and
|
|
86
|
+
* a trailing add affordance in each compartment.
|
|
87
|
+
*/
|
|
88
|
+
export function classCardContent(cls, editable = false) {
|
|
89
|
+
var _a, _b, _c;
|
|
90
|
+
const attrs = (_a = cls.attributes) !== null && _a !== void 0 ? _a : [];
|
|
91
|
+
const methods = (_b = cls.methods) !== null && _b !== void 0 ? _b : [];
|
|
92
|
+
const italic = cls.abstract || cls.stereotype === 'abstract' || cls.stereotype === 'interface';
|
|
93
|
+
// Non-editable output stays BYTE-IDENTICAL to the pre-editing builder (a
|
|
94
|
+
// member is a text div); editable additions are purely additive.
|
|
95
|
+
const member = (text) => editable
|
|
96
|
+
? {
|
|
97
|
+
tag: 'div',
|
|
98
|
+
className: 'axk-member',
|
|
99
|
+
children: [
|
|
100
|
+
{ tag: 'span', className: 'axk-mtext', text },
|
|
101
|
+
{ tag: 'span', className: 'axk-col-del', text: '×' },
|
|
102
|
+
],
|
|
103
|
+
}
|
|
104
|
+
: { tag: 'div', className: 'axk-member', text };
|
|
105
|
+
const compartment = (members, section) => {
|
|
106
|
+
const children = members.map(member);
|
|
107
|
+
if (editable) {
|
|
108
|
+
children.push({
|
|
109
|
+
tag: 'div',
|
|
110
|
+
className: 'axk-uml-add',
|
|
111
|
+
text: section === 'attributes' ? '+ attribute' : '+ method',
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
return {
|
|
115
|
+
tag: 'div',
|
|
116
|
+
className: 'axk-uml-comp' + (members.length ? '' : ' axk-empty'),
|
|
117
|
+
children,
|
|
118
|
+
};
|
|
119
|
+
};
|
|
120
|
+
const name = {
|
|
121
|
+
tag: 'div',
|
|
122
|
+
className: 'axk-uml-name' + (italic ? ' axk-abstract' : ''),
|
|
123
|
+
children: [
|
|
124
|
+
...(cls.stereotype ? [{ tag: 'span', className: 'axk-uml-stereo', text: `«${cls.stereotype}»` }] : []),
|
|
125
|
+
{ tag: 'span', text: (_c = cls.name) !== null && _c !== void 0 ? _c : cls.id },
|
|
126
|
+
],
|
|
127
|
+
};
|
|
128
|
+
return {
|
|
129
|
+
tag: 'div',
|
|
130
|
+
className: 'axk-uml',
|
|
131
|
+
children: [
|
|
132
|
+
name,
|
|
133
|
+
{
|
|
134
|
+
tag: 'div',
|
|
135
|
+
className: cls.height != null ? 'axk-uml-body axk-scroll' : 'axk-uml-body',
|
|
136
|
+
children: [compartment(attrs, 'attributes'), compartment(methods, 'methods')],
|
|
137
|
+
},
|
|
138
|
+
],
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
/** Card height for a class — explicit height wins, else derived from members. */
|
|
142
|
+
export function classAutoHeight(cls, editable = false) {
|
|
143
|
+
var _a, _b;
|
|
144
|
+
if (cls.height != null)
|
|
145
|
+
return cls.height;
|
|
146
|
+
const attrs = (_a = cls.attributes) !== null && _a !== void 0 ? _a : [];
|
|
147
|
+
const methods = (_b = cls.methods) !== null && _b !== void 0 ? _b : [];
|
|
148
|
+
const addRows = editable ? 2 : 0; // one "add" affordance per compartment
|
|
149
|
+
return (UML_NAME_H +
|
|
150
|
+
(cls.stereotype ? UML_STEREO_H : 0) +
|
|
151
|
+
(attrs.length + methods.length + addRows) * UML_LINE_H +
|
|
152
|
+
UML_PAD * 2 +
|
|
153
|
+
12);
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Match old columns to new columns for port reconciliation. Returns a map from
|
|
157
|
+
* OLD index → NEW index; an old index absent from the map is a REMOVED column
|
|
158
|
+
* (its pinned ports and their edges are dropped).
|
|
159
|
+
*
|
|
160
|
+
* Three passes, most-certain first, so a single edit is always read the way a
|
|
161
|
+
* human means it:
|
|
162
|
+
* 1. object identity — reorder / add / remove that preserved references;
|
|
163
|
+
* 2. name — a retype (same name, new object) or a rebuilt array;
|
|
164
|
+
* 3. positional remainder — the leftovers matched in order, which is exactly
|
|
165
|
+
* what a rename is (one old + one new in the same slot). Without pass 3 a
|
|
166
|
+
* rename reads as remove+add and the edge is severed.
|
|
167
|
+
*/
|
|
168
|
+
export function matchColumns(oldCols, newCols) {
|
|
169
|
+
const out = new Map();
|
|
170
|
+
const usedNew = new Set();
|
|
171
|
+
const matchedOld = new Set();
|
|
172
|
+
const claim = (oldIdx, newIdx) => {
|
|
173
|
+
out.set(oldIdx, newIdx);
|
|
174
|
+
usedNew.add(newIdx);
|
|
175
|
+
matchedOld.add(oldIdx);
|
|
176
|
+
};
|
|
177
|
+
// Pass 1: object identity.
|
|
178
|
+
oldCols.forEach((oc, oi) => {
|
|
179
|
+
const ni = newCols.indexOf(oc);
|
|
180
|
+
if (ni !== -1 && !usedNew.has(ni))
|
|
181
|
+
claim(oi, ni);
|
|
182
|
+
});
|
|
183
|
+
// Pass 2: by name, among the unmatched.
|
|
184
|
+
oldCols.forEach((oc, oi) => {
|
|
185
|
+
if (matchedOld.has(oi))
|
|
186
|
+
return;
|
|
187
|
+
const ni = newCols.findIndex((nc, i) => !usedNew.has(i) && nc.name === oc.name);
|
|
188
|
+
if (ni !== -1)
|
|
189
|
+
claim(oi, ni);
|
|
190
|
+
});
|
|
191
|
+
// Pass 3: positional remainder (rename / retype-and-rename).
|
|
192
|
+
const remOld = oldCols.map((_, i) => i).filter((i) => !matchedOld.has(i));
|
|
193
|
+
const remNew = newCols.map((_, i) => i).filter((i) => !usedNew.has(i));
|
|
194
|
+
const n = Math.min(remOld.length, remNew.length);
|
|
195
|
+
for (let k = 0; k < n; k++)
|
|
196
|
+
claim(remOld[k], remNew[k]);
|
|
197
|
+
return out;
|
|
198
|
+
}
|
|
199
|
+
//# sourceMappingURL=card.js.map
|
|
@@ -0,0 +1,448 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* In-canvas editing chrome (P2 title rename + P4 column/member editing).
|
|
3
|
+
*
|
|
4
|
+
* Bound once per container by a kit's `finalize(api)` when `editable: true`.
|
|
5
|
+
* It turns the editing affordances the card already draws (`card.ts` grows them
|
|
6
|
+
* when editable) into gestures:
|
|
7
|
+
*
|
|
8
|
+
* - double-click the header (`.axk-entity-head` / `.axk-uml-name`) → rename
|
|
9
|
+
* the table / class;
|
|
10
|
+
* - double-click a column name (`.axk-col`) or a member (`.axk-member`) →
|
|
11
|
+
* rename it in place;
|
|
12
|
+
* - click the "+ add column" / "+ attribute" / "+ method" affordance → add
|
|
13
|
+
* one, then inline-edit its name;
|
|
14
|
+
* - click a row's "×" delete control → remove that column / member.
|
|
15
|
+
*
|
|
16
|
+
* Every mutation goes through {@link updateEntity} / {@link updateClass} — so it
|
|
17
|
+
* is ONE undoable step and the card + ports + edges stay consistent.
|
|
18
|
+
*
|
|
19
|
+
* The inline editor is a real `<input>` mounted in the renderer's WORLD layer
|
|
20
|
+
* via `createViewportPortal`, so it pans and zooms WITH the card. When there is
|
|
21
|
+
* no world layer (a bare jsdom mount, or a host that swapped the renderer) it
|
|
22
|
+
* falls back to an absolutely-positioned input in the container — the edit
|
|
23
|
+
* still commits, it just doesn't track the camera.
|
|
24
|
+
*
|
|
25
|
+
* Control clicks are claimed in the CAPTURE phase (`stopPropagation`) so the
|
|
26
|
+
* row-selection handler and the binder's node/waypoint double-click never also
|
|
27
|
+
* fire for the same gesture.
|
|
28
|
+
*/
|
|
29
|
+
import { updateEntity, updateClass, addColumnAt, removeColumnAt, renameColumnAt } from './update';
|
|
30
|
+
const bindings = new WeakMap();
|
|
31
|
+
const ROW_SELECTOR = '.axk-row, .axk-member';
|
|
32
|
+
/** Resolve the node id + the clicked row's global index (among selectable rows). */
|
|
33
|
+
function locate(el) {
|
|
34
|
+
const group = el.closest('[data-node-id]');
|
|
35
|
+
if (!group)
|
|
36
|
+
return null;
|
|
37
|
+
const nodeId = group.getAttribute('data-node-id');
|
|
38
|
+
if (!nodeId)
|
|
39
|
+
return null;
|
|
40
|
+
const rowEl = el.closest(ROW_SELECTOR);
|
|
41
|
+
const rows = Array.from(group.querySelectorAll(ROW_SELECTOR));
|
|
42
|
+
const rowIndex = rowEl ? rows.indexOf(rowEl) : -1;
|
|
43
|
+
return { nodeId, rowIndex, group };
|
|
44
|
+
}
|
|
45
|
+
const kitEntity = (api, nodeId) => { var _a; return (_a = api.getModel().getNode(nodeId)) === null || _a === void 0 ? void 0 : _a.getMetadata('kitEntity'); };
|
|
46
|
+
const kitClass = (api, nodeId) => { var _a; return (_a = api.getModel().getNode(nodeId)) === null || _a === void 0 ? void 0 : _a.getMetadata('kitClass'); };
|
|
47
|
+
/** UML: split a global member index into its compartment + local index. */
|
|
48
|
+
function umlSection(cls, rowIndex) {
|
|
49
|
+
var _a;
|
|
50
|
+
const attrs = (_a = cls.attributes) !== null && _a !== void 0 ? _a : [];
|
|
51
|
+
return rowIndex < attrs.length
|
|
52
|
+
? { section: 'attributes', local: rowIndex }
|
|
53
|
+
: { section: 'methods', local: rowIndex - attrs.length };
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Mount a focused `<input>` over `targetEl`, prefilled with `value`. Commits on
|
|
57
|
+
* Enter/blur, cancels on Escape. Returns the input (already in the DOM).
|
|
58
|
+
*/
|
|
59
|
+
/**
|
|
60
|
+
* The inline editor currently open, if any.
|
|
61
|
+
*
|
|
62
|
+
* The editor is mounted in the renderer's WORLD layer, not inside the card, so
|
|
63
|
+
* it does not die when the card re-renders. That is what lets it survive a
|
|
64
|
+
* re-render mid-edit — and it is also why deleting the very row being edited
|
|
65
|
+
* used to leave a stray input floating over the canvas: the row vanished, the
|
|
66
|
+
* portal did not. Any structural edit now dismisses it first.
|
|
67
|
+
*/
|
|
68
|
+
let activeEditor = null;
|
|
69
|
+
/** Dismiss any open inline editor WITHOUT committing. */
|
|
70
|
+
export function dismissInlineEditor() {
|
|
71
|
+
const open = activeEditor;
|
|
72
|
+
activeEditor = null;
|
|
73
|
+
open === null || open === void 0 ? void 0 : open.cancel();
|
|
74
|
+
}
|
|
75
|
+
function addrOf(el) {
|
|
76
|
+
const loc = locate(el);
|
|
77
|
+
if (!loc || loc.rowIndex < 0)
|
|
78
|
+
return null;
|
|
79
|
+
const kind = el.closest('.axk-ty') ? 'type' : 'name';
|
|
80
|
+
return { nodeId: loc.nodeId, rowIndex: loc.rowIndex, kind };
|
|
81
|
+
}
|
|
82
|
+
/** The cell `dir` steps away in reading order (name → type → next row's name). */
|
|
83
|
+
function neighbourCell(el, dir) {
|
|
84
|
+
const a = addrOf(el);
|
|
85
|
+
if (!a)
|
|
86
|
+
return null;
|
|
87
|
+
if (dir === 1) {
|
|
88
|
+
return a.kind === 'name'
|
|
89
|
+
? Object.assign(Object.assign({}, a), { kind: 'type' }) : Object.assign(Object.assign({}, a), { rowIndex: a.rowIndex + 1, kind: 'name' });
|
|
90
|
+
}
|
|
91
|
+
return a.kind === 'type'
|
|
92
|
+
? Object.assign(Object.assign({}, a), { kind: 'name' }) : Object.assign(Object.assign({}, a), { rowIndex: a.rowIndex - 1, kind: 'type' });
|
|
93
|
+
}
|
|
94
|
+
/** The same column, one row down. */
|
|
95
|
+
function cellBelow(el) {
|
|
96
|
+
const a = addrOf(el);
|
|
97
|
+
return a ? Object.assign(Object.assign({}, a), { rowIndex: a.rowIndex + 1 }) : null;
|
|
98
|
+
}
|
|
99
|
+
/** Re-open the editor at an address, if that cell still exists. */
|
|
100
|
+
function reopenAt(api, addr) {
|
|
101
|
+
const card = api.container.querySelector(`[data-node-id="${cssEscape(addr.nodeId)}"]`);
|
|
102
|
+
const row = card === null || card === void 0 ? void 0 : card.querySelectorAll('.axk-row, .axk-member')[addr.rowIndex];
|
|
103
|
+
const cell = row === null || row === void 0 ? void 0 : row.querySelector(addr.kind === 'type' ? '.axk-ty' : '.axk-col');
|
|
104
|
+
if (cell)
|
|
105
|
+
beginRename(api, cell);
|
|
106
|
+
}
|
|
107
|
+
/** First occurrence wins, order preserved. */
|
|
108
|
+
function dedupe(values) {
|
|
109
|
+
return [...new Set(values)];
|
|
110
|
+
}
|
|
111
|
+
/** SQL-ish column types offered when editing a type cell. */
|
|
112
|
+
export const ER_TYPE_SUGGESTIONS = [
|
|
113
|
+
'uuid', 'int', 'bigint', 'smallint', 'serial', 'decimal', 'numeric', 'real', 'double',
|
|
114
|
+
'varchar', 'text', 'char', 'boolean', 'date', 'time', 'timestamp', 'timestamptz',
|
|
115
|
+
'json', 'jsonb', 'bytea', 'enum',
|
|
116
|
+
];
|
|
117
|
+
function openInlineEditor(api, targetEl, value, onCommit, suggestions) {
|
|
118
|
+
const container = api.container;
|
|
119
|
+
const doc = container.ownerDocument;
|
|
120
|
+
const input = doc.createElement('input');
|
|
121
|
+
input.className = 'axk-edit-input';
|
|
122
|
+
input.value = value;
|
|
123
|
+
input.spellcheck = false;
|
|
124
|
+
input.setAttribute('autocomplete', 'off');
|
|
125
|
+
// A type is a choice, not free prose. `<datalist>` gives a real combobox —
|
|
126
|
+
// the browser filters the list AS YOU TYPE and still allows a value that is
|
|
127
|
+
// not in it, which is what a schema editor needs (custom/domain types).
|
|
128
|
+
let listEl = null;
|
|
129
|
+
if (suggestions === null || suggestions === void 0 ? void 0 : suggestions.length) {
|
|
130
|
+
listEl = doc.createElement('datalist');
|
|
131
|
+
listEl.id = `axk-types-${Math.random().toString(36).slice(2, 8)}`;
|
|
132
|
+
for (const t of suggestions) {
|
|
133
|
+
const opt = doc.createElement('option');
|
|
134
|
+
opt.value = t;
|
|
135
|
+
listEl.appendChild(opt);
|
|
136
|
+
}
|
|
137
|
+
doc.body.appendChild(listEl);
|
|
138
|
+
input.setAttribute('list', listEl.id);
|
|
139
|
+
}
|
|
140
|
+
// POSITIONING — screen space, deliberately.
|
|
141
|
+
//
|
|
142
|
+
// This used to mount the input in the renderer's world layer through a
|
|
143
|
+
// viewport portal so it would scale and pan with the canvas. That produced a
|
|
144
|
+
// steady trickle of defects: the caret landed between two rows (world/zoom
|
|
145
|
+
// maths compounding with the card's own scroll offset), and — because the
|
|
146
|
+
// world layer carries a CSS transform — the browser refused to place the
|
|
147
|
+
// native <datalist> popup, so the type dropdown never opened.
|
|
148
|
+
//
|
|
149
|
+
// An inline editor lives for a few seconds. Pinning it over the cell's actual
|
|
150
|
+
// screen rect is exact by construction (no maths to get wrong) and keeps it
|
|
151
|
+
// out of any transformed ancestor, which is what the native popup needs. The
|
|
152
|
+
// cost is that it does not follow a pan mid-edit; that is a fair trade for an
|
|
153
|
+
// editor that is reliably WHERE THE CELL IS.
|
|
154
|
+
const rect = targetEl.getBoundingClientRect();
|
|
155
|
+
const host = container.getBoundingClientRect();
|
|
156
|
+
const minW = (suggestions === null || suggestions === void 0 ? void 0 : suggestions.length) ? 132 : 72;
|
|
157
|
+
let w = Math.max(rect.width, minW);
|
|
158
|
+
let left = rect.left;
|
|
159
|
+
// Never spill past the card: slide left to fit, shrink only if the card is
|
|
160
|
+
// narrower than the floor.
|
|
161
|
+
const card = targetEl.closest('.axk-entity, .axk-uml');
|
|
162
|
+
if (card) {
|
|
163
|
+
const cb = card.getBoundingClientRect();
|
|
164
|
+
const pad = 4;
|
|
165
|
+
if (w > cb.width - pad * 2)
|
|
166
|
+
w = cb.width - pad * 2;
|
|
167
|
+
const overflow = left + w - (cb.right - pad);
|
|
168
|
+
if (overflow > 0)
|
|
169
|
+
left -= overflow;
|
|
170
|
+
if (left < cb.left + pad)
|
|
171
|
+
left = cb.left + pad;
|
|
172
|
+
}
|
|
173
|
+
// `position: fixed` keys off the viewport, exactly like getBoundingClientRect,
|
|
174
|
+
// so no ancestor offset or scroll correction can drift it.
|
|
175
|
+
input.style.cssText =
|
|
176
|
+
`position:fixed;left:${Math.round(left)}px;top:${Math.round(rect.top)}px;` +
|
|
177
|
+
`width:${Math.round(w)}px;height:${Math.round(rect.height)}px;z-index:2147483000;`;
|
|
178
|
+
void host; // container rect intentionally unused: fixed positioning needs none
|
|
179
|
+
// Mounted on the CONTAINER, not document.body: hosts (and the kit's own
|
|
180
|
+
// tests) look the editor up inside the diagram container, and moving it out
|
|
181
|
+
// silently broke every one of those lookups. `position: fixed` still keys off
|
|
182
|
+
// the viewport, so it stays exact — the point was only ever to escape the
|
|
183
|
+
// world layer's CSS transform, which is a descendant of the container.
|
|
184
|
+
container.appendChild(input);
|
|
185
|
+
/** Guards double-settling (blur fires after Enter/Escape already handled it). */
|
|
186
|
+
let done = false;
|
|
187
|
+
const self = { cancel: () => undefined };
|
|
188
|
+
const cleanup = () => {
|
|
189
|
+
if (activeEditor === self)
|
|
190
|
+
activeEditor = null;
|
|
191
|
+
listEl === null || listEl === void 0 ? void 0 : listEl.remove();
|
|
192
|
+
input.remove();
|
|
193
|
+
};
|
|
194
|
+
const commit = () => {
|
|
195
|
+
if (done)
|
|
196
|
+
return;
|
|
197
|
+
done = true;
|
|
198
|
+
const next = input.value.trim();
|
|
199
|
+
cleanup();
|
|
200
|
+
if (next.length)
|
|
201
|
+
onCommit(next);
|
|
202
|
+
};
|
|
203
|
+
const cancel = () => {
|
|
204
|
+
if (done)
|
|
205
|
+
return;
|
|
206
|
+
done = true;
|
|
207
|
+
cleanup();
|
|
208
|
+
};
|
|
209
|
+
input.addEventListener('keydown', (e) => {
|
|
210
|
+
// Keyboard navigation: TAB walks the cells (name → type → next row's name,
|
|
211
|
+
// Shift+Tab back). Enter deliberately does NOT move — it commits and
|
|
212
|
+
// closes, which is what every other inline editor in the app does and what
|
|
213
|
+
// a user pressing Enter to "finish" expects. Navigation belongs on Tab.
|
|
214
|
+
if (e.key === 'Tab') {
|
|
215
|
+
const next = neighbourCell(targetEl, e.shiftKey ? -1 : 1);
|
|
216
|
+
if (next) {
|
|
217
|
+
e.preventDefault();
|
|
218
|
+
commit();
|
|
219
|
+
// Re-open on the next cell after the card has re-rendered.
|
|
220
|
+
setTimeout(() => reopenAt(api, next), 0);
|
|
221
|
+
return;
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
if (e.key === 'Enter') {
|
|
225
|
+
e.preventDefault();
|
|
226
|
+
commit();
|
|
227
|
+
}
|
|
228
|
+
else if (e.key === 'Escape') {
|
|
229
|
+
e.preventDefault();
|
|
230
|
+
cancel();
|
|
231
|
+
}
|
|
232
|
+
e.stopPropagation();
|
|
233
|
+
});
|
|
234
|
+
// Registered AFTER commit/cancel exist so a structural edit can dismiss it.
|
|
235
|
+
self.cancel = cancel;
|
|
236
|
+
activeEditor = self;
|
|
237
|
+
input.addEventListener('blur', commit);
|
|
238
|
+
// Don't let a click INSIDE the input bubble to the canvas (deselect / pan).
|
|
239
|
+
// Keep the canvas binder OUT of the editor. It listens on POINTER events and
|
|
240
|
+
// preventDefaults them to own the gesture — which also suppressed the native
|
|
241
|
+
// <datalist> popup, so the type dropdown either never opened or flashed open
|
|
242
|
+
// and shut. Guarding `mousedown` alone was not enough: pointerdown fires
|
|
243
|
+
// first and is what the binder acts on.
|
|
244
|
+
for (const type of ['pointerdown', 'pointerup', 'mousedown', 'mouseup', 'click', 'dblclick']) {
|
|
245
|
+
input.addEventListener(type, (e) => e.stopPropagation());
|
|
246
|
+
}
|
|
247
|
+
// Focus after mount so select() works.
|
|
248
|
+
setTimeout(() => {
|
|
249
|
+
input.focus();
|
|
250
|
+
input.select();
|
|
251
|
+
}, 0);
|
|
252
|
+
return input;
|
|
253
|
+
}
|
|
254
|
+
/** Begin renaming whatever the clicked row/header targets. */
|
|
255
|
+
function beginRename(api, target) {
|
|
256
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
|
|
257
|
+
const loc = locate(target);
|
|
258
|
+
if (!loc)
|
|
259
|
+
return;
|
|
260
|
+
const { nodeId, rowIndex } = loc;
|
|
261
|
+
// Title (ER header / UML name).
|
|
262
|
+
if (target.closest('.axk-entity-head')) {
|
|
263
|
+
const ent = kitEntity(api, nodeId);
|
|
264
|
+
openInlineEditor(api, target.closest('.axk-entity-head'), (_a = ent === null || ent === void 0 ? void 0 : ent.name) !== null && _a !== void 0 ? _a : nodeId, (name) => void updateEntity(api, nodeId, { name }));
|
|
265
|
+
return;
|
|
266
|
+
}
|
|
267
|
+
if (target.closest('.axk-uml-name')) {
|
|
268
|
+
const cls = kitClass(api, nodeId);
|
|
269
|
+
openInlineEditor(api, target.closest('.axk-uml-name'), (_b = cls === null || cls === void 0 ? void 0 : cls.name) !== null && _b !== void 0 ? _b : nodeId, (name) => void updateClass(api, nodeId, { name }));
|
|
270
|
+
return;
|
|
271
|
+
}
|
|
272
|
+
// ER column. Which CELL was double-clicked decides what gets edited and where
|
|
273
|
+
// the input is mounted: the name span (`.axk-col`) and the type span
|
|
274
|
+
// (`.axk-ty`) are SIBLINGS inside `.axk-row`. Editing only ever handled the
|
|
275
|
+
// name and always anchored to it, so double-clicking a type either did
|
|
276
|
+
// nothing or dropped the caret over the name — the wrong field in the wrong
|
|
277
|
+
// place. A double-click anywhere else on the row falls back to the name,
|
|
278
|
+
// anchored to the name cell, so the gesture is predictable everywhere.
|
|
279
|
+
const typeEl = target.closest('.axk-ty');
|
|
280
|
+
if (typeEl && rowIndex >= 0) {
|
|
281
|
+
const ent = kitEntity(api, nodeId);
|
|
282
|
+
if (!ent)
|
|
283
|
+
return;
|
|
284
|
+
openInlineEditor(api, typeEl, (_d = (_c = ent.columns[rowIndex]) === null || _c === void 0 ? void 0 : _c.type) !== null && _d !== void 0 ? _d : '', (type) => {
|
|
285
|
+
const columns = ent.columns.map((c, i) => (i === rowIndex ? Object.assign(Object.assign({}, c), { type }) : c));
|
|
286
|
+
void updateEntity(api, nodeId, { columns });
|
|
287
|
+
},
|
|
288
|
+
// Offer the types already used in THIS diagram first, then the standards —
|
|
289
|
+
// a schema is usually internally consistent, so what you just typed
|
|
290
|
+
// elsewhere is the likeliest next value.
|
|
291
|
+
dedupe([...ent.columns.map((c) => c.type).filter(Boolean), ...ER_TYPE_SUGGESTIONS]));
|
|
292
|
+
return;
|
|
293
|
+
}
|
|
294
|
+
const rowEl = target.closest('.axk-row');
|
|
295
|
+
const colEl = (_f = (_e = target.closest('.axk-col')) !== null && _e !== void 0 ? _e : rowEl === null || rowEl === void 0 ? void 0 : rowEl.querySelector('.axk-col')) !== null && _f !== void 0 ? _f : null;
|
|
296
|
+
if (colEl && rowIndex >= 0) {
|
|
297
|
+
const ent = kitEntity(api, nodeId);
|
|
298
|
+
if (!ent)
|
|
299
|
+
return;
|
|
300
|
+
openInlineEditor(api, colEl, (_h = (_g = ent.columns[rowIndex]) === null || _g === void 0 ? void 0 : _g.name) !== null && _h !== void 0 ? _h : '', (name) => void updateEntity(api, nodeId, { columns: renameColumnAt(ent.columns, rowIndex, name) }));
|
|
301
|
+
return;
|
|
302
|
+
}
|
|
303
|
+
// UML member rename.
|
|
304
|
+
const memberEl = target.closest('.axk-member');
|
|
305
|
+
if (memberEl && rowIndex >= 0) {
|
|
306
|
+
const cls = kitClass(api, nodeId);
|
|
307
|
+
if (!cls)
|
|
308
|
+
return;
|
|
309
|
+
const { section, local } = umlSection(cls, rowIndex);
|
|
310
|
+
const list = ((_j = cls[section]) !== null && _j !== void 0 ? _j : []).slice();
|
|
311
|
+
openInlineEditor(api, (_k = memberEl.querySelector('.axk-mtext')) !== null && _k !== void 0 ? _k : memberEl, (_l = list[local]) !== null && _l !== void 0 ? _l : '', (next) => {
|
|
312
|
+
list[local] = next;
|
|
313
|
+
void updateClass(api, nodeId, { [section]: list });
|
|
314
|
+
});
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
/** Add a column / member (then inline-edit the new one). Returns true if handled. */
|
|
318
|
+
function handleAdd(api, target) {
|
|
319
|
+
var _a;
|
|
320
|
+
const addEr = target.closest('.axk-entity-add');
|
|
321
|
+
if (addEr) {
|
|
322
|
+
const loc = locate(addEr);
|
|
323
|
+
if (!loc)
|
|
324
|
+
return true;
|
|
325
|
+
const ent = kitEntity(api, loc.nodeId);
|
|
326
|
+
if (!ent)
|
|
327
|
+
return true;
|
|
328
|
+
const columns = addColumnAt(ent.columns, { name: 'new_column', type: '' });
|
|
329
|
+
void updateEntity(api, loc.nodeId, { columns }).then(() => {
|
|
330
|
+
const newRow = api.container.querySelectorAll(`[data-node-id="${cssEscape(loc.nodeId)}"] .axk-row`)[columns.length - 1];
|
|
331
|
+
const col = newRow === null || newRow === void 0 ? void 0 : newRow.querySelector('.axk-col');
|
|
332
|
+
if (col)
|
|
333
|
+
beginRename(api, col);
|
|
334
|
+
});
|
|
335
|
+
return true;
|
|
336
|
+
}
|
|
337
|
+
const addUml = target.closest('.axk-uml-add');
|
|
338
|
+
if (addUml) {
|
|
339
|
+
const loc = locate(addUml);
|
|
340
|
+
if (!loc)
|
|
341
|
+
return true;
|
|
342
|
+
const cls = kitClass(api, loc.nodeId);
|
|
343
|
+
if (!cls)
|
|
344
|
+
return true;
|
|
345
|
+
const comps = Array.from(loc.group.querySelectorAll('.axk-uml-comp'));
|
|
346
|
+
const section = comps.indexOf(addUml.closest('.axk-uml-comp')) === 0 ? 'attributes' : 'methods';
|
|
347
|
+
const list = [...((_a = cls[section]) !== null && _a !== void 0 ? _a : []), section === 'attributes' ? '+ field: type' : '+ method(): void'];
|
|
348
|
+
void updateClass(api, loc.nodeId, { [section]: list });
|
|
349
|
+
return true;
|
|
350
|
+
}
|
|
351
|
+
return false;
|
|
352
|
+
}
|
|
353
|
+
/** Delete the column / member whose "×" control was clicked. Returns true if handled. */
|
|
354
|
+
function handleDelete(api, target) {
|
|
355
|
+
var _a;
|
|
356
|
+
const del = target.closest('.axk-col-del');
|
|
357
|
+
if (!del)
|
|
358
|
+
return false;
|
|
359
|
+
const loc = locate(del);
|
|
360
|
+
if (!loc || loc.rowIndex < 0)
|
|
361
|
+
return true;
|
|
362
|
+
const ent = kitEntity(api, loc.nodeId);
|
|
363
|
+
if (ent) {
|
|
364
|
+
void updateEntity(api, loc.nodeId, { columns: removeColumnAt(ent.columns, loc.rowIndex) });
|
|
365
|
+
return true;
|
|
366
|
+
}
|
|
367
|
+
const cls = kitClass(api, loc.nodeId);
|
|
368
|
+
if (cls) {
|
|
369
|
+
const { section, local } = umlSection(cls, loc.rowIndex);
|
|
370
|
+
const list = ((_a = cls[section]) !== null && _a !== void 0 ? _a : []).slice();
|
|
371
|
+
list.splice(local, 1);
|
|
372
|
+
void updateClass(api, loc.nodeId, { [section]: list });
|
|
373
|
+
}
|
|
374
|
+
return true;
|
|
375
|
+
}
|
|
376
|
+
function cssEscape(id) {
|
|
377
|
+
return typeof CSS !== 'undefined' && CSS.escape ? CSS.escape(id) : id.replace(/"/g, '\\"');
|
|
378
|
+
}
|
|
379
|
+
/**
|
|
380
|
+
* Wire the editing gestures onto a kit container. Idempotent per container
|
|
381
|
+
* (a re-bind disposes the previous one), matching `bindRowInteractions`.
|
|
382
|
+
*/
|
|
383
|
+
export function bindCardEditing(api) {
|
|
384
|
+
var _a;
|
|
385
|
+
const container = api.container;
|
|
386
|
+
(_a = bindings.get(container)) === null || _a === void 0 ? void 0 : _a.dispose();
|
|
387
|
+
const onClickCapture = (event) => {
|
|
388
|
+
const target = event.target instanceof Element ? event.target : null;
|
|
389
|
+
if (!target)
|
|
390
|
+
return;
|
|
391
|
+
// Claim control clicks BEFORE row-selection / canvas handlers see them.
|
|
392
|
+
// An open editor is dismissed first: its row may be the one being removed,
|
|
393
|
+
// and committing a rename into a structural change is a race even when it
|
|
394
|
+
// is not (the card re-renders under the caret).
|
|
395
|
+
if (target.closest('.axk-col-del') || target.closest('.axk-entity-add') || target.closest('.axk-uml-add')) {
|
|
396
|
+
dismissInlineEditor();
|
|
397
|
+
}
|
|
398
|
+
if (handleDelete(api, target) || handleAdd(api, target)) {
|
|
399
|
+
event.preventDefault();
|
|
400
|
+
event.stopPropagation();
|
|
401
|
+
}
|
|
402
|
+
};
|
|
403
|
+
const onDblClickCapture = (event) => {
|
|
404
|
+
const target = event.target instanceof Element ? event.target : null;
|
|
405
|
+
if (!target)
|
|
406
|
+
return;
|
|
407
|
+
if (target.closest('.axk-edit-input'))
|
|
408
|
+
return; // don't re-open over our own input
|
|
409
|
+
if (target.closest('.axk-entity-head') ||
|
|
410
|
+
target.closest('.axk-uml-name') ||
|
|
411
|
+
target.closest('.axk-col') ||
|
|
412
|
+
target.closest('.axk-ty') ||
|
|
413
|
+
target.closest('.axk-row') ||
|
|
414
|
+
target.closest('.axk-member')) {
|
|
415
|
+
event.preventDefault();
|
|
416
|
+
event.stopPropagation();
|
|
417
|
+
beginRename(api, target);
|
|
418
|
+
}
|
|
419
|
+
};
|
|
420
|
+
// A control press must dismiss the editor BEFORE the browser's focus change
|
|
421
|
+
// fires `blur` → `commit`. Doing it on `click` was too late: the rename had
|
|
422
|
+
// already landed, so deleting the row you were editing renamed it first and
|
|
423
|
+
// then removed a shifted index. preventDefault keeps focus in place too.
|
|
424
|
+
const onMouseDownCapture = (event) => {
|
|
425
|
+
const t = event.target instanceof Element ? event.target : null;
|
|
426
|
+
if (!t)
|
|
427
|
+
return;
|
|
428
|
+
if (t.closest('.axk-col-del') || t.closest('.axk-entity-add') || t.closest('.axk-uml-add')) {
|
|
429
|
+
dismissInlineEditor();
|
|
430
|
+
event.preventDefault();
|
|
431
|
+
}
|
|
432
|
+
};
|
|
433
|
+
container.addEventListener('mousedown', onMouseDownCapture, true);
|
|
434
|
+
container.addEventListener('click', onClickCapture, true);
|
|
435
|
+
container.addEventListener('dblclick', onDblClickCapture, true);
|
|
436
|
+
const handle = {
|
|
437
|
+
dispose() {
|
|
438
|
+
container.removeEventListener('mousedown', onMouseDownCapture, true);
|
|
439
|
+
container.removeEventListener('click', onClickCapture, true);
|
|
440
|
+
container.removeEventListener('dblclick', onDblClickCapture, true);
|
|
441
|
+
if (bindings.get(container) === handle)
|
|
442
|
+
bindings.delete(container);
|
|
443
|
+
},
|
|
444
|
+
};
|
|
445
|
+
bindings.set(container, handle);
|
|
446
|
+
return handle;
|
|
447
|
+
}
|
|
448
|
+
//# sourceMappingURL=editing.js.map
|