@grafloria/element 0.3.18 → 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/esm/src/index.js +295 -0
- 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/esm/src/lib/dashboard-kit/styles.js +205 -0
- 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/esm/src/lib/diagram-kit/styles.js +118 -0
- 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/esm/src/lib/stencil-kit/styles.js +126 -0
- package/package.json +13 -4
- package/src/index.d.ts +2 -1
- package/src/index.js +11 -2
- package/src/lib/dashboard-kit/grid-binder.js +16 -15
- package/src/lib/dashboard-kit/styles.js +9 -3
- package/src/lib/diagram-kit/index.d.ts +1 -0
- package/src/lib/diagram-kit/index.js +11 -1
- package/src/lib/diagram-kit/join-guidance.d.ts +116 -0
- package/src/lib/diagram-kit/join-guidance.js +331 -0
- package/src/lib/stencil-kit/palette.js +60 -6
- package/src/lib/stencil-kit/shape-data.d.ts +3 -2
- package/src/lib/stencil-kit/shape-data.js +323 -31
- package/src/lib/stencil-kit/styles.js +15 -0
- package/src/libs/element/src/index.d.ts +92 -0
- package/src/libs/element/src/index.js +576 -0
- package/src/libs/element/src/lib/dashboard-kit/dashboard.d.ts +345 -0
- package/src/libs/element/src/lib/dashboard-kit/dashboard.js +594 -0
- package/src/libs/element/src/lib/dashboard-kit/grid-binder.d.ts +277 -0
- package/src/libs/element/src/lib/dashboard-kit/grid-binder.js +1636 -0
- package/src/libs/element/src/lib/dashboard-kit/grid-mapping.d.ts +141 -0
- package/src/libs/element/src/lib/dashboard-kit/grid-mapping.js +176 -0
- package/src/libs/element/src/lib/dashboard-kit/index.d.ts +5 -0
- package/src/libs/element/src/lib/dashboard-kit/index.js +33 -0
- package/src/libs/element/src/lib/dashboard-kit/styles.d.ts +25 -0
- package/src/libs/element/src/lib/dashboard-kit/styles.js +209 -0
- package/src/libs/element/src/lib/dashboard-kit/widgets.d.ts +112 -0
- package/src/libs/element/src/lib/dashboard-kit/widgets.js +389 -0
- package/src/libs/element/src/lib/diagram-kit/card.d.ts +75 -0
- package/src/libs/element/src/lib/diagram-kit/card.js +209 -0
- package/src/libs/element/src/lib/diagram-kit/editing.d.ts +58 -0
- package/src/libs/element/src/lib/diagram-kit/editing.js +453 -0
- package/src/libs/element/src/lib/diagram-kit/er.d.ts +73 -0
- package/src/libs/element/src/lib/diagram-kit/er.js +163 -0
- package/src/libs/element/src/lib/diagram-kit/handles.d.ts +181 -0
- package/src/libs/element/src/lib/diagram-kit/handles.js +325 -0
- package/src/libs/element/src/lib/diagram-kit/index.d.ts +10 -0
- package/src/libs/element/src/lib/diagram-kit/index.js +55 -0
- package/src/libs/element/src/lib/diagram-kit/join-guidance.d.ts +116 -0
- package/src/libs/element/src/lib/diagram-kit/join-guidance.js +331 -0
- package/src/libs/element/src/lib/diagram-kit/rows.d.ts +53 -0
- package/src/libs/element/src/lib/diagram-kit/rows.js +147 -0
- package/src/libs/element/src/lib/diagram-kit/styles.d.ts +18 -0
- package/src/libs/element/src/lib/diagram-kit/styles.js +122 -0
- package/src/libs/element/src/lib/diagram-kit/uml.d.ts +59 -0
- package/src/libs/element/src/lib/diagram-kit/uml.js +138 -0
- package/src/libs/element/src/lib/diagram-kit/update.d.ts +133 -0
- package/src/libs/element/src/lib/diagram-kit/update.js +251 -0
- package/src/libs/element/src/lib/grafloria-flow-element.d.ts +48 -0
- package/src/libs/element/src/lib/grafloria-flow-element.js +271 -0
- package/src/libs/element/src/lib/grafloria.d.ts +72 -0
- package/src/libs/element/src/lib/grafloria.js +74 -0
- package/src/libs/element/src/lib/load.d.ts +72 -0
- package/src/libs/element/src/lib/load.js +255 -0
- package/src/libs/element/src/lib/node-type-registry.d.ts +39 -0
- package/src/libs/element/src/lib/node-type-registry.js +50 -0
- package/src/libs/element/src/lib/stencil-kit/builders.d.ts +45 -0
- package/src/libs/element/src/lib/stencil-kit/builders.js +24 -0
- package/src/libs/element/src/lib/stencil-kit/card-builders.d.ts +2 -0
- package/src/libs/element/src/lib/stencil-kit/card-builders.js +108 -0
- package/src/libs/element/src/lib/stencil-kit/index.d.ts +7 -0
- package/src/libs/element/src/lib/stencil-kit/index.js +19 -0
- package/src/libs/element/src/lib/stencil-kit/palette.d.ts +93 -0
- package/src/libs/element/src/lib/stencil-kit/palette.js +430 -0
- package/src/libs/element/src/lib/stencil-kit/shape-data.d.ts +28 -0
- package/src/libs/element/src/lib/stencil-kit/shape-data.js +540 -0
- package/src/libs/element/src/lib/stencil-kit/styles.d.ts +2 -0
- package/src/libs/element/src/lib/stencil-kit/styles.js +129 -0
- package/src/libs/engine/src/adapters/component-adapter.interface.d.ts +302 -0
- package/src/libs/engine/src/adapters/component-adapter.interface.js +84 -0
- package/src/libs/engine/src/adapters/index.d.ts +7 -0
- package/src/libs/engine/src/adapters/index.js +11 -0
- package/src/libs/engine/src/clipboard/ClipboardManager.d.ts +81 -0
- package/src/libs/engine/src/clipboard/ClipboardManager.js +108 -0
- package/src/libs/engine/src/clipboard/index.d.ts +1 -0
- package/src/libs/engine/src/clipboard/index.js +6 -0
- package/src/libs/engine/src/collab/apply-op.d.ts +42 -0
- package/src/libs/engine/src/collab/apply-op.js +939 -0
- package/src/libs/engine/src/collab/capture.d.ts +147 -0
- package/src/libs/engine/src/collab/capture.js +510 -0
- package/src/libs/engine/src/collab/index.d.ts +12 -0
- package/src/libs/engine/src/collab/index.js +84 -0
- package/src/libs/engine/src/collab/integrity.d.ts +178 -0
- package/src/libs/engine/src/collab/integrity.js +438 -0
- package/src/libs/engine/src/collab/lww.d.ts +47 -0
- package/src/libs/engine/src/collab/lww.js +188 -0
- package/src/libs/engine/src/collab/op-log.d.ts +50 -0
- package/src/libs/engine/src/collab/op-log.js +167 -0
- package/src/libs/engine/src/collab/op.d.ts +120 -0
- package/src/libs/engine/src/collab/op.js +118 -0
- package/src/libs/engine/src/collab/replica.d.ts +188 -0
- package/src/libs/engine/src/collab/replica.js +526 -0
- package/src/libs/engine/src/collab/undo.d.ts +106 -0
- package/src/libs/engine/src/collab/undo.js +388 -0
- package/src/libs/engine/src/commands/Command.d.ts +66 -0
- package/src/libs/engine/src/commands/Command.js +64 -0
- package/src/libs/engine/src/commands/CommandManager.d.ts +161 -0
- package/src/libs/engine/src/commands/CommandManager.js +417 -0
- package/src/libs/engine/src/commands/basic/AddGroupCommand.d.ts +13 -0
- package/src/libs/engine/src/commands/basic/AddGroupCommand.js +50 -0
- package/src/libs/engine/src/commands/basic/AddLinkCommand.d.ts +13 -0
- package/src/libs/engine/src/commands/basic/AddLinkCommand.js +50 -0
- package/src/libs/engine/src/commands/basic/AddNodeCommand.d.ts +13 -0
- package/src/libs/engine/src/commands/basic/AddNodeCommand.js +65 -0
- package/src/libs/engine/src/commands/basic/AddToGroupCommand.d.ts +12 -0
- package/src/libs/engine/src/commands/basic/AddToGroupCommand.js +73 -0
- package/src/libs/engine/src/commands/basic/AlignCommands.d.ts +42 -0
- package/src/libs/engine/src/commands/basic/AlignCommands.js +138 -0
- package/src/libs/engine/src/commands/basic/CollapseGroupCommand.d.ts +14 -0
- package/src/libs/engine/src/commands/basic/CollapseGroupCommand.js +70 -0
- package/src/libs/engine/src/commands/basic/CopyCommand.d.ts +29 -0
- package/src/libs/engine/src/commands/basic/CopyCommand.js +131 -0
- package/src/libs/engine/src/commands/basic/CutCommand.d.ts +49 -0
- package/src/libs/engine/src/commands/basic/CutCommand.js +68 -0
- package/src/libs/engine/src/commands/basic/DeleteSelectionCommand.d.ts +58 -0
- package/src/libs/engine/src/commands/basic/DeleteSelectionCommand.js +309 -0
- package/src/libs/engine/src/commands/basic/DuplicateCommand.d.ts +31 -0
- package/src/libs/engine/src/commands/basic/DuplicateCommand.js +232 -0
- package/src/libs/engine/src/commands/basic/ExpandGroupCommand.d.ts +12 -0
- package/src/libs/engine/src/commands/basic/ExpandGroupCommand.js +69 -0
- package/src/libs/engine/src/commands/basic/MoveGroupCommand.d.ts +46 -0
- package/src/libs/engine/src/commands/basic/MoveGroupCommand.js +77 -0
- package/src/libs/engine/src/commands/basic/MoveNodeCommand.d.ts +30 -0
- package/src/libs/engine/src/commands/basic/MoveNodeCommand.js +87 -0
- package/src/libs/engine/src/commands/basic/NodeZOrderCommands.d.ts +39 -0
- package/src/libs/engine/src/commands/basic/NodeZOrderCommands.js +120 -0
- package/src/libs/engine/src/commands/basic/PasteCommand.d.ts +33 -0
- package/src/libs/engine/src/commands/basic/PasteCommand.js +228 -0
- package/src/libs/engine/src/commands/basic/PortCommands.d.ts +22 -0
- package/src/libs/engine/src/commands/basic/PortCommands.js +85 -0
- package/src/libs/engine/src/commands/basic/ReconnectLinkCommand.d.ts +15 -0
- package/src/libs/engine/src/commands/basic/ReconnectLinkCommand.js +59 -0
- package/src/libs/engine/src/commands/basic/RemoveFromGroupCommand.d.ts +12 -0
- package/src/libs/engine/src/commands/basic/RemoveFromGroupCommand.js +64 -0
- package/src/libs/engine/src/commands/basic/RemoveGroupCommand.d.ts +12 -0
- package/src/libs/engine/src/commands/basic/RemoveGroupCommand.js +56 -0
- package/src/libs/engine/src/commands/basic/RemoveLinkCommand.d.ts +12 -0
- package/src/libs/engine/src/commands/basic/RemoveLinkCommand.js +57 -0
- package/src/libs/engine/src/commands/basic/RemoveNodeCommand.d.ts +23 -0
- package/src/libs/engine/src/commands/basic/RemoveNodeCommand.js +108 -0
- package/src/libs/engine/src/commands/basic/ResizeNodeCommand.d.ts +16 -0
- package/src/libs/engine/src/commands/basic/ResizeNodeCommand.js +81 -0
- package/src/libs/engine/src/commands/basic/RotateNodeCommand.d.ts +37 -0
- package/src/libs/engine/src/commands/basic/RotateNodeCommand.js +88 -0
- package/src/libs/engine/src/commands/basic/SetFlexItemCommand.d.ts +14 -0
- package/src/libs/engine/src/commands/basic/SetFlexItemCommand.js +74 -0
- package/src/libs/engine/src/commands/basic/SetGridItemCommand.d.ts +14 -0
- package/src/libs/engine/src/commands/basic/SetGridItemCommand.js +74 -0
- package/src/libs/engine/src/commands/basic/SetLayoutCommand.d.ts +16 -0
- package/src/libs/engine/src/commands/basic/SetLayoutCommand.js +80 -0
- package/src/libs/engine/src/commands/basic/SetLinkDisplayLabelCommand.d.ts +28 -0
- package/src/libs/engine/src/commands/basic/SetLinkDisplayLabelCommand.js +83 -0
- package/src/libs/engine/src/commands/basic/SetLinkLabelCommand.d.ts +24 -0
- package/src/libs/engine/src/commands/basic/SetLinkLabelCommand.js +81 -0
- package/src/libs/engine/src/commands/basic/SetLinkLabelsCommand.d.ts +14 -0
- package/src/libs/engine/src/commands/basic/SetLinkLabelsCommand.js +75 -0
- package/src/libs/engine/src/commands/basic/SetLinkPathTypeCommand.d.ts +14 -0
- package/src/libs/engine/src/commands/basic/SetLinkPathTypeCommand.js +77 -0
- package/src/libs/engine/src/commands/basic/SetLinkPointsCommand.d.ts +32 -0
- package/src/libs/engine/src/commands/basic/SetLinkPointsCommand.js +87 -0
- package/src/libs/engine/src/commands/basic/SetNodeDataCommand.d.ts +14 -0
- package/src/libs/engine/src/commands/basic/SetNodeDataCommand.js +93 -0
- package/src/libs/engine/src/commands/basic/SetNodeLabelCommand.d.ts +26 -0
- package/src/libs/engine/src/commands/basic/SetNodeLabelCommand.js +81 -0
- package/src/libs/engine/src/commands/basic/SetNodeShapeConfigCommand.d.ts +14 -0
- package/src/libs/engine/src/commands/basic/SetNodeShapeConfigCommand.js +69 -0
- package/src/libs/engine/src/commands/basic/SetNodeStyleCommand.d.ts +15 -0
- package/src/libs/engine/src/commands/basic/SetNodeStyleCommand.js +88 -0
- package/src/libs/engine/src/commands/basic/SetParentCommand.d.ts +13 -0
- package/src/libs/engine/src/commands/basic/SetParentCommand.js +109 -0
- package/src/libs/engine/src/commands/basic/SetStrokePointsCommand.d.ts +34 -0
- package/src/libs/engine/src/commands/basic/SetStrokePointsCommand.js +86 -0
- package/src/libs/engine/src/commands/basic/StrokeLifecycleCommands.d.ts +31 -0
- package/src/libs/engine/src/commands/basic/StrokeLifecycleCommands.js +88 -0
- package/src/libs/engine/src/commands/basic/UpdateLinkStyleCommand.d.ts +15 -0
- package/src/libs/engine/src/commands/basic/UpdateLinkStyleCommand.js +72 -0
- package/src/libs/engine/src/commands/basic/index.d.ts +41 -0
- package/src/libs/engine/src/commands/basic/index.js +52 -0
- package/src/libs/engine/src/commands/basic/remapNodePortIds.d.ts +23 -0
- package/src/libs/engine/src/commands/basic/remapNodePortIds.js +46 -0
- package/src/libs/engine/src/commands/basic/resolveLinkNodeIds.d.ts +31 -0
- package/src/libs/engine/src/commands/basic/resolveLinkNodeIds.js +49 -0
- package/src/libs/engine/src/commands/composite/BatchCommand.d.ts +19 -0
- package/src/libs/engine/src/commands/composite/BatchCommand.js +61 -0
- package/src/libs/engine/src/commands/composite/MacroCommand.d.ts +35 -0
- package/src/libs/engine/src/commands/composite/MacroCommand.js +87 -0
- package/src/libs/engine/src/commands/composite/index.d.ts +2 -0
- package/src/libs/engine/src/commands/composite/index.js +7 -0
- package/src/libs/engine/src/commands/index.d.ts +4 -0
- package/src/libs/engine/src/commands/index.js +9 -0
- package/src/libs/engine/src/comments/comment-store.d.ts +238 -0
- package/src/libs/engine/src/comments/comment-store.js +538 -0
- package/src/libs/engine/src/comments/index.d.ts +4 -0
- package/src/libs/engine/src/comments/index.js +31 -0
- package/src/libs/engine/src/comments/mentions.d.ts +52 -0
- package/src/libs/engine/src/comments/mentions.js +94 -0
- package/src/libs/engine/src/comments/read-state.d.ts +37 -0
- package/src/libs/engine/src/comments/read-state.js +105 -0
- package/src/libs/engine/src/comments/types.d.ts +154 -0
- package/src/libs/engine/src/comments/types.js +107 -0
- package/src/libs/engine/src/config/InteractionConfig.d.ts +330 -0
- package/src/libs/engine/src/config/InteractionConfig.js +154 -0
- package/src/libs/engine/src/config/index.d.ts +1 -0
- package/src/libs/engine/src/config/index.js +6 -0
- package/src/libs/engine/src/dsl/DSL.d.ts +197 -0
- package/src/libs/engine/src/dsl/DSL.js +564 -0
- package/src/libs/engine/src/dsl/advanced/StyleParser.d.ts +75 -0
- package/src/libs/engine/src/dsl/advanced/StyleParser.js +166 -0
- package/src/libs/engine/src/dsl/advanced/TemplateParser.d.ts +88 -0
- package/src/libs/engine/src/dsl/advanced/TemplateParser.js +226 -0
- package/src/libs/engine/src/dsl/advanced/index.d.ts +9 -0
- package/src/libs/engine/src/dsl/advanced/index.js +13 -0
- package/src/libs/engine/src/dsl/detector/LayoutDetector.d.ts +80 -0
- package/src/libs/engine/src/dsl/detector/LayoutDetector.js +333 -0
- package/src/libs/engine/src/dsl/extended/BPMNGenerator.d.ts +38 -0
- package/src/libs/engine/src/dsl/extended/BPMNGenerator.js +90 -0
- package/src/libs/engine/src/dsl/extended/BPMNParser.d.ts +83 -0
- package/src/libs/engine/src/dsl/extended/BPMNParser.js +198 -0
- package/src/libs/engine/src/dsl/extended/ERDGenerator.d.ts +38 -0
- package/src/libs/engine/src/dsl/extended/ERDGenerator.js +126 -0
- package/src/libs/engine/src/dsl/extended/ERDParser.d.ts +81 -0
- package/src/libs/engine/src/dsl/extended/ERDParser.js +161 -0
- package/src/libs/engine/src/dsl/extended/ERDTransformer.d.ts +43 -0
- package/src/libs/engine/src/dsl/extended/ERDTransformer.js +105 -0
- package/src/libs/engine/src/dsl/extended/UMLGenerator.d.ts +42 -0
- package/src/libs/engine/src/dsl/extended/UMLGenerator.js +157 -0
- package/src/libs/engine/src/dsl/extended/UMLParser.d.ts +99 -0
- package/src/libs/engine/src/dsl/extended/UMLParser.js +200 -0
- package/src/libs/engine/src/dsl/extended/index.d.ts +13 -0
- package/src/libs/engine/src/dsl/extended/index.js +27 -0
- package/src/libs/engine/src/dsl/generator/DSLFormatter.d.ts +87 -0
- package/src/libs/engine/src/dsl/generator/DSLFormatter.js +261 -0
- package/src/libs/engine/src/dsl/generator/DSLGenerator.d.ts +96 -0
- package/src/libs/engine/src/dsl/generator/DSLGenerator.js +328 -0
- package/src/libs/engine/src/dsl/generator/DiagramAnalyzer.d.ts +111 -0
- package/src/libs/engine/src/dsl/generator/DiagramAnalyzer.js +361 -0
- package/src/libs/engine/src/dsl/index.d.ts +35 -0
- package/src/libs/engine/src/dsl/index.js +64 -0
- package/src/libs/engine/src/dsl/lexer/Lexer.d.ts +117 -0
- package/src/libs/engine/src/dsl/lexer/Lexer.js +521 -0
- package/src/libs/engine/src/dsl/mermaid/MermaidClass.d.ts +136 -0
- package/src/libs/engine/src/dsl/mermaid/MermaidClass.js +429 -0
- package/src/libs/engine/src/dsl/mermaid/MermaidER.d.ts +118 -0
- package/src/libs/engine/src/dsl/mermaid/MermaidER.js +338 -0
- package/src/libs/engine/src/dsl/mermaid/MermaidState.d.ts +89 -0
- package/src/libs/engine/src/dsl/mermaid/MermaidState.js +613 -0
- package/src/libs/engine/src/dsl/mermaid/index.d.ts +10 -0
- package/src/libs/engine/src/dsl/mermaid/index.js +33 -0
- package/src/libs/engine/src/dsl/mermaid/layout.d.ts +70 -0
- package/src/libs/engine/src/dsl/mermaid/layout.js +162 -0
- package/src/libs/engine/src/dsl/mermaid/lines.d.ts +25 -0
- package/src/libs/engine/src/dsl/mermaid/lines.js +74 -0
- package/src/libs/engine/src/dsl/parser/Parser.d.ts +131 -0
- package/src/libs/engine/src/dsl/parser/Parser.js +725 -0
- package/src/libs/engine/src/dsl/sync/BidirectionalSync.d.ts +154 -0
- package/src/libs/engine/src/dsl/sync/BidirectionalSync.js +389 -0
- package/src/libs/engine/src/dsl/sync/IntegratedSyncManager.d.ts +128 -0
- package/src/libs/engine/src/dsl/sync/IntegratedSyncManager.js +244 -0
- package/src/libs/engine/src/dsl/sync/LayoutApplicator.d.ts +140 -0
- package/src/libs/engine/src/dsl/sync/LayoutApplicator.js +271 -0
- package/src/libs/engine/src/dsl/sync/SyncStateManager.d.ts +145 -0
- package/src/libs/engine/src/dsl/sync/SyncStateManager.js +253 -0
- package/src/libs/engine/src/dsl/sync/index.d.ts +13 -0
- package/src/libs/engine/src/dsl/sync/index.js +21 -0
- package/src/libs/engine/src/dsl/transformer/ASTTransformer.d.ts +150 -0
- package/src/libs/engine/src/dsl/transformer/ASTTransformer.js +605 -0
- package/src/libs/engine/src/dsl/types/ASTNode.d.ts +159 -0
- package/src/libs/engine/src/dsl/types/ASTNode.js +31 -0
- package/src/libs/engine/src/dsl/types/Token.d.ts +79 -0
- package/src/libs/engine/src/dsl/types/Token.js +84 -0
- package/src/libs/engine/src/engine/DiagramEngine.d.ts +917 -0
- package/src/libs/engine/src/engine/DiagramEngine.js +2190 -0
- package/src/libs/engine/src/engine/DiagramMode.d.ts +51 -0
- package/src/libs/engine/src/engine/DiagramMode.js +53 -0
- package/src/libs/engine/src/engine/DiagramModeTypes.d.ts +73 -0
- package/src/libs/engine/src/engine/DiagramModeTypes.js +4 -0
- package/src/libs/engine/src/engine/ModeManager.d.ts +155 -0
- package/src/libs/engine/src/engine/ModeManager.js +387 -0
- package/src/libs/engine/src/engine/index.d.ts +2 -0
- package/src/libs/engine/src/engine/index.js +7 -0
- package/src/libs/engine/src/events/EventBus.d.ts +106 -0
- package/src/libs/engine/src/events/EventBus.js +226 -0
- package/src/libs/engine/src/events/index.d.ts +1 -0
- package/src/libs/engine/src/events/index.js +6 -0
- package/src/libs/engine/src/index.d.ts +43 -0
- package/src/libs/engine/src/index.js +142 -0
- package/src/libs/engine/src/interaction/GroupCollapseService.d.ts +53 -0
- package/src/libs/engine/src/interaction/GroupCollapseService.js +274 -0
- package/src/libs/engine/src/interaction/GroupMembershipService.d.ts +107 -0
- package/src/libs/engine/src/interaction/GroupMembershipService.js +245 -0
- package/src/libs/engine/src/interaction/SemanticMembershipService.d.ts +28 -0
- package/src/libs/engine/src/interaction/SemanticMembershipService.js +168 -0
- package/src/libs/engine/src/interaction/SwimlaneService.d.ts +62 -0
- package/src/libs/engine/src/interaction/SwimlaneService.js +180 -0
- package/src/libs/engine/src/interaction/index.d.ts +4 -0
- package/src/libs/engine/src/interaction/index.js +9 -0
- package/src/libs/engine/src/interop/drawio/importDrawio.d.ts +52 -0
- package/src/libs/engine/src/interop/drawio/importDrawio.js +940 -0
- package/src/libs/engine/src/interop/drawio/index.d.ts +1 -0
- package/src/libs/engine/src/interop/drawio/index.js +12 -0
- package/src/libs/engine/src/interop/drawio/xml.d.ts +26 -0
- package/src/libs/engine/src/interop/drawio/xml.js +213 -0
- package/src/libs/engine/src/layout/CompoundLayoutService.d.ts +121 -0
- package/src/libs/engine/src/layout/CompoundLayoutService.js +616 -0
- package/src/libs/engine/src/layout/ILayoutAlgorithm.d.ts +120 -0
- package/src/libs/engine/src/layout/ILayoutAlgorithm.js +88 -0
- package/src/libs/engine/src/layout/LayoutManager.d.ts +155 -0
- package/src/libs/engine/src/layout/LayoutManager.js +640 -0
- package/src/libs/engine/src/layout/SmartSpacingCalculator.d.ts +62 -0
- package/src/libs/engine/src/layout/SmartSpacingCalculator.js +134 -0
- package/src/libs/engine/src/layout/ViewportTransform.d.ts +55 -0
- package/src/libs/engine/src/layout/ViewportTransform.js +118 -0
- package/src/libs/engine/src/layout/algorithms/ForceDirectedLayoutAlgorithm.d.ts +34 -0
- package/src/libs/engine/src/layout/algorithms/ForceDirectedLayoutAlgorithm.js +317 -0
- package/src/libs/engine/src/layout/algorithms/GridLayoutAlgorithm.d.ts +56 -0
- package/src/libs/engine/src/layout/algorithms/GridLayoutAlgorithm.js +223 -0
- package/src/libs/engine/src/layout/algorithms/HierarchicalLayoutAlgorithm.d.ts +60 -0
- package/src/libs/engine/src/layout/algorithms/HierarchicalLayoutAlgorithm.js +307 -0
- package/src/libs/engine/src/layout/algorithms/HybridLayoutAlgorithm.d.ts +62 -0
- package/src/libs/engine/src/layout/algorithms/HybridLayoutAlgorithm.js +324 -0
- package/src/libs/engine/src/layout/community-layout-adapter.d.ts +107 -0
- package/src/libs/engine/src/layout/community-layout-adapter.js +486 -0
- package/src/libs/engine/src/layout/component-packing.d.ts +98 -0
- package/src/libs/engine/src/layout/component-packing.js +307 -0
- package/src/libs/engine/src/layout/dagre-layout-adapter.d.ts +122 -0
- package/src/libs/engine/src/layout/dagre-layout-adapter.js +697 -0
- package/src/libs/engine/src/layout/edge-bundling.interface.d.ts +159 -0
- package/src/libs/engine/src/layout/edge-bundling.interface.js +379 -0
- package/src/libs/engine/src/layout/elk-layout-adapter.d.ts +121 -0
- package/src/libs/engine/src/layout/elk-layout-adapter.js +586 -0
- package/src/libs/engine/src/layout/elk-loader.d.ts +1 -0
- package/src/libs/engine/src/layout/elk-loader.js +24 -0
- package/src/libs/engine/src/layout/force-layout-adapter.d.ts +167 -0
- package/src/libs/engine/src/layout/force-layout-adapter.js +790 -0
- package/src/libs/engine/src/layout/grid-pack/grid-pack-engine.d.ts +323 -0
- package/src/libs/engine/src/layout/grid-pack/grid-pack-engine.js +685 -0
- package/src/libs/engine/src/layout/incremental/mental-map.d.ts +98 -0
- package/src/libs/engine/src/layout/incremental/mental-map.js +221 -0
- package/src/libs/engine/src/layout/incremental-layout.interface.d.ts +145 -0
- package/src/libs/engine/src/layout/incremental-layout.interface.js +300 -0
- package/src/libs/engine/src/layout/index.d.ts +83 -0
- package/src/libs/engine/src/layout/index.js +116 -0
- package/src/libs/engine/src/layout/layout-adapter.interface.d.ts +185 -0
- package/src/libs/engine/src/layout/layout-adapter.interface.js +10 -0
- package/src/libs/engine/src/layout/layout-auto-select.d.ts +160 -0
- package/src/libs/engine/src/layout/layout-auto-select.js +621 -0
- package/src/libs/engine/src/layout/layout-constraints.interface.d.ts +117 -0
- package/src/libs/engine/src/layout/layout-constraints.interface.js +138 -0
- package/src/libs/engine/src/layout/layout-graph.d.ts +70 -0
- package/src/libs/engine/src/layout/layout-graph.js +119 -0
- package/src/libs/engine/src/layout/layout-history.d.ts +147 -0
- package/src/libs/engine/src/layout/layout-history.js +258 -0
- package/src/libs/engine/src/layout/layout-host.d.ts +172 -0
- package/src/libs/engine/src/layout/layout-host.js +523 -0
- package/src/libs/engine/src/layout/layout-presets.d.ts +91 -0
- package/src/libs/engine/src/layout/layout-presets.js +333 -0
- package/src/libs/engine/src/layout/layout-quality-extended.d.ts +66 -0
- package/src/libs/engine/src/layout/layout-quality-extended.js +246 -0
- package/src/libs/engine/src/layout/layout-quality-metrics.d.ts +127 -0
- package/src/libs/engine/src/layout/layout-quality-metrics.js +466 -0
- package/src/libs/engine/src/layout/layout-registry.d.ts +309 -0
- package/src/libs/engine/src/layout/layout-registry.js +414 -0
- package/src/libs/engine/src/layout/layout.service.d.ts +100 -0
- package/src/libs/engine/src/layout/layout.service.js +216 -0
- package/src/libs/engine/src/layout/overlap-removal.d.ts +20 -0
- package/src/libs/engine/src/layout/overlap-removal.js +117 -0
- package/src/libs/engine/src/layout/port-aware-layout.interface.d.ts +232 -0
- package/src/libs/engine/src/layout/port-aware-layout.interface.js +413 -0
- package/src/libs/engine/src/layout/port-label-bridge.d.ts +77 -0
- package/src/libs/engine/src/layout/port-label-bridge.js +250 -0
- package/src/libs/engine/src/layout/portfolio-layouts.d.ts +53 -0
- package/src/libs/engine/src/layout/portfolio-layouts.js +388 -0
- package/src/libs/engine/src/layout/rng.d.ts +34 -0
- package/src/libs/engine/src/layout/rng.js +71 -0
- package/src/libs/engine/src/layout/spectral-layout-adapter.d.ts +72 -0
- package/src/libs/engine/src/layout/spectral-layout-adapter.js +379 -0
- package/src/libs/engine/src/layout/steppable-layout.d.ts +40 -0
- package/src/libs/engine/src/layout/steppable-layout.js +34 -0
- package/src/libs/engine/src/layout/subgraph-layout.interface.d.ts +269 -0
- package/src/libs/engine/src/layout/subgraph-layout.interface.js +452 -0
- package/src/libs/engine/src/layout/sugiyama/layered-layout.d.ts +9 -0
- package/src/libs/engine/src/layout/sugiyama/layered-layout.js +83 -0
- package/src/libs/engine/src/layout/sugiyama/sugiyama.d.ts +91 -0
- package/src/libs/engine/src/layout/sugiyama/sugiyama.js +797 -0
- package/src/libs/engine/src/layout/tree-layout.d.ts +43 -0
- package/src/libs/engine/src/layout/tree-layout.js +426 -0
- package/src/libs/engine/src/layout/types.d.ts +263 -0
- package/src/libs/engine/src/layout/types.js +6 -0
- package/src/libs/engine/src/lib/performance/mobile-performance.service.d.ts +43 -0
- package/src/libs/engine/src/lib/performance/mobile-performance.service.js +95 -0
- package/src/libs/engine/src/models/DiagramEntity.d.ts +174 -0
- package/src/libs/engine/src/models/DiagramEntity.js +366 -0
- package/src/libs/engine/src/models/DiagramModel.d.ts +960 -0
- package/src/libs/engine/src/models/DiagramModel.js +2416 -0
- package/src/libs/engine/src/models/GroupModel.d.ts +573 -0
- package/src/libs/engine/src/models/GroupModel.js +1373 -0
- package/src/libs/engine/src/models/LinkModel.d.ts +395 -0
- package/src/libs/engine/src/models/LinkModel.js +1045 -0
- package/src/libs/engine/src/models/NodeModel.d.ts +666 -0
- package/src/libs/engine/src/models/NodeModel.js +1512 -0
- package/src/libs/engine/src/models/PortModel.d.ts +292 -0
- package/src/libs/engine/src/models/PortModel.js +637 -0
- package/src/libs/engine/src/models/StrokeModel.d.ts +160 -0
- package/src/libs/engine/src/models/StrokeModel.js +387 -0
- package/src/libs/engine/src/models/index.d.ts +7 -0
- package/src/libs/engine/src/models/index.js +12 -0
- package/src/libs/engine/src/models/readonly-lock.d.ts +108 -0
- package/src/libs/engine/src/models/readonly-lock.js +125 -0
- package/src/libs/engine/src/performance/LRUCache.d.ts +78 -0
- package/src/libs/engine/src/performance/LRUCache.js +179 -0
- package/src/libs/engine/src/performance/PerformanceMonitor.d.ts +47 -0
- package/src/libs/engine/src/performance/PerformanceMonitor.js +112 -0
- package/src/libs/engine/src/performance/SpatialIndex.d.ts +157 -0
- package/src/libs/engine/src/performance/SpatialIndex.js +306 -0
- package/src/libs/engine/src/performance/index.d.ts +2 -0
- package/src/libs/engine/src/performance/index.js +7 -0
- package/src/libs/engine/src/plugins/PluginManager.d.ts +95 -0
- package/src/libs/engine/src/plugins/PluginManager.js +388 -0
- package/src/libs/engine/src/plugins/index.d.ts +1 -0
- package/src/libs/engine/src/plugins/index.js +6 -0
- package/src/libs/engine/src/ports/connection-rules.d.ts +32 -0
- package/src/libs/engine/src/ports/connection-rules.js +131 -0
- package/src/libs/engine/src/ports/dynamic-ports.d.ts +27 -0
- package/src/libs/engine/src/ports/dynamic-ports.js +135 -0
- package/src/libs/engine/src/ports/index.d.ts +5 -0
- package/src/libs/engine/src/ports/index.js +16 -0
- package/src/libs/engine/src/ports/port-groups.d.ts +43 -0
- package/src/libs/engine/src/ports/port-groups.js +185 -0
- package/src/libs/engine/src/ports/port-type-registry.d.ts +34 -0
- package/src/libs/engine/src/ports/port-type-registry.js +87 -0
- package/src/libs/engine/src/ports/port-types.d.ts +266 -0
- package/src/libs/engine/src/ports/port-types.js +30 -0
- package/src/libs/engine/src/rendering/HtmlTemplateRenderer.d.ts +136 -0
- package/src/libs/engine/src/rendering/HtmlTemplateRenderer.js +292 -0
- package/src/libs/engine/src/rendering/LemonadeJSRenderer.d.ts +160 -0
- package/src/libs/engine/src/rendering/LemonadeJSRenderer.js +362 -0
- package/src/libs/engine/src/rendering/index.d.ts +2 -0
- package/src/libs/engine/src/rendering/index.js +7 -0
- package/src/libs/engine/src/routing/LiveReroutingEngine.d.ts +75 -0
- package/src/libs/engine/src/routing/LiveReroutingEngine.js +173 -0
- package/src/libs/engine/src/routing/ObstacleIndex.d.ts +42 -0
- package/src/libs/engine/src/routing/ObstacleIndex.js +215 -0
- package/src/libs/engine/src/routing/ObstacleMap.d.ts +68 -0
- package/src/libs/engine/src/routing/ObstacleMap.js +312 -0
- package/src/libs/engine/src/routing/ObstacleMapBuilder.d.ts +28 -0
- package/src/libs/engine/src/routing/ObstacleMapBuilder.js +76 -0
- package/src/libs/engine/src/routing/PathSimplifier.d.ts +119 -0
- package/src/libs/engine/src/routing/PathSimplifier.js +224 -0
- package/src/libs/engine/src/routing/RoutingEngine.d.ts +118 -0
- package/src/libs/engine/src/routing/RoutingEngine.js +546 -0
- package/src/libs/engine/src/routing/algorithms/AStarRouter.d.ts +90 -0
- package/src/libs/engine/src/routing/algorithms/AStarRouter.js +331 -0
- package/src/libs/engine/src/routing/algorithms/DijkstraRouter.d.ts +74 -0
- package/src/libs/engine/src/routing/algorithms/DijkstraRouter.js +297 -0
- package/src/libs/engine/src/routing/algorithms/ElkRouter.d.ts +34 -0
- package/src/libs/engine/src/routing/algorithms/ElkRouter.js +210 -0
- package/src/libs/engine/src/routing/algorithms/ManhattanRouter.d.ts +18 -0
- package/src/libs/engine/src/routing/algorithms/ManhattanRouter.js +224 -0
- package/src/libs/engine/src/routing/algorithms/OrthogonalRouter.d.ts +173 -0
- package/src/libs/engine/src/routing/algorithms/OrthogonalRouter.js +1092 -0
- package/src/libs/engine/src/routing/algorithms/StraightRouter.d.ts +8 -0
- package/src/libs/engine/src/routing/algorithms/StraightRouter.js +53 -0
- package/src/libs/engine/src/routing/algorithms/VisibilityGraphRouter.d.ts +59 -0
- package/src/libs/engine/src/routing/algorithms/VisibilityGraphRouter.js +258 -0
- package/src/libs/engine/src/routing/global/GlobalRouteSolver.d.ts +64 -0
- package/src/libs/engine/src/routing/global/GlobalRouteSolver.js +334 -0
- package/src/libs/engine/src/routing/global/solver-host.d.ts +65 -0
- package/src/libs/engine/src/routing/global/solver-host.js +87 -0
- package/src/libs/engine/src/routing/index.d.ts +15 -0
- package/src/libs/engine/src/routing/index.js +20 -0
- package/src/libs/engine/src/routing/types.d.ts +161 -0
- package/src/libs/engine/src/routing/types.js +4 -0
- package/src/libs/engine/src/selection/SelectionManager.d.ts +161 -0
- package/src/libs/engine/src/selection/SelectionManager.js +483 -0
- package/src/libs/engine/src/selection/index.d.ts +1 -0
- package/src/libs/engine/src/selection/index.js +6 -0
- package/src/libs/engine/src/serialization/DiagramMigrations.d.ts +41 -0
- package/src/libs/engine/src/serialization/DiagramMigrations.js +124 -0
- package/src/libs/engine/src/serialization/DiagramValidator.d.ts +20 -0
- package/src/libs/engine/src/serialization/DiagramValidator.js +136 -0
- package/src/libs/engine/src/serialization/DocumentEnvelope.d.ts +53 -0
- package/src/libs/engine/src/serialization/DocumentEnvelope.js +111 -0
- package/src/libs/engine/src/serialization/Incremental.d.ts +77 -0
- package/src/libs/engine/src/serialization/Incremental.js +227 -0
- package/src/libs/engine/src/serialization/Serializer.d.ts +29 -0
- package/src/libs/engine/src/serialization/Serializer.js +45 -0
- package/src/libs/engine/src/serialization/Subgraph.d.ts +51 -0
- package/src/libs/engine/src/serialization/Subgraph.js +172 -0
- package/src/libs/engine/src/serialization/TextFormat.d.ts +71 -0
- package/src/libs/engine/src/serialization/TextFormat.js +261 -0
- package/src/libs/engine/src/state/ConnectionStateManager.d.ts +178 -0
- package/src/libs/engine/src/state/ConnectionStateManager.js +319 -0
- package/src/libs/engine/src/state/DiagramStore.d.ts +134 -0
- package/src/libs/engine/src/state/DiagramStore.js +372 -0
- package/src/libs/engine/src/state/index.d.ts +2 -0
- package/src/libs/engine/src/state/index.js +7 -0
- package/src/libs/engine/src/sync/awareness.d.ts +91 -0
- package/src/libs/engine/src/sync/awareness.js +221 -0
- package/src/libs/engine/src/sync/batcher.d.ts +84 -0
- package/src/libs/engine/src/sync/batcher.js +0 -0
- package/src/libs/engine/src/sync/causal-buffer.d.ts +81 -0
- package/src/libs/engine/src/sync/causal-buffer.js +199 -0
- package/src/libs/engine/src/sync/index.d.ts +20 -0
- package/src/libs/engine/src/sync/index.js +41 -0
- package/src/libs/engine/src/sync/protocol.d.ts +74 -0
- package/src/libs/engine/src/sync/protocol.js +39 -0
- package/src/libs/engine/src/sync/sync-adapter.d.ts +243 -0
- package/src/libs/engine/src/sync/sync-adapter.js +524 -0
- package/src/libs/engine/src/sync/transport.d.ts +30 -0
- package/src/libs/engine/src/sync/transport.js +28 -0
- package/src/libs/engine/src/sync/transports/broadcast-channel.d.ts +39 -0
- package/src/libs/engine/src/sync/transports/broadcast-channel.js +117 -0
- package/src/libs/engine/src/sync/transports/memory.d.ts +38 -0
- package/src/libs/engine/src/sync/transports/memory.js +111 -0
- package/src/libs/engine/src/sync/transports/unreliable.d.ts +59 -0
- package/src/libs/engine/src/sync/transports/unreliable.js +153 -0
- package/src/libs/engine/src/sync/transports/websocket.d.ts +60 -0
- package/src/libs/engine/src/sync/transports/websocket.js +210 -0
- package/src/libs/engine/src/sync/version-vector.d.ts +47 -0
- package/src/libs/engine/src/sync/version-vector.js +218 -0
- package/src/libs/engine/src/template-library/common-templates.d.ts +46 -0
- package/src/libs/engine/src/template-library/common-templates.js +395 -0
- package/src/libs/engine/src/template-library/data-viz-templates.d.ts +52 -0
- package/src/libs/engine/src/template-library/data-viz-templates.js +471 -0
- package/src/libs/engine/src/template-library/erd-templates.d.ts +71 -0
- package/src/libs/engine/src/template-library/erd-templates.js +773 -0
- package/src/libs/engine/src/template-library/index.d.ts +141 -0
- package/src/libs/engine/src/template-library/index.js +271 -0
- package/src/libs/engine/src/template-library/integration.d.ts +80 -0
- package/src/libs/engine/src/template-library/integration.js +141 -0
- package/src/libs/engine/src/template-library/workflow-templates.d.ts +52 -0
- package/src/libs/engine/src/template-library/workflow-templates.js +438 -0
- package/src/libs/engine/src/templates/NodeFactory.d.ts +118 -0
- package/src/libs/engine/src/templates/NodeFactory.js +436 -0
- package/src/libs/engine/src/templates/NodeTemplate.d.ts +342 -0
- package/src/libs/engine/src/templates/NodeTemplate.js +13 -0
- package/src/libs/engine/src/templates/TemplateLoader.d.ts +46 -0
- package/src/libs/engine/src/templates/TemplateLoader.js +114 -0
- package/src/libs/engine/src/templates/TemplateRegistry.d.ts +70 -0
- package/src/libs/engine/src/templates/TemplateRegistry.js +128 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-business-rule-task.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-business-rule-task.template.js +123 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-end-event.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-end-event.template.js +123 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-error-event.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-error-event.template.js +123 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-exclusive-gateway.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-exclusive-gateway.template.js +124 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-inclusive-gateway.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-inclusive-gateway.template.js +123 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-intermediate-event.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-intermediate-event.template.js +124 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-manual-task.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-manual-task.template.js +123 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-message-event.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-message-event.template.js +122 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-parallel-gateway.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-parallel-gateway.template.js +125 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-script-task.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-script-task.template.js +123 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-service-task.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-service-task.template.js +123 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-start-event.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-start-event.template.js +123 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-task.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-task.template.js +152 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-timer-event.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-timer-event.template.js +123 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-user-task.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-user-task.template.js +123 -0
- package/src/libs/engine/src/templates/generated/bpmn/index.d.ts +15 -0
- package/src/libs/engine/src/templates/generated/bpmn/index.js +34 -0
- package/src/libs/engine/src/templates/generated/erd/erd-associative-entity.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/erd/erd-associative-entity.template.js +152 -0
- package/src/libs/engine/src/templates/generated/erd/erd-attribute.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/erd/erd-attribute.template.js +122 -0
- package/src/libs/engine/src/templates/generated/erd/erd-bridge-entity.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/erd/erd-bridge-entity.template.js +151 -0
- package/src/libs/engine/src/templates/generated/erd/erd-composite-attribute.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/erd/erd-composite-attribute.template.js +122 -0
- package/src/libs/engine/src/templates/generated/erd/erd-derived-attribute.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/erd/erd-derived-attribute.template.js +122 -0
- package/src/libs/engine/src/templates/generated/erd/erd-discriminator.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/erd/erd-discriminator.template.js +123 -0
- package/src/libs/engine/src/templates/generated/erd/erd-entity.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/erd/erd-entity.template.js +149 -0
- package/src/libs/engine/src/templates/generated/erd/erd-isa.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/erd/erd-isa.template.js +123 -0
- package/src/libs/engine/src/templates/generated/erd/erd-key-attribute.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/erd/erd-key-attribute.template.js +122 -0
- package/src/libs/engine/src/templates/generated/erd/erd-multivalued-attribute.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/erd/erd-multivalued-attribute.template.js +122 -0
- package/src/libs/engine/src/templates/generated/erd/erd-optional-attribute.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/erd/erd-optional-attribute.template.js +122 -0
- package/src/libs/engine/src/templates/generated/erd/erd-partial-key.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/erd/erd-partial-key.template.js +123 -0
- package/src/libs/engine/src/templates/generated/erd/erd-relationship.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/erd/erd-relationship.template.js +121 -0
- package/src/libs/engine/src/templates/generated/erd/erd-subtype.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/erd/erd-subtype.template.js +123 -0
- package/src/libs/engine/src/templates/generated/erd/erd-supertype.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/erd/erd-supertype.template.js +123 -0
- package/src/libs/engine/src/templates/generated/erd/erd-table.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/erd/erd-table.template.js +123 -0
- package/src/libs/engine/src/templates/generated/erd/erd-view.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/erd/erd-view.template.js +123 -0
- package/src/libs/engine/src/templates/generated/erd/erd-weak-entity.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/erd/erd-weak-entity.template.js +149 -0
- package/src/libs/engine/src/templates/generated/erd/erd-weak-relationship.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/erd/erd-weak-relationship.template.js +122 -0
- package/src/libs/engine/src/templates/generated/erd/index.d.ts +19 -0
- package/src/libs/engine/src/templates/generated/erd/index.js +42 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-connector.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-connector.template.js +123 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-data.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-data.template.js +123 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-decision.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-decision.template.js +123 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-delay.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-delay.template.js +124 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-display.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-display.template.js +124 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-document.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-document.template.js +123 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-manual-input.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-manual-input.template.js +123 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-manual-operation.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-manual-operation.template.js +122 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-merge.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-merge.template.js +122 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-or.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-or.template.js +123 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-predefined-process.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-predefined-process.template.js +123 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-preparation.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-preparation.template.js +123 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-process.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-process.template.js +122 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-stored-data.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-stored-data.template.js +123 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-summing-junction.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-summing-junction.template.js +124 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-terminal.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-terminal.template.js +124 -0
- package/src/libs/engine/src/templates/generated/flowchart/index.d.ts +16 -0
- package/src/libs/engine/src/templates/generated/flowchart/index.js +36 -0
- package/src/libs/engine/src/templates/generated/index.d.ts +9 -0
- package/src/libs/engine/src/templates/generated/index.js +13 -0
- package/src/libs/engine/src/templates/generated/register.d.ts +23 -0
- package/src/libs/engine/src/templates/generated/register.js +31 -0
- package/src/libs/engine/src/templates/generated/uml/index.d.ts +30 -0
- package/src/libs/engine/src/templates/generated/uml/index.js +64 -0
- package/src/libs/engine/src/templates/generated/uml/uml-abstract-class.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/uml/uml-abstract-class.template.js +204 -0
- package/src/libs/engine/src/templates/generated/uml/uml-activation.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/uml/uml-activation.template.js +124 -0
- package/src/libs/engine/src/templates/generated/uml/uml-activity-partition.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/uml/uml-activity-partition.template.js +124 -0
- package/src/libs/engine/src/templates/generated/uml/uml-activity.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/uml/uml-activity.template.js +123 -0
- package/src/libs/engine/src/templates/generated/uml/uml-actor.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/uml/uml-actor.template.js +123 -0
- package/src/libs/engine/src/templates/generated/uml/uml-class.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/uml/uml-class.template.js +204 -0
- package/src/libs/engine/src/templates/generated/uml/uml-collaboration.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/uml/uml-collaboration.template.js +122 -0
- package/src/libs/engine/src/templates/generated/uml/uml-component.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/uml/uml-component.template.js +122 -0
- package/src/libs/engine/src/templates/generated/uml/uml-datatype.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/uml/uml-datatype.template.js +204 -0
- package/src/libs/engine/src/templates/generated/uml/uml-decision.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/uml/uml-decision.template.js +124 -0
- package/src/libs/engine/src/templates/generated/uml/uml-enum.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/uml/uml-enum.template.js +204 -0
- package/src/libs/engine/src/templates/generated/uml/uml-final-node.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/uml/uml-final-node.template.js +124 -0
- package/src/libs/engine/src/templates/generated/uml/uml-final-state.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/uml/uml-final-state.template.js +124 -0
- package/src/libs/engine/src/templates/generated/uml/uml-fork.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/uml/uml-fork.template.js +125 -0
- package/src/libs/engine/src/templates/generated/uml/uml-initial-node.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/uml/uml-initial-node.template.js +123 -0
- package/src/libs/engine/src/templates/generated/uml/uml-initial-state.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/uml/uml-initial-state.template.js +123 -0
- package/src/libs/engine/src/templates/generated/uml/uml-interface.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/uml/uml-interface.template.js +204 -0
- package/src/libs/engine/src/templates/generated/uml/uml-join.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/uml/uml-join.template.js +125 -0
- package/src/libs/engine/src/templates/generated/uml/uml-lifeline.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/uml/uml-lifeline.template.js +123 -0
- package/src/libs/engine/src/templates/generated/uml/uml-merge.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/uml/uml-merge.template.js +122 -0
- package/src/libs/engine/src/templates/generated/uml/uml-node.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/uml/uml-node.template.js +122 -0
- package/src/libs/engine/src/templates/generated/uml/uml-note.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/uml/uml-note.template.js +123 -0
- package/src/libs/engine/src/templates/generated/uml/uml-object.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/uml/uml-object.template.js +204 -0
- package/src/libs/engine/src/templates/generated/uml/uml-package.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/uml/uml-package.template.js +123 -0
- package/src/libs/engine/src/templates/generated/uml/uml-part.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/uml/uml-part.template.js +122 -0
- package/src/libs/engine/src/templates/generated/uml/uml-port.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/uml/uml-port.template.js +123 -0
- package/src/libs/engine/src/templates/generated/uml/uml-primitive-type.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/uml/uml-primitive-type.template.js +204 -0
- package/src/libs/engine/src/templates/generated/uml/uml-signal.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/uml/uml-signal.template.js +123 -0
- package/src/libs/engine/src/templates/generated/uml/uml-state.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/uml/uml-state.template.js +123 -0
- package/src/libs/engine/src/templates/generated/uml/uml-use-case.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/uml/uml-use-case.template.js +122 -0
- package/src/libs/engine/src/templates/index.d.ts +12 -0
- package/src/libs/engine/src/templates/index.js +27 -0
- package/src/libs/engine/src/templates/stencils.d.ts +45 -0
- package/src/libs/engine/src/templates/stencils.js +85 -0
- package/src/libs/engine/src/types/domain/bpmn.d.ts +25 -0
- package/src/libs/engine/src/types/domain/bpmn.js +313 -0
- package/src/libs/engine/src/types/domain/erd.d.ts +29 -0
- package/src/libs/engine/src/types/domain/erd.js +394 -0
- package/src/libs/engine/src/types/domain/flowchart.d.ts +26 -0
- package/src/libs/engine/src/types/domain/flowchart.js +434 -0
- package/src/libs/engine/src/types/domain/index.d.ts +4 -0
- package/src/libs/engine/src/types/domain/index.js +9 -0
- package/src/libs/engine/src/types/domain/uml.d.ts +40 -0
- package/src/libs/engine/src/types/domain/uml.js +758 -0
- package/src/libs/engine/src/types/event.types.d.ts +142 -0
- package/src/libs/engine/src/types/event.types.js +96 -0
- package/src/libs/engine/src/types/geometry.types.d.ts +84 -0
- package/src/libs/engine/src/types/geometry.types.js +16 -0
- package/src/libs/engine/src/types/index.d.ts +7 -0
- package/src/libs/engine/src/types/index.js +14 -0
- package/src/libs/engine/src/types/layout.types.d.ts +148 -0
- package/src/libs/engine/src/types/layout.types.js +28 -0
- package/src/libs/engine/src/types/model.types.d.ts +378 -0
- package/src/libs/engine/src/types/model.types.js +4 -0
- package/src/libs/engine/src/types/performance.types.d.ts +109 -0
- package/src/libs/engine/src/types/performance.types.js +122 -0
- package/src/libs/engine/src/types/plugin.types.d.ts +30 -0
- package/src/libs/engine/src/types/plugin.types.js +4 -0
- package/src/libs/engine/src/utils/deep-clone.d.ts +9 -0
- package/src/libs/engine/src/utils/deep-clone.js +123 -0
- package/src/libs/engine/src/utils/geometry.d.ts +45 -0
- package/src/libs/engine/src/utils/geometry.js +241 -0
- package/src/libs/engine/src/utils/id.d.ts +22 -0
- package/src/libs/engine/src/utils/id.js +44 -0
- package/src/libs/engine/src/utils/index.d.ts +3 -0
- package/src/libs/engine/src/utils/index.js +8 -0
- package/src/libs/engine/src/utils/transform.d.ts +84 -0
- package/src/libs/engine/src/utils/transform.js +200 -0
- package/src/libs/engine/src/validation/ConnectionGroupValidator.d.ts +22 -0
- package/src/libs/engine/src/validation/ConnectionGroupValidator.js +56 -0
- package/src/libs/engine/src/validation/TypeRegistry.d.ts +179 -0
- package/src/libs/engine/src/validation/TypeRegistry.js +358 -0
- package/src/libs/engine/src/validation/ValidationEngine.d.ts +79 -0
- package/src/libs/engine/src/validation/ValidationEngine.js +1150 -0
- package/src/libs/engine/src/validation/index.d.ts +3 -0
- package/src/libs/engine/src/validation/index.js +8 -0
- package/src/libs/renderer/src/a11y/diagram-outline.d.ts +93 -0
- package/src/libs/renderer/src/a11y/diagram-outline.js +0 -0
- package/src/libs/renderer/src/a11y/focus-containment.d.ts +90 -0
- package/src/libs/renderer/src/a11y/focus-containment.js +173 -0
- package/src/libs/renderer/src/a11y/graph-topology.d.ts +70 -0
- package/src/libs/renderer/src/a11y/graph-topology.js +0 -0
- package/src/libs/renderer/src/a11y/index.d.ts +26 -0
- package/src/libs/renderer/src/a11y/index.js +30 -0
- package/src/libs/renderer/src/a11y/live-region.d.ts +83 -0
- package/src/libs/renderer/src/a11y/live-region.js +170 -0
- package/src/libs/renderer/src/a11y/outline-view.d.ts +62 -0
- package/src/libs/renderer/src/a11y/outline-view.js +158 -0
- package/src/libs/renderer/src/a11y/reduced-motion.d.ts +48 -0
- package/src/libs/renderer/src/a11y/reduced-motion.js +223 -0
- package/src/libs/renderer/src/a11y/semantics.d.ts +76 -0
- package/src/libs/renderer/src/a11y/semantics.js +229 -0
- package/src/libs/renderer/src/canvas/canvas-context.d.ts +167 -0
- package/src/libs/renderer/src/canvas/canvas-context.js +267 -0
- package/src/libs/renderer/src/canvas/canvas-renderer.d.ts +194 -0
- package/src/libs/renderer/src/canvas/canvas-renderer.js +600 -0
- package/src/libs/renderer/src/canvas/dirty-region.d.ts +56 -0
- package/src/libs/renderer/src/canvas/dirty-region.js +171 -0
- package/src/libs/renderer/src/canvas/index.d.ts +16 -0
- package/src/libs/renderer/src/canvas/index.js +79 -0
- package/src/libs/renderer/src/canvas/path-geometry.d.ts +112 -0
- package/src/libs/renderer/src/canvas/path-geometry.js +673 -0
- package/src/libs/renderer/src/canvas/render-backend.d.ts +133 -0
- package/src/libs/renderer/src/canvas/render-backend.js +339 -0
- package/src/libs/renderer/src/canvas/style-resolution.d.ts +101 -0
- package/src/libs/renderer/src/canvas/style-resolution.js +466 -0
- package/src/libs/renderer/src/canvas/tier-policy.d.ts +33 -0
- package/src/libs/renderer/src/canvas/tier-policy.js +89 -0
- package/src/libs/renderer/src/canvas/vnode-painter.d.ts +154 -0
- package/src/libs/renderer/src/canvas/vnode-painter.js +649 -0
- package/src/libs/renderer/src/comments/comment-overlay.d.ts +56 -0
- package/src/libs/renderer/src/comments/comment-overlay.js +127 -0
- package/src/libs/renderer/src/comments/comment-panel.d.ts +45 -0
- package/src/libs/renderer/src/comments/comment-panel.js +287 -0
- package/src/libs/renderer/src/comments/comment-pins.d.ts +34 -0
- package/src/libs/renderer/src/comments/comment-pins.js +227 -0
- package/src/libs/renderer/src/comments/index.d.ts +3 -0
- package/src/libs/renderer/src/comments/index.js +17 -0
- package/src/libs/renderer/src/export/assets.d.ts +96 -0
- package/src/libs/renderer/src/export/assets.js +350 -0
- package/src/libs/renderer/src/export/batch.d.ts +49 -0
- package/src/libs/renderer/src/export/batch.js +95 -0
- package/src/libs/renderer/src/export/bounds.d.ts +81 -0
- package/src/libs/renderer/src/export/bounds.js +367 -0
- package/src/libs/renderer/src/export/capture-host.d.ts +39 -0
- package/src/libs/renderer/src/export/capture-host.js +1259 -0
- package/src/libs/renderer/src/export/custom-nodes.d.ts +88 -0
- package/src/libs/renderer/src/export/custom-nodes.js +237 -0
- package/src/libs/renderer/src/export/index.d.ts +14 -0
- package/src/libs/renderer/src/export/index.js +30 -0
- package/src/libs/renderer/src/export/node-raster.d.ts +60 -0
- package/src/libs/renderer/src/export/node-raster.js +161 -0
- package/src/libs/renderer/src/export/pagination.d.ts +116 -0
- package/src/libs/renderer/src/export/pagination.js +245 -0
- package/src/libs/renderer/src/export/pdf/flate.d.ts +13 -0
- package/src/libs/renderer/src/export/pdf/flate.js +287 -0
- package/src/libs/renderer/src/export/pdf/index.d.ts +4 -0
- package/src/libs/renderer/src/export/pdf/index.js +15 -0
- package/src/libs/renderer/src/export/pdf/pdf-export.d.ts +64 -0
- package/src/libs/renderer/src/export/pdf/pdf-export.js +1076 -0
- package/src/libs/renderer/src/export/pdf/pdf-path.d.ts +17 -0
- package/src/libs/renderer/src/export/pdf/pdf-path.js +85 -0
- package/src/libs/renderer/src/export/pdf/pdf-primitives.d.ts +115 -0
- package/src/libs/renderer/src/export/pdf/pdf-primitives.js +338 -0
- package/src/libs/renderer/src/export/pdf/png.d.ts +25 -0
- package/src/libs/renderer/src/export/pdf/png.js +596 -0
- package/src/libs/renderer/src/export/raster.d.ts +42 -0
- package/src/libs/renderer/src/export/raster.js +126 -0
- package/src/libs/renderer/src/export/round-trip.d.ts +83 -0
- package/src/libs/renderer/src/export/round-trip.js +432 -0
- package/src/libs/renderer/src/export/scope.d.ts +16 -0
- package/src/libs/renderer/src/export/scope.js +69 -0
- package/src/libs/renderer/src/export/style-flattener.d.ts +23 -0
- package/src/libs/renderer/src/export/style-flattener.js +144 -0
- package/src/libs/renderer/src/export/svg-export.d.ts +123 -0
- package/src/libs/renderer/src/export/svg-export.js +178 -0
- package/src/libs/renderer/src/export/vnode-serializer.d.ts +75 -0
- package/src/libs/renderer/src/export/vnode-serializer.js +344 -0
- package/src/libs/renderer/src/ext/capabilities.d.ts +178 -0
- package/src/libs/renderer/src/ext/capabilities.js +22 -0
- package/src/libs/renderer/src/ext/capability-factory.d.ts +44 -0
- package/src/libs/renderer/src/ext/capability-factory.js +194 -0
- package/src/libs/renderer/src/ext/components/attach.d.ts +66 -0
- package/src/libs/renderer/src/ext/components/attach.js +112 -0
- package/src/libs/renderer/src/ext/components/background.d.ts +84 -0
- package/src/libs/renderer/src/ext/components/background.js +202 -0
- package/src/libs/renderer/src/ext/components/controls.d.ts +49 -0
- package/src/libs/renderer/src/ext/components/controls.js +144 -0
- package/src/libs/renderer/src/ext/components/minimap.d.ts +78 -0
- package/src/libs/renderer/src/ext/components/minimap.js +326 -0
- package/src/libs/renderer/src/ext/diagram-registry.d.ts +109 -0
- package/src/libs/renderer/src/ext/diagram-registry.js +303 -0
- package/src/libs/renderer/src/ext/disposable.d.ts +51 -0
- package/src/libs/renderer/src/ext/disposable.js +104 -0
- package/src/libs/renderer/src/ext/extension-host.d.ts +144 -0
- package/src/libs/renderer/src/ext/extension-host.js +272 -0
- package/src/libs/renderer/src/ext/index.d.ts +62 -0
- package/src/libs/renderer/src/ext/index.js +91 -0
- package/src/libs/renderer/src/ext/link-pipeline.d.ts +195 -0
- package/src/libs/renderer/src/ext/link-pipeline.js +431 -0
- package/src/libs/renderer/src/ext/manifest.d.ts +73 -0
- package/src/libs/renderer/src/ext/manifest.js +149 -0
- package/src/libs/renderer/src/ext/node-component.d.ts +114 -0
- package/src/libs/renderer/src/ext/node-component.js +290 -0
- package/src/libs/renderer/src/ext/plugins-loader.d.ts +1 -0
- package/src/libs/renderer/src/ext/plugins-loader.js +18 -0
- package/src/libs/renderer/src/ext/portal.d.ts +129 -0
- package/src/libs/renderer/src/ext/portal.js +267 -0
- package/src/libs/renderer/src/ext/public-api.d.ts +101 -0
- package/src/libs/renderer/src/ext/public-api.js +201 -0
- package/src/libs/renderer/src/ext/registry-scope.d.ts +93 -0
- package/src/libs/renderer/src/ext/registry-scope.js +142 -0
- package/src/libs/renderer/src/ext/tools.d.ts +164 -0
- package/src/libs/renderer/src/ext/tools.js +170 -0
- package/src/libs/renderer/src/index.d.ts +34 -0
- package/src/libs/renderer/src/index.js +108 -0
- package/src/libs/renderer/src/instance/create-diagram.d.ts +385 -0
- package/src/libs/renderer/src/instance/create-diagram.js +1150 -0
- package/src/libs/renderer/src/instance/diagram-instance.d.ts +48 -0
- package/src/libs/renderer/src/instance/diagram-instance.js +51 -0
- package/src/libs/renderer/src/instance/dom-event-binder.d.ts +394 -0
- package/src/libs/renderer/src/instance/dom-event-binder.js +2104 -0
- package/src/libs/renderer/src/instance/index.d.ts +5 -0
- package/src/libs/renderer/src/instance/index.js +13 -0
- package/src/libs/renderer/src/instance/layers.d.ts +31 -0
- package/src/libs/renderer/src/instance/layers.js +43 -0
- package/src/libs/renderer/src/instance/model-input.d.ts +229 -0
- package/src/libs/renderer/src/instance/model-input.js +325 -0
- package/src/libs/renderer/src/instance/render-scheduler.d.ts +79 -0
- package/src/libs/renderer/src/instance/render-scheduler.js +96 -0
- package/src/libs/renderer/src/instance/wheel-scroll-yield.d.ts +38 -0
- package/src/libs/renderer/src/instance/wheel-scroll-yield.js +118 -0
- package/src/libs/renderer/src/interaction/ControlPointEditor.d.ts +160 -0
- package/src/libs/renderer/src/interaction/ControlPointEditor.js +360 -0
- package/src/libs/renderer/src/interaction/WaypointEditor.d.ts +133 -0
- package/src/libs/renderer/src/interaction/WaypointEditor.js +263 -0
- package/src/libs/renderer/src/interaction/highlighters.d.ts +88 -0
- package/src/libs/renderer/src/interaction/highlighters.js +212 -0
- package/src/libs/renderer/src/interaction/in-place-editor.d.ts +63 -0
- package/src/libs/renderer/src/interaction/in-place-editor.js +141 -0
- package/src/libs/renderer/src/interaction/index.d.ts +11 -0
- package/src/libs/renderer/src/interaction/index.js +29 -0
- package/src/libs/renderer/src/interaction/ink-overlay.d.ts +53 -0
- package/src/libs/renderer/src/interaction/ink-overlay.js +154 -0
- package/src/libs/renderer/src/interaction/interaction-controller.d.ts +555 -0
- package/src/libs/renderer/src/interaction/interaction-controller.js +1733 -0
- package/src/libs/renderer/src/interaction/keyboard-navigation.d.ts +223 -0
- package/src/libs/renderer/src/interaction/keyboard-navigation.js +885 -0
- package/src/libs/renderer/src/interaction/selection-tools.d.ts +343 -0
- package/src/libs/renderer/src/interaction/selection-tools.js +918 -0
- package/src/libs/renderer/src/interaction/snapping.d.ts +210 -0
- package/src/libs/renderer/src/interaction/snapping.js +569 -0
- package/src/libs/renderer/src/interaction/touch-gestures.d.ts +160 -0
- package/src/libs/renderer/src/interaction/touch-gestures.js +549 -0
- package/src/libs/renderer/src/interaction/whiteboard-tools.d.ts +171 -0
- package/src/libs/renderer/src/interaction/whiteboard-tools.js +476 -0
- package/src/libs/renderer/src/lazy/host-culling.d.ts +116 -0
- package/src/libs/renderer/src/lazy/host-culling.js +135 -0
- package/src/libs/renderer/src/lazy/index.d.ts +7 -0
- package/src/libs/renderer/src/lazy/index.js +28 -0
- package/src/libs/renderer/src/lazy/progressive-mounter.d.ts +80 -0
- package/src/libs/renderer/src/lazy/progressive-mounter.js +264 -0
- package/src/libs/renderer/src/lazy/types.d.ts +43 -0
- package/src/libs/renderer/src/lazy/types.js +14 -0
- package/src/libs/renderer/src/lazy/view-lifecycle.d.ts +97 -0
- package/src/libs/renderer/src/lazy/view-lifecycle.js +221 -0
- package/src/libs/renderer/src/perf/index.d.ts +2 -0
- package/src/libs/renderer/src/perf/index.js +7 -0
- package/src/libs/renderer/src/perf/perf-hud.d.ts +46 -0
- package/src/libs/renderer/src/perf/perf-hud.js +105 -0
- package/src/libs/renderer/src/perf/quality-governor.d.ts +77 -0
- package/src/libs/renderer/src/perf/quality-governor.js +154 -0
- package/src/libs/renderer/src/platform/index.d.ts +1 -0
- package/src/libs/renderer/src/platform/index.js +5 -0
- package/src/libs/renderer/src/platform/platform.d.ts +34 -0
- package/src/libs/renderer/src/platform/platform.js +64 -0
- package/src/libs/renderer/src/presence/bind-presence.d.ts +51 -0
- package/src/libs/renderer/src/presence/bind-presence.js +144 -0
- package/src/libs/renderer/src/presence/index.d.ts +4 -0
- package/src/libs/renderer/src/presence/index.js +18 -0
- package/src/libs/renderer/src/presence/presence-overlay.d.ts +121 -0
- package/src/libs/renderer/src/presence/presence-overlay.js +465 -0
- package/src/libs/renderer/src/presentation/index.d.ts +3 -0
- package/src/libs/renderer/src/presentation/index.js +14 -0
- package/src/libs/renderer/src/presentation/presentation.d.ts +94 -0
- package/src/libs/renderer/src/presentation/presentation.js +158 -0
- package/src/libs/renderer/src/presentation/viewport-channel.d.ts +78 -0
- package/src/libs/renderer/src/presentation/viewport-channel.js +86 -0
- package/src/libs/renderer/src/services/animation-lifecycle.d.ts +153 -0
- package/src/libs/renderer/src/services/animation-lifecycle.js +326 -0
- package/src/libs/renderer/src/services/animation-performance.service.d.ts +191 -0
- package/src/libs/renderer/src/services/animation-performance.service.js +371 -0
- package/src/libs/renderer/src/services/animation-sequencer.d.ts +226 -0
- package/src/libs/renderer/src/services/animation-sequencer.js +379 -0
- package/src/libs/renderer/src/services/animation.service.d.ts +182 -0
- package/src/libs/renderer/src/services/animation.service.js +858 -0
- package/src/libs/renderer/src/services/custom-animation-registry.d.ts +182 -0
- package/src/libs/renderer/src/services/custom-animation-registry.js +361 -0
- package/src/libs/renderer/src/ssr/index.d.ts +1 -0
- package/src/libs/renderer/src/ssr/index.js +6 -0
- package/src/libs/renderer/src/ssr/render-to-static.d.ts +91 -0
- package/src/libs/renderer/src/ssr/render-to-static.js +81 -0
- package/src/libs/renderer/src/svg/ArrowRenderer.d.ts +159 -0
- package/src/libs/renderer/src/svg/ArrowRenderer.js +723 -0
- package/src/libs/renderer/src/svg/JumpPointDetector.d.ts +79 -0
- package/src/libs/renderer/src/svg/JumpPointDetector.js +176 -0
- package/src/libs/renderer/src/svg/JumpPointRenderer.d.ts +59 -0
- package/src/libs/renderer/src/svg/JumpPointRenderer.js +309 -0
- package/src/libs/renderer/src/svg/LabelRenderer.d.ts +76 -0
- package/src/libs/renderer/src/svg/LabelRenderer.js +273 -0
- package/src/libs/renderer/src/svg/auto-size.d.ts +76 -0
- package/src/libs/renderer/src/svg/auto-size.js +142 -0
- package/src/libs/renderer/src/svg/channel-nudging.d.ts +34 -0
- package/src/libs/renderer/src/svg/channel-nudging.js +226 -0
- package/src/libs/renderer/src/svg/edge-optimizer.d.ts +228 -0
- package/src/libs/renderer/src/svg/edge-optimizer.js +606 -0
- package/src/libs/renderer/src/svg/edge-templates.d.ts +152 -0
- package/src/libs/renderer/src/svg/edge-templates.js +233 -0
- package/src/libs/renderer/src/svg/html-node.d.ts +50 -0
- package/src/libs/renderer/src/svg/html-node.js +214 -0
- package/src/libs/renderer/src/svg/index.d.ts +25 -0
- package/src/libs/renderer/src/svg/index.js +32 -0
- package/src/libs/renderer/src/svg/link-fanout.d.ts +127 -0
- package/src/libs/renderer/src/svg/link-fanout.js +333 -0
- package/src/libs/renderer/src/svg/link-hit-test.d.ts +142 -0
- package/src/libs/renderer/src/svg/link-hit-test.js +182 -0
- package/src/libs/renderer/src/svg/motion-tracker.d.ts +18 -0
- package/src/libs/renderer/src/svg/motion-tracker.js +71 -0
- package/src/libs/renderer/src/svg/node-sizing.d.ts +51 -0
- package/src/libs/renderer/src/svg/node-sizing.js +65 -0
- package/src/libs/renderer/src/svg/node-toolbar.d.ts +30 -0
- package/src/libs/renderer/src/svg/node-toolbar.js +45 -0
- package/src/libs/renderer/src/svg/notation-shapes.d.ts +2 -0
- package/src/libs/renderer/src/svg/notation-shapes.js +126 -0
- package/src/libs/renderer/src/svg/paint-servers.d.ts +49 -0
- package/src/libs/renderer/src/svg/paint-servers.js +225 -0
- package/src/libs/renderer/src/svg/panel.d.ts +115 -0
- package/src/libs/renderer/src/svg/panel.js +353 -0
- package/src/libs/renderer/src/svg/path-outline.d.ts +35 -0
- package/src/libs/renderer/src/svg/path-outline.js +134 -0
- package/src/libs/renderer/src/svg/port-glyph.d.ts +27 -0
- package/src/libs/renderer/src/svg/port-glyph.js +97 -0
- package/src/libs/renderer/src/svg/port-label.d.ts +74 -0
- package/src/libs/renderer/src/svg/port-label.js +201 -0
- package/src/libs/renderer/src/svg/port-layout.d.ts +50 -0
- package/src/libs/renderer/src/svg/port-layout.js +212 -0
- package/src/libs/renderer/src/svg/port-positioning.d.ts +33 -0
- package/src/libs/renderer/src/svg/port-positioning.js +101 -0
- package/src/libs/renderer/src/svg/port-spots.d.ts +69 -0
- package/src/libs/renderer/src/svg/port-spots.js +154 -0
- package/src/libs/renderer/src/svg/route-memo.d.ts +63 -0
- package/src/libs/renderer/src/svg/route-memo.js +206 -0
- package/src/libs/renderer/src/svg/route-solver-bridge.d.ts +48 -0
- package/src/libs/renderer/src/svg/route-solver-bridge.js +151 -0
- package/src/libs/renderer/src/svg/shape-registry.d.ts +189 -0
- package/src/libs/renderer/src/svg/shape-registry.js +1104 -0
- package/src/libs/renderer/src/svg/stroke-layer.d.ts +36 -0
- package/src/libs/renderer/src/svg/stroke-layer.js +183 -0
- package/src/libs/renderer/src/svg/svg-renderer.d.ts +1737 -0
- package/src/libs/renderer/src/svg/svg-renderer.js +7772 -0
- package/src/libs/renderer/src/svg/text-block.d.ts +54 -0
- package/src/libs/renderer/src/svg/text-block.js +171 -0
- package/src/libs/renderer/src/themes/color-mode.d.ts +81 -0
- package/src/libs/renderer/src/themes/color-mode.js +158 -0
- package/src/libs/renderer/src/themes/contrast.d.ts +67 -0
- package/src/libs/renderer/src/themes/contrast.js +215 -0
- package/src/libs/renderer/src/themes/default-dark-theme.d.ts +6 -0
- package/src/libs/renderer/src/themes/default-dark-theme.js +126 -0
- package/src/libs/renderer/src/themes/default-light-theme.d.ts +6 -0
- package/src/libs/renderer/src/themes/default-light-theme.js +168 -0
- package/src/libs/renderer/src/themes/default-theme-set.d.ts +10 -0
- package/src/libs/renderer/src/themes/default-theme-set.js +25 -0
- package/src/libs/renderer/src/themes/high-contrast-theme.d.ts +5 -0
- package/src/libs/renderer/src/themes/high-contrast-theme.js +170 -0
- package/src/libs/renderer/src/themes/index.d.ts +22 -0
- package/src/libs/renderer/src/themes/index.js +93 -0
- package/src/libs/renderer/src/themes/style-cascade.d.ts +23 -0
- package/src/libs/renderer/src/themes/style-cascade.js +194 -0
- package/src/libs/renderer/src/themes/style-registry.d.ts +40 -0
- package/src/libs/renderer/src/themes/style-registry.js +129 -0
- package/src/libs/renderer/src/themes/theme-a11y.d.ts +65 -0
- package/src/libs/renderer/src/themes/theme-a11y.js +256 -0
- package/src/libs/renderer/src/themes/theme-css.d.ts +30 -0
- package/src/libs/renderer/src/themes/theme-css.js +304 -0
- package/src/libs/renderer/src/themes/theme-ref.d.ts +63 -0
- package/src/libs/renderer/src/themes/theme-ref.js +206 -0
- package/src/libs/renderer/src/themes/theme-vars.d.ts +49 -0
- package/src/libs/renderer/src/themes/theme-vars.js +112 -0
- package/src/libs/renderer/src/themes/token-bridge.d.ts +62 -0
- package/src/libs/renderer/src/themes/token-bridge.js +354 -0
- package/src/libs/renderer/src/types/geometry.types.d.ts +10 -0
- package/src/libs/renderer/src/types/geometry.types.js +3 -0
- package/src/libs/renderer/src/types/index.d.ts +5 -0
- package/src/libs/renderer/src/types/index.js +14 -0
- package/src/libs/renderer/src/types/property-schema/conditions.d.ts +96 -0
- package/src/libs/renderer/src/types/property-schema/conditions.js +8 -0
- package/src/libs/renderer/src/types/property-schema/editor-types.d.ts +310 -0
- package/src/libs/renderer/src/types/property-schema/editor-types.js +8 -0
- package/src/libs/renderer/src/types/property-schema/groups.d.ts +58 -0
- package/src/libs/renderer/src/types/property-schema/groups.js +8 -0
- package/src/libs/renderer/src/types/property-schema/index.d.ts +101 -0
- package/src/libs/renderer/src/types/property-schema/index.js +98 -0
- package/src/libs/renderer/src/types/property-schema/property-definition.d.ts +117 -0
- package/src/libs/renderer/src/types/property-schema/property-definition.js +8 -0
- package/src/libs/renderer/src/types/property-schema/schema.d.ts +108 -0
- package/src/libs/renderer/src/types/property-schema/schema.js +8 -0
- package/src/libs/renderer/src/types/property-schema/validation.d.ts +181 -0
- package/src/libs/renderer/src/types/property-schema/validation.js +8 -0
- package/src/libs/renderer/src/types/renderer.interface.d.ts +623 -0
- package/src/libs/renderer/src/types/renderer.interface.js +3 -0
- package/src/libs/renderer/src/types/theme.types.d.ts +305 -0
- package/src/libs/renderer/src/types/theme.types.js +3 -0
- package/src/libs/renderer/src/types/vnode.types.d.ts +139 -0
- package/src/libs/renderer/src/types/vnode.types.js +3 -0
- package/src/libs/renderer/src/utils/animation-presets.d.ts +310 -0
- package/src/libs/renderer/src/utils/animation-presets.js +406 -0
- package/src/libs/renderer/src/utils/animation-priority.d.ts +118 -0
- package/src/libs/renderer/src/utils/animation-priority.js +258 -0
- package/src/libs/renderer/src/utils/animation-utils.d.ts +159 -0
- package/src/libs/renderer/src/utils/animation-utils.js +323 -0
- package/src/libs/renderer/src/utils/lru-cache.d.ts +34 -0
- package/src/libs/renderer/src/utils/lru-cache.js +72 -0
- package/src/libs/renderer/src/viewport/index.d.ts +1 -0
- package/src/libs/renderer/src/viewport/index.js +6 -0
- package/src/libs/renderer/src/viewport/viewport-controller.d.ts +198 -0
- package/src/libs/renderer/src/viewport/viewport-controller.js +315 -0
- package/src/libs/renderer/src/vnode/container-id-generator.d.ts +94 -0
- package/src/libs/renderer/src/vnode/container-id-generator.js +110 -0
- package/src/libs/renderer/src/vnode/foreign-object.d.ts +157 -0
- package/src/libs/renderer/src/vnode/foreign-object.js +167 -0
- package/src/libs/renderer/src/vnode/index.d.ts +56 -0
- package/src/libs/renderer/src/vnode/index.js +78 -0
- package/src/libs/renderer/src/vnode/patch.d.ts +189 -0
- package/src/libs/renderer/src/vnode/patch.js +564 -0
- package/src/index.js.map +0 -1
- package/src/lib/dashboard-kit/dashboard.js.map +0 -1
- package/src/lib/dashboard-kit/grid-binder.js.map +0 -1
- package/src/lib/dashboard-kit/grid-mapping.js.map +0 -1
- package/src/lib/dashboard-kit/index.js.map +0 -1
- package/src/lib/dashboard-kit/styles.js.map +0 -1
- package/src/lib/dashboard-kit/widgets.js.map +0 -1
- package/src/lib/diagram-kit/card.js.map +0 -1
- package/src/lib/diagram-kit/editing.js.map +0 -1
- package/src/lib/diagram-kit/er.js.map +0 -1
- package/src/lib/diagram-kit/handles.js.map +0 -1
- package/src/lib/diagram-kit/index.js.map +0 -1
- package/src/lib/diagram-kit/rows.js.map +0 -1
- 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/update.js.map +0 -1
- package/src/lib/grafloria-flow-element.js.map +0 -1
- package/src/lib/grafloria.js.map +0 -1
- package/src/lib/load.js.map +0 -1
- package/src/lib/node-type-registry.js.map +0 -1
- package/src/lib/stencil-kit/builders.js.map +0 -1
- package/src/lib/stencil-kit/card-builders.js.map +0 -1
- package/src/lib/stencil-kit/index.js.map +0 -1
- package/src/lib/stencil-kit/palette.js.map +0 -1
- package/src/lib/stencil-kit/shape-data.js.map +0 -1
- package/src/lib/stencil-kit/styles.js.map +0 -1
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* edge-templates.ts — Wave 4 (Edges & links), Card 5
|
|
3
|
+
*
|
|
4
|
+
* The extensibility seam for edges: LINK templates, LABEL templates and custom
|
|
5
|
+
* MARKERS. Before this, `LabelRenderer` could only emit SVG `<text>` and
|
|
6
|
+
* `ArrowStyle.type` was a closed enum — an author who wanted an HTML badge on an
|
|
7
|
+
* edge, a bespoke link body, or a half-arrowhead had to fork the renderer.
|
|
8
|
+
*
|
|
9
|
+
* Three registries, one shape (same as the named-style registry in
|
|
10
|
+
* ../themes/style-registry.ts, deliberately):
|
|
11
|
+
*
|
|
12
|
+
* registerLinkTemplate('audit-trail', ctx => …) // link.style.template
|
|
13
|
+
* registerLabelTemplate('badge', ctx => …) // label.template
|
|
14
|
+
* registerMarker('feather', { render, tipOffset }) // arrowHead.type
|
|
15
|
+
*
|
|
16
|
+
* WHY NAMES AND NOT FUNCTIONS ON THE MODEL: LinkStyle / LinkLabel are
|
|
17
|
+
* serializable model state that lives in @grafloria/engine, and the engine must not
|
|
18
|
+
* depend on the renderer's VNode type. A name survives save/load; a closure does
|
|
19
|
+
* not. It also means a template can be redefined at runtime and every link using
|
|
20
|
+
* it repaints — which is why renderers subscribe to `onEdgeTemplateChange` and
|
|
21
|
+
* drop their VNode cache, exactly like they do for named styles.
|
|
22
|
+
*
|
|
23
|
+
* Framework-agnostic: VNodes only. A template that wants real HTML returns a
|
|
24
|
+
* `foreignObject` VNode (see `htmlLabelVNode`); the patcher materialises its
|
|
25
|
+
* children in the XHTML namespace and then treats the subtree as opaque.
|
|
26
|
+
*/
|
|
27
|
+
import type { ArrowStyle, LinkLabel, LinkModel, Point } from '@grafloria/engine';
|
|
28
|
+
import type { VNode } from '../types/vnode.types';
|
|
29
|
+
import type { Theme } from '../types/theme.types';
|
|
30
|
+
/** What a LINK template is given. Everything it needs; nothing it can corrupt. */
|
|
31
|
+
export interface LinkTemplateContext {
|
|
32
|
+
link: LinkModel;
|
|
33
|
+
/** The ROUTED polyline for this frame — not the model's stale `segments`. */
|
|
34
|
+
points: Point[];
|
|
35
|
+
/** The SVG path string the default renderer would have drawn (jumps included). */
|
|
36
|
+
pathData: string;
|
|
37
|
+
/** Resolved link styles (stroke, strokeWidth, className, …) for this state. */
|
|
38
|
+
styles: Record<string, unknown>;
|
|
39
|
+
theme: Theme;
|
|
40
|
+
/** Current level-of-detail tier, so a template can drop detail when zoomed out. */
|
|
41
|
+
lod: string;
|
|
42
|
+
/** True when the link is selected — templates usually want to react to this. */
|
|
43
|
+
selected: boolean;
|
|
44
|
+
}
|
|
45
|
+
/** What a LABEL template is given. */
|
|
46
|
+
export interface LabelTemplateContext {
|
|
47
|
+
label: LinkLabel;
|
|
48
|
+
link: LinkModel;
|
|
49
|
+
/** World-space anchor the label resolved to (position/slot + offset + optimizer). */
|
|
50
|
+
anchor: Point;
|
|
51
|
+
/** Rotation in degrees the default renderer would have applied, if any. */
|
|
52
|
+
rotation?: number;
|
|
53
|
+
theme: Theme;
|
|
54
|
+
}
|
|
55
|
+
/** What a custom MARKER is given. */
|
|
56
|
+
export interface MarkerContext {
|
|
57
|
+
style: ArrowStyle;
|
|
58
|
+
/** Normalised size (never negative). */
|
|
59
|
+
size: number;
|
|
60
|
+
/** Resolved colour (the marker's own, else the link's stroke). */
|
|
61
|
+
color: string;
|
|
62
|
+
/** Stroke width for outlined markers. */
|
|
63
|
+
width: number;
|
|
64
|
+
/**
|
|
65
|
+
* The SVG transform placing the marker: `translate(x, y) rotate(deg)`. The
|
|
66
|
+
* marker draws in its LOCAL frame — origin at the anchor, +x along the
|
|
67
|
+
* direction of travel — and MUST put this on its root element.
|
|
68
|
+
*/
|
|
69
|
+
transform: string;
|
|
70
|
+
/** Theme background — the fill for hollow markers, so they don't glare on dark. */
|
|
71
|
+
backgroundColor: string;
|
|
72
|
+
/** Which end this marker sits on. */
|
|
73
|
+
end: 'source' | 'target';
|
|
74
|
+
}
|
|
75
|
+
export type LinkTemplate = (ctx: LinkTemplateContext) => VNode | VNode[] | null;
|
|
76
|
+
export type LabelTemplate = (ctx: LabelTemplateContext) => VNode | VNode[] | null;
|
|
77
|
+
export interface MarkerDefinition {
|
|
78
|
+
render: (ctx: MarkerContext) => VNode | null;
|
|
79
|
+
/**
|
|
80
|
+
* Distance from the marker's local origin to its visual TIP along +x. The
|
|
81
|
+
* renderer pulls the marker back from the path endpoint by exactly this, so
|
|
82
|
+
* the tip lands ON the port. A triangle drawn from 0 to `size` has tipOffset
|
|
83
|
+
* `size`; a dot centred on the origin has `size / 2`; a bar has 0.
|
|
84
|
+
*
|
|
85
|
+
* Either a constant or a function of the style (so it can scale with `size`).
|
|
86
|
+
*/
|
|
87
|
+
tipOffset?: number | ((style: ArrowStyle) => number);
|
|
88
|
+
}
|
|
89
|
+
export declare function registerLinkTemplate(name: string, template: LinkTemplate): void;
|
|
90
|
+
export declare function getLinkTemplate(name: string): LinkTemplate | undefined;
|
|
91
|
+
export declare function registerLabelTemplate(name: string, template: LabelTemplate): void;
|
|
92
|
+
export declare function getLabelTemplate(name: string): LabelTemplate | undefined;
|
|
93
|
+
export declare function registerMarker(name: string, definition: MarkerDefinition): void;
|
|
94
|
+
export declare function getMarker(name: string): MarkerDefinition | undefined;
|
|
95
|
+
export declare function hasMarker(name: string): boolean;
|
|
96
|
+
/** Resolve a registered marker's tip offset for a concrete style. */
|
|
97
|
+
export declare function markerTipOffset(definition: MarkerDefinition, style: ArrowStyle): number;
|
|
98
|
+
export declare function listLinkTemplates(): string[];
|
|
99
|
+
export declare function listLabelTemplates(): string[];
|
|
100
|
+
export declare function listMarkers(): string[];
|
|
101
|
+
/** Remove one link template. Returns false when it was not registered. */
|
|
102
|
+
export declare function unregisterLinkTemplate(name: string): boolean;
|
|
103
|
+
/** Remove one label template. Returns false when it was not registered. */
|
|
104
|
+
export declare function unregisterLabelTemplate(name: string): boolean;
|
|
105
|
+
/** Remove one marker. Returns false when it was not registered. */
|
|
106
|
+
export declare function unregisterMarker(name: string): boolean;
|
|
107
|
+
/** Drop every registration (tests, hosts tearing a document down). */
|
|
108
|
+
export declare function clearEdgeTemplates(): void;
|
|
109
|
+
/**
|
|
110
|
+
* Internal: let a PER-DIAGRAM registry participate in the version/notify
|
|
111
|
+
* protocol. A scoped registration must invalidate cached VNodes for exactly the
|
|
112
|
+
* reason a global one must — the definition is baked into the cache. Notifying
|
|
113
|
+
* every renderer (not just the contributing one) is deliberate: over-invalidation
|
|
114
|
+
* costs a repaint, under-invalidation shows a stale picture.
|
|
115
|
+
*/
|
|
116
|
+
export declare function notifyEdgeTemplatesChanged(): void;
|
|
117
|
+
/** Bumped on every mutation — renderers key cache invalidation off this. */
|
|
118
|
+
export declare function getEdgeTemplateVersion(): number;
|
|
119
|
+
/**
|
|
120
|
+
* Subscribe to registry changes. Renderers use this to drop cached link VNodes
|
|
121
|
+
* when a template is (re)defined — the template's OUTPUT is baked into the
|
|
122
|
+
* cached VNode, so a redefinition that did not invalidate would never show up.
|
|
123
|
+
*/
|
|
124
|
+
export declare function onEdgeTemplateChange(listener: () => void): () => void;
|
|
125
|
+
export interface HtmlLabelOptions {
|
|
126
|
+
/** Stable id: becomes part of the VNode key. */
|
|
127
|
+
id: string;
|
|
128
|
+
/** Raw HTML. Injected verbatim via `innerHTML` — the author owns its safety. */
|
|
129
|
+
html: string;
|
|
130
|
+
/** Centre of the label box in world coordinates. */
|
|
131
|
+
anchor: Point;
|
|
132
|
+
width: number;
|
|
133
|
+
height: number;
|
|
134
|
+
/** Extra class on the XHTML wrapper div. */
|
|
135
|
+
className?: string;
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* A `foreignObject` VNode carrying arbitrary HTML, positioned so `anchor` is its
|
|
139
|
+
* CENTRE (labels are centred on the path, unlike nodes which are top-left).
|
|
140
|
+
*
|
|
141
|
+
* THE KEY CARRIES A CONTENT HASH, and that is load-bearing. The VNode patcher
|
|
142
|
+
* treats `foreignObject` subtrees as OPAQUE: it patches their props but NEVER
|
|
143
|
+
* diffs into their children, so that whatever a framework mounted inside stays
|
|
144
|
+
* alive. That is exactly right for host-mounted content — and exactly wrong for
|
|
145
|
+
* content we own, because an edited label would keep rendering its old HTML
|
|
146
|
+
* forever. Folding the content into the key means changed HTML is a DIFFERENT
|
|
147
|
+
* VNode identity, which the patcher replaces wholesale. Unchanged HTML keeps the
|
|
148
|
+
* same key and the same live DOM.
|
|
149
|
+
*/
|
|
150
|
+
export declare function htmlLabelVNode(options: HtmlLabelOptions): VNode;
|
|
151
|
+
/** FNV-1a — small, fast, stable across runs. Only used to key VNodes. */
|
|
152
|
+
export declare function hashString(value: string): string;
|
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* edge-templates.ts — Wave 4 (Edges & links), Card 5
|
|
4
|
+
*
|
|
5
|
+
* The extensibility seam for edges: LINK templates, LABEL templates and custom
|
|
6
|
+
* MARKERS. Before this, `LabelRenderer` could only emit SVG `<text>` and
|
|
7
|
+
* `ArrowStyle.type` was a closed enum — an author who wanted an HTML badge on an
|
|
8
|
+
* edge, a bespoke link body, or a half-arrowhead had to fork the renderer.
|
|
9
|
+
*
|
|
10
|
+
* Three registries, one shape (same as the named-style registry in
|
|
11
|
+
* ../themes/style-registry.ts, deliberately):
|
|
12
|
+
*
|
|
13
|
+
* registerLinkTemplate('audit-trail', ctx => …) // link.style.template
|
|
14
|
+
* registerLabelTemplate('badge', ctx => …) // label.template
|
|
15
|
+
* registerMarker('feather', { render, tipOffset }) // arrowHead.type
|
|
16
|
+
*
|
|
17
|
+
* WHY NAMES AND NOT FUNCTIONS ON THE MODEL: LinkStyle / LinkLabel are
|
|
18
|
+
* serializable model state that lives in @grafloria/engine, and the engine must not
|
|
19
|
+
* depend on the renderer's VNode type. A name survives save/load; a closure does
|
|
20
|
+
* not. It also means a template can be redefined at runtime and every link using
|
|
21
|
+
* it repaints — which is why renderers subscribe to `onEdgeTemplateChange` and
|
|
22
|
+
* drop their VNode cache, exactly like they do for named styles.
|
|
23
|
+
*
|
|
24
|
+
* Framework-agnostic: VNodes only. A template that wants real HTML returns a
|
|
25
|
+
* `foreignObject` VNode (see `htmlLabelVNode`); the patcher materialises its
|
|
26
|
+
* children in the XHTML namespace and then treats the subtree as opaque.
|
|
27
|
+
*/
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
exports.registerLinkTemplate = registerLinkTemplate;
|
|
30
|
+
exports.getLinkTemplate = getLinkTemplate;
|
|
31
|
+
exports.registerLabelTemplate = registerLabelTemplate;
|
|
32
|
+
exports.getLabelTemplate = getLabelTemplate;
|
|
33
|
+
exports.registerMarker = registerMarker;
|
|
34
|
+
exports.getMarker = getMarker;
|
|
35
|
+
exports.hasMarker = hasMarker;
|
|
36
|
+
exports.markerTipOffset = markerTipOffset;
|
|
37
|
+
exports.listLinkTemplates = listLinkTemplates;
|
|
38
|
+
exports.listLabelTemplates = listLabelTemplates;
|
|
39
|
+
exports.listMarkers = listMarkers;
|
|
40
|
+
exports.unregisterLinkTemplate = unregisterLinkTemplate;
|
|
41
|
+
exports.unregisterLabelTemplate = unregisterLabelTemplate;
|
|
42
|
+
exports.unregisterMarker = unregisterMarker;
|
|
43
|
+
exports.clearEdgeTemplates = clearEdgeTemplates;
|
|
44
|
+
exports.notifyEdgeTemplatesChanged = notifyEdgeTemplatesChanged;
|
|
45
|
+
exports.getEdgeTemplateVersion = getEdgeTemplateVersion;
|
|
46
|
+
exports.onEdgeTemplateChange = onEdgeTemplateChange;
|
|
47
|
+
exports.htmlLabelVNode = htmlLabelVNode;
|
|
48
|
+
exports.hashString = hashString;
|
|
49
|
+
const patch_1 = require("../vnode/patch");
|
|
50
|
+
const registry_scope_1 = require("../ext/registry-scope");
|
|
51
|
+
// ===========================================================================
|
|
52
|
+
// Registries
|
|
53
|
+
// ===========================================================================
|
|
54
|
+
const linkTemplates = new Map();
|
|
55
|
+
const labelTemplates = new Map();
|
|
56
|
+
const markers = new Map();
|
|
57
|
+
const listeners = new Set();
|
|
58
|
+
let version = 0;
|
|
59
|
+
function bump() {
|
|
60
|
+
version++;
|
|
61
|
+
listeners.forEach(listener => listener());
|
|
62
|
+
}
|
|
63
|
+
function registerLinkTemplate(name, template) {
|
|
64
|
+
linkTemplates.set(name, template);
|
|
65
|
+
bump();
|
|
66
|
+
}
|
|
67
|
+
function getLinkTemplate(name) {
|
|
68
|
+
var _a, _b;
|
|
69
|
+
// DIAGRAM-FIRST, then process-global — see `ext/registry-scope.ts`.
|
|
70
|
+
return (_b = (_a = (0, registry_scope_1.scopedTable)(registry_scope_1.LINK_TEMPLATES)) === null || _a === void 0 ? void 0 : _a.get(name)) !== null && _b !== void 0 ? _b : linkTemplates.get(name);
|
|
71
|
+
}
|
|
72
|
+
function registerLabelTemplate(name, template) {
|
|
73
|
+
labelTemplates.set(name, template);
|
|
74
|
+
bump();
|
|
75
|
+
}
|
|
76
|
+
function getLabelTemplate(name) {
|
|
77
|
+
var _a, _b;
|
|
78
|
+
return (_b = (_a = (0, registry_scope_1.scopedTable)(registry_scope_1.LABEL_TEMPLATES)) === null || _a === void 0 ? void 0 : _a.get(name)) !== null && _b !== void 0 ? _b : labelTemplates.get(name);
|
|
79
|
+
}
|
|
80
|
+
function registerMarker(name, definition) {
|
|
81
|
+
markers.set(name, definition);
|
|
82
|
+
bump();
|
|
83
|
+
}
|
|
84
|
+
function getMarker(name) {
|
|
85
|
+
var _a, _b;
|
|
86
|
+
return (_b = (_a = (0, registry_scope_1.scopedTable)(registry_scope_1.MARKERS)) === null || _a === void 0 ? void 0 : _a.get(name)) !== null && _b !== void 0 ? _b : markers.get(name);
|
|
87
|
+
}
|
|
88
|
+
function hasMarker(name) {
|
|
89
|
+
var _a;
|
|
90
|
+
return ((_a = (0, registry_scope_1.scopedTable)(registry_scope_1.MARKERS)) === null || _a === void 0 ? void 0 : _a.has(name)) === true || markers.has(name);
|
|
91
|
+
}
|
|
92
|
+
/** Resolve a registered marker's tip offset for a concrete style. */
|
|
93
|
+
function markerTipOffset(definition, style) {
|
|
94
|
+
const tip = definition.tipOffset;
|
|
95
|
+
if (typeof tip === 'function')
|
|
96
|
+
return tip(style);
|
|
97
|
+
return typeof tip === 'number' ? tip : 0;
|
|
98
|
+
}
|
|
99
|
+
function listLinkTemplates() {
|
|
100
|
+
return union(linkTemplates, (0, registry_scope_1.scopedTable)(registry_scope_1.LINK_TEMPLATES));
|
|
101
|
+
}
|
|
102
|
+
function listLabelTemplates() {
|
|
103
|
+
return union(labelTemplates, (0, registry_scope_1.scopedTable)(registry_scope_1.LABEL_TEMPLATES));
|
|
104
|
+
}
|
|
105
|
+
function listMarkers() {
|
|
106
|
+
return union(markers, (0, registry_scope_1.scopedTable)(registry_scope_1.MARKERS));
|
|
107
|
+
}
|
|
108
|
+
/** Global names plus this diagram's own, global order first, no duplicates. */
|
|
109
|
+
function union(global, scoped) {
|
|
110
|
+
if (!scoped || scoped.size === 0)
|
|
111
|
+
return Array.from(global.keys());
|
|
112
|
+
return [...new Set([...global.keys(), ...scoped.keys()])];
|
|
113
|
+
}
|
|
114
|
+
// ---------------------------------------------------------------------------
|
|
115
|
+
// Wave 6 — Card 0: per-name removal.
|
|
116
|
+
//
|
|
117
|
+
// `clearEdgeTemplates()` was all-or-nothing, which is useless as an extension
|
|
118
|
+
// disposer: tearing down ONE extension would have wiped every OTHER extension's
|
|
119
|
+
// templates too. These remove exactly one registration, which is what the
|
|
120
|
+
// ExtensionHost's `links.registerTemplate()` disposer needs.
|
|
121
|
+
// ---------------------------------------------------------------------------
|
|
122
|
+
/** Remove one link template. Returns false when it was not registered. */
|
|
123
|
+
function unregisterLinkTemplate(name) {
|
|
124
|
+
const existed = linkTemplates.delete(name);
|
|
125
|
+
if (existed)
|
|
126
|
+
bump();
|
|
127
|
+
return existed;
|
|
128
|
+
}
|
|
129
|
+
/** Remove one label template. Returns false when it was not registered. */
|
|
130
|
+
function unregisterLabelTemplate(name) {
|
|
131
|
+
const existed = labelTemplates.delete(name);
|
|
132
|
+
if (existed)
|
|
133
|
+
bump();
|
|
134
|
+
return existed;
|
|
135
|
+
}
|
|
136
|
+
/** Remove one marker. Returns false when it was not registered. */
|
|
137
|
+
function unregisterMarker(name) {
|
|
138
|
+
const existed = markers.delete(name);
|
|
139
|
+
if (existed)
|
|
140
|
+
bump();
|
|
141
|
+
return existed;
|
|
142
|
+
}
|
|
143
|
+
/** Drop every registration (tests, hosts tearing a document down). */
|
|
144
|
+
function clearEdgeTemplates() {
|
|
145
|
+
if (linkTemplates.size === 0 && labelTemplates.size === 0 && markers.size === 0)
|
|
146
|
+
return;
|
|
147
|
+
linkTemplates.clear();
|
|
148
|
+
labelTemplates.clear();
|
|
149
|
+
markers.clear();
|
|
150
|
+
bump();
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Internal: let a PER-DIAGRAM registry participate in the version/notify
|
|
154
|
+
* protocol. A scoped registration must invalidate cached VNodes for exactly the
|
|
155
|
+
* reason a global one must — the definition is baked into the cache. Notifying
|
|
156
|
+
* every renderer (not just the contributing one) is deliberate: over-invalidation
|
|
157
|
+
* costs a repaint, under-invalidation shows a stale picture.
|
|
158
|
+
*/
|
|
159
|
+
function notifyEdgeTemplatesChanged() {
|
|
160
|
+
bump();
|
|
161
|
+
}
|
|
162
|
+
/** Bumped on every mutation — renderers key cache invalidation off this. */
|
|
163
|
+
function getEdgeTemplateVersion() {
|
|
164
|
+
return version;
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Subscribe to registry changes. Renderers use this to drop cached link VNodes
|
|
168
|
+
* when a template is (re)defined — the template's OUTPUT is baked into the
|
|
169
|
+
* cached VNode, so a redefinition that did not invalidate would never show up.
|
|
170
|
+
*/
|
|
171
|
+
function onEdgeTemplateChange(listener) {
|
|
172
|
+
listeners.add(listener);
|
|
173
|
+
return () => listeners.delete(listener);
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* A `foreignObject` VNode carrying arbitrary HTML, positioned so `anchor` is its
|
|
177
|
+
* CENTRE (labels are centred on the path, unlike nodes which are top-left).
|
|
178
|
+
*
|
|
179
|
+
* THE KEY CARRIES A CONTENT HASH, and that is load-bearing. The VNode patcher
|
|
180
|
+
* treats `foreignObject` subtrees as OPAQUE: it patches their props but NEVER
|
|
181
|
+
* diffs into their children, so that whatever a framework mounted inside stays
|
|
182
|
+
* alive. That is exactly right for host-mounted content — and exactly wrong for
|
|
183
|
+
* content we own, because an edited label would keep rendering its old HTML
|
|
184
|
+
* forever. Folding the content into the key means changed HTML is a DIFFERENT
|
|
185
|
+
* VNode identity, which the patcher replaces wholesale. Unchanged HTML keeps the
|
|
186
|
+
* same key and the same live DOM.
|
|
187
|
+
*/
|
|
188
|
+
function htmlLabelVNode(options) {
|
|
189
|
+
const { id, html, anchor, width, height, className } = options;
|
|
190
|
+
return {
|
|
191
|
+
type: 'foreignObject',
|
|
192
|
+
key: `link-label-html-${id}-${hashString(html)}`,
|
|
193
|
+
props: {
|
|
194
|
+
x: anchor.x - width / 2,
|
|
195
|
+
y: anchor.y - height / 2,
|
|
196
|
+
width,
|
|
197
|
+
height,
|
|
198
|
+
className: 'link-label-foreign',
|
|
199
|
+
// foreignObject has no fill/stroke of its own; overflow must be visible or
|
|
200
|
+
// a label that outgrows its box is silently clipped.
|
|
201
|
+
style: { overflow: 'visible' },
|
|
202
|
+
},
|
|
203
|
+
children: [
|
|
204
|
+
{
|
|
205
|
+
type: 'div',
|
|
206
|
+
props: {
|
|
207
|
+
xmlns: patch_1.XHTML_NS,
|
|
208
|
+
className: className ? `link-label-html ${className}` : 'link-label-html',
|
|
209
|
+
innerHTML: html,
|
|
210
|
+
style: {
|
|
211
|
+
width: '100%',
|
|
212
|
+
height: '100%',
|
|
213
|
+
display: 'flex',
|
|
214
|
+
alignItems: 'center',
|
|
215
|
+
justifyContent: 'center',
|
|
216
|
+
pointerEvents: 'none',
|
|
217
|
+
},
|
|
218
|
+
},
|
|
219
|
+
children: [],
|
|
220
|
+
},
|
|
221
|
+
],
|
|
222
|
+
};
|
|
223
|
+
}
|
|
224
|
+
/** FNV-1a — small, fast, stable across runs. Only used to key VNodes. */
|
|
225
|
+
function hashString(value) {
|
|
226
|
+
let hash = 0x811c9dc5;
|
|
227
|
+
for (let i = 0; i < value.length; i++) {
|
|
228
|
+
hash ^= value.charCodeAt(i);
|
|
229
|
+
hash = Math.imul(hash, 0x01000193);
|
|
230
|
+
}
|
|
231
|
+
return (hash >>> 0).toString(36);
|
|
232
|
+
}
|
|
233
|
+
//# sourceMappingURL=edge-templates.js.map
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import type { NodeModel } from '@grafloria/engine';
|
|
2
|
+
import type { VNode } from '../types/vnode.types';
|
|
3
|
+
/** A single node in the structured, sanitized rich-content tree. */
|
|
4
|
+
export interface HtmlContentNode {
|
|
5
|
+
/** Element tag — validated against {@link ALLOWED_TAGS}. */
|
|
6
|
+
tag: string;
|
|
7
|
+
/** Text content, emitted via `textContent` (never innerHTML). */
|
|
8
|
+
text?: string;
|
|
9
|
+
/** Inline style (object form); values are sanitized. */
|
|
10
|
+
style?: Record<string, string | number>;
|
|
11
|
+
className?: string;
|
|
12
|
+
/** Extra attributes — filtered against {@link ALLOWED_ATTRS} + sanitized. */
|
|
13
|
+
attrs?: Record<string, string>;
|
|
14
|
+
children?: HtmlContentNode[];
|
|
15
|
+
}
|
|
16
|
+
/** The HTML-node body spec, stored at `node.metadata.html`. */
|
|
17
|
+
export interface HtmlNodeContent {
|
|
18
|
+
/** Plain-text body (safe: rendered through `textContent`). */
|
|
19
|
+
text?: string;
|
|
20
|
+
/** Structured, sanitized rich content. */
|
|
21
|
+
content?: HtmlContentNode;
|
|
22
|
+
/** Inline style for the root container (object form; values sanitized). */
|
|
23
|
+
style?: Record<string, string | number>;
|
|
24
|
+
className?: string;
|
|
25
|
+
/** Inner padding (px). Default 4. */
|
|
26
|
+
padding?: number;
|
|
27
|
+
/**
|
|
28
|
+
* Let the HTML capture pointer events (forms / links). Default false, so the
|
|
29
|
+
* shape background beneath receives clicks and the node stays draggable /
|
|
30
|
+
* selectable like any shape.
|
|
31
|
+
*/
|
|
32
|
+
interactive?: boolean;
|
|
33
|
+
}
|
|
34
|
+
/** Read a node's HTML body spec, or null when it has none. */
|
|
35
|
+
export declare function getHtmlContent(node: NodeModel): HtmlNodeContent | null;
|
|
36
|
+
/** True when the node renders an HTML body. */
|
|
37
|
+
export declare function hasHtmlContent(node: NodeModel): boolean;
|
|
38
|
+
/**
|
|
39
|
+
* Convert ONE sanitized content node to a VNode. Unknown tags collapse to a
|
|
40
|
+
* `<span>` (their text is kept, their dangerous identity is dropped). Returns
|
|
41
|
+
* null for a node that contributes nothing.
|
|
42
|
+
*/
|
|
43
|
+
export declare function sanitizeHtmlContent(spec: HtmlContentNode): VNode | null;
|
|
44
|
+
/**
|
|
45
|
+
* Build the `<foreignObject>` body VNode for an HTML node, sized to the node.
|
|
46
|
+
* Returns null when the node has no HTML content. The wrapper div is
|
|
47
|
+
* `pointer-events: none` unless the content opts into interactivity, so the
|
|
48
|
+
* shape background beneath keeps receiving selection / drag hits.
|
|
49
|
+
*/
|
|
50
|
+
export declare function buildHtmlForeignObject(node: NodeModel, width: number, height: number): VNode | null;
|
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// HTML / foreignObject rich-content nodes (Wave 5 / Nodes & shapes — Card 4)
|
|
3
|
+
//
|
|
4
|
+
// A node whose BODY is arbitrary HTML, sized to `node.size` and living inside a
|
|
5
|
+
// `<foreignObject>`. Because it renders as an ordinary child of the node's
|
|
6
|
+
// translated+rotated `<g>` (on top of the shape background the registry drew), it
|
|
7
|
+
// participates in selection, hit-testing and rotation exactly like any shape —
|
|
8
|
+
// no separate code path.
|
|
9
|
+
//
|
|
10
|
+
// TWO hard-won invariants are honored here:
|
|
11
|
+
//
|
|
12
|
+
// 1. OPAQUE foreignObject (patch.ts). The VNode patcher patches a
|
|
13
|
+
// foreignObject's PROPS but never diffs its children, so live HTML survives
|
|
14
|
+
// across frames. We therefore KEY the foreignObject by a hash of its
|
|
15
|
+
// content: a data change flips the key → the patcher replaces the whole
|
|
16
|
+
// subtree (fresh content); a hover / selection change keeps the key → the
|
|
17
|
+
// subtree is left untouched.
|
|
18
|
+
//
|
|
19
|
+
// 2. "Diagram data is user input." NOTHING here uses `innerHTML`. Rich content
|
|
20
|
+
// is a STRUCTURED, allow-listed tree (`HtmlContentNode`) converted to VNodes
|
|
21
|
+
// whose text is emitted via `textContent`; tags, attributes and style
|
|
22
|
+
// declarations are filtered against allow-lists, and image/link URLs pass
|
|
23
|
+
// through `sanitizeAssetUrl`. This is the same rule the earlier
|
|
24
|
+
// foreignObject XSS fix established — it is not reopened.
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.getHtmlContent = getHtmlContent;
|
|
27
|
+
exports.hasHtmlContent = hasHtmlContent;
|
|
28
|
+
exports.sanitizeHtmlContent = sanitizeHtmlContent;
|
|
29
|
+
exports.buildHtmlForeignObject = buildHtmlForeignObject;
|
|
30
|
+
const patch_1 = require("../vnode/patch");
|
|
31
|
+
const panel_1 = require("./panel");
|
|
32
|
+
/** Structural HTML tags a content node may use. Deliberately no script/iframe/
|
|
33
|
+
* object/embed/style/link/form-control-with-handlers. */
|
|
34
|
+
const ALLOWED_TAGS = new Set([
|
|
35
|
+
'div',
|
|
36
|
+
'span',
|
|
37
|
+
'p',
|
|
38
|
+
'h1',
|
|
39
|
+
'h2',
|
|
40
|
+
'h3',
|
|
41
|
+
'h4',
|
|
42
|
+
'h5',
|
|
43
|
+
'h6',
|
|
44
|
+
'ul',
|
|
45
|
+
'ol',
|
|
46
|
+
'li',
|
|
47
|
+
'table',
|
|
48
|
+
'thead',
|
|
49
|
+
'tbody',
|
|
50
|
+
'tr',
|
|
51
|
+
'td',
|
|
52
|
+
'th',
|
|
53
|
+
'b',
|
|
54
|
+
'i',
|
|
55
|
+
'strong',
|
|
56
|
+
'em',
|
|
57
|
+
'small',
|
|
58
|
+
'code',
|
|
59
|
+
'pre',
|
|
60
|
+
'br',
|
|
61
|
+
'hr',
|
|
62
|
+
'img',
|
|
63
|
+
]);
|
|
64
|
+
/** Attributes allowed to survive on a content node (per-tag URL sanitization
|
|
65
|
+
* applies on top of this for `src`). */
|
|
66
|
+
const ALLOWED_ATTRS = new Set(['title', 'alt', 'width', 'height', 'colspan', 'rowspan']);
|
|
67
|
+
/** Read a node's HTML body spec, or null when it has none. */
|
|
68
|
+
function getHtmlContent(node) {
|
|
69
|
+
const raw = node.getMetadata('html');
|
|
70
|
+
return raw && typeof raw === 'object' ? raw : null;
|
|
71
|
+
}
|
|
72
|
+
/** True when the node renders an HTML body. */
|
|
73
|
+
function hasHtmlContent(node) {
|
|
74
|
+
return getHtmlContent(node) !== null;
|
|
75
|
+
}
|
|
76
|
+
/** Drop `javascript:` / `expression(` and other executable style payloads. */
|
|
77
|
+
function sanitizeStyleValue(value) {
|
|
78
|
+
if (typeof value === 'number')
|
|
79
|
+
return value;
|
|
80
|
+
const lowered = value.toLowerCase();
|
|
81
|
+
if (lowered.includes('javascript:') ||
|
|
82
|
+
lowered.includes('expression(') ||
|
|
83
|
+
lowered.includes('vbscript:') ||
|
|
84
|
+
// url(...) can smuggle a script URL; drop any url() to be safe.
|
|
85
|
+
lowered.includes('url(')) {
|
|
86
|
+
return null;
|
|
87
|
+
}
|
|
88
|
+
return value;
|
|
89
|
+
}
|
|
90
|
+
function sanitizeStyle(style) {
|
|
91
|
+
if (!style)
|
|
92
|
+
return undefined;
|
|
93
|
+
const out = {};
|
|
94
|
+
for (const [k, v] of Object.entries(style)) {
|
|
95
|
+
// Block CSS custom properties / anything odd; allow simple property names.
|
|
96
|
+
if (!/^[a-zA-Z-]+$/.test(k))
|
|
97
|
+
continue;
|
|
98
|
+
const safe = sanitizeStyleValue(v);
|
|
99
|
+
if (safe !== null)
|
|
100
|
+
out[k] = safe;
|
|
101
|
+
}
|
|
102
|
+
return Object.keys(out).length > 0 ? out : undefined;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Convert ONE sanitized content node to a VNode. Unknown tags collapse to a
|
|
106
|
+
* `<span>` (their text is kept, their dangerous identity is dropped). Returns
|
|
107
|
+
* null for a node that contributes nothing.
|
|
108
|
+
*/
|
|
109
|
+
function sanitizeHtmlContent(spec) {
|
|
110
|
+
if (!spec || typeof spec.tag !== 'string')
|
|
111
|
+
return null;
|
|
112
|
+
const tag = ALLOWED_TAGS.has(spec.tag) ? spec.tag : 'span';
|
|
113
|
+
const props = { xmlns: patch_1.XHTML_NS };
|
|
114
|
+
const style = sanitizeStyle(spec.style);
|
|
115
|
+
if (style)
|
|
116
|
+
props['style'] = style;
|
|
117
|
+
if (typeof spec.className === 'string')
|
|
118
|
+
props['className'] = spec.className;
|
|
119
|
+
if (spec.attrs) {
|
|
120
|
+
for (const [k, v] of Object.entries(spec.attrs)) {
|
|
121
|
+
if (typeof v !== 'string')
|
|
122
|
+
continue;
|
|
123
|
+
// Never accept event handlers or arbitrary attrs; `src` is URL-sanitized.
|
|
124
|
+
if (/^on/i.test(k))
|
|
125
|
+
continue;
|
|
126
|
+
if (k === 'src' && tag === 'img') {
|
|
127
|
+
const safe = (0, panel_1.sanitizeAssetUrl)(v);
|
|
128
|
+
if (safe)
|
|
129
|
+
props['src'] = safe;
|
|
130
|
+
}
|
|
131
|
+
else if (ALLOWED_ATTRS.has(k)) {
|
|
132
|
+
props[k] = v;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
const children = [];
|
|
137
|
+
if (spec.children) {
|
|
138
|
+
for (const child of spec.children) {
|
|
139
|
+
const built = sanitizeHtmlContent(child);
|
|
140
|
+
if (built)
|
|
141
|
+
children.push(built);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
const vnode = { type: tag, props };
|
|
145
|
+
// Text OWNS the element's content — never mixed with children (matches the
|
|
146
|
+
// patcher's textContent-owns-the-element rule).
|
|
147
|
+
if (typeof spec.text === 'string' && children.length === 0) {
|
|
148
|
+
props['textContent'] = spec.text;
|
|
149
|
+
}
|
|
150
|
+
else if (children.length > 0) {
|
|
151
|
+
vnode.children = children;
|
|
152
|
+
}
|
|
153
|
+
return vnode;
|
|
154
|
+
}
|
|
155
|
+
/** Cheap, stable djb2 hash of a value's JSON form — used to key the FO subtree. */
|
|
156
|
+
function hashContent(value) {
|
|
157
|
+
var _a;
|
|
158
|
+
const str = (_a = JSON.stringify(value)) !== null && _a !== void 0 ? _a : '';
|
|
159
|
+
let h = 5381;
|
|
160
|
+
for (let i = 0; i < str.length; i++)
|
|
161
|
+
h = ((h << 5) + h + str.charCodeAt(i)) | 0;
|
|
162
|
+
return (h >>> 0).toString(36);
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Build the `<foreignObject>` body VNode for an HTML node, sized to the node.
|
|
166
|
+
* Returns null when the node has no HTML content. The wrapper div is
|
|
167
|
+
* `pointer-events: none` unless the content opts into interactivity, so the
|
|
168
|
+
* shape background beneath keeps receiving selection / drag hits.
|
|
169
|
+
*/
|
|
170
|
+
function buildHtmlForeignObject(node, width, height) {
|
|
171
|
+
var _a, _b;
|
|
172
|
+
const html = getHtmlContent(node);
|
|
173
|
+
if (!html)
|
|
174
|
+
return null;
|
|
175
|
+
const pad = (_a = html.padding) !== null && _a !== void 0 ? _a : 4;
|
|
176
|
+
const wrapperStyle = Object.assign(Object.assign({ width: '100%', height: '100%', boxSizing: 'border-box', overflow: 'hidden', padding: `${pad}px` }, (html.interactive ? {} : { pointerEvents: 'none' })), ((_b = sanitizeStyle(html.style)) !== null && _b !== void 0 ? _b : {}));
|
|
177
|
+
const inner = [];
|
|
178
|
+
if (html.content) {
|
|
179
|
+
const built = sanitizeHtmlContent(html.content);
|
|
180
|
+
if (built)
|
|
181
|
+
inner.push(built);
|
|
182
|
+
}
|
|
183
|
+
else if (typeof html.text === 'string') {
|
|
184
|
+
inner.push({
|
|
185
|
+
type: 'div',
|
|
186
|
+
props: { xmlns: patch_1.XHTML_NS, textContent: html.text },
|
|
187
|
+
});
|
|
188
|
+
}
|
|
189
|
+
const wrapper = {
|
|
190
|
+
type: 'div',
|
|
191
|
+
props: {
|
|
192
|
+
xmlns: patch_1.XHTML_NS,
|
|
193
|
+
className: html.className ? `grafloria-html-node ${html.className}` : 'grafloria-html-node',
|
|
194
|
+
style: wrapperStyle,
|
|
195
|
+
},
|
|
196
|
+
children: inner,
|
|
197
|
+
};
|
|
198
|
+
// Key by content hash so a DATA change replaces the opaque subtree while a
|
|
199
|
+
// hover / selection change (same content) leaves it untouched.
|
|
200
|
+
return {
|
|
201
|
+
type: 'foreignObject',
|
|
202
|
+
key: `html-${node.id}-${hashContent(html)}`,
|
|
203
|
+
props: {
|
|
204
|
+
x: 0,
|
|
205
|
+
y: 0,
|
|
206
|
+
width,
|
|
207
|
+
height,
|
|
208
|
+
// Guard: a rotated node rotates the whole <g>, which includes this FO.
|
|
209
|
+
className: 'grafloria-html-foreign',
|
|
210
|
+
},
|
|
211
|
+
children: [wrapper],
|
|
212
|
+
};
|
|
213
|
+
}
|
|
214
|
+
//# sourceMappingURL=html-node.js.map
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export * from './svg-renderer';
|
|
2
|
+
export * from './ArrowRenderer';
|
|
3
|
+
export * from './LabelRenderer';
|
|
4
|
+
export * from './JumpPointDetector';
|
|
5
|
+
export * from './JumpPointRenderer';
|
|
6
|
+
export * from './port-positioning';
|
|
7
|
+
export * from './port-layout';
|
|
8
|
+
export * from './port-glyph';
|
|
9
|
+
export * from './port-label';
|
|
10
|
+
export * from './port-spots';
|
|
11
|
+
export * from './link-hit-test';
|
|
12
|
+
export * from './shape-registry';
|
|
13
|
+
export { registerNotationShapes } from './notation-shapes';
|
|
14
|
+
export * from './path-outline';
|
|
15
|
+
export * from './node-sizing';
|
|
16
|
+
export * from './node-toolbar';
|
|
17
|
+
export * from './auto-size';
|
|
18
|
+
export * from './panel';
|
|
19
|
+
export * from './html-node';
|
|
20
|
+
export * from './text-block';
|
|
21
|
+
export * from './link-fanout';
|
|
22
|
+
export * from './edge-optimizer';
|
|
23
|
+
export * from './edge-templates';
|
|
24
|
+
export * from './route-memo';
|
|
25
|
+
export * from './route-solver-bridge';
|