@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,685 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* GridPackEngine — the dashboard-grid interaction engine (Phase 1 of the
|
|
4
|
+
* dashboard-grid plan; `documentation/api-architecture/dashboard-grid-plan.html`).
|
|
5
|
+
*
|
|
6
|
+
* A DOM-free, deterministic INTEGER-CELL engine implementing the gridstack
|
|
7
|
+
* interaction model, with semantics EMPIRICALLY RECORDED from the real
|
|
8
|
+
* gridstackjs.com demos (web1 + web2 driven with Playwright; gs-x/gs-y read at
|
|
9
|
+
* every stage), then hand-tested four rounds on the interactive prototype the
|
|
10
|
+
* plan page embeds. The recordings — not the gridstack source, which we found
|
|
11
|
+
* misleading on E4b — are this engine's contract:
|
|
12
|
+
*
|
|
13
|
+
* E1 resize grow→shrink in ONE gesture: pushed tiles RETURN when the space
|
|
14
|
+
* frees (emergent from re-settling after every step).
|
|
15
|
+
* E2 tiles below CLIMB into vacated space live during a drag; after the
|
|
16
|
+
* gesture ends there is NO memory (a later gesture re-resolves fresh).
|
|
17
|
+
* E3 same-size side-by-side tiles SWAP cleanly, no oscillation.
|
|
18
|
+
* E4b a move ONTO a locked tile is REFUSED outright — the placeholder never
|
|
19
|
+
* enters it. (The source reads as "skip below"; the live demo refuses.)
|
|
20
|
+
* E4c grow→shrink taller: full restore — same mechanism as E1.
|
|
21
|
+
*
|
|
22
|
+
* Plus three user-review rules the prototype rounds added:
|
|
23
|
+
* S1 a swap exchanges CELLS exactly — never "the probe cell" (that left a
|
|
24
|
+
* one-column overlap when the probe straddled the neighbour's edge).
|
|
25
|
+
* S2 displaced tiles remember their gesture-start cell and TELEPORT home
|
|
26
|
+
* when it frees — even from below a pinned row, which gravity alone can
|
|
27
|
+
* never climb back through. This is a deliberate improvement over
|
|
28
|
+
* gridstack itself. Memory clears at gesture end (E2).
|
|
29
|
+
* S3 gridstack's swap() has THREE shapes, not one: same size; same ROW +
|
|
30
|
+
* equal height (different widths — exchange horizontal order, union
|
|
31
|
+
* span preserved); same COLUMN + equal width. And the >50% anti-jitter
|
|
32
|
+
* gate must measure swap-eligible pairs against the SMALLER tile, or a
|
|
33
|
+
* 4-wide can never displace an 8-wide and swapping is one-directional.
|
|
34
|
+
*
|
|
35
|
+
* The engine mutates ONLY the {x,y,w,h} cells of the items it is given. Pixel
|
|
36
|
+
* mapping (row height, margins, the fit/grow sizing modes), placeholders,
|
|
37
|
+
* ghosts and commands belong to the binder built on top (Phase 2) — this
|
|
38
|
+
* class must stay pure enough to drive from a table-driven spec.
|
|
39
|
+
*/
|
|
40
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
41
|
+
exports.GridPackEngine = void 0;
|
|
42
|
+
class GridPackEngine {
|
|
43
|
+
/** Live column count. Change it only through {@link setColumns}. */
|
|
44
|
+
get columns() {
|
|
45
|
+
return this._columns;
|
|
46
|
+
}
|
|
47
|
+
constructor(items = [], options = {}) {
|
|
48
|
+
var _a, _b;
|
|
49
|
+
this.items = [];
|
|
50
|
+
/** Per-gesture displaced-tile memory (S2/E2). Item id → gesture-start cell. */
|
|
51
|
+
this.memory = new Map();
|
|
52
|
+
/** Gesture-start snapshot of EVERY item, for cancel/Escape restore. */
|
|
53
|
+
this.snapshot = null;
|
|
54
|
+
/**
|
|
55
|
+
* S4 — swap hysteresis. An accepted swap LOCKS the pair for the rest of the
|
|
56
|
+
* gesture: the same two tiles may swap again only on a DELIBERATE return —
|
|
57
|
+
* the mover's probe centre reaching the partner's centre. Without this, a
|
|
58
|
+
* slow sweep of a small tile across a big one ping-pongs: the row swap
|
|
59
|
+
* drops the mover at the row edge, far from the cursor, so the very next
|
|
60
|
+
* cell crossing still covers the partner and instantly swaps back (found
|
|
61
|
+
* by driving the REAL demo board with a real mouse — synthetic step sizes
|
|
62
|
+
* jumped past it). Same-size pairs land ON the probe cell, which is why
|
|
63
|
+
* the recorded E3 never showed the defect; the lock's inclusive-midpoint
|
|
64
|
+
* return keeps the S1 wiggle (swap, retreat, swap again) intact.
|
|
65
|
+
*/
|
|
66
|
+
this.swapLock = null;
|
|
67
|
+
/**
|
|
68
|
+
* THE PER-COLUMN LAYOUT CACHE (gridstack's `_layouts`). Column count → the
|
|
69
|
+
* layout the board had at that count. Written on the way OUT of a column
|
|
70
|
+
* count, read on the way BACK IN, so 12 → 1 → 12 round-trips losslessly
|
|
71
|
+
* instead of re-deriving a squashed 12 from the phone stack.
|
|
72
|
+
*/
|
|
73
|
+
this.layouts = new Map();
|
|
74
|
+
/**
|
|
75
|
+
* What the last column change ASSIGNED each item. It is the only way to
|
|
76
|
+
* tell a user edit made at the narrow count from a value the column change
|
|
77
|
+
* itself derived — an edit propagates into the wider cached layouts, a
|
|
78
|
+
* derived value must not (or every visit to 1 column would flatten the
|
|
79
|
+
* desktop layout to full-width tiles).
|
|
80
|
+
*/
|
|
81
|
+
this.assigned = new Map();
|
|
82
|
+
/** Re-entrancy guard: the column change's own writes never propagate. */
|
|
83
|
+
this.inColumnChange = false;
|
|
84
|
+
this._columns = (_a = options.columns) !== null && _a !== void 0 ? _a : 12;
|
|
85
|
+
this.float = (_b = options.float) !== null && _b !== void 0 ? _b : false;
|
|
86
|
+
this.maxRows = options.maxRows;
|
|
87
|
+
for (const it of items)
|
|
88
|
+
this.add(it);
|
|
89
|
+
}
|
|
90
|
+
/** Bound check + wholesale rollback — the maxRows enforcement primitive. */
|
|
91
|
+
cellsSnapshot() {
|
|
92
|
+
return new Map(this.items.map((i) => [i.id, { x: i.x, y: i.y, w: i.w, h: i.h }]));
|
|
93
|
+
}
|
|
94
|
+
restoreCells(snap) {
|
|
95
|
+
for (const it of this.items) {
|
|
96
|
+
const s = snap.get(it.id);
|
|
97
|
+
if (s) {
|
|
98
|
+
it.x = s.x;
|
|
99
|
+
it.y = s.y;
|
|
100
|
+
it.w = s.w;
|
|
101
|
+
it.h = s.h;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Accept the op that just mutated the board — unless the settled result
|
|
107
|
+
* exceeds `maxRows`, in which case the whole op rolls back and is refused.
|
|
108
|
+
* (Trial-run-then-commit, the same shape gridstack uses for maxRow grids.)
|
|
109
|
+
*/
|
|
110
|
+
acceptWithinBound(pre) {
|
|
111
|
+
if (this.maxRows !== undefined && this.rows() > this.maxRows) {
|
|
112
|
+
this.restoreCells(pre);
|
|
113
|
+
return { changed: false };
|
|
114
|
+
}
|
|
115
|
+
this.propagateToCaches();
|
|
116
|
+
return { changed: true };
|
|
117
|
+
}
|
|
118
|
+
// -- introspection ---------------------------------------------------------
|
|
119
|
+
getItems() {
|
|
120
|
+
return this.items;
|
|
121
|
+
}
|
|
122
|
+
getItem(id) {
|
|
123
|
+
return this.items.find((i) => i.id === id);
|
|
124
|
+
}
|
|
125
|
+
/** Content height in rows: max(y+h) over all items (0 when empty). */
|
|
126
|
+
rows() {
|
|
127
|
+
return this.items.reduce((m, i) => Math.max(m, i.y + i.h), 0);
|
|
128
|
+
}
|
|
129
|
+
/** True when any two items overlap — the invariant every op must preserve. */
|
|
130
|
+
hasOverlaps() {
|
|
131
|
+
for (let i = 0; i < this.items.length; i++) {
|
|
132
|
+
for (let j = i + 1; j < this.items.length; j++) {
|
|
133
|
+
if (GridPackEngine.hit(this.items[i], this.items[j]))
|
|
134
|
+
return true;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
return false;
|
|
138
|
+
}
|
|
139
|
+
// -- membership ------------------------------------------------------------
|
|
140
|
+
/**
|
|
141
|
+
* Add an item. An explicit legal position is honoured verbatim. When the
|
|
142
|
+
* position collides — or the item asks for `autoPosition` — the tile
|
|
143
|
+
* AUTO-POSITIONS: a row-major scan for the first
|
|
144
|
+
* hole it fits, which is gridstack's `autoPosition` and NOT the same thing
|
|
145
|
+
* as gravity (gravity climbs one column; a hole at (3,0) under an occupied
|
|
146
|
+
* column is only reachable by the scan — the spec's first red proved it).
|
|
147
|
+
*/
|
|
148
|
+
add(item) {
|
|
149
|
+
const it = Object.assign({}, item);
|
|
150
|
+
it.w = Math.max(1, Math.min(this._columns, it.w));
|
|
151
|
+
it.x = Math.max(0, Math.min(this._columns - it.w, it.x));
|
|
152
|
+
it.y = Math.max(0, it.y);
|
|
153
|
+
it.h = Math.max(1, it.h);
|
|
154
|
+
// A bounded board refuses an item that cannot fit at all.
|
|
155
|
+
if (this.maxRows !== undefined && it.h > this.maxRows)
|
|
156
|
+
return null;
|
|
157
|
+
const outOfBound = this.maxRows !== undefined && it.y + it.h > this.maxRows;
|
|
158
|
+
const auto = it.autoPosition === true || outOfBound || !!this.collide(it, it);
|
|
159
|
+
delete it.autoPosition;
|
|
160
|
+
if (auto) {
|
|
161
|
+
const yMax = this.maxRows !== undefined ? this.maxRows - it.h : Infinity;
|
|
162
|
+
let placed = false;
|
|
163
|
+
scan: for (let y = 0; y <= yMax; y++) {
|
|
164
|
+
for (let x = 0; x <= this._columns - it.w; x++) {
|
|
165
|
+
const probe = Object.assign(Object.assign({}, it), { x, y });
|
|
166
|
+
if (!this.collide(probe, it)) {
|
|
167
|
+
it.x = x;
|
|
168
|
+
it.y = y;
|
|
169
|
+
placed = true;
|
|
170
|
+
break scan;
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
if (this.maxRows === undefined && y > this.rows() + it.h + 1)
|
|
174
|
+
break; // safety net
|
|
175
|
+
}
|
|
176
|
+
if (!placed) {
|
|
177
|
+
// Unbounded boards always fit at the bottom; bounded ones refuse.
|
|
178
|
+
if (this.maxRows !== undefined)
|
|
179
|
+
return null;
|
|
180
|
+
it.x = 0;
|
|
181
|
+
it.y = this.rows();
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
this.items.push(it);
|
|
185
|
+
this.settle(null);
|
|
186
|
+
this.propagateToCaches();
|
|
187
|
+
return it;
|
|
188
|
+
}
|
|
189
|
+
remove(id) {
|
|
190
|
+
const idx = this.items.findIndex((i) => i.id === id);
|
|
191
|
+
if (idx < 0)
|
|
192
|
+
return;
|
|
193
|
+
this.items.splice(idx, 1);
|
|
194
|
+
this.memory.delete(id);
|
|
195
|
+
this.settle(null);
|
|
196
|
+
this.propagateToCaches();
|
|
197
|
+
}
|
|
198
|
+
// -- gestures --------------------------------------------------------------
|
|
199
|
+
/**
|
|
200
|
+
* Begin a drag/resize gesture: fresh displaced-tile memory, and a full
|
|
201
|
+
* snapshot so `cancelGesture` (Escape) can restore every tile (gridstack
|
|
202
|
+
* `saveInitial` / `restoreInitial`).
|
|
203
|
+
*/
|
|
204
|
+
beginGesture() {
|
|
205
|
+
this.memory.clear();
|
|
206
|
+
this.swapLock = null;
|
|
207
|
+
this.snapshot = new Map(this.items.map((i) => [i.id, { x: i.x, y: i.y }]));
|
|
208
|
+
}
|
|
209
|
+
/** End a gesture: memory does NOT outlive it (E2, and the S4 swap lock). */
|
|
210
|
+
endGesture() {
|
|
211
|
+
this.memory.clear();
|
|
212
|
+
this.swapLock = null;
|
|
213
|
+
this.snapshot = null;
|
|
214
|
+
}
|
|
215
|
+
/** Escape: restore every tile to its gesture-start cell. */
|
|
216
|
+
cancelGesture() {
|
|
217
|
+
if (this.snapshot) {
|
|
218
|
+
for (const it of this.items) {
|
|
219
|
+
const s = this.snapshot.get(it.id);
|
|
220
|
+
if (s) {
|
|
221
|
+
it.x = s.x;
|
|
222
|
+
it.y = s.y;
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
this.endGesture();
|
|
227
|
+
}
|
|
228
|
+
// -- the core: move --------------------------------------------------------
|
|
229
|
+
/**
|
|
230
|
+
* Try to put `id` at cell (x,y). Applies the full pipeline on acceptance:
|
|
231
|
+
* swap (three shapes) | push-down (+skip below locked) → settle (teleport
|
|
232
|
+
* memory + gravity). Refuses: out-of-gesture no-ops, cells intersecting a
|
|
233
|
+
* locked tile (E4b), and collisions under the anti-jitter coverage gate.
|
|
234
|
+
* `{ gate: false }` (see {@link MoveCheckOptions}) is first-placement mode:
|
|
235
|
+
* gate and swaps are skipped, push-down still applies, E4b still refuses.
|
|
236
|
+
*/
|
|
237
|
+
moveCheck(id, x, y, options = {}) {
|
|
238
|
+
const n = this.getItem(id);
|
|
239
|
+
if (!n || n.locked)
|
|
240
|
+
return { changed: false };
|
|
241
|
+
x = Math.max(0, Math.min(this._columns - n.w, Math.round(x)));
|
|
242
|
+
y = Math.max(0, Math.round(y));
|
|
243
|
+
if (n.x === x && n.y === y)
|
|
244
|
+
return { changed: false };
|
|
245
|
+
const probe = Object.assign(Object.assign({}, n), { x, y });
|
|
246
|
+
if (this.collideLocked(probe, n))
|
|
247
|
+
return { changed: false }; // E4b: refuse
|
|
248
|
+
// maxRows: trial-run the whole op, roll back if the settled result spills.
|
|
249
|
+
const pre = this.cellsSnapshot();
|
|
250
|
+
const c = options.gate === false ? undefined : this.collide(probe, n);
|
|
251
|
+
if (c) {
|
|
252
|
+
// S3 — the three swap shapes.
|
|
253
|
+
const sameSize = !this.float && c.w === n.w && c.h === n.h;
|
|
254
|
+
const rowSwap = !this.float && !sameSize && c.h === n.h && c.y === n.y;
|
|
255
|
+
const colSwap = !this.float && !sameSize && c.w === n.w && c.x === n.x;
|
|
256
|
+
// Anti-jitter gate — gridstack's `directionCollideCoverage`: per axis,
|
|
257
|
+
// and ONLY along the side you approached from, how deep the mover has
|
|
258
|
+
// penetrated the STATIC tile as a fraction of that tile's extent; the
|
|
259
|
+
// tighter axis wins and must exceed 50%.
|
|
260
|
+
//
|
|
261
|
+
// This replaced an OVERLAP-AREA gate that was a mis-port: a 3x1 tile
|
|
262
|
+
// covers at most 3/16 of an 8x2 tile's area, so a small widget could
|
|
263
|
+
// never displace a big one however far you dragged it (live report:
|
|
264
|
+
// "Total Revenue can't be switched with Revenue vs Target"). Area also
|
|
265
|
+
// needed a min-area special case to let swaps fire in both directions;
|
|
266
|
+
// penetration is naturally symmetric and needs none.
|
|
267
|
+
if (GridPackEngine.penetration(n, probe, c) <= 0.5)
|
|
268
|
+
return { changed: false };
|
|
269
|
+
// S4: a just-swapped pair re-swaps only on a deliberate return.
|
|
270
|
+
if ((sameSize || rowSwap || colSwap) &&
|
|
271
|
+
this.swapLock &&
|
|
272
|
+
((this.swapLock.a === n.id && this.swapLock.b === c.id) ||
|
|
273
|
+
(this.swapLock.a === c.id && this.swapLock.b === n.id)) &&
|
|
274
|
+
!GridPackEngine.deliberateReturn(probe, n, c)) {
|
|
275
|
+
return { changed: false };
|
|
276
|
+
}
|
|
277
|
+
if (sameSize || rowSwap || colSwap)
|
|
278
|
+
this.remember(c);
|
|
279
|
+
if (sameSize) {
|
|
280
|
+
// S1: exchange CELLS exactly, never the probe cell.
|
|
281
|
+
const ox = n.x;
|
|
282
|
+
const oy = n.y;
|
|
283
|
+
n.x = c.x;
|
|
284
|
+
n.y = c.y;
|
|
285
|
+
c.x = ox;
|
|
286
|
+
c.y = oy;
|
|
287
|
+
this.swapLock = { a: n.id, b: c.id };
|
|
288
|
+
this.settle(n);
|
|
289
|
+
return this.acceptWithinBound(pre);
|
|
290
|
+
}
|
|
291
|
+
if (rowSwap) {
|
|
292
|
+
// Exchange horizontal ORDER, union span preserved:
|
|
293
|
+
// left(0..8)+right(8..12) → right-at-0(0..4)+left-at-4(4..12).
|
|
294
|
+
const leftX = Math.min(n.x, c.x);
|
|
295
|
+
if (n.x < c.x) {
|
|
296
|
+
c.x = leftX;
|
|
297
|
+
n.x = leftX + c.w;
|
|
298
|
+
}
|
|
299
|
+
else {
|
|
300
|
+
n.x = leftX;
|
|
301
|
+
c.x = leftX + n.w;
|
|
302
|
+
}
|
|
303
|
+
n.y = c.y;
|
|
304
|
+
this.swapLock = { a: n.id, b: c.id };
|
|
305
|
+
this.settle(n);
|
|
306
|
+
return this.acceptWithinBound(pre);
|
|
307
|
+
}
|
|
308
|
+
if (colSwap) {
|
|
309
|
+
const topY = Math.min(n.y, c.y);
|
|
310
|
+
if (n.y < c.y) {
|
|
311
|
+
c.y = topY;
|
|
312
|
+
n.y = topY + c.h;
|
|
313
|
+
}
|
|
314
|
+
else {
|
|
315
|
+
n.y = topY;
|
|
316
|
+
c.y = topY + n.h;
|
|
317
|
+
}
|
|
318
|
+
n.x = c.x;
|
|
319
|
+
this.swapLock = { a: n.id, b: c.id };
|
|
320
|
+
this.settle(n);
|
|
321
|
+
return this.acceptWithinBound(pre);
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
n.x = x;
|
|
325
|
+
n.y = y;
|
|
326
|
+
this.pushDown(n);
|
|
327
|
+
this.settle(n);
|
|
328
|
+
return this.acceptWithinBound(pre);
|
|
329
|
+
}
|
|
330
|
+
// -- the core: resize ------------------------------------------------------
|
|
331
|
+
/**
|
|
332
|
+
* Resize `id` to w×h cells. Growth is CLAMPED so the tile never covers a
|
|
333
|
+
* locked tile (E4b applied to size); displaced neighbours push + settle,
|
|
334
|
+
* and return when the size shrinks back (E1/S2).
|
|
335
|
+
*/
|
|
336
|
+
resizeCheck(id, w, h) {
|
|
337
|
+
const n = this.getItem(id);
|
|
338
|
+
if (!n)
|
|
339
|
+
return { changed: false };
|
|
340
|
+
w = Math.max(1, Math.min(this._columns - n.x, Math.round(w)));
|
|
341
|
+
h = Math.max(1, Math.round(h));
|
|
342
|
+
// A bounded board clamps the tile's own height outright…
|
|
343
|
+
if (this.maxRows !== undefined)
|
|
344
|
+
h = Math.min(h, Math.max(1, this.maxRows - n.y));
|
|
345
|
+
while (w > n.w && this.collideLocked(Object.assign(Object.assign({}, n), { w }), n))
|
|
346
|
+
w--;
|
|
347
|
+
while (h > n.h && this.collideLocked(Object.assign(Object.assign({}, n), { h }), n))
|
|
348
|
+
h--;
|
|
349
|
+
if (w === n.w && h === n.h)
|
|
350
|
+
return { changed: false };
|
|
351
|
+
// …and rolls back wholesale when the PUSH spills a sibling past the bound.
|
|
352
|
+
const pre = this.cellsSnapshot();
|
|
353
|
+
n.w = w;
|
|
354
|
+
n.h = h;
|
|
355
|
+
this.pushDown(n);
|
|
356
|
+
this.settle(n);
|
|
357
|
+
return this.acceptWithinBound(pre);
|
|
358
|
+
}
|
|
359
|
+
// -- the core: responsive column count -------------------------------------
|
|
360
|
+
/**
|
|
361
|
+
* Change the board's COLUMN COUNT — gridstack's `column(n, layout)`, and the
|
|
362
|
+
* whole of responsive behaviour in one operation.
|
|
363
|
+
*
|
|
364
|
+
* Three things happen, in this order:
|
|
365
|
+
*
|
|
366
|
+
* 1. THE LAYOUT WE ARE LEAVING IS CACHED under its own column count. This
|
|
367
|
+
* is the load-bearing step: without it, 12 → 1 → 12 would have to
|
|
368
|
+
* re-derive twelve columns from a one-column stack and every tile would
|
|
369
|
+
* come back full width.
|
|
370
|
+
* 2. GROWING RESTORES FROM THE CACHE, per item. Items the cache knows come
|
|
371
|
+
* back at exactly the cells they had the last time the board was this
|
|
372
|
+
* wide; items it does not know (added while narrow) fall through to the
|
|
373
|
+
* scale rules below. Shrinking never restores — a narrower layout is
|
|
374
|
+
* always derived from where the board is NOW, which is what makes a
|
|
375
|
+
* gradual squeeze look natural.
|
|
376
|
+
* 3. THE REMAINDER IS SCALED by `layout` (see {@link GridColumnLayout}),
|
|
377
|
+
* `columns === 1` forcing a single stack, and everything is re-placed in
|
|
378
|
+
* reading order so the result cannot overlap.
|
|
379
|
+
*
|
|
380
|
+
* Returns true when the count actually changed.
|
|
381
|
+
*/
|
|
382
|
+
setColumns(next, layout = 'moveScale') {
|
|
383
|
+
const n = Math.max(1, Math.round(next));
|
|
384
|
+
const prev = this._columns;
|
|
385
|
+
if (n === prev)
|
|
386
|
+
return false;
|
|
387
|
+
this.inColumnChange = true;
|
|
388
|
+
try {
|
|
389
|
+
// 1. cache the layout we are leaving, keyed by the count it belongs to.
|
|
390
|
+
this.cacheLayout(prev);
|
|
391
|
+
// 2. growing back: restore per item from the cache for the NEW count.
|
|
392
|
+
const restored = new Set();
|
|
393
|
+
const cached = n > prev ? this.layouts.get(n) : undefined;
|
|
394
|
+
if (cached) {
|
|
395
|
+
for (const it of this.items) {
|
|
396
|
+
const c = cached.get(it.id);
|
|
397
|
+
if (!c)
|
|
398
|
+
continue;
|
|
399
|
+
it.x = c.x;
|
|
400
|
+
it.y = c.y;
|
|
401
|
+
it.w = c.w;
|
|
402
|
+
restored.add(it.id);
|
|
403
|
+
}
|
|
404
|
+
}
|
|
405
|
+
// 3. everything else follows the layout mode.
|
|
406
|
+
const ratio = n / prev;
|
|
407
|
+
const move = layout === 'move' || layout === 'moveScale';
|
|
408
|
+
const scale = layout === 'scale' || layout === 'moveScale';
|
|
409
|
+
// NOTE ON `columns === 1`: the phone layout (every tile x=0, w=1, one per
|
|
410
|
+
// row) needs no special case — the two clamps below already produce it in
|
|
411
|
+
// EVERY mode, since `min(1, w)` is 1 and `min(1 - 1, x)` is 0. An
|
|
412
|
+
// explicit `if (n === 1)` branch was written here first and no test could
|
|
413
|
+
// kill it (mutation-proved: deleting it changed nothing), so it is gone.
|
|
414
|
+
// The spec asserts the stack for all four modes instead.
|
|
415
|
+
for (const it of this.items) {
|
|
416
|
+
if (restored.has(it.id))
|
|
417
|
+
continue;
|
|
418
|
+
const w = scale ? Math.max(1, Math.round(it.w * ratio)) : it.w;
|
|
419
|
+
it.w = Math.max(1, Math.min(n, w));
|
|
420
|
+
const x = move ? Math.round(it.x * ratio) : it.x;
|
|
421
|
+
it.x = Math.max(0, Math.min(n - it.w, x));
|
|
422
|
+
}
|
|
423
|
+
this._columns = n;
|
|
424
|
+
this.rePlace();
|
|
425
|
+
// Remember what THIS change assigned, so a later edit at the new count
|
|
426
|
+
// is distinguishable from a value the change itself derived.
|
|
427
|
+
this.assigned = new Map(this.items.map((i) => [i.id, { x: i.x, y: i.y, w: i.w }]));
|
|
428
|
+
}
|
|
429
|
+
finally {
|
|
430
|
+
this.inColumnChange = false;
|
|
431
|
+
}
|
|
432
|
+
return true;
|
|
433
|
+
}
|
|
434
|
+
/**
|
|
435
|
+
* The layout to PERSIST — gridstack's `save()`, which serialises from the
|
|
436
|
+
* LARGEST cached column count rather than the live one. Saving while the
|
|
437
|
+
* board is narrow (a phone) therefore saves the DESKTOP layout: the cells a
|
|
438
|
+
* user authored at full width are the document, and the narrow arrangement
|
|
439
|
+
* is a projection of it.
|
|
440
|
+
*
|
|
441
|
+
* `h` is never cached because it does not depend on the column count, so it
|
|
442
|
+
* always comes from the live item; items the widest cache does not know
|
|
443
|
+
* (added while narrow) contribute their live cells, which are legal at any
|
|
444
|
+
* count at least as wide.
|
|
445
|
+
*/
|
|
446
|
+
saveLayout() {
|
|
447
|
+
let widest = this._columns;
|
|
448
|
+
for (const col of this.layouts.keys())
|
|
449
|
+
if (col > widest)
|
|
450
|
+
widest = col;
|
|
451
|
+
const cached = widest === this._columns ? undefined : this.layouts.get(widest);
|
|
452
|
+
return {
|
|
453
|
+
columns: widest,
|
|
454
|
+
items: this.items.map((it) => {
|
|
455
|
+
const c = cached === null || cached === void 0 ? void 0 : cached.get(it.id);
|
|
456
|
+
return c ? Object.assign(Object.assign({}, it), { x: c.x, y: c.y, w: c.w }) : Object.assign({}, it);
|
|
457
|
+
}),
|
|
458
|
+
};
|
|
459
|
+
}
|
|
460
|
+
/** The column counts the cache currently holds a layout for (ascending). */
|
|
461
|
+
cachedColumns() {
|
|
462
|
+
return [...this.layouts.keys()].sort((a, b) => a - b);
|
|
463
|
+
}
|
|
464
|
+
/** The cache as plain data — hand it to a rebuilt engine via {@link setLayouts}. */
|
|
465
|
+
getLayouts() {
|
|
466
|
+
const out = {};
|
|
467
|
+
for (const [col, entries] of this.layouts) {
|
|
468
|
+
const o = {};
|
|
469
|
+
for (const [id, c] of entries)
|
|
470
|
+
o[id] = Object.assign({}, c);
|
|
471
|
+
out[col] = o;
|
|
472
|
+
}
|
|
473
|
+
return out;
|
|
474
|
+
}
|
|
475
|
+
/**
|
|
476
|
+
* Adopt a cache exported by {@link getLayouts}. The kit calls this after
|
|
477
|
+
* rebuilding its engine from the model (`sync()`), which would otherwise
|
|
478
|
+
* throw the wider layouts away on every undo, add or refresh.
|
|
479
|
+
*/
|
|
480
|
+
setLayouts(cache) {
|
|
481
|
+
var _a;
|
|
482
|
+
this.layouts = new Map();
|
|
483
|
+
for (const key of Object.keys(cache)) {
|
|
484
|
+
const col = Number(key);
|
|
485
|
+
if (!Number.isFinite(col) || col < 1)
|
|
486
|
+
continue;
|
|
487
|
+
const entries = new Map();
|
|
488
|
+
for (const [id, c] of Object.entries((_a = cache[col]) !== null && _a !== void 0 ? _a : {}))
|
|
489
|
+
entries.set(id, Object.assign({}, c));
|
|
490
|
+
this.layouts.set(col, entries);
|
|
491
|
+
}
|
|
492
|
+
}
|
|
493
|
+
/** Snapshot every item's x/y/w under `columns`. */
|
|
494
|
+
cacheLayout(columns) {
|
|
495
|
+
const entries = new Map();
|
|
496
|
+
for (const it of this.items)
|
|
497
|
+
entries.set(it.id, { x: it.x, y: it.y, w: it.w });
|
|
498
|
+
this.layouts.set(columns, entries);
|
|
499
|
+
}
|
|
500
|
+
/**
|
|
501
|
+
* Push an edit made at the LIVE column count into every WIDER (and narrower)
|
|
502
|
+
* cached layout, proportionally — so a widget re-arranged on a phone is
|
|
503
|
+
* still re-arranged when the desktop layout comes back.
|
|
504
|
+
*
|
|
505
|
+
* - `y` always propagates verbatim: vertical order is column-independent,
|
|
506
|
+
* and reordering is exactly what a user does on a narrow board.
|
|
507
|
+
* - `x` and `w` propagate SCALED by cachedColumns/liveColumns, but only
|
|
508
|
+
* when they differ from what the last column change assigned. That test
|
|
509
|
+
* is what keeps a mere reorder at 1 column from rewriting every cached
|
|
510
|
+
* width to full width (x=0,w=1 scaled by 12 would be x=0,w=12).
|
|
511
|
+
*/
|
|
512
|
+
propagateToCaches() {
|
|
513
|
+
if (this.inColumnChange || this.layouts.size === 0)
|
|
514
|
+
return;
|
|
515
|
+
const cur = this._columns;
|
|
516
|
+
for (const [col, entries] of this.layouts) {
|
|
517
|
+
if (col === cur)
|
|
518
|
+
continue;
|
|
519
|
+
const ratio = col / cur;
|
|
520
|
+
for (const it of this.items) {
|
|
521
|
+
const e = entries.get(it.id);
|
|
522
|
+
if (!e)
|
|
523
|
+
continue;
|
|
524
|
+
const a = this.assigned.get(it.id);
|
|
525
|
+
e.y = it.y;
|
|
526
|
+
if (!a || a.w !== it.w)
|
|
527
|
+
e.w = Math.max(1, Math.min(col, Math.round(it.w * ratio)));
|
|
528
|
+
if (!a || a.x !== it.x)
|
|
529
|
+
e.x = Math.round(it.x * ratio);
|
|
530
|
+
e.x = Math.max(0, Math.min(col - e.w, e.x));
|
|
531
|
+
}
|
|
532
|
+
}
|
|
533
|
+
}
|
|
534
|
+
/**
|
|
535
|
+
* Re-place every item in READING ORDER after a column change: clamp it to
|
|
536
|
+
* the new width, then let `add()` resolve collisions exactly as it does for
|
|
537
|
+
* any other placement (row-major first-hole scan, then gravity).
|
|
538
|
+
*
|
|
539
|
+
* Reading order — not gridstack's reverse order — is what keeps the visible
|
|
540
|
+
* sequence intact: at 12 → 6 four 3-wide tiles on one row must become two
|
|
541
|
+
* rows of two IN ORDER, and placing bottom-right-first scrambles them.
|
|
542
|
+
*/
|
|
543
|
+
rePlace() {
|
|
544
|
+
const ordered = [...this.items].sort((a, b) => a.y - b.y || a.x - b.x);
|
|
545
|
+
this.items = [];
|
|
546
|
+
for (const it of ordered) {
|
|
547
|
+
if (this.add(it))
|
|
548
|
+
continue;
|
|
549
|
+
// A bounded board can refuse (maxRows). Never LOSE a tile to a column
|
|
550
|
+
// change: park it on a fresh row at the bottom instead.
|
|
551
|
+
this.items.push(Object.assign(Object.assign({}, it), { x: 0, y: this.rows() }));
|
|
552
|
+
}
|
|
553
|
+
}
|
|
554
|
+
// -- internals -------------------------------------------------------------
|
|
555
|
+
static hit(a, b) {
|
|
556
|
+
return a.x < b.x + b.w && b.x < a.x + a.w && a.y < b.y + b.h && b.y < a.y + a.h;
|
|
557
|
+
}
|
|
558
|
+
/**
|
|
559
|
+
* S4's return condition: on every axis where the pair's centres differ, the
|
|
560
|
+
* mover's PROBE centre must have reached (inclusive) the partner's centre
|
|
561
|
+
* from the mover's current side. Inclusive, so a same-size retreat onto the
|
|
562
|
+
* partner's exact cell (S1 wiggle) passes.
|
|
563
|
+
*/
|
|
564
|
+
static deliberateReturn(probe, n, c) {
|
|
565
|
+
const probeCx = probe.x + n.w / 2;
|
|
566
|
+
const probeCy = probe.y + n.h / 2;
|
|
567
|
+
const curCx = n.x + n.w / 2;
|
|
568
|
+
const curCy = n.y + n.h / 2;
|
|
569
|
+
const cCx = c.x + c.w / 2;
|
|
570
|
+
const cCy = c.y + c.h / 2;
|
|
571
|
+
if (curCx !== cCx && !(curCx < cCx ? probeCx >= cCx : probeCx <= cCx))
|
|
572
|
+
return false;
|
|
573
|
+
if (curCy !== cCy && !(curCy < cCy ? probeCy >= cCy : probeCy <= cCy))
|
|
574
|
+
return false;
|
|
575
|
+
return true;
|
|
576
|
+
}
|
|
577
|
+
/**
|
|
578
|
+
* Directional penetration of `probe` into the static tile `c`, given the
|
|
579
|
+
* mover's pre-step cell `from` (which encodes the direction of travel).
|
|
580
|
+
* Returns the tighter of the two axes; an axis the move does not approach
|
|
581
|
+
* from is unconstrained (Infinity) and never decides.
|
|
582
|
+
*/
|
|
583
|
+
static penetration(from, probe, c) {
|
|
584
|
+
let yOver = Infinity;
|
|
585
|
+
let xOver = Infinity;
|
|
586
|
+
if (from.y < c.y)
|
|
587
|
+
yOver = (probe.y + probe.h - c.y) / c.h; // entering from above
|
|
588
|
+
else if (from.y + from.h > c.y + c.h)
|
|
589
|
+
yOver = (c.y + c.h - probe.y) / c.h; // from below
|
|
590
|
+
if (from.x < c.x)
|
|
591
|
+
xOver = (probe.x + probe.w - c.x) / c.w; // from the left
|
|
592
|
+
else if (from.x + from.w > c.x + c.w)
|
|
593
|
+
xOver = (c.x + c.w - probe.x) / c.w; // from the right
|
|
594
|
+
return Math.min(xOver, yOver);
|
|
595
|
+
}
|
|
596
|
+
static overlapArea(a, b) {
|
|
597
|
+
const w = Math.min(a.x + a.w, b.x + b.w) - Math.max(a.x, b.x);
|
|
598
|
+
const h = Math.min(a.y + a.h, b.y + b.h) - Math.max(a.y, b.y);
|
|
599
|
+
return Math.max(0, w) * Math.max(0, h);
|
|
600
|
+
}
|
|
601
|
+
collide(probe, self) {
|
|
602
|
+
return this.items.find((o) => o !== self && o.id !== self.id && GridPackEngine.hit(probe, o));
|
|
603
|
+
}
|
|
604
|
+
collideLocked(probe, self) {
|
|
605
|
+
return this.items.find((o) => o !== self && o.id !== self.id && !!o.locked && GridPackEngine.hit(probe, o));
|
|
606
|
+
}
|
|
607
|
+
remember(o) {
|
|
608
|
+
if (!this.memory.has(o.id))
|
|
609
|
+
this.memory.set(o.id, { x: o.x, y: o.y });
|
|
610
|
+
}
|
|
611
|
+
/** Sorted reading order — the deterministic iteration every rule uses. */
|
|
612
|
+
ordered() {
|
|
613
|
+
return [...this.items].sort((a, b) => a.y - b.y || a.x - b.x);
|
|
614
|
+
}
|
|
615
|
+
/**
|
|
616
|
+
* Displace whatever `placed` now covers: below the placed tile, then past
|
|
617
|
+
* any locked tile it lands on (gridstack `_skipDown` — without it a push
|
|
618
|
+
* cascade can bury the pinned row), recursively.
|
|
619
|
+
*/
|
|
620
|
+
pushDown(placed) {
|
|
621
|
+
for (const o of this.ordered()) {
|
|
622
|
+
if (o === placed)
|
|
623
|
+
continue;
|
|
624
|
+
if (o.locked)
|
|
625
|
+
continue; // locked: never pushed
|
|
626
|
+
if (!GridPackEngine.hit(placed, o))
|
|
627
|
+
continue;
|
|
628
|
+
this.remember(o);
|
|
629
|
+
// A BOUNDED board displaces along the ROW first: in a one-row strip
|
|
630
|
+
// (the KPI section) "below" always spills the bound, while shifting the
|
|
631
|
+
// sibling rightward into free columns is the legal arrangement — and
|
|
632
|
+
// the teleport-home memory undoes the shift when the space frees again.
|
|
633
|
+
if (this.maxRows !== undefined) {
|
|
634
|
+
const rightX = placed.x + placed.w;
|
|
635
|
+
const right = Object.assign(Object.assign({}, o), { x: rightX });
|
|
636
|
+
if (rightX + o.w <= this._columns && !this.collideLocked(right, o)) {
|
|
637
|
+
o.x = rightX;
|
|
638
|
+
this.pushDown(o);
|
|
639
|
+
continue;
|
|
640
|
+
}
|
|
641
|
+
}
|
|
642
|
+
o.y = placed.y + placed.h;
|
|
643
|
+
let lk;
|
|
644
|
+
while ((lk = this.collideLocked(o, o)))
|
|
645
|
+
o.y = lk.y + lk.h;
|
|
646
|
+
this.pushDown(o);
|
|
647
|
+
}
|
|
648
|
+
}
|
|
649
|
+
/**
|
|
650
|
+
* The settle loop, run after EVERY accepted change: displaced tiles first
|
|
651
|
+
* try to TELEPORT back to their remembered gesture-start cell (works across
|
|
652
|
+
* a pinned row — S2), then gravity packs (each tile climbs while free).
|
|
653
|
+
* Loops until stable so one restore can cascade further restores; this is
|
|
654
|
+
* exactly why gridstack's E1 restore is emergent rather than special-cased.
|
|
655
|
+
*/
|
|
656
|
+
settle(active) {
|
|
657
|
+
for (let guard = 0; guard < 4 * this.items.length + 8; guard++) {
|
|
658
|
+
let changed = false;
|
|
659
|
+
for (const n of this.ordered()) {
|
|
660
|
+
if (n.locked || n === active)
|
|
661
|
+
continue;
|
|
662
|
+
const mem = this.memory.get(n.id);
|
|
663
|
+
if (mem && (n.x !== mem.x || n.y !== mem.y)) {
|
|
664
|
+
const home = Object.assign(Object.assign({}, n), { x: mem.x, y: mem.y });
|
|
665
|
+
if (!this.collide(home, n)) {
|
|
666
|
+
n.x = mem.x;
|
|
667
|
+
n.y = mem.y;
|
|
668
|
+
changed = true;
|
|
669
|
+
continue;
|
|
670
|
+
}
|
|
671
|
+
}
|
|
672
|
+
if (!this.float) {
|
|
673
|
+
while (n.y > 0 && !this.collide(Object.assign(Object.assign({}, n), { y: n.y - 1 }), n)) {
|
|
674
|
+
n.y--;
|
|
675
|
+
changed = true;
|
|
676
|
+
}
|
|
677
|
+
}
|
|
678
|
+
}
|
|
679
|
+
if (!changed)
|
|
680
|
+
break;
|
|
681
|
+
}
|
|
682
|
+
}
|
|
683
|
+
}
|
|
684
|
+
exports.GridPackEngine = GridPackEngine;
|
|
685
|
+
//# sourceMappingURL=grid-pack-engine.js.map
|