@grafloria/element 0.3.19 → 0.3.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/{src/index.ts → esm/src/index.js} +60 -569
- package/{src/libs/element → esm}/src/lib/dashboard-kit/dashboard.js +22 -26
- package/{src/libs/element → esm}/src/lib/dashboard-kit/grid-binder.js +62 -65
- package/{src/libs/element → esm}/src/lib/dashboard-kit/grid-mapping.js +14 -26
- package/esm/src/lib/dashboard-kit/index.js +8 -0
- package/{src/lib/dashboard-kit/styles.ts → esm/src/lib/dashboard-kit/styles.js} +8 -9
- package/{src/libs/element → esm}/src/lib/dashboard-kit/widgets.js +16 -26
- package/{src/libs/element → esm}/src/lib/diagram-kit/card.js +22 -32
- package/{src/libs/element → esm}/src/lib/diagram-kit/editing.js +15 -20
- package/{src/libs/element → esm}/src/lib/diagram-kit/er.js +15 -18
- package/{src/libs/element → esm}/src/lib/diagram-kit/handles.js +16 -29
- package/esm/src/lib/diagram-kit/index.js +15 -0
- package/{src/libs/element → esm}/src/lib/diagram-kit/join-guidance.js +9 -18
- package/{src/libs/element → esm}/src/lib/diagram-kit/rows.js +1 -4
- package/{src/lib/diagram-kit/styles.ts → esm/src/lib/diagram-kit/styles.js} +10 -10
- package/{src/libs/element → esm}/src/lib/diagram-kit/uml.js +10 -13
- package/{src/libs/element → esm}/src/lib/diagram-kit/update.js +19 -26
- package/{src/libs/element → esm}/src/lib/grafloria-flow-element.js +19 -24
- package/{src/libs/element → esm}/src/lib/grafloria.js +12 -17
- package/{src/libs/element → esm}/src/lib/load.js +19 -22
- package/{src/libs/element → esm}/src/lib/node-type-registry.js +6 -14
- package/esm/src/lib/stencil-kit/builders.js +18 -0
- package/{src/libs/element → esm}/src/lib/stencil-kit/card-builders.js +14 -17
- package/{src/libs/element/src/lib/stencil-kit/index.d.ts → esm/src/lib/stencil-kit/index.js} +5 -3
- package/{src/libs/element → esm}/src/lib/stencil-kit/palette.js +14 -17
- package/{src/libs/element → esm}/src/lib/stencil-kit/shape-data.js +25 -28
- package/{src/libs/element → esm}/src/lib/stencil-kit/styles.js +1 -4
- package/package.json +12 -3
- package/jest.config.ts +0 -16
- package/project.json +0 -44
- package/src/front-door-probe.spec.ts +0 -173
- package/src/index.js.map +0 -1
- package/src/lib/dashboard-kit/dashboard.js.map +0 -1
- package/src/lib/dashboard-kit/dashboard.spec.ts +0 -821
- package/src/lib/dashboard-kit/dashboard.ts +0 -906
- package/src/lib/dashboard-kit/grid-binder.js.map +0 -1
- package/src/lib/dashboard-kit/grid-binder.ts +0 -1976
- package/src/lib/dashboard-kit/grid-mapping.js.map +0 -1
- package/src/lib/dashboard-kit/grid-mapping.spec.ts +0 -308
- package/src/lib/dashboard-kit/grid-mapping.ts +0 -283
- package/src/lib/dashboard-kit/index.js.map +0 -1
- package/src/lib/dashboard-kit/index.ts +0 -56
- package/src/lib/dashboard-kit/styles.js.map +0 -1
- package/src/lib/dashboard-kit/widgets.js.map +0 -1
- package/src/lib/dashboard-kit/widgets.spec.ts +0 -239
- package/src/lib/dashboard-kit/widgets.ts +0 -484
- package/src/lib/diagram-kit/card.js.map +0 -1
- package/src/lib/diagram-kit/card.ts +0 -219
- package/src/lib/diagram-kit/diagram-kit.spec.ts +0 -465
- package/src/lib/diagram-kit/editing.js.map +0 -1
- package/src/lib/diagram-kit/editing.spec.ts +0 -172
- package/src/lib/diagram-kit/editing.ts +0 -493
- package/src/lib/diagram-kit/er.js.map +0 -1
- package/src/lib/diagram-kit/er.ts +0 -246
- package/src/lib/diagram-kit/handles.js.map +0 -1
- package/src/lib/diagram-kit/handles.spec.ts +0 -224
- package/src/lib/diagram-kit/handles.ts +0 -375
- package/src/lib/diagram-kit/index.js.map +0 -1
- package/src/lib/diagram-kit/index.ts +0 -66
- package/src/lib/diagram-kit/join-guidance.js.map +0 -1
- package/src/lib/diagram-kit/join-guidance.spec.ts +0 -241
- package/src/lib/diagram-kit/join-guidance.ts +0 -390
- package/src/lib/diagram-kit/rows.js.map +0 -1
- package/src/lib/diagram-kit/rows.ts +0 -174
- package/src/lib/diagram-kit/styles.js.map +0 -1
- package/src/lib/diagram-kit/uml.js.map +0 -1
- package/src/lib/diagram-kit/uml.ts +0 -213
- package/src/lib/diagram-kit/update.js.map +0 -1
- package/src/lib/diagram-kit/update.spec.ts +0 -208
- package/src/lib/diagram-kit/update.ts +0 -324
- package/src/lib/grafloria-flow-element.js.map +0 -1
- package/src/lib/grafloria-flow-element.spec.ts +0 -290
- package/src/lib/grafloria-flow-element.ts +0 -298
- package/src/lib/grafloria.js.map +0 -1
- package/src/lib/grafloria.ts +0 -151
- package/src/lib/load.js.map +0 -1
- package/src/lib/load.spec.ts +0 -565
- package/src/lib/load.ts +0 -359
- package/src/lib/node-type-registry.js.map +0 -1
- package/src/lib/node-type-registry.ts +0 -76
- package/src/lib/stencil-kit/builders.js.map +0 -1
- package/src/lib/stencil-kit/builders.ts +0 -58
- package/src/lib/stencil-kit/card-builders.js.map +0 -1
- package/src/lib/stencil-kit/card-builders.ts +0 -113
- package/src/lib/stencil-kit/index.js.map +0 -1
- package/src/lib/stencil-kit/index.ts +0 -17
- package/src/lib/stencil-kit/palette.js.map +0 -1
- package/src/lib/stencil-kit/palette.ts +0 -482
- package/src/lib/stencil-kit/shape-data.js.map +0 -1
- package/src/lib/stencil-kit/shape-data.spec.ts +0 -470
- package/src/lib/stencil-kit/shape-data.ts +0 -680
- package/src/lib/stencil-kit/styles.js.map +0 -1
- package/src/lib/stencil-kit/styles.ts +0 -126
- package/src/libs/element/src/index.d.ts +0 -92
- package/src/libs/element/src/index.js +0 -576
- package/src/libs/element/src/index.js.map +0 -1
- package/src/libs/element/src/lib/dashboard-kit/dashboard.d.ts +0 -345
- package/src/libs/element/src/lib/dashboard-kit/dashboard.js.map +0 -1
- package/src/libs/element/src/lib/dashboard-kit/grid-binder.d.ts +0 -277
- package/src/libs/element/src/lib/dashboard-kit/grid-binder.js.map +0 -1
- package/src/libs/element/src/lib/dashboard-kit/grid-mapping.d.ts +0 -141
- package/src/libs/element/src/lib/dashboard-kit/grid-mapping.js.map +0 -1
- package/src/libs/element/src/lib/dashboard-kit/index.d.ts +0 -5
- package/src/libs/element/src/lib/dashboard-kit/index.js +0 -33
- package/src/libs/element/src/lib/dashboard-kit/index.js.map +0 -1
- package/src/libs/element/src/lib/dashboard-kit/styles.d.ts +0 -25
- package/src/libs/element/src/lib/dashboard-kit/styles.js +0 -209
- package/src/libs/element/src/lib/dashboard-kit/styles.js.map +0 -1
- package/src/libs/element/src/lib/dashboard-kit/widgets.d.ts +0 -112
- package/src/libs/element/src/lib/dashboard-kit/widgets.js.map +0 -1
- package/src/libs/element/src/lib/diagram-kit/card.d.ts +0 -75
- package/src/libs/element/src/lib/diagram-kit/card.js.map +0 -1
- package/src/libs/element/src/lib/diagram-kit/editing.d.ts +0 -58
- package/src/libs/element/src/lib/diagram-kit/editing.js.map +0 -1
- package/src/libs/element/src/lib/diagram-kit/er.d.ts +0 -73
- package/src/libs/element/src/lib/diagram-kit/er.js.map +0 -1
- package/src/libs/element/src/lib/diagram-kit/handles.d.ts +0 -181
- package/src/libs/element/src/lib/diagram-kit/handles.js.map +0 -1
- package/src/libs/element/src/lib/diagram-kit/index.d.ts +0 -10
- package/src/libs/element/src/lib/diagram-kit/index.js +0 -55
- package/src/libs/element/src/lib/diagram-kit/index.js.map +0 -1
- package/src/libs/element/src/lib/diagram-kit/join-guidance.d.ts +0 -116
- package/src/libs/element/src/lib/diagram-kit/join-guidance.js.map +0 -1
- package/src/libs/element/src/lib/diagram-kit/rows.d.ts +0 -53
- package/src/libs/element/src/lib/diagram-kit/rows.js.map +0 -1
- package/src/libs/element/src/lib/diagram-kit/styles.d.ts +0 -18
- package/src/libs/element/src/lib/diagram-kit/styles.js +0 -122
- package/src/libs/element/src/lib/diagram-kit/styles.js.map +0 -1
- package/src/libs/element/src/lib/diagram-kit/uml.d.ts +0 -59
- package/src/libs/element/src/lib/diagram-kit/uml.js.map +0 -1
- package/src/libs/element/src/lib/diagram-kit/update.d.ts +0 -133
- package/src/libs/element/src/lib/diagram-kit/update.js.map +0 -1
- package/src/libs/element/src/lib/grafloria-flow-element.d.ts +0 -48
- package/src/libs/element/src/lib/grafloria-flow-element.js.map +0 -1
- package/src/libs/element/src/lib/grafloria.d.ts +0 -72
- package/src/libs/element/src/lib/grafloria.js.map +0 -1
- package/src/libs/element/src/lib/load.d.ts +0 -72
- package/src/libs/element/src/lib/load.js.map +0 -1
- package/src/libs/element/src/lib/node-type-registry.d.ts +0 -39
- package/src/libs/element/src/lib/node-type-registry.js.map +0 -1
- package/src/libs/element/src/lib/stencil-kit/builders.d.ts +0 -45
- package/src/libs/element/src/lib/stencil-kit/builders.js +0 -24
- package/src/libs/element/src/lib/stencil-kit/builders.js.map +0 -1
- package/src/libs/element/src/lib/stencil-kit/card-builders.d.ts +0 -2
- package/src/libs/element/src/lib/stencil-kit/card-builders.js.map +0 -1
- package/src/libs/element/src/lib/stencil-kit/index.js +0 -19
- package/src/libs/element/src/lib/stencil-kit/index.js.map +0 -1
- package/src/libs/element/src/lib/stencil-kit/palette.d.ts +0 -93
- package/src/libs/element/src/lib/stencil-kit/palette.js.map +0 -1
- package/src/libs/element/src/lib/stencil-kit/shape-data.d.ts +0 -28
- package/src/libs/element/src/lib/stencil-kit/shape-data.js.map +0 -1
- package/src/libs/element/src/lib/stencil-kit/styles.d.ts +0 -2
- package/src/libs/element/src/lib/stencil-kit/styles.js.map +0 -1
- package/src/libs/engine/src/adapters/component-adapter.interface.d.ts +0 -302
- package/src/libs/engine/src/adapters/component-adapter.interface.js +0 -84
- package/src/libs/engine/src/adapters/component-adapter.interface.js.map +0 -1
- package/src/libs/engine/src/adapters/index.d.ts +0 -7
- package/src/libs/engine/src/adapters/index.js +0 -11
- package/src/libs/engine/src/adapters/index.js.map +0 -1
- package/src/libs/engine/src/clipboard/ClipboardManager.d.ts +0 -81
- package/src/libs/engine/src/clipboard/ClipboardManager.js +0 -108
- package/src/libs/engine/src/clipboard/ClipboardManager.js.map +0 -1
- package/src/libs/engine/src/clipboard/index.d.ts +0 -1
- package/src/libs/engine/src/clipboard/index.js +0 -6
- package/src/libs/engine/src/clipboard/index.js.map +0 -1
- package/src/libs/engine/src/collab/apply-op.d.ts +0 -42
- package/src/libs/engine/src/collab/apply-op.js +0 -939
- package/src/libs/engine/src/collab/apply-op.js.map +0 -1
- package/src/libs/engine/src/collab/capture.d.ts +0 -147
- package/src/libs/engine/src/collab/capture.js +0 -510
- package/src/libs/engine/src/collab/capture.js.map +0 -1
- package/src/libs/engine/src/collab/index.d.ts +0 -12
- package/src/libs/engine/src/collab/index.js +0 -84
- package/src/libs/engine/src/collab/index.js.map +0 -1
- package/src/libs/engine/src/collab/integrity.d.ts +0 -178
- package/src/libs/engine/src/collab/integrity.js +0 -438
- package/src/libs/engine/src/collab/integrity.js.map +0 -1
- package/src/libs/engine/src/collab/lww.d.ts +0 -47
- package/src/libs/engine/src/collab/lww.js +0 -188
- package/src/libs/engine/src/collab/lww.js.map +0 -1
- package/src/libs/engine/src/collab/op-log.d.ts +0 -50
- package/src/libs/engine/src/collab/op-log.js +0 -167
- package/src/libs/engine/src/collab/op-log.js.map +0 -1
- package/src/libs/engine/src/collab/op.d.ts +0 -120
- package/src/libs/engine/src/collab/op.js +0 -118
- package/src/libs/engine/src/collab/op.js.map +0 -1
- package/src/libs/engine/src/collab/replica.d.ts +0 -188
- package/src/libs/engine/src/collab/replica.js +0 -526
- package/src/libs/engine/src/collab/replica.js.map +0 -1
- package/src/libs/engine/src/collab/undo.d.ts +0 -106
- package/src/libs/engine/src/collab/undo.js +0 -388
- package/src/libs/engine/src/collab/undo.js.map +0 -1
- package/src/libs/engine/src/commands/Command.d.ts +0 -66
- package/src/libs/engine/src/commands/Command.js +0 -64
- package/src/libs/engine/src/commands/Command.js.map +0 -1
- package/src/libs/engine/src/commands/CommandManager.d.ts +0 -161
- package/src/libs/engine/src/commands/CommandManager.js +0 -417
- package/src/libs/engine/src/commands/CommandManager.js.map +0 -1
- package/src/libs/engine/src/commands/basic/AddGroupCommand.d.ts +0 -13
- package/src/libs/engine/src/commands/basic/AddGroupCommand.js +0 -50
- package/src/libs/engine/src/commands/basic/AddGroupCommand.js.map +0 -1
- package/src/libs/engine/src/commands/basic/AddLinkCommand.d.ts +0 -13
- package/src/libs/engine/src/commands/basic/AddLinkCommand.js +0 -50
- package/src/libs/engine/src/commands/basic/AddLinkCommand.js.map +0 -1
- package/src/libs/engine/src/commands/basic/AddNodeCommand.d.ts +0 -13
- package/src/libs/engine/src/commands/basic/AddNodeCommand.js +0 -65
- package/src/libs/engine/src/commands/basic/AddNodeCommand.js.map +0 -1
- package/src/libs/engine/src/commands/basic/AddToGroupCommand.d.ts +0 -12
- package/src/libs/engine/src/commands/basic/AddToGroupCommand.js +0 -73
- package/src/libs/engine/src/commands/basic/AddToGroupCommand.js.map +0 -1
- package/src/libs/engine/src/commands/basic/AlignCommands.d.ts +0 -42
- package/src/libs/engine/src/commands/basic/AlignCommands.js +0 -138
- package/src/libs/engine/src/commands/basic/AlignCommands.js.map +0 -1
- package/src/libs/engine/src/commands/basic/CollapseGroupCommand.d.ts +0 -14
- package/src/libs/engine/src/commands/basic/CollapseGroupCommand.js +0 -70
- package/src/libs/engine/src/commands/basic/CollapseGroupCommand.js.map +0 -1
- package/src/libs/engine/src/commands/basic/CopyCommand.d.ts +0 -29
- package/src/libs/engine/src/commands/basic/CopyCommand.js +0 -131
- package/src/libs/engine/src/commands/basic/CopyCommand.js.map +0 -1
- package/src/libs/engine/src/commands/basic/CutCommand.d.ts +0 -49
- package/src/libs/engine/src/commands/basic/CutCommand.js +0 -68
- package/src/libs/engine/src/commands/basic/CutCommand.js.map +0 -1
- package/src/libs/engine/src/commands/basic/DeleteSelectionCommand.d.ts +0 -58
- package/src/libs/engine/src/commands/basic/DeleteSelectionCommand.js +0 -309
- package/src/libs/engine/src/commands/basic/DeleteSelectionCommand.js.map +0 -1
- package/src/libs/engine/src/commands/basic/DuplicateCommand.d.ts +0 -31
- package/src/libs/engine/src/commands/basic/DuplicateCommand.js +0 -232
- package/src/libs/engine/src/commands/basic/DuplicateCommand.js.map +0 -1
- package/src/libs/engine/src/commands/basic/ExpandGroupCommand.d.ts +0 -12
- package/src/libs/engine/src/commands/basic/ExpandGroupCommand.js +0 -69
- package/src/libs/engine/src/commands/basic/ExpandGroupCommand.js.map +0 -1
- package/src/libs/engine/src/commands/basic/MoveGroupCommand.d.ts +0 -46
- package/src/libs/engine/src/commands/basic/MoveGroupCommand.js +0 -77
- package/src/libs/engine/src/commands/basic/MoveGroupCommand.js.map +0 -1
- package/src/libs/engine/src/commands/basic/MoveNodeCommand.d.ts +0 -30
- package/src/libs/engine/src/commands/basic/MoveNodeCommand.js +0 -87
- package/src/libs/engine/src/commands/basic/MoveNodeCommand.js.map +0 -1
- package/src/libs/engine/src/commands/basic/NodeZOrderCommands.d.ts +0 -39
- package/src/libs/engine/src/commands/basic/NodeZOrderCommands.js +0 -120
- package/src/libs/engine/src/commands/basic/NodeZOrderCommands.js.map +0 -1
- package/src/libs/engine/src/commands/basic/PasteCommand.d.ts +0 -33
- package/src/libs/engine/src/commands/basic/PasteCommand.js +0 -228
- package/src/libs/engine/src/commands/basic/PasteCommand.js.map +0 -1
- package/src/libs/engine/src/commands/basic/PortCommands.d.ts +0 -22
- package/src/libs/engine/src/commands/basic/PortCommands.js +0 -85
- package/src/libs/engine/src/commands/basic/PortCommands.js.map +0 -1
- package/src/libs/engine/src/commands/basic/ReconnectLinkCommand.d.ts +0 -15
- package/src/libs/engine/src/commands/basic/ReconnectLinkCommand.js +0 -59
- package/src/libs/engine/src/commands/basic/ReconnectLinkCommand.js.map +0 -1
- package/src/libs/engine/src/commands/basic/RemoveFromGroupCommand.d.ts +0 -12
- package/src/libs/engine/src/commands/basic/RemoveFromGroupCommand.js +0 -64
- package/src/libs/engine/src/commands/basic/RemoveFromGroupCommand.js.map +0 -1
- package/src/libs/engine/src/commands/basic/RemoveGroupCommand.d.ts +0 -12
- package/src/libs/engine/src/commands/basic/RemoveGroupCommand.js +0 -56
- package/src/libs/engine/src/commands/basic/RemoveGroupCommand.js.map +0 -1
- package/src/libs/engine/src/commands/basic/RemoveLinkCommand.d.ts +0 -12
- package/src/libs/engine/src/commands/basic/RemoveLinkCommand.js +0 -57
- package/src/libs/engine/src/commands/basic/RemoveLinkCommand.js.map +0 -1
- package/src/libs/engine/src/commands/basic/RemoveNodeCommand.d.ts +0 -23
- package/src/libs/engine/src/commands/basic/RemoveNodeCommand.js +0 -108
- package/src/libs/engine/src/commands/basic/RemoveNodeCommand.js.map +0 -1
- package/src/libs/engine/src/commands/basic/ResizeNodeCommand.d.ts +0 -16
- package/src/libs/engine/src/commands/basic/ResizeNodeCommand.js +0 -81
- package/src/libs/engine/src/commands/basic/ResizeNodeCommand.js.map +0 -1
- package/src/libs/engine/src/commands/basic/RotateNodeCommand.d.ts +0 -37
- package/src/libs/engine/src/commands/basic/RotateNodeCommand.js +0 -88
- package/src/libs/engine/src/commands/basic/RotateNodeCommand.js.map +0 -1
- package/src/libs/engine/src/commands/basic/SetFlexItemCommand.d.ts +0 -14
- package/src/libs/engine/src/commands/basic/SetFlexItemCommand.js +0 -74
- package/src/libs/engine/src/commands/basic/SetFlexItemCommand.js.map +0 -1
- package/src/libs/engine/src/commands/basic/SetGridItemCommand.d.ts +0 -14
- package/src/libs/engine/src/commands/basic/SetGridItemCommand.js +0 -74
- package/src/libs/engine/src/commands/basic/SetGridItemCommand.js.map +0 -1
- package/src/libs/engine/src/commands/basic/SetLayoutCommand.d.ts +0 -16
- package/src/libs/engine/src/commands/basic/SetLayoutCommand.js +0 -80
- package/src/libs/engine/src/commands/basic/SetLayoutCommand.js.map +0 -1
- package/src/libs/engine/src/commands/basic/SetLinkDisplayLabelCommand.d.ts +0 -28
- package/src/libs/engine/src/commands/basic/SetLinkDisplayLabelCommand.js +0 -83
- package/src/libs/engine/src/commands/basic/SetLinkDisplayLabelCommand.js.map +0 -1
- package/src/libs/engine/src/commands/basic/SetLinkLabelCommand.d.ts +0 -24
- package/src/libs/engine/src/commands/basic/SetLinkLabelCommand.js +0 -81
- package/src/libs/engine/src/commands/basic/SetLinkLabelCommand.js.map +0 -1
- package/src/libs/engine/src/commands/basic/SetLinkLabelsCommand.d.ts +0 -14
- package/src/libs/engine/src/commands/basic/SetLinkLabelsCommand.js +0 -75
- package/src/libs/engine/src/commands/basic/SetLinkLabelsCommand.js.map +0 -1
- package/src/libs/engine/src/commands/basic/SetLinkPathTypeCommand.d.ts +0 -14
- package/src/libs/engine/src/commands/basic/SetLinkPathTypeCommand.js +0 -77
- package/src/libs/engine/src/commands/basic/SetLinkPathTypeCommand.js.map +0 -1
- package/src/libs/engine/src/commands/basic/SetLinkPointsCommand.d.ts +0 -32
- package/src/libs/engine/src/commands/basic/SetLinkPointsCommand.js +0 -87
- package/src/libs/engine/src/commands/basic/SetLinkPointsCommand.js.map +0 -1
- package/src/libs/engine/src/commands/basic/SetNodeDataCommand.d.ts +0 -14
- package/src/libs/engine/src/commands/basic/SetNodeDataCommand.js +0 -93
- package/src/libs/engine/src/commands/basic/SetNodeDataCommand.js.map +0 -1
- package/src/libs/engine/src/commands/basic/SetNodeLabelCommand.d.ts +0 -26
- package/src/libs/engine/src/commands/basic/SetNodeLabelCommand.js +0 -81
- package/src/libs/engine/src/commands/basic/SetNodeLabelCommand.js.map +0 -1
- package/src/libs/engine/src/commands/basic/SetNodeShapeConfigCommand.d.ts +0 -14
- package/src/libs/engine/src/commands/basic/SetNodeShapeConfigCommand.js +0 -69
- package/src/libs/engine/src/commands/basic/SetNodeShapeConfigCommand.js.map +0 -1
- package/src/libs/engine/src/commands/basic/SetNodeStyleCommand.d.ts +0 -15
- package/src/libs/engine/src/commands/basic/SetNodeStyleCommand.js +0 -88
- package/src/libs/engine/src/commands/basic/SetNodeStyleCommand.js.map +0 -1
- package/src/libs/engine/src/commands/basic/SetParentCommand.d.ts +0 -13
- package/src/libs/engine/src/commands/basic/SetParentCommand.js +0 -109
- package/src/libs/engine/src/commands/basic/SetParentCommand.js.map +0 -1
- package/src/libs/engine/src/commands/basic/SetStrokePointsCommand.d.ts +0 -34
- package/src/libs/engine/src/commands/basic/SetStrokePointsCommand.js +0 -86
- package/src/libs/engine/src/commands/basic/SetStrokePointsCommand.js.map +0 -1
- package/src/libs/engine/src/commands/basic/StrokeLifecycleCommands.d.ts +0 -31
- package/src/libs/engine/src/commands/basic/StrokeLifecycleCommands.js +0 -88
- package/src/libs/engine/src/commands/basic/StrokeLifecycleCommands.js.map +0 -1
- package/src/libs/engine/src/commands/basic/UpdateLinkStyleCommand.d.ts +0 -15
- package/src/libs/engine/src/commands/basic/UpdateLinkStyleCommand.js +0 -72
- package/src/libs/engine/src/commands/basic/UpdateLinkStyleCommand.js.map +0 -1
- package/src/libs/engine/src/commands/basic/index.d.ts +0 -41
- package/src/libs/engine/src/commands/basic/index.js +0 -52
- package/src/libs/engine/src/commands/basic/index.js.map +0 -1
- package/src/libs/engine/src/commands/basic/remapNodePortIds.d.ts +0 -23
- package/src/libs/engine/src/commands/basic/remapNodePortIds.js +0 -46
- package/src/libs/engine/src/commands/basic/remapNodePortIds.js.map +0 -1
- package/src/libs/engine/src/commands/basic/resolveLinkNodeIds.d.ts +0 -31
- package/src/libs/engine/src/commands/basic/resolveLinkNodeIds.js +0 -49
- package/src/libs/engine/src/commands/basic/resolveLinkNodeIds.js.map +0 -1
- package/src/libs/engine/src/commands/composite/BatchCommand.d.ts +0 -19
- package/src/libs/engine/src/commands/composite/BatchCommand.js +0 -61
- package/src/libs/engine/src/commands/composite/BatchCommand.js.map +0 -1
- package/src/libs/engine/src/commands/composite/MacroCommand.d.ts +0 -35
- package/src/libs/engine/src/commands/composite/MacroCommand.js +0 -87
- package/src/libs/engine/src/commands/composite/MacroCommand.js.map +0 -1
- package/src/libs/engine/src/commands/composite/index.d.ts +0 -2
- package/src/libs/engine/src/commands/composite/index.js +0 -7
- package/src/libs/engine/src/commands/composite/index.js.map +0 -1
- package/src/libs/engine/src/commands/index.d.ts +0 -4
- package/src/libs/engine/src/commands/index.js +0 -9
- package/src/libs/engine/src/commands/index.js.map +0 -1
- package/src/libs/engine/src/comments/comment-store.d.ts +0 -238
- package/src/libs/engine/src/comments/comment-store.js +0 -538
- package/src/libs/engine/src/comments/comment-store.js.map +0 -1
- package/src/libs/engine/src/comments/index.d.ts +0 -4
- package/src/libs/engine/src/comments/index.js +0 -31
- package/src/libs/engine/src/comments/index.js.map +0 -1
- package/src/libs/engine/src/comments/mentions.d.ts +0 -52
- package/src/libs/engine/src/comments/mentions.js +0 -94
- package/src/libs/engine/src/comments/mentions.js.map +0 -1
- package/src/libs/engine/src/comments/read-state.d.ts +0 -37
- package/src/libs/engine/src/comments/read-state.js +0 -105
- package/src/libs/engine/src/comments/read-state.js.map +0 -1
- package/src/libs/engine/src/comments/types.d.ts +0 -154
- package/src/libs/engine/src/comments/types.js +0 -107
- package/src/libs/engine/src/comments/types.js.map +0 -1
- package/src/libs/engine/src/config/InteractionConfig.d.ts +0 -330
- package/src/libs/engine/src/config/InteractionConfig.js +0 -154
- package/src/libs/engine/src/config/InteractionConfig.js.map +0 -1
- package/src/libs/engine/src/config/index.d.ts +0 -1
- package/src/libs/engine/src/config/index.js +0 -6
- package/src/libs/engine/src/config/index.js.map +0 -1
- package/src/libs/engine/src/dsl/DSL.d.ts +0 -197
- package/src/libs/engine/src/dsl/DSL.js +0 -564
- package/src/libs/engine/src/dsl/DSL.js.map +0 -1
- package/src/libs/engine/src/dsl/advanced/StyleParser.d.ts +0 -75
- package/src/libs/engine/src/dsl/advanced/StyleParser.js +0 -166
- package/src/libs/engine/src/dsl/advanced/StyleParser.js.map +0 -1
- package/src/libs/engine/src/dsl/advanced/TemplateParser.d.ts +0 -88
- package/src/libs/engine/src/dsl/advanced/TemplateParser.js +0 -226
- package/src/libs/engine/src/dsl/advanced/TemplateParser.js.map +0 -1
- package/src/libs/engine/src/dsl/advanced/index.d.ts +0 -9
- package/src/libs/engine/src/dsl/advanced/index.js +0 -13
- package/src/libs/engine/src/dsl/advanced/index.js.map +0 -1
- package/src/libs/engine/src/dsl/detector/LayoutDetector.d.ts +0 -80
- package/src/libs/engine/src/dsl/detector/LayoutDetector.js +0 -333
- package/src/libs/engine/src/dsl/detector/LayoutDetector.js.map +0 -1
- package/src/libs/engine/src/dsl/extended/BPMNGenerator.d.ts +0 -38
- package/src/libs/engine/src/dsl/extended/BPMNGenerator.js +0 -90
- package/src/libs/engine/src/dsl/extended/BPMNGenerator.js.map +0 -1
- package/src/libs/engine/src/dsl/extended/BPMNParser.d.ts +0 -83
- package/src/libs/engine/src/dsl/extended/BPMNParser.js +0 -198
- package/src/libs/engine/src/dsl/extended/BPMNParser.js.map +0 -1
- package/src/libs/engine/src/dsl/extended/ERDGenerator.d.ts +0 -38
- package/src/libs/engine/src/dsl/extended/ERDGenerator.js +0 -126
- package/src/libs/engine/src/dsl/extended/ERDGenerator.js.map +0 -1
- package/src/libs/engine/src/dsl/extended/ERDParser.d.ts +0 -81
- package/src/libs/engine/src/dsl/extended/ERDParser.js +0 -161
- package/src/libs/engine/src/dsl/extended/ERDParser.js.map +0 -1
- package/src/libs/engine/src/dsl/extended/ERDTransformer.d.ts +0 -43
- package/src/libs/engine/src/dsl/extended/ERDTransformer.js +0 -105
- package/src/libs/engine/src/dsl/extended/ERDTransformer.js.map +0 -1
- package/src/libs/engine/src/dsl/extended/UMLGenerator.d.ts +0 -42
- package/src/libs/engine/src/dsl/extended/UMLGenerator.js +0 -157
- package/src/libs/engine/src/dsl/extended/UMLGenerator.js.map +0 -1
- package/src/libs/engine/src/dsl/extended/UMLParser.d.ts +0 -99
- package/src/libs/engine/src/dsl/extended/UMLParser.js +0 -200
- package/src/libs/engine/src/dsl/extended/UMLParser.js.map +0 -1
- package/src/libs/engine/src/dsl/extended/index.d.ts +0 -13
- package/src/libs/engine/src/dsl/extended/index.js +0 -27
- package/src/libs/engine/src/dsl/extended/index.js.map +0 -1
- package/src/libs/engine/src/dsl/generator/DSLFormatter.d.ts +0 -87
- package/src/libs/engine/src/dsl/generator/DSLFormatter.js +0 -261
- package/src/libs/engine/src/dsl/generator/DSLFormatter.js.map +0 -1
- package/src/libs/engine/src/dsl/generator/DSLGenerator.d.ts +0 -96
- package/src/libs/engine/src/dsl/generator/DSLGenerator.js +0 -328
- package/src/libs/engine/src/dsl/generator/DSLGenerator.js.map +0 -1
- package/src/libs/engine/src/dsl/generator/DiagramAnalyzer.d.ts +0 -111
- package/src/libs/engine/src/dsl/generator/DiagramAnalyzer.js +0 -361
- package/src/libs/engine/src/dsl/generator/DiagramAnalyzer.js.map +0 -1
- package/src/libs/engine/src/dsl/index.d.ts +0 -35
- package/src/libs/engine/src/dsl/index.js +0 -64
- package/src/libs/engine/src/dsl/index.js.map +0 -1
- package/src/libs/engine/src/dsl/lexer/Lexer.d.ts +0 -117
- package/src/libs/engine/src/dsl/lexer/Lexer.js +0 -521
- package/src/libs/engine/src/dsl/lexer/Lexer.js.map +0 -1
- package/src/libs/engine/src/dsl/mermaid/MermaidClass.d.ts +0 -136
- package/src/libs/engine/src/dsl/mermaid/MermaidClass.js +0 -429
- package/src/libs/engine/src/dsl/mermaid/MermaidClass.js.map +0 -1
- package/src/libs/engine/src/dsl/mermaid/MermaidER.d.ts +0 -118
- package/src/libs/engine/src/dsl/mermaid/MermaidER.js +0 -338
- package/src/libs/engine/src/dsl/mermaid/MermaidER.js.map +0 -1
- package/src/libs/engine/src/dsl/mermaid/MermaidState.d.ts +0 -89
- package/src/libs/engine/src/dsl/mermaid/MermaidState.js +0 -613
- package/src/libs/engine/src/dsl/mermaid/MermaidState.js.map +0 -1
- package/src/libs/engine/src/dsl/mermaid/index.d.ts +0 -10
- package/src/libs/engine/src/dsl/mermaid/index.js +0 -33
- package/src/libs/engine/src/dsl/mermaid/index.js.map +0 -1
- package/src/libs/engine/src/dsl/mermaid/layout.d.ts +0 -70
- package/src/libs/engine/src/dsl/mermaid/layout.js +0 -162
- package/src/libs/engine/src/dsl/mermaid/layout.js.map +0 -1
- package/src/libs/engine/src/dsl/mermaid/lines.d.ts +0 -25
- package/src/libs/engine/src/dsl/mermaid/lines.js +0 -74
- package/src/libs/engine/src/dsl/mermaid/lines.js.map +0 -1
- package/src/libs/engine/src/dsl/parser/Parser.d.ts +0 -131
- package/src/libs/engine/src/dsl/parser/Parser.js +0 -725
- package/src/libs/engine/src/dsl/parser/Parser.js.map +0 -1
- package/src/libs/engine/src/dsl/sync/BidirectionalSync.d.ts +0 -154
- package/src/libs/engine/src/dsl/sync/BidirectionalSync.js +0 -389
- package/src/libs/engine/src/dsl/sync/BidirectionalSync.js.map +0 -1
- package/src/libs/engine/src/dsl/sync/IntegratedSyncManager.d.ts +0 -128
- package/src/libs/engine/src/dsl/sync/IntegratedSyncManager.js +0 -244
- package/src/libs/engine/src/dsl/sync/IntegratedSyncManager.js.map +0 -1
- package/src/libs/engine/src/dsl/sync/LayoutApplicator.d.ts +0 -140
- package/src/libs/engine/src/dsl/sync/LayoutApplicator.js +0 -271
- package/src/libs/engine/src/dsl/sync/LayoutApplicator.js.map +0 -1
- package/src/libs/engine/src/dsl/sync/SyncStateManager.d.ts +0 -145
- package/src/libs/engine/src/dsl/sync/SyncStateManager.js +0 -253
- package/src/libs/engine/src/dsl/sync/SyncStateManager.js.map +0 -1
- package/src/libs/engine/src/dsl/sync/index.d.ts +0 -13
- package/src/libs/engine/src/dsl/sync/index.js +0 -21
- package/src/libs/engine/src/dsl/sync/index.js.map +0 -1
- package/src/libs/engine/src/dsl/transformer/ASTTransformer.d.ts +0 -150
- package/src/libs/engine/src/dsl/transformer/ASTTransformer.js +0 -605
- package/src/libs/engine/src/dsl/transformer/ASTTransformer.js.map +0 -1
- package/src/libs/engine/src/dsl/types/ASTNode.d.ts +0 -159
- package/src/libs/engine/src/dsl/types/ASTNode.js +0 -31
- package/src/libs/engine/src/dsl/types/ASTNode.js.map +0 -1
- package/src/libs/engine/src/dsl/types/Token.d.ts +0 -79
- package/src/libs/engine/src/dsl/types/Token.js +0 -84
- package/src/libs/engine/src/dsl/types/Token.js.map +0 -1
- package/src/libs/engine/src/engine/DiagramEngine.d.ts +0 -917
- package/src/libs/engine/src/engine/DiagramEngine.js +0 -2190
- package/src/libs/engine/src/engine/DiagramEngine.js.map +0 -1
- package/src/libs/engine/src/engine/DiagramMode.d.ts +0 -51
- package/src/libs/engine/src/engine/DiagramMode.js +0 -53
- package/src/libs/engine/src/engine/DiagramMode.js.map +0 -1
- package/src/libs/engine/src/engine/DiagramModeTypes.d.ts +0 -73
- package/src/libs/engine/src/engine/DiagramModeTypes.js +0 -4
- package/src/libs/engine/src/engine/DiagramModeTypes.js.map +0 -1
- package/src/libs/engine/src/engine/ModeManager.d.ts +0 -155
- package/src/libs/engine/src/engine/ModeManager.js +0 -387
- package/src/libs/engine/src/engine/ModeManager.js.map +0 -1
- package/src/libs/engine/src/engine/index.d.ts +0 -2
- package/src/libs/engine/src/engine/index.js +0 -7
- package/src/libs/engine/src/engine/index.js.map +0 -1
- package/src/libs/engine/src/events/EventBus.d.ts +0 -106
- package/src/libs/engine/src/events/EventBus.js +0 -226
- package/src/libs/engine/src/events/EventBus.js.map +0 -1
- package/src/libs/engine/src/events/index.d.ts +0 -1
- package/src/libs/engine/src/events/index.js +0 -6
- package/src/libs/engine/src/events/index.js.map +0 -1
- package/src/libs/engine/src/index.d.ts +0 -43
- package/src/libs/engine/src/index.js +0 -142
- package/src/libs/engine/src/index.js.map +0 -1
- package/src/libs/engine/src/interaction/GroupCollapseService.d.ts +0 -53
- package/src/libs/engine/src/interaction/GroupCollapseService.js +0 -274
- package/src/libs/engine/src/interaction/GroupCollapseService.js.map +0 -1
- package/src/libs/engine/src/interaction/GroupMembershipService.d.ts +0 -107
- package/src/libs/engine/src/interaction/GroupMembershipService.js +0 -245
- package/src/libs/engine/src/interaction/GroupMembershipService.js.map +0 -1
- package/src/libs/engine/src/interaction/SemanticMembershipService.d.ts +0 -28
- package/src/libs/engine/src/interaction/SemanticMembershipService.js +0 -168
- package/src/libs/engine/src/interaction/SemanticMembershipService.js.map +0 -1
- package/src/libs/engine/src/interaction/SwimlaneService.d.ts +0 -62
- package/src/libs/engine/src/interaction/SwimlaneService.js +0 -180
- package/src/libs/engine/src/interaction/SwimlaneService.js.map +0 -1
- package/src/libs/engine/src/interaction/index.d.ts +0 -4
- package/src/libs/engine/src/interaction/index.js +0 -9
- package/src/libs/engine/src/interaction/index.js.map +0 -1
- package/src/libs/engine/src/interop/drawio/importDrawio.d.ts +0 -52
- package/src/libs/engine/src/interop/drawio/importDrawio.js +0 -940
- package/src/libs/engine/src/interop/drawio/importDrawio.js.map +0 -1
- package/src/libs/engine/src/interop/drawio/index.d.ts +0 -1
- package/src/libs/engine/src/interop/drawio/index.js +0 -12
- package/src/libs/engine/src/interop/drawio/index.js.map +0 -1
- package/src/libs/engine/src/interop/drawio/xml.d.ts +0 -26
- package/src/libs/engine/src/interop/drawio/xml.js +0 -213
- package/src/libs/engine/src/interop/drawio/xml.js.map +0 -1
- package/src/libs/engine/src/layout/CompoundLayoutService.d.ts +0 -121
- package/src/libs/engine/src/layout/CompoundLayoutService.js +0 -616
- package/src/libs/engine/src/layout/CompoundLayoutService.js.map +0 -1
- package/src/libs/engine/src/layout/ILayoutAlgorithm.d.ts +0 -120
- package/src/libs/engine/src/layout/ILayoutAlgorithm.js +0 -88
- package/src/libs/engine/src/layout/ILayoutAlgorithm.js.map +0 -1
- package/src/libs/engine/src/layout/LayoutManager.d.ts +0 -155
- package/src/libs/engine/src/layout/LayoutManager.js +0 -640
- package/src/libs/engine/src/layout/LayoutManager.js.map +0 -1
- package/src/libs/engine/src/layout/SmartSpacingCalculator.d.ts +0 -62
- package/src/libs/engine/src/layout/SmartSpacingCalculator.js +0 -134
- package/src/libs/engine/src/layout/SmartSpacingCalculator.js.map +0 -1
- package/src/libs/engine/src/layout/ViewportTransform.d.ts +0 -55
- package/src/libs/engine/src/layout/ViewportTransform.js +0 -118
- package/src/libs/engine/src/layout/ViewportTransform.js.map +0 -1
- package/src/libs/engine/src/layout/algorithms/ForceDirectedLayoutAlgorithm.d.ts +0 -34
- package/src/libs/engine/src/layout/algorithms/ForceDirectedLayoutAlgorithm.js +0 -317
- package/src/libs/engine/src/layout/algorithms/ForceDirectedLayoutAlgorithm.js.map +0 -1
- package/src/libs/engine/src/layout/algorithms/GridLayoutAlgorithm.d.ts +0 -56
- package/src/libs/engine/src/layout/algorithms/GridLayoutAlgorithm.js +0 -223
- package/src/libs/engine/src/layout/algorithms/GridLayoutAlgorithm.js.map +0 -1
- package/src/libs/engine/src/layout/algorithms/HierarchicalLayoutAlgorithm.d.ts +0 -60
- package/src/libs/engine/src/layout/algorithms/HierarchicalLayoutAlgorithm.js +0 -307
- package/src/libs/engine/src/layout/algorithms/HierarchicalLayoutAlgorithm.js.map +0 -1
- package/src/libs/engine/src/layout/algorithms/HybridLayoutAlgorithm.d.ts +0 -62
- package/src/libs/engine/src/layout/algorithms/HybridLayoutAlgorithm.js +0 -324
- package/src/libs/engine/src/layout/algorithms/HybridLayoutAlgorithm.js.map +0 -1
- package/src/libs/engine/src/layout/community-layout-adapter.d.ts +0 -107
- package/src/libs/engine/src/layout/community-layout-adapter.js +0 -486
- package/src/libs/engine/src/layout/community-layout-adapter.js.map +0 -1
- package/src/libs/engine/src/layout/component-packing.d.ts +0 -98
- package/src/libs/engine/src/layout/component-packing.js +0 -307
- package/src/libs/engine/src/layout/component-packing.js.map +0 -1
- package/src/libs/engine/src/layout/dagre-layout-adapter.d.ts +0 -122
- package/src/libs/engine/src/layout/dagre-layout-adapter.js +0 -697
- package/src/libs/engine/src/layout/dagre-layout-adapter.js.map +0 -1
- package/src/libs/engine/src/layout/edge-bundling.interface.d.ts +0 -159
- package/src/libs/engine/src/layout/edge-bundling.interface.js +0 -379
- package/src/libs/engine/src/layout/edge-bundling.interface.js.map +0 -1
- package/src/libs/engine/src/layout/elk-layout-adapter.d.ts +0 -121
- package/src/libs/engine/src/layout/elk-layout-adapter.js +0 -586
- package/src/libs/engine/src/layout/elk-layout-adapter.js.map +0 -1
- package/src/libs/engine/src/layout/elk-loader.d.ts +0 -1
- package/src/libs/engine/src/layout/elk-loader.js +0 -24
- package/src/libs/engine/src/layout/elk-loader.js.map +0 -1
- package/src/libs/engine/src/layout/force-layout-adapter.d.ts +0 -167
- package/src/libs/engine/src/layout/force-layout-adapter.js +0 -790
- package/src/libs/engine/src/layout/force-layout-adapter.js.map +0 -1
- package/src/libs/engine/src/layout/grid-pack/grid-pack-engine.d.ts +0 -323
- package/src/libs/engine/src/layout/grid-pack/grid-pack-engine.js +0 -685
- package/src/libs/engine/src/layout/grid-pack/grid-pack-engine.js.map +0 -1
- package/src/libs/engine/src/layout/incremental/mental-map.d.ts +0 -98
- package/src/libs/engine/src/layout/incremental/mental-map.js +0 -221
- package/src/libs/engine/src/layout/incremental/mental-map.js.map +0 -1
- package/src/libs/engine/src/layout/incremental-layout.interface.d.ts +0 -145
- package/src/libs/engine/src/layout/incremental-layout.interface.js +0 -300
- package/src/libs/engine/src/layout/incremental-layout.interface.js.map +0 -1
- package/src/libs/engine/src/layout/index.d.ts +0 -83
- package/src/libs/engine/src/layout/index.js +0 -116
- package/src/libs/engine/src/layout/index.js.map +0 -1
- package/src/libs/engine/src/layout/layout-adapter.interface.d.ts +0 -185
- package/src/libs/engine/src/layout/layout-adapter.interface.js +0 -10
- package/src/libs/engine/src/layout/layout-adapter.interface.js.map +0 -1
- package/src/libs/engine/src/layout/layout-auto-select.d.ts +0 -160
- package/src/libs/engine/src/layout/layout-auto-select.js +0 -621
- package/src/libs/engine/src/layout/layout-auto-select.js.map +0 -1
- package/src/libs/engine/src/layout/layout-constraints.interface.d.ts +0 -117
- package/src/libs/engine/src/layout/layout-constraints.interface.js +0 -138
- package/src/libs/engine/src/layout/layout-constraints.interface.js.map +0 -1
- package/src/libs/engine/src/layout/layout-graph.d.ts +0 -70
- package/src/libs/engine/src/layout/layout-graph.js +0 -119
- package/src/libs/engine/src/layout/layout-graph.js.map +0 -1
- package/src/libs/engine/src/layout/layout-history.d.ts +0 -147
- package/src/libs/engine/src/layout/layout-history.js +0 -258
- package/src/libs/engine/src/layout/layout-history.js.map +0 -1
- package/src/libs/engine/src/layout/layout-host.d.ts +0 -172
- package/src/libs/engine/src/layout/layout-host.js +0 -523
- package/src/libs/engine/src/layout/layout-host.js.map +0 -1
- package/src/libs/engine/src/layout/layout-presets.d.ts +0 -91
- package/src/libs/engine/src/layout/layout-presets.js +0 -333
- package/src/libs/engine/src/layout/layout-presets.js.map +0 -1
- package/src/libs/engine/src/layout/layout-quality-extended.d.ts +0 -66
- package/src/libs/engine/src/layout/layout-quality-extended.js +0 -246
- package/src/libs/engine/src/layout/layout-quality-extended.js.map +0 -1
- package/src/libs/engine/src/layout/layout-quality-metrics.d.ts +0 -127
- package/src/libs/engine/src/layout/layout-quality-metrics.js +0 -466
- package/src/libs/engine/src/layout/layout-quality-metrics.js.map +0 -1
- package/src/libs/engine/src/layout/layout-registry.d.ts +0 -309
- package/src/libs/engine/src/layout/layout-registry.js +0 -414
- package/src/libs/engine/src/layout/layout-registry.js.map +0 -1
- package/src/libs/engine/src/layout/layout.service.d.ts +0 -100
- package/src/libs/engine/src/layout/layout.service.js +0 -216
- package/src/libs/engine/src/layout/layout.service.js.map +0 -1
- package/src/libs/engine/src/layout/overlap-removal.d.ts +0 -20
- package/src/libs/engine/src/layout/overlap-removal.js +0 -117
- package/src/libs/engine/src/layout/overlap-removal.js.map +0 -1
- package/src/libs/engine/src/layout/port-aware-layout.interface.d.ts +0 -232
- package/src/libs/engine/src/layout/port-aware-layout.interface.js +0 -413
- package/src/libs/engine/src/layout/port-aware-layout.interface.js.map +0 -1
- package/src/libs/engine/src/layout/port-label-bridge.d.ts +0 -77
- package/src/libs/engine/src/layout/port-label-bridge.js +0 -250
- package/src/libs/engine/src/layout/port-label-bridge.js.map +0 -1
- package/src/libs/engine/src/layout/portfolio-layouts.d.ts +0 -53
- package/src/libs/engine/src/layout/portfolio-layouts.js +0 -388
- package/src/libs/engine/src/layout/portfolio-layouts.js.map +0 -1
- package/src/libs/engine/src/layout/rng.d.ts +0 -34
- package/src/libs/engine/src/layout/rng.js +0 -71
- package/src/libs/engine/src/layout/rng.js.map +0 -1
- package/src/libs/engine/src/layout/spectral-layout-adapter.d.ts +0 -72
- package/src/libs/engine/src/layout/spectral-layout-adapter.js +0 -379
- package/src/libs/engine/src/layout/spectral-layout-adapter.js.map +0 -1
- package/src/libs/engine/src/layout/steppable-layout.d.ts +0 -40
- package/src/libs/engine/src/layout/steppable-layout.js +0 -34
- package/src/libs/engine/src/layout/steppable-layout.js.map +0 -1
- package/src/libs/engine/src/layout/subgraph-layout.interface.d.ts +0 -269
- package/src/libs/engine/src/layout/subgraph-layout.interface.js +0 -452
- package/src/libs/engine/src/layout/subgraph-layout.interface.js.map +0 -1
- package/src/libs/engine/src/layout/sugiyama/layered-layout.d.ts +0 -9
- package/src/libs/engine/src/layout/sugiyama/layered-layout.js +0 -83
- package/src/libs/engine/src/layout/sugiyama/layered-layout.js.map +0 -1
- package/src/libs/engine/src/layout/sugiyama/sugiyama.d.ts +0 -91
- package/src/libs/engine/src/layout/sugiyama/sugiyama.js +0 -797
- package/src/libs/engine/src/layout/sugiyama/sugiyama.js.map +0 -1
- package/src/libs/engine/src/layout/tree-layout.d.ts +0 -43
- package/src/libs/engine/src/layout/tree-layout.js +0 -426
- package/src/libs/engine/src/layout/tree-layout.js.map +0 -1
- package/src/libs/engine/src/layout/types.d.ts +0 -263
- package/src/libs/engine/src/layout/types.js +0 -6
- package/src/libs/engine/src/layout/types.js.map +0 -1
- package/src/libs/engine/src/lib/performance/mobile-performance.service.d.ts +0 -43
- package/src/libs/engine/src/lib/performance/mobile-performance.service.js +0 -95
- package/src/libs/engine/src/lib/performance/mobile-performance.service.js.map +0 -1
- package/src/libs/engine/src/models/DiagramEntity.d.ts +0 -174
- package/src/libs/engine/src/models/DiagramEntity.js +0 -366
- package/src/libs/engine/src/models/DiagramEntity.js.map +0 -1
- package/src/libs/engine/src/models/DiagramModel.d.ts +0 -960
- package/src/libs/engine/src/models/DiagramModel.js +0 -2416
- package/src/libs/engine/src/models/DiagramModel.js.map +0 -1
- package/src/libs/engine/src/models/GroupModel.d.ts +0 -573
- package/src/libs/engine/src/models/GroupModel.js +0 -1373
- package/src/libs/engine/src/models/GroupModel.js.map +0 -1
- package/src/libs/engine/src/models/LinkModel.d.ts +0 -395
- package/src/libs/engine/src/models/LinkModel.js +0 -1045
- package/src/libs/engine/src/models/LinkModel.js.map +0 -1
- package/src/libs/engine/src/models/NodeModel.d.ts +0 -666
- package/src/libs/engine/src/models/NodeModel.js +0 -1512
- package/src/libs/engine/src/models/NodeModel.js.map +0 -1
- package/src/libs/engine/src/models/PortModel.d.ts +0 -292
- package/src/libs/engine/src/models/PortModel.js +0 -637
- package/src/libs/engine/src/models/PortModel.js.map +0 -1
- package/src/libs/engine/src/models/StrokeModel.d.ts +0 -160
- package/src/libs/engine/src/models/StrokeModel.js +0 -387
- package/src/libs/engine/src/models/StrokeModel.js.map +0 -1
- package/src/libs/engine/src/models/index.d.ts +0 -7
- package/src/libs/engine/src/models/index.js +0 -12
- package/src/libs/engine/src/models/index.js.map +0 -1
- package/src/libs/engine/src/models/readonly-lock.d.ts +0 -108
- package/src/libs/engine/src/models/readonly-lock.js +0 -125
- package/src/libs/engine/src/models/readonly-lock.js.map +0 -1
- package/src/libs/engine/src/performance/LRUCache.d.ts +0 -78
- package/src/libs/engine/src/performance/LRUCache.js +0 -179
- package/src/libs/engine/src/performance/LRUCache.js.map +0 -1
- package/src/libs/engine/src/performance/PerformanceMonitor.d.ts +0 -47
- package/src/libs/engine/src/performance/PerformanceMonitor.js +0 -112
- package/src/libs/engine/src/performance/PerformanceMonitor.js.map +0 -1
- package/src/libs/engine/src/performance/SpatialIndex.d.ts +0 -157
- package/src/libs/engine/src/performance/SpatialIndex.js +0 -306
- package/src/libs/engine/src/performance/SpatialIndex.js.map +0 -1
- package/src/libs/engine/src/performance/index.d.ts +0 -2
- package/src/libs/engine/src/performance/index.js +0 -7
- package/src/libs/engine/src/performance/index.js.map +0 -1
- package/src/libs/engine/src/plugins/PluginManager.d.ts +0 -95
- package/src/libs/engine/src/plugins/PluginManager.js +0 -388
- package/src/libs/engine/src/plugins/PluginManager.js.map +0 -1
- package/src/libs/engine/src/plugins/index.d.ts +0 -1
- package/src/libs/engine/src/plugins/index.js +0 -6
- package/src/libs/engine/src/plugins/index.js.map +0 -1
- package/src/libs/engine/src/ports/connection-rules.d.ts +0 -32
- package/src/libs/engine/src/ports/connection-rules.js +0 -131
- package/src/libs/engine/src/ports/connection-rules.js.map +0 -1
- package/src/libs/engine/src/ports/dynamic-ports.d.ts +0 -27
- package/src/libs/engine/src/ports/dynamic-ports.js +0 -135
- package/src/libs/engine/src/ports/dynamic-ports.js.map +0 -1
- package/src/libs/engine/src/ports/index.d.ts +0 -5
- package/src/libs/engine/src/ports/index.js +0 -16
- package/src/libs/engine/src/ports/index.js.map +0 -1
- package/src/libs/engine/src/ports/port-groups.d.ts +0 -43
- package/src/libs/engine/src/ports/port-groups.js +0 -185
- package/src/libs/engine/src/ports/port-groups.js.map +0 -1
- package/src/libs/engine/src/ports/port-type-registry.d.ts +0 -34
- package/src/libs/engine/src/ports/port-type-registry.js +0 -87
- package/src/libs/engine/src/ports/port-type-registry.js.map +0 -1
- package/src/libs/engine/src/ports/port-types.d.ts +0 -266
- package/src/libs/engine/src/ports/port-types.js +0 -30
- package/src/libs/engine/src/ports/port-types.js.map +0 -1
- package/src/libs/engine/src/rendering/HtmlTemplateRenderer.d.ts +0 -136
- package/src/libs/engine/src/rendering/HtmlTemplateRenderer.js +0 -292
- package/src/libs/engine/src/rendering/HtmlTemplateRenderer.js.map +0 -1
- package/src/libs/engine/src/rendering/LemonadeJSRenderer.d.ts +0 -160
- package/src/libs/engine/src/rendering/LemonadeJSRenderer.js +0 -362
- package/src/libs/engine/src/rendering/LemonadeJSRenderer.js.map +0 -1
- package/src/libs/engine/src/rendering/index.d.ts +0 -2
- package/src/libs/engine/src/rendering/index.js +0 -7
- package/src/libs/engine/src/rendering/index.js.map +0 -1
- package/src/libs/engine/src/routing/LiveReroutingEngine.d.ts +0 -75
- package/src/libs/engine/src/routing/LiveReroutingEngine.js +0 -173
- package/src/libs/engine/src/routing/LiveReroutingEngine.js.map +0 -1
- package/src/libs/engine/src/routing/ObstacleIndex.d.ts +0 -42
- package/src/libs/engine/src/routing/ObstacleIndex.js +0 -215
- package/src/libs/engine/src/routing/ObstacleIndex.js.map +0 -1
- package/src/libs/engine/src/routing/ObstacleMap.d.ts +0 -68
- package/src/libs/engine/src/routing/ObstacleMap.js +0 -312
- package/src/libs/engine/src/routing/ObstacleMap.js.map +0 -1
- package/src/libs/engine/src/routing/ObstacleMapBuilder.d.ts +0 -28
- package/src/libs/engine/src/routing/ObstacleMapBuilder.js +0 -76
- package/src/libs/engine/src/routing/ObstacleMapBuilder.js.map +0 -1
- package/src/libs/engine/src/routing/PathSimplifier.d.ts +0 -119
- package/src/libs/engine/src/routing/PathSimplifier.js +0 -224
- package/src/libs/engine/src/routing/PathSimplifier.js.map +0 -1
- package/src/libs/engine/src/routing/RoutingEngine.d.ts +0 -118
- package/src/libs/engine/src/routing/RoutingEngine.js +0 -546
- package/src/libs/engine/src/routing/RoutingEngine.js.map +0 -1
- package/src/libs/engine/src/routing/algorithms/AStarRouter.d.ts +0 -90
- package/src/libs/engine/src/routing/algorithms/AStarRouter.js +0 -331
- package/src/libs/engine/src/routing/algorithms/AStarRouter.js.map +0 -1
- package/src/libs/engine/src/routing/algorithms/DijkstraRouter.d.ts +0 -74
- package/src/libs/engine/src/routing/algorithms/DijkstraRouter.js +0 -297
- package/src/libs/engine/src/routing/algorithms/DijkstraRouter.js.map +0 -1
- package/src/libs/engine/src/routing/algorithms/ElkRouter.d.ts +0 -34
- package/src/libs/engine/src/routing/algorithms/ElkRouter.js +0 -210
- package/src/libs/engine/src/routing/algorithms/ElkRouter.js.map +0 -1
- package/src/libs/engine/src/routing/algorithms/ManhattanRouter.d.ts +0 -18
- package/src/libs/engine/src/routing/algorithms/ManhattanRouter.js +0 -224
- package/src/libs/engine/src/routing/algorithms/ManhattanRouter.js.map +0 -1
- package/src/libs/engine/src/routing/algorithms/OrthogonalRouter.d.ts +0 -173
- package/src/libs/engine/src/routing/algorithms/OrthogonalRouter.js +0 -1092
- package/src/libs/engine/src/routing/algorithms/OrthogonalRouter.js.map +0 -1
- package/src/libs/engine/src/routing/algorithms/StraightRouter.d.ts +0 -8
- package/src/libs/engine/src/routing/algorithms/StraightRouter.js +0 -53
- package/src/libs/engine/src/routing/algorithms/StraightRouter.js.map +0 -1
- package/src/libs/engine/src/routing/algorithms/VisibilityGraphRouter.d.ts +0 -59
- package/src/libs/engine/src/routing/algorithms/VisibilityGraphRouter.js +0 -258
- package/src/libs/engine/src/routing/algorithms/VisibilityGraphRouter.js.map +0 -1
- package/src/libs/engine/src/routing/global/GlobalRouteSolver.d.ts +0 -64
- package/src/libs/engine/src/routing/global/GlobalRouteSolver.js +0 -334
- package/src/libs/engine/src/routing/global/GlobalRouteSolver.js.map +0 -1
- package/src/libs/engine/src/routing/global/solver-host.d.ts +0 -65
- package/src/libs/engine/src/routing/global/solver-host.js +0 -87
- package/src/libs/engine/src/routing/global/solver-host.js.map +0 -1
- package/src/libs/engine/src/routing/index.d.ts +0 -15
- package/src/libs/engine/src/routing/index.js +0 -20
- package/src/libs/engine/src/routing/index.js.map +0 -1
- package/src/libs/engine/src/routing/types.d.ts +0 -161
- package/src/libs/engine/src/routing/types.js +0 -4
- package/src/libs/engine/src/routing/types.js.map +0 -1
- package/src/libs/engine/src/selection/SelectionManager.d.ts +0 -161
- package/src/libs/engine/src/selection/SelectionManager.js +0 -483
- package/src/libs/engine/src/selection/SelectionManager.js.map +0 -1
- package/src/libs/engine/src/selection/index.d.ts +0 -1
- package/src/libs/engine/src/selection/index.js +0 -6
- package/src/libs/engine/src/selection/index.js.map +0 -1
- package/src/libs/engine/src/serialization/DiagramMigrations.d.ts +0 -41
- package/src/libs/engine/src/serialization/DiagramMigrations.js +0 -124
- package/src/libs/engine/src/serialization/DiagramMigrations.js.map +0 -1
- package/src/libs/engine/src/serialization/DiagramValidator.d.ts +0 -20
- package/src/libs/engine/src/serialization/DiagramValidator.js +0 -136
- package/src/libs/engine/src/serialization/DiagramValidator.js.map +0 -1
- package/src/libs/engine/src/serialization/DocumentEnvelope.d.ts +0 -53
- package/src/libs/engine/src/serialization/DocumentEnvelope.js +0 -111
- package/src/libs/engine/src/serialization/DocumentEnvelope.js.map +0 -1
- package/src/libs/engine/src/serialization/Incremental.d.ts +0 -77
- package/src/libs/engine/src/serialization/Incremental.js +0 -227
- package/src/libs/engine/src/serialization/Incremental.js.map +0 -1
- package/src/libs/engine/src/serialization/Serializer.d.ts +0 -29
- package/src/libs/engine/src/serialization/Serializer.js +0 -45
- package/src/libs/engine/src/serialization/Serializer.js.map +0 -1
- package/src/libs/engine/src/serialization/Subgraph.d.ts +0 -51
- package/src/libs/engine/src/serialization/Subgraph.js +0 -172
- package/src/libs/engine/src/serialization/Subgraph.js.map +0 -1
- package/src/libs/engine/src/serialization/TextFormat.d.ts +0 -71
- package/src/libs/engine/src/serialization/TextFormat.js +0 -261
- package/src/libs/engine/src/serialization/TextFormat.js.map +0 -1
- package/src/libs/engine/src/state/ConnectionStateManager.d.ts +0 -178
- package/src/libs/engine/src/state/ConnectionStateManager.js +0 -319
- package/src/libs/engine/src/state/ConnectionStateManager.js.map +0 -1
- package/src/libs/engine/src/state/DiagramStore.d.ts +0 -134
- package/src/libs/engine/src/state/DiagramStore.js +0 -372
- package/src/libs/engine/src/state/DiagramStore.js.map +0 -1
- package/src/libs/engine/src/state/index.d.ts +0 -2
- package/src/libs/engine/src/state/index.js +0 -7
- package/src/libs/engine/src/state/index.js.map +0 -1
- package/src/libs/engine/src/sync/awareness.d.ts +0 -91
- package/src/libs/engine/src/sync/awareness.js +0 -221
- package/src/libs/engine/src/sync/awareness.js.map +0 -1
- package/src/libs/engine/src/sync/batcher.d.ts +0 -84
- package/src/libs/engine/src/sync/batcher.js +0 -0
- package/src/libs/engine/src/sync/batcher.js.map +0 -1
- package/src/libs/engine/src/sync/causal-buffer.d.ts +0 -81
- package/src/libs/engine/src/sync/causal-buffer.js +0 -199
- package/src/libs/engine/src/sync/causal-buffer.js.map +0 -1
- package/src/libs/engine/src/sync/index.d.ts +0 -20
- package/src/libs/engine/src/sync/index.js +0 -41
- package/src/libs/engine/src/sync/index.js.map +0 -1
- package/src/libs/engine/src/sync/protocol.d.ts +0 -74
- package/src/libs/engine/src/sync/protocol.js +0 -39
- package/src/libs/engine/src/sync/protocol.js.map +0 -1
- package/src/libs/engine/src/sync/sync-adapter.d.ts +0 -243
- package/src/libs/engine/src/sync/sync-adapter.js +0 -524
- package/src/libs/engine/src/sync/sync-adapter.js.map +0 -1
- package/src/libs/engine/src/sync/transport.d.ts +0 -30
- package/src/libs/engine/src/sync/transport.js +0 -28
- package/src/libs/engine/src/sync/transport.js.map +0 -1
- package/src/libs/engine/src/sync/transports/broadcast-channel.d.ts +0 -39
- package/src/libs/engine/src/sync/transports/broadcast-channel.js +0 -117
- package/src/libs/engine/src/sync/transports/broadcast-channel.js.map +0 -1
- package/src/libs/engine/src/sync/transports/memory.d.ts +0 -38
- package/src/libs/engine/src/sync/transports/memory.js +0 -111
- package/src/libs/engine/src/sync/transports/memory.js.map +0 -1
- package/src/libs/engine/src/sync/transports/unreliable.d.ts +0 -59
- package/src/libs/engine/src/sync/transports/unreliable.js +0 -153
- package/src/libs/engine/src/sync/transports/unreliable.js.map +0 -1
- package/src/libs/engine/src/sync/transports/websocket.d.ts +0 -60
- package/src/libs/engine/src/sync/transports/websocket.js +0 -210
- package/src/libs/engine/src/sync/transports/websocket.js.map +0 -1
- package/src/libs/engine/src/sync/version-vector.d.ts +0 -47
- package/src/libs/engine/src/sync/version-vector.js +0 -218
- package/src/libs/engine/src/sync/version-vector.js.map +0 -1
- package/src/libs/engine/src/template-library/common-templates.d.ts +0 -46
- package/src/libs/engine/src/template-library/common-templates.js +0 -395
- package/src/libs/engine/src/template-library/common-templates.js.map +0 -1
- package/src/libs/engine/src/template-library/data-viz-templates.d.ts +0 -52
- package/src/libs/engine/src/template-library/data-viz-templates.js +0 -471
- package/src/libs/engine/src/template-library/data-viz-templates.js.map +0 -1
- package/src/libs/engine/src/template-library/erd-templates.d.ts +0 -71
- package/src/libs/engine/src/template-library/erd-templates.js +0 -773
- package/src/libs/engine/src/template-library/erd-templates.js.map +0 -1
- package/src/libs/engine/src/template-library/index.d.ts +0 -141
- package/src/libs/engine/src/template-library/index.js +0 -271
- package/src/libs/engine/src/template-library/index.js.map +0 -1
- package/src/libs/engine/src/template-library/integration.d.ts +0 -80
- package/src/libs/engine/src/template-library/integration.js +0 -141
- package/src/libs/engine/src/template-library/integration.js.map +0 -1
- package/src/libs/engine/src/template-library/workflow-templates.d.ts +0 -52
- package/src/libs/engine/src/template-library/workflow-templates.js +0 -438
- package/src/libs/engine/src/template-library/workflow-templates.js.map +0 -1
- package/src/libs/engine/src/templates/NodeFactory.d.ts +0 -118
- package/src/libs/engine/src/templates/NodeFactory.js +0 -436
- package/src/libs/engine/src/templates/NodeFactory.js.map +0 -1
- package/src/libs/engine/src/templates/NodeTemplate.d.ts +0 -342
- package/src/libs/engine/src/templates/NodeTemplate.js +0 -13
- package/src/libs/engine/src/templates/NodeTemplate.js.map +0 -1
- package/src/libs/engine/src/templates/TemplateLoader.d.ts +0 -46
- package/src/libs/engine/src/templates/TemplateLoader.js +0 -114
- package/src/libs/engine/src/templates/TemplateLoader.js.map +0 -1
- package/src/libs/engine/src/templates/TemplateRegistry.d.ts +0 -70
- package/src/libs/engine/src/templates/TemplateRegistry.js +0 -128
- package/src/libs/engine/src/templates/TemplateRegistry.js.map +0 -1
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-business-rule-task.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-business-rule-task.template.js +0 -123
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-business-rule-task.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-end-event.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-end-event.template.js +0 -123
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-end-event.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-error-event.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-error-event.template.js +0 -123
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-error-event.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-exclusive-gateway.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-exclusive-gateway.template.js +0 -124
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-exclusive-gateway.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-inclusive-gateway.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-inclusive-gateway.template.js +0 -123
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-inclusive-gateway.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-intermediate-event.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-intermediate-event.template.js +0 -124
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-intermediate-event.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-manual-task.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-manual-task.template.js +0 -123
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-manual-task.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-message-event.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-message-event.template.js +0 -122
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-message-event.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-parallel-gateway.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-parallel-gateway.template.js +0 -125
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-parallel-gateway.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-script-task.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-script-task.template.js +0 -123
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-script-task.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-service-task.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-service-task.template.js +0 -123
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-service-task.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-start-event.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-start-event.template.js +0 -123
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-start-event.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-task.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-task.template.js +0 -152
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-task.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-timer-event.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-timer-event.template.js +0 -123
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-timer-event.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-user-task.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-user-task.template.js +0 -123
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-user-task.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/bpmn/index.d.ts +0 -15
- package/src/libs/engine/src/templates/generated/bpmn/index.js +0 -34
- package/src/libs/engine/src/templates/generated/bpmn/index.js.map +0 -1
- package/src/libs/engine/src/templates/generated/erd/erd-associative-entity.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/erd/erd-associative-entity.template.js +0 -152
- package/src/libs/engine/src/templates/generated/erd/erd-associative-entity.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/erd/erd-attribute.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/erd/erd-attribute.template.js +0 -122
- package/src/libs/engine/src/templates/generated/erd/erd-attribute.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/erd/erd-bridge-entity.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/erd/erd-bridge-entity.template.js +0 -151
- package/src/libs/engine/src/templates/generated/erd/erd-bridge-entity.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/erd/erd-composite-attribute.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/erd/erd-composite-attribute.template.js +0 -122
- package/src/libs/engine/src/templates/generated/erd/erd-composite-attribute.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/erd/erd-derived-attribute.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/erd/erd-derived-attribute.template.js +0 -122
- package/src/libs/engine/src/templates/generated/erd/erd-derived-attribute.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/erd/erd-discriminator.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/erd/erd-discriminator.template.js +0 -123
- package/src/libs/engine/src/templates/generated/erd/erd-discriminator.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/erd/erd-entity.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/erd/erd-entity.template.js +0 -149
- package/src/libs/engine/src/templates/generated/erd/erd-entity.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/erd/erd-isa.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/erd/erd-isa.template.js +0 -123
- package/src/libs/engine/src/templates/generated/erd/erd-isa.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/erd/erd-key-attribute.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/erd/erd-key-attribute.template.js +0 -122
- package/src/libs/engine/src/templates/generated/erd/erd-key-attribute.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/erd/erd-multivalued-attribute.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/erd/erd-multivalued-attribute.template.js +0 -122
- package/src/libs/engine/src/templates/generated/erd/erd-multivalued-attribute.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/erd/erd-optional-attribute.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/erd/erd-optional-attribute.template.js +0 -122
- package/src/libs/engine/src/templates/generated/erd/erd-optional-attribute.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/erd/erd-partial-key.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/erd/erd-partial-key.template.js +0 -123
- package/src/libs/engine/src/templates/generated/erd/erd-partial-key.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/erd/erd-relationship.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/erd/erd-relationship.template.js +0 -121
- package/src/libs/engine/src/templates/generated/erd/erd-relationship.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/erd/erd-subtype.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/erd/erd-subtype.template.js +0 -123
- package/src/libs/engine/src/templates/generated/erd/erd-subtype.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/erd/erd-supertype.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/erd/erd-supertype.template.js +0 -123
- package/src/libs/engine/src/templates/generated/erd/erd-supertype.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/erd/erd-table.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/erd/erd-table.template.js +0 -123
- package/src/libs/engine/src/templates/generated/erd/erd-table.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/erd/erd-view.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/erd/erd-view.template.js +0 -123
- package/src/libs/engine/src/templates/generated/erd/erd-view.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/erd/erd-weak-entity.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/erd/erd-weak-entity.template.js +0 -149
- package/src/libs/engine/src/templates/generated/erd/erd-weak-entity.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/erd/erd-weak-relationship.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/erd/erd-weak-relationship.template.js +0 -122
- package/src/libs/engine/src/templates/generated/erd/erd-weak-relationship.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/erd/index.d.ts +0 -19
- package/src/libs/engine/src/templates/generated/erd/index.js +0 -42
- package/src/libs/engine/src/templates/generated/erd/index.js.map +0 -1
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-connector.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-connector.template.js +0 -123
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-connector.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-data.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-data.template.js +0 -123
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-data.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-decision.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-decision.template.js +0 -123
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-decision.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-delay.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-delay.template.js +0 -124
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-delay.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-display.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-display.template.js +0 -124
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-display.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-document.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-document.template.js +0 -123
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-document.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-manual-input.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-manual-input.template.js +0 -123
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-manual-input.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-manual-operation.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-manual-operation.template.js +0 -122
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-manual-operation.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-merge.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-merge.template.js +0 -122
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-merge.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-or.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-or.template.js +0 -123
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-or.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-predefined-process.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-predefined-process.template.js +0 -123
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-predefined-process.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-preparation.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-preparation.template.js +0 -123
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-preparation.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-process.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-process.template.js +0 -122
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-process.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-stored-data.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-stored-data.template.js +0 -123
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-stored-data.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-summing-junction.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-summing-junction.template.js +0 -124
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-summing-junction.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-terminal.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-terminal.template.js +0 -124
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-terminal.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/flowchart/index.d.ts +0 -16
- package/src/libs/engine/src/templates/generated/flowchart/index.js +0 -36
- package/src/libs/engine/src/templates/generated/flowchart/index.js.map +0 -1
- package/src/libs/engine/src/templates/generated/index.d.ts +0 -9
- package/src/libs/engine/src/templates/generated/index.js +0 -13
- package/src/libs/engine/src/templates/generated/index.js.map +0 -1
- package/src/libs/engine/src/templates/generated/register.d.ts +0 -23
- package/src/libs/engine/src/templates/generated/register.js +0 -31
- package/src/libs/engine/src/templates/generated/register.js.map +0 -1
- package/src/libs/engine/src/templates/generated/uml/index.d.ts +0 -30
- package/src/libs/engine/src/templates/generated/uml/index.js +0 -64
- package/src/libs/engine/src/templates/generated/uml/index.js.map +0 -1
- package/src/libs/engine/src/templates/generated/uml/uml-abstract-class.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/uml/uml-abstract-class.template.js +0 -204
- package/src/libs/engine/src/templates/generated/uml/uml-abstract-class.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/uml/uml-activation.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/uml/uml-activation.template.js +0 -124
- package/src/libs/engine/src/templates/generated/uml/uml-activation.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/uml/uml-activity-partition.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/uml/uml-activity-partition.template.js +0 -124
- package/src/libs/engine/src/templates/generated/uml/uml-activity-partition.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/uml/uml-activity.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/uml/uml-activity.template.js +0 -123
- package/src/libs/engine/src/templates/generated/uml/uml-activity.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/uml/uml-actor.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/uml/uml-actor.template.js +0 -123
- package/src/libs/engine/src/templates/generated/uml/uml-actor.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/uml/uml-class.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/uml/uml-class.template.js +0 -204
- package/src/libs/engine/src/templates/generated/uml/uml-class.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/uml/uml-collaboration.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/uml/uml-collaboration.template.js +0 -122
- package/src/libs/engine/src/templates/generated/uml/uml-collaboration.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/uml/uml-component.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/uml/uml-component.template.js +0 -122
- package/src/libs/engine/src/templates/generated/uml/uml-component.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/uml/uml-datatype.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/uml/uml-datatype.template.js +0 -204
- package/src/libs/engine/src/templates/generated/uml/uml-datatype.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/uml/uml-decision.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/uml/uml-decision.template.js +0 -124
- package/src/libs/engine/src/templates/generated/uml/uml-decision.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/uml/uml-enum.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/uml/uml-enum.template.js +0 -204
- package/src/libs/engine/src/templates/generated/uml/uml-enum.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/uml/uml-final-node.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/uml/uml-final-node.template.js +0 -124
- package/src/libs/engine/src/templates/generated/uml/uml-final-node.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/uml/uml-final-state.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/uml/uml-final-state.template.js +0 -124
- package/src/libs/engine/src/templates/generated/uml/uml-final-state.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/uml/uml-fork.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/uml/uml-fork.template.js +0 -125
- package/src/libs/engine/src/templates/generated/uml/uml-fork.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/uml/uml-initial-node.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/uml/uml-initial-node.template.js +0 -123
- package/src/libs/engine/src/templates/generated/uml/uml-initial-node.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/uml/uml-initial-state.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/uml/uml-initial-state.template.js +0 -123
- package/src/libs/engine/src/templates/generated/uml/uml-initial-state.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/uml/uml-interface.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/uml/uml-interface.template.js +0 -204
- package/src/libs/engine/src/templates/generated/uml/uml-interface.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/uml/uml-join.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/uml/uml-join.template.js +0 -125
- package/src/libs/engine/src/templates/generated/uml/uml-join.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/uml/uml-lifeline.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/uml/uml-lifeline.template.js +0 -123
- package/src/libs/engine/src/templates/generated/uml/uml-lifeline.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/uml/uml-merge.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/uml/uml-merge.template.js +0 -122
- package/src/libs/engine/src/templates/generated/uml/uml-merge.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/uml/uml-node.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/uml/uml-node.template.js +0 -122
- package/src/libs/engine/src/templates/generated/uml/uml-node.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/uml/uml-note.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/uml/uml-note.template.js +0 -123
- package/src/libs/engine/src/templates/generated/uml/uml-note.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/uml/uml-object.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/uml/uml-object.template.js +0 -204
- package/src/libs/engine/src/templates/generated/uml/uml-object.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/uml/uml-package.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/uml/uml-package.template.js +0 -123
- package/src/libs/engine/src/templates/generated/uml/uml-package.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/uml/uml-part.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/uml/uml-part.template.js +0 -122
- package/src/libs/engine/src/templates/generated/uml/uml-part.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/uml/uml-port.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/uml/uml-port.template.js +0 -123
- package/src/libs/engine/src/templates/generated/uml/uml-port.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/uml/uml-primitive-type.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/uml/uml-primitive-type.template.js +0 -204
- package/src/libs/engine/src/templates/generated/uml/uml-primitive-type.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/uml/uml-signal.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/uml/uml-signal.template.js +0 -123
- package/src/libs/engine/src/templates/generated/uml/uml-signal.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/uml/uml-state.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/uml/uml-state.template.js +0 -123
- package/src/libs/engine/src/templates/generated/uml/uml-state.template.js.map +0 -1
- package/src/libs/engine/src/templates/generated/uml/uml-use-case.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/uml/uml-use-case.template.js +0 -122
- package/src/libs/engine/src/templates/generated/uml/uml-use-case.template.js.map +0 -1
- package/src/libs/engine/src/templates/index.d.ts +0 -12
- package/src/libs/engine/src/templates/index.js +0 -27
- package/src/libs/engine/src/templates/index.js.map +0 -1
- package/src/libs/engine/src/templates/stencils.d.ts +0 -45
- package/src/libs/engine/src/templates/stencils.js +0 -85
- package/src/libs/engine/src/templates/stencils.js.map +0 -1
- package/src/libs/engine/src/types/domain/bpmn.d.ts +0 -25
- package/src/libs/engine/src/types/domain/bpmn.js +0 -313
- package/src/libs/engine/src/types/domain/bpmn.js.map +0 -1
- package/src/libs/engine/src/types/domain/erd.d.ts +0 -29
- package/src/libs/engine/src/types/domain/erd.js +0 -394
- package/src/libs/engine/src/types/domain/erd.js.map +0 -1
- package/src/libs/engine/src/types/domain/flowchart.d.ts +0 -26
- package/src/libs/engine/src/types/domain/flowchart.js +0 -434
- package/src/libs/engine/src/types/domain/flowchart.js.map +0 -1
- package/src/libs/engine/src/types/domain/index.d.ts +0 -4
- package/src/libs/engine/src/types/domain/index.js +0 -9
- package/src/libs/engine/src/types/domain/index.js.map +0 -1
- package/src/libs/engine/src/types/domain/uml.d.ts +0 -40
- package/src/libs/engine/src/types/domain/uml.js +0 -758
- package/src/libs/engine/src/types/domain/uml.js.map +0 -1
- package/src/libs/engine/src/types/event.types.d.ts +0 -142
- package/src/libs/engine/src/types/event.types.js +0 -96
- package/src/libs/engine/src/types/event.types.js.map +0 -1
- package/src/libs/engine/src/types/geometry.types.d.ts +0 -84
- package/src/libs/engine/src/types/geometry.types.js +0 -16
- package/src/libs/engine/src/types/geometry.types.js.map +0 -1
- package/src/libs/engine/src/types/index.d.ts +0 -7
- package/src/libs/engine/src/types/index.js +0 -14
- package/src/libs/engine/src/types/index.js.map +0 -1
- package/src/libs/engine/src/types/layout.types.d.ts +0 -148
- package/src/libs/engine/src/types/layout.types.js +0 -28
- package/src/libs/engine/src/types/layout.types.js.map +0 -1
- package/src/libs/engine/src/types/model.types.d.ts +0 -378
- package/src/libs/engine/src/types/model.types.js +0 -4
- package/src/libs/engine/src/types/model.types.js.map +0 -1
- package/src/libs/engine/src/types/performance.types.d.ts +0 -109
- package/src/libs/engine/src/types/performance.types.js +0 -122
- package/src/libs/engine/src/types/performance.types.js.map +0 -1
- package/src/libs/engine/src/types/plugin.types.d.ts +0 -30
- package/src/libs/engine/src/types/plugin.types.js +0 -4
- package/src/libs/engine/src/types/plugin.types.js.map +0 -1
- package/src/libs/engine/src/utils/deep-clone.d.ts +0 -9
- package/src/libs/engine/src/utils/deep-clone.js +0 -123
- package/src/libs/engine/src/utils/deep-clone.js.map +0 -1
- package/src/libs/engine/src/utils/geometry.d.ts +0 -45
- package/src/libs/engine/src/utils/geometry.js +0 -241
- package/src/libs/engine/src/utils/geometry.js.map +0 -1
- package/src/libs/engine/src/utils/id.d.ts +0 -22
- package/src/libs/engine/src/utils/id.js +0 -44
- package/src/libs/engine/src/utils/id.js.map +0 -1
- package/src/libs/engine/src/utils/index.d.ts +0 -3
- package/src/libs/engine/src/utils/index.js +0 -8
- package/src/libs/engine/src/utils/index.js.map +0 -1
- package/src/libs/engine/src/utils/transform.d.ts +0 -84
- package/src/libs/engine/src/utils/transform.js +0 -200
- package/src/libs/engine/src/utils/transform.js.map +0 -1
- package/src/libs/engine/src/validation/ConnectionGroupValidator.d.ts +0 -22
- package/src/libs/engine/src/validation/ConnectionGroupValidator.js +0 -56
- package/src/libs/engine/src/validation/ConnectionGroupValidator.js.map +0 -1
- package/src/libs/engine/src/validation/TypeRegistry.d.ts +0 -179
- package/src/libs/engine/src/validation/TypeRegistry.js +0 -358
- package/src/libs/engine/src/validation/TypeRegistry.js.map +0 -1
- package/src/libs/engine/src/validation/ValidationEngine.d.ts +0 -79
- package/src/libs/engine/src/validation/ValidationEngine.js +0 -1150
- package/src/libs/engine/src/validation/ValidationEngine.js.map +0 -1
- package/src/libs/engine/src/validation/index.d.ts +0 -3
- package/src/libs/engine/src/validation/index.js +0 -8
- package/src/libs/engine/src/validation/index.js.map +0 -1
- package/src/libs/renderer/src/a11y/diagram-outline.d.ts +0 -93
- package/src/libs/renderer/src/a11y/diagram-outline.js +0 -0
- package/src/libs/renderer/src/a11y/diagram-outline.js.map +0 -1
- package/src/libs/renderer/src/a11y/focus-containment.d.ts +0 -90
- package/src/libs/renderer/src/a11y/focus-containment.js +0 -173
- package/src/libs/renderer/src/a11y/focus-containment.js.map +0 -1
- package/src/libs/renderer/src/a11y/graph-topology.d.ts +0 -70
- package/src/libs/renderer/src/a11y/graph-topology.js +0 -0
- package/src/libs/renderer/src/a11y/graph-topology.js.map +0 -1
- package/src/libs/renderer/src/a11y/index.d.ts +0 -26
- package/src/libs/renderer/src/a11y/index.js +0 -30
- package/src/libs/renderer/src/a11y/index.js.map +0 -1
- package/src/libs/renderer/src/a11y/live-region.d.ts +0 -83
- package/src/libs/renderer/src/a11y/live-region.js +0 -170
- package/src/libs/renderer/src/a11y/live-region.js.map +0 -1
- package/src/libs/renderer/src/a11y/outline-view.d.ts +0 -62
- package/src/libs/renderer/src/a11y/outline-view.js +0 -158
- package/src/libs/renderer/src/a11y/outline-view.js.map +0 -1
- package/src/libs/renderer/src/a11y/reduced-motion.d.ts +0 -48
- package/src/libs/renderer/src/a11y/reduced-motion.js +0 -223
- package/src/libs/renderer/src/a11y/reduced-motion.js.map +0 -1
- package/src/libs/renderer/src/a11y/semantics.d.ts +0 -76
- package/src/libs/renderer/src/a11y/semantics.js +0 -229
- package/src/libs/renderer/src/a11y/semantics.js.map +0 -1
- package/src/libs/renderer/src/canvas/canvas-context.d.ts +0 -167
- package/src/libs/renderer/src/canvas/canvas-context.js +0 -267
- package/src/libs/renderer/src/canvas/canvas-context.js.map +0 -1
- package/src/libs/renderer/src/canvas/canvas-renderer.d.ts +0 -194
- package/src/libs/renderer/src/canvas/canvas-renderer.js +0 -600
- package/src/libs/renderer/src/canvas/canvas-renderer.js.map +0 -1
- package/src/libs/renderer/src/canvas/dirty-region.d.ts +0 -56
- package/src/libs/renderer/src/canvas/dirty-region.js +0 -171
- package/src/libs/renderer/src/canvas/dirty-region.js.map +0 -1
- package/src/libs/renderer/src/canvas/index.d.ts +0 -16
- package/src/libs/renderer/src/canvas/index.js +0 -79
- package/src/libs/renderer/src/canvas/index.js.map +0 -1
- package/src/libs/renderer/src/canvas/path-geometry.d.ts +0 -112
- package/src/libs/renderer/src/canvas/path-geometry.js +0 -673
- package/src/libs/renderer/src/canvas/path-geometry.js.map +0 -1
- package/src/libs/renderer/src/canvas/render-backend.d.ts +0 -133
- package/src/libs/renderer/src/canvas/render-backend.js +0 -339
- package/src/libs/renderer/src/canvas/render-backend.js.map +0 -1
- package/src/libs/renderer/src/canvas/style-resolution.d.ts +0 -101
- package/src/libs/renderer/src/canvas/style-resolution.js +0 -466
- package/src/libs/renderer/src/canvas/style-resolution.js.map +0 -1
- package/src/libs/renderer/src/canvas/tier-policy.d.ts +0 -33
- package/src/libs/renderer/src/canvas/tier-policy.js +0 -89
- package/src/libs/renderer/src/canvas/tier-policy.js.map +0 -1
- package/src/libs/renderer/src/canvas/vnode-painter.d.ts +0 -154
- package/src/libs/renderer/src/canvas/vnode-painter.js +0 -649
- package/src/libs/renderer/src/canvas/vnode-painter.js.map +0 -1
- package/src/libs/renderer/src/comments/comment-overlay.d.ts +0 -56
- package/src/libs/renderer/src/comments/comment-overlay.js +0 -127
- package/src/libs/renderer/src/comments/comment-overlay.js.map +0 -1
- package/src/libs/renderer/src/comments/comment-panel.d.ts +0 -45
- package/src/libs/renderer/src/comments/comment-panel.js +0 -287
- package/src/libs/renderer/src/comments/comment-panel.js.map +0 -1
- package/src/libs/renderer/src/comments/comment-pins.d.ts +0 -34
- package/src/libs/renderer/src/comments/comment-pins.js +0 -227
- package/src/libs/renderer/src/comments/comment-pins.js.map +0 -1
- package/src/libs/renderer/src/comments/index.d.ts +0 -3
- package/src/libs/renderer/src/comments/index.js +0 -17
- package/src/libs/renderer/src/comments/index.js.map +0 -1
- package/src/libs/renderer/src/export/assets.d.ts +0 -96
- package/src/libs/renderer/src/export/assets.js +0 -350
- package/src/libs/renderer/src/export/assets.js.map +0 -1
- package/src/libs/renderer/src/export/batch.d.ts +0 -49
- package/src/libs/renderer/src/export/batch.js +0 -95
- package/src/libs/renderer/src/export/batch.js.map +0 -1
- package/src/libs/renderer/src/export/bounds.d.ts +0 -81
- package/src/libs/renderer/src/export/bounds.js +0 -367
- package/src/libs/renderer/src/export/bounds.js.map +0 -1
- package/src/libs/renderer/src/export/capture-host.d.ts +0 -39
- package/src/libs/renderer/src/export/capture-host.js +0 -1259
- package/src/libs/renderer/src/export/capture-host.js.map +0 -1
- package/src/libs/renderer/src/export/custom-nodes.d.ts +0 -88
- package/src/libs/renderer/src/export/custom-nodes.js +0 -237
- package/src/libs/renderer/src/export/custom-nodes.js.map +0 -1
- package/src/libs/renderer/src/export/index.d.ts +0 -14
- package/src/libs/renderer/src/export/index.js +0 -30
- package/src/libs/renderer/src/export/index.js.map +0 -1
- package/src/libs/renderer/src/export/node-raster.d.ts +0 -60
- package/src/libs/renderer/src/export/node-raster.js +0 -161
- package/src/libs/renderer/src/export/node-raster.js.map +0 -1
- package/src/libs/renderer/src/export/pagination.d.ts +0 -116
- package/src/libs/renderer/src/export/pagination.js +0 -245
- package/src/libs/renderer/src/export/pagination.js.map +0 -1
- package/src/libs/renderer/src/export/pdf/flate.d.ts +0 -13
- package/src/libs/renderer/src/export/pdf/flate.js +0 -287
- package/src/libs/renderer/src/export/pdf/flate.js.map +0 -1
- package/src/libs/renderer/src/export/pdf/index.d.ts +0 -4
- package/src/libs/renderer/src/export/pdf/index.js +0 -15
- package/src/libs/renderer/src/export/pdf/index.js.map +0 -1
- package/src/libs/renderer/src/export/pdf/pdf-export.d.ts +0 -64
- package/src/libs/renderer/src/export/pdf/pdf-export.js +0 -1076
- package/src/libs/renderer/src/export/pdf/pdf-export.js.map +0 -1
- package/src/libs/renderer/src/export/pdf/pdf-path.d.ts +0 -17
- package/src/libs/renderer/src/export/pdf/pdf-path.js +0 -85
- package/src/libs/renderer/src/export/pdf/pdf-path.js.map +0 -1
- package/src/libs/renderer/src/export/pdf/pdf-primitives.d.ts +0 -115
- package/src/libs/renderer/src/export/pdf/pdf-primitives.js +0 -338
- package/src/libs/renderer/src/export/pdf/pdf-primitives.js.map +0 -1
- package/src/libs/renderer/src/export/pdf/png.d.ts +0 -25
- package/src/libs/renderer/src/export/pdf/png.js +0 -596
- package/src/libs/renderer/src/export/pdf/png.js.map +0 -1
- package/src/libs/renderer/src/export/raster.d.ts +0 -42
- package/src/libs/renderer/src/export/raster.js +0 -126
- package/src/libs/renderer/src/export/raster.js.map +0 -1
- package/src/libs/renderer/src/export/round-trip.d.ts +0 -83
- package/src/libs/renderer/src/export/round-trip.js +0 -432
- package/src/libs/renderer/src/export/round-trip.js.map +0 -1
- package/src/libs/renderer/src/export/scope.d.ts +0 -16
- package/src/libs/renderer/src/export/scope.js +0 -69
- package/src/libs/renderer/src/export/scope.js.map +0 -1
- package/src/libs/renderer/src/export/style-flattener.d.ts +0 -23
- package/src/libs/renderer/src/export/style-flattener.js +0 -144
- package/src/libs/renderer/src/export/style-flattener.js.map +0 -1
- package/src/libs/renderer/src/export/svg-export.d.ts +0 -123
- package/src/libs/renderer/src/export/svg-export.js +0 -178
- package/src/libs/renderer/src/export/svg-export.js.map +0 -1
- package/src/libs/renderer/src/export/vnode-serializer.d.ts +0 -75
- package/src/libs/renderer/src/export/vnode-serializer.js +0 -344
- package/src/libs/renderer/src/export/vnode-serializer.js.map +0 -1
- package/src/libs/renderer/src/ext/capabilities.d.ts +0 -178
- package/src/libs/renderer/src/ext/capabilities.js +0 -22
- package/src/libs/renderer/src/ext/capabilities.js.map +0 -1
- package/src/libs/renderer/src/ext/capability-factory.d.ts +0 -44
- package/src/libs/renderer/src/ext/capability-factory.js +0 -194
- package/src/libs/renderer/src/ext/capability-factory.js.map +0 -1
- package/src/libs/renderer/src/ext/components/attach.d.ts +0 -66
- package/src/libs/renderer/src/ext/components/attach.js +0 -112
- package/src/libs/renderer/src/ext/components/attach.js.map +0 -1
- package/src/libs/renderer/src/ext/components/background.d.ts +0 -84
- package/src/libs/renderer/src/ext/components/background.js +0 -202
- package/src/libs/renderer/src/ext/components/background.js.map +0 -1
- package/src/libs/renderer/src/ext/components/controls.d.ts +0 -49
- package/src/libs/renderer/src/ext/components/controls.js +0 -144
- package/src/libs/renderer/src/ext/components/controls.js.map +0 -1
- package/src/libs/renderer/src/ext/components/minimap.d.ts +0 -78
- package/src/libs/renderer/src/ext/components/minimap.js +0 -326
- package/src/libs/renderer/src/ext/components/minimap.js.map +0 -1
- package/src/libs/renderer/src/ext/diagram-registry.d.ts +0 -109
- package/src/libs/renderer/src/ext/diagram-registry.js +0 -303
- package/src/libs/renderer/src/ext/diagram-registry.js.map +0 -1
- package/src/libs/renderer/src/ext/disposable.d.ts +0 -51
- package/src/libs/renderer/src/ext/disposable.js +0 -104
- package/src/libs/renderer/src/ext/disposable.js.map +0 -1
- package/src/libs/renderer/src/ext/extension-host.d.ts +0 -144
- package/src/libs/renderer/src/ext/extension-host.js +0 -272
- package/src/libs/renderer/src/ext/extension-host.js.map +0 -1
- package/src/libs/renderer/src/ext/index.d.ts +0 -62
- package/src/libs/renderer/src/ext/index.js +0 -91
- package/src/libs/renderer/src/ext/index.js.map +0 -1
- package/src/libs/renderer/src/ext/link-pipeline.d.ts +0 -195
- package/src/libs/renderer/src/ext/link-pipeline.js +0 -431
- package/src/libs/renderer/src/ext/link-pipeline.js.map +0 -1
- package/src/libs/renderer/src/ext/manifest.d.ts +0 -73
- package/src/libs/renderer/src/ext/manifest.js +0 -149
- package/src/libs/renderer/src/ext/manifest.js.map +0 -1
- package/src/libs/renderer/src/ext/node-component.d.ts +0 -114
- package/src/libs/renderer/src/ext/node-component.js +0 -290
- package/src/libs/renderer/src/ext/node-component.js.map +0 -1
- package/src/libs/renderer/src/ext/plugins-loader.d.ts +0 -1
- package/src/libs/renderer/src/ext/plugins-loader.js +0 -18
- package/src/libs/renderer/src/ext/plugins-loader.js.map +0 -1
- package/src/libs/renderer/src/ext/portal.d.ts +0 -129
- package/src/libs/renderer/src/ext/portal.js +0 -267
- package/src/libs/renderer/src/ext/portal.js.map +0 -1
- package/src/libs/renderer/src/ext/public-api.d.ts +0 -101
- package/src/libs/renderer/src/ext/public-api.js +0 -201
- package/src/libs/renderer/src/ext/public-api.js.map +0 -1
- package/src/libs/renderer/src/ext/registry-scope.d.ts +0 -93
- package/src/libs/renderer/src/ext/registry-scope.js +0 -142
- package/src/libs/renderer/src/ext/registry-scope.js.map +0 -1
- package/src/libs/renderer/src/ext/tools.d.ts +0 -164
- package/src/libs/renderer/src/ext/tools.js +0 -170
- package/src/libs/renderer/src/ext/tools.js.map +0 -1
- package/src/libs/renderer/src/index.d.ts +0 -34
- package/src/libs/renderer/src/index.js +0 -108
- package/src/libs/renderer/src/index.js.map +0 -1
- package/src/libs/renderer/src/instance/create-diagram.d.ts +0 -385
- package/src/libs/renderer/src/instance/create-diagram.js +0 -1150
- package/src/libs/renderer/src/instance/create-diagram.js.map +0 -1
- package/src/libs/renderer/src/instance/diagram-instance.d.ts +0 -48
- package/src/libs/renderer/src/instance/diagram-instance.js +0 -51
- package/src/libs/renderer/src/instance/diagram-instance.js.map +0 -1
- package/src/libs/renderer/src/instance/dom-event-binder.d.ts +0 -394
- package/src/libs/renderer/src/instance/dom-event-binder.js +0 -2104
- package/src/libs/renderer/src/instance/dom-event-binder.js.map +0 -1
- package/src/libs/renderer/src/instance/index.d.ts +0 -5
- package/src/libs/renderer/src/instance/index.js +0 -13
- package/src/libs/renderer/src/instance/index.js.map +0 -1
- package/src/libs/renderer/src/instance/layers.d.ts +0 -31
- package/src/libs/renderer/src/instance/layers.js +0 -43
- package/src/libs/renderer/src/instance/layers.js.map +0 -1
- package/src/libs/renderer/src/instance/model-input.d.ts +0 -229
- package/src/libs/renderer/src/instance/model-input.js +0 -325
- package/src/libs/renderer/src/instance/model-input.js.map +0 -1
- package/src/libs/renderer/src/instance/render-scheduler.d.ts +0 -79
- package/src/libs/renderer/src/instance/render-scheduler.js +0 -96
- package/src/libs/renderer/src/instance/render-scheduler.js.map +0 -1
- package/src/libs/renderer/src/instance/wheel-scroll-yield.d.ts +0 -38
- package/src/libs/renderer/src/instance/wheel-scroll-yield.js +0 -118
- package/src/libs/renderer/src/instance/wheel-scroll-yield.js.map +0 -1
- package/src/libs/renderer/src/interaction/ControlPointEditor.d.ts +0 -160
- package/src/libs/renderer/src/interaction/ControlPointEditor.js +0 -360
- package/src/libs/renderer/src/interaction/ControlPointEditor.js.map +0 -1
- package/src/libs/renderer/src/interaction/WaypointEditor.d.ts +0 -133
- package/src/libs/renderer/src/interaction/WaypointEditor.js +0 -263
- package/src/libs/renderer/src/interaction/WaypointEditor.js.map +0 -1
- package/src/libs/renderer/src/interaction/highlighters.d.ts +0 -88
- package/src/libs/renderer/src/interaction/highlighters.js +0 -212
- package/src/libs/renderer/src/interaction/highlighters.js.map +0 -1
- package/src/libs/renderer/src/interaction/in-place-editor.d.ts +0 -63
- package/src/libs/renderer/src/interaction/in-place-editor.js +0 -141
- package/src/libs/renderer/src/interaction/in-place-editor.js.map +0 -1
- package/src/libs/renderer/src/interaction/index.d.ts +0 -11
- package/src/libs/renderer/src/interaction/index.js +0 -29
- package/src/libs/renderer/src/interaction/index.js.map +0 -1
- package/src/libs/renderer/src/interaction/ink-overlay.d.ts +0 -53
- package/src/libs/renderer/src/interaction/ink-overlay.js +0 -154
- package/src/libs/renderer/src/interaction/ink-overlay.js.map +0 -1
- package/src/libs/renderer/src/interaction/interaction-controller.d.ts +0 -555
- package/src/libs/renderer/src/interaction/interaction-controller.js +0 -1733
- package/src/libs/renderer/src/interaction/interaction-controller.js.map +0 -1
- package/src/libs/renderer/src/interaction/keyboard-navigation.d.ts +0 -223
- package/src/libs/renderer/src/interaction/keyboard-navigation.js +0 -885
- package/src/libs/renderer/src/interaction/keyboard-navigation.js.map +0 -1
- package/src/libs/renderer/src/interaction/selection-tools.d.ts +0 -343
- package/src/libs/renderer/src/interaction/selection-tools.js +0 -918
- package/src/libs/renderer/src/interaction/selection-tools.js.map +0 -1
- package/src/libs/renderer/src/interaction/snapping.d.ts +0 -210
- package/src/libs/renderer/src/interaction/snapping.js +0 -569
- package/src/libs/renderer/src/interaction/snapping.js.map +0 -1
- package/src/libs/renderer/src/interaction/touch-gestures.d.ts +0 -160
- package/src/libs/renderer/src/interaction/touch-gestures.js +0 -549
- package/src/libs/renderer/src/interaction/touch-gestures.js.map +0 -1
- package/src/libs/renderer/src/interaction/whiteboard-tools.d.ts +0 -171
- package/src/libs/renderer/src/interaction/whiteboard-tools.js +0 -476
- package/src/libs/renderer/src/interaction/whiteboard-tools.js.map +0 -1
- package/src/libs/renderer/src/lazy/host-culling.d.ts +0 -116
- package/src/libs/renderer/src/lazy/host-culling.js +0 -135
- package/src/libs/renderer/src/lazy/host-culling.js.map +0 -1
- package/src/libs/renderer/src/lazy/index.d.ts +0 -7
- package/src/libs/renderer/src/lazy/index.js +0 -28
- package/src/libs/renderer/src/lazy/index.js.map +0 -1
- package/src/libs/renderer/src/lazy/progressive-mounter.d.ts +0 -80
- package/src/libs/renderer/src/lazy/progressive-mounter.js +0 -264
- package/src/libs/renderer/src/lazy/progressive-mounter.js.map +0 -1
- package/src/libs/renderer/src/lazy/types.d.ts +0 -43
- package/src/libs/renderer/src/lazy/types.js +0 -14
- package/src/libs/renderer/src/lazy/types.js.map +0 -1
- package/src/libs/renderer/src/lazy/view-lifecycle.d.ts +0 -97
- package/src/libs/renderer/src/lazy/view-lifecycle.js +0 -221
- package/src/libs/renderer/src/lazy/view-lifecycle.js.map +0 -1
- package/src/libs/renderer/src/perf/index.d.ts +0 -2
- package/src/libs/renderer/src/perf/index.js +0 -7
- package/src/libs/renderer/src/perf/index.js.map +0 -1
- package/src/libs/renderer/src/perf/perf-hud.d.ts +0 -46
- package/src/libs/renderer/src/perf/perf-hud.js +0 -105
- package/src/libs/renderer/src/perf/perf-hud.js.map +0 -1
- package/src/libs/renderer/src/perf/quality-governor.d.ts +0 -77
- package/src/libs/renderer/src/perf/quality-governor.js +0 -154
- package/src/libs/renderer/src/perf/quality-governor.js.map +0 -1
- package/src/libs/renderer/src/platform/index.d.ts +0 -1
- package/src/libs/renderer/src/platform/index.js +0 -5
- package/src/libs/renderer/src/platform/index.js.map +0 -1
- package/src/libs/renderer/src/platform/platform.d.ts +0 -34
- package/src/libs/renderer/src/platform/platform.js +0 -64
- package/src/libs/renderer/src/platform/platform.js.map +0 -1
- package/src/libs/renderer/src/presence/bind-presence.d.ts +0 -51
- package/src/libs/renderer/src/presence/bind-presence.js +0 -144
- package/src/libs/renderer/src/presence/bind-presence.js.map +0 -1
- package/src/libs/renderer/src/presence/index.d.ts +0 -4
- package/src/libs/renderer/src/presence/index.js +0 -18
- package/src/libs/renderer/src/presence/index.js.map +0 -1
- package/src/libs/renderer/src/presence/presence-overlay.d.ts +0 -121
- package/src/libs/renderer/src/presence/presence-overlay.js +0 -465
- package/src/libs/renderer/src/presence/presence-overlay.js.map +0 -1
- package/src/libs/renderer/src/presentation/index.d.ts +0 -3
- package/src/libs/renderer/src/presentation/index.js +0 -14
- package/src/libs/renderer/src/presentation/index.js.map +0 -1
- package/src/libs/renderer/src/presentation/presentation.d.ts +0 -94
- package/src/libs/renderer/src/presentation/presentation.js +0 -158
- package/src/libs/renderer/src/presentation/presentation.js.map +0 -1
- package/src/libs/renderer/src/presentation/viewport-channel.d.ts +0 -78
- package/src/libs/renderer/src/presentation/viewport-channel.js +0 -86
- package/src/libs/renderer/src/presentation/viewport-channel.js.map +0 -1
- package/src/libs/renderer/src/services/animation-lifecycle.d.ts +0 -153
- package/src/libs/renderer/src/services/animation-lifecycle.js +0 -326
- package/src/libs/renderer/src/services/animation-lifecycle.js.map +0 -1
- package/src/libs/renderer/src/services/animation-performance.service.d.ts +0 -191
- package/src/libs/renderer/src/services/animation-performance.service.js +0 -371
- package/src/libs/renderer/src/services/animation-performance.service.js.map +0 -1
- package/src/libs/renderer/src/services/animation-sequencer.d.ts +0 -226
- package/src/libs/renderer/src/services/animation-sequencer.js +0 -379
- package/src/libs/renderer/src/services/animation-sequencer.js.map +0 -1
- package/src/libs/renderer/src/services/animation.service.d.ts +0 -182
- package/src/libs/renderer/src/services/animation.service.js +0 -858
- package/src/libs/renderer/src/services/animation.service.js.map +0 -1
- package/src/libs/renderer/src/services/custom-animation-registry.d.ts +0 -182
- package/src/libs/renderer/src/services/custom-animation-registry.js +0 -361
- package/src/libs/renderer/src/services/custom-animation-registry.js.map +0 -1
- package/src/libs/renderer/src/ssr/index.d.ts +0 -1
- package/src/libs/renderer/src/ssr/index.js +0 -6
- package/src/libs/renderer/src/ssr/index.js.map +0 -1
- package/src/libs/renderer/src/ssr/render-to-static.d.ts +0 -91
- package/src/libs/renderer/src/ssr/render-to-static.js +0 -81
- package/src/libs/renderer/src/ssr/render-to-static.js.map +0 -1
- package/src/libs/renderer/src/svg/ArrowRenderer.d.ts +0 -159
- package/src/libs/renderer/src/svg/ArrowRenderer.js +0 -723
- package/src/libs/renderer/src/svg/ArrowRenderer.js.map +0 -1
- package/src/libs/renderer/src/svg/JumpPointDetector.d.ts +0 -79
- package/src/libs/renderer/src/svg/JumpPointDetector.js +0 -176
- package/src/libs/renderer/src/svg/JumpPointDetector.js.map +0 -1
- package/src/libs/renderer/src/svg/JumpPointRenderer.d.ts +0 -59
- package/src/libs/renderer/src/svg/JumpPointRenderer.js +0 -309
- package/src/libs/renderer/src/svg/JumpPointRenderer.js.map +0 -1
- package/src/libs/renderer/src/svg/LabelRenderer.d.ts +0 -76
- package/src/libs/renderer/src/svg/LabelRenderer.js +0 -273
- package/src/libs/renderer/src/svg/LabelRenderer.js.map +0 -1
- package/src/libs/renderer/src/svg/auto-size.d.ts +0 -76
- package/src/libs/renderer/src/svg/auto-size.js +0 -142
- package/src/libs/renderer/src/svg/auto-size.js.map +0 -1
- package/src/libs/renderer/src/svg/channel-nudging.d.ts +0 -34
- package/src/libs/renderer/src/svg/channel-nudging.js +0 -226
- package/src/libs/renderer/src/svg/channel-nudging.js.map +0 -1
- package/src/libs/renderer/src/svg/edge-optimizer.d.ts +0 -228
- package/src/libs/renderer/src/svg/edge-optimizer.js +0 -606
- package/src/libs/renderer/src/svg/edge-optimizer.js.map +0 -1
- package/src/libs/renderer/src/svg/edge-templates.d.ts +0 -152
- package/src/libs/renderer/src/svg/edge-templates.js +0 -233
- package/src/libs/renderer/src/svg/edge-templates.js.map +0 -1
- package/src/libs/renderer/src/svg/html-node.d.ts +0 -50
- package/src/libs/renderer/src/svg/html-node.js +0 -214
- package/src/libs/renderer/src/svg/html-node.js.map +0 -1
- package/src/libs/renderer/src/svg/index.d.ts +0 -25
- package/src/libs/renderer/src/svg/index.js +0 -32
- package/src/libs/renderer/src/svg/index.js.map +0 -1
- package/src/libs/renderer/src/svg/link-fanout.d.ts +0 -127
- package/src/libs/renderer/src/svg/link-fanout.js +0 -333
- package/src/libs/renderer/src/svg/link-fanout.js.map +0 -1
- package/src/libs/renderer/src/svg/link-hit-test.d.ts +0 -142
- package/src/libs/renderer/src/svg/link-hit-test.js +0 -182
- package/src/libs/renderer/src/svg/link-hit-test.js.map +0 -1
- package/src/libs/renderer/src/svg/motion-tracker.d.ts +0 -18
- package/src/libs/renderer/src/svg/motion-tracker.js +0 -71
- package/src/libs/renderer/src/svg/motion-tracker.js.map +0 -1
- package/src/libs/renderer/src/svg/node-sizing.d.ts +0 -51
- package/src/libs/renderer/src/svg/node-sizing.js +0 -65
- package/src/libs/renderer/src/svg/node-sizing.js.map +0 -1
- package/src/libs/renderer/src/svg/node-toolbar.d.ts +0 -30
- package/src/libs/renderer/src/svg/node-toolbar.js +0 -45
- package/src/libs/renderer/src/svg/node-toolbar.js.map +0 -1
- package/src/libs/renderer/src/svg/notation-shapes.d.ts +0 -2
- package/src/libs/renderer/src/svg/notation-shapes.js +0 -126
- package/src/libs/renderer/src/svg/notation-shapes.js.map +0 -1
- package/src/libs/renderer/src/svg/paint-servers.d.ts +0 -49
- package/src/libs/renderer/src/svg/paint-servers.js +0 -225
- package/src/libs/renderer/src/svg/paint-servers.js.map +0 -1
- package/src/libs/renderer/src/svg/panel.d.ts +0 -115
- package/src/libs/renderer/src/svg/panel.js +0 -353
- package/src/libs/renderer/src/svg/panel.js.map +0 -1
- package/src/libs/renderer/src/svg/path-outline.d.ts +0 -35
- package/src/libs/renderer/src/svg/path-outline.js +0 -134
- package/src/libs/renderer/src/svg/path-outline.js.map +0 -1
- package/src/libs/renderer/src/svg/port-glyph.d.ts +0 -27
- package/src/libs/renderer/src/svg/port-glyph.js +0 -97
- package/src/libs/renderer/src/svg/port-glyph.js.map +0 -1
- package/src/libs/renderer/src/svg/port-label.d.ts +0 -74
- package/src/libs/renderer/src/svg/port-label.js +0 -201
- package/src/libs/renderer/src/svg/port-label.js.map +0 -1
- package/src/libs/renderer/src/svg/port-layout.d.ts +0 -50
- package/src/libs/renderer/src/svg/port-layout.js +0 -212
- package/src/libs/renderer/src/svg/port-layout.js.map +0 -1
- package/src/libs/renderer/src/svg/port-positioning.d.ts +0 -33
- package/src/libs/renderer/src/svg/port-positioning.js +0 -101
- package/src/libs/renderer/src/svg/port-positioning.js.map +0 -1
- package/src/libs/renderer/src/svg/port-spots.d.ts +0 -69
- package/src/libs/renderer/src/svg/port-spots.js +0 -154
- package/src/libs/renderer/src/svg/port-spots.js.map +0 -1
- package/src/libs/renderer/src/svg/route-memo.d.ts +0 -63
- package/src/libs/renderer/src/svg/route-memo.js +0 -206
- package/src/libs/renderer/src/svg/route-memo.js.map +0 -1
- package/src/libs/renderer/src/svg/route-solver-bridge.d.ts +0 -48
- package/src/libs/renderer/src/svg/route-solver-bridge.js +0 -151
- package/src/libs/renderer/src/svg/route-solver-bridge.js.map +0 -1
- package/src/libs/renderer/src/svg/shape-registry.d.ts +0 -189
- package/src/libs/renderer/src/svg/shape-registry.js +0 -1104
- package/src/libs/renderer/src/svg/shape-registry.js.map +0 -1
- package/src/libs/renderer/src/svg/stroke-layer.d.ts +0 -36
- package/src/libs/renderer/src/svg/stroke-layer.js +0 -183
- package/src/libs/renderer/src/svg/stroke-layer.js.map +0 -1
- package/src/libs/renderer/src/svg/svg-renderer.d.ts +0 -1737
- package/src/libs/renderer/src/svg/svg-renderer.js +0 -7772
- package/src/libs/renderer/src/svg/svg-renderer.js.map +0 -1
- package/src/libs/renderer/src/svg/text-block.d.ts +0 -54
- package/src/libs/renderer/src/svg/text-block.js +0 -171
- package/src/libs/renderer/src/svg/text-block.js.map +0 -1
- package/src/libs/renderer/src/themes/color-mode.d.ts +0 -81
- package/src/libs/renderer/src/themes/color-mode.js +0 -158
- package/src/libs/renderer/src/themes/color-mode.js.map +0 -1
- package/src/libs/renderer/src/themes/contrast.d.ts +0 -67
- package/src/libs/renderer/src/themes/contrast.js +0 -215
- package/src/libs/renderer/src/themes/contrast.js.map +0 -1
- package/src/libs/renderer/src/themes/default-dark-theme.d.ts +0 -6
- package/src/libs/renderer/src/themes/default-dark-theme.js +0 -126
- package/src/libs/renderer/src/themes/default-dark-theme.js.map +0 -1
- package/src/libs/renderer/src/themes/default-light-theme.d.ts +0 -6
- package/src/libs/renderer/src/themes/default-light-theme.js +0 -168
- package/src/libs/renderer/src/themes/default-light-theme.js.map +0 -1
- package/src/libs/renderer/src/themes/default-theme-set.d.ts +0 -10
- package/src/libs/renderer/src/themes/default-theme-set.js +0 -25
- package/src/libs/renderer/src/themes/default-theme-set.js.map +0 -1
- package/src/libs/renderer/src/themes/high-contrast-theme.d.ts +0 -5
- package/src/libs/renderer/src/themes/high-contrast-theme.js +0 -170
- package/src/libs/renderer/src/themes/high-contrast-theme.js.map +0 -1
- package/src/libs/renderer/src/themes/index.d.ts +0 -22
- package/src/libs/renderer/src/themes/index.js +0 -93
- package/src/libs/renderer/src/themes/index.js.map +0 -1
- package/src/libs/renderer/src/themes/style-cascade.d.ts +0 -23
- package/src/libs/renderer/src/themes/style-cascade.js +0 -194
- package/src/libs/renderer/src/themes/style-cascade.js.map +0 -1
- package/src/libs/renderer/src/themes/style-registry.d.ts +0 -40
- package/src/libs/renderer/src/themes/style-registry.js +0 -129
- package/src/libs/renderer/src/themes/style-registry.js.map +0 -1
- package/src/libs/renderer/src/themes/theme-a11y.d.ts +0 -65
- package/src/libs/renderer/src/themes/theme-a11y.js +0 -256
- package/src/libs/renderer/src/themes/theme-a11y.js.map +0 -1
- package/src/libs/renderer/src/themes/theme-css.d.ts +0 -30
- package/src/libs/renderer/src/themes/theme-css.js +0 -304
- package/src/libs/renderer/src/themes/theme-css.js.map +0 -1
- package/src/libs/renderer/src/themes/theme-ref.d.ts +0 -63
- package/src/libs/renderer/src/themes/theme-ref.js +0 -206
- package/src/libs/renderer/src/themes/theme-ref.js.map +0 -1
- package/src/libs/renderer/src/themes/theme-vars.d.ts +0 -49
- package/src/libs/renderer/src/themes/theme-vars.js +0 -112
- package/src/libs/renderer/src/themes/theme-vars.js.map +0 -1
- package/src/libs/renderer/src/themes/token-bridge.d.ts +0 -62
- package/src/libs/renderer/src/themes/token-bridge.js +0 -354
- package/src/libs/renderer/src/themes/token-bridge.js.map +0 -1
- package/src/libs/renderer/src/types/geometry.types.d.ts +0 -10
- package/src/libs/renderer/src/types/geometry.types.js +0 -3
- package/src/libs/renderer/src/types/geometry.types.js.map +0 -1
- package/src/libs/renderer/src/types/index.d.ts +0 -5
- package/src/libs/renderer/src/types/index.js +0 -14
- package/src/libs/renderer/src/types/index.js.map +0 -1
- package/src/libs/renderer/src/types/property-schema/conditions.d.ts +0 -96
- package/src/libs/renderer/src/types/property-schema/conditions.js +0 -8
- package/src/libs/renderer/src/types/property-schema/conditions.js.map +0 -1
- package/src/libs/renderer/src/types/property-schema/editor-types.d.ts +0 -310
- package/src/libs/renderer/src/types/property-schema/editor-types.js +0 -8
- package/src/libs/renderer/src/types/property-schema/editor-types.js.map +0 -1
- package/src/libs/renderer/src/types/property-schema/groups.d.ts +0 -58
- package/src/libs/renderer/src/types/property-schema/groups.js +0 -8
- package/src/libs/renderer/src/types/property-schema/groups.js.map +0 -1
- package/src/libs/renderer/src/types/property-schema/index.d.ts +0 -101
- package/src/libs/renderer/src/types/property-schema/index.js +0 -98
- package/src/libs/renderer/src/types/property-schema/index.js.map +0 -1
- package/src/libs/renderer/src/types/property-schema/property-definition.d.ts +0 -117
- package/src/libs/renderer/src/types/property-schema/property-definition.js +0 -8
- package/src/libs/renderer/src/types/property-schema/property-definition.js.map +0 -1
- package/src/libs/renderer/src/types/property-schema/schema.d.ts +0 -108
- package/src/libs/renderer/src/types/property-schema/schema.js +0 -8
- package/src/libs/renderer/src/types/property-schema/schema.js.map +0 -1
- package/src/libs/renderer/src/types/property-schema/validation.d.ts +0 -181
- package/src/libs/renderer/src/types/property-schema/validation.js +0 -8
- package/src/libs/renderer/src/types/property-schema/validation.js.map +0 -1
- package/src/libs/renderer/src/types/renderer.interface.d.ts +0 -623
- package/src/libs/renderer/src/types/renderer.interface.js +0 -3
- package/src/libs/renderer/src/types/renderer.interface.js.map +0 -1
- package/src/libs/renderer/src/types/theme.types.d.ts +0 -305
- package/src/libs/renderer/src/types/theme.types.js +0 -3
- package/src/libs/renderer/src/types/theme.types.js.map +0 -1
- package/src/libs/renderer/src/types/vnode.types.d.ts +0 -139
- package/src/libs/renderer/src/types/vnode.types.js +0 -3
- package/src/libs/renderer/src/types/vnode.types.js.map +0 -1
- package/src/libs/renderer/src/utils/animation-presets.d.ts +0 -310
- package/src/libs/renderer/src/utils/animation-presets.js +0 -406
- package/src/libs/renderer/src/utils/animation-presets.js.map +0 -1
- package/src/libs/renderer/src/utils/animation-priority.d.ts +0 -118
- package/src/libs/renderer/src/utils/animation-priority.js +0 -258
- package/src/libs/renderer/src/utils/animation-priority.js.map +0 -1
- package/src/libs/renderer/src/utils/animation-utils.d.ts +0 -159
- package/src/libs/renderer/src/utils/animation-utils.js +0 -323
- package/src/libs/renderer/src/utils/animation-utils.js.map +0 -1
- package/src/libs/renderer/src/utils/lru-cache.d.ts +0 -34
- package/src/libs/renderer/src/utils/lru-cache.js +0 -72
- package/src/libs/renderer/src/utils/lru-cache.js.map +0 -1
- package/src/libs/renderer/src/viewport/index.d.ts +0 -1
- package/src/libs/renderer/src/viewport/index.js +0 -6
- package/src/libs/renderer/src/viewport/index.js.map +0 -1
- package/src/libs/renderer/src/viewport/viewport-controller.d.ts +0 -198
- package/src/libs/renderer/src/viewport/viewport-controller.js +0 -315
- package/src/libs/renderer/src/viewport/viewport-controller.js.map +0 -1
- package/src/libs/renderer/src/vnode/container-id-generator.d.ts +0 -94
- package/src/libs/renderer/src/vnode/container-id-generator.js +0 -110
- package/src/libs/renderer/src/vnode/container-id-generator.js.map +0 -1
- package/src/libs/renderer/src/vnode/foreign-object.d.ts +0 -157
- package/src/libs/renderer/src/vnode/foreign-object.js +0 -167
- package/src/libs/renderer/src/vnode/foreign-object.js.map +0 -1
- package/src/libs/renderer/src/vnode/index.d.ts +0 -56
- package/src/libs/renderer/src/vnode/index.js +0 -78
- package/src/libs/renderer/src/vnode/index.js.map +0 -1
- package/src/libs/renderer/src/vnode/patch.d.ts +0 -189
- package/src/libs/renderer/src/vnode/patch.js +0 -564
- package/src/libs/renderer/src/vnode/patch.js.map +0 -1
- package/src/reachability.spec.ts +0 -173
- package/tsconfig.esm.json +0 -9
- package/tsconfig.json +0 -24
- package/tsconfig.lib.json +0 -10
- package/tsconfig.spec.json +0 -14
|
@@ -1,1976 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* `bindDashboardGrid(api, group, options)` — the dashboard-grid gesture binder
|
|
3
|
-
* (Phase 2 of the dashboard-grid plan; the plan page's Section-1 prototype is
|
|
4
|
-
* the executable spec of the feel this reproduces).
|
|
5
|
-
*
|
|
6
|
-
* One binder owns ONE `GridPackEngine` mirroring the group's members — the
|
|
7
|
-
* engine is the single source of truth for cell math (three swap shapes, the
|
|
8
|
-
* >50% anti-jitter gate, locked refusal, push-down + skipDown, teleport-home
|
|
9
|
-
* settle). This module only converts: pointer → cells in, cells → pixels out,
|
|
10
|
-
* gesture → ONE undoable BatchCommand.
|
|
11
|
-
*
|
|
12
|
-
* HOW THE RENDERER'S OWN NODE-DRAG IS BYPASSED — a registered `CanvasTool`
|
|
13
|
-
* (the renderer's wave-6 tool registry, `registerTool`). The tool makes a
|
|
14
|
-
* POINT-SPECIFIC claim (priority 2, like the whiteboard ink tool): any
|
|
15
|
-
* pointerdown whose hit node is a member of the bound group, or that lands
|
|
16
|
-
* inside a member group's frame with no node under it (the KPI-slab dead
|
|
17
|
-
* zone — otherwise the built-in group-drag would fight the pack layout
|
|
18
|
-
* there). A claimed gesture bypasses the ENTIRE built-in ladder — node-drag,
|
|
19
|
-
* selection, marquee, wave-12 resize handles — and the DomEventBinder
|
|
20
|
-
* forwards move/up/cancel with world coordinates already computed. This beats
|
|
21
|
-
* `behavior.draggable = false` (which still runs selection and shows the
|
|
22
|
-
* built-in resize handles) and beats capture-phase DOM listeners (which fight
|
|
23
|
-
* the binder's own preventDefault bookkeeping). `click` is NOT a
|
|
24
|
-
* compatibility mouse event, so the page's click-to-focus keeps firing for
|
|
25
|
-
* sub-threshold presses.
|
|
26
|
-
*
|
|
27
|
-
* DURING a gesture, positions are written through the MODEL, not commands:
|
|
28
|
-
* - the held tile is a GHOST — transition-exempt, tracking the cursor in
|
|
29
|
-
* WORLD coordinates (no `position: fixed` hack; the html layer carries the
|
|
30
|
-
* camera transform, and the tool events arrive already converted);
|
|
31
|
-
* - every cell crossing runs `engine.moveCheck` / `resizeCheck`; every item
|
|
32
|
-
* the engine displaced is re-projected cells→pixels. Those writes are
|
|
33
|
-
* DERIVED state, so they run inside `diagram.runSystemWrite` — which is
|
|
34
|
-
* also what lets a PINNED tile's pixels follow a fit-mode row-height
|
|
35
|
-
* change without violating the authoritative geometry lock (its CELLS
|
|
36
|
-
* never change; the pin protects the document fact, not the projection);
|
|
37
|
-
* - a dashed PLACEHOLDER (`.axdb-ph`) always shows the engine's current cell
|
|
38
|
-
* for the held tile — the truthful drop preview.
|
|
39
|
-
*
|
|
40
|
-
* The gesture ends in ONE `BatchCommand`: `SetGridItemCommand` per tile whose
|
|
41
|
-
* cells changed (cells are the truth) + `MoveNodeCommand`/`ResizeNodeCommand`
|
|
42
|
-
* (merge-opted-OUT) per unlocked node whose geometry changed, so a bare undo
|
|
43
|
-
* restores geometry AND cells with no binder help. Escape restores the
|
|
44
|
-
* engine snapshot (`cancelGesture`) and every pixel — nothing is committed.
|
|
45
|
-
*
|
|
46
|
-
* MEMBER GROUPS (e.g. a KPI section) ride as LOCKED slab items — never
|
|
47
|
-
* pushed, never packed, drags onto them refused (the prototype's pinned
|
|
48
|
-
* full-width row). Their cells persist in group metadata `gridItem` (groups
|
|
49
|
-
* carry no GridItemConfig); their INNER layout is their own concern — bind a
|
|
50
|
-
* second `bindDashboardGrid` on the section for a nested pack grid.
|
|
51
|
-
*/
|
|
52
|
-
|
|
53
|
-
import {
|
|
54
|
-
AddToGroupCommand,
|
|
55
|
-
BatchCommand,
|
|
56
|
-
Command,
|
|
57
|
-
GridPackEngine,
|
|
58
|
-
RemoveFromGroupCommand,
|
|
59
|
-
type DiagramModel,
|
|
60
|
-
type GridColumnLayout,
|
|
61
|
-
type GridItemConfig,
|
|
62
|
-
type GridPackItem,
|
|
63
|
-
type GroupModel,
|
|
64
|
-
type NodeModel,
|
|
65
|
-
} from '@grafloria/engine';
|
|
66
|
-
import { registerTool, type CanvasTool, type ToolPointerEvent } from '@grafloria/renderer';
|
|
67
|
-
import {
|
|
68
|
-
buildCommitCommands,
|
|
69
|
-
cellFromGridItem,
|
|
70
|
-
cellToRect,
|
|
71
|
-
columnUnitFor,
|
|
72
|
-
gridItemFromCell,
|
|
73
|
-
pointToCell,
|
|
74
|
-
rowHeightFor,
|
|
75
|
-
sizeToSpan,
|
|
76
|
-
type CellRect,
|
|
77
|
-
type DashboardGridGeometry,
|
|
78
|
-
type TileDelta,
|
|
79
|
-
type WorldRect,
|
|
80
|
-
} from './grid-mapping';
|
|
81
|
-
import { ensureDashboardKitStyles } from './styles';
|
|
82
|
-
|
|
83
|
-
/** The slice of a DiagramInstance the binder needs (structural, test-friendly). */
|
|
84
|
-
export interface DashboardGridApi {
|
|
85
|
-
getModel(): DiagramModel;
|
|
86
|
-
getEngine(): { commandManager: { execute(cmd: Command): Promise<unknown> | unknown } };
|
|
87
|
-
readonly container: HTMLElement;
|
|
88
|
-
readonly viewport?: {
|
|
89
|
-
clientToWorld(
|
|
90
|
-
clientX: number,
|
|
91
|
-
clientY: number,
|
|
92
|
-
rect: { left: number; top: number; width: number; height: number }
|
|
93
|
-
): { x: number; y: number };
|
|
94
|
-
};
|
|
95
|
-
render(): void;
|
|
96
|
-
renderNow(): void;
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
/**
|
|
100
|
-
* RESPONSIVE COLUMN COUNT — gridstack's `columnOpts`, driven by the BOARD's
|
|
101
|
-
* width. Give it `columnWidth`, or `breakpoints`, or both (breakpoints win).
|
|
102
|
-
*
|
|
103
|
-
* The binder owns the recomputation, not the page: it re-evaluates whenever
|
|
104
|
-
* the group's frame changes AND whenever the canvas container resizes, so a
|
|
105
|
-
* board that tracks the viewport and a board resized by a control both work
|
|
106
|
-
* with no page code. Column changes are DERIVED state — they re-project
|
|
107
|
-
* pixels and re-write cells through `runSystemWrite`, never through the
|
|
108
|
-
* command stack, so responding to a window resize can never land in undo.
|
|
109
|
-
*/
|
|
110
|
-
export interface DashboardResponsiveOptions {
|
|
111
|
-
/**
|
|
112
|
-
* Target width of ONE column, px. The count is `round(boardWidth /
|
|
113
|
-
* columnWidth)`, clamped to `[1, columnMax]` — gridstack's `columnWidth`.
|
|
114
|
-
*/
|
|
115
|
-
columnWidth?: number;
|
|
116
|
-
/**
|
|
117
|
-
* Upper bound for the derived count, and the count used when no breakpoint
|
|
118
|
-
* matches. Defaults to the binder's declared `columns`.
|
|
119
|
-
*/
|
|
120
|
-
columnMax?: number;
|
|
121
|
-
/**
|
|
122
|
-
* Explicit steps, gridstack-style: the FIRST entry (ascending by `w`) whose
|
|
123
|
-
* `w` is at least the board width decides the count. Wider than every entry
|
|
124
|
-
* → `columnMax`. Each step may name its own re-layout mode.
|
|
125
|
-
*/
|
|
126
|
-
breakpoints?: Array<{ w: number; c: number; layout?: GridColumnLayout }>;
|
|
127
|
-
/** Default re-layout mode for a change (see {@link GridColumnLayout}). */
|
|
128
|
-
layout?: GridColumnLayout;
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
export interface DashboardGridOptions {
|
|
132
|
-
/** Column count (default 12). With `responsive`, the starting/maximum count. */
|
|
133
|
-
columns?: number;
|
|
134
|
-
/**
|
|
135
|
-
* RIGHT-TO-LEFT board. Cells are unchanged — x=0 is still the first column —
|
|
136
|
-
* but it renders at the board's RIGHT edge and columns run leftwards. Purely
|
|
137
|
-
* a pixel-mapping concern: the engine, the cells and every saved layout are
|
|
138
|
-
* direction-agnostic.
|
|
139
|
-
*/
|
|
140
|
-
rtl?: boolean;
|
|
141
|
-
/** Derive the column count from the board's width (see the interface). */
|
|
142
|
-
responsive?: DashboardResponsiveOptions;
|
|
143
|
-
/** Fires after a responsive (or programmatic) column-count change. */
|
|
144
|
-
onColumnsChange?: (columns: number, previous: number) => void;
|
|
145
|
-
/** Gap between cells, px (default 12). */
|
|
146
|
-
gap?: number;
|
|
147
|
-
/** Board padding, px (default = gap). */
|
|
148
|
-
padding?: number;
|
|
149
|
-
/** Sizing mode (default 'fit' — the user decision recorded in the plan). */
|
|
150
|
-
sizing?: 'fit' | 'grow';
|
|
151
|
-
/** 'grow' row height, px (default 110). */
|
|
152
|
-
baseRowHeight?: number;
|
|
153
|
-
/** 'fit' row-height floor, px (default 28). */
|
|
154
|
-
minRowHeight?: number;
|
|
155
|
-
/**
|
|
156
|
-
* The board's design height (default: the group's height at bind time).
|
|
157
|
-
* 'fit' pins the frame to it; 'grow' never shrinks the frame below it.
|
|
158
|
-
*/
|
|
159
|
-
designHeight?: number;
|
|
160
|
-
/** Engine float mode (default false → gravity packs upward). */
|
|
161
|
-
float?: boolean;
|
|
162
|
-
/**
|
|
163
|
-
* Engine row bound (see GridPackOptions.maxRows). A nested strip like the
|
|
164
|
-
* KPI section passes 1: its DESIGN is one row, so height growth and pushes
|
|
165
|
-
* that would spill a sibling downward are refused (siblings shift along the
|
|
166
|
-
* row instead), and the strip can never be squeezed.
|
|
167
|
-
*/
|
|
168
|
-
maxRows?: number;
|
|
169
|
-
/**
|
|
170
|
-
* What dragging a tile OUT of the board means (default 'cancel' — the tile
|
|
171
|
-
* snaps back on release). 'remove' dims the ghost outside the board and a
|
|
172
|
-
* release outside calls `onRemoveRequest` — deletion stays on the page's
|
|
173
|
-
* atomic command path.
|
|
174
|
-
*/
|
|
175
|
-
dragOut?: 'remove' | 'cancel';
|
|
176
|
-
/**
|
|
177
|
-
* With dragOut:'remove', restrict deletion to an EXPLICIT drop zone (the
|
|
178
|
-
* page passes "over the palette" — gridstack web2's trash semantics).
|
|
179
|
-
* Outside the zone a release snaps home instead: a 60px overshoot past the
|
|
180
|
-
* frame edge must never destroy a widget (live parity review — the plan
|
|
181
|
-
* prototype clamps at its edges and cannot delete at all).
|
|
182
|
-
*/
|
|
183
|
-
removeZone?: (screen: { x: number; y: number }, world: { x: number; y: number }) => boolean;
|
|
184
|
-
/**
|
|
185
|
-
* Page hook for drag-out removal: execute ONE undoable batch that removes
|
|
186
|
-
* `nodeId` AND applies `displaced` (the survivors' cell commits, so undo
|
|
187
|
-
* restores the exact board).
|
|
188
|
-
*/
|
|
189
|
-
onRemoveRequest?: (nodeId: string, displaced: Command[]) => void | Promise<void>;
|
|
190
|
-
/**
|
|
191
|
-
* Page hook for palette drag-in release: add `node` (already carrying
|
|
192
|
-
* `cell` in its gridItem, already placed in the engine) through the page's
|
|
193
|
-
* command path, folding `displaced` into the same batch.
|
|
194
|
-
*/
|
|
195
|
-
onDropIn?: (node: NodeModel, cell: CellRect, displaced: Command[]) => void | Promise<void>;
|
|
196
|
-
/** Fires after commits/cancels/removals so the page can refocus/refit/flash. */
|
|
197
|
-
onGesture?: (e: {
|
|
198
|
-
type: 'commit' | 'cancel' | 'remove' | 'drop-in';
|
|
199
|
-
kind: 'move' | 'resize' | 'palette';
|
|
200
|
-
nodeId: string;
|
|
201
|
-
changed: boolean;
|
|
202
|
-
}) => void;
|
|
203
|
-
/** Inject the hover-revealed corner resize handle into member hosts (default true). */
|
|
204
|
-
resizeHandles?: boolean;
|
|
205
|
-
}
|
|
206
|
-
|
|
207
|
-
export interface DashboardGridHandle {
|
|
208
|
-
/** Rebuild the engine from the group's members + their cells, re-project pixels. */
|
|
209
|
-
sync(): void;
|
|
210
|
-
setSizing(mode: 'fit' | 'grow'): void;
|
|
211
|
-
getSizing(): 'fit' | 'grow';
|
|
212
|
-
/**
|
|
213
|
-
* Engine float mode, live (the prototype's second toggle): ON — tiles stay
|
|
214
|
-
* exactly where placed, vertical gaps are legal; OFF — gravity re-packs
|
|
215
|
-
* upward immediately.
|
|
216
|
-
*/
|
|
217
|
-
setFloat(on: boolean): void;
|
|
218
|
-
getFloat(): boolean;
|
|
219
|
-
/**
|
|
220
|
-
* Change the COLUMN COUNT live (gridstack's `column(n, layout)`), through the
|
|
221
|
-
* engine's per-column layout cache: shrinking caches the layout it leaves,
|
|
222
|
-
* growing back restores it. Returns true when the count actually changed.
|
|
223
|
-
*
|
|
224
|
-
* Calling this directly PINS the count — it switches the responsive
|
|
225
|
-
* evaluator off, so a board under an explicit count is not fought by its own
|
|
226
|
-
* width observer. `setColumns(n, layout, { responsive: true })` is the
|
|
227
|
-
* evaluator's own path back.
|
|
228
|
-
*/
|
|
229
|
-
setColumns(n: number, layout?: GridColumnLayout, opts?: { responsive?: boolean }): boolean;
|
|
230
|
-
getColumns(): number;
|
|
231
|
-
/** RTL mirroring, live. Cells never change — only the pixels. */
|
|
232
|
-
setRtl(on: boolean): void;
|
|
233
|
-
getRtl(): boolean;
|
|
234
|
-
/**
|
|
235
|
-
* The layout to PERSIST — from the engine's LARGEST cached column count, so
|
|
236
|
-
* saving while the board is narrow still saves the wide layout the user
|
|
237
|
-
* authored (gridstack's `save()` semantics).
|
|
238
|
-
*/
|
|
239
|
-
saveLayout(): { columns: number; cells: Map<string, CellRect> };
|
|
240
|
-
/** Live board metrics (mapping inputs + derived row height / rows). */
|
|
241
|
-
metrics(): {
|
|
242
|
-
/** The LIVE column count — with `responsive`, this is what width chose. */
|
|
243
|
-
columns: number;
|
|
244
|
-
/** The declared maximum (the count the board was authored at). */
|
|
245
|
-
maxColumns: number;
|
|
246
|
-
rtl: boolean;
|
|
247
|
-
responsive: boolean;
|
|
248
|
-
gap: number;
|
|
249
|
-
padding: number;
|
|
250
|
-
sizing: 'fit' | 'grow';
|
|
251
|
-
rows: number;
|
|
252
|
-
rowHeight: number;
|
|
253
|
-
columnUnit: number;
|
|
254
|
-
boardHeight: number;
|
|
255
|
-
frame: WorldRect;
|
|
256
|
-
};
|
|
257
|
-
/** The engine's cell record for a member (undefined when not a member). */
|
|
258
|
-
cellOf(id: string): CellRect | undefined;
|
|
259
|
-
/** World rect the member's current cells project to. */
|
|
260
|
-
cellRectOf(id: string): WorldRect | undefined;
|
|
261
|
-
/** Commands that reconcile the survivors after removing `id` — fold into the remove batch. */
|
|
262
|
-
planRemoval(id: string): Command[];
|
|
263
|
-
/**
|
|
264
|
-
* Programmatic single-step gestures — the demo asserts' deterministic hook.
|
|
265
|
-
* Same pipeline as a pointer gesture, committed as ONE BatchCommand. Unlike
|
|
266
|
-
* a pointer commit (which fire-and-forgets, wave-3 style, because the
|
|
267
|
-
* visible state is already final), these AWAIT the command execution so a
|
|
268
|
-
* caller can undo immediately after.
|
|
269
|
-
*/
|
|
270
|
-
moveTo(id: string, x: number, y: number): Promise<boolean>;
|
|
271
|
-
resizeTo(id: string, w: number, h: number): Promise<boolean>;
|
|
272
|
-
/**
|
|
273
|
-
* Palette drag-in: `node` is a DETACHED widget node (not yet in the model).
|
|
274
|
-
* A chip follows the cursor; entering the board places the node's item in
|
|
275
|
-
* the engine (first placement skips the anti-jitter gate, as gridstack's
|
|
276
|
-
* drag-in does) and the normal live-push loop takes over. Release inside →
|
|
277
|
-
* `onDropIn`; release outside / Escape → aborted, nothing committed.
|
|
278
|
-
*/
|
|
279
|
-
beginPaletteDrag(
|
|
280
|
-
node: NodeModel,
|
|
281
|
-
spec: { w: number; h: number; chip?: HTMLElement },
|
|
282
|
-
event: PointerEvent
|
|
283
|
-
): void;
|
|
284
|
-
dispose(): void;
|
|
285
|
-
}
|
|
286
|
-
|
|
287
|
-
interface GeomSnapshot {
|
|
288
|
-
pos: { x: number; y: number };
|
|
289
|
-
size: { width: number; height: number; depth?: number };
|
|
290
|
-
}
|
|
291
|
-
|
|
292
|
-
/**
|
|
293
|
-
* CROSS-CONTAINER HANDOFF. Binders on the same canvas register here; a move
|
|
294
|
-
* gesture whose pointer enters ANOTHER registered board (deepest wins — the
|
|
295
|
-
* nested KPI section beats the tab that contains it) hands the tile off: the
|
|
296
|
-
* source engine drops it (survivors settle home), the target engine ADOPTS it
|
|
297
|
-
* (gateless first placement, then the normal live-push loop), and release
|
|
298
|
-
* commits ONE batch across both boards — displaced tiles on each side,
|
|
299
|
-
* RemoveFromGroup + AddToGroup, the tile's new cells and geometry. This is
|
|
300
|
-
* what makes "drag Total Revenue under Top reps" MOVE the KPI to the main
|
|
301
|
-
* board rather than snapping it home (live review: parking was a guard, not
|
|
302
|
-
* the feature).
|
|
303
|
-
*/
|
|
304
|
-
interface BinderPeer {
|
|
305
|
-
group: GroupModel;
|
|
306
|
-
/** True when this board's engine holds `id` as an item (member lookup). */
|
|
307
|
-
hasItem(id: string): boolean;
|
|
308
|
-
/** The member's current cell in this board (undefined when absent). */
|
|
309
|
-
memberCell(id: string): CellRect | undefined;
|
|
310
|
-
/**
|
|
311
|
-
* Grow/shrink a member's row span by `dRows` — the parent half of nested
|
|
312
|
-
* HEIGHT ESCALATION: pulling a KPI taller than its one-row strip grows the
|
|
313
|
-
* STRIP's slab in the board that contains it (live report: "i cant
|
|
314
|
-
* increase height"). Returns the cell+frame before/after when accepted.
|
|
315
|
-
*/
|
|
316
|
-
resizeMemberBy(id: string, dRows: number): {
|
|
317
|
-
changed: boolean;
|
|
318
|
-
cellBefore?: CellRect;
|
|
319
|
-
cellAfter?: CellRect;
|
|
320
|
-
frameBefore?: WorldRect;
|
|
321
|
-
frameAfter?: WorldRect;
|
|
322
|
-
};
|
|
323
|
-
containsWorld(x: number, y: number): boolean;
|
|
324
|
-
/**
|
|
325
|
-
* Containment plus ONE extra row of grace below the frame — gridstack's
|
|
326
|
-
* `_extraDragRow`: dropping "under the last row" appends a row rather than
|
|
327
|
-
* counting as off-board. Consulted only when NO strict frame matched, so a
|
|
328
|
-
* nested strip's band can never steal a point that strictly belongs to the
|
|
329
|
-
* board below it.
|
|
330
|
-
*/
|
|
331
|
-
containsWorldExtended(x: number, y: number): boolean;
|
|
332
|
-
frameArea(): number;
|
|
333
|
-
adopt(
|
|
334
|
-
node: NodeModel,
|
|
335
|
-
world: { x: number; y: number },
|
|
336
|
-
pxSize: { width: number; height: number }
|
|
337
|
-
): AdoptedLeg | null;
|
|
338
|
-
}
|
|
339
|
-
|
|
340
|
-
interface AdoptedLeg {
|
|
341
|
-
groupId: string;
|
|
342
|
-
/** Drive the target engine from the source binder's pointer stream. */
|
|
343
|
-
move(world: { x: number; y: number }): void;
|
|
344
|
-
/** Undo the adoption: target board back to its pre-entry layout. */
|
|
345
|
-
abort(): void;
|
|
346
|
-
/**
|
|
347
|
-
* Close the leg for commit: returns the target-side displaced commands, the
|
|
348
|
-
* tile's final cell and its projected rect. Null when the tile is somehow
|
|
349
|
-
* gone (treat as abort).
|
|
350
|
-
*/
|
|
351
|
-
finalize(): { commands: Command[]; cell: CellRect; rect: WorldRect } | null;
|
|
352
|
-
}
|
|
353
|
-
|
|
354
|
-
const BOARD_REGISTRY = new Map<HTMLElement, Set<BinderPeer>>();
|
|
355
|
-
|
|
356
|
-
/**
|
|
357
|
-
* Undoable cell+frame write for a GROUP member (the strip's slab). The engine
|
|
358
|
-
* has Move/Resize commands for nodes but none for a group's frame, and slab
|
|
359
|
-
* cells live in group metadata — this closes nested height escalation into
|
|
360
|
-
* the gesture's single BatchCommand so one undo restores the strip too.
|
|
361
|
-
*/
|
|
362
|
-
class SetGroupCellCommand extends Command {
|
|
363
|
-
constructor(
|
|
364
|
-
private groupId: string,
|
|
365
|
-
private cellBefore: CellRect,
|
|
366
|
-
private cellAfter: CellRect,
|
|
367
|
-
private frameBefore: WorldRect,
|
|
368
|
-
private frameAfter: WorldRect
|
|
369
|
-
) {
|
|
370
|
-
super('Resize section');
|
|
371
|
-
}
|
|
372
|
-
|
|
373
|
-
private apply(context: { diagram?: unknown }, cell: CellRect, frame: WorldRect): void {
|
|
374
|
-
const diagram = context.diagram as DiagramModel | undefined;
|
|
375
|
-
const grp = diagram?.getGroup(this.groupId);
|
|
376
|
-
if (!grp) return;
|
|
377
|
-
grp.setMetadata('gridItem', gridItemFromCell(cell));
|
|
378
|
-
grp.setFrame({ ...frame });
|
|
379
|
-
}
|
|
380
|
-
|
|
381
|
-
override execute(context: { diagram?: unknown }): void {
|
|
382
|
-
this.apply(context, this.cellAfter, this.frameAfter);
|
|
383
|
-
}
|
|
384
|
-
|
|
385
|
-
override undo(context: { diagram?: unknown }): void {
|
|
386
|
-
this.apply(context, this.cellBefore, this.frameBefore);
|
|
387
|
-
}
|
|
388
|
-
|
|
389
|
-
override serialize() {
|
|
390
|
-
return {
|
|
391
|
-
id: this.id,
|
|
392
|
-
name: this.name,
|
|
393
|
-
timestamp: this.timestamp,
|
|
394
|
-
data: {
|
|
395
|
-
groupId: this.groupId,
|
|
396
|
-
cellBefore: this.cellBefore,
|
|
397
|
-
cellAfter: this.cellAfter,
|
|
398
|
-
frameBefore: this.frameBefore,
|
|
399
|
-
frameAfter: this.frameAfter,
|
|
400
|
-
},
|
|
401
|
-
};
|
|
402
|
-
}
|
|
403
|
-
}
|
|
404
|
-
|
|
405
|
-
interface GestureState {
|
|
406
|
-
kind: 'move' | 'resize' | 'palette';
|
|
407
|
-
id: string;
|
|
408
|
-
node: NodeModel;
|
|
409
|
-
pointerId: number | null;
|
|
410
|
-
started: boolean;
|
|
411
|
-
downClient: { x: number; y: number };
|
|
412
|
-
downWorld: { x: number; y: number };
|
|
413
|
-
grab: { dx: number; dy: number };
|
|
414
|
-
startCells: Map<string, CellRect>;
|
|
415
|
-
startGeom: Map<string, GeomSnapshot>;
|
|
416
|
-
startSize: { width: number; height: number };
|
|
417
|
-
spans: { w: number; h: number };
|
|
418
|
-
/** Drag-out: the item is currently absent from the engine. */
|
|
419
|
-
removedFromBoard: boolean;
|
|
420
|
-
/** Live cross-container adoption, when the pointer is over another board. */
|
|
421
|
-
leg: { peer: BinderPeer; adopted: AdoptedLeg } | null;
|
|
422
|
-
/** Last pointer position, world coords — release semantics depend on WHERE. */
|
|
423
|
-
lastWorld: { x: number; y: number } | null;
|
|
424
|
-
/** Last pointer position, screen coords (for the removeZone test). */
|
|
425
|
-
lastScreen: { x: number; y: number } | null;
|
|
426
|
-
/** The ghost's host element, cached for the same-event style fast-path. */
|
|
427
|
-
hostEl: HTMLElement | null;
|
|
428
|
-
/** Nested height escalation: net rows added to OUR group in the parent. */
|
|
429
|
-
esc: {
|
|
430
|
-
peer: BinderPeer;
|
|
431
|
-
rowsAdded: number;
|
|
432
|
-
cellBefore: CellRect;
|
|
433
|
-
frameBefore: WorldRect;
|
|
434
|
-
cellAfter: CellRect;
|
|
435
|
-
frameAfter: WorldRect;
|
|
436
|
-
} | null;
|
|
437
|
-
chip: HTMLElement | null;
|
|
438
|
-
}
|
|
439
|
-
|
|
440
|
-
const DRAG_THRESHOLD = 4;
|
|
441
|
-
const GLIDE_OFF_DELAY = 400;
|
|
442
|
-
|
|
443
|
-
let binderSeq = 0;
|
|
444
|
-
|
|
445
|
-
export function bindDashboardGrid(
|
|
446
|
-
api: DashboardGridApi,
|
|
447
|
-
group: GroupModel,
|
|
448
|
-
options: DashboardGridOptions = {}
|
|
449
|
-
): DashboardGridHandle {
|
|
450
|
-
ensureDashboardKitStyles();
|
|
451
|
-
|
|
452
|
-
const diagram = api.getModel();
|
|
453
|
-
/** The DECLARED count — the board's authored width, and the responsive cap. */
|
|
454
|
-
const maxColumns = options.columns ?? 12;
|
|
455
|
-
/** The LIVE count. Responsive width evaluation and `setColumns` move it. */
|
|
456
|
-
let columns = maxColumns;
|
|
457
|
-
let rtl = options.rtl === true;
|
|
458
|
-
const responsive = options.responsive;
|
|
459
|
-
/** An explicit `setColumns` pins the count and stops width evaluation. */
|
|
460
|
-
let responsivePinned = false;
|
|
461
|
-
const gap = options.gap ?? 12;
|
|
462
|
-
const padding = options.padding ?? gap;
|
|
463
|
-
const baseRowHeight = options.baseRowHeight ?? 110;
|
|
464
|
-
const minRowHeight = options.minRowHeight ?? 28;
|
|
465
|
-
let float = options.float ?? false;
|
|
466
|
-
const maxRows = options.maxRows;
|
|
467
|
-
const dragOut = options.dragOut ?? 'cancel';
|
|
468
|
-
const wantHandles = options.resizeHandles !== false;
|
|
469
|
-
const designH = options.designHeight ?? group.size?.height ?? 0;
|
|
470
|
-
|
|
471
|
-
let sizing: 'fit' | 'grow' = options.sizing ?? 'fit';
|
|
472
|
-
let engine = new GridPackEngine([], { columns, float, maxRows });
|
|
473
|
-
let gesture: GestureState | null = null;
|
|
474
|
-
let disposed = false;
|
|
475
|
-
/** Reentrancy guard: our own derived frame writes must not re-project. */
|
|
476
|
-
let writing = false;
|
|
477
|
-
let placeholder: HTMLElement | null = null;
|
|
478
|
-
/** Foreign tile currently adopted from another binder's gesture. */
|
|
479
|
-
let adoptedGhostId: string | null = null;
|
|
480
|
-
let glideTimer: ReturnType<typeof setTimeout> | null = null;
|
|
481
|
-
let ghostTimer: ReturnType<typeof setTimeout> | null = null;
|
|
482
|
-
|
|
483
|
-
const frame = (): WorldRect => ({
|
|
484
|
-
x: group.position.x,
|
|
485
|
-
y: group.position.y,
|
|
486
|
-
width: group.size?.width ?? 0,
|
|
487
|
-
height: group.size?.height ?? 0,
|
|
488
|
-
});
|
|
489
|
-
|
|
490
|
-
/** Entity size with GroupModel's optionality flattened away. */
|
|
491
|
-
const sizeOf = (e: {
|
|
492
|
-
size?: { width: number; height: number; depth?: number };
|
|
493
|
-
}): { width: number; height: number; depth?: number } =>
|
|
494
|
-
e.size ?? { width: 0, height: 0 };
|
|
495
|
-
|
|
496
|
-
/** Mapping geometry. 'fit' derives row height from the LIVE frame height
|
|
497
|
-
* (which `enforceBoardHeight` pins to the design height), so an externally
|
|
498
|
-
* resized board still fits itself. */
|
|
499
|
-
const geom = (): DashboardGridGeometry => ({
|
|
500
|
-
columns,
|
|
501
|
-
gap,
|
|
502
|
-
padding,
|
|
503
|
-
sizing,
|
|
504
|
-
baseRowHeight,
|
|
505
|
-
minRowHeight,
|
|
506
|
-
designHeight: sizing === 'fit' ? frame().height : designH,
|
|
507
|
-
rtl,
|
|
508
|
-
});
|
|
509
|
-
|
|
510
|
-
const rows = (): number => Math.max(1, engine.rows());
|
|
511
|
-
|
|
512
|
-
const htmlLayer = (): HTMLElement | null => api.container.querySelector('.grafloria-html-layer');
|
|
513
|
-
|
|
514
|
-
const hostOf = (id: string): HTMLElement | null => {
|
|
515
|
-
const esc =
|
|
516
|
-
typeof CSS !== 'undefined' && CSS.escape ? CSS.escape(id) : id.replace(/"/g, '\\"');
|
|
517
|
-
return api.container.querySelector(`.grafloria-node-host[data-node-id="${esc}"]`);
|
|
518
|
-
};
|
|
519
|
-
|
|
520
|
-
const memberEntity = (id: string): NodeModel | GroupModel | undefined =>
|
|
521
|
-
diagram.getNode(id) ?? diagram.getGroup(id);
|
|
522
|
-
|
|
523
|
-
const isGroupMember = (id: string): boolean => !diagram.getNode(id) && !!diagram.getGroup(id);
|
|
524
|
-
|
|
525
|
-
// -- cells <-> members -----------------------------------------------------
|
|
526
|
-
|
|
527
|
-
/** The engine item a member should enter as (cells from GridItemConfig /
|
|
528
|
-
* group metadata; spans falling back to metadata columnSpan/rowSpan; last
|
|
529
|
-
* resort: adopt from the current pixel geometry). */
|
|
530
|
-
const itemFor = (id: string): GridPackItem => {
|
|
531
|
-
const node = diagram.getNode(id);
|
|
532
|
-
if (node) {
|
|
533
|
-
const spanMeta = Number(node.getMetadata?.('columnSpan')) || 0;
|
|
534
|
-
const rowsMeta = Number(node.getMetadata?.('rowSpan')) || 0;
|
|
535
|
-
const locked = node.state?.locked === true;
|
|
536
|
-
const cell = cellFromGridItem(node.getGridItem?.(), {
|
|
537
|
-
w: spanMeta || 1,
|
|
538
|
-
h: rowsMeta || 1,
|
|
539
|
-
});
|
|
540
|
-
if (cell) return { id, ...cell, locked };
|
|
541
|
-
const f = frame();
|
|
542
|
-
const g = geom();
|
|
543
|
-
if (node.position && (node.position.x !== 0 || node.position.y !== 0)) {
|
|
544
|
-
// First adoption from pixels: where the tile already sits. The SPAN is
|
|
545
|
-
// resolved first because the mirrored (RTL) mapping needs it to turn a
|
|
546
|
-
// left edge into a cell.
|
|
547
|
-
const s = sizeToSpan(node.size.width, node.size.height, f, g, rows());
|
|
548
|
-
const p = pointToCell(node.position.x, node.position.y, f, g, rows(), spanMeta || s.w);
|
|
549
|
-
return {
|
|
550
|
-
id,
|
|
551
|
-
x: Math.max(0, p.x),
|
|
552
|
-
y: Math.max(0, p.y),
|
|
553
|
-
w: spanMeta || s.w,
|
|
554
|
-
h: rowsMeta || s.h,
|
|
555
|
-
locked,
|
|
556
|
-
};
|
|
557
|
-
}
|
|
558
|
-
return { id, x: 0, y: 0, w: spanMeta || 1, h: rowsMeta || 1, locked, autoPosition: true };
|
|
559
|
-
}
|
|
560
|
-
const grp = diagram.getGroup(id);
|
|
561
|
-
const cell = grp
|
|
562
|
-
? cellFromGridItem(grp.getMetadata?.('gridItem') as GridItemConfig | undefined)
|
|
563
|
-
: null;
|
|
564
|
-
// Member groups are LOCKED slabs (see the module doc).
|
|
565
|
-
if (cell) return { id, ...cell, locked: true };
|
|
566
|
-
return { id, x: 0, y: 0, w: columns, h: 1, locked: true, autoPosition: true };
|
|
567
|
-
};
|
|
568
|
-
|
|
569
|
-
/** Persist adopted cells so save/undo round-trips them. */
|
|
570
|
-
const persistAdoptedCell = (id: string, item: GridPackItem): void => {
|
|
571
|
-
const cell = { x: item.x, y: item.y, w: item.w, h: item.h };
|
|
572
|
-
const node = diagram.getNode(id);
|
|
573
|
-
if (node) {
|
|
574
|
-
if (!cellFromGridItem(node.getGridItem?.())) node.setGridItem(gridItemFromCell(cell));
|
|
575
|
-
return;
|
|
576
|
-
}
|
|
577
|
-
const grp = diagram.getGroup(id);
|
|
578
|
-
if (grp && !cellFromGridItem(grp.getMetadata?.('gridItem') as GridItemConfig | undefined)) {
|
|
579
|
-
grp.setMetadata('gridItem', gridItemFromCell(cell));
|
|
580
|
-
}
|
|
581
|
-
};
|
|
582
|
-
|
|
583
|
-
// -- projection: cells -> pixels -------------------------------------------
|
|
584
|
-
|
|
585
|
-
/** Write one member's projected rect (derived state → system write). */
|
|
586
|
-
const writeRect = (id: string, r: WorldRect): void => {
|
|
587
|
-
const node = diagram.getNode(id);
|
|
588
|
-
if (node) {
|
|
589
|
-
if (
|
|
590
|
-
Math.abs(node.position.x - r.x) > 0.25 ||
|
|
591
|
-
Math.abs(node.position.y - r.y) > 0.25 ||
|
|
592
|
-
Math.abs(node.size.width - r.width) > 0.25 ||
|
|
593
|
-
Math.abs(node.size.height - r.height) > 0.25
|
|
594
|
-
) {
|
|
595
|
-
diagram.runSystemWrite(() => {
|
|
596
|
-
node.setPosition(r.x, r.y);
|
|
597
|
-
node.setSize(r.width, r.height, node.size.depth ?? 0);
|
|
598
|
-
});
|
|
599
|
-
}
|
|
600
|
-
return;
|
|
601
|
-
}
|
|
602
|
-
const grp = diagram.getGroup(id);
|
|
603
|
-
if (grp) {
|
|
604
|
-
const p = grp.position;
|
|
605
|
-
const s = sizeOf(grp);
|
|
606
|
-
if (
|
|
607
|
-
Math.abs(p.x - r.x) > 0.25 ||
|
|
608
|
-
Math.abs(p.y - r.y) > 0.25 ||
|
|
609
|
-
Math.abs(s.width - r.width) > 0.25 ||
|
|
610
|
-
Math.abs(s.height - r.height) > 0.25
|
|
611
|
-
) {
|
|
612
|
-
diagram.runSystemWrite(() => grp.setFrame({ ...r }));
|
|
613
|
-
}
|
|
614
|
-
}
|
|
615
|
-
};
|
|
616
|
-
|
|
617
|
-
/** Enforce the board-frame height the sizing mode implies. */
|
|
618
|
-
const enforceBoardHeight = (): void => {
|
|
619
|
-
if (designH <= 0) return;
|
|
620
|
-
const r = rows();
|
|
621
|
-
const target =
|
|
622
|
-
sizing === 'fit'
|
|
623
|
-
? designH
|
|
624
|
-
: Math.max(designH, 2 * padding + r * baseRowHeight + (r - 1) * gap);
|
|
625
|
-
const f = frame();
|
|
626
|
-
if (Math.abs(f.height - target) > 0.5) {
|
|
627
|
-
writing = true;
|
|
628
|
-
try {
|
|
629
|
-
diagram.runSystemWrite(() =>
|
|
630
|
-
group.setFrame({ x: f.x, y: f.y, width: f.width, height: target })
|
|
631
|
-
);
|
|
632
|
-
} finally {
|
|
633
|
-
writing = false;
|
|
634
|
-
}
|
|
635
|
-
}
|
|
636
|
-
};
|
|
637
|
-
|
|
638
|
-
/** Project every member from its engine cells (the ghost is exempt). */
|
|
639
|
-
const project = (): void => {
|
|
640
|
-
enforceBoardHeight();
|
|
641
|
-
writing = true;
|
|
642
|
-
try {
|
|
643
|
-
const f = frame();
|
|
644
|
-
const g = geom();
|
|
645
|
-
const r = rows();
|
|
646
|
-
for (const item of engine.getItems()) {
|
|
647
|
-
if (gesture?.started && item.id === gesture.id) continue; // the ghost
|
|
648
|
-
if (item.id === adoptedGhostId) continue; // a ghost adopted from another binder
|
|
649
|
-
writeRect(item.id, cellToRect(item, f, g, r));
|
|
650
|
-
}
|
|
651
|
-
} finally {
|
|
652
|
-
writing = false;
|
|
653
|
-
}
|
|
654
|
-
syncPlaceholder();
|
|
655
|
-
};
|
|
656
|
-
|
|
657
|
-
// -- placeholder / ghost chrome --------------------------------------------
|
|
658
|
-
|
|
659
|
-
/** The placeholder exists ONLY while a gesture is live — so at any moment
|
|
660
|
-
* the DOM holds at most one `.axdb-ph` per active gesture, not one idle
|
|
661
|
-
* div per bound board. */
|
|
662
|
-
const syncPlaceholder = (): void => {
|
|
663
|
-
const ghostId =
|
|
664
|
-
adoptedGhostId ?? (gesture?.started && !gesture.removedFromBoard ? gesture.id : null);
|
|
665
|
-
const item = ghostId ? engine.getItem(ghostId) : undefined;
|
|
666
|
-
const live = !!item;
|
|
667
|
-
if (!live || !item) {
|
|
668
|
-
placeholder?.remove();
|
|
669
|
-
placeholder = null;
|
|
670
|
-
return;
|
|
671
|
-
}
|
|
672
|
-
const layer = htmlLayer();
|
|
673
|
-
if (!layer) return;
|
|
674
|
-
if (!placeholder || placeholder.parentElement !== layer) {
|
|
675
|
-
placeholder?.remove();
|
|
676
|
-
placeholder = document.createElement('div');
|
|
677
|
-
placeholder.className = 'axdb-ph';
|
|
678
|
-
layer.prepend(placeholder);
|
|
679
|
-
}
|
|
680
|
-
const r = cellToRect(item, frame(), geom(), rows());
|
|
681
|
-
placeholder.style.display = 'block';
|
|
682
|
-
placeholder.style.left = `${r.x}px`;
|
|
683
|
-
placeholder.style.top = `${r.y}px`;
|
|
684
|
-
placeholder.style.width = `${r.width}px`;
|
|
685
|
-
placeholder.style.height = `${r.height}px`;
|
|
686
|
-
};
|
|
687
|
-
|
|
688
|
-
const armGlide = (): void => {
|
|
689
|
-
htmlLayer()?.classList.add('axdb-glide');
|
|
690
|
-
if (glideTimer) clearTimeout(glideTimer);
|
|
691
|
-
};
|
|
692
|
-
|
|
693
|
-
const disarmGlideSoon = (): void => {
|
|
694
|
-
if (glideTimer) clearTimeout(glideTimer);
|
|
695
|
-
glideTimer = setTimeout(() => htmlLayer()?.classList.remove('axdb-glide'), GLIDE_OFF_DELAY);
|
|
696
|
-
};
|
|
697
|
-
|
|
698
|
-
const setGhost = (id: string, on: boolean): void => {
|
|
699
|
-
const host = hostOf(id);
|
|
700
|
-
if (!host) return;
|
|
701
|
-
if (on) {
|
|
702
|
-
if (ghostTimer) clearTimeout(ghostTimer);
|
|
703
|
-
host.classList.add('axdb-ghost');
|
|
704
|
-
host.classList.remove('axdb-out');
|
|
705
|
-
} else {
|
|
706
|
-
host.classList.remove('axdb-out');
|
|
707
|
-
// Keep transition-exemption through the drop write so the snap into the
|
|
708
|
-
// placeholder is INSTANT (gridstack-style), then let glides resume.
|
|
709
|
-
if (ghostTimer) clearTimeout(ghostTimer);
|
|
710
|
-
ghostTimer = setTimeout(() => host.classList.remove('axdb-ghost'), 60);
|
|
711
|
-
}
|
|
712
|
-
};
|
|
713
|
-
|
|
714
|
-
// -- resize handles ---------------------------------------------------------
|
|
715
|
-
|
|
716
|
-
const syncHandles = (): void => {
|
|
717
|
-
if (!wantHandles || disposed) return;
|
|
718
|
-
for (const id of group.members ?? []) {
|
|
719
|
-
const node = diagram.getNode(id);
|
|
720
|
-
if (!node) continue;
|
|
721
|
-
const host = hostOf(id);
|
|
722
|
-
if (!host) continue;
|
|
723
|
-
const existing = host.querySelector(':scope > .axdb-rs');
|
|
724
|
-
if (node.state?.locked === true) {
|
|
725
|
-
existing?.remove();
|
|
726
|
-
continue;
|
|
727
|
-
}
|
|
728
|
-
const rs = existing ?? document.createElement('div');
|
|
729
|
-
if (!existing) {
|
|
730
|
-
rs.className = 'axdb-rs';
|
|
731
|
-
rs.setAttribute('title', 'Resize');
|
|
732
|
-
host.appendChild(rs);
|
|
733
|
-
}
|
|
734
|
-
// The grab corner mirrors with the board: bottom-right LTR, bottom-left
|
|
735
|
-
// RTL — the same corner the tile actually grows from in each direction.
|
|
736
|
-
rs.classList.toggle('axdb-rs--rtl', rtl);
|
|
737
|
-
}
|
|
738
|
-
};
|
|
739
|
-
|
|
740
|
-
const hostObserver = new MutationObserver(() => syncHandles());
|
|
741
|
-
|
|
742
|
-
// -- gesture snapshot / commit ---------------------------------------------
|
|
743
|
-
|
|
744
|
-
const snapshotAll = (): { cells: Map<string, CellRect>; geoms: Map<string, GeomSnapshot> } => {
|
|
745
|
-
const cells = new Map<string, CellRect>();
|
|
746
|
-
const geoms = new Map<string, GeomSnapshot>();
|
|
747
|
-
for (const item of engine.getItems()) {
|
|
748
|
-
cells.set(item.id, { x: item.x, y: item.y, w: item.w, h: item.h });
|
|
749
|
-
const e = memberEntity(item.id);
|
|
750
|
-
if (e) {
|
|
751
|
-
const es = sizeOf(e);
|
|
752
|
-
geoms.set(item.id, {
|
|
753
|
-
pos: { x: e.position.x, y: e.position.y },
|
|
754
|
-
size: { width: es.width, height: es.height, depth: es.depth },
|
|
755
|
-
});
|
|
756
|
-
}
|
|
757
|
-
}
|
|
758
|
-
return { cells, geoms };
|
|
759
|
-
};
|
|
760
|
-
|
|
761
|
-
const deltasSince = (
|
|
762
|
-
startCells: Map<string, CellRect>,
|
|
763
|
-
startGeom: Map<string, GeomSnapshot>,
|
|
764
|
-
excludeId?: string
|
|
765
|
-
): TileDelta[] => {
|
|
766
|
-
const out: TileDelta[] = [];
|
|
767
|
-
for (const item of engine.getItems()) {
|
|
768
|
-
if (item.id === excludeId) continue;
|
|
769
|
-
const before = startCells.get(item.id);
|
|
770
|
-
const geomBefore = startGeom.get(item.id);
|
|
771
|
-
const e = memberEntity(item.id);
|
|
772
|
-
if (!before || !geomBefore || !e) continue; // items added mid-gesture commit separately
|
|
773
|
-
out.push({
|
|
774
|
-
id: item.id,
|
|
775
|
-
locked: !!item.locked,
|
|
776
|
-
isGroup: isGroupMember(item.id),
|
|
777
|
-
cellBefore: before,
|
|
778
|
-
cellAfter: { x: item.x, y: item.y, w: item.w, h: item.h },
|
|
779
|
-
posBefore: geomBefore.pos,
|
|
780
|
-
posAfter: { x: e.position.x, y: e.position.y },
|
|
781
|
-
sizeBefore: geomBefore.size,
|
|
782
|
-
sizeAfter: (({ width, height, depth }) => ({ width, height, depth }))(sizeOf(e)),
|
|
783
|
-
});
|
|
784
|
-
}
|
|
785
|
-
return out;
|
|
786
|
-
};
|
|
787
|
-
|
|
788
|
-
const execute = (name: string, commands: Command[]): boolean => {
|
|
789
|
-
if (commands.length === 0) return false;
|
|
790
|
-
void api.getEngine().commandManager.execute(new BatchCommand(name, commands));
|
|
791
|
-
return true;
|
|
792
|
-
};
|
|
793
|
-
|
|
794
|
-
// -- membership + bounds sync ----------------------------------------------
|
|
795
|
-
|
|
796
|
-
const onMemberAdded = (id: string): void => {
|
|
797
|
-
if (disposed) return;
|
|
798
|
-
if (!engine.getItem(id)) {
|
|
799
|
-
const item = itemFor(id);
|
|
800
|
-
const placed = engine.add(item);
|
|
801
|
-
if (placed) persistAdoptedCell(id, placed);
|
|
802
|
-
}
|
|
803
|
-
project();
|
|
804
|
-
syncHandles();
|
|
805
|
-
api.render();
|
|
806
|
-
};
|
|
807
|
-
|
|
808
|
-
const onMemberRemoved = (id: string): void => {
|
|
809
|
-
if (disposed) return;
|
|
810
|
-
if (gesture && gesture.id === id) cancelActiveGesture(false);
|
|
811
|
-
if (!engine.getItem(id)) return;
|
|
812
|
-
engine.remove(id);
|
|
813
|
-
project();
|
|
814
|
-
api.render();
|
|
815
|
-
};
|
|
816
|
-
|
|
817
|
-
const onBoundsChanged = (): void => {
|
|
818
|
-
if (disposed || writing) return;
|
|
819
|
-
if (evaluateResponsive()) return; // a column change already re-projected
|
|
820
|
-
project();
|
|
821
|
-
api.render();
|
|
822
|
-
};
|
|
823
|
-
|
|
824
|
-
// -- responsive column count -----------------------------------------------
|
|
825
|
-
|
|
826
|
-
/**
|
|
827
|
-
* The column count this board's CURRENT WIDTH asks for. Breakpoints win when
|
|
828
|
-
* given (first step, ascending, whose `w` is at least the board width);
|
|
829
|
-
* otherwise `columnWidth` divides the width. Both clamp to `[1, columnMax]`.
|
|
830
|
-
*/
|
|
831
|
-
const columnsForWidth = (width: number): { c: number; layout?: GridColumnLayout } | null => {
|
|
832
|
-
if (!responsive) return null;
|
|
833
|
-
const max = Math.max(1, responsive.columnMax ?? maxColumns);
|
|
834
|
-
if (responsive.breakpoints?.length) {
|
|
835
|
-
const steps = [...responsive.breakpoints].sort((a, b) => a.w - b.w);
|
|
836
|
-
const hit = steps.find((s) => width <= s.w);
|
|
837
|
-
const c = hit ? hit.c : max;
|
|
838
|
-
return { c: Math.max(1, Math.min(max, c)), layout: hit?.layout ?? responsive.layout };
|
|
839
|
-
}
|
|
840
|
-
if (responsive.columnWidth && responsive.columnWidth > 0) {
|
|
841
|
-
const c = Math.round(width / responsive.columnWidth);
|
|
842
|
-
return { c: Math.max(1, Math.min(max, c)), layout: responsive.layout };
|
|
843
|
-
}
|
|
844
|
-
return null;
|
|
845
|
-
};
|
|
846
|
-
|
|
847
|
-
/**
|
|
848
|
-
* Re-derive the column count from the board width and apply it. Returns true
|
|
849
|
-
* when the count actually changed (the caller then skips its own project(),
|
|
850
|
-
* because applyColumns already re-projected everything).
|
|
851
|
-
*/
|
|
852
|
-
const evaluateResponsive = (): boolean => {
|
|
853
|
-
if (!responsive || responsivePinned || disposed || gesture) return false;
|
|
854
|
-
const want = columnsForWidth(frame().width);
|
|
855
|
-
if (!want || want.c === columns) return false;
|
|
856
|
-
return applyColumns(want.c, want.layout ?? responsive.layout ?? 'moveScale');
|
|
857
|
-
};
|
|
858
|
-
|
|
859
|
-
/**
|
|
860
|
-
* Cells written by a column change are DERIVED STATE, not an edit: they go
|
|
861
|
-
* through `runSystemWrite` exactly like the pixel projection does, never
|
|
862
|
-
* through the command stack. A browser resize must not be undoable, and the
|
|
863
|
-
* authored layout is safe regardless — the engine's cache still holds it,
|
|
864
|
-
* and `saveLayout()` serialises from the widest cached count.
|
|
865
|
-
*/
|
|
866
|
-
const persistLiveCells = (): void => {
|
|
867
|
-
writing = true;
|
|
868
|
-
try {
|
|
869
|
-
diagram.runSystemWrite(() => {
|
|
870
|
-
for (const item of engine.getItems()) {
|
|
871
|
-
const cell = { x: item.x, y: item.y, w: item.w, h: item.h };
|
|
872
|
-
const node = diagram.getNode(item.id);
|
|
873
|
-
if (node) {
|
|
874
|
-
node.setGridItem(gridItemFromCell(cell));
|
|
875
|
-
continue;
|
|
876
|
-
}
|
|
877
|
-
diagram.getGroup(item.id)?.setMetadata('gridItem', gridItemFromCell(cell));
|
|
878
|
-
}
|
|
879
|
-
});
|
|
880
|
-
} finally {
|
|
881
|
-
writing = false;
|
|
882
|
-
}
|
|
883
|
-
};
|
|
884
|
-
|
|
885
|
-
const applyColumns = (n: number, layout: GridColumnLayout): boolean => {
|
|
886
|
-
const prev = columns;
|
|
887
|
-
if (!engine.setColumns(n, layout)) return false;
|
|
888
|
-
columns = engine.columns;
|
|
889
|
-
persistLiveCells();
|
|
890
|
-
armGlide();
|
|
891
|
-
project();
|
|
892
|
-
syncPlaceholder();
|
|
893
|
-
disarmGlideSoon();
|
|
894
|
-
api.renderNow();
|
|
895
|
-
options.onColumnsChange?.(columns, prev);
|
|
896
|
-
return true;
|
|
897
|
-
};
|
|
898
|
-
|
|
899
|
-
/**
|
|
900
|
-
* The canvas container resizing is the OTHER trigger for re-evaluation: a
|
|
901
|
-
* page that sizes its boards from the viewport changes the frame in the same
|
|
902
|
-
* turn, and a page that does not still wants the check to run. The binder
|
|
903
|
-
* owns this — pages should never have to wire a ResizeObserver for it.
|
|
904
|
-
*/
|
|
905
|
-
const containerObserver =
|
|
906
|
-
responsive && typeof ResizeObserver !== 'undefined'
|
|
907
|
-
? new ResizeObserver(() => {
|
|
908
|
-
if (disposed) return;
|
|
909
|
-
evaluateResponsive();
|
|
910
|
-
})
|
|
911
|
-
: null;
|
|
912
|
-
|
|
913
|
-
// -- board hit-testing ------------------------------------------------------
|
|
914
|
-
|
|
915
|
-
const boardVisualHeight = (): number => {
|
|
916
|
-
const f = frame();
|
|
917
|
-
const g = geom();
|
|
918
|
-
return Math.max(f.height, 2 * padding + rows() * (rowHeightFor(g, rows()) + gap) - gap);
|
|
919
|
-
};
|
|
920
|
-
|
|
921
|
-
const worldInsideBoard = (x: number, y: number): boolean => {
|
|
922
|
-
const f = frame();
|
|
923
|
-
return x >= f.x && x <= f.x + f.width && y >= f.y && y <= f.y + boardVisualHeight();
|
|
924
|
-
};
|
|
925
|
-
|
|
926
|
-
/** Small overshoots CLAMP onto the board instead of counting as off-board —
|
|
927
|
-
* the plan prototype cannot leave its board at all (cells clamp at the
|
|
928
|
-
* edges), so a 60px slip past the frame must not dim or delete. */
|
|
929
|
-
const EDGE_GRACE = 60;
|
|
930
|
-
const worldInsideBoardGrace = (x: number, y: number): boolean => {
|
|
931
|
-
if (worldInsideBoardExtended(x, y)) return true;
|
|
932
|
-
const f = frame();
|
|
933
|
-
const band = rowHeightFor(geom(), rows()) + gap;
|
|
934
|
-
return (
|
|
935
|
-
x >= f.x - EDGE_GRACE &&
|
|
936
|
-
x <= f.x + f.width + EDGE_GRACE &&
|
|
937
|
-
y >= f.y - EDGE_GRACE &&
|
|
938
|
-
y <= f.y + boardVisualHeight() + band + EDGE_GRACE
|
|
939
|
-
);
|
|
940
|
-
};
|
|
941
|
-
|
|
942
|
-
/** One extra row of grace below the frame (gridstack's extra drag row). */
|
|
943
|
-
const worldInsideBoardExtended = (x: number, y: number): boolean => {
|
|
944
|
-
if (worldInsideBoard(x, y)) return true;
|
|
945
|
-
const f = frame();
|
|
946
|
-
const band = rowHeightFor(geom(), rows()) + gap;
|
|
947
|
-
return x >= f.x && x <= f.x + f.width && y >= f.y && y <= f.y + boardVisualHeight() + band;
|
|
948
|
-
};
|
|
949
|
-
|
|
950
|
-
const insideMemberGroupFrame = (x: number, y: number): boolean => {
|
|
951
|
-
for (const id of group.members ?? []) {
|
|
952
|
-
const grp = diagram.getGroup(id);
|
|
953
|
-
if (!grp) continue;
|
|
954
|
-
const p = grp.position;
|
|
955
|
-
const s = sizeOf(grp);
|
|
956
|
-
if (x >= p.x && x <= p.x + s.width && y >= p.y && y <= p.y + s.height) return true;
|
|
957
|
-
}
|
|
958
|
-
return false;
|
|
959
|
-
};
|
|
960
|
-
|
|
961
|
-
const capturePointer = (pointerId: number | null): void => {
|
|
962
|
-
if (pointerId === null) return;
|
|
963
|
-
try {
|
|
964
|
-
api.container.setPointerCapture?.(pointerId);
|
|
965
|
-
} catch {
|
|
966
|
-
/* capture is best-effort */
|
|
967
|
-
}
|
|
968
|
-
};
|
|
969
|
-
|
|
970
|
-
const releasePointer = (pointerId: number | null): void => {
|
|
971
|
-
if (pointerId === null) return;
|
|
972
|
-
try {
|
|
973
|
-
api.container.releasePointerCapture?.(pointerId);
|
|
974
|
-
} catch {
|
|
975
|
-
/* nothing to release */
|
|
976
|
-
}
|
|
977
|
-
};
|
|
978
|
-
|
|
979
|
-
// -- the gesture machine ----------------------------------------------------
|
|
980
|
-
|
|
981
|
-
const beginGestureVisuals = (g: GestureState): void => {
|
|
982
|
-
engine.beginGesture();
|
|
983
|
-
const snap = snapshotAll();
|
|
984
|
-
g.startCells = snap.cells;
|
|
985
|
-
g.startGeom = snap.geoms;
|
|
986
|
-
g.started = true;
|
|
987
|
-
armGlide();
|
|
988
|
-
if (g.kind !== 'palette') {
|
|
989
|
-
setGhost(g.id, true);
|
|
990
|
-
g.hostEl = hostOf(g.id);
|
|
991
|
-
capturePointer(g.pointerId);
|
|
992
|
-
api.container.style.cursor = g.kind === 'resize' ? 'nwse-resize' : 'grabbing';
|
|
993
|
-
}
|
|
994
|
-
syncPlaceholder();
|
|
995
|
-
};
|
|
996
|
-
|
|
997
|
-
/**
|
|
998
|
-
* SAME-EVENT ghost fast-path — the vanilla-parity fix. The prototype writes
|
|
999
|
-
* the tile's style inside the pointermove handler, so the ghost sits at 0px
|
|
1000
|
-
* behind the cursor; writing only the MODEL leaves the host to the next
|
|
1001
|
-
* render frame (~7.5px measured trailing at hand speed). Hosts live in the
|
|
1002
|
-
* HTML layer whose transform carries the camera, so world px == style px;
|
|
1003
|
-
* the renderer's next pass writes the identical values from the model — no
|
|
1004
|
-
* fight, just no wait.
|
|
1005
|
-
*/
|
|
1006
|
-
const ghostStyleFastPath = (
|
|
1007
|
-
g: GestureState,
|
|
1008
|
-
rect: { x?: number; y?: number; width?: number; height?: number }
|
|
1009
|
-
): void => {
|
|
1010
|
-
const el = g.hostEl;
|
|
1011
|
-
if (!el) return;
|
|
1012
|
-
if (rect.x !== undefined) el.style.left = `${rect.x}px`;
|
|
1013
|
-
if (rect.y !== undefined) el.style.top = `${rect.y}px`;
|
|
1014
|
-
if (rect.width !== undefined) el.style.width = `${rect.width}px`;
|
|
1015
|
-
if (rect.height !== undefined) el.style.height = `${rect.height}px`;
|
|
1016
|
-
};
|
|
1017
|
-
|
|
1018
|
-
const cleanupGestureVisuals = (g: GestureState): void => {
|
|
1019
|
-
if (g.kind !== 'palette') setGhost(g.id, false);
|
|
1020
|
-
disarmGlideSoon();
|
|
1021
|
-
releasePointer(g.pointerId);
|
|
1022
|
-
api.container.style.cursor = '';
|
|
1023
|
-
g.chip?.remove();
|
|
1024
|
-
placeholder?.remove();
|
|
1025
|
-
placeholder = null;
|
|
1026
|
-
};
|
|
1027
|
-
|
|
1028
|
-
const commitGesture = (g: GestureState): void => {
|
|
1029
|
-
// SETTLE FIRST, then measure. Mid-drag the board can transiently hold more
|
|
1030
|
-
// rows than the drop keeps (hover above a locked slab pushes everything
|
|
1031
|
-
// down), and fit-mode row height shrinks with it — every displaced tile is
|
|
1032
|
-
// re-projected at that TRANSIENT height. The old order computed the commit
|
|
1033
|
-
// deltas from those pixels and, when the engine settled back with no cell
|
|
1034
|
-
// changes, nothing ever wrote the pixels back: a refused drop left the
|
|
1035
|
-
// whole board at the mid-drag height, KPI value lines clipped to nothing
|
|
1036
|
-
// (live audit repro: drag the trend chart above the KPI row → every widget
|
|
1037
|
-
// 122px→85px with identical cells). endGesture() keeps the settled cells;
|
|
1038
|
-
// project() then derives every member's pixels — the ghost included — from
|
|
1039
|
-
// that truth, so the deltas below record settled geometry and undo/redo
|
|
1040
|
-
// both replay it faithfully.
|
|
1041
|
-
engine.endGesture();
|
|
1042
|
-
cleanupGestureVisuals(g);
|
|
1043
|
-
gesture = null;
|
|
1044
|
-
project();
|
|
1045
|
-
const deltas = deltasSince(g.startCells, g.startGeom);
|
|
1046
|
-
const commands = buildCommitCommands(deltas);
|
|
1047
|
-
if (g.esc && g.esc.rowsAdded !== 0) {
|
|
1048
|
-
commands.push(
|
|
1049
|
-
new SetGroupCellCommand(
|
|
1050
|
-
group.id,
|
|
1051
|
-
g.esc.cellBefore,
|
|
1052
|
-
g.esc.cellAfter,
|
|
1053
|
-
g.esc.frameBefore,
|
|
1054
|
-
g.esc.frameAfter
|
|
1055
|
-
)
|
|
1056
|
-
);
|
|
1057
|
-
}
|
|
1058
|
-
const changed = execute(g.kind === 'resize' ? 'Resize widget' : 'Move widget', commands);
|
|
1059
|
-
api.renderNow();
|
|
1060
|
-
options.onGesture?.({ type: 'commit', kind: g.kind, nodeId: g.id, changed });
|
|
1061
|
-
};
|
|
1062
|
-
|
|
1063
|
-
const cancelActiveGesture = (notify = true): void => {
|
|
1064
|
-
const g = gesture;
|
|
1065
|
-
if (!g) return;
|
|
1066
|
-
gesture = null;
|
|
1067
|
-
if (g.kind !== 'palette' && g.leg) {
|
|
1068
|
-
g.leg.adopted.abort(); // target board back to its pre-entry layout
|
|
1069
|
-
g.leg = null;
|
|
1070
|
-
}
|
|
1071
|
-
if (g.kind !== 'palette' && g.esc && g.esc.rowsAdded !== 0) {
|
|
1072
|
-
g.esc.peer.resizeMemberBy(group.id, -g.esc.rowsAdded); // slab back down
|
|
1073
|
-
g.esc = null;
|
|
1074
|
-
}
|
|
1075
|
-
if (g.started) {
|
|
1076
|
-
if (g.removedFromBoard || g.kind === 'palette') {
|
|
1077
|
-
// The engine cannot resurrect a removed item — rebuild from the
|
|
1078
|
-
// gesture-start snapshot (cells are pure data; the constructor
|
|
1079
|
-
// honours legal layouts verbatim).
|
|
1080
|
-
engine.endGesture();
|
|
1081
|
-
const items: GridPackItem[] = [];
|
|
1082
|
-
for (const [id, c] of g.startCells) {
|
|
1083
|
-
const lockedNode = diagram.getNode(id)?.state?.locked === true;
|
|
1084
|
-
items.push({ id, ...c, locked: lockedNode || isGroupMember(id) });
|
|
1085
|
-
}
|
|
1086
|
-
engine = new GridPackEngine(items, { columns, float, maxRows });
|
|
1087
|
-
} else {
|
|
1088
|
-
engine.cancelGesture();
|
|
1089
|
-
}
|
|
1090
|
-
// Restore every pixel to its gesture-start state.
|
|
1091
|
-
writing = true;
|
|
1092
|
-
try {
|
|
1093
|
-
for (const [id, snap] of g.startGeom) {
|
|
1094
|
-
const e = memberEntity(id);
|
|
1095
|
-
if (!e) continue;
|
|
1096
|
-
const node = diagram.getNode(id);
|
|
1097
|
-
diagram.runSystemWrite(() => {
|
|
1098
|
-
if (node) {
|
|
1099
|
-
node.setPosition(snap.pos.x, snap.pos.y);
|
|
1100
|
-
node.setSize(snap.size.width, snap.size.height, snap.size.depth ?? 0);
|
|
1101
|
-
} else {
|
|
1102
|
-
(e as GroupModel).setFrame({
|
|
1103
|
-
x: snap.pos.x,
|
|
1104
|
-
y: snap.pos.y,
|
|
1105
|
-
width: snap.size.width,
|
|
1106
|
-
height: snap.size.height,
|
|
1107
|
-
});
|
|
1108
|
-
}
|
|
1109
|
-
});
|
|
1110
|
-
}
|
|
1111
|
-
} finally {
|
|
1112
|
-
writing = false;
|
|
1113
|
-
}
|
|
1114
|
-
} else {
|
|
1115
|
-
engine.endGesture();
|
|
1116
|
-
}
|
|
1117
|
-
cleanupGestureVisuals(g);
|
|
1118
|
-
enforceBoardHeight();
|
|
1119
|
-
api.renderNow();
|
|
1120
|
-
if (notify) {
|
|
1121
|
-
options.onGesture?.({ type: 'cancel', kind: g.kind, nodeId: g.id, changed: false });
|
|
1122
|
-
}
|
|
1123
|
-
};
|
|
1124
|
-
|
|
1125
|
-
/** Centre a w×h-span tile's top-left under the cursor, in world px. */
|
|
1126
|
-
const centredTopLeft = (
|
|
1127
|
-
worldX: number,
|
|
1128
|
-
worldY: number,
|
|
1129
|
-
spans: { w: number; h: number }
|
|
1130
|
-
): { x: number; y: number } => {
|
|
1131
|
-
const f = frame();
|
|
1132
|
-
const g = geom();
|
|
1133
|
-
const cu = columnUnitFor(g, f.width);
|
|
1134
|
-
const rh = rowHeightFor(g, rows());
|
|
1135
|
-
return {
|
|
1136
|
-
x: worldX - (spans.w * (cu + gap) - gap) / 2,
|
|
1137
|
-
y: worldY - (spans.h * (rh + gap) - gap) / 2,
|
|
1138
|
-
};
|
|
1139
|
-
};
|
|
1140
|
-
|
|
1141
|
-
const onToolMove = (ev: ToolPointerEvent): void => {
|
|
1142
|
-
const g = gesture;
|
|
1143
|
-
if (!g || g.kind === 'palette') return;
|
|
1144
|
-
if (!g.started) {
|
|
1145
|
-
const dx = ev.screen.x - g.downClient.x;
|
|
1146
|
-
const dy = ev.screen.y - g.downClient.y;
|
|
1147
|
-
if (Math.abs(dx) + Math.abs(dy) < DRAG_THRESHOLD) return;
|
|
1148
|
-
beginGestureVisuals(g);
|
|
1149
|
-
}
|
|
1150
|
-
|
|
1151
|
-
if (g.kind === 'move') {
|
|
1152
|
-
const desired = { x: ev.world.x - g.grab.dx, y: ev.world.y - g.grab.dy };
|
|
1153
|
-
g.node.setPosition(desired.x, desired.y);
|
|
1154
|
-
ghostStyleFastPath(g, desired);
|
|
1155
|
-
|
|
1156
|
-
g.lastWorld = { x: ev.world.x, y: ev.world.y };
|
|
1157
|
-
g.lastScreen = { x: ev.screen.x, y: ev.screen.y };
|
|
1158
|
-
// Deepest board under the pointer wins: the nested KPI strip beats the
|
|
1159
|
-
// tab that contains it; a foreign board beats "outside". Strict frames
|
|
1160
|
-
// first; the one-row grace band below each board (gridstack's extra
|
|
1161
|
-
// drag row) is consulted only when NO strict frame matched — so "under
|
|
1162
|
-
// the last row" appends instead of reading as off-board.
|
|
1163
|
-
const strictSelf = worldInsideBoard(ev.world.x, ev.world.y);
|
|
1164
|
-
let peer = peerAt(ev.world.x, ev.world.y);
|
|
1165
|
-
let inside = strictSelf;
|
|
1166
|
-
if (!strictSelf && !peer) {
|
|
1167
|
-
if (worldInsideBoardExtended(ev.world.x, ev.world.y)) inside = true;
|
|
1168
|
-
else peer = peerAt(ev.world.x, ev.world.y, true);
|
|
1169
|
-
// Last resort: the grace band — a small slip past the edge stays ON
|
|
1170
|
-
// this board (the engine clamps the cell; prototype parity).
|
|
1171
|
-
if (!inside && !peer && worldInsideBoardGrace(ev.world.x, ev.world.y)) inside = true;
|
|
1172
|
-
}
|
|
1173
|
-
const selfWins = inside && (!peer || boardArea() <= peer.frameArea());
|
|
1174
|
-
|
|
1175
|
-
if (peer && !selfWins) {
|
|
1176
|
-
// -- HANDOFF: the pointer is over another board -------------------
|
|
1177
|
-
if (g.leg && g.leg.peer === peer) {
|
|
1178
|
-
g.leg.adopted.move(ev.world);
|
|
1179
|
-
} else {
|
|
1180
|
-
if (g.leg) {
|
|
1181
|
-
g.leg.adopted.abort();
|
|
1182
|
-
g.leg = null;
|
|
1183
|
-
}
|
|
1184
|
-
if (!g.removedFromBoard) {
|
|
1185
|
-
g.removedFromBoard = true;
|
|
1186
|
-
engine.remove(g.id); // survivors settle home (gesture memory intact)
|
|
1187
|
-
project();
|
|
1188
|
-
}
|
|
1189
|
-
const adopted = peer.adopt(g.node, ev.world, {
|
|
1190
|
-
width: g.node.size.width,
|
|
1191
|
-
height: g.node.size.height,
|
|
1192
|
-
});
|
|
1193
|
-
if (adopted) {
|
|
1194
|
-
hostOf(g.id)?.classList.remove('axdb-out');
|
|
1195
|
-
g.leg = { peer, adopted };
|
|
1196
|
-
g.leg.adopted.move(ev.world);
|
|
1197
|
-
} else {
|
|
1198
|
-
// Bounded/full board refused the adoption: dim = will snap home.
|
|
1199
|
-
hostOf(g.id)?.classList.add('axdb-out');
|
|
1200
|
-
}
|
|
1201
|
-
}
|
|
1202
|
-
} else if (inside) {
|
|
1203
|
-
// -- back on (or still on) our own board --------------------------
|
|
1204
|
-
if (g.leg) {
|
|
1205
|
-
g.leg.adopted.abort();
|
|
1206
|
-
g.leg = null;
|
|
1207
|
-
}
|
|
1208
|
-
if (g.removedFromBoard) {
|
|
1209
|
-
g.removedFromBoard = false;
|
|
1210
|
-
hostOf(g.id)?.classList.remove('axdb-out');
|
|
1211
|
-
const cell = pointToCell(desired.x, desired.y, frame(), geom(), rows(), g.spans.w);
|
|
1212
|
-
// Re-enter at the bottom edge (collision-free), then take the cursor
|
|
1213
|
-
// cell GATELESSLY — a first placement skips the anti-jitter gate.
|
|
1214
|
-
engine.add({ id: g.id, x: 0, y: engine.rows(), w: g.spans.w, h: g.spans.h });
|
|
1215
|
-
engine.moveCheck(g.id, cell.x, cell.y, { gate: false });
|
|
1216
|
-
project();
|
|
1217
|
-
} else {
|
|
1218
|
-
const spanW = engine.getItem(g.id)?.w ?? g.spans.w;
|
|
1219
|
-
const cell = pointToCell(desired.x, desired.y, frame(), geom(), rows(), spanW);
|
|
1220
|
-
if (engine.moveCheck(g.id, cell.x, cell.y).changed) project();
|
|
1221
|
-
}
|
|
1222
|
-
} else {
|
|
1223
|
-
// -- outside every board ------------------------------------------
|
|
1224
|
-
if (g.leg) {
|
|
1225
|
-
g.leg.adopted.abort();
|
|
1226
|
-
g.leg = null;
|
|
1227
|
-
}
|
|
1228
|
-
if (!g.removedFromBoard) {
|
|
1229
|
-
g.removedFromBoard = true;
|
|
1230
|
-
engine.remove(g.id); // survivors settle home; cells minted nowhere
|
|
1231
|
-
hostOf(g.id)?.classList.add('axdb-out');
|
|
1232
|
-
project();
|
|
1233
|
-
}
|
|
1234
|
-
}
|
|
1235
|
-
syncPlaceholder();
|
|
1236
|
-
return;
|
|
1237
|
-
}
|
|
1238
|
-
|
|
1239
|
-
// resize: fluid pixel preview on the ghost, cell-stepped live push.
|
|
1240
|
-
//
|
|
1241
|
-
// RTL: the corner handle is on the BOTTOM-LEFT and the tile grows
|
|
1242
|
-
// leftwards, so the horizontal delta inverts and the tile's RIGHT edge is
|
|
1243
|
-
// what stays pinned. Everything below this line — the span rounding, the
|
|
1244
|
-
// engine's resizeCheck, the maxRows escalation — is in CELLS and needs no
|
|
1245
|
-
// mirroring at all.
|
|
1246
|
-
const dw = rtl ? g.downWorld.x - ev.world.x : ev.world.x - g.downWorld.x;
|
|
1247
|
-
const dh = ev.world.y - g.downWorld.y;
|
|
1248
|
-
const f = frame();
|
|
1249
|
-
const gg = geom();
|
|
1250
|
-
const minW = Math.max(8, columnUnitFor(gg, f.width));
|
|
1251
|
-
let w = Math.max(minW, g.startSize.width + dw);
|
|
1252
|
-
// The height min-clamp is applied AFTER the escalation logic below: on a
|
|
1253
|
-
// grown strip "one current row" IS the whole strip, and clamping the
|
|
1254
|
-
// fluid pull to it made the de-escalation threshold unreachable — the
|
|
1255
|
-
// ratchet's second disguise (grow committed; a fresh shrink gesture could
|
|
1256
|
-
// never pull low enough to ask the parent for a row back).
|
|
1257
|
-
let h = g.startSize.height + dh;
|
|
1258
|
-
// NESTED HEIGHT ESCALATION (live report: "i cant increase height"). A
|
|
1259
|
-
// bounded strip cannot grow a tile taller than itself — so pulling
|
|
1260
|
-
// clearly past its bottom GROWS THE STRIP: the slab gains a row in the
|
|
1261
|
-
// parent board (all tiles inside get taller together); pulling clearly
|
|
1262
|
-
// back up REMOVES a row again. SYMMETRIC AND STATELESS ACROSS GESTURES:
|
|
1263
|
-
// the first version only de-escalated inside the ledger of the gesture
|
|
1264
|
-
// that grew ("rowsAdded > 0"), so grow → release → try to shrink was a
|
|
1265
|
-
// RATCHET — the strip could only ever get taller (live report: "Total
|
|
1266
|
-
// Revenue widget size can only increase"). Direction is now decided from
|
|
1267
|
-
// the strip's CURRENT slab rows, whatever gesture created them; the
|
|
1268
|
-
// ledger just accumulates this gesture's net change for the one-batch
|
|
1269
|
-
// commit and for Escape.
|
|
1270
|
-
if (maxRows !== undefined && g.kind === 'resize') {
|
|
1271
|
-
const parent = parentPeer();
|
|
1272
|
-
if (parent) {
|
|
1273
|
-
const visual = boardVisualHeight();
|
|
1274
|
-
const slabRows = parent.memberCell(group.id)?.h ?? 1;
|
|
1275
|
-
const rowPx = visual / Math.max(1, slabRows);
|
|
1276
|
-
const record = (
|
|
1277
|
-
res: ReturnType<BinderPeer['resizeMemberBy']>,
|
|
1278
|
-
d: number
|
|
1279
|
-
): void => {
|
|
1280
|
-
if (!res.changed || !res.cellBefore || !res.cellAfter || !res.frameBefore || !res.frameAfter)
|
|
1281
|
-
return;
|
|
1282
|
-
if (!g.esc) {
|
|
1283
|
-
g.esc = {
|
|
1284
|
-
peer: parent,
|
|
1285
|
-
rowsAdded: 0,
|
|
1286
|
-
cellBefore: res.cellBefore,
|
|
1287
|
-
frameBefore: res.frameBefore,
|
|
1288
|
-
cellAfter: res.cellAfter,
|
|
1289
|
-
frameAfter: res.frameAfter,
|
|
1290
|
-
};
|
|
1291
|
-
}
|
|
1292
|
-
g.esc.rowsAdded += d;
|
|
1293
|
-
g.esc.cellAfter = res.cellAfter;
|
|
1294
|
-
g.esc.frameAfter = res.frameAfter;
|
|
1295
|
-
project();
|
|
1296
|
-
};
|
|
1297
|
-
if (h > visual + 24) {
|
|
1298
|
-
record(parent.resizeMemberBy(group.id, +1), +1);
|
|
1299
|
-
} else if (slabRows > 1 && h < visual - rowPx * 0.7) {
|
|
1300
|
-
record(parent.resizeMemberBy(group.id, -1), -1);
|
|
1301
|
-
}
|
|
1302
|
-
}
|
|
1303
|
-
}
|
|
1304
|
-
// The fluid preview must not outrun what the board can accept: on a
|
|
1305
|
-
// bounded strip an unclamped ghost ballooned to 273px while the engine
|
|
1306
|
-
// (rightly) refused every cell — visually indistinguishable from the
|
|
1307
|
-
// squeeze bug it replaced. Clamp to the tile's maximum legal rect.
|
|
1308
|
-
// (Escalation above may have just grown OR shrunk the board — re-read.)
|
|
1309
|
-
const fNow = frame();
|
|
1310
|
-
const ggNow = geom();
|
|
1311
|
-
h = Math.max(Math.max(8, rowHeightFor(ggNow, rows())), h);
|
|
1312
|
-
const itemNow = engine.getItem(g.id);
|
|
1313
|
-
if (itemNow) {
|
|
1314
|
-
const cuNow = columnUnitFor(ggNow, fNow.width);
|
|
1315
|
-
const rhNow = rowHeightFor(ggNow, rows());
|
|
1316
|
-
w = Math.min(w, (columns - itemNow.x) * (cuNow + gap) - gap);
|
|
1317
|
-
if (maxRows !== undefined) {
|
|
1318
|
-
h = Math.min(h, Math.max(1, maxRows - itemNow.y) * (rhNow + gap) - gap);
|
|
1319
|
-
}
|
|
1320
|
-
}
|
|
1321
|
-
g.node.setSize(w, h, g.node.size.depth ?? 0);
|
|
1322
|
-
if (rtl) {
|
|
1323
|
-
// Keep the RIGHT edge pinned: mirrored, that is the tile's origin. The
|
|
1324
|
-
// start position is recoverable from the grab offset, so this needs no
|
|
1325
|
-
// extra gesture state.
|
|
1326
|
-
const startLeft = g.downWorld.x - g.grab.dx;
|
|
1327
|
-
const right = startLeft + g.startSize.width;
|
|
1328
|
-
g.node.setPosition(right - w, g.node.position.y);
|
|
1329
|
-
ghostStyleFastPath(g, { x: right - w, width: w, height: h });
|
|
1330
|
-
} else {
|
|
1331
|
-
ghostStyleFastPath(g, { width: w, height: h });
|
|
1332
|
-
}
|
|
1333
|
-
const spanF = maxRows !== undefined ? frame() : f;
|
|
1334
|
-
const spanG = maxRows !== undefined ? geom() : gg;
|
|
1335
|
-
const span = sizeToSpan(w, h, spanF, spanG, rows());
|
|
1336
|
-
if (engine.resizeCheck(g.id, span.w, span.h).changed) project();
|
|
1337
|
-
syncPlaceholder();
|
|
1338
|
-
};
|
|
1339
|
-
|
|
1340
|
-
const onToolUp = (): void => {
|
|
1341
|
-
const g = gesture;
|
|
1342
|
-
if (!g || g.kind === 'palette') return;
|
|
1343
|
-
if (!g.started) {
|
|
1344
|
-
gesture = null; // a plain click — the page's own click-to-focus handles it
|
|
1345
|
-
return;
|
|
1346
|
-
}
|
|
1347
|
-
if (g.leg) {
|
|
1348
|
-
// -- CROSS-CONTAINER COMMIT: one batch across both boards -----------
|
|
1349
|
-
const fin = g.leg.adopted.finalize();
|
|
1350
|
-
if (!fin) {
|
|
1351
|
-
cancelActiveGesture();
|
|
1352
|
-
return;
|
|
1353
|
-
}
|
|
1354
|
-
const targetGroupId = g.leg.adopted.groupId;
|
|
1355
|
-
// Land the ghost on its target rect before the geometry deltas read it.
|
|
1356
|
-
writing = true;
|
|
1357
|
-
try {
|
|
1358
|
-
diagram.runSystemWrite(() => {
|
|
1359
|
-
g.node.setPosition(fin.rect.x, fin.rect.y);
|
|
1360
|
-
g.node.setSize(fin.rect.width, fin.rect.height, g.node.size.depth ?? 0);
|
|
1361
|
-
});
|
|
1362
|
-
} finally {
|
|
1363
|
-
writing = false;
|
|
1364
|
-
}
|
|
1365
|
-
const sourceDisplaced = buildCommitCommands(deltasSince(g.startCells, g.startGeom, g.id));
|
|
1366
|
-
const before = g.startCells.get(g.id);
|
|
1367
|
-
const geomBefore = g.startGeom.get(g.id);
|
|
1368
|
-
const crossing: Command[] = [
|
|
1369
|
-
...sourceDisplaced,
|
|
1370
|
-
new RemoveFromGroupCommand(group.id, g.id),
|
|
1371
|
-
new AddToGroupCommand(targetGroupId, g.id),
|
|
1372
|
-
...buildCommitCommands([
|
|
1373
|
-
{
|
|
1374
|
-
id: g.id,
|
|
1375
|
-
locked: false,
|
|
1376
|
-
isGroup: false,
|
|
1377
|
-
cellBefore: before ?? fin.cell,
|
|
1378
|
-
cellAfter: fin.cell,
|
|
1379
|
-
posBefore: geomBefore?.pos ?? { x: fin.rect.x, y: fin.rect.y },
|
|
1380
|
-
posAfter: { x: fin.rect.x, y: fin.rect.y },
|
|
1381
|
-
sizeBefore: geomBefore?.size ?? { width: fin.rect.width, height: fin.rect.height },
|
|
1382
|
-
sizeAfter: { width: fin.rect.width, height: fin.rect.height },
|
|
1383
|
-
},
|
|
1384
|
-
]),
|
|
1385
|
-
];
|
|
1386
|
-
execute('Move widget', crossing);
|
|
1387
|
-
engine.endGesture();
|
|
1388
|
-
cleanupGestureVisuals(g);
|
|
1389
|
-
gesture = null;
|
|
1390
|
-
enforceBoardHeight();
|
|
1391
|
-
api.renderNow();
|
|
1392
|
-
options.onGesture?.({ type: 'commit', kind: g.kind, nodeId: g.id, changed: true });
|
|
1393
|
-
return;
|
|
1394
|
-
}
|
|
1395
|
-
if (g.removedFromBoard && dragOut === 'cancel') {
|
|
1396
|
-
// Released outside every board on a snap-home board: full restore,
|
|
1397
|
-
// nothing committed (the parked-outside release).
|
|
1398
|
-
cancelActiveGesture();
|
|
1399
|
-
return;
|
|
1400
|
-
}
|
|
1401
|
-
// 'remove' fires ONLY for a release genuinely outside every board. A
|
|
1402
|
-
// refused adoption (full strip) leaves removedFromBoard=true while the
|
|
1403
|
-
// pointer is still over a board — releasing there must snap home, not
|
|
1404
|
-
// delete the tile (the battery's S5 caught exactly that deletion).
|
|
1405
|
-
const releasedOutsideAll =
|
|
1406
|
-
!g.lastWorld ||
|
|
1407
|
-
(!worldInsideBoardGrace(g.lastWorld.x, g.lastWorld.y) &&
|
|
1408
|
-
!peerAt(g.lastWorld.x, g.lastWorld.y, true));
|
|
1409
|
-
const inRemoveZone =
|
|
1410
|
-
!options.removeZone ||
|
|
1411
|
-
(g.lastScreen && g.lastWorld && options.removeZone(g.lastScreen, g.lastWorld));
|
|
1412
|
-
if (g.removedFromBoard && dragOut === 'remove' && (!releasedOutsideAll || !inRemoveZone)) {
|
|
1413
|
-
// Outside-but-not-over-the-trash (or a mere overshoot): snap home.
|
|
1414
|
-
cancelActiveGesture();
|
|
1415
|
-
return;
|
|
1416
|
-
}
|
|
1417
|
-
if (g.removedFromBoard && dragOut === 'remove') {
|
|
1418
|
-
// Release OUTSIDE the board → remove via the page's atomic command path.
|
|
1419
|
-
const displaced = buildCommitCommands(deltasSince(g.startCells, g.startGeom, g.id));
|
|
1420
|
-
const snap = g.startGeom.get(g.id);
|
|
1421
|
-
if (snap) {
|
|
1422
|
-
// Park the node on its start rect so the page's RemoveNodeCommand
|
|
1423
|
-
// captures sane geometry for undo.
|
|
1424
|
-
g.node.setPosition(snap.pos.x, snap.pos.y);
|
|
1425
|
-
g.node.setSize(snap.size.width, snap.size.height, snap.size.depth ?? 0);
|
|
1426
|
-
}
|
|
1427
|
-
engine.endGesture();
|
|
1428
|
-
cleanupGestureVisuals(g);
|
|
1429
|
-
gesture = null;
|
|
1430
|
-
enforceBoardHeight();
|
|
1431
|
-
api.renderNow();
|
|
1432
|
-
void options.onRemoveRequest?.(g.id, displaced);
|
|
1433
|
-
options.onGesture?.({ type: 'remove', kind: g.kind, nodeId: g.id, changed: true });
|
|
1434
|
-
return;
|
|
1435
|
-
}
|
|
1436
|
-
commitGesture(g);
|
|
1437
|
-
};
|
|
1438
|
-
|
|
1439
|
-
// -- cross-container peers -------------------------------------------------
|
|
1440
|
-
|
|
1441
|
-
const boardArea = (): number => {
|
|
1442
|
-
const f = frame();
|
|
1443
|
-
return f.width * boardVisualHeight();
|
|
1444
|
-
};
|
|
1445
|
-
|
|
1446
|
-
const peersOnCanvas = (): Set<BinderPeer> => {
|
|
1447
|
-
let set = BOARD_REGISTRY.get(api.container);
|
|
1448
|
-
if (!set) {
|
|
1449
|
-
set = new Set();
|
|
1450
|
-
BOARD_REGISTRY.set(api.container, set);
|
|
1451
|
-
}
|
|
1452
|
-
return set;
|
|
1453
|
-
};
|
|
1454
|
-
|
|
1455
|
-
/** The board whose engine holds OUR group as an item (nesting parent). */
|
|
1456
|
-
const parentPeer = (): BinderPeer | null => {
|
|
1457
|
-
for (const p of peersOnCanvas()) {
|
|
1458
|
-
if (p !== selfPeer && p.hasItem(group.id)) return p;
|
|
1459
|
-
}
|
|
1460
|
-
return null;
|
|
1461
|
-
};
|
|
1462
|
-
|
|
1463
|
-
/** Deepest OTHER registered board containing the world point. */
|
|
1464
|
-
const peerAt = (x: number, y: number, extended = false): BinderPeer | null => {
|
|
1465
|
-
let best: BinderPeer | null = null;
|
|
1466
|
-
for (const p of peersOnCanvas()) {
|
|
1467
|
-
if (p === selfPeer) continue;
|
|
1468
|
-
if (!(extended ? p.containsWorldExtended(x, y) : p.containsWorld(x, y))) continue;
|
|
1469
|
-
if (!best || p.frameArea() < best.frameArea()) best = p;
|
|
1470
|
-
}
|
|
1471
|
-
return best;
|
|
1472
|
-
};
|
|
1473
|
-
|
|
1474
|
-
/** This binder's side of an adoption: enter gateless, then live-push. */
|
|
1475
|
-
const adopt = (
|
|
1476
|
-
node: NodeModel,
|
|
1477
|
-
world: { x: number; y: number },
|
|
1478
|
-
pxSize: { width: number; height: number }
|
|
1479
|
-
): AdoptedLeg | null => {
|
|
1480
|
-
if (disposed) return null;
|
|
1481
|
-
const f = frame();
|
|
1482
|
-
const gg = geom();
|
|
1483
|
-
const span = sizeToSpan(pxSize.width, pxSize.height, f, gg, rows());
|
|
1484
|
-
// Clamp to the TARGET board's shape: a tall tile entering a one-row strip
|
|
1485
|
-
// arrives as a strip-height tile, not a refusal.
|
|
1486
|
-
span.w = Math.max(1, Math.min(columns, span.w));
|
|
1487
|
-
if (maxRows !== undefined) span.h = Math.max(1, Math.min(maxRows, span.h));
|
|
1488
|
-
engine.beginGesture(); // pre-entry snapshot — abort() restores it
|
|
1489
|
-
const entered = engine.add({ id: node.id, x: 0, y: engine.rows(), w: span.w, h: span.h });
|
|
1490
|
-
if (!entered) {
|
|
1491
|
-
engine.endGesture();
|
|
1492
|
-
return null; // a bounded, full board refuses the adoption
|
|
1493
|
-
}
|
|
1494
|
-
// Pre-entry baselines for THIS board's displaced-tile commit.
|
|
1495
|
-
const startCells = new Map<string, CellRect>();
|
|
1496
|
-
const startGeom = new Map<string, GeomSnapshot>();
|
|
1497
|
-
for (const item of engine.getItems()) {
|
|
1498
|
-
if (item.id === node.id) continue;
|
|
1499
|
-
startCells.set(item.id, { x: item.x, y: item.y, w: item.w, h: item.h });
|
|
1500
|
-
const e = memberEntity(item.id);
|
|
1501
|
-
if (e) {
|
|
1502
|
-
const sz = sizeOf(e);
|
|
1503
|
-
startGeom.set(item.id, {
|
|
1504
|
-
pos: { x: e.position.x, y: e.position.y },
|
|
1505
|
-
size: { width: sz.width, height: sz.height, depth: sz.depth },
|
|
1506
|
-
});
|
|
1507
|
-
}
|
|
1508
|
-
}
|
|
1509
|
-
adoptedGhostId = node.id;
|
|
1510
|
-
const tl = centredTopLeft(world.x, world.y, span);
|
|
1511
|
-
const cell0 = pointToCell(tl.x, tl.y, f, gg, rows(), span.w);
|
|
1512
|
-
engine.moveCheck(node.id, cell0.x, cell0.y, { gate: false });
|
|
1513
|
-
armGlide();
|
|
1514
|
-
project();
|
|
1515
|
-
syncPlaceholder();
|
|
1516
|
-
return {
|
|
1517
|
-
groupId: group.id,
|
|
1518
|
-
move: (w) => {
|
|
1519
|
-
const item = engine.getItem(node.id);
|
|
1520
|
-
if (!item) return;
|
|
1521
|
-
const tlm = centredTopLeft(w.x, w.y, { w: item.w, h: item.h });
|
|
1522
|
-
const cell = pointToCell(tlm.x, tlm.y, frame(), geom(), rows(), item.w);
|
|
1523
|
-
if (engine.moveCheck(node.id, cell.x, cell.y).changed) project();
|
|
1524
|
-
syncPlaceholder();
|
|
1525
|
-
},
|
|
1526
|
-
abort: () => {
|
|
1527
|
-
engine.remove(node.id);
|
|
1528
|
-
engine.cancelGesture(); // pre-entry layout, memory cleared
|
|
1529
|
-
adoptedGhostId = null;
|
|
1530
|
-
disarmGlideSoon();
|
|
1531
|
-
project();
|
|
1532
|
-
syncPlaceholder();
|
|
1533
|
-
},
|
|
1534
|
-
finalize: () => {
|
|
1535
|
-
const item = engine.getItem(node.id);
|
|
1536
|
-
if (!item) {
|
|
1537
|
-
engine.endGesture();
|
|
1538
|
-
adoptedGhostId = null;
|
|
1539
|
-
syncPlaceholder();
|
|
1540
|
-
return null;
|
|
1541
|
-
}
|
|
1542
|
-
const cell: CellRect = { x: item.x, y: item.y, w: item.w, h: item.h };
|
|
1543
|
-
const rect = cellToRect(item, frame(), geom(), rows());
|
|
1544
|
-
const commands = buildCommitCommands(deltasSince(startCells, startGeom, node.id));
|
|
1545
|
-
engine.endGesture();
|
|
1546
|
-
adoptedGhostId = null;
|
|
1547
|
-
disarmGlideSoon();
|
|
1548
|
-
syncPlaceholder();
|
|
1549
|
-
return { commands, cell, rect };
|
|
1550
|
-
},
|
|
1551
|
-
};
|
|
1552
|
-
};
|
|
1553
|
-
|
|
1554
|
-
const selfPeer: BinderPeer = {
|
|
1555
|
-
group,
|
|
1556
|
-
hasItem: (id) => !!engine.getItem(id),
|
|
1557
|
-
memberCell: (id) => {
|
|
1558
|
-
const it = engine.getItem(id);
|
|
1559
|
-
return it ? { x: it.x, y: it.y, w: it.w, h: it.h } : undefined;
|
|
1560
|
-
},
|
|
1561
|
-
resizeMemberBy: (id, dRows) => {
|
|
1562
|
-
const item = engine.getItem(id);
|
|
1563
|
-
if (!item || disposed) return { changed: false };
|
|
1564
|
-
const grp = diagram.getGroup(id);
|
|
1565
|
-
const cellBefore: CellRect = { x: item.x, y: item.y, w: item.w, h: item.h };
|
|
1566
|
-
const fb = grp
|
|
1567
|
-
? { x: grp.position.x, y: grp.position.y, width: sizeOf(grp).width, height: sizeOf(grp).height }
|
|
1568
|
-
: undefined;
|
|
1569
|
-
const r = engine.resizeCheck(id, item.w, item.h + dRows);
|
|
1570
|
-
if (!r.changed) return { changed: false };
|
|
1571
|
-
project();
|
|
1572
|
-
const after = engine.getItem(id)!;
|
|
1573
|
-
const fa = grp
|
|
1574
|
-
? { x: grp.position.x, y: grp.position.y, width: sizeOf(grp).width, height: sizeOf(grp).height }
|
|
1575
|
-
: undefined;
|
|
1576
|
-
return {
|
|
1577
|
-
changed: true,
|
|
1578
|
-
cellBefore,
|
|
1579
|
-
cellAfter: { x: after.x, y: after.y, w: after.w, h: after.h },
|
|
1580
|
-
frameBefore: fb,
|
|
1581
|
-
frameAfter: fa,
|
|
1582
|
-
};
|
|
1583
|
-
},
|
|
1584
|
-
containsWorld: worldInsideBoard,
|
|
1585
|
-
containsWorldExtended: worldInsideBoardExtended,
|
|
1586
|
-
frameArea: boardArea,
|
|
1587
|
-
adopt,
|
|
1588
|
-
};
|
|
1589
|
-
peersOnCanvas().add(selfPeer);
|
|
1590
|
-
|
|
1591
|
-
const tool: CanvasTool = {
|
|
1592
|
-
id: `dashboard-grid:${group.id}:${++binderSeq}`,
|
|
1593
|
-
priority: 2, // point-specific claim — outranks mode-style tools (see ext/tools.ts)
|
|
1594
|
-
hitTest(ev, hit) {
|
|
1595
|
-
if (disposed) return false;
|
|
1596
|
-
if (gesture) return true; // own the rest of an in-flight gesture
|
|
1597
|
-
if (hit.node) return (group.members ?? new Set<string>()).has(hit.node.id);
|
|
1598
|
-
// Claim (and deaden) empty presses inside a member group's frame so the
|
|
1599
|
-
// built-in group-drag cannot fight the pack layout for the KPI slab.
|
|
1600
|
-
return insideMemberGroupFrame(ev.world.x, ev.world.y);
|
|
1601
|
-
},
|
|
1602
|
-
onPointerDown(ev, hit) {
|
|
1603
|
-
if (gesture || !hit.node) return; // dead zone (slab area), or mid-palette
|
|
1604
|
-
const node = diagram.getNode(hit.node.id);
|
|
1605
|
-
if (!node || node.state?.locked === true) return; // pinned: refuse; click still focuses
|
|
1606
|
-
// Arm the glide class NOW, a full task before any displacement can
|
|
1607
|
-
// happen: a transition defined in the same style recalc as the first
|
|
1608
|
-
// left/top write does not run (CSS transitions fire only when the
|
|
1609
|
-
// property changes while the transition exists in the BEFORE-change
|
|
1610
|
-
// style) — the first pushed neighbour of every gesture TELEPORTED
|
|
1611
|
-
// (measured 109px in one frame) while later ones glided.
|
|
1612
|
-
armGlide();
|
|
1613
|
-
const target = (ev.source?.target ?? null) as Element | null;
|
|
1614
|
-
const isResize = !!target?.closest?.('.axdb-rs');
|
|
1615
|
-
const it = engine.getItem(node.id);
|
|
1616
|
-
gesture = {
|
|
1617
|
-
kind: isResize ? 'resize' : 'move',
|
|
1618
|
-
id: node.id,
|
|
1619
|
-
node,
|
|
1620
|
-
pointerId:
|
|
1621
|
-
typeof PointerEvent !== 'undefined' && ev.source instanceof PointerEvent
|
|
1622
|
-
? ev.source.pointerId
|
|
1623
|
-
: null,
|
|
1624
|
-
started: false,
|
|
1625
|
-
downClient: { x: ev.screen.x, y: ev.screen.y },
|
|
1626
|
-
downWorld: { x: ev.world.x, y: ev.world.y },
|
|
1627
|
-
grab: { dx: ev.world.x - node.position.x, dy: ev.world.y - node.position.y },
|
|
1628
|
-
startCells: new Map(),
|
|
1629
|
-
startGeom: new Map(),
|
|
1630
|
-
startSize: { width: node.size.width, height: node.size.height },
|
|
1631
|
-
spans: { w: it?.w ?? 1, h: it?.h ?? 1 },
|
|
1632
|
-
removedFromBoard: false,
|
|
1633
|
-
leg: null,
|
|
1634
|
-
lastWorld: null,
|
|
1635
|
-
lastScreen: null,
|
|
1636
|
-
hostEl: null,
|
|
1637
|
-
esc: null,
|
|
1638
|
-
chip: null,
|
|
1639
|
-
};
|
|
1640
|
-
},
|
|
1641
|
-
onPointerMove(ev) {
|
|
1642
|
-
onToolMove(ev);
|
|
1643
|
-
},
|
|
1644
|
-
onPointerUp() {
|
|
1645
|
-
onToolUp();
|
|
1646
|
-
},
|
|
1647
|
-
onCancel() {
|
|
1648
|
-
cancelActiveGesture();
|
|
1649
|
-
},
|
|
1650
|
-
};
|
|
1651
|
-
|
|
1652
|
-
const unregisterTool = registerTool(tool);
|
|
1653
|
-
|
|
1654
|
-
// -- palette drag-in --------------------------------------------------------
|
|
1655
|
-
|
|
1656
|
-
const beginPaletteDrag = (
|
|
1657
|
-
node: NodeModel,
|
|
1658
|
-
spec: { w: number; h: number; chip?: HTMLElement },
|
|
1659
|
-
event: PointerEvent
|
|
1660
|
-
): void => {
|
|
1661
|
-
if (disposed || gesture) return;
|
|
1662
|
-
const chip = spec.chip ?? null;
|
|
1663
|
-
if (chip) {
|
|
1664
|
-
chip.classList.add('axdb-drag-chip');
|
|
1665
|
-
document.body.appendChild(chip);
|
|
1666
|
-
chip.style.left = `${event.clientX + 6}px`;
|
|
1667
|
-
chip.style.top = `${event.clientY + 6}px`;
|
|
1668
|
-
}
|
|
1669
|
-
const g: GestureState = {
|
|
1670
|
-
kind: 'palette',
|
|
1671
|
-
id: node.id,
|
|
1672
|
-
node,
|
|
1673
|
-
pointerId: event.pointerId ?? null,
|
|
1674
|
-
started: false,
|
|
1675
|
-
downClient: { x: event.clientX, y: event.clientY },
|
|
1676
|
-
downWorld: { x: 0, y: 0 },
|
|
1677
|
-
grab: { dx: 0, dy: 0 },
|
|
1678
|
-
startCells: new Map(),
|
|
1679
|
-
startGeom: new Map(),
|
|
1680
|
-
startSize: { width: 0, height: 0 },
|
|
1681
|
-
spans: { w: Math.max(1, spec.w), h: Math.max(1, spec.h) },
|
|
1682
|
-
removedFromBoard: true,
|
|
1683
|
-
leg: null,
|
|
1684
|
-
lastWorld: null,
|
|
1685
|
-
lastScreen: null,
|
|
1686
|
-
hostEl: null,
|
|
1687
|
-
esc: null,
|
|
1688
|
-
chip,
|
|
1689
|
-
};
|
|
1690
|
-
gesture = g;
|
|
1691
|
-
|
|
1692
|
-
const toWorld = (cx: number, cy: number): { x: number; y: number } => {
|
|
1693
|
-
const rect = api.container.getBoundingClientRect();
|
|
1694
|
-
return api.viewport?.clientToWorld
|
|
1695
|
-
? api.viewport.clientToWorld(cx, cy, rect)
|
|
1696
|
-
: { x: cx - rect.left, y: cy - rect.top };
|
|
1697
|
-
};
|
|
1698
|
-
|
|
1699
|
-
const detach = (): void => {
|
|
1700
|
-
window.removeEventListener('pointermove', onMove, true);
|
|
1701
|
-
window.removeEventListener('pointerup', onUp, true);
|
|
1702
|
-
window.removeEventListener('keydown', onKey, true);
|
|
1703
|
-
};
|
|
1704
|
-
|
|
1705
|
-
const onMove = (e: PointerEvent): void => {
|
|
1706
|
-
if (gesture !== g) return detach();
|
|
1707
|
-
if (!g.started) {
|
|
1708
|
-
if (
|
|
1709
|
-
Math.abs(e.clientX - g.downClient.x) + Math.abs(e.clientY - g.downClient.y) <
|
|
1710
|
-
DRAG_THRESHOLD
|
|
1711
|
-
) {
|
|
1712
|
-
return;
|
|
1713
|
-
}
|
|
1714
|
-
beginGestureVisuals(g);
|
|
1715
|
-
}
|
|
1716
|
-
if (chip) {
|
|
1717
|
-
chip.style.left = `${e.clientX + 6}px`;
|
|
1718
|
-
chip.style.top = `${e.clientY + 6}px`;
|
|
1719
|
-
}
|
|
1720
|
-
const world = toWorld(e.clientX, e.clientY);
|
|
1721
|
-
const inside = worldInsideBoard(world.x, world.y);
|
|
1722
|
-
if (inside) {
|
|
1723
|
-
const tl = centredTopLeft(world.x, world.y, g.spans);
|
|
1724
|
-
const cell = pointToCell(tl.x, tl.y, frame(), geom(), rows(), g.spans.w);
|
|
1725
|
-
if (g.removedFromBoard) {
|
|
1726
|
-
g.removedFromBoard = false;
|
|
1727
|
-
// Enter at the bottom edge (collision-free), then take the cursor
|
|
1728
|
-
// cell GATELESSLY — gridstack's drag-in skips the gate on entry.
|
|
1729
|
-
engine.add({ id: g.id, x: 0, y: engine.rows(), w: g.spans.w, h: g.spans.h });
|
|
1730
|
-
engine.moveCheck(g.id, cell.x, cell.y, { gate: false });
|
|
1731
|
-
project();
|
|
1732
|
-
} else if (engine.moveCheck(g.id, cell.x, cell.y).changed) {
|
|
1733
|
-
project();
|
|
1734
|
-
}
|
|
1735
|
-
} else if (!g.removedFromBoard) {
|
|
1736
|
-
g.removedFromBoard = true;
|
|
1737
|
-
engine.remove(g.id); // displaced tiles come home (gesture memory)
|
|
1738
|
-
project();
|
|
1739
|
-
}
|
|
1740
|
-
syncPlaceholder();
|
|
1741
|
-
api.render();
|
|
1742
|
-
};
|
|
1743
|
-
|
|
1744
|
-
const finish = (commit: boolean): void => {
|
|
1745
|
-
detach();
|
|
1746
|
-
if (gesture !== g) return;
|
|
1747
|
-
if (!g.started) {
|
|
1748
|
-
// Never crossed the threshold: a plain palette CLICK — the page's
|
|
1749
|
-
// click-to-add handler owns it.
|
|
1750
|
-
gesture = null;
|
|
1751
|
-
chip?.remove();
|
|
1752
|
-
return;
|
|
1753
|
-
}
|
|
1754
|
-
if (commit && !g.removedFromBoard && engine.getItem(g.id)) {
|
|
1755
|
-
const item = engine.getItem(g.id)!;
|
|
1756
|
-
const cell: CellRect = { x: item.x, y: item.y, w: item.w, h: item.h };
|
|
1757
|
-
node.setGridItem(gridItemFromCell(cell));
|
|
1758
|
-
const displaced = buildCommitCommands(deltasSince(g.startCells, g.startGeom, g.id));
|
|
1759
|
-
engine.endGesture();
|
|
1760
|
-
cleanupGestureVisuals(g);
|
|
1761
|
-
gesture = null;
|
|
1762
|
-
void options.onDropIn?.(node, cell, displaced);
|
|
1763
|
-
options.onGesture?.({ type: 'drop-in', kind: 'palette', nodeId: g.id, changed: true });
|
|
1764
|
-
api.renderNow();
|
|
1765
|
-
return;
|
|
1766
|
-
}
|
|
1767
|
-
// Abort (released outside, or Escape): restore the board.
|
|
1768
|
-
cancelActiveGesture();
|
|
1769
|
-
};
|
|
1770
|
-
|
|
1771
|
-
const onUp = (): void => finish(true);
|
|
1772
|
-
const onKey = (e: KeyboardEvent): void => {
|
|
1773
|
-
if (e.key === 'Escape') finish(false);
|
|
1774
|
-
};
|
|
1775
|
-
window.addEventListener('pointermove', onMove, true);
|
|
1776
|
-
window.addEventListener('pointerup', onUp, true);
|
|
1777
|
-
window.addEventListener('keydown', onKey, true);
|
|
1778
|
-
};
|
|
1779
|
-
|
|
1780
|
-
// -- handle -----------------------------------------------------------------
|
|
1781
|
-
|
|
1782
|
-
const subs: Array<() => void> = [
|
|
1783
|
-
group.on('member:added', ((id: string) => onMemberAdded(id)) as (...args: unknown[]) => void),
|
|
1784
|
-
group.on('member:removed', ((id: string) => onMemberRemoved(id)) as (
|
|
1785
|
-
...args: unknown[]
|
|
1786
|
-
) => void),
|
|
1787
|
-
group.on('bounds:changed', (() => onBoundsChanged()) as (...args: unknown[]) => void),
|
|
1788
|
-
];
|
|
1789
|
-
|
|
1790
|
-
/** Run one programmatic gesture through the same snapshot→op→commit pipeline. */
|
|
1791
|
-
const programmatic = async (
|
|
1792
|
-
name: string,
|
|
1793
|
-
id: string,
|
|
1794
|
-
op: () => boolean
|
|
1795
|
-
): Promise<boolean> => {
|
|
1796
|
-
if (disposed || gesture || !engine.getItem(id)) return false;
|
|
1797
|
-
engine.beginGesture();
|
|
1798
|
-
const snap = snapshotAll();
|
|
1799
|
-
if (!op()) {
|
|
1800
|
-
engine.endGesture();
|
|
1801
|
-
return false;
|
|
1802
|
-
}
|
|
1803
|
-
armGlide();
|
|
1804
|
-
project();
|
|
1805
|
-
writing = true;
|
|
1806
|
-
try {
|
|
1807
|
-
const it = engine.getItem(id);
|
|
1808
|
-
if (it) writeRect(id, cellToRect(it, frame(), geom(), rows()));
|
|
1809
|
-
} finally {
|
|
1810
|
-
writing = false;
|
|
1811
|
-
}
|
|
1812
|
-
const commands = buildCommitCommands(deltasSince(snap.cells, snap.geoms));
|
|
1813
|
-
engine.endGesture();
|
|
1814
|
-
disarmGlideSoon();
|
|
1815
|
-
enforceBoardHeight();
|
|
1816
|
-
if (commands.length > 0) {
|
|
1817
|
-
await api.getEngine().commandManager.execute(new BatchCommand(name, commands));
|
|
1818
|
-
}
|
|
1819
|
-
api.renderNow();
|
|
1820
|
-
return true;
|
|
1821
|
-
};
|
|
1822
|
-
|
|
1823
|
-
const handle: DashboardGridHandle = {
|
|
1824
|
-
sync(): void {
|
|
1825
|
-
if (disposed) return;
|
|
1826
|
-
if (gesture) cancelActiveGesture(false);
|
|
1827
|
-
const items: GridPackItem[] = [];
|
|
1828
|
-
for (const id of group.members ?? []) {
|
|
1829
|
-
if (!memberEntity(id)) continue;
|
|
1830
|
-
items.push(itemFor(id));
|
|
1831
|
-
}
|
|
1832
|
-
// CARRY THE PER-COLUMN CACHE ACROSS THE REBUILD. sync() runs on every
|
|
1833
|
-
// undo, member add and refresh; without this handoff a responsive board
|
|
1834
|
-
// would silently lose its wide layouts the first time anything else
|
|
1835
|
-
// happened, and growing back would re-derive instead of restoring.
|
|
1836
|
-
const carried = engine.getLayouts();
|
|
1837
|
-
engine = new GridPackEngine(items, { columns, float, maxRows });
|
|
1838
|
-
engine.setLayouts(carried);
|
|
1839
|
-
for (const item of engine.getItems()) persistAdoptedCell(item.id, item);
|
|
1840
|
-
project();
|
|
1841
|
-
syncHandles();
|
|
1842
|
-
api.renderNow();
|
|
1843
|
-
evaluateResponsive();
|
|
1844
|
-
},
|
|
1845
|
-
setColumns(n, layout, opts): boolean {
|
|
1846
|
-
if (disposed) return false;
|
|
1847
|
-
if (!opts?.responsive) responsivePinned = true;
|
|
1848
|
-
return applyColumns(n, layout ?? responsive?.layout ?? 'moveScale');
|
|
1849
|
-
},
|
|
1850
|
-
getColumns: () => columns,
|
|
1851
|
-
setRtl(on): void {
|
|
1852
|
-
if (on === rtl) return;
|
|
1853
|
-
rtl = on;
|
|
1854
|
-
// Pixels only — the cells are already correct in both directions.
|
|
1855
|
-
project();
|
|
1856
|
-
syncHandles();
|
|
1857
|
-
api.renderNow();
|
|
1858
|
-
},
|
|
1859
|
-
getRtl: () => rtl,
|
|
1860
|
-
saveLayout() {
|
|
1861
|
-
const saved = engine.saveLayout();
|
|
1862
|
-
return {
|
|
1863
|
-
columns: saved.columns,
|
|
1864
|
-
cells: new Map(saved.items.map((i) => [i.id, { x: i.x, y: i.y, w: i.w, h: i.h }])),
|
|
1865
|
-
};
|
|
1866
|
-
},
|
|
1867
|
-
setSizing(mode): void {
|
|
1868
|
-
if (mode === sizing) return;
|
|
1869
|
-
sizing = mode;
|
|
1870
|
-
project();
|
|
1871
|
-
api.renderNow();
|
|
1872
|
-
},
|
|
1873
|
-
getSizing: () => sizing,
|
|
1874
|
-
setFloat(on): void {
|
|
1875
|
-
if (on === float) return;
|
|
1876
|
-
float = on;
|
|
1877
|
-
// Rebuild from persisted cells under the new mode: sync() constructs a
|
|
1878
|
-
// fresh engine with the captured `float`, and gravity (when turning
|
|
1879
|
-
// OFF) packs immediately through its settle.
|
|
1880
|
-
this.sync();
|
|
1881
|
-
api.renderNow();
|
|
1882
|
-
},
|
|
1883
|
-
getFloat: () => float,
|
|
1884
|
-
metrics() {
|
|
1885
|
-
const f = frame();
|
|
1886
|
-
const g = geom();
|
|
1887
|
-
const r = rows();
|
|
1888
|
-
return {
|
|
1889
|
-
columns,
|
|
1890
|
-
maxColumns,
|
|
1891
|
-
rtl,
|
|
1892
|
-
responsive: !!responsive && !responsivePinned,
|
|
1893
|
-
gap,
|
|
1894
|
-
padding,
|
|
1895
|
-
sizing,
|
|
1896
|
-
rows: r,
|
|
1897
|
-
rowHeight: rowHeightFor(g, r),
|
|
1898
|
-
columnUnit: columnUnitFor(g, f.width),
|
|
1899
|
-
boardHeight: f.height,
|
|
1900
|
-
frame: f,
|
|
1901
|
-
};
|
|
1902
|
-
},
|
|
1903
|
-
cellOf(id) {
|
|
1904
|
-
const it = engine.getItem(id);
|
|
1905
|
-
return it ? { x: it.x, y: it.y, w: it.w, h: it.h } : undefined;
|
|
1906
|
-
},
|
|
1907
|
-
cellRectOf(id) {
|
|
1908
|
-
const it = engine.getItem(id);
|
|
1909
|
-
return it ? cellToRect(it, frame(), geom(), rows()) : undefined;
|
|
1910
|
-
},
|
|
1911
|
-
planRemoval(id) {
|
|
1912
|
-
const it = engine.getItem(id);
|
|
1913
|
-
if (!it) return [];
|
|
1914
|
-
const clone = new GridPackEngine(
|
|
1915
|
-
engine.getItems().map((i) => ({ ...i })),
|
|
1916
|
-
{ columns, float }
|
|
1917
|
-
);
|
|
1918
|
-
clone.remove(id);
|
|
1919
|
-
const f = frame();
|
|
1920
|
-
const g = geom();
|
|
1921
|
-
const rAfter = Math.max(1, clone.rows());
|
|
1922
|
-
const deltas: TileDelta[] = [];
|
|
1923
|
-
for (const item of clone.getItems()) {
|
|
1924
|
-
const before = engine.getItem(item.id);
|
|
1925
|
-
const e = memberEntity(item.id);
|
|
1926
|
-
if (!before || !e) continue;
|
|
1927
|
-
const target = cellToRect(item, f, g, rAfter);
|
|
1928
|
-
deltas.push({
|
|
1929
|
-
id: item.id,
|
|
1930
|
-
locked: !!item.locked,
|
|
1931
|
-
isGroup: isGroupMember(item.id),
|
|
1932
|
-
cellBefore: { x: before.x, y: before.y, w: before.w, h: before.h },
|
|
1933
|
-
cellAfter: { x: item.x, y: item.y, w: item.w, h: item.h },
|
|
1934
|
-
posBefore: { x: e.position.x, y: e.position.y },
|
|
1935
|
-
posAfter: { x: target.x, y: target.y },
|
|
1936
|
-
sizeBefore: (({ width, height, depth }) => ({ width, height, depth }))(sizeOf(e)),
|
|
1937
|
-
sizeAfter: { width: target.width, height: target.height },
|
|
1938
|
-
});
|
|
1939
|
-
}
|
|
1940
|
-
return buildCommitCommands(deltas);
|
|
1941
|
-
},
|
|
1942
|
-
moveTo(id, x, y) {
|
|
1943
|
-
return programmatic('Move widget', id, () => engine.moveCheck(id, x, y).changed);
|
|
1944
|
-
},
|
|
1945
|
-
resizeTo(id, w, h) {
|
|
1946
|
-
return programmatic('Resize widget', id, () => engine.resizeCheck(id, w, h).changed);
|
|
1947
|
-
},
|
|
1948
|
-
beginPaletteDrag,
|
|
1949
|
-
dispose(): void {
|
|
1950
|
-
if (disposed) return;
|
|
1951
|
-
cancelActiveGesture(false);
|
|
1952
|
-
disposed = true;
|
|
1953
|
-
peersOnCanvas().delete(selfPeer);
|
|
1954
|
-
unregisterTool();
|
|
1955
|
-
hostObserver.disconnect();
|
|
1956
|
-
containerObserver?.disconnect();
|
|
1957
|
-
for (const off of subs) off();
|
|
1958
|
-
placeholder?.remove();
|
|
1959
|
-
placeholder = null;
|
|
1960
|
-
if (glideTimer) clearTimeout(glideTimer);
|
|
1961
|
-
if (ghostTimer) clearTimeout(ghostTimer);
|
|
1962
|
-
htmlLayer()?.classList.remove('axdb-glide');
|
|
1963
|
-
api.container.style.cursor = '';
|
|
1964
|
-
},
|
|
1965
|
-
};
|
|
1966
|
-
|
|
1967
|
-
// Boot: adopt the current members, observe host churn for handle re-injection,
|
|
1968
|
-
// and let a responsive board settle on the count its width asks for before the
|
|
1969
|
-
// first frame (a 400px board declared at 12 columns must not flash at 12).
|
|
1970
|
-
handle.sync();
|
|
1971
|
-
const layer = htmlLayer();
|
|
1972
|
-
if (layer) hostObserver.observe(layer, { childList: true, subtree: true });
|
|
1973
|
-
containerObserver?.observe(api.container);
|
|
1974
|
-
|
|
1975
|
-
return handle;
|
|
1976
|
-
}
|