@grafloria/element 0.3.17 → 0.3.19
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/jest.config.ts +16 -0
- package/package.json +2 -2
- package/project.json +44 -0
- package/src/front-door-probe.spec.ts +173 -0
- package/src/index.d.ts +2 -1
- package/src/index.js +11 -2
- package/src/index.js.map +1 -1
- package/src/index.ts +804 -0
- package/src/lib/dashboard-kit/dashboard.js.map +1 -1
- package/src/lib/dashboard-kit/dashboard.spec.ts +821 -0
- package/src/lib/dashboard-kit/dashboard.ts +906 -0
- package/src/lib/dashboard-kit/grid-binder.js +16 -15
- package/src/lib/dashboard-kit/grid-binder.js.map +1 -1
- package/src/lib/dashboard-kit/grid-binder.ts +1976 -0
- package/src/lib/dashboard-kit/grid-mapping.js.map +1 -1
- package/src/lib/dashboard-kit/grid-mapping.spec.ts +308 -0
- package/src/lib/dashboard-kit/grid-mapping.ts +283 -0
- package/src/lib/dashboard-kit/index.js.map +1 -1
- package/src/lib/dashboard-kit/index.ts +56 -0
- package/src/lib/dashboard-kit/styles.js +9 -3
- package/src/lib/dashboard-kit/styles.js.map +1 -1
- package/src/lib/dashboard-kit/styles.ts +206 -0
- package/src/lib/dashboard-kit/widgets.js.map +1 -1
- package/src/lib/dashboard-kit/widgets.spec.ts +239 -0
- package/src/lib/dashboard-kit/widgets.ts +484 -0
- package/src/lib/diagram-kit/card.js.map +1 -1
- package/src/lib/diagram-kit/card.ts +219 -0
- package/src/lib/diagram-kit/diagram-kit.spec.ts +465 -0
- package/src/lib/diagram-kit/editing.js +45 -54
- package/src/lib/diagram-kit/editing.js.map +1 -1
- package/src/lib/diagram-kit/editing.spec.ts +172 -0
- package/src/lib/diagram-kit/editing.ts +493 -0
- package/src/lib/diagram-kit/er.js.map +1 -1
- package/src/lib/diagram-kit/er.ts +246 -0
- package/src/lib/diagram-kit/handles.js.map +1 -1
- package/src/lib/diagram-kit/handles.spec.ts +224 -0
- package/src/lib/diagram-kit/handles.ts +375 -0
- package/src/lib/diagram-kit/index.d.ts +1 -0
- package/src/lib/diagram-kit/index.js +11 -1
- package/src/lib/diagram-kit/index.js.map +1 -1
- package/src/lib/diagram-kit/index.ts +66 -0
- package/src/lib/diagram-kit/join-guidance.d.ts +116 -0
- package/src/lib/diagram-kit/join-guidance.js +331 -0
- package/src/lib/diagram-kit/join-guidance.js.map +1 -0
- package/src/lib/diagram-kit/join-guidance.spec.ts +241 -0
- package/src/lib/diagram-kit/join-guidance.ts +390 -0
- package/src/lib/diagram-kit/rows.js.map +1 -1
- package/src/lib/diagram-kit/rows.ts +174 -0
- package/src/lib/diagram-kit/styles.js.map +1 -1
- package/src/lib/diagram-kit/styles.ts +118 -0
- package/src/lib/diagram-kit/uml.js.map +1 -1
- package/src/lib/diagram-kit/uml.ts +213 -0
- package/src/lib/diagram-kit/update.js.map +1 -1
- package/src/lib/diagram-kit/update.spec.ts +208 -0
- package/src/lib/diagram-kit/update.ts +324 -0
- package/src/lib/grafloria-flow-element.js.map +1 -1
- package/src/lib/grafloria-flow-element.spec.ts +290 -0
- package/src/lib/grafloria-flow-element.ts +298 -0
- package/src/lib/grafloria.js.map +1 -1
- package/src/lib/grafloria.ts +151 -0
- package/src/lib/load.js.map +1 -1
- package/src/lib/load.spec.ts +565 -0
- package/src/lib/load.ts +359 -0
- package/src/lib/node-type-registry.js.map +1 -1
- package/src/lib/node-type-registry.ts +76 -0
- package/src/lib/stencil-kit/builders.js.map +1 -1
- package/src/lib/stencil-kit/builders.ts +58 -0
- package/src/lib/stencil-kit/card-builders.js.map +1 -1
- package/src/lib/stencil-kit/card-builders.ts +113 -0
- package/src/lib/stencil-kit/index.js.map +1 -1
- package/src/lib/stencil-kit/index.ts +17 -0
- package/src/lib/stencil-kit/palette.js +60 -6
- package/src/lib/stencil-kit/palette.js.map +1 -1
- package/src/lib/stencil-kit/palette.ts +482 -0
- package/src/lib/stencil-kit/shape-data.d.ts +3 -2
- package/src/lib/stencil-kit/shape-data.js +323 -31
- package/src/lib/stencil-kit/shape-data.js.map +1 -1
- package/src/lib/stencil-kit/shape-data.spec.ts +470 -0
- package/src/lib/stencil-kit/shape-data.ts +680 -0
- package/src/lib/stencil-kit/styles.js +15 -0
- package/src/lib/stencil-kit/styles.js.map +1 -1
- package/src/lib/stencil-kit/styles.ts +126 -0
- package/src/libs/element/src/index.d.ts +92 -0
- package/src/libs/element/src/index.js +576 -0
- package/src/libs/element/src/index.js.map +1 -0
- package/src/libs/element/src/lib/dashboard-kit/dashboard.d.ts +345 -0
- package/src/libs/element/src/lib/dashboard-kit/dashboard.js +594 -0
- package/src/libs/element/src/lib/dashboard-kit/dashboard.js.map +1 -0
- package/src/libs/element/src/lib/dashboard-kit/grid-binder.d.ts +277 -0
- package/src/libs/element/src/lib/dashboard-kit/grid-binder.js +1636 -0
- package/src/libs/element/src/lib/dashboard-kit/grid-binder.js.map +1 -0
- package/src/libs/element/src/lib/dashboard-kit/grid-mapping.d.ts +141 -0
- package/src/libs/element/src/lib/dashboard-kit/grid-mapping.js +176 -0
- package/src/libs/element/src/lib/dashboard-kit/grid-mapping.js.map +1 -0
- package/src/libs/element/src/lib/dashboard-kit/index.d.ts +5 -0
- package/src/libs/element/src/lib/dashboard-kit/index.js +33 -0
- package/src/libs/element/src/lib/dashboard-kit/index.js.map +1 -0
- package/src/libs/element/src/lib/dashboard-kit/styles.d.ts +25 -0
- package/src/libs/element/src/lib/dashboard-kit/styles.js +209 -0
- package/src/libs/element/src/lib/dashboard-kit/styles.js.map +1 -0
- package/src/libs/element/src/lib/dashboard-kit/widgets.d.ts +112 -0
- package/src/libs/element/src/lib/dashboard-kit/widgets.js +389 -0
- package/src/libs/element/src/lib/dashboard-kit/widgets.js.map +1 -0
- package/src/libs/element/src/lib/diagram-kit/card.d.ts +75 -0
- package/src/libs/element/src/lib/diagram-kit/card.js +209 -0
- package/src/libs/element/src/lib/diagram-kit/card.js.map +1 -0
- package/src/libs/element/src/lib/diagram-kit/editing.d.ts +58 -0
- package/src/libs/element/src/lib/diagram-kit/editing.js +453 -0
- package/src/libs/element/src/lib/diagram-kit/editing.js.map +1 -0
- package/src/libs/element/src/lib/diagram-kit/er.d.ts +73 -0
- package/src/libs/element/src/lib/diagram-kit/er.js +163 -0
- package/src/libs/element/src/lib/diagram-kit/er.js.map +1 -0
- package/src/libs/element/src/lib/diagram-kit/handles.d.ts +181 -0
- package/src/libs/element/src/lib/diagram-kit/handles.js +325 -0
- package/src/libs/element/src/lib/diagram-kit/handles.js.map +1 -0
- package/src/libs/element/src/lib/diagram-kit/index.d.ts +10 -0
- package/src/libs/element/src/lib/diagram-kit/index.js +55 -0
- package/src/libs/element/src/lib/diagram-kit/index.js.map +1 -0
- package/src/libs/element/src/lib/diagram-kit/join-guidance.d.ts +116 -0
- package/src/libs/element/src/lib/diagram-kit/join-guidance.js +331 -0
- package/src/libs/element/src/lib/diagram-kit/join-guidance.js.map +1 -0
- package/src/libs/element/src/lib/diagram-kit/rows.d.ts +53 -0
- package/src/libs/element/src/lib/diagram-kit/rows.js +147 -0
- package/src/libs/element/src/lib/diagram-kit/rows.js.map +1 -0
- package/src/libs/element/src/lib/diagram-kit/styles.d.ts +18 -0
- package/src/libs/element/src/lib/diagram-kit/styles.js +122 -0
- package/src/libs/element/src/lib/diagram-kit/styles.js.map +1 -0
- package/src/libs/element/src/lib/diagram-kit/uml.d.ts +59 -0
- package/src/libs/element/src/lib/diagram-kit/uml.js +138 -0
- package/src/libs/element/src/lib/diagram-kit/uml.js.map +1 -0
- package/src/libs/element/src/lib/diagram-kit/update.d.ts +133 -0
- package/src/libs/element/src/lib/diagram-kit/update.js +251 -0
- package/src/libs/element/src/lib/diagram-kit/update.js.map +1 -0
- package/src/libs/element/src/lib/grafloria-flow-element.d.ts +48 -0
- package/src/libs/element/src/lib/grafloria-flow-element.js +271 -0
- package/src/libs/element/src/lib/grafloria-flow-element.js.map +1 -0
- package/src/libs/element/src/lib/grafloria.d.ts +72 -0
- package/src/libs/element/src/lib/grafloria.js +74 -0
- package/src/libs/element/src/lib/grafloria.js.map +1 -0
- package/src/libs/element/src/lib/load.d.ts +72 -0
- package/src/libs/element/src/lib/load.js +255 -0
- package/src/libs/element/src/lib/load.js.map +1 -0
- package/src/libs/element/src/lib/node-type-registry.d.ts +39 -0
- package/src/libs/element/src/lib/node-type-registry.js +50 -0
- package/src/libs/element/src/lib/node-type-registry.js.map +1 -0
- package/src/libs/element/src/lib/stencil-kit/builders.d.ts +45 -0
- package/src/libs/element/src/lib/stencil-kit/builders.js +24 -0
- package/src/libs/element/src/lib/stencil-kit/builders.js.map +1 -0
- package/src/libs/element/src/lib/stencil-kit/card-builders.d.ts +2 -0
- package/src/libs/element/src/lib/stencil-kit/card-builders.js +108 -0
- package/src/libs/element/src/lib/stencil-kit/card-builders.js.map +1 -0
- package/src/libs/element/src/lib/stencil-kit/index.d.ts +7 -0
- package/src/libs/element/src/lib/stencil-kit/index.js +19 -0
- package/src/libs/element/src/lib/stencil-kit/index.js.map +1 -0
- package/src/libs/element/src/lib/stencil-kit/palette.d.ts +93 -0
- package/src/libs/element/src/lib/stencil-kit/palette.js +430 -0
- package/src/libs/element/src/lib/stencil-kit/palette.js.map +1 -0
- package/src/libs/element/src/lib/stencil-kit/shape-data.d.ts +28 -0
- package/src/libs/element/src/lib/stencil-kit/shape-data.js +540 -0
- package/src/libs/element/src/lib/stencil-kit/shape-data.js.map +1 -0
- package/src/libs/element/src/lib/stencil-kit/styles.d.ts +2 -0
- package/src/libs/element/src/lib/stencil-kit/styles.js +129 -0
- package/src/libs/element/src/lib/stencil-kit/styles.js.map +1 -0
- package/src/libs/engine/src/adapters/component-adapter.interface.d.ts +302 -0
- package/src/libs/engine/src/adapters/component-adapter.interface.js +84 -0
- package/src/libs/engine/src/adapters/component-adapter.interface.js.map +1 -0
- package/src/libs/engine/src/adapters/index.d.ts +7 -0
- package/src/libs/engine/src/adapters/index.js +11 -0
- package/src/libs/engine/src/adapters/index.js.map +1 -0
- package/src/libs/engine/src/clipboard/ClipboardManager.d.ts +81 -0
- package/src/libs/engine/src/clipboard/ClipboardManager.js +108 -0
- package/src/libs/engine/src/clipboard/ClipboardManager.js.map +1 -0
- package/src/libs/engine/src/clipboard/index.d.ts +1 -0
- package/src/libs/engine/src/clipboard/index.js +6 -0
- package/src/libs/engine/src/clipboard/index.js.map +1 -0
- package/src/libs/engine/src/collab/apply-op.d.ts +42 -0
- package/src/libs/engine/src/collab/apply-op.js +939 -0
- package/src/libs/engine/src/collab/apply-op.js.map +1 -0
- package/src/libs/engine/src/collab/capture.d.ts +147 -0
- package/src/libs/engine/src/collab/capture.js +510 -0
- package/src/libs/engine/src/collab/capture.js.map +1 -0
- package/src/libs/engine/src/collab/index.d.ts +12 -0
- package/src/libs/engine/src/collab/index.js +84 -0
- package/src/libs/engine/src/collab/index.js.map +1 -0
- package/src/libs/engine/src/collab/integrity.d.ts +178 -0
- package/src/libs/engine/src/collab/integrity.js +438 -0
- package/src/libs/engine/src/collab/integrity.js.map +1 -0
- package/src/libs/engine/src/collab/lww.d.ts +47 -0
- package/src/libs/engine/src/collab/lww.js +188 -0
- package/src/libs/engine/src/collab/lww.js.map +1 -0
- package/src/libs/engine/src/collab/op-log.d.ts +50 -0
- package/src/libs/engine/src/collab/op-log.js +167 -0
- package/src/libs/engine/src/collab/op-log.js.map +1 -0
- package/src/libs/engine/src/collab/op.d.ts +120 -0
- package/src/libs/engine/src/collab/op.js +118 -0
- package/src/libs/engine/src/collab/op.js.map +1 -0
- package/src/libs/engine/src/collab/replica.d.ts +188 -0
- package/src/libs/engine/src/collab/replica.js +526 -0
- package/src/libs/engine/src/collab/replica.js.map +1 -0
- package/src/libs/engine/src/collab/undo.d.ts +106 -0
- package/src/libs/engine/src/collab/undo.js +388 -0
- package/src/libs/engine/src/collab/undo.js.map +1 -0
- package/src/libs/engine/src/commands/Command.d.ts +66 -0
- package/src/libs/engine/src/commands/Command.js +64 -0
- package/src/libs/engine/src/commands/Command.js.map +1 -0
- package/src/libs/engine/src/commands/CommandManager.d.ts +161 -0
- package/src/libs/engine/src/commands/CommandManager.js +417 -0
- package/src/libs/engine/src/commands/CommandManager.js.map +1 -0
- package/src/libs/engine/src/commands/basic/AddGroupCommand.d.ts +13 -0
- package/src/libs/engine/src/commands/basic/AddGroupCommand.js +50 -0
- package/src/libs/engine/src/commands/basic/AddGroupCommand.js.map +1 -0
- package/src/libs/engine/src/commands/basic/AddLinkCommand.d.ts +13 -0
- package/src/libs/engine/src/commands/basic/AddLinkCommand.js +50 -0
- package/src/libs/engine/src/commands/basic/AddLinkCommand.js.map +1 -0
- package/src/libs/engine/src/commands/basic/AddNodeCommand.d.ts +13 -0
- package/src/libs/engine/src/commands/basic/AddNodeCommand.js +65 -0
- package/src/libs/engine/src/commands/basic/AddNodeCommand.js.map +1 -0
- package/src/libs/engine/src/commands/basic/AddToGroupCommand.d.ts +12 -0
- package/src/libs/engine/src/commands/basic/AddToGroupCommand.js +73 -0
- package/src/libs/engine/src/commands/basic/AddToGroupCommand.js.map +1 -0
- package/src/libs/engine/src/commands/basic/AlignCommands.d.ts +42 -0
- package/src/libs/engine/src/commands/basic/AlignCommands.js +138 -0
- package/src/libs/engine/src/commands/basic/AlignCommands.js.map +1 -0
- package/src/libs/engine/src/commands/basic/CollapseGroupCommand.d.ts +14 -0
- package/src/libs/engine/src/commands/basic/CollapseGroupCommand.js +70 -0
- package/src/libs/engine/src/commands/basic/CollapseGroupCommand.js.map +1 -0
- package/src/libs/engine/src/commands/basic/CopyCommand.d.ts +29 -0
- package/src/libs/engine/src/commands/basic/CopyCommand.js +131 -0
- package/src/libs/engine/src/commands/basic/CopyCommand.js.map +1 -0
- package/src/libs/engine/src/commands/basic/CutCommand.d.ts +49 -0
- package/src/libs/engine/src/commands/basic/CutCommand.js +68 -0
- package/src/libs/engine/src/commands/basic/CutCommand.js.map +1 -0
- package/src/libs/engine/src/commands/basic/DeleteSelectionCommand.d.ts +58 -0
- package/src/libs/engine/src/commands/basic/DeleteSelectionCommand.js +309 -0
- package/src/libs/engine/src/commands/basic/DeleteSelectionCommand.js.map +1 -0
- package/src/libs/engine/src/commands/basic/DuplicateCommand.d.ts +31 -0
- package/src/libs/engine/src/commands/basic/DuplicateCommand.js +232 -0
- package/src/libs/engine/src/commands/basic/DuplicateCommand.js.map +1 -0
- package/src/libs/engine/src/commands/basic/ExpandGroupCommand.d.ts +12 -0
- package/src/libs/engine/src/commands/basic/ExpandGroupCommand.js +69 -0
- package/src/libs/engine/src/commands/basic/ExpandGroupCommand.js.map +1 -0
- package/src/libs/engine/src/commands/basic/MoveGroupCommand.d.ts +46 -0
- package/src/libs/engine/src/commands/basic/MoveGroupCommand.js +77 -0
- package/src/libs/engine/src/commands/basic/MoveGroupCommand.js.map +1 -0
- package/src/libs/engine/src/commands/basic/MoveNodeCommand.d.ts +30 -0
- package/src/libs/engine/src/commands/basic/MoveNodeCommand.js +87 -0
- package/src/libs/engine/src/commands/basic/MoveNodeCommand.js.map +1 -0
- package/src/libs/engine/src/commands/basic/NodeZOrderCommands.d.ts +39 -0
- package/src/libs/engine/src/commands/basic/NodeZOrderCommands.js +120 -0
- package/src/libs/engine/src/commands/basic/NodeZOrderCommands.js.map +1 -0
- package/src/libs/engine/src/commands/basic/PasteCommand.d.ts +33 -0
- package/src/libs/engine/src/commands/basic/PasteCommand.js +228 -0
- package/src/libs/engine/src/commands/basic/PasteCommand.js.map +1 -0
- package/src/libs/engine/src/commands/basic/PortCommands.d.ts +22 -0
- package/src/libs/engine/src/commands/basic/PortCommands.js +85 -0
- package/src/libs/engine/src/commands/basic/PortCommands.js.map +1 -0
- package/src/libs/engine/src/commands/basic/ReconnectLinkCommand.d.ts +15 -0
- package/src/libs/engine/src/commands/basic/ReconnectLinkCommand.js +59 -0
- package/src/libs/engine/src/commands/basic/ReconnectLinkCommand.js.map +1 -0
- package/src/libs/engine/src/commands/basic/RemoveFromGroupCommand.d.ts +12 -0
- package/src/libs/engine/src/commands/basic/RemoveFromGroupCommand.js +64 -0
- package/src/libs/engine/src/commands/basic/RemoveFromGroupCommand.js.map +1 -0
- package/src/libs/engine/src/commands/basic/RemoveGroupCommand.d.ts +12 -0
- package/src/libs/engine/src/commands/basic/RemoveGroupCommand.js +56 -0
- package/src/libs/engine/src/commands/basic/RemoveGroupCommand.js.map +1 -0
- package/src/libs/engine/src/commands/basic/RemoveLinkCommand.d.ts +12 -0
- package/src/libs/engine/src/commands/basic/RemoveLinkCommand.js +57 -0
- package/src/libs/engine/src/commands/basic/RemoveLinkCommand.js.map +1 -0
- package/src/libs/engine/src/commands/basic/RemoveNodeCommand.d.ts +23 -0
- package/src/libs/engine/src/commands/basic/RemoveNodeCommand.js +108 -0
- package/src/libs/engine/src/commands/basic/RemoveNodeCommand.js.map +1 -0
- package/src/libs/engine/src/commands/basic/ResizeNodeCommand.d.ts +16 -0
- package/src/libs/engine/src/commands/basic/ResizeNodeCommand.js +81 -0
- package/src/libs/engine/src/commands/basic/ResizeNodeCommand.js.map +1 -0
- package/src/libs/engine/src/commands/basic/RotateNodeCommand.d.ts +37 -0
- package/src/libs/engine/src/commands/basic/RotateNodeCommand.js +88 -0
- package/src/libs/engine/src/commands/basic/RotateNodeCommand.js.map +1 -0
- package/src/libs/engine/src/commands/basic/SetFlexItemCommand.d.ts +14 -0
- package/src/libs/engine/src/commands/basic/SetFlexItemCommand.js +74 -0
- package/src/libs/engine/src/commands/basic/SetFlexItemCommand.js.map +1 -0
- package/src/libs/engine/src/commands/basic/SetGridItemCommand.d.ts +14 -0
- package/src/libs/engine/src/commands/basic/SetGridItemCommand.js +74 -0
- package/src/libs/engine/src/commands/basic/SetGridItemCommand.js.map +1 -0
- package/src/libs/engine/src/commands/basic/SetLayoutCommand.d.ts +16 -0
- package/src/libs/engine/src/commands/basic/SetLayoutCommand.js +80 -0
- package/src/libs/engine/src/commands/basic/SetLayoutCommand.js.map +1 -0
- package/src/libs/engine/src/commands/basic/SetLinkDisplayLabelCommand.d.ts +28 -0
- package/src/libs/engine/src/commands/basic/SetLinkDisplayLabelCommand.js +83 -0
- package/src/libs/engine/src/commands/basic/SetLinkDisplayLabelCommand.js.map +1 -0
- package/src/libs/engine/src/commands/basic/SetLinkLabelCommand.d.ts +24 -0
- package/src/libs/engine/src/commands/basic/SetLinkLabelCommand.js +81 -0
- package/src/libs/engine/src/commands/basic/SetLinkLabelCommand.js.map +1 -0
- package/src/libs/engine/src/commands/basic/SetLinkLabelsCommand.d.ts +14 -0
- package/src/libs/engine/src/commands/basic/SetLinkLabelsCommand.js +75 -0
- package/src/libs/engine/src/commands/basic/SetLinkLabelsCommand.js.map +1 -0
- package/src/libs/engine/src/commands/basic/SetLinkPathTypeCommand.d.ts +14 -0
- package/src/libs/engine/src/commands/basic/SetLinkPathTypeCommand.js +77 -0
- package/src/libs/engine/src/commands/basic/SetLinkPathTypeCommand.js.map +1 -0
- package/src/libs/engine/src/commands/basic/SetLinkPointsCommand.d.ts +32 -0
- package/src/libs/engine/src/commands/basic/SetLinkPointsCommand.js +87 -0
- package/src/libs/engine/src/commands/basic/SetLinkPointsCommand.js.map +1 -0
- package/src/libs/engine/src/commands/basic/SetNodeDataCommand.d.ts +14 -0
- package/src/libs/engine/src/commands/basic/SetNodeDataCommand.js +93 -0
- package/src/libs/engine/src/commands/basic/SetNodeDataCommand.js.map +1 -0
- package/src/libs/engine/src/commands/basic/SetNodeLabelCommand.d.ts +26 -0
- package/src/libs/engine/src/commands/basic/SetNodeLabelCommand.js +81 -0
- package/src/libs/engine/src/commands/basic/SetNodeLabelCommand.js.map +1 -0
- package/src/libs/engine/src/commands/basic/SetNodeShapeConfigCommand.d.ts +14 -0
- package/src/libs/engine/src/commands/basic/SetNodeShapeConfigCommand.js +69 -0
- package/src/libs/engine/src/commands/basic/SetNodeShapeConfigCommand.js.map +1 -0
- package/src/libs/engine/src/commands/basic/SetNodeStyleCommand.d.ts +15 -0
- package/src/libs/engine/src/commands/basic/SetNodeStyleCommand.js +88 -0
- package/src/libs/engine/src/commands/basic/SetNodeStyleCommand.js.map +1 -0
- package/src/libs/engine/src/commands/basic/SetParentCommand.d.ts +13 -0
- package/src/libs/engine/src/commands/basic/SetParentCommand.js +109 -0
- package/src/libs/engine/src/commands/basic/SetParentCommand.js.map +1 -0
- package/src/libs/engine/src/commands/basic/SetStrokePointsCommand.d.ts +34 -0
- package/src/libs/engine/src/commands/basic/SetStrokePointsCommand.js +86 -0
- package/src/libs/engine/src/commands/basic/SetStrokePointsCommand.js.map +1 -0
- package/src/libs/engine/src/commands/basic/StrokeLifecycleCommands.d.ts +31 -0
- package/src/libs/engine/src/commands/basic/StrokeLifecycleCommands.js +88 -0
- package/src/libs/engine/src/commands/basic/StrokeLifecycleCommands.js.map +1 -0
- package/src/libs/engine/src/commands/basic/UpdateLinkStyleCommand.d.ts +15 -0
- package/src/libs/engine/src/commands/basic/UpdateLinkStyleCommand.js +72 -0
- package/src/libs/engine/src/commands/basic/UpdateLinkStyleCommand.js.map +1 -0
- package/src/libs/engine/src/commands/basic/index.d.ts +41 -0
- package/src/libs/engine/src/commands/basic/index.js +52 -0
- package/src/libs/engine/src/commands/basic/index.js.map +1 -0
- package/src/libs/engine/src/commands/basic/remapNodePortIds.d.ts +23 -0
- package/src/libs/engine/src/commands/basic/remapNodePortIds.js +46 -0
- package/src/libs/engine/src/commands/basic/remapNodePortIds.js.map +1 -0
- package/src/libs/engine/src/commands/basic/resolveLinkNodeIds.d.ts +31 -0
- package/src/libs/engine/src/commands/basic/resolveLinkNodeIds.js +49 -0
- package/src/libs/engine/src/commands/basic/resolveLinkNodeIds.js.map +1 -0
- package/src/libs/engine/src/commands/composite/BatchCommand.d.ts +19 -0
- package/src/libs/engine/src/commands/composite/BatchCommand.js +61 -0
- package/src/libs/engine/src/commands/composite/BatchCommand.js.map +1 -0
- package/src/libs/engine/src/commands/composite/MacroCommand.d.ts +35 -0
- package/src/libs/engine/src/commands/composite/MacroCommand.js +87 -0
- package/src/libs/engine/src/commands/composite/MacroCommand.js.map +1 -0
- package/src/libs/engine/src/commands/composite/index.d.ts +2 -0
- package/src/libs/engine/src/commands/composite/index.js +7 -0
- package/src/libs/engine/src/commands/composite/index.js.map +1 -0
- package/src/libs/engine/src/commands/index.d.ts +4 -0
- package/src/libs/engine/src/commands/index.js +9 -0
- package/src/libs/engine/src/commands/index.js.map +1 -0
- package/src/libs/engine/src/comments/comment-store.d.ts +238 -0
- package/src/libs/engine/src/comments/comment-store.js +538 -0
- package/src/libs/engine/src/comments/comment-store.js.map +1 -0
- package/src/libs/engine/src/comments/index.d.ts +4 -0
- package/src/libs/engine/src/comments/index.js +31 -0
- package/src/libs/engine/src/comments/index.js.map +1 -0
- package/src/libs/engine/src/comments/mentions.d.ts +52 -0
- package/src/libs/engine/src/comments/mentions.js +94 -0
- package/src/libs/engine/src/comments/mentions.js.map +1 -0
- package/src/libs/engine/src/comments/read-state.d.ts +37 -0
- package/src/libs/engine/src/comments/read-state.js +105 -0
- package/src/libs/engine/src/comments/read-state.js.map +1 -0
- package/src/libs/engine/src/comments/types.d.ts +154 -0
- package/src/libs/engine/src/comments/types.js +107 -0
- package/src/libs/engine/src/comments/types.js.map +1 -0
- package/src/libs/engine/src/config/InteractionConfig.d.ts +330 -0
- package/src/libs/engine/src/config/InteractionConfig.js +154 -0
- package/src/libs/engine/src/config/InteractionConfig.js.map +1 -0
- package/src/libs/engine/src/config/index.d.ts +1 -0
- package/src/libs/engine/src/config/index.js +6 -0
- package/src/libs/engine/src/config/index.js.map +1 -0
- package/src/libs/engine/src/dsl/DSL.d.ts +197 -0
- package/src/libs/engine/src/dsl/DSL.js +564 -0
- package/src/libs/engine/src/dsl/DSL.js.map +1 -0
- package/src/libs/engine/src/dsl/advanced/StyleParser.d.ts +75 -0
- package/src/libs/engine/src/dsl/advanced/StyleParser.js +166 -0
- package/src/libs/engine/src/dsl/advanced/StyleParser.js.map +1 -0
- package/src/libs/engine/src/dsl/advanced/TemplateParser.d.ts +88 -0
- package/src/libs/engine/src/dsl/advanced/TemplateParser.js +226 -0
- package/src/libs/engine/src/dsl/advanced/TemplateParser.js.map +1 -0
- package/src/libs/engine/src/dsl/advanced/index.d.ts +9 -0
- package/src/libs/engine/src/dsl/advanced/index.js +13 -0
- package/src/libs/engine/src/dsl/advanced/index.js.map +1 -0
- package/src/libs/engine/src/dsl/detector/LayoutDetector.d.ts +80 -0
- package/src/libs/engine/src/dsl/detector/LayoutDetector.js +333 -0
- package/src/libs/engine/src/dsl/detector/LayoutDetector.js.map +1 -0
- package/src/libs/engine/src/dsl/extended/BPMNGenerator.d.ts +38 -0
- package/src/libs/engine/src/dsl/extended/BPMNGenerator.js +90 -0
- package/src/libs/engine/src/dsl/extended/BPMNGenerator.js.map +1 -0
- package/src/libs/engine/src/dsl/extended/BPMNParser.d.ts +83 -0
- package/src/libs/engine/src/dsl/extended/BPMNParser.js +198 -0
- package/src/libs/engine/src/dsl/extended/BPMNParser.js.map +1 -0
- package/src/libs/engine/src/dsl/extended/ERDGenerator.d.ts +38 -0
- package/src/libs/engine/src/dsl/extended/ERDGenerator.js +126 -0
- package/src/libs/engine/src/dsl/extended/ERDGenerator.js.map +1 -0
- package/src/libs/engine/src/dsl/extended/ERDParser.d.ts +81 -0
- package/src/libs/engine/src/dsl/extended/ERDParser.js +161 -0
- package/src/libs/engine/src/dsl/extended/ERDParser.js.map +1 -0
- package/src/libs/engine/src/dsl/extended/ERDTransformer.d.ts +43 -0
- package/src/libs/engine/src/dsl/extended/ERDTransformer.js +105 -0
- package/src/libs/engine/src/dsl/extended/ERDTransformer.js.map +1 -0
- package/src/libs/engine/src/dsl/extended/UMLGenerator.d.ts +42 -0
- package/src/libs/engine/src/dsl/extended/UMLGenerator.js +157 -0
- package/src/libs/engine/src/dsl/extended/UMLGenerator.js.map +1 -0
- package/src/libs/engine/src/dsl/extended/UMLParser.d.ts +99 -0
- package/src/libs/engine/src/dsl/extended/UMLParser.js +200 -0
- package/src/libs/engine/src/dsl/extended/UMLParser.js.map +1 -0
- package/src/libs/engine/src/dsl/extended/index.d.ts +13 -0
- package/src/libs/engine/src/dsl/extended/index.js +27 -0
- package/src/libs/engine/src/dsl/extended/index.js.map +1 -0
- package/src/libs/engine/src/dsl/generator/DSLFormatter.d.ts +87 -0
- package/src/libs/engine/src/dsl/generator/DSLFormatter.js +261 -0
- package/src/libs/engine/src/dsl/generator/DSLFormatter.js.map +1 -0
- package/src/libs/engine/src/dsl/generator/DSLGenerator.d.ts +96 -0
- package/src/libs/engine/src/dsl/generator/DSLGenerator.js +328 -0
- package/src/libs/engine/src/dsl/generator/DSLGenerator.js.map +1 -0
- package/src/libs/engine/src/dsl/generator/DiagramAnalyzer.d.ts +111 -0
- package/src/libs/engine/src/dsl/generator/DiagramAnalyzer.js +361 -0
- package/src/libs/engine/src/dsl/generator/DiagramAnalyzer.js.map +1 -0
- package/src/libs/engine/src/dsl/index.d.ts +35 -0
- package/src/libs/engine/src/dsl/index.js +64 -0
- package/src/libs/engine/src/dsl/index.js.map +1 -0
- package/src/libs/engine/src/dsl/lexer/Lexer.d.ts +117 -0
- package/src/libs/engine/src/dsl/lexer/Lexer.js +521 -0
- package/src/libs/engine/src/dsl/lexer/Lexer.js.map +1 -0
- package/src/libs/engine/src/dsl/mermaid/MermaidClass.d.ts +136 -0
- package/src/libs/engine/src/dsl/mermaid/MermaidClass.js +429 -0
- package/src/libs/engine/src/dsl/mermaid/MermaidClass.js.map +1 -0
- package/src/libs/engine/src/dsl/mermaid/MermaidER.d.ts +118 -0
- package/src/libs/engine/src/dsl/mermaid/MermaidER.js +338 -0
- package/src/libs/engine/src/dsl/mermaid/MermaidER.js.map +1 -0
- package/src/libs/engine/src/dsl/mermaid/MermaidState.d.ts +89 -0
- package/src/libs/engine/src/dsl/mermaid/MermaidState.js +613 -0
- package/src/libs/engine/src/dsl/mermaid/MermaidState.js.map +1 -0
- package/src/libs/engine/src/dsl/mermaid/index.d.ts +10 -0
- package/src/libs/engine/src/dsl/mermaid/index.js +33 -0
- package/src/libs/engine/src/dsl/mermaid/index.js.map +1 -0
- package/src/libs/engine/src/dsl/mermaid/layout.d.ts +70 -0
- package/src/libs/engine/src/dsl/mermaid/layout.js +162 -0
- package/src/libs/engine/src/dsl/mermaid/layout.js.map +1 -0
- package/src/libs/engine/src/dsl/mermaid/lines.d.ts +25 -0
- package/src/libs/engine/src/dsl/mermaid/lines.js +74 -0
- package/src/libs/engine/src/dsl/mermaid/lines.js.map +1 -0
- package/src/libs/engine/src/dsl/parser/Parser.d.ts +131 -0
- package/src/libs/engine/src/dsl/parser/Parser.js +725 -0
- package/src/libs/engine/src/dsl/parser/Parser.js.map +1 -0
- package/src/libs/engine/src/dsl/sync/BidirectionalSync.d.ts +154 -0
- package/src/libs/engine/src/dsl/sync/BidirectionalSync.js +389 -0
- package/src/libs/engine/src/dsl/sync/BidirectionalSync.js.map +1 -0
- package/src/libs/engine/src/dsl/sync/IntegratedSyncManager.d.ts +128 -0
- package/src/libs/engine/src/dsl/sync/IntegratedSyncManager.js +244 -0
- package/src/libs/engine/src/dsl/sync/IntegratedSyncManager.js.map +1 -0
- package/src/libs/engine/src/dsl/sync/LayoutApplicator.d.ts +140 -0
- package/src/libs/engine/src/dsl/sync/LayoutApplicator.js +271 -0
- package/src/libs/engine/src/dsl/sync/LayoutApplicator.js.map +1 -0
- package/src/libs/engine/src/dsl/sync/SyncStateManager.d.ts +145 -0
- package/src/libs/engine/src/dsl/sync/SyncStateManager.js +253 -0
- package/src/libs/engine/src/dsl/sync/SyncStateManager.js.map +1 -0
- package/src/libs/engine/src/dsl/sync/index.d.ts +13 -0
- package/src/libs/engine/src/dsl/sync/index.js +21 -0
- package/src/libs/engine/src/dsl/sync/index.js.map +1 -0
- package/src/libs/engine/src/dsl/transformer/ASTTransformer.d.ts +150 -0
- package/src/libs/engine/src/dsl/transformer/ASTTransformer.js +605 -0
- package/src/libs/engine/src/dsl/transformer/ASTTransformer.js.map +1 -0
- package/src/libs/engine/src/dsl/types/ASTNode.d.ts +159 -0
- package/src/libs/engine/src/dsl/types/ASTNode.js +31 -0
- package/src/libs/engine/src/dsl/types/ASTNode.js.map +1 -0
- package/src/libs/engine/src/dsl/types/Token.d.ts +79 -0
- package/src/libs/engine/src/dsl/types/Token.js +84 -0
- package/src/libs/engine/src/dsl/types/Token.js.map +1 -0
- package/src/libs/engine/src/engine/DiagramEngine.d.ts +917 -0
- package/src/libs/engine/src/engine/DiagramEngine.js +2190 -0
- package/src/libs/engine/src/engine/DiagramEngine.js.map +1 -0
- package/src/libs/engine/src/engine/DiagramMode.d.ts +51 -0
- package/src/libs/engine/src/engine/DiagramMode.js +53 -0
- package/src/libs/engine/src/engine/DiagramMode.js.map +1 -0
- package/src/libs/engine/src/engine/DiagramModeTypes.d.ts +73 -0
- package/src/libs/engine/src/engine/DiagramModeTypes.js +4 -0
- package/src/libs/engine/src/engine/DiagramModeTypes.js.map +1 -0
- package/src/libs/engine/src/engine/ModeManager.d.ts +155 -0
- package/src/libs/engine/src/engine/ModeManager.js +387 -0
- package/src/libs/engine/src/engine/ModeManager.js.map +1 -0
- package/src/libs/engine/src/engine/index.d.ts +2 -0
- package/src/libs/engine/src/engine/index.js +7 -0
- package/src/libs/engine/src/engine/index.js.map +1 -0
- package/src/libs/engine/src/events/EventBus.d.ts +106 -0
- package/src/libs/engine/src/events/EventBus.js +226 -0
- package/src/libs/engine/src/events/EventBus.js.map +1 -0
- package/src/libs/engine/src/events/index.d.ts +1 -0
- package/src/libs/engine/src/events/index.js +6 -0
- package/src/libs/engine/src/events/index.js.map +1 -0
- package/src/libs/engine/src/index.d.ts +43 -0
- package/src/libs/engine/src/index.js +142 -0
- package/src/libs/engine/src/index.js.map +1 -0
- package/src/libs/engine/src/interaction/GroupCollapseService.d.ts +53 -0
- package/src/libs/engine/src/interaction/GroupCollapseService.js +274 -0
- package/src/libs/engine/src/interaction/GroupCollapseService.js.map +1 -0
- package/src/libs/engine/src/interaction/GroupMembershipService.d.ts +107 -0
- package/src/libs/engine/src/interaction/GroupMembershipService.js +245 -0
- package/src/libs/engine/src/interaction/GroupMembershipService.js.map +1 -0
- package/src/libs/engine/src/interaction/SemanticMembershipService.d.ts +28 -0
- package/src/libs/engine/src/interaction/SemanticMembershipService.js +168 -0
- package/src/libs/engine/src/interaction/SemanticMembershipService.js.map +1 -0
- package/src/libs/engine/src/interaction/SwimlaneService.d.ts +62 -0
- package/src/libs/engine/src/interaction/SwimlaneService.js +180 -0
- package/src/libs/engine/src/interaction/SwimlaneService.js.map +1 -0
- package/src/libs/engine/src/interaction/index.d.ts +4 -0
- package/src/libs/engine/src/interaction/index.js +9 -0
- package/src/libs/engine/src/interaction/index.js.map +1 -0
- package/src/libs/engine/src/interop/drawio/importDrawio.d.ts +52 -0
- package/src/libs/engine/src/interop/drawio/importDrawio.js +940 -0
- package/src/libs/engine/src/interop/drawio/importDrawio.js.map +1 -0
- package/src/libs/engine/src/interop/drawio/index.d.ts +1 -0
- package/src/libs/engine/src/interop/drawio/index.js +12 -0
- package/src/libs/engine/src/interop/drawio/index.js.map +1 -0
- package/src/libs/engine/src/interop/drawio/xml.d.ts +26 -0
- package/src/libs/engine/src/interop/drawio/xml.js +213 -0
- package/src/libs/engine/src/interop/drawio/xml.js.map +1 -0
- package/src/libs/engine/src/layout/CompoundLayoutService.d.ts +121 -0
- package/src/libs/engine/src/layout/CompoundLayoutService.js +616 -0
- package/src/libs/engine/src/layout/CompoundLayoutService.js.map +1 -0
- package/src/libs/engine/src/layout/ILayoutAlgorithm.d.ts +120 -0
- package/src/libs/engine/src/layout/ILayoutAlgorithm.js +88 -0
- package/src/libs/engine/src/layout/ILayoutAlgorithm.js.map +1 -0
- package/src/libs/engine/src/layout/LayoutManager.d.ts +155 -0
- package/src/libs/engine/src/layout/LayoutManager.js +640 -0
- package/src/libs/engine/src/layout/LayoutManager.js.map +1 -0
- package/src/libs/engine/src/layout/SmartSpacingCalculator.d.ts +62 -0
- package/src/libs/engine/src/layout/SmartSpacingCalculator.js +134 -0
- package/src/libs/engine/src/layout/SmartSpacingCalculator.js.map +1 -0
- package/src/libs/engine/src/layout/ViewportTransform.d.ts +55 -0
- package/src/libs/engine/src/layout/ViewportTransform.js +118 -0
- package/src/libs/engine/src/layout/ViewportTransform.js.map +1 -0
- package/src/libs/engine/src/layout/algorithms/ForceDirectedLayoutAlgorithm.d.ts +34 -0
- package/src/libs/engine/src/layout/algorithms/ForceDirectedLayoutAlgorithm.js +317 -0
- package/src/libs/engine/src/layout/algorithms/ForceDirectedLayoutAlgorithm.js.map +1 -0
- package/src/libs/engine/src/layout/algorithms/GridLayoutAlgorithm.d.ts +56 -0
- package/src/libs/engine/src/layout/algorithms/GridLayoutAlgorithm.js +223 -0
- package/src/libs/engine/src/layout/algorithms/GridLayoutAlgorithm.js.map +1 -0
- package/src/libs/engine/src/layout/algorithms/HierarchicalLayoutAlgorithm.d.ts +60 -0
- package/src/libs/engine/src/layout/algorithms/HierarchicalLayoutAlgorithm.js +307 -0
- package/src/libs/engine/src/layout/algorithms/HierarchicalLayoutAlgorithm.js.map +1 -0
- package/src/libs/engine/src/layout/algorithms/HybridLayoutAlgorithm.d.ts +62 -0
- package/src/libs/engine/src/layout/algorithms/HybridLayoutAlgorithm.js +324 -0
- package/src/libs/engine/src/layout/algorithms/HybridLayoutAlgorithm.js.map +1 -0
- package/src/libs/engine/src/layout/community-layout-adapter.d.ts +107 -0
- package/src/libs/engine/src/layout/community-layout-adapter.js +486 -0
- package/src/libs/engine/src/layout/community-layout-adapter.js.map +1 -0
- package/src/libs/engine/src/layout/component-packing.d.ts +98 -0
- package/src/libs/engine/src/layout/component-packing.js +307 -0
- package/src/libs/engine/src/layout/component-packing.js.map +1 -0
- package/src/libs/engine/src/layout/dagre-layout-adapter.d.ts +122 -0
- package/src/libs/engine/src/layout/dagre-layout-adapter.js +697 -0
- package/src/libs/engine/src/layout/dagre-layout-adapter.js.map +1 -0
- package/src/libs/engine/src/layout/edge-bundling.interface.d.ts +159 -0
- package/src/libs/engine/src/layout/edge-bundling.interface.js +379 -0
- package/src/libs/engine/src/layout/edge-bundling.interface.js.map +1 -0
- package/src/libs/engine/src/layout/elk-layout-adapter.d.ts +121 -0
- package/src/libs/engine/src/layout/elk-layout-adapter.js +586 -0
- package/src/libs/engine/src/layout/elk-layout-adapter.js.map +1 -0
- package/src/libs/engine/src/layout/elk-loader.d.ts +1 -0
- package/src/libs/engine/src/layout/elk-loader.js +24 -0
- package/src/libs/engine/src/layout/elk-loader.js.map +1 -0
- package/src/libs/engine/src/layout/force-layout-adapter.d.ts +167 -0
- package/src/libs/engine/src/layout/force-layout-adapter.js +790 -0
- package/src/libs/engine/src/layout/force-layout-adapter.js.map +1 -0
- package/src/libs/engine/src/layout/grid-pack/grid-pack-engine.d.ts +323 -0
- package/src/libs/engine/src/layout/grid-pack/grid-pack-engine.js +685 -0
- package/src/libs/engine/src/layout/grid-pack/grid-pack-engine.js.map +1 -0
- package/src/libs/engine/src/layout/incremental/mental-map.d.ts +98 -0
- package/src/libs/engine/src/layout/incremental/mental-map.js +221 -0
- package/src/libs/engine/src/layout/incremental/mental-map.js.map +1 -0
- package/src/libs/engine/src/layout/incremental-layout.interface.d.ts +145 -0
- package/src/libs/engine/src/layout/incremental-layout.interface.js +300 -0
- package/src/libs/engine/src/layout/incremental-layout.interface.js.map +1 -0
- package/src/libs/engine/src/layout/index.d.ts +83 -0
- package/src/libs/engine/src/layout/index.js +116 -0
- package/src/libs/engine/src/layout/index.js.map +1 -0
- package/src/libs/engine/src/layout/layout-adapter.interface.d.ts +185 -0
- package/src/libs/engine/src/layout/layout-adapter.interface.js +10 -0
- package/src/libs/engine/src/layout/layout-adapter.interface.js.map +1 -0
- package/src/libs/engine/src/layout/layout-auto-select.d.ts +160 -0
- package/src/libs/engine/src/layout/layout-auto-select.js +621 -0
- package/src/libs/engine/src/layout/layout-auto-select.js.map +1 -0
- package/src/libs/engine/src/layout/layout-constraints.interface.d.ts +117 -0
- package/src/libs/engine/src/layout/layout-constraints.interface.js +138 -0
- package/src/libs/engine/src/layout/layout-constraints.interface.js.map +1 -0
- package/src/libs/engine/src/layout/layout-graph.d.ts +70 -0
- package/src/libs/engine/src/layout/layout-graph.js +119 -0
- package/src/libs/engine/src/layout/layout-graph.js.map +1 -0
- package/src/libs/engine/src/layout/layout-history.d.ts +147 -0
- package/src/libs/engine/src/layout/layout-history.js +258 -0
- package/src/libs/engine/src/layout/layout-history.js.map +1 -0
- package/src/libs/engine/src/layout/layout-host.d.ts +172 -0
- package/src/libs/engine/src/layout/layout-host.js +523 -0
- package/src/libs/engine/src/layout/layout-host.js.map +1 -0
- package/src/libs/engine/src/layout/layout-presets.d.ts +91 -0
- package/src/libs/engine/src/layout/layout-presets.js +333 -0
- package/src/libs/engine/src/layout/layout-presets.js.map +1 -0
- package/src/libs/engine/src/layout/layout-quality-extended.d.ts +66 -0
- package/src/libs/engine/src/layout/layout-quality-extended.js +246 -0
- package/src/libs/engine/src/layout/layout-quality-extended.js.map +1 -0
- package/src/libs/engine/src/layout/layout-quality-metrics.d.ts +127 -0
- package/src/libs/engine/src/layout/layout-quality-metrics.js +466 -0
- package/src/libs/engine/src/layout/layout-quality-metrics.js.map +1 -0
- package/src/libs/engine/src/layout/layout-registry.d.ts +309 -0
- package/src/libs/engine/src/layout/layout-registry.js +414 -0
- package/src/libs/engine/src/layout/layout-registry.js.map +1 -0
- package/src/libs/engine/src/layout/layout.service.d.ts +100 -0
- package/src/libs/engine/src/layout/layout.service.js +216 -0
- package/src/libs/engine/src/layout/layout.service.js.map +1 -0
- package/src/libs/engine/src/layout/overlap-removal.d.ts +20 -0
- package/src/libs/engine/src/layout/overlap-removal.js +117 -0
- package/src/libs/engine/src/layout/overlap-removal.js.map +1 -0
- package/src/libs/engine/src/layout/port-aware-layout.interface.d.ts +232 -0
- package/src/libs/engine/src/layout/port-aware-layout.interface.js +413 -0
- package/src/libs/engine/src/layout/port-aware-layout.interface.js.map +1 -0
- package/src/libs/engine/src/layout/port-label-bridge.d.ts +77 -0
- package/src/libs/engine/src/layout/port-label-bridge.js +250 -0
- package/src/libs/engine/src/layout/port-label-bridge.js.map +1 -0
- package/src/libs/engine/src/layout/portfolio-layouts.d.ts +53 -0
- package/src/libs/engine/src/layout/portfolio-layouts.js +388 -0
- package/src/libs/engine/src/layout/portfolio-layouts.js.map +1 -0
- package/src/libs/engine/src/layout/rng.d.ts +34 -0
- package/src/libs/engine/src/layout/rng.js +71 -0
- package/src/libs/engine/src/layout/rng.js.map +1 -0
- package/src/libs/engine/src/layout/spectral-layout-adapter.d.ts +72 -0
- package/src/libs/engine/src/layout/spectral-layout-adapter.js +379 -0
- package/src/libs/engine/src/layout/spectral-layout-adapter.js.map +1 -0
- package/src/libs/engine/src/layout/steppable-layout.d.ts +40 -0
- package/src/libs/engine/src/layout/steppable-layout.js +34 -0
- package/src/libs/engine/src/layout/steppable-layout.js.map +1 -0
- package/src/libs/engine/src/layout/subgraph-layout.interface.d.ts +269 -0
- package/src/libs/engine/src/layout/subgraph-layout.interface.js +452 -0
- package/src/libs/engine/src/layout/subgraph-layout.interface.js.map +1 -0
- package/src/libs/engine/src/layout/sugiyama/layered-layout.d.ts +9 -0
- package/src/libs/engine/src/layout/sugiyama/layered-layout.js +83 -0
- package/src/libs/engine/src/layout/sugiyama/layered-layout.js.map +1 -0
- package/src/libs/engine/src/layout/sugiyama/sugiyama.d.ts +91 -0
- package/src/libs/engine/src/layout/sugiyama/sugiyama.js +797 -0
- package/src/libs/engine/src/layout/sugiyama/sugiyama.js.map +1 -0
- package/src/libs/engine/src/layout/tree-layout.d.ts +43 -0
- package/src/libs/engine/src/layout/tree-layout.js +426 -0
- package/src/libs/engine/src/layout/tree-layout.js.map +1 -0
- package/src/libs/engine/src/layout/types.d.ts +263 -0
- package/src/libs/engine/src/layout/types.js +6 -0
- package/src/libs/engine/src/layout/types.js.map +1 -0
- package/src/libs/engine/src/lib/performance/mobile-performance.service.d.ts +43 -0
- package/src/libs/engine/src/lib/performance/mobile-performance.service.js +95 -0
- package/src/libs/engine/src/lib/performance/mobile-performance.service.js.map +1 -0
- package/src/libs/engine/src/models/DiagramEntity.d.ts +174 -0
- package/src/libs/engine/src/models/DiagramEntity.js +366 -0
- package/src/libs/engine/src/models/DiagramEntity.js.map +1 -0
- package/src/libs/engine/src/models/DiagramModel.d.ts +960 -0
- package/src/libs/engine/src/models/DiagramModel.js +2416 -0
- package/src/libs/engine/src/models/DiagramModel.js.map +1 -0
- package/src/libs/engine/src/models/GroupModel.d.ts +573 -0
- package/src/libs/engine/src/models/GroupModel.js +1373 -0
- package/src/libs/engine/src/models/GroupModel.js.map +1 -0
- package/src/libs/engine/src/models/LinkModel.d.ts +395 -0
- package/src/libs/engine/src/models/LinkModel.js +1045 -0
- package/src/libs/engine/src/models/LinkModel.js.map +1 -0
- package/src/libs/engine/src/models/NodeModel.d.ts +666 -0
- package/src/libs/engine/src/models/NodeModel.js +1512 -0
- package/src/libs/engine/src/models/NodeModel.js.map +1 -0
- package/src/libs/engine/src/models/PortModel.d.ts +292 -0
- package/src/libs/engine/src/models/PortModel.js +637 -0
- package/src/libs/engine/src/models/PortModel.js.map +1 -0
- package/src/libs/engine/src/models/StrokeModel.d.ts +160 -0
- package/src/libs/engine/src/models/StrokeModel.js +387 -0
- package/src/libs/engine/src/models/StrokeModel.js.map +1 -0
- package/src/libs/engine/src/models/index.d.ts +7 -0
- package/src/libs/engine/src/models/index.js +12 -0
- package/src/libs/engine/src/models/index.js.map +1 -0
- package/src/libs/engine/src/models/readonly-lock.d.ts +108 -0
- package/src/libs/engine/src/models/readonly-lock.js +125 -0
- package/src/libs/engine/src/models/readonly-lock.js.map +1 -0
- package/src/libs/engine/src/performance/LRUCache.d.ts +78 -0
- package/src/libs/engine/src/performance/LRUCache.js +179 -0
- package/src/libs/engine/src/performance/LRUCache.js.map +1 -0
- package/src/libs/engine/src/performance/PerformanceMonitor.d.ts +47 -0
- package/src/libs/engine/src/performance/PerformanceMonitor.js +112 -0
- package/src/libs/engine/src/performance/PerformanceMonitor.js.map +1 -0
- package/src/libs/engine/src/performance/SpatialIndex.d.ts +157 -0
- package/src/libs/engine/src/performance/SpatialIndex.js +306 -0
- package/src/libs/engine/src/performance/SpatialIndex.js.map +1 -0
- package/src/libs/engine/src/performance/index.d.ts +2 -0
- package/src/libs/engine/src/performance/index.js +7 -0
- package/src/libs/engine/src/performance/index.js.map +1 -0
- package/src/libs/engine/src/plugins/PluginManager.d.ts +95 -0
- package/src/libs/engine/src/plugins/PluginManager.js +388 -0
- package/src/libs/engine/src/plugins/PluginManager.js.map +1 -0
- package/src/libs/engine/src/plugins/index.d.ts +1 -0
- package/src/libs/engine/src/plugins/index.js +6 -0
- package/src/libs/engine/src/plugins/index.js.map +1 -0
- package/src/libs/engine/src/ports/connection-rules.d.ts +32 -0
- package/src/libs/engine/src/ports/connection-rules.js +131 -0
- package/src/libs/engine/src/ports/connection-rules.js.map +1 -0
- package/src/libs/engine/src/ports/dynamic-ports.d.ts +27 -0
- package/src/libs/engine/src/ports/dynamic-ports.js +135 -0
- package/src/libs/engine/src/ports/dynamic-ports.js.map +1 -0
- package/src/libs/engine/src/ports/index.d.ts +5 -0
- package/src/libs/engine/src/ports/index.js +16 -0
- package/src/libs/engine/src/ports/index.js.map +1 -0
- package/src/libs/engine/src/ports/port-groups.d.ts +43 -0
- package/src/libs/engine/src/ports/port-groups.js +185 -0
- package/src/libs/engine/src/ports/port-groups.js.map +1 -0
- package/src/libs/engine/src/ports/port-type-registry.d.ts +34 -0
- package/src/libs/engine/src/ports/port-type-registry.js +87 -0
- package/src/libs/engine/src/ports/port-type-registry.js.map +1 -0
- package/src/libs/engine/src/ports/port-types.d.ts +266 -0
- package/src/libs/engine/src/ports/port-types.js +30 -0
- package/src/libs/engine/src/ports/port-types.js.map +1 -0
- package/src/libs/engine/src/rendering/HtmlTemplateRenderer.d.ts +136 -0
- package/src/libs/engine/src/rendering/HtmlTemplateRenderer.js +292 -0
- package/src/libs/engine/src/rendering/HtmlTemplateRenderer.js.map +1 -0
- package/src/libs/engine/src/rendering/LemonadeJSRenderer.d.ts +160 -0
- package/src/libs/engine/src/rendering/LemonadeJSRenderer.js +362 -0
- package/src/libs/engine/src/rendering/LemonadeJSRenderer.js.map +1 -0
- package/src/libs/engine/src/rendering/index.d.ts +2 -0
- package/src/libs/engine/src/rendering/index.js +7 -0
- package/src/libs/engine/src/rendering/index.js.map +1 -0
- package/src/libs/engine/src/routing/LiveReroutingEngine.d.ts +75 -0
- package/src/libs/engine/src/routing/LiveReroutingEngine.js +173 -0
- package/src/libs/engine/src/routing/LiveReroutingEngine.js.map +1 -0
- package/src/libs/engine/src/routing/ObstacleIndex.d.ts +42 -0
- package/src/libs/engine/src/routing/ObstacleIndex.js +215 -0
- package/src/libs/engine/src/routing/ObstacleIndex.js.map +1 -0
- package/src/libs/engine/src/routing/ObstacleMap.d.ts +68 -0
- package/src/libs/engine/src/routing/ObstacleMap.js +312 -0
- package/src/libs/engine/src/routing/ObstacleMap.js.map +1 -0
- package/src/libs/engine/src/routing/ObstacleMapBuilder.d.ts +28 -0
- package/src/libs/engine/src/routing/ObstacleMapBuilder.js +76 -0
- package/src/libs/engine/src/routing/ObstacleMapBuilder.js.map +1 -0
- package/src/libs/engine/src/routing/PathSimplifier.d.ts +119 -0
- package/src/libs/engine/src/routing/PathSimplifier.js +224 -0
- package/src/libs/engine/src/routing/PathSimplifier.js.map +1 -0
- package/src/libs/engine/src/routing/RoutingEngine.d.ts +118 -0
- package/src/libs/engine/src/routing/RoutingEngine.js +546 -0
- package/src/libs/engine/src/routing/RoutingEngine.js.map +1 -0
- package/src/libs/engine/src/routing/algorithms/AStarRouter.d.ts +90 -0
- package/src/libs/engine/src/routing/algorithms/AStarRouter.js +331 -0
- package/src/libs/engine/src/routing/algorithms/AStarRouter.js.map +1 -0
- package/src/libs/engine/src/routing/algorithms/DijkstraRouter.d.ts +74 -0
- package/src/libs/engine/src/routing/algorithms/DijkstraRouter.js +297 -0
- package/src/libs/engine/src/routing/algorithms/DijkstraRouter.js.map +1 -0
- package/src/libs/engine/src/routing/algorithms/ElkRouter.d.ts +34 -0
- package/src/libs/engine/src/routing/algorithms/ElkRouter.js +210 -0
- package/src/libs/engine/src/routing/algorithms/ElkRouter.js.map +1 -0
- package/src/libs/engine/src/routing/algorithms/ManhattanRouter.d.ts +18 -0
- package/src/libs/engine/src/routing/algorithms/ManhattanRouter.js +224 -0
- package/src/libs/engine/src/routing/algorithms/ManhattanRouter.js.map +1 -0
- package/src/libs/engine/src/routing/algorithms/OrthogonalRouter.d.ts +173 -0
- package/src/libs/engine/src/routing/algorithms/OrthogonalRouter.js +1092 -0
- package/src/libs/engine/src/routing/algorithms/OrthogonalRouter.js.map +1 -0
- package/src/libs/engine/src/routing/algorithms/StraightRouter.d.ts +8 -0
- package/src/libs/engine/src/routing/algorithms/StraightRouter.js +53 -0
- package/src/libs/engine/src/routing/algorithms/StraightRouter.js.map +1 -0
- package/src/libs/engine/src/routing/algorithms/VisibilityGraphRouter.d.ts +59 -0
- package/src/libs/engine/src/routing/algorithms/VisibilityGraphRouter.js +258 -0
- package/src/libs/engine/src/routing/algorithms/VisibilityGraphRouter.js.map +1 -0
- package/src/libs/engine/src/routing/global/GlobalRouteSolver.d.ts +64 -0
- package/src/libs/engine/src/routing/global/GlobalRouteSolver.js +334 -0
- package/src/libs/engine/src/routing/global/GlobalRouteSolver.js.map +1 -0
- package/src/libs/engine/src/routing/global/solver-host.d.ts +65 -0
- package/src/libs/engine/src/routing/global/solver-host.js +87 -0
- package/src/libs/engine/src/routing/global/solver-host.js.map +1 -0
- package/src/libs/engine/src/routing/index.d.ts +15 -0
- package/src/libs/engine/src/routing/index.js +20 -0
- package/src/libs/engine/src/routing/index.js.map +1 -0
- package/src/libs/engine/src/routing/types.d.ts +161 -0
- package/src/libs/engine/src/routing/types.js +4 -0
- package/src/libs/engine/src/routing/types.js.map +1 -0
- package/src/libs/engine/src/selection/SelectionManager.d.ts +161 -0
- package/src/libs/engine/src/selection/SelectionManager.js +483 -0
- package/src/libs/engine/src/selection/SelectionManager.js.map +1 -0
- package/src/libs/engine/src/selection/index.d.ts +1 -0
- package/src/libs/engine/src/selection/index.js +6 -0
- package/src/libs/engine/src/selection/index.js.map +1 -0
- package/src/libs/engine/src/serialization/DiagramMigrations.d.ts +41 -0
- package/src/libs/engine/src/serialization/DiagramMigrations.js +124 -0
- package/src/libs/engine/src/serialization/DiagramMigrations.js.map +1 -0
- package/src/libs/engine/src/serialization/DiagramValidator.d.ts +20 -0
- package/src/libs/engine/src/serialization/DiagramValidator.js +136 -0
- package/src/libs/engine/src/serialization/DiagramValidator.js.map +1 -0
- package/src/libs/engine/src/serialization/DocumentEnvelope.d.ts +53 -0
- package/src/libs/engine/src/serialization/DocumentEnvelope.js +111 -0
- package/src/libs/engine/src/serialization/DocumentEnvelope.js.map +1 -0
- package/src/libs/engine/src/serialization/Incremental.d.ts +77 -0
- package/src/libs/engine/src/serialization/Incremental.js +227 -0
- package/src/libs/engine/src/serialization/Incremental.js.map +1 -0
- package/src/libs/engine/src/serialization/Serializer.d.ts +29 -0
- package/src/libs/engine/src/serialization/Serializer.js +45 -0
- package/src/libs/engine/src/serialization/Serializer.js.map +1 -0
- package/src/libs/engine/src/serialization/Subgraph.d.ts +51 -0
- package/src/libs/engine/src/serialization/Subgraph.js +172 -0
- package/src/libs/engine/src/serialization/Subgraph.js.map +1 -0
- package/src/libs/engine/src/serialization/TextFormat.d.ts +71 -0
- package/src/libs/engine/src/serialization/TextFormat.js +261 -0
- package/src/libs/engine/src/serialization/TextFormat.js.map +1 -0
- package/src/libs/engine/src/state/ConnectionStateManager.d.ts +178 -0
- package/src/libs/engine/src/state/ConnectionStateManager.js +319 -0
- package/src/libs/engine/src/state/ConnectionStateManager.js.map +1 -0
- package/src/libs/engine/src/state/DiagramStore.d.ts +134 -0
- package/src/libs/engine/src/state/DiagramStore.js +372 -0
- package/src/libs/engine/src/state/DiagramStore.js.map +1 -0
- package/src/libs/engine/src/state/index.d.ts +2 -0
- package/src/libs/engine/src/state/index.js +7 -0
- package/src/libs/engine/src/state/index.js.map +1 -0
- package/src/libs/engine/src/sync/awareness.d.ts +91 -0
- package/src/libs/engine/src/sync/awareness.js +221 -0
- package/src/libs/engine/src/sync/awareness.js.map +1 -0
- package/src/libs/engine/src/sync/batcher.d.ts +84 -0
- package/src/libs/engine/src/sync/batcher.js +0 -0
- package/src/libs/engine/src/sync/batcher.js.map +1 -0
- package/src/libs/engine/src/sync/causal-buffer.d.ts +81 -0
- package/src/libs/engine/src/sync/causal-buffer.js +199 -0
- package/src/libs/engine/src/sync/causal-buffer.js.map +1 -0
- package/src/libs/engine/src/sync/index.d.ts +20 -0
- package/src/libs/engine/src/sync/index.js +41 -0
- package/src/libs/engine/src/sync/index.js.map +1 -0
- package/src/libs/engine/src/sync/protocol.d.ts +74 -0
- package/src/libs/engine/src/sync/protocol.js +39 -0
- package/src/libs/engine/src/sync/protocol.js.map +1 -0
- package/src/libs/engine/src/sync/sync-adapter.d.ts +243 -0
- package/src/libs/engine/src/sync/sync-adapter.js +524 -0
- package/src/libs/engine/src/sync/sync-adapter.js.map +1 -0
- package/src/libs/engine/src/sync/transport.d.ts +30 -0
- package/src/libs/engine/src/sync/transport.js +28 -0
- package/src/libs/engine/src/sync/transport.js.map +1 -0
- package/src/libs/engine/src/sync/transports/broadcast-channel.d.ts +39 -0
- package/src/libs/engine/src/sync/transports/broadcast-channel.js +117 -0
- package/src/libs/engine/src/sync/transports/broadcast-channel.js.map +1 -0
- package/src/libs/engine/src/sync/transports/memory.d.ts +38 -0
- package/src/libs/engine/src/sync/transports/memory.js +111 -0
- package/src/libs/engine/src/sync/transports/memory.js.map +1 -0
- package/src/libs/engine/src/sync/transports/unreliable.d.ts +59 -0
- package/src/libs/engine/src/sync/transports/unreliable.js +153 -0
- package/src/libs/engine/src/sync/transports/unreliable.js.map +1 -0
- package/src/libs/engine/src/sync/transports/websocket.d.ts +60 -0
- package/src/libs/engine/src/sync/transports/websocket.js +210 -0
- package/src/libs/engine/src/sync/transports/websocket.js.map +1 -0
- package/src/libs/engine/src/sync/version-vector.d.ts +47 -0
- package/src/libs/engine/src/sync/version-vector.js +218 -0
- package/src/libs/engine/src/sync/version-vector.js.map +1 -0
- package/src/libs/engine/src/template-library/common-templates.d.ts +46 -0
- package/src/libs/engine/src/template-library/common-templates.js +395 -0
- package/src/libs/engine/src/template-library/common-templates.js.map +1 -0
- package/src/libs/engine/src/template-library/data-viz-templates.d.ts +52 -0
- package/src/libs/engine/src/template-library/data-viz-templates.js +471 -0
- package/src/libs/engine/src/template-library/data-viz-templates.js.map +1 -0
- package/src/libs/engine/src/template-library/erd-templates.d.ts +71 -0
- package/src/libs/engine/src/template-library/erd-templates.js +773 -0
- package/src/libs/engine/src/template-library/erd-templates.js.map +1 -0
- package/src/libs/engine/src/template-library/index.d.ts +141 -0
- package/src/libs/engine/src/template-library/index.js +271 -0
- package/src/libs/engine/src/template-library/index.js.map +1 -0
- package/src/libs/engine/src/template-library/integration.d.ts +80 -0
- package/src/libs/engine/src/template-library/integration.js +141 -0
- package/src/libs/engine/src/template-library/integration.js.map +1 -0
- package/src/libs/engine/src/template-library/workflow-templates.d.ts +52 -0
- package/src/libs/engine/src/template-library/workflow-templates.js +438 -0
- package/src/libs/engine/src/template-library/workflow-templates.js.map +1 -0
- package/src/libs/engine/src/templates/NodeFactory.d.ts +118 -0
- package/src/libs/engine/src/templates/NodeFactory.js +436 -0
- package/src/libs/engine/src/templates/NodeFactory.js.map +1 -0
- package/src/libs/engine/src/templates/NodeTemplate.d.ts +342 -0
- package/src/libs/engine/src/templates/NodeTemplate.js +13 -0
- package/src/libs/engine/src/templates/NodeTemplate.js.map +1 -0
- package/src/libs/engine/src/templates/TemplateLoader.d.ts +46 -0
- package/src/libs/engine/src/templates/TemplateLoader.js +114 -0
- package/src/libs/engine/src/templates/TemplateLoader.js.map +1 -0
- package/src/libs/engine/src/templates/TemplateRegistry.d.ts +70 -0
- package/src/libs/engine/src/templates/TemplateRegistry.js +128 -0
- package/src/libs/engine/src/templates/TemplateRegistry.js.map +1 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-business-rule-task.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-business-rule-task.template.js +123 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-business-rule-task.template.js.map +1 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-end-event.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-end-event.template.js +123 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-end-event.template.js.map +1 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-error-event.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-error-event.template.js +123 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-error-event.template.js.map +1 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-exclusive-gateway.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-exclusive-gateway.template.js +124 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-exclusive-gateway.template.js.map +1 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-inclusive-gateway.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-inclusive-gateway.template.js +123 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-inclusive-gateway.template.js.map +1 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-intermediate-event.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-intermediate-event.template.js +124 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-intermediate-event.template.js.map +1 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-manual-task.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-manual-task.template.js +123 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-manual-task.template.js.map +1 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-message-event.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-message-event.template.js +122 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-message-event.template.js.map +1 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-parallel-gateway.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-parallel-gateway.template.js +125 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-parallel-gateway.template.js.map +1 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-script-task.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-script-task.template.js +123 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-script-task.template.js.map +1 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-service-task.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-service-task.template.js +123 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-service-task.template.js.map +1 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-start-event.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-start-event.template.js +123 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-start-event.template.js.map +1 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-task.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-task.template.js +152 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-task.template.js.map +1 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-timer-event.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-timer-event.template.js +123 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-timer-event.template.js.map +1 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-user-task.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-user-task.template.js +123 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-user-task.template.js.map +1 -0
- package/src/libs/engine/src/templates/generated/bpmn/index.d.ts +15 -0
- package/src/libs/engine/src/templates/generated/bpmn/index.js +34 -0
- package/src/libs/engine/src/templates/generated/bpmn/index.js.map +1 -0
- package/src/libs/engine/src/templates/generated/erd/erd-associative-entity.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/erd/erd-associative-entity.template.js +152 -0
- package/src/libs/engine/src/templates/generated/erd/erd-associative-entity.template.js.map +1 -0
- package/src/libs/engine/src/templates/generated/erd/erd-attribute.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/erd/erd-attribute.template.js +122 -0
- package/src/libs/engine/src/templates/generated/erd/erd-attribute.template.js.map +1 -0
- package/src/libs/engine/src/templates/generated/erd/erd-bridge-entity.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/erd/erd-bridge-entity.template.js +151 -0
- package/src/libs/engine/src/templates/generated/erd/erd-bridge-entity.template.js.map +1 -0
- package/src/libs/engine/src/templates/generated/erd/erd-composite-attribute.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/erd/erd-composite-attribute.template.js +122 -0
- package/src/libs/engine/src/templates/generated/erd/erd-composite-attribute.template.js.map +1 -0
- package/src/libs/engine/src/templates/generated/erd/erd-derived-attribute.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/erd/erd-derived-attribute.template.js +122 -0
- package/src/libs/engine/src/templates/generated/erd/erd-derived-attribute.template.js.map +1 -0
- package/src/libs/engine/src/templates/generated/erd/erd-discriminator.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/erd/erd-discriminator.template.js +123 -0
- package/src/libs/engine/src/templates/generated/erd/erd-discriminator.template.js.map +1 -0
- package/src/libs/engine/src/templates/generated/erd/erd-entity.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/erd/erd-entity.template.js +149 -0
- package/src/libs/engine/src/templates/generated/erd/erd-entity.template.js.map +1 -0
- package/src/libs/engine/src/templates/generated/erd/erd-isa.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/erd/erd-isa.template.js +123 -0
- package/src/libs/engine/src/templates/generated/erd/erd-isa.template.js.map +1 -0
- package/src/libs/engine/src/templates/generated/erd/erd-key-attribute.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/erd/erd-key-attribute.template.js +122 -0
- package/src/libs/engine/src/templates/generated/erd/erd-key-attribute.template.js.map +1 -0
- package/src/libs/engine/src/templates/generated/erd/erd-multivalued-attribute.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/erd/erd-multivalued-attribute.template.js +122 -0
- package/src/libs/engine/src/templates/generated/erd/erd-multivalued-attribute.template.js.map +1 -0
- package/src/libs/engine/src/templates/generated/erd/erd-optional-attribute.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/erd/erd-optional-attribute.template.js +122 -0
- package/src/libs/engine/src/templates/generated/erd/erd-optional-attribute.template.js.map +1 -0
- package/src/libs/engine/src/templates/generated/erd/erd-partial-key.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/erd/erd-partial-key.template.js +123 -0
- package/src/libs/engine/src/templates/generated/erd/erd-partial-key.template.js.map +1 -0
- package/src/libs/engine/src/templates/generated/erd/erd-relationship.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/erd/erd-relationship.template.js +121 -0
- package/src/libs/engine/src/templates/generated/erd/erd-relationship.template.js.map +1 -0
- package/src/libs/engine/src/templates/generated/erd/erd-subtype.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/erd/erd-subtype.template.js +123 -0
- package/src/libs/engine/src/templates/generated/erd/erd-subtype.template.js.map +1 -0
- package/src/libs/engine/src/templates/generated/erd/erd-supertype.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/erd/erd-supertype.template.js +123 -0
- package/src/libs/engine/src/templates/generated/erd/erd-supertype.template.js.map +1 -0
- package/src/libs/engine/src/templates/generated/erd/erd-table.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/erd/erd-table.template.js +123 -0
- package/src/libs/engine/src/templates/generated/erd/erd-table.template.js.map +1 -0
- package/src/libs/engine/src/templates/generated/erd/erd-view.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/erd/erd-view.template.js +123 -0
- package/src/libs/engine/src/templates/generated/erd/erd-view.template.js.map +1 -0
- package/src/libs/engine/src/templates/generated/erd/erd-weak-entity.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/erd/erd-weak-entity.template.js +149 -0
- package/src/libs/engine/src/templates/generated/erd/erd-weak-entity.template.js.map +1 -0
- package/src/libs/engine/src/templates/generated/erd/erd-weak-relationship.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/erd/erd-weak-relationship.template.js +122 -0
- package/src/libs/engine/src/templates/generated/erd/erd-weak-relationship.template.js.map +1 -0
- package/src/libs/engine/src/templates/generated/erd/index.d.ts +19 -0
- package/src/libs/engine/src/templates/generated/erd/index.js +42 -0
- package/src/libs/engine/src/templates/generated/erd/index.js.map +1 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-connector.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-connector.template.js +123 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-connector.template.js.map +1 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-data.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-data.template.js +123 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-data.template.js.map +1 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-decision.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-decision.template.js +123 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-decision.template.js.map +1 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-delay.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-delay.template.js +124 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-delay.template.js.map +1 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-display.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-display.template.js +124 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-display.template.js.map +1 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-document.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-document.template.js +123 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-document.template.js.map +1 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-manual-input.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-manual-input.template.js +123 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-manual-input.template.js.map +1 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-manual-operation.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-manual-operation.template.js +122 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-manual-operation.template.js.map +1 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-merge.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-merge.template.js +122 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-merge.template.js.map +1 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-or.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-or.template.js +123 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-or.template.js.map +1 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-predefined-process.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-predefined-process.template.js +123 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-predefined-process.template.js.map +1 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-preparation.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-preparation.template.js +123 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-preparation.template.js.map +1 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-process.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-process.template.js +122 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-process.template.js.map +1 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-stored-data.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-stored-data.template.js +123 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-stored-data.template.js.map +1 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-summing-junction.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-summing-junction.template.js +124 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-summing-junction.template.js.map +1 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-terminal.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-terminal.template.js +124 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-terminal.template.js.map +1 -0
- package/src/libs/engine/src/templates/generated/flowchart/index.d.ts +16 -0
- package/src/libs/engine/src/templates/generated/flowchart/index.js +36 -0
- package/src/libs/engine/src/templates/generated/flowchart/index.js.map +1 -0
- package/src/libs/engine/src/templates/generated/index.d.ts +9 -0
- package/src/libs/engine/src/templates/generated/index.js +13 -0
- package/src/libs/engine/src/templates/generated/index.js.map +1 -0
- package/src/libs/engine/src/templates/generated/register.d.ts +23 -0
- package/src/libs/engine/src/templates/generated/register.js +31 -0
- package/src/libs/engine/src/templates/generated/register.js.map +1 -0
- package/src/libs/engine/src/templates/generated/uml/index.d.ts +30 -0
- package/src/libs/engine/src/templates/generated/uml/index.js +64 -0
- package/src/libs/engine/src/templates/generated/uml/index.js.map +1 -0
- package/src/libs/engine/src/templates/generated/uml/uml-abstract-class.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/uml/uml-abstract-class.template.js +204 -0
- package/src/libs/engine/src/templates/generated/uml/uml-abstract-class.template.js.map +1 -0
- package/src/libs/engine/src/templates/generated/uml/uml-activation.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/uml/uml-activation.template.js +124 -0
- package/src/libs/engine/src/templates/generated/uml/uml-activation.template.js.map +1 -0
- package/src/libs/engine/src/templates/generated/uml/uml-activity-partition.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/uml/uml-activity-partition.template.js +124 -0
- package/src/libs/engine/src/templates/generated/uml/uml-activity-partition.template.js.map +1 -0
- package/src/libs/engine/src/templates/generated/uml/uml-activity.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/uml/uml-activity.template.js +123 -0
- package/src/libs/engine/src/templates/generated/uml/uml-activity.template.js.map +1 -0
- package/src/libs/engine/src/templates/generated/uml/uml-actor.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/uml/uml-actor.template.js +123 -0
- package/src/libs/engine/src/templates/generated/uml/uml-actor.template.js.map +1 -0
- package/src/libs/engine/src/templates/generated/uml/uml-class.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/uml/uml-class.template.js +204 -0
- package/src/libs/engine/src/templates/generated/uml/uml-class.template.js.map +1 -0
- package/src/libs/engine/src/templates/generated/uml/uml-collaboration.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/uml/uml-collaboration.template.js +122 -0
- package/src/libs/engine/src/templates/generated/uml/uml-collaboration.template.js.map +1 -0
- package/src/libs/engine/src/templates/generated/uml/uml-component.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/uml/uml-component.template.js +122 -0
- package/src/libs/engine/src/templates/generated/uml/uml-component.template.js.map +1 -0
- package/src/libs/engine/src/templates/generated/uml/uml-datatype.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/uml/uml-datatype.template.js +204 -0
- package/src/libs/engine/src/templates/generated/uml/uml-datatype.template.js.map +1 -0
- package/src/libs/engine/src/templates/generated/uml/uml-decision.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/uml/uml-decision.template.js +124 -0
- package/src/libs/engine/src/templates/generated/uml/uml-decision.template.js.map +1 -0
- package/src/libs/engine/src/templates/generated/uml/uml-enum.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/uml/uml-enum.template.js +204 -0
- package/src/libs/engine/src/templates/generated/uml/uml-enum.template.js.map +1 -0
- package/src/libs/engine/src/templates/generated/uml/uml-final-node.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/uml/uml-final-node.template.js +124 -0
- package/src/libs/engine/src/templates/generated/uml/uml-final-node.template.js.map +1 -0
- package/src/libs/engine/src/templates/generated/uml/uml-final-state.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/uml/uml-final-state.template.js +124 -0
- package/src/libs/engine/src/templates/generated/uml/uml-final-state.template.js.map +1 -0
- package/src/libs/engine/src/templates/generated/uml/uml-fork.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/uml/uml-fork.template.js +125 -0
- package/src/libs/engine/src/templates/generated/uml/uml-fork.template.js.map +1 -0
- package/src/libs/engine/src/templates/generated/uml/uml-initial-node.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/uml/uml-initial-node.template.js +123 -0
- package/src/libs/engine/src/templates/generated/uml/uml-initial-node.template.js.map +1 -0
- package/src/libs/engine/src/templates/generated/uml/uml-initial-state.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/uml/uml-initial-state.template.js +123 -0
- package/src/libs/engine/src/templates/generated/uml/uml-initial-state.template.js.map +1 -0
- package/src/libs/engine/src/templates/generated/uml/uml-interface.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/uml/uml-interface.template.js +204 -0
- package/src/libs/engine/src/templates/generated/uml/uml-interface.template.js.map +1 -0
- package/src/libs/engine/src/templates/generated/uml/uml-join.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/uml/uml-join.template.js +125 -0
- package/src/libs/engine/src/templates/generated/uml/uml-join.template.js.map +1 -0
- package/src/libs/engine/src/templates/generated/uml/uml-lifeline.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/uml/uml-lifeline.template.js +123 -0
- package/src/libs/engine/src/templates/generated/uml/uml-lifeline.template.js.map +1 -0
- package/src/libs/engine/src/templates/generated/uml/uml-merge.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/uml/uml-merge.template.js +122 -0
- package/src/libs/engine/src/templates/generated/uml/uml-merge.template.js.map +1 -0
- package/src/libs/engine/src/templates/generated/uml/uml-node.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/uml/uml-node.template.js +122 -0
- package/src/libs/engine/src/templates/generated/uml/uml-node.template.js.map +1 -0
- package/src/libs/engine/src/templates/generated/uml/uml-note.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/uml/uml-note.template.js +123 -0
- package/src/libs/engine/src/templates/generated/uml/uml-note.template.js.map +1 -0
- package/src/libs/engine/src/templates/generated/uml/uml-object.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/uml/uml-object.template.js +204 -0
- package/src/libs/engine/src/templates/generated/uml/uml-object.template.js.map +1 -0
- package/src/libs/engine/src/templates/generated/uml/uml-package.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/uml/uml-package.template.js +123 -0
- package/src/libs/engine/src/templates/generated/uml/uml-package.template.js.map +1 -0
- package/src/libs/engine/src/templates/generated/uml/uml-part.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/uml/uml-part.template.js +122 -0
- package/src/libs/engine/src/templates/generated/uml/uml-part.template.js.map +1 -0
- package/src/libs/engine/src/templates/generated/uml/uml-port.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/uml/uml-port.template.js +123 -0
- package/src/libs/engine/src/templates/generated/uml/uml-port.template.js.map +1 -0
- package/src/libs/engine/src/templates/generated/uml/uml-primitive-type.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/uml/uml-primitive-type.template.js +204 -0
- package/src/libs/engine/src/templates/generated/uml/uml-primitive-type.template.js.map +1 -0
- package/src/libs/engine/src/templates/generated/uml/uml-signal.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/uml/uml-signal.template.js +123 -0
- package/src/libs/engine/src/templates/generated/uml/uml-signal.template.js.map +1 -0
- package/src/libs/engine/src/templates/generated/uml/uml-state.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/uml/uml-state.template.js +123 -0
- package/src/libs/engine/src/templates/generated/uml/uml-state.template.js.map +1 -0
- package/src/libs/engine/src/templates/generated/uml/uml-use-case.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/uml/uml-use-case.template.js +122 -0
- package/src/libs/engine/src/templates/generated/uml/uml-use-case.template.js.map +1 -0
- package/src/libs/engine/src/templates/index.d.ts +12 -0
- package/src/libs/engine/src/templates/index.js +27 -0
- package/src/libs/engine/src/templates/index.js.map +1 -0
- package/src/libs/engine/src/templates/stencils.d.ts +45 -0
- package/src/libs/engine/src/templates/stencils.js +85 -0
- package/src/libs/engine/src/templates/stencils.js.map +1 -0
- package/src/libs/engine/src/types/domain/bpmn.d.ts +25 -0
- package/src/libs/engine/src/types/domain/bpmn.js +313 -0
- package/src/libs/engine/src/types/domain/bpmn.js.map +1 -0
- package/src/libs/engine/src/types/domain/erd.d.ts +29 -0
- package/src/libs/engine/src/types/domain/erd.js +394 -0
- package/src/libs/engine/src/types/domain/erd.js.map +1 -0
- package/src/libs/engine/src/types/domain/flowchart.d.ts +26 -0
- package/src/libs/engine/src/types/domain/flowchart.js +434 -0
- package/src/libs/engine/src/types/domain/flowchart.js.map +1 -0
- package/src/libs/engine/src/types/domain/index.d.ts +4 -0
- package/src/libs/engine/src/types/domain/index.js +9 -0
- package/src/libs/engine/src/types/domain/index.js.map +1 -0
- package/src/libs/engine/src/types/domain/uml.d.ts +40 -0
- package/src/libs/engine/src/types/domain/uml.js +758 -0
- package/src/libs/engine/src/types/domain/uml.js.map +1 -0
- package/src/libs/engine/src/types/event.types.d.ts +142 -0
- package/src/libs/engine/src/types/event.types.js +96 -0
- package/src/libs/engine/src/types/event.types.js.map +1 -0
- package/src/libs/engine/src/types/geometry.types.d.ts +84 -0
- package/src/libs/engine/src/types/geometry.types.js +16 -0
- package/src/libs/engine/src/types/geometry.types.js.map +1 -0
- package/src/libs/engine/src/types/index.d.ts +7 -0
- package/src/libs/engine/src/types/index.js +14 -0
- package/src/libs/engine/src/types/index.js.map +1 -0
- package/src/libs/engine/src/types/layout.types.d.ts +148 -0
- package/src/libs/engine/src/types/layout.types.js +28 -0
- package/src/libs/engine/src/types/layout.types.js.map +1 -0
- package/src/libs/engine/src/types/model.types.d.ts +378 -0
- package/src/libs/engine/src/types/model.types.js +4 -0
- package/src/libs/engine/src/types/model.types.js.map +1 -0
- package/src/libs/engine/src/types/performance.types.d.ts +109 -0
- package/src/libs/engine/src/types/performance.types.js +122 -0
- package/src/libs/engine/src/types/performance.types.js.map +1 -0
- package/src/libs/engine/src/types/plugin.types.d.ts +30 -0
- package/src/libs/engine/src/types/plugin.types.js +4 -0
- package/src/libs/engine/src/types/plugin.types.js.map +1 -0
- package/src/libs/engine/src/utils/deep-clone.d.ts +9 -0
- package/src/libs/engine/src/utils/deep-clone.js +123 -0
- package/src/libs/engine/src/utils/deep-clone.js.map +1 -0
- package/src/libs/engine/src/utils/geometry.d.ts +45 -0
- package/src/libs/engine/src/utils/geometry.js +241 -0
- package/src/libs/engine/src/utils/geometry.js.map +1 -0
- package/src/libs/engine/src/utils/id.d.ts +22 -0
- package/src/libs/engine/src/utils/id.js +44 -0
- package/src/libs/engine/src/utils/id.js.map +1 -0
- package/src/libs/engine/src/utils/index.d.ts +3 -0
- package/src/libs/engine/src/utils/index.js +8 -0
- package/src/libs/engine/src/utils/index.js.map +1 -0
- package/src/libs/engine/src/utils/transform.d.ts +84 -0
- package/src/libs/engine/src/utils/transform.js +200 -0
- package/src/libs/engine/src/utils/transform.js.map +1 -0
- package/src/libs/engine/src/validation/ConnectionGroupValidator.d.ts +22 -0
- package/src/libs/engine/src/validation/ConnectionGroupValidator.js +56 -0
- package/src/libs/engine/src/validation/ConnectionGroupValidator.js.map +1 -0
- package/src/libs/engine/src/validation/TypeRegistry.d.ts +179 -0
- package/src/libs/engine/src/validation/TypeRegistry.js +358 -0
- package/src/libs/engine/src/validation/TypeRegistry.js.map +1 -0
- package/src/libs/engine/src/validation/ValidationEngine.d.ts +79 -0
- package/src/libs/engine/src/validation/ValidationEngine.js +1150 -0
- package/src/libs/engine/src/validation/ValidationEngine.js.map +1 -0
- package/src/libs/engine/src/validation/index.d.ts +3 -0
- package/src/libs/engine/src/validation/index.js +8 -0
- package/src/libs/engine/src/validation/index.js.map +1 -0
- package/src/libs/renderer/src/a11y/diagram-outline.d.ts +93 -0
- package/src/libs/renderer/src/a11y/diagram-outline.js +0 -0
- package/src/libs/renderer/src/a11y/diagram-outline.js.map +1 -0
- package/src/libs/renderer/src/a11y/focus-containment.d.ts +90 -0
- package/src/libs/renderer/src/a11y/focus-containment.js +173 -0
- package/src/libs/renderer/src/a11y/focus-containment.js.map +1 -0
- package/src/libs/renderer/src/a11y/graph-topology.d.ts +70 -0
- package/src/libs/renderer/src/a11y/graph-topology.js +0 -0
- package/src/libs/renderer/src/a11y/graph-topology.js.map +1 -0
- package/src/libs/renderer/src/a11y/index.d.ts +26 -0
- package/src/libs/renderer/src/a11y/index.js +30 -0
- package/src/libs/renderer/src/a11y/index.js.map +1 -0
- package/src/libs/renderer/src/a11y/live-region.d.ts +83 -0
- package/src/libs/renderer/src/a11y/live-region.js +170 -0
- package/src/libs/renderer/src/a11y/live-region.js.map +1 -0
- package/src/libs/renderer/src/a11y/outline-view.d.ts +62 -0
- package/src/libs/renderer/src/a11y/outline-view.js +158 -0
- package/src/libs/renderer/src/a11y/outline-view.js.map +1 -0
- package/src/libs/renderer/src/a11y/reduced-motion.d.ts +48 -0
- package/src/libs/renderer/src/a11y/reduced-motion.js +223 -0
- package/src/libs/renderer/src/a11y/reduced-motion.js.map +1 -0
- package/src/libs/renderer/src/a11y/semantics.d.ts +76 -0
- package/src/libs/renderer/src/a11y/semantics.js +229 -0
- package/src/libs/renderer/src/a11y/semantics.js.map +1 -0
- package/src/libs/renderer/src/canvas/canvas-context.d.ts +167 -0
- package/src/libs/renderer/src/canvas/canvas-context.js +267 -0
- package/src/libs/renderer/src/canvas/canvas-context.js.map +1 -0
- package/src/libs/renderer/src/canvas/canvas-renderer.d.ts +194 -0
- package/src/libs/renderer/src/canvas/canvas-renderer.js +600 -0
- package/src/libs/renderer/src/canvas/canvas-renderer.js.map +1 -0
- package/src/libs/renderer/src/canvas/dirty-region.d.ts +56 -0
- package/src/libs/renderer/src/canvas/dirty-region.js +171 -0
- package/src/libs/renderer/src/canvas/dirty-region.js.map +1 -0
- package/src/libs/renderer/src/canvas/index.d.ts +16 -0
- package/src/libs/renderer/src/canvas/index.js +79 -0
- package/src/libs/renderer/src/canvas/index.js.map +1 -0
- package/src/libs/renderer/src/canvas/path-geometry.d.ts +112 -0
- package/src/libs/renderer/src/canvas/path-geometry.js +673 -0
- package/src/libs/renderer/src/canvas/path-geometry.js.map +1 -0
- package/src/libs/renderer/src/canvas/render-backend.d.ts +133 -0
- package/src/libs/renderer/src/canvas/render-backend.js +339 -0
- package/src/libs/renderer/src/canvas/render-backend.js.map +1 -0
- package/src/libs/renderer/src/canvas/style-resolution.d.ts +101 -0
- package/src/libs/renderer/src/canvas/style-resolution.js +466 -0
- package/src/libs/renderer/src/canvas/style-resolution.js.map +1 -0
- package/src/libs/renderer/src/canvas/tier-policy.d.ts +33 -0
- package/src/libs/renderer/src/canvas/tier-policy.js +89 -0
- package/src/libs/renderer/src/canvas/tier-policy.js.map +1 -0
- package/src/libs/renderer/src/canvas/vnode-painter.d.ts +154 -0
- package/src/libs/renderer/src/canvas/vnode-painter.js +649 -0
- package/src/libs/renderer/src/canvas/vnode-painter.js.map +1 -0
- package/src/libs/renderer/src/comments/comment-overlay.d.ts +56 -0
- package/src/libs/renderer/src/comments/comment-overlay.js +127 -0
- package/src/libs/renderer/src/comments/comment-overlay.js.map +1 -0
- package/src/libs/renderer/src/comments/comment-panel.d.ts +45 -0
- package/src/libs/renderer/src/comments/comment-panel.js +287 -0
- package/src/libs/renderer/src/comments/comment-panel.js.map +1 -0
- package/src/libs/renderer/src/comments/comment-pins.d.ts +34 -0
- package/src/libs/renderer/src/comments/comment-pins.js +227 -0
- package/src/libs/renderer/src/comments/comment-pins.js.map +1 -0
- package/src/libs/renderer/src/comments/index.d.ts +3 -0
- package/src/libs/renderer/src/comments/index.js +17 -0
- package/src/libs/renderer/src/comments/index.js.map +1 -0
- package/src/libs/renderer/src/export/assets.d.ts +96 -0
- package/src/libs/renderer/src/export/assets.js +350 -0
- package/src/libs/renderer/src/export/assets.js.map +1 -0
- package/src/libs/renderer/src/export/batch.d.ts +49 -0
- package/src/libs/renderer/src/export/batch.js +95 -0
- package/src/libs/renderer/src/export/batch.js.map +1 -0
- package/src/libs/renderer/src/export/bounds.d.ts +81 -0
- package/src/libs/renderer/src/export/bounds.js +367 -0
- package/src/libs/renderer/src/export/bounds.js.map +1 -0
- package/src/libs/renderer/src/export/capture-host.d.ts +39 -0
- package/src/libs/renderer/src/export/capture-host.js +1259 -0
- package/src/libs/renderer/src/export/capture-host.js.map +1 -0
- package/src/libs/renderer/src/export/custom-nodes.d.ts +88 -0
- package/src/libs/renderer/src/export/custom-nodes.js +237 -0
- package/src/libs/renderer/src/export/custom-nodes.js.map +1 -0
- package/src/libs/renderer/src/export/index.d.ts +14 -0
- package/src/libs/renderer/src/export/index.js +30 -0
- package/src/libs/renderer/src/export/index.js.map +1 -0
- package/src/libs/renderer/src/export/node-raster.d.ts +60 -0
- package/src/libs/renderer/src/export/node-raster.js +161 -0
- package/src/libs/renderer/src/export/node-raster.js.map +1 -0
- package/src/libs/renderer/src/export/pagination.d.ts +116 -0
- package/src/libs/renderer/src/export/pagination.js +245 -0
- package/src/libs/renderer/src/export/pagination.js.map +1 -0
- package/src/libs/renderer/src/export/pdf/flate.d.ts +13 -0
- package/src/libs/renderer/src/export/pdf/flate.js +287 -0
- package/src/libs/renderer/src/export/pdf/flate.js.map +1 -0
- package/src/libs/renderer/src/export/pdf/index.d.ts +4 -0
- package/src/libs/renderer/src/export/pdf/index.js +15 -0
- package/src/libs/renderer/src/export/pdf/index.js.map +1 -0
- package/src/libs/renderer/src/export/pdf/pdf-export.d.ts +64 -0
- package/src/libs/renderer/src/export/pdf/pdf-export.js +1076 -0
- package/src/libs/renderer/src/export/pdf/pdf-export.js.map +1 -0
- package/src/libs/renderer/src/export/pdf/pdf-path.d.ts +17 -0
- package/src/libs/renderer/src/export/pdf/pdf-path.js +85 -0
- package/src/libs/renderer/src/export/pdf/pdf-path.js.map +1 -0
- package/src/libs/renderer/src/export/pdf/pdf-primitives.d.ts +115 -0
- package/src/libs/renderer/src/export/pdf/pdf-primitives.js +338 -0
- package/src/libs/renderer/src/export/pdf/pdf-primitives.js.map +1 -0
- package/src/libs/renderer/src/export/pdf/png.d.ts +25 -0
- package/src/libs/renderer/src/export/pdf/png.js +596 -0
- package/src/libs/renderer/src/export/pdf/png.js.map +1 -0
- package/src/libs/renderer/src/export/raster.d.ts +42 -0
- package/src/libs/renderer/src/export/raster.js +126 -0
- package/src/libs/renderer/src/export/raster.js.map +1 -0
- package/src/libs/renderer/src/export/round-trip.d.ts +83 -0
- package/src/libs/renderer/src/export/round-trip.js +432 -0
- package/src/libs/renderer/src/export/round-trip.js.map +1 -0
- package/src/libs/renderer/src/export/scope.d.ts +16 -0
- package/src/libs/renderer/src/export/scope.js +69 -0
- package/src/libs/renderer/src/export/scope.js.map +1 -0
- package/src/libs/renderer/src/export/style-flattener.d.ts +23 -0
- package/src/libs/renderer/src/export/style-flattener.js +144 -0
- package/src/libs/renderer/src/export/style-flattener.js.map +1 -0
- package/src/libs/renderer/src/export/svg-export.d.ts +123 -0
- package/src/libs/renderer/src/export/svg-export.js +178 -0
- package/src/libs/renderer/src/export/svg-export.js.map +1 -0
- package/src/libs/renderer/src/export/vnode-serializer.d.ts +75 -0
- package/src/libs/renderer/src/export/vnode-serializer.js +344 -0
- package/src/libs/renderer/src/export/vnode-serializer.js.map +1 -0
- package/src/libs/renderer/src/ext/capabilities.d.ts +178 -0
- package/src/libs/renderer/src/ext/capabilities.js +22 -0
- package/src/libs/renderer/src/ext/capabilities.js.map +1 -0
- package/src/libs/renderer/src/ext/capability-factory.d.ts +44 -0
- package/src/libs/renderer/src/ext/capability-factory.js +194 -0
- package/src/libs/renderer/src/ext/capability-factory.js.map +1 -0
- package/src/libs/renderer/src/ext/components/attach.d.ts +66 -0
- package/src/libs/renderer/src/ext/components/attach.js +112 -0
- package/src/libs/renderer/src/ext/components/attach.js.map +1 -0
- package/src/libs/renderer/src/ext/components/background.d.ts +84 -0
- package/src/libs/renderer/src/ext/components/background.js +202 -0
- package/src/libs/renderer/src/ext/components/background.js.map +1 -0
- package/src/libs/renderer/src/ext/components/controls.d.ts +49 -0
- package/src/libs/renderer/src/ext/components/controls.js +144 -0
- package/src/libs/renderer/src/ext/components/controls.js.map +1 -0
- package/src/libs/renderer/src/ext/components/minimap.d.ts +78 -0
- package/src/libs/renderer/src/ext/components/minimap.js +326 -0
- package/src/libs/renderer/src/ext/components/minimap.js.map +1 -0
- package/src/libs/renderer/src/ext/diagram-registry.d.ts +109 -0
- package/src/libs/renderer/src/ext/diagram-registry.js +303 -0
- package/src/libs/renderer/src/ext/diagram-registry.js.map +1 -0
- package/src/libs/renderer/src/ext/disposable.d.ts +51 -0
- package/src/libs/renderer/src/ext/disposable.js +104 -0
- package/src/libs/renderer/src/ext/disposable.js.map +1 -0
- package/src/libs/renderer/src/ext/extension-host.d.ts +144 -0
- package/src/libs/renderer/src/ext/extension-host.js +272 -0
- package/src/libs/renderer/src/ext/extension-host.js.map +1 -0
- package/src/libs/renderer/src/ext/index.d.ts +62 -0
- package/src/libs/renderer/src/ext/index.js +91 -0
- package/src/libs/renderer/src/ext/index.js.map +1 -0
- package/src/libs/renderer/src/ext/link-pipeline.d.ts +195 -0
- package/src/libs/renderer/src/ext/link-pipeline.js +431 -0
- package/src/libs/renderer/src/ext/link-pipeline.js.map +1 -0
- package/src/libs/renderer/src/ext/manifest.d.ts +73 -0
- package/src/libs/renderer/src/ext/manifest.js +149 -0
- package/src/libs/renderer/src/ext/manifest.js.map +1 -0
- package/src/libs/renderer/src/ext/node-component.d.ts +114 -0
- package/src/libs/renderer/src/ext/node-component.js +290 -0
- package/src/libs/renderer/src/ext/node-component.js.map +1 -0
- package/src/libs/renderer/src/ext/plugins-loader.d.ts +1 -0
- package/src/libs/renderer/src/ext/plugins-loader.js +18 -0
- package/src/libs/renderer/src/ext/plugins-loader.js.map +1 -0
- package/src/libs/renderer/src/ext/portal.d.ts +129 -0
- package/src/libs/renderer/src/ext/portal.js +267 -0
- package/src/libs/renderer/src/ext/portal.js.map +1 -0
- package/src/libs/renderer/src/ext/public-api.d.ts +101 -0
- package/src/libs/renderer/src/ext/public-api.js +201 -0
- package/src/libs/renderer/src/ext/public-api.js.map +1 -0
- package/src/libs/renderer/src/ext/registry-scope.d.ts +93 -0
- package/src/libs/renderer/src/ext/registry-scope.js +142 -0
- package/src/libs/renderer/src/ext/registry-scope.js.map +1 -0
- package/src/libs/renderer/src/ext/tools.d.ts +164 -0
- package/src/libs/renderer/src/ext/tools.js +170 -0
- package/src/libs/renderer/src/ext/tools.js.map +1 -0
- package/src/libs/renderer/src/index.d.ts +34 -0
- package/src/libs/renderer/src/index.js +108 -0
- package/src/libs/renderer/src/index.js.map +1 -0
- package/src/libs/renderer/src/instance/create-diagram.d.ts +385 -0
- package/src/libs/renderer/src/instance/create-diagram.js +1150 -0
- package/src/libs/renderer/src/instance/create-diagram.js.map +1 -0
- package/src/libs/renderer/src/instance/diagram-instance.d.ts +48 -0
- package/src/libs/renderer/src/instance/diagram-instance.js +51 -0
- package/src/libs/renderer/src/instance/diagram-instance.js.map +1 -0
- package/src/libs/renderer/src/instance/dom-event-binder.d.ts +394 -0
- package/src/libs/renderer/src/instance/dom-event-binder.js +2104 -0
- package/src/libs/renderer/src/instance/dom-event-binder.js.map +1 -0
- package/src/libs/renderer/src/instance/index.d.ts +5 -0
- package/src/libs/renderer/src/instance/index.js +13 -0
- package/src/libs/renderer/src/instance/index.js.map +1 -0
- package/src/libs/renderer/src/instance/layers.d.ts +31 -0
- package/src/libs/renderer/src/instance/layers.js +43 -0
- package/src/libs/renderer/src/instance/layers.js.map +1 -0
- package/src/libs/renderer/src/instance/model-input.d.ts +229 -0
- package/src/libs/renderer/src/instance/model-input.js +325 -0
- package/src/libs/renderer/src/instance/model-input.js.map +1 -0
- package/src/libs/renderer/src/instance/render-scheduler.d.ts +79 -0
- package/src/libs/renderer/src/instance/render-scheduler.js +96 -0
- package/src/libs/renderer/src/instance/render-scheduler.js.map +1 -0
- package/src/libs/renderer/src/instance/wheel-scroll-yield.d.ts +38 -0
- package/src/libs/renderer/src/instance/wheel-scroll-yield.js +118 -0
- package/src/libs/renderer/src/instance/wheel-scroll-yield.js.map +1 -0
- package/src/libs/renderer/src/interaction/ControlPointEditor.d.ts +160 -0
- package/src/libs/renderer/src/interaction/ControlPointEditor.js +360 -0
- package/src/libs/renderer/src/interaction/ControlPointEditor.js.map +1 -0
- package/src/libs/renderer/src/interaction/WaypointEditor.d.ts +133 -0
- package/src/libs/renderer/src/interaction/WaypointEditor.js +263 -0
- package/src/libs/renderer/src/interaction/WaypointEditor.js.map +1 -0
- package/src/libs/renderer/src/interaction/highlighters.d.ts +88 -0
- package/src/libs/renderer/src/interaction/highlighters.js +212 -0
- package/src/libs/renderer/src/interaction/highlighters.js.map +1 -0
- package/src/libs/renderer/src/interaction/in-place-editor.d.ts +63 -0
- package/src/libs/renderer/src/interaction/in-place-editor.js +141 -0
- package/src/libs/renderer/src/interaction/in-place-editor.js.map +1 -0
- package/src/libs/renderer/src/interaction/index.d.ts +11 -0
- package/src/libs/renderer/src/interaction/index.js +29 -0
- package/src/libs/renderer/src/interaction/index.js.map +1 -0
- package/src/libs/renderer/src/interaction/ink-overlay.d.ts +53 -0
- package/src/libs/renderer/src/interaction/ink-overlay.js +154 -0
- package/src/libs/renderer/src/interaction/ink-overlay.js.map +1 -0
- package/src/libs/renderer/src/interaction/interaction-controller.d.ts +555 -0
- package/src/libs/renderer/src/interaction/interaction-controller.js +1733 -0
- package/src/libs/renderer/src/interaction/interaction-controller.js.map +1 -0
- package/src/libs/renderer/src/interaction/keyboard-navigation.d.ts +223 -0
- package/src/libs/renderer/src/interaction/keyboard-navigation.js +885 -0
- package/src/libs/renderer/src/interaction/keyboard-navigation.js.map +1 -0
- package/src/libs/renderer/src/interaction/selection-tools.d.ts +343 -0
- package/src/libs/renderer/src/interaction/selection-tools.js +918 -0
- package/src/libs/renderer/src/interaction/selection-tools.js.map +1 -0
- package/src/libs/renderer/src/interaction/snapping.d.ts +210 -0
- package/src/libs/renderer/src/interaction/snapping.js +569 -0
- package/src/libs/renderer/src/interaction/snapping.js.map +1 -0
- package/src/libs/renderer/src/interaction/touch-gestures.d.ts +160 -0
- package/src/libs/renderer/src/interaction/touch-gestures.js +549 -0
- package/src/libs/renderer/src/interaction/touch-gestures.js.map +1 -0
- package/src/libs/renderer/src/interaction/whiteboard-tools.d.ts +171 -0
- package/src/libs/renderer/src/interaction/whiteboard-tools.js +476 -0
- package/src/libs/renderer/src/interaction/whiteboard-tools.js.map +1 -0
- package/src/libs/renderer/src/lazy/host-culling.d.ts +116 -0
- package/src/libs/renderer/src/lazy/host-culling.js +135 -0
- package/src/libs/renderer/src/lazy/host-culling.js.map +1 -0
- package/src/libs/renderer/src/lazy/index.d.ts +7 -0
- package/src/libs/renderer/src/lazy/index.js +28 -0
- package/src/libs/renderer/src/lazy/index.js.map +1 -0
- package/src/libs/renderer/src/lazy/progressive-mounter.d.ts +80 -0
- package/src/libs/renderer/src/lazy/progressive-mounter.js +264 -0
- package/src/libs/renderer/src/lazy/progressive-mounter.js.map +1 -0
- package/src/libs/renderer/src/lazy/types.d.ts +43 -0
- package/src/libs/renderer/src/lazy/types.js +14 -0
- package/src/libs/renderer/src/lazy/types.js.map +1 -0
- package/src/libs/renderer/src/lazy/view-lifecycle.d.ts +97 -0
- package/src/libs/renderer/src/lazy/view-lifecycle.js +221 -0
- package/src/libs/renderer/src/lazy/view-lifecycle.js.map +1 -0
- package/src/libs/renderer/src/perf/index.d.ts +2 -0
- package/src/libs/renderer/src/perf/index.js +7 -0
- package/src/libs/renderer/src/perf/index.js.map +1 -0
- package/src/libs/renderer/src/perf/perf-hud.d.ts +46 -0
- package/src/libs/renderer/src/perf/perf-hud.js +105 -0
- package/src/libs/renderer/src/perf/perf-hud.js.map +1 -0
- package/src/libs/renderer/src/perf/quality-governor.d.ts +77 -0
- package/src/libs/renderer/src/perf/quality-governor.js +154 -0
- package/src/libs/renderer/src/perf/quality-governor.js.map +1 -0
- package/src/libs/renderer/src/platform/index.d.ts +1 -0
- package/src/libs/renderer/src/platform/index.js +5 -0
- package/src/libs/renderer/src/platform/index.js.map +1 -0
- package/src/libs/renderer/src/platform/platform.d.ts +34 -0
- package/src/libs/renderer/src/platform/platform.js +64 -0
- package/src/libs/renderer/src/platform/platform.js.map +1 -0
- package/src/libs/renderer/src/presence/bind-presence.d.ts +51 -0
- package/src/libs/renderer/src/presence/bind-presence.js +144 -0
- package/src/libs/renderer/src/presence/bind-presence.js.map +1 -0
- package/src/libs/renderer/src/presence/index.d.ts +4 -0
- package/src/libs/renderer/src/presence/index.js +18 -0
- package/src/libs/renderer/src/presence/index.js.map +1 -0
- package/src/libs/renderer/src/presence/presence-overlay.d.ts +121 -0
- package/src/libs/renderer/src/presence/presence-overlay.js +465 -0
- package/src/libs/renderer/src/presence/presence-overlay.js.map +1 -0
- package/src/libs/renderer/src/presentation/index.d.ts +3 -0
- package/src/libs/renderer/src/presentation/index.js +14 -0
- package/src/libs/renderer/src/presentation/index.js.map +1 -0
- package/src/libs/renderer/src/presentation/presentation.d.ts +94 -0
- package/src/libs/renderer/src/presentation/presentation.js +158 -0
- package/src/libs/renderer/src/presentation/presentation.js.map +1 -0
- package/src/libs/renderer/src/presentation/viewport-channel.d.ts +78 -0
- package/src/libs/renderer/src/presentation/viewport-channel.js +86 -0
- package/src/libs/renderer/src/presentation/viewport-channel.js.map +1 -0
- package/src/libs/renderer/src/services/animation-lifecycle.d.ts +153 -0
- package/src/libs/renderer/src/services/animation-lifecycle.js +326 -0
- package/src/libs/renderer/src/services/animation-lifecycle.js.map +1 -0
- package/src/libs/renderer/src/services/animation-performance.service.d.ts +191 -0
- package/src/libs/renderer/src/services/animation-performance.service.js +371 -0
- package/src/libs/renderer/src/services/animation-performance.service.js.map +1 -0
- package/src/libs/renderer/src/services/animation-sequencer.d.ts +226 -0
- package/src/libs/renderer/src/services/animation-sequencer.js +379 -0
- package/src/libs/renderer/src/services/animation-sequencer.js.map +1 -0
- package/src/libs/renderer/src/services/animation.service.d.ts +182 -0
- package/src/libs/renderer/src/services/animation.service.js +858 -0
- package/src/libs/renderer/src/services/animation.service.js.map +1 -0
- package/src/libs/renderer/src/services/custom-animation-registry.d.ts +182 -0
- package/src/libs/renderer/src/services/custom-animation-registry.js +361 -0
- package/src/libs/renderer/src/services/custom-animation-registry.js.map +1 -0
- package/src/libs/renderer/src/ssr/index.d.ts +1 -0
- package/src/libs/renderer/src/ssr/index.js +6 -0
- package/src/libs/renderer/src/ssr/index.js.map +1 -0
- package/src/libs/renderer/src/ssr/render-to-static.d.ts +91 -0
- package/src/libs/renderer/src/ssr/render-to-static.js +81 -0
- package/src/libs/renderer/src/ssr/render-to-static.js.map +1 -0
- package/src/libs/renderer/src/svg/ArrowRenderer.d.ts +159 -0
- package/src/libs/renderer/src/svg/ArrowRenderer.js +723 -0
- package/src/libs/renderer/src/svg/ArrowRenderer.js.map +1 -0
- package/src/libs/renderer/src/svg/JumpPointDetector.d.ts +79 -0
- package/src/libs/renderer/src/svg/JumpPointDetector.js +176 -0
- package/src/libs/renderer/src/svg/JumpPointDetector.js.map +1 -0
- package/src/libs/renderer/src/svg/JumpPointRenderer.d.ts +59 -0
- package/src/libs/renderer/src/svg/JumpPointRenderer.js +309 -0
- package/src/libs/renderer/src/svg/JumpPointRenderer.js.map +1 -0
- package/src/libs/renderer/src/svg/LabelRenderer.d.ts +76 -0
- package/src/libs/renderer/src/svg/LabelRenderer.js +273 -0
- package/src/libs/renderer/src/svg/LabelRenderer.js.map +1 -0
- package/src/libs/renderer/src/svg/auto-size.d.ts +76 -0
- package/src/libs/renderer/src/svg/auto-size.js +142 -0
- package/src/libs/renderer/src/svg/auto-size.js.map +1 -0
- package/src/libs/renderer/src/svg/channel-nudging.d.ts +34 -0
- package/src/libs/renderer/src/svg/channel-nudging.js +226 -0
- package/src/libs/renderer/src/svg/channel-nudging.js.map +1 -0
- package/src/libs/renderer/src/svg/edge-optimizer.d.ts +228 -0
- package/src/libs/renderer/src/svg/edge-optimizer.js +606 -0
- package/src/libs/renderer/src/svg/edge-optimizer.js.map +1 -0
- package/src/libs/renderer/src/svg/edge-templates.d.ts +152 -0
- package/src/libs/renderer/src/svg/edge-templates.js +233 -0
- package/src/libs/renderer/src/svg/edge-templates.js.map +1 -0
- package/src/libs/renderer/src/svg/html-node.d.ts +50 -0
- package/src/libs/renderer/src/svg/html-node.js +214 -0
- package/src/libs/renderer/src/svg/html-node.js.map +1 -0
- package/src/libs/renderer/src/svg/index.d.ts +25 -0
- package/src/libs/renderer/src/svg/index.js +32 -0
- package/src/libs/renderer/src/svg/index.js.map +1 -0
- package/src/libs/renderer/src/svg/link-fanout.d.ts +127 -0
- package/src/libs/renderer/src/svg/link-fanout.js +333 -0
- package/src/libs/renderer/src/svg/link-fanout.js.map +1 -0
- package/src/libs/renderer/src/svg/link-hit-test.d.ts +142 -0
- package/src/libs/renderer/src/svg/link-hit-test.js +182 -0
- package/src/libs/renderer/src/svg/link-hit-test.js.map +1 -0
- package/src/libs/renderer/src/svg/motion-tracker.d.ts +18 -0
- package/src/libs/renderer/src/svg/motion-tracker.js +71 -0
- package/src/libs/renderer/src/svg/motion-tracker.js.map +1 -0
- package/src/libs/renderer/src/svg/node-sizing.d.ts +51 -0
- package/src/libs/renderer/src/svg/node-sizing.js +65 -0
- package/src/libs/renderer/src/svg/node-sizing.js.map +1 -0
- package/src/libs/renderer/src/svg/node-toolbar.d.ts +30 -0
- package/src/libs/renderer/src/svg/node-toolbar.js +45 -0
- package/src/libs/renderer/src/svg/node-toolbar.js.map +1 -0
- package/src/libs/renderer/src/svg/notation-shapes.d.ts +2 -0
- package/src/libs/renderer/src/svg/notation-shapes.js +126 -0
- package/src/libs/renderer/src/svg/notation-shapes.js.map +1 -0
- package/src/libs/renderer/src/svg/paint-servers.d.ts +49 -0
- package/src/libs/renderer/src/svg/paint-servers.js +225 -0
- package/src/libs/renderer/src/svg/paint-servers.js.map +1 -0
- package/src/libs/renderer/src/svg/panel.d.ts +115 -0
- package/src/libs/renderer/src/svg/panel.js +353 -0
- package/src/libs/renderer/src/svg/panel.js.map +1 -0
- package/src/libs/renderer/src/svg/path-outline.d.ts +35 -0
- package/src/libs/renderer/src/svg/path-outline.js +134 -0
- package/src/libs/renderer/src/svg/path-outline.js.map +1 -0
- package/src/libs/renderer/src/svg/port-glyph.d.ts +27 -0
- package/src/libs/renderer/src/svg/port-glyph.js +97 -0
- package/src/libs/renderer/src/svg/port-glyph.js.map +1 -0
- package/src/libs/renderer/src/svg/port-label.d.ts +74 -0
- package/src/libs/renderer/src/svg/port-label.js +201 -0
- package/src/libs/renderer/src/svg/port-label.js.map +1 -0
- package/src/libs/renderer/src/svg/port-layout.d.ts +50 -0
- package/src/libs/renderer/src/svg/port-layout.js +212 -0
- package/src/libs/renderer/src/svg/port-layout.js.map +1 -0
- package/src/libs/renderer/src/svg/port-positioning.d.ts +33 -0
- package/src/libs/renderer/src/svg/port-positioning.js +101 -0
- package/src/libs/renderer/src/svg/port-positioning.js.map +1 -0
- package/src/libs/renderer/src/svg/port-spots.d.ts +69 -0
- package/src/libs/renderer/src/svg/port-spots.js +154 -0
- package/src/libs/renderer/src/svg/port-spots.js.map +1 -0
- package/src/libs/renderer/src/svg/route-memo.d.ts +63 -0
- package/src/libs/renderer/src/svg/route-memo.js +206 -0
- package/src/libs/renderer/src/svg/route-memo.js.map +1 -0
- package/src/libs/renderer/src/svg/route-solver-bridge.d.ts +48 -0
- package/src/libs/renderer/src/svg/route-solver-bridge.js +151 -0
- package/src/libs/renderer/src/svg/route-solver-bridge.js.map +1 -0
- package/src/libs/renderer/src/svg/shape-registry.d.ts +189 -0
- package/src/libs/renderer/src/svg/shape-registry.js +1104 -0
- package/src/libs/renderer/src/svg/shape-registry.js.map +1 -0
- package/src/libs/renderer/src/svg/stroke-layer.d.ts +36 -0
- package/src/libs/renderer/src/svg/stroke-layer.js +183 -0
- package/src/libs/renderer/src/svg/stroke-layer.js.map +1 -0
- package/src/libs/renderer/src/svg/svg-renderer.d.ts +1737 -0
- package/src/libs/renderer/src/svg/svg-renderer.js +7772 -0
- package/src/libs/renderer/src/svg/svg-renderer.js.map +1 -0
- package/src/libs/renderer/src/svg/text-block.d.ts +54 -0
- package/src/libs/renderer/src/svg/text-block.js +171 -0
- package/src/libs/renderer/src/svg/text-block.js.map +1 -0
- package/src/libs/renderer/src/themes/color-mode.d.ts +81 -0
- package/src/libs/renderer/src/themes/color-mode.js +158 -0
- package/src/libs/renderer/src/themes/color-mode.js.map +1 -0
- package/src/libs/renderer/src/themes/contrast.d.ts +67 -0
- package/src/libs/renderer/src/themes/contrast.js +215 -0
- package/src/libs/renderer/src/themes/contrast.js.map +1 -0
- package/src/libs/renderer/src/themes/default-dark-theme.d.ts +6 -0
- package/src/libs/renderer/src/themes/default-dark-theme.js +126 -0
- package/src/libs/renderer/src/themes/default-dark-theme.js.map +1 -0
- package/src/libs/renderer/src/themes/default-light-theme.d.ts +6 -0
- package/src/libs/renderer/src/themes/default-light-theme.js +168 -0
- package/src/libs/renderer/src/themes/default-light-theme.js.map +1 -0
- package/src/libs/renderer/src/themes/default-theme-set.d.ts +10 -0
- package/src/libs/renderer/src/themes/default-theme-set.js +25 -0
- package/src/libs/renderer/src/themes/default-theme-set.js.map +1 -0
- package/src/libs/renderer/src/themes/high-contrast-theme.d.ts +5 -0
- package/src/libs/renderer/src/themes/high-contrast-theme.js +170 -0
- package/src/libs/renderer/src/themes/high-contrast-theme.js.map +1 -0
- package/src/libs/renderer/src/themes/index.d.ts +22 -0
- package/src/libs/renderer/src/themes/index.js +93 -0
- package/src/libs/renderer/src/themes/index.js.map +1 -0
- package/src/libs/renderer/src/themes/style-cascade.d.ts +23 -0
- package/src/libs/renderer/src/themes/style-cascade.js +194 -0
- package/src/libs/renderer/src/themes/style-cascade.js.map +1 -0
- package/src/libs/renderer/src/themes/style-registry.d.ts +40 -0
- package/src/libs/renderer/src/themes/style-registry.js +129 -0
- package/src/libs/renderer/src/themes/style-registry.js.map +1 -0
- package/src/libs/renderer/src/themes/theme-a11y.d.ts +65 -0
- package/src/libs/renderer/src/themes/theme-a11y.js +256 -0
- package/src/libs/renderer/src/themes/theme-a11y.js.map +1 -0
- package/src/libs/renderer/src/themes/theme-css.d.ts +30 -0
- package/src/libs/renderer/src/themes/theme-css.js +304 -0
- package/src/libs/renderer/src/themes/theme-css.js.map +1 -0
- package/src/libs/renderer/src/themes/theme-ref.d.ts +63 -0
- package/src/libs/renderer/src/themes/theme-ref.js +206 -0
- package/src/libs/renderer/src/themes/theme-ref.js.map +1 -0
- package/src/libs/renderer/src/themes/theme-vars.d.ts +49 -0
- package/src/libs/renderer/src/themes/theme-vars.js +112 -0
- package/src/libs/renderer/src/themes/theme-vars.js.map +1 -0
- package/src/libs/renderer/src/themes/token-bridge.d.ts +62 -0
- package/src/libs/renderer/src/themes/token-bridge.js +354 -0
- package/src/libs/renderer/src/themes/token-bridge.js.map +1 -0
- package/src/libs/renderer/src/types/geometry.types.d.ts +10 -0
- package/src/libs/renderer/src/types/geometry.types.js +3 -0
- package/src/libs/renderer/src/types/geometry.types.js.map +1 -0
- package/src/libs/renderer/src/types/index.d.ts +5 -0
- package/src/libs/renderer/src/types/index.js +14 -0
- package/src/libs/renderer/src/types/index.js.map +1 -0
- package/src/libs/renderer/src/types/property-schema/conditions.d.ts +96 -0
- package/src/libs/renderer/src/types/property-schema/conditions.js +8 -0
- package/src/libs/renderer/src/types/property-schema/conditions.js.map +1 -0
- package/src/libs/renderer/src/types/property-schema/editor-types.d.ts +310 -0
- package/src/libs/renderer/src/types/property-schema/editor-types.js +8 -0
- package/src/libs/renderer/src/types/property-schema/editor-types.js.map +1 -0
- package/src/libs/renderer/src/types/property-schema/groups.d.ts +58 -0
- package/src/libs/renderer/src/types/property-schema/groups.js +8 -0
- package/src/libs/renderer/src/types/property-schema/groups.js.map +1 -0
- package/src/libs/renderer/src/types/property-schema/index.d.ts +101 -0
- package/src/libs/renderer/src/types/property-schema/index.js +98 -0
- package/src/libs/renderer/src/types/property-schema/index.js.map +1 -0
- package/src/libs/renderer/src/types/property-schema/property-definition.d.ts +117 -0
- package/src/libs/renderer/src/types/property-schema/property-definition.js +8 -0
- package/src/libs/renderer/src/types/property-schema/property-definition.js.map +1 -0
- package/src/libs/renderer/src/types/property-schema/schema.d.ts +108 -0
- package/src/libs/renderer/src/types/property-schema/schema.js +8 -0
- package/src/libs/renderer/src/types/property-schema/schema.js.map +1 -0
- package/src/libs/renderer/src/types/property-schema/validation.d.ts +181 -0
- package/src/libs/renderer/src/types/property-schema/validation.js +8 -0
- package/src/libs/renderer/src/types/property-schema/validation.js.map +1 -0
- package/src/libs/renderer/src/types/renderer.interface.d.ts +623 -0
- package/src/libs/renderer/src/types/renderer.interface.js +3 -0
- package/src/libs/renderer/src/types/renderer.interface.js.map +1 -0
- package/src/libs/renderer/src/types/theme.types.d.ts +305 -0
- package/src/libs/renderer/src/types/theme.types.js +3 -0
- package/src/libs/renderer/src/types/theme.types.js.map +1 -0
- package/src/libs/renderer/src/types/vnode.types.d.ts +139 -0
- package/src/libs/renderer/src/types/vnode.types.js +3 -0
- package/src/libs/renderer/src/types/vnode.types.js.map +1 -0
- package/src/libs/renderer/src/utils/animation-presets.d.ts +310 -0
- package/src/libs/renderer/src/utils/animation-presets.js +406 -0
- package/src/libs/renderer/src/utils/animation-presets.js.map +1 -0
- package/src/libs/renderer/src/utils/animation-priority.d.ts +118 -0
- package/src/libs/renderer/src/utils/animation-priority.js +258 -0
- package/src/libs/renderer/src/utils/animation-priority.js.map +1 -0
- package/src/libs/renderer/src/utils/animation-utils.d.ts +159 -0
- package/src/libs/renderer/src/utils/animation-utils.js +323 -0
- package/src/libs/renderer/src/utils/animation-utils.js.map +1 -0
- package/src/libs/renderer/src/utils/lru-cache.d.ts +34 -0
- package/src/libs/renderer/src/utils/lru-cache.js +72 -0
- package/src/libs/renderer/src/utils/lru-cache.js.map +1 -0
- package/src/libs/renderer/src/viewport/index.d.ts +1 -0
- package/src/libs/renderer/src/viewport/index.js +6 -0
- package/src/libs/renderer/src/viewport/index.js.map +1 -0
- package/src/libs/renderer/src/viewport/viewport-controller.d.ts +198 -0
- package/src/libs/renderer/src/viewport/viewport-controller.js +315 -0
- package/src/libs/renderer/src/viewport/viewport-controller.js.map +1 -0
- package/src/libs/renderer/src/vnode/container-id-generator.d.ts +94 -0
- package/src/libs/renderer/src/vnode/container-id-generator.js +110 -0
- package/src/libs/renderer/src/vnode/container-id-generator.js.map +1 -0
- package/src/libs/renderer/src/vnode/foreign-object.d.ts +157 -0
- package/src/libs/renderer/src/vnode/foreign-object.js +167 -0
- package/src/libs/renderer/src/vnode/foreign-object.js.map +1 -0
- package/src/libs/renderer/src/vnode/index.d.ts +56 -0
- package/src/libs/renderer/src/vnode/index.js +78 -0
- package/src/libs/renderer/src/vnode/index.js.map +1 -0
- package/src/libs/renderer/src/vnode/patch.d.ts +189 -0
- package/src/libs/renderer/src/vnode/patch.js +564 -0
- package/src/libs/renderer/src/vnode/patch.js.map +1 -0
- package/src/reachability.spec.ts +173 -0
- package/tsconfig.esm.json +9 -0
- package/tsconfig.json +24 -0
- package/tsconfig.lib.json +10 -0
- package/tsconfig.spec.json +14 -0
|
@@ -0,0 +1,1076 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Vector PDF (Card 4) — a TRUE vector PDF with selectable, searchable text.
|
|
3
|
+
//
|
|
4
|
+
// THE DEPENDENCY DECISION (the card asks for it explicitly)
|
|
5
|
+
// ---------------------------------------------------------
|
|
6
|
+
// The named pipeline is svg2pdf.js + jsPDF. We do NOT use it, for three reasons that all
|
|
7
|
+
// point the same way:
|
|
8
|
+
//
|
|
9
|
+
// 1. svg2pdf.js NEEDS A DOM. It walks a live `SVGElement`, and leans on `getBBox()` and
|
|
10
|
+
// `getComputedStyle()` — browser layout APIs. jsdom does not implement `getBBox` (it
|
|
11
|
+
// returns zeros), so in Node it does not merely need a shim, it silently produces an
|
|
12
|
+
// EMPTY PDF. Adopting it would therefore break the two things this module is FOR:
|
|
13
|
+
// the DOM-free guarantee (a node-environment test pins it) and the headless-server
|
|
14
|
+
// story that is Card 6's whole differentiator.
|
|
15
|
+
// 2. It is ~450KB (jsPDF ~350 + svg2pdf ~100) shipped to every browser consumer, to
|
|
16
|
+
// re-derive a picture we already hold in a clean, fully-resolved VNode tree.
|
|
17
|
+
// 3. Its input would be our SVG STRING — so we would serialize a tree to XML, hand it to
|
|
18
|
+
// a library to re-parse into a DOM, and have it walk that DOM. We already have the
|
|
19
|
+
// tree, already flattened (every `var(--…)` resolved into a concrete value). Painting
|
|
20
|
+
// straight from it is both less code and strictly more faithful.
|
|
21
|
+
//
|
|
22
|
+
// So the PDF is written directly. This is not "faking it" — the output is a real vector
|
|
23
|
+
// PDF: paths are paths, and text is text (`BT`/`Tj`), so it is selectable and searchable
|
|
24
|
+
// in any reader, and it scales without pixelation.
|
|
25
|
+
//
|
|
26
|
+
// WHAT IT COSTS — stated plainly, because these are real limits:
|
|
27
|
+
// • FONTS are the PDF base-14 (Helvetica/Times/Courier). Those are built into every
|
|
28
|
+
// reader, so text needs no embedded font program — but the diagram's actual face
|
|
29
|
+
// (Inter, system-ui) is NOT one of them, so a PDF renders in the nearest standard
|
|
30
|
+
// family. Embedding the real face would need a font parser + subsetter.
|
|
31
|
+
// • TEXT OUTSIDE WinAnsi (Arabic, CJK, emoji) cannot be written with a standard font.
|
|
32
|
+
// Those characters are replaced with '?' and reported in `warnings` — loudly, because
|
|
33
|
+
// a silently-mangled label is worse than a missing one.
|
|
34
|
+
// • GRADIENT FILLS are REAL: linear → /ShadingType 2, radial → /ShadingType 3, painted
|
|
35
|
+
// as `sh` clipped to the shape (see the shading section for why not a pattern fill).
|
|
36
|
+
// Stop OPACITY is real too: a luminosity soft mask (a DeviceGray transparency-group
|
|
37
|
+
// form painting the alpha ramp, wired through /ExtGState /SMask). Gradient-filled
|
|
38
|
+
// TEXT is real: text rendering mode 7 turns the glyphs into the clip and the shading
|
|
39
|
+
// paints through. What still flattens to the first stop, with a warning: gradient
|
|
40
|
+
// STROKES — a shading through a stroke needs either the stroke outline as a clip
|
|
41
|
+
// (PDF cannot build one) or a shading pattern whose /Matrix lives in page space,
|
|
42
|
+
// i.e. exactly the accumulated-CTM bookkeeping the sh approach exists to avoid.
|
|
43
|
+
// • IMAGES embed as real XObjects for data: PNGs — RGBA's alpha splits into an /SMask,
|
|
44
|
+
// interlaced (Adam7) PNGs are de-interlaced, 16-bit samples downsample to their high
|
|
45
|
+
// byte (< 0.4% error) — and JPEGs (DCTDecode passthrough), including CMYK: the Adobe
|
|
46
|
+
// APP14 convention stores inverted ink values, undone via /Decode. Still refused,
|
|
47
|
+
// loudly: external URLs (fetching would make the export impure) and sub-8-bit PNGs.
|
|
48
|
+
// RGBA re-compression is stored-block (see flate.ts): raw-size streams, correct
|
|
49
|
+
// pixels.
|
|
50
|
+
// • ELEMENT clip-paths (clip-path="url(#…)" with userSpaceOnUse shapes) clip for real
|
|
51
|
+
// via W n. clipPathUnits="objectBoundingBox" warns and paints unclipped.
|
|
52
|
+
// • BLURRED elements (the node drop shadow) are DROPPED. PDF has no gaussian blur, and
|
|
53
|
+
// drawing the shadow un-blurred would put a hard black slab behind every node — far
|
|
54
|
+
// worse than no shadow.
|
|
55
|
+
// • foreignObject cannot be represented at all.
|
|
56
|
+
//
|
|
57
|
+
// Everything here is pure and deterministic: same tree ⇒ same bytes.
|
|
58
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
59
|
+
exports.exportPdf = exportPdf;
|
|
60
|
+
const pdf_primitives_1 = require("./pdf-primitives");
|
|
61
|
+
const pdf_path_1 = require("./pdf-path");
|
|
62
|
+
const png_1 = require("./png");
|
|
63
|
+
const bounds_1 = require("../bounds");
|
|
64
|
+
// The shared geometry module — see pdf-path.ts.
|
|
65
|
+
const path_geometry_1 = require("../../canvas/path-geometry");
|
|
66
|
+
const style_flattener_1 = require("../style-flattener");
|
|
67
|
+
const patch_1 = require("../../vnode/patch");
|
|
68
|
+
const default_light_theme_1 = require("../../themes/default-light-theme");
|
|
69
|
+
function resolveMargins(margin) {
|
|
70
|
+
if (typeof margin === 'number')
|
|
71
|
+
return { top: margin, right: margin, bottom: margin, left: margin };
|
|
72
|
+
if (margin)
|
|
73
|
+
return margin;
|
|
74
|
+
return { top: 36, right: 36, bottom: 36, left: 36 };
|
|
75
|
+
}
|
|
76
|
+
class ContentStream {
|
|
77
|
+
constructor() {
|
|
78
|
+
this.ops = [];
|
|
79
|
+
this.state = { fill: null, stroke: null, lineWidth: null, dash: null, alpha: null, font: null };
|
|
80
|
+
/** ExtGState names for the alphas we used: PDF puts constant alpha in a resource dict. */
|
|
81
|
+
this.alphas = new Set();
|
|
82
|
+
this.fonts = new Set();
|
|
83
|
+
}
|
|
84
|
+
push(op) {
|
|
85
|
+
this.ops.push(op);
|
|
86
|
+
}
|
|
87
|
+
save() {
|
|
88
|
+
this.ops.push('q');
|
|
89
|
+
}
|
|
90
|
+
restore() {
|
|
91
|
+
this.ops.push('Q');
|
|
92
|
+
// A `Q` rolls the graphics state back to whatever it was at the matching `q`, and we
|
|
93
|
+
// do not track that — so forget our cache rather than skip an op we still need.
|
|
94
|
+
this.state = { fill: null, stroke: null, lineWidth: null, dash: null, alpha: null, font: null };
|
|
95
|
+
}
|
|
96
|
+
setFill(rgb) {
|
|
97
|
+
const op = `${(0, pdf_primitives_1.num)(rgb.r)} ${(0, pdf_primitives_1.num)(rgb.g)} ${(0, pdf_primitives_1.num)(rgb.b)} rg`;
|
|
98
|
+
if (this.state.fill === op)
|
|
99
|
+
return;
|
|
100
|
+
this.state.fill = op;
|
|
101
|
+
this.ops.push(op);
|
|
102
|
+
}
|
|
103
|
+
setStroke(rgb) {
|
|
104
|
+
const op = `${(0, pdf_primitives_1.num)(rgb.r)} ${(0, pdf_primitives_1.num)(rgb.g)} ${(0, pdf_primitives_1.num)(rgb.b)} RG`;
|
|
105
|
+
if (this.state.stroke === op)
|
|
106
|
+
return;
|
|
107
|
+
this.state.stroke = op;
|
|
108
|
+
this.ops.push(op);
|
|
109
|
+
}
|
|
110
|
+
setLineWidth(width) {
|
|
111
|
+
if (this.state.lineWidth === width)
|
|
112
|
+
return;
|
|
113
|
+
this.state.lineWidth = width;
|
|
114
|
+
this.ops.push(`${(0, pdf_primitives_1.num)(width)} w`);
|
|
115
|
+
}
|
|
116
|
+
setDash(dash) {
|
|
117
|
+
const op = dash ? `[${dash}] 0 d` : '[] 0 d';
|
|
118
|
+
if (this.state.dash === op)
|
|
119
|
+
return;
|
|
120
|
+
this.state.dash = op;
|
|
121
|
+
this.ops.push(op);
|
|
122
|
+
}
|
|
123
|
+
setAlpha(alpha) {
|
|
124
|
+
const rounded = Number(alpha.toFixed(3));
|
|
125
|
+
if (this.state.alpha === rounded)
|
|
126
|
+
return;
|
|
127
|
+
this.state.alpha = rounded;
|
|
128
|
+
this.alphas.add(rounded);
|
|
129
|
+
this.ops.push(`/GS${alphaName(rounded)} gs`);
|
|
130
|
+
}
|
|
131
|
+
setFont(font, size) {
|
|
132
|
+
const op = `/F${fontIndex(font)} ${(0, pdf_primitives_1.num)(size)} Tf`;
|
|
133
|
+
if (this.state.font === op)
|
|
134
|
+
return;
|
|
135
|
+
this.state.font = op;
|
|
136
|
+
this.fonts.add(font);
|
|
137
|
+
this.ops.push(op);
|
|
138
|
+
}
|
|
139
|
+
concat(m) {
|
|
140
|
+
this.ops.push(`${(0, pdf_primitives_1.num)(m.a)} ${(0, pdf_primitives_1.num)(m.b)} ${(0, pdf_primitives_1.num)(m.c)} ${(0, pdf_primitives_1.num)(m.d)} ${(0, pdf_primitives_1.num)(m.e)} ${(0, pdf_primitives_1.num)(m.f)} cm`);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
const BASE_FONTS = [
|
|
144
|
+
'Helvetica',
|
|
145
|
+
'Helvetica-Bold',
|
|
146
|
+
'Helvetica-Oblique',
|
|
147
|
+
'Helvetica-BoldOblique',
|
|
148
|
+
'Times-Roman',
|
|
149
|
+
'Times-Bold',
|
|
150
|
+
'Times-Italic',
|
|
151
|
+
'Times-BoldItalic',
|
|
152
|
+
'Courier',
|
|
153
|
+
'Courier-Bold',
|
|
154
|
+
];
|
|
155
|
+
const fontIndex = (font) => BASE_FONTS.indexOf(font) + 1;
|
|
156
|
+
const alphaName = (alpha) => String(Math.round(alpha * 1000));
|
|
157
|
+
/** Elements that draw nothing and whose children are references. */
|
|
158
|
+
const NON_PAINTING = new Set([
|
|
159
|
+
'defs', 'title', 'desc', 'metadata', 'linearGradient', 'radialGradient',
|
|
160
|
+
'stop', 'filter', 'marker', 'clipPath', 'mask', 'pattern', 'style',
|
|
161
|
+
]);
|
|
162
|
+
function nn(value, fallback = 0) {
|
|
163
|
+
const n = Number(value);
|
|
164
|
+
return Number.isFinite(n) ? n : fallback;
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Export a rendered VNode tree as a vector PDF.
|
|
168
|
+
*/
|
|
169
|
+
function exportPdf(root, options = {}) {
|
|
170
|
+
var _a, _b, _c, _d, _e;
|
|
171
|
+
const warnings = [];
|
|
172
|
+
const margins = resolveMargins(options.margin);
|
|
173
|
+
const page = (0, pdf_primitives_1.pageDimensions)((_a = options.pageSize) !== null && _a !== void 0 ? _a : 'a4', (_b = options.orientation) !== null && _b !== void 0 ? _b : 'landscape');
|
|
174
|
+
// The world rectangle(s) to draw. One page unless the paginator supplied a grid.
|
|
175
|
+
const content = (_c = options.viewBox) !== null && _c !== void 0 ? _c : (() => {
|
|
176
|
+
var _a;
|
|
177
|
+
const bounds = (0, bounds_1.vnodeBounds)(root);
|
|
178
|
+
const pad = (_a = options.padding) !== null && _a !== void 0 ? _a : 20;
|
|
179
|
+
if (!bounds)
|
|
180
|
+
return { x: 0, y: 0, width: 100, height: 100 };
|
|
181
|
+
return { x: bounds.x - pad, y: bounds.y - pad, width: bounds.width + pad * 2, height: bounds.height + pad * 2 };
|
|
182
|
+
})();
|
|
183
|
+
// Normalise: a bare Rectangle means "paint the whole window".
|
|
184
|
+
const pages = (((_d = options.pages) === null || _d === void 0 ? void 0 : _d.length) ? options.pages : [content]).map(page => {
|
|
185
|
+
var _a;
|
|
186
|
+
const rect = 'rect' in page ? page.rect : page;
|
|
187
|
+
const clip = 'rect' in page ? ((_a = page.clip) !== null && _a !== void 0 ? _a : rect) : page;
|
|
188
|
+
return { rect, clip };
|
|
189
|
+
});
|
|
190
|
+
// Gradients / patterns / clip paths are resolved by id from <defs> — collect first.
|
|
191
|
+
const defs = collectDefs(root);
|
|
192
|
+
// The stylesheet, flattened — the same resolver the SVG exporter uses.
|
|
193
|
+
const classStyles = (0, style_flattener_1.createClassStyleResolver)((_e = options.theme) !== null && _e !== void 0 ? _e : default_light_theme_1.LIGHT_THEME, warnings);
|
|
194
|
+
const ctx = {
|
|
195
|
+
defs,
|
|
196
|
+
shadings: new ShadingRegistry(),
|
|
197
|
+
softMasks: new SoftMaskRegistry(),
|
|
198
|
+
images: new ImageRegistry(),
|
|
199
|
+
warnings,
|
|
200
|
+
classStyles,
|
|
201
|
+
};
|
|
202
|
+
const writer = new pdf_primitives_1.PdfWriter();
|
|
203
|
+
const catalogId = writer.allocate();
|
|
204
|
+
const pagesId = writer.allocate();
|
|
205
|
+
const pageIds = [];
|
|
206
|
+
const contentIds = [];
|
|
207
|
+
const streams = [];
|
|
208
|
+
for (let i = 0; i < pages.length; i++) {
|
|
209
|
+
pageIds.push(writer.allocate());
|
|
210
|
+
contentIds.push(writer.allocate());
|
|
211
|
+
}
|
|
212
|
+
const boxWidth = page.width - margins.left - margins.right;
|
|
213
|
+
const boxHeight = page.height - margins.top - margins.bottom;
|
|
214
|
+
pages.forEach(({ rect, clip }, index) => {
|
|
215
|
+
const stream = new ContentStream();
|
|
216
|
+
streams.push(stream);
|
|
217
|
+
// Fit the world rectangle into the page's content box, preserving aspect, centred.
|
|
218
|
+
const scale = Math.min(boxWidth / rect.width, boxHeight / rect.height);
|
|
219
|
+
const drawWidth = rect.width * scale;
|
|
220
|
+
const drawHeight = rect.height * scale;
|
|
221
|
+
const offsetX = margins.left + (boxWidth - drawWidth) / 2;
|
|
222
|
+
const offsetY = margins.bottom + (boxHeight - drawHeight) / 2;
|
|
223
|
+
if (options.backgroundColor) {
|
|
224
|
+
const bg = (0, pdf_primitives_1.parsePdfColor)(options.backgroundColor);
|
|
225
|
+
if (bg) {
|
|
226
|
+
stream.save();
|
|
227
|
+
stream.setFill(bg);
|
|
228
|
+
stream.push(`0 0 ${(0, pdf_primitives_1.num)(page.width)} ${(0, pdf_primitives_1.num)(page.height)} re`);
|
|
229
|
+
stream.push('f');
|
|
230
|
+
stream.restore();
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
stream.save();
|
|
234
|
+
// PDF's origin is BOTTOM-left with y up; SVG's is TOP-left with y down. This one
|
|
235
|
+
// matrix does the flip, the fit, and the world offset in a single CTM — so every
|
|
236
|
+
// coordinate below is written in the SVG's own space and lands in the right place.
|
|
237
|
+
// x_pdf = offsetX + (x_svg - rect.x) * scale
|
|
238
|
+
// y_pdf = offsetY + drawHeight - (y_svg - rect.y) * scale
|
|
239
|
+
const ctm = {
|
|
240
|
+
a: scale,
|
|
241
|
+
b: 0,
|
|
242
|
+
c: 0,
|
|
243
|
+
d: -scale,
|
|
244
|
+
e: offsetX - rect.x * scale,
|
|
245
|
+
f: offsetY + drawHeight + rect.y * scale,
|
|
246
|
+
};
|
|
247
|
+
stream.concat(ctm);
|
|
248
|
+
// Clip to what this page actually PAINTS. That is `clip`, not `rect`: when the
|
|
249
|
+
// paginator pulled a break back to spare a node, the clip is narrower than the window,
|
|
250
|
+
// and the page shows white space instead of a sliced-in-half box.
|
|
251
|
+
stream.push(`${(0, pdf_primitives_1.num)(clip.x)} ${(0, pdf_primitives_1.num)(clip.y)} ${(0, pdf_primitives_1.num)(clip.width)} ${(0, pdf_primitives_1.num)(clip.height)} re`);
|
|
252
|
+
stream.push('W n');
|
|
253
|
+
paint(root, stream, ctx);
|
|
254
|
+
stream.restore();
|
|
255
|
+
if (options.pageNumbers && pages.length > 0) {
|
|
256
|
+
paintPageNumber(stream, index + 1, pages.length, page, margins);
|
|
257
|
+
}
|
|
258
|
+
});
|
|
259
|
+
// ---- assemble the document ------------------------------------------------
|
|
260
|
+
const usedFonts = new Set();
|
|
261
|
+
const usedAlphas = new Set();
|
|
262
|
+
for (const stream of streams) {
|
|
263
|
+
stream.fonts.forEach(f => usedFonts.add(f));
|
|
264
|
+
stream.alphas.forEach(a => usedAlphas.add(a));
|
|
265
|
+
}
|
|
266
|
+
const fontIds = new Map();
|
|
267
|
+
for (const font of BASE_FONTS) {
|
|
268
|
+
if (usedFonts.has(font))
|
|
269
|
+
fontIds.set(font, writer.allocate());
|
|
270
|
+
}
|
|
271
|
+
const fontResources = [...fontIds.entries()]
|
|
272
|
+
.map(([font, id]) => `/F${fontIndex(font)} ${id} 0 R`)
|
|
273
|
+
.join(' ');
|
|
274
|
+
// Constant alpha lives in an ExtGState, not in an operator — /ca fill, /CA stroke.
|
|
275
|
+
const alphaResources = [...usedAlphas]
|
|
276
|
+
.sort((a, b) => a - b)
|
|
277
|
+
.map(alpha => `/GS${alphaName(alpha)} << /Type /ExtGState /ca ${(0, pdf_primitives_1.num)(alpha)} /CA ${(0, pdf_primitives_1.num)(alpha)} >>`)
|
|
278
|
+
.join(' ');
|
|
279
|
+
// Image XObjects: one stream object per distinct image, plus its /SMask stream when the
|
|
280
|
+
// source PNG carried alpha. Wiring the SMask by reference is the whole point — an alpha
|
|
281
|
+
// plane that exists but is not named in the image dict renders opaque, silently.
|
|
282
|
+
const imageEntries = ctx.images.entries();
|
|
283
|
+
const imageRefs = [];
|
|
284
|
+
for (const { name, image } of imageEntries) {
|
|
285
|
+
let smaskRef = '';
|
|
286
|
+
if (image.smask) {
|
|
287
|
+
const smaskId = writer.allocate();
|
|
288
|
+
writer.setStream(smaskId, `/Type /XObject /Subtype /Image /Width ${image.width} /Height ${image.height} ` +
|
|
289
|
+
`/ColorSpace /DeviceGray /BitsPerComponent ${image.smask.bitsPerComponent} /Filter /FlateDecode`, Array.from(image.smask.data));
|
|
290
|
+
smaskRef = ` /SMask ${smaskId} 0 R`;
|
|
291
|
+
}
|
|
292
|
+
const imageId = writer.allocate();
|
|
293
|
+
const decodeParms = image.decodeParms ? ` /DecodeParms ${image.decodeParms}` : '';
|
|
294
|
+
// /Decode is how an Adobe-inverted CMYK JPEG comes out the right colours — dropping
|
|
295
|
+
// it here renders every such image inverted (red → cyan) with no other symptom.
|
|
296
|
+
const decode = image.decode ? ` /Decode ${image.decode}` : '';
|
|
297
|
+
writer.setStream(imageId, `/Type /XObject /Subtype /Image /Width ${image.width} /Height ${image.height} ` +
|
|
298
|
+
`/ColorSpace ${image.colorSpace} /BitsPerComponent ${image.bitsPerComponent} ` +
|
|
299
|
+
`/Filter ${image.filter}${decodeParms}${decode}${smaskRef}`, Array.from(image.data));
|
|
300
|
+
imageRefs.push(`/${name} ${imageId} 0 R`);
|
|
301
|
+
}
|
|
302
|
+
const shadingResources = ctx.shadings
|
|
303
|
+
.entries()
|
|
304
|
+
.map(([name, dict]) => `/${name} ${dict}`)
|
|
305
|
+
.join(' ');
|
|
306
|
+
// Luminosity soft masks: a Form XObject painting the alpha ramp in DeviceGray, and an
|
|
307
|
+
// ExtGState pointing at it. The /Transparency group's /CS MUST be DeviceGray — an RGB
|
|
308
|
+
// group's luminosity is a different function of the ramp, and the mask silently warps.
|
|
309
|
+
const softMaskResources = ctx.softMasks
|
|
310
|
+
.entries()
|
|
311
|
+
.map(mask => {
|
|
312
|
+
const formId = writer.allocate();
|
|
313
|
+
writer.setStream(formId, `/Type /XObject /Subtype /Form /BBox [${mask.bbox}] ` +
|
|
314
|
+
`/Group << /S /Transparency /CS /DeviceGray >> ` +
|
|
315
|
+
`/Resources << /Shading << /G0 ${mask.shading} >> >>`, (0, pdf_primitives_1.latin1Bytes)('/G0 sh'));
|
|
316
|
+
return `/${mask.name} << /Type /ExtGState /SMask << /S /Luminosity /G ${formId} 0 R >> >>`;
|
|
317
|
+
})
|
|
318
|
+
.join(' ');
|
|
319
|
+
const resources = `<< /Font << ${fontResources} >> ` +
|
|
320
|
+
`/ExtGState << ${alphaResources}${softMaskResources ? ` ${softMaskResources}` : ''} >> ` +
|
|
321
|
+
(shadingResources ? `/Shading << ${shadingResources} >> ` : '') +
|
|
322
|
+
(imageRefs.length ? `/XObject << ${imageRefs.join(' ')} >> ` : '') +
|
|
323
|
+
`/ProcSet [/PDF /Text${imageRefs.length ? ' /ImageB /ImageC /ImageI' : ''}] >>`;
|
|
324
|
+
streams.forEach((stream, index) => {
|
|
325
|
+
writer.set(pageIds[index], `<< /Type /Page /Parent ${pagesId} 0 R ` +
|
|
326
|
+
`/MediaBox [0 0 ${(0, pdf_primitives_1.num)(page.width)} ${(0, pdf_primitives_1.num)(page.height)}] ` +
|
|
327
|
+
`/Resources ${resources} ` +
|
|
328
|
+
`/Contents ${contentIds[index]} 0 R >>`);
|
|
329
|
+
writer.setStream(contentIds[index], '', (0, pdf_primitives_1.latin1Bytes)(stream.ops.join('\n')));
|
|
330
|
+
});
|
|
331
|
+
for (const [font, id] of fontIds) {
|
|
332
|
+
writer.set(id, `<< /Type /Font /Subtype /Type1 /BaseFont /${font} /Encoding /WinAnsiEncoding >>`);
|
|
333
|
+
}
|
|
334
|
+
writer.set(pagesId, `<< /Type /Pages /Kids [${pageIds.map(id => `${id} 0 R`).join(' ')}] /Count ${pageIds.length} >>`);
|
|
335
|
+
const infoId = buildInfo(writer, options.metadata);
|
|
336
|
+
writer.set(catalogId, `<< /Type /Catalog /Pages ${pagesId} 0 R >>`);
|
|
337
|
+
return { pdf: writer.build(catalogId, infoId), pageCount: pages.length, warnings: dedupe(warnings) };
|
|
338
|
+
}
|
|
339
|
+
function buildInfo(writer, metadata) {
|
|
340
|
+
if (!metadata)
|
|
341
|
+
return null;
|
|
342
|
+
const entries = [];
|
|
343
|
+
const add = (key, value) => {
|
|
344
|
+
if (value)
|
|
345
|
+
entries.push(`/${key} ${(0, pdf_primitives_1.pdfString)((0, pdf_primitives_1.encodeWinAnsi)(value).bytes)}`);
|
|
346
|
+
};
|
|
347
|
+
add('Title', metadata.title);
|
|
348
|
+
add('Author', metadata.author);
|
|
349
|
+
add('Subject', metadata.subject);
|
|
350
|
+
add('Keywords', metadata.keywords);
|
|
351
|
+
entries.push('/Producer (Grafloria)');
|
|
352
|
+
if (metadata.creationDate)
|
|
353
|
+
add('CreationDate', toPdfDate(metadata.creationDate));
|
|
354
|
+
const id = writer.allocate();
|
|
355
|
+
writer.set(id, `<< ${entries.join(' ')} >>`);
|
|
356
|
+
return id;
|
|
357
|
+
}
|
|
358
|
+
/** ISO-8601 → PDF's own `D:YYYYMMDDHHmmSS` date literal. */
|
|
359
|
+
function toPdfDate(iso) {
|
|
360
|
+
const date = new Date(iso);
|
|
361
|
+
if (Number.isNaN(date.getTime()))
|
|
362
|
+
return iso;
|
|
363
|
+
const pad = (n) => String(n).padStart(2, '0');
|
|
364
|
+
return (`D:${date.getUTCFullYear()}${pad(date.getUTCMonth() + 1)}${pad(date.getUTCDate())}` +
|
|
365
|
+
`${pad(date.getUTCHours())}${pad(date.getUTCMinutes())}${pad(date.getUTCSeconds())}Z`);
|
|
366
|
+
}
|
|
367
|
+
/**
|
|
368
|
+
* THE ELEMENT'S REAL PAINT — the CSS cascade, resolved.
|
|
369
|
+
*
|
|
370
|
+
* This is not optional decoration. In CSS mode (the live default) a node's fill and a
|
|
371
|
+
* link's stroke are NOT on the element: they come from the injected stylesheet, and the
|
|
372
|
+
* VNode carries only `class="diagram-node"`. Painting the raw props would therefore give
|
|
373
|
+
* every link no stroke and every node no fill — i.e. a nearly BLANK PDF. (It did. That is
|
|
374
|
+
* how this was found.)
|
|
375
|
+
*
|
|
376
|
+
* So the same flattener the SVG exporter uses is applied here, in the same CSS priority
|
|
377
|
+
* order — presentation attribute < author rule < inline style — and keys are normalised
|
|
378
|
+
* through `attrNameForProp`, the mapping SHARED with the DOM patcher. Sharing it is what
|
|
379
|
+
* stops a `strokeWidth` prop and a `stroke-width` rule from both surviving and the wrong
|
|
380
|
+
* one winning.
|
|
381
|
+
*/
|
|
382
|
+
function resolved(vnode, ctx) {
|
|
383
|
+
var _a;
|
|
384
|
+
const props = (_a = vnode.props) !== null && _a !== void 0 ? _a : {};
|
|
385
|
+
const out = {};
|
|
386
|
+
// (1) presentation attributes — the lowest layer
|
|
387
|
+
for (const key of Object.keys(props)) {
|
|
388
|
+
const value = props[key];
|
|
389
|
+
if (value === null || value === undefined || typeof value === 'function')
|
|
390
|
+
continue;
|
|
391
|
+
if (key === 'style' || key === 'className' || key === 'textContent' || key === 'innerHTML')
|
|
392
|
+
continue;
|
|
393
|
+
out[(0, patch_1.attrNameForProp)(key)] = String(value);
|
|
394
|
+
}
|
|
395
|
+
// (2) the stylesheet — an author rule BEATS a presentation attribute
|
|
396
|
+
const className = props['className'];
|
|
397
|
+
if (typeof className === 'string' && className.trim() !== '') {
|
|
398
|
+
Object.assign(out, ctx.classStyles(className.trim().split(/\s+/)));
|
|
399
|
+
}
|
|
400
|
+
// (3) the element's own inline style — the cascade's winner
|
|
401
|
+
const style = (0, patch_1.serializeStyle)(props['style']);
|
|
402
|
+
if (style) {
|
|
403
|
+
for (const declaration of style.split(';')) {
|
|
404
|
+
const colon = declaration.indexOf(':');
|
|
405
|
+
if (colon < 0)
|
|
406
|
+
continue;
|
|
407
|
+
const prop = declaration.slice(0, colon).trim();
|
|
408
|
+
const value = declaration.slice(colon + 1).trim();
|
|
409
|
+
if (prop && value)
|
|
410
|
+
out[prop] = value;
|
|
411
|
+
}
|
|
412
|
+
}
|
|
413
|
+
return out;
|
|
414
|
+
}
|
|
415
|
+
/** Both prop spellings occur: the capture emits `stop-color`, hand-built trees `stopColor`. */
|
|
416
|
+
function stopProp(vnode, kebab, camel) {
|
|
417
|
+
var _a, _b, _c;
|
|
418
|
+
return (_b = (_a = vnode.props) === null || _a === void 0 ? void 0 : _a[kebab]) !== null && _b !== void 0 ? _b : (_c = vnode.props) === null || _c === void 0 ? void 0 : _c[camel];
|
|
419
|
+
}
|
|
420
|
+
function parseStops(vnode) {
|
|
421
|
+
var _a, _b;
|
|
422
|
+
const stops = [];
|
|
423
|
+
for (const child of (_a = vnode.children) !== null && _a !== void 0 ? _a : []) {
|
|
424
|
+
if (!child || typeof child !== 'object' || child.type !== 'stop')
|
|
425
|
+
continue;
|
|
426
|
+
const colorValue = stopProp(child, 'stop-color', 'stopColor');
|
|
427
|
+
const color = (0, pdf_primitives_1.parsePdfColor)(colorValue);
|
|
428
|
+
if (!color)
|
|
429
|
+
continue;
|
|
430
|
+
// Offsets arrive as numbers, "0.5" or "50%".
|
|
431
|
+
const rawOffset = (_b = child.props) === null || _b === void 0 ? void 0 : _b['offset'];
|
|
432
|
+
let offset = 0;
|
|
433
|
+
if (typeof rawOffset === 'number')
|
|
434
|
+
offset = rawOffset;
|
|
435
|
+
else if (typeof rawOffset === 'string') {
|
|
436
|
+
const pct = rawOffset.trim().endsWith('%');
|
|
437
|
+
const parsed = Number.parseFloat(rawOffset);
|
|
438
|
+
offset = Number.isFinite(parsed) ? (pct ? parsed / 100 : parsed) : 0;
|
|
439
|
+
}
|
|
440
|
+
const stopOpacity = nn(stopProp(child, 'stop-opacity', 'stopOpacity'), 1);
|
|
441
|
+
stops.push({
|
|
442
|
+
offset: Math.max(0, Math.min(1, offset)),
|
|
443
|
+
color,
|
|
444
|
+
alpha: stopOpacity * (0, pdf_primitives_1.parseColorAlpha)(colorValue),
|
|
445
|
+
});
|
|
446
|
+
}
|
|
447
|
+
// PDF stitching wants monotonic domains; SVG clamps out-of-order offsets the same way.
|
|
448
|
+
for (let i = 1; i < stops.length; i++)
|
|
449
|
+
stops[i].offset = Math.max(stops[i].offset, stops[i - 1].offset);
|
|
450
|
+
return stops;
|
|
451
|
+
}
|
|
452
|
+
/** Every def the painter can resolve by id, in one walk. */
|
|
453
|
+
function collectDefs(root) {
|
|
454
|
+
const defs = { gradients: new Map(), patterns: new Map(), clipPaths: new Map() };
|
|
455
|
+
const walk = (vnode) => {
|
|
456
|
+
var _a, _b, _c;
|
|
457
|
+
if (!vnode || typeof vnode !== 'object')
|
|
458
|
+
return;
|
|
459
|
+
const id = (_a = vnode.props) === null || _a === void 0 ? void 0 : _a['id'];
|
|
460
|
+
if ((vnode.type === 'linearGradient' || vnode.type === 'radialGradient') && typeof id === 'string') {
|
|
461
|
+
const props = (_b = vnode.props) !== null && _b !== void 0 ? _b : {};
|
|
462
|
+
const stops = parseStops(vnode);
|
|
463
|
+
if (stops.length > 0) {
|
|
464
|
+
defs.gradients.set(id, {
|
|
465
|
+
kind: vnode.type === 'linearGradient' ? 'linear' : 'radial',
|
|
466
|
+
objectBoundingBox: props['gradientUnits'] !== 'userSpaceOnUse',
|
|
467
|
+
coords: vnode.type === 'linearGradient'
|
|
468
|
+
? { x1: nn(props['x1'], 0), y1: nn(props['y1'], 0), x2: nn(props['x2'], 1), y2: nn(props['y2'], 0) }
|
|
469
|
+
: { cx: nn(props['cx'], 0.5), cy: nn(props['cy'], 0.5), r: nn(props['r'], 0.5) },
|
|
470
|
+
stops,
|
|
471
|
+
});
|
|
472
|
+
}
|
|
473
|
+
}
|
|
474
|
+
else if (vnode.type === 'pattern' && typeof id === 'string') {
|
|
475
|
+
defs.patterns.set(id, vnode);
|
|
476
|
+
}
|
|
477
|
+
else if (vnode.type === 'clipPath' && typeof id === 'string') {
|
|
478
|
+
defs.clipPaths.set(id, vnode);
|
|
479
|
+
}
|
|
480
|
+
for (const child of (_c = vnode.children) !== null && _c !== void 0 ? _c : [])
|
|
481
|
+
walk(child);
|
|
482
|
+
};
|
|
483
|
+
walk(root);
|
|
484
|
+
return defs;
|
|
485
|
+
}
|
|
486
|
+
// ---------------------------------------------------------------------------
|
|
487
|
+
// Document-level resources the painter accumulates while painting.
|
|
488
|
+
// ---------------------------------------------------------------------------
|
|
489
|
+
/** Shadings, deduped by their full dict (same gradient + same geometry = one resource). */
|
|
490
|
+
class ShadingRegistry {
|
|
491
|
+
constructor() {
|
|
492
|
+
this.byDict = new Map();
|
|
493
|
+
}
|
|
494
|
+
nameFor(dict) {
|
|
495
|
+
const existing = this.byDict.get(dict);
|
|
496
|
+
if (existing)
|
|
497
|
+
return existing;
|
|
498
|
+
const name = `Sh${this.byDict.size + 1}`;
|
|
499
|
+
this.byDict.set(dict, name);
|
|
500
|
+
return name;
|
|
501
|
+
}
|
|
502
|
+
entries() {
|
|
503
|
+
return [...this.byDict.entries()].map(([dict, name]) => [name, dict]);
|
|
504
|
+
}
|
|
505
|
+
get size() {
|
|
506
|
+
return this.byDict.size;
|
|
507
|
+
}
|
|
508
|
+
}
|
|
509
|
+
/**
|
|
510
|
+
* Luminosity soft masks — one per distinct (gray alpha-ramp shading, bbox) pair.
|
|
511
|
+
*
|
|
512
|
+
* Each entry becomes a Form XObject painting the alpha ramp as a DEVICEGRAY shading
|
|
513
|
+
* (stop alpha 1 → white, 0 → black) inside a /Transparency group, plus an ExtGState
|
|
514
|
+
* whose /SMask /Luminosity points at it. `gs` that state and every later paint is
|
|
515
|
+
* multiplied by the mask — which is exactly SVG's per-stop opacity.
|
|
516
|
+
*/
|
|
517
|
+
class SoftMaskRegistry {
|
|
518
|
+
constructor() {
|
|
519
|
+
this.byKey = new Map();
|
|
520
|
+
}
|
|
521
|
+
nameFor(shading, bbox) {
|
|
522
|
+
const key = `${bbox}|${shading}`;
|
|
523
|
+
const existing = this.byKey.get(key);
|
|
524
|
+
if (existing)
|
|
525
|
+
return existing.name;
|
|
526
|
+
const name = `GSM${this.byKey.size + 1}`;
|
|
527
|
+
this.byKey.set(key, { name, shading, bbox });
|
|
528
|
+
return name;
|
|
529
|
+
}
|
|
530
|
+
entries() {
|
|
531
|
+
return [...this.byKey.values()];
|
|
532
|
+
}
|
|
533
|
+
}
|
|
534
|
+
/** Images, deduped by href — one XObject however many times a data URL is drawn. */
|
|
535
|
+
class ImageRegistry {
|
|
536
|
+
constructor() {
|
|
537
|
+
/** null = decode failed (already warned) — remembered so one bad image warns once. */
|
|
538
|
+
this.byHref = new Map();
|
|
539
|
+
this.count = 0;
|
|
540
|
+
}
|
|
541
|
+
resolve(href, warn) {
|
|
542
|
+
const cached = this.byHref.get(href);
|
|
543
|
+
if (cached !== undefined)
|
|
544
|
+
return cached;
|
|
545
|
+
const image = (0, png_1.decodeDataUrlImage)(href, warn);
|
|
546
|
+
const entry = image ? { name: `Im${++this.count}`, image } : null;
|
|
547
|
+
this.byHref.set(href, entry);
|
|
548
|
+
return entry;
|
|
549
|
+
}
|
|
550
|
+
entries() {
|
|
551
|
+
return [...this.byHref.values()].filter((e) => e !== null);
|
|
552
|
+
}
|
|
553
|
+
}
|
|
554
|
+
/**
|
|
555
|
+
* Walk the tree, painting into the content stream.
|
|
556
|
+
*
|
|
557
|
+
* There is no parent-matrix parameter here on purpose: PDF's CTM is STATEFUL, and `q`/`Q`
|
|
558
|
+
* are a real stack. So a group's transform is pushed with `cm` and popped with `Q`, and
|
|
559
|
+
* the composition happens in the PDF itself — exactly as it does in SVG. Threading an
|
|
560
|
+
* accumulated matrix through as well would apply every transform twice.
|
|
561
|
+
*/
|
|
562
|
+
function paint(vnode, stream, ctx) {
|
|
563
|
+
var _a;
|
|
564
|
+
if (!vnode || typeof vnode !== 'object' || typeof vnode.type !== 'string')
|
|
565
|
+
return;
|
|
566
|
+
if (NON_PAINTING.has(vnode.type))
|
|
567
|
+
return;
|
|
568
|
+
// The CASCADE, resolved — see `resolved()`. Everything below reads from this map, never
|
|
569
|
+
// from the raw props, because in CSS mode the raw props carry no paint at all.
|
|
570
|
+
const style = resolved(vnode, ctx);
|
|
571
|
+
if (style['display'] === 'none')
|
|
572
|
+
return;
|
|
573
|
+
if (vnode.type === 'foreignObject') {
|
|
574
|
+
ctx.warnings.push('foreignObject cannot be represented in PDF (it is HTML, and PDF has no HTML) — omitted. ' +
|
|
575
|
+
'Nodes rendered as HTML components will be missing from the PDF.');
|
|
576
|
+
return;
|
|
577
|
+
}
|
|
578
|
+
// A blur is a filter, and PDF has no filters. Dropping the element beats drawing the
|
|
579
|
+
// node shadow as a hard black slab.
|
|
580
|
+
const filter = style['filter'];
|
|
581
|
+
if (typeof filter === 'string' && /blur\(|url\(#grafloria-blur/.test(filter)) {
|
|
582
|
+
ctx.warnings.push('blurred elements (the node drop shadow) are omitted — PDF has no gaussian blur');
|
|
583
|
+
return;
|
|
584
|
+
}
|
|
585
|
+
const local = (0, path_geometry_1.parseTransform)(style['transform']);
|
|
586
|
+
const hasTransform = !isIdentity(local);
|
|
587
|
+
// An element's clip path rides INSIDE its own transform: SVG applies the transform to
|
|
588
|
+
// element and clip alike (they move together), so the clip ops are emitted after `cm`.
|
|
589
|
+
const clip = resolveClip(style['clip-path'], ctx);
|
|
590
|
+
if (clip === 'hide')
|
|
591
|
+
return; // an EMPTY clipPath clips everything away — SVG semantics
|
|
592
|
+
const scoped = hasTransform || clip !== null;
|
|
593
|
+
if (scoped)
|
|
594
|
+
stream.save();
|
|
595
|
+
if (hasTransform)
|
|
596
|
+
stream.concat(local);
|
|
597
|
+
if (clip) {
|
|
598
|
+
for (const op of clip)
|
|
599
|
+
stream.push(op);
|
|
600
|
+
stream.push('W n');
|
|
601
|
+
}
|
|
602
|
+
drawElement(vnode, style, stream, ctx);
|
|
603
|
+
for (const child of (_a = vnode.children) !== null && _a !== void 0 ? _a : []) {
|
|
604
|
+
if (child && typeof child === 'object')
|
|
605
|
+
paint(child, stream, ctx);
|
|
606
|
+
}
|
|
607
|
+
if (scoped)
|
|
608
|
+
stream.restore();
|
|
609
|
+
}
|
|
610
|
+
/**
|
|
611
|
+
* `clip-path: url(#…)` → the clip's PDF path ops, or null for "paint unclipped", or
|
|
612
|
+
* 'hide' when the clip resolves to nothing (SVG: an empty clip path renders nothing).
|
|
613
|
+
*
|
|
614
|
+
* Multiple clip shapes concatenate into ONE path before a single `W n` — nonzero winding
|
|
615
|
+
* over same-direction subpaths is their union, which is SVG's multi-child semantics.
|
|
616
|
+
* Every refusal (missing def, objectBoundingBox units) WARNS and paints unclipped:
|
|
617
|
+
* bleeding content is a visible flaw, silently vanished content is a lost diagram.
|
|
618
|
+
*/
|
|
619
|
+
function resolveClip(value, ctx) {
|
|
620
|
+
var _a, _b, _c;
|
|
621
|
+
if (typeof value !== 'string')
|
|
622
|
+
return null;
|
|
623
|
+
const ref = /^url\(#([^)]+)\)$/.exec(value.trim());
|
|
624
|
+
if (!ref)
|
|
625
|
+
return value.trim() === 'none' ? null : null;
|
|
626
|
+
const def = ctx.defs.clipPaths.get(ref[1]);
|
|
627
|
+
if (!def) {
|
|
628
|
+
ctx.warnings.push(`a clip-path references "#${ref[1]}", which is not in the tree — the content is painted UNCLIPPED`);
|
|
629
|
+
return null;
|
|
630
|
+
}
|
|
631
|
+
if (((_a = def.props) === null || _a === void 0 ? void 0 : _a['clipPathUnits']) === 'objectBoundingBox') {
|
|
632
|
+
ctx.warnings.push('a clipPath with clipPathUnits="objectBoundingBox" is not supported — the content is painted UNCLIPPED');
|
|
633
|
+
return null;
|
|
634
|
+
}
|
|
635
|
+
const ops = [];
|
|
636
|
+
for (const child of (_b = def.children) !== null && _b !== void 0 ? _b : []) {
|
|
637
|
+
if (!child || typeof child !== 'object')
|
|
638
|
+
continue;
|
|
639
|
+
const childOps = geometryOps(child, resolved(child, ctx));
|
|
640
|
+
if (childOps)
|
|
641
|
+
ops.push(...childOps);
|
|
642
|
+
if ((_c = child.props) === null || _c === void 0 ? void 0 : _c['transform']) {
|
|
643
|
+
ctx.warnings.push('a transform on a clipPath child is ignored — the untransformed shape clips');
|
|
644
|
+
}
|
|
645
|
+
}
|
|
646
|
+
return ops.length > 0 ? ops : 'hide';
|
|
647
|
+
}
|
|
648
|
+
function isIdentity(m) {
|
|
649
|
+
return m.a === 1 && m.b === 0 && m.c === 0 && m.d === 1 && m.e === 0 && m.f === 0;
|
|
650
|
+
}
|
|
651
|
+
/** A `url(#…)` reference's target id, or null. */
|
|
652
|
+
function urlRefId(value) {
|
|
653
|
+
if (typeof value !== 'string')
|
|
654
|
+
return null;
|
|
655
|
+
const ref = /^url\(#([^)]+)\)$/.exec(value.trim());
|
|
656
|
+
return ref ? ref[1] : null;
|
|
657
|
+
}
|
|
658
|
+
/**
|
|
659
|
+
* Resolve a paint value to a FLAT colour, degrading paint servers with a warning.
|
|
660
|
+
*
|
|
661
|
+
* This is the fallback path only: gradient FILLS on shapes render as real shadings and
|
|
662
|
+
* never come through here. What does: gradient strokes, gradient-filled text, and
|
|
663
|
+
* patterns — each flattened to its most honest stand-in colour, each warned with the
|
|
664
|
+
* caller's own reason (`why`), so the fidelity report says exactly what degraded.
|
|
665
|
+
*/
|
|
666
|
+
function flattenedPaint(value, ctx, why) {
|
|
667
|
+
var _a, _b;
|
|
668
|
+
const id = urlRefId(value);
|
|
669
|
+
if (id === null)
|
|
670
|
+
return (0, pdf_primitives_1.parsePdfColor)(value);
|
|
671
|
+
const gradient = ctx.defs.gradients.get(id);
|
|
672
|
+
if (gradient) {
|
|
673
|
+
ctx.warnings.push(why);
|
|
674
|
+
return gradient.stops[0].color;
|
|
675
|
+
}
|
|
676
|
+
const pattern = ctx.defs.patterns.get(id);
|
|
677
|
+
if (pattern) {
|
|
678
|
+
// The most honest stand-in for a pattern is the field its marks sit on — its
|
|
679
|
+
// background rect's fill, when it has one.
|
|
680
|
+
ctx.warnings.push('a pattern paint was flattened to its background colour — PDF tiling patterns are not implemented');
|
|
681
|
+
for (const child of (_a = pattern.children) !== null && _a !== void 0 ? _a : []) {
|
|
682
|
+
const color = (0, pdf_primitives_1.parsePdfColor)((_b = child === null || child === void 0 ? void 0 : child.props) === null || _b === void 0 ? void 0 : _b['fill']);
|
|
683
|
+
if ((child === null || child === void 0 ? void 0 : child.type) === 'rect' && color)
|
|
684
|
+
return color;
|
|
685
|
+
}
|
|
686
|
+
return null;
|
|
687
|
+
}
|
|
688
|
+
ctx.warnings.push(`a paint references "url(#${id})", which is not in the tree — not painted`);
|
|
689
|
+
return null;
|
|
690
|
+
}
|
|
691
|
+
const COLOR_CHANNELS = s => [s.color.r, s.color.g, s.color.b];
|
|
692
|
+
/** Stop alpha as DeviceGray luminosity: 1 → white (keep), 0 → black (mask away). */
|
|
693
|
+
const ALPHA_CHANNELS = s => [s.alpha];
|
|
694
|
+
/** Type 2 (exponential) function between two stops — PDF's native two-value ramp. */
|
|
695
|
+
function rampFunction(from, to, channels) {
|
|
696
|
+
const c = (s) => `[${channels(s).map(pdf_primitives_1.num).join(' ')}]`;
|
|
697
|
+
return `<< /FunctionType 2 /Domain [0 1] /C0 ${c(from)} /C1 ${c(to)} /N 1 >>`;
|
|
698
|
+
}
|
|
699
|
+
/** 2 stops → one Type 2; more → a Type 3 stitching of Type 2 ramps at the stop offsets. */
|
|
700
|
+
function shadingFunction(stops, channels) {
|
|
701
|
+
// Pad the domain: SVG pads before the first and after the last stop with their colours.
|
|
702
|
+
const padded = [...stops];
|
|
703
|
+
if (padded[0].offset > 0)
|
|
704
|
+
padded.unshift(Object.assign(Object.assign({}, padded[0]), { offset: 0 }));
|
|
705
|
+
if (padded[padded.length - 1].offset < 1)
|
|
706
|
+
padded.push(Object.assign(Object.assign({}, padded[padded.length - 1]), { offset: 1 }));
|
|
707
|
+
if (padded.length === 1)
|
|
708
|
+
padded.push(Object.assign(Object.assign({}, padded[0]), { offset: 1 }));
|
|
709
|
+
if (padded.length === 2)
|
|
710
|
+
return rampFunction(padded[0], padded[1], channels);
|
|
711
|
+
// /Bounds must ascend strictly inside (0,1) — two stops at one offset (a hard colour
|
|
712
|
+
// break) become an epsilon-wide ramp, which is what it looks like at any zoom.
|
|
713
|
+
const bounds = [];
|
|
714
|
+
let previous = 0;
|
|
715
|
+
for (let i = 1; i < padded.length - 1; i++) {
|
|
716
|
+
const bound = Math.min(Math.max(padded[i].offset, previous + 0.0001), 0.9999);
|
|
717
|
+
bounds.push(bound);
|
|
718
|
+
previous = bound;
|
|
719
|
+
}
|
|
720
|
+
const functions = [];
|
|
721
|
+
for (let i = 0; i < padded.length - 1; i++)
|
|
722
|
+
functions.push(rampFunction(padded[i], padded[i + 1], channels));
|
|
723
|
+
return (`<< /FunctionType 3 /Domain [0 1] /Functions [${functions.join(' ')}] ` +
|
|
724
|
+
`/Bounds [${bounds.map(pdf_primitives_1.num).join(' ')}] /Encode [${functions.map(() => '0 1').join(' ')}] >>`);
|
|
725
|
+
}
|
|
726
|
+
/**
|
|
727
|
+
* The shading dicts for a gradient as used by ONE element (objectBoundingBox coords
|
|
728
|
+
* depend on the element's box), or null when the box cannot be determined.
|
|
729
|
+
*/
|
|
730
|
+
function shadingDictFor(gradient, vnode, ctx) {
|
|
731
|
+
let geometry;
|
|
732
|
+
if (gradient.kind === 'linear') {
|
|
733
|
+
let { x1, y1, x2, y2 } = gradient.coords;
|
|
734
|
+
if (gradient.objectBoundingBox) {
|
|
735
|
+
const box = (0, bounds_1.vnodeBounds)(vnode);
|
|
736
|
+
if (!box)
|
|
737
|
+
return null;
|
|
738
|
+
x1 = box.x + x1 * box.width;
|
|
739
|
+
y1 = box.y + y1 * box.height;
|
|
740
|
+
x2 = box.x + x2 * box.width;
|
|
741
|
+
y2 = box.y + y2 * box.height;
|
|
742
|
+
}
|
|
743
|
+
geometry = `/ShadingType 2 /ColorSpace {CS} /Coords [${(0, pdf_primitives_1.num)(x1)} ${(0, pdf_primitives_1.num)(y1)} ${(0, pdf_primitives_1.num)(x2)} ${(0, pdf_primitives_1.num)(y2)}]`;
|
|
744
|
+
}
|
|
745
|
+
else {
|
|
746
|
+
let { cx, cy, r } = gradient.coords;
|
|
747
|
+
if (gradient.objectBoundingBox) {
|
|
748
|
+
const box = (0, bounds_1.vnodeBounds)(vnode);
|
|
749
|
+
if (!box)
|
|
750
|
+
return null;
|
|
751
|
+
cx = box.x + cx * box.width;
|
|
752
|
+
cy = box.y + cy * box.height;
|
|
753
|
+
// SVG's oBB radius against a non-square box is an ellipse (via gradientTransform);
|
|
754
|
+
// the normalised diagonal is the spec's own circle-equivalent and the honest circle.
|
|
755
|
+
r = r * (Math.hypot(box.width, box.height) / Math.SQRT2);
|
|
756
|
+
}
|
|
757
|
+
// PDF radial coords are [x0 y0 r0 x1 y1 r1]: inner circle (SVG's focal, radius 0) to
|
|
758
|
+
// the outer circle. The capture emits no focal point, so it sits at the centre.
|
|
759
|
+
geometry = `/ShadingType 3 /ColorSpace {CS} /Coords [${(0, pdf_primitives_1.num)(cx)} ${(0, pdf_primitives_1.num)(cy)} 0 ${(0, pdf_primitives_1.num)(cx)} ${(0, pdf_primitives_1.num)(cy)} ${(0, pdf_primitives_1.num)(r)}]`;
|
|
760
|
+
}
|
|
761
|
+
// /Extend [true true] = SVG's default spreadMethod="pad": both ends run on.
|
|
762
|
+
const dict = (cs, channels) => `<< ${geometry.replace('{CS}', cs)} /Function ${shadingFunction(gradient.stops, channels)} /Extend [true true] >>`;
|
|
763
|
+
const color = dict('/DeviceRGB', COLOR_CHANNELS);
|
|
764
|
+
// Translucent stops → a luminosity soft mask painting the SAME geometry as a gray
|
|
765
|
+
// alpha ramp. The mask form's /BBox must cover everything the colour shading can
|
|
766
|
+
// reach (the element, since the sh is clipped to it) — outside the BBox the mask's
|
|
767
|
+
// BLACK backdrop rules, i.e. alpha 0, so an under-sized box eats the element's edge.
|
|
768
|
+
if (gradient.stops.some(stop => stop.alpha < 1)) {
|
|
769
|
+
const box = (0, bounds_1.vnodeBounds)(vnode);
|
|
770
|
+
if (!box) {
|
|
771
|
+
ctx.warnings.push('a gradient with stop opacity is painted OPAQUE — its soft-mask form needs an element ' +
|
|
772
|
+
'bounding box that could not be determined');
|
|
773
|
+
return { color, mask: null };
|
|
774
|
+
}
|
|
775
|
+
const pad = 8; // anti-aliasing head-room; the shape clip bounds the real paint anyway
|
|
776
|
+
const bbox = `${(0, pdf_primitives_1.num)(box.x - pad)} ${(0, pdf_primitives_1.num)(box.y - pad)} ` +
|
|
777
|
+
`${(0, pdf_primitives_1.num)(box.x + box.width + pad)} ${(0, pdf_primitives_1.num)(box.y + box.height + pad)}`;
|
|
778
|
+
return { color, mask: { shading: dict('/DeviceGray', ALPHA_CHANNELS), bbox } };
|
|
779
|
+
}
|
|
780
|
+
return { color, mask: null };
|
|
781
|
+
}
|
|
782
|
+
function drawElement(vnode, style, stream, ctx) {
|
|
783
|
+
if (vnode.type === 'text') {
|
|
784
|
+
drawText(vnode, style, stream, ctx);
|
|
785
|
+
return;
|
|
786
|
+
}
|
|
787
|
+
if (vnode.type === 'image') {
|
|
788
|
+
drawImage(style, stream, ctx);
|
|
789
|
+
return;
|
|
790
|
+
}
|
|
791
|
+
const ops = geometryOps(vnode, style);
|
|
792
|
+
if (!ops || ops.length === 0)
|
|
793
|
+
return;
|
|
794
|
+
// A gradient FILL gets a real shading; everything else resolves to a flat colour.
|
|
795
|
+
const fillId = urlRefId(style['fill']);
|
|
796
|
+
const gradient = fillId ? ctx.defs.gradients.get(fillId) : undefined;
|
|
797
|
+
let shadingName = null;
|
|
798
|
+
let softMaskName = null;
|
|
799
|
+
let fill = null;
|
|
800
|
+
if (gradient) {
|
|
801
|
+
const shading = shadingDictFor(gradient, vnode, ctx);
|
|
802
|
+
if (shading) {
|
|
803
|
+
shadingName = ctx.shadings.nameFor(shading.color);
|
|
804
|
+
if (shading.mask)
|
|
805
|
+
softMaskName = ctx.softMasks.nameFor(shading.mask.shading, shading.mask.bbox);
|
|
806
|
+
}
|
|
807
|
+
else {
|
|
808
|
+
ctx.warnings.push('a gradient fill was flattened to its first stop — its objectBoundingBox coords need an ' +
|
|
809
|
+
'element bounding box that could not be determined');
|
|
810
|
+
fill = gradient.stops[0].color;
|
|
811
|
+
}
|
|
812
|
+
}
|
|
813
|
+
else {
|
|
814
|
+
// The gradient branch above is the only gradient path, so the `why` here can only
|
|
815
|
+
// ever fire for patterns / dangling refs, which carry their own messages.
|
|
816
|
+
fill = flattenedPaint(style['fill'], ctx, 'a gradient fill was flattened to its first stop');
|
|
817
|
+
}
|
|
818
|
+
const stroke = flattenedPaint(style['stroke'], ctx, 'a gradient STROKE was flattened to its first stop — painting a shading through a stroke ' +
|
|
819
|
+
'needs the stroke outline as a clipping path, which this exporter does not build');
|
|
820
|
+
// `1px` is a legal CSS width and `Number('1px')` is NaN — parseFloat, not Number.
|
|
821
|
+
const strokeWidth = len(style['stroke-width'], 1);
|
|
822
|
+
const willFill = fill !== null;
|
|
823
|
+
const willStroke = stroke !== null && strokeWidth > 0;
|
|
824
|
+
if (!shadingName && !willFill && !willStroke)
|
|
825
|
+
return;
|
|
826
|
+
const alpha = nn(style['opacity'], 1) *
|
|
827
|
+
nn(style['fill-opacity'], 1) *
|
|
828
|
+
(fill ? (0, pdf_primitives_1.parseColorAlpha)(style['fill']) : 1);
|
|
829
|
+
if (shadingName) {
|
|
830
|
+
// Clip to the shape, paint the shading, pop. The clip is why W n precedes sh.
|
|
831
|
+
// The soft-mask gs (stop opacity) comes FIRST: the mask form's coordinate space is
|
|
832
|
+
// fixed at gs time, and it must be the same current user space the sh paints in.
|
|
833
|
+
// The matching Q resets the SMask — nothing after this block stays masked.
|
|
834
|
+
stream.save();
|
|
835
|
+
if (softMaskName)
|
|
836
|
+
stream.push(`/${softMaskName} gs`);
|
|
837
|
+
if (alpha < 1)
|
|
838
|
+
stream.setAlpha(Math.max(0, alpha));
|
|
839
|
+
for (const op of ops)
|
|
840
|
+
stream.push(op);
|
|
841
|
+
stream.push('W n');
|
|
842
|
+
stream.push(`/${shadingName} sh`);
|
|
843
|
+
stream.restore();
|
|
844
|
+
if (willStroke) {
|
|
845
|
+
// Second pass: the shading consumed the path as its clip, so stroke a fresh one.
|
|
846
|
+
const strokeAlpha = nn(style['opacity'], 1);
|
|
847
|
+
stream.save();
|
|
848
|
+
if (strokeAlpha < 1)
|
|
849
|
+
stream.setAlpha(Math.max(0, strokeAlpha));
|
|
850
|
+
stream.setStroke(stroke);
|
|
851
|
+
stream.setLineWidth(strokeWidth);
|
|
852
|
+
stream.setDash(normaliseDash(style['stroke-dasharray']));
|
|
853
|
+
for (const op of ops)
|
|
854
|
+
stream.push(op);
|
|
855
|
+
stream.push('S');
|
|
856
|
+
stream.restore();
|
|
857
|
+
}
|
|
858
|
+
return;
|
|
859
|
+
}
|
|
860
|
+
stream.save();
|
|
861
|
+
if (alpha < 1)
|
|
862
|
+
stream.setAlpha(Math.max(0, alpha));
|
|
863
|
+
if (fill)
|
|
864
|
+
stream.setFill(fill);
|
|
865
|
+
if (stroke && willStroke) {
|
|
866
|
+
stream.setStroke(stroke);
|
|
867
|
+
stream.setLineWidth(strokeWidth);
|
|
868
|
+
stream.setDash(normaliseDash(style['stroke-dasharray']));
|
|
869
|
+
}
|
|
870
|
+
for (const op of ops)
|
|
871
|
+
stream.push(op);
|
|
872
|
+
// B = fill then stroke; f = fill; S = stroke.
|
|
873
|
+
stream.push(willFill && willStroke ? 'B' : willFill ? 'f' : 'S');
|
|
874
|
+
stream.restore();
|
|
875
|
+
}
|
|
876
|
+
/**
|
|
877
|
+
* An <image> → its XObject invocation: `q`, a placement `cm`, `Do`, `Q`.
|
|
878
|
+
*
|
|
879
|
+
* The placement matrix is [w 0 0 -h x y+h]: Do paints the unit square with (0,0) at the
|
|
880
|
+
* image's BOTTOM-left, while the page CTM is y-down SVG space — the -h re-flips so the
|
|
881
|
+
* top pixel row lands at y, not upside down at y+h.
|
|
882
|
+
*/
|
|
883
|
+
function drawImage(style, stream, ctx) {
|
|
884
|
+
var _a;
|
|
885
|
+
const href = (_a = style['href']) !== null && _a !== void 0 ? _a : style['xlink:href'];
|
|
886
|
+
if (typeof href !== 'string' || href.trim() === '')
|
|
887
|
+
return;
|
|
888
|
+
const entry = ctx.images.resolve(href, message => ctx.warnings.push(message));
|
|
889
|
+
if (!entry)
|
|
890
|
+
return; // refused and already warned (external URL, interlaced, corrupt…)
|
|
891
|
+
const width = len(style['width'], entry.image.width);
|
|
892
|
+
const height = len(style['height'], entry.image.height);
|
|
893
|
+
if (width <= 0 || height <= 0)
|
|
894
|
+
return;
|
|
895
|
+
const alpha = nn(style['opacity'], 1);
|
|
896
|
+
stream.save();
|
|
897
|
+
if (alpha < 1)
|
|
898
|
+
stream.setAlpha(Math.max(0, alpha));
|
|
899
|
+
stream.concat({ a: width, b: 0, c: 0, d: -height, e: len(style['x']), f: len(style['y']) + height });
|
|
900
|
+
stream.push(`/${entry.name} Do`);
|
|
901
|
+
stream.restore();
|
|
902
|
+
}
|
|
903
|
+
/**
|
|
904
|
+
* A CSS length → number. `parseFloat`, because the flattener emits real CSS values and
|
|
905
|
+
* `stroke-width: 1px` is one of them — `Number('1px')` is NaN, which would silently turn
|
|
906
|
+
* every themed stroke into width 0 (i.e. invisible links).
|
|
907
|
+
*/
|
|
908
|
+
function len(value, fallback = 0) {
|
|
909
|
+
if (typeof value === 'number')
|
|
910
|
+
return Number.isFinite(value) ? value : fallback;
|
|
911
|
+
if (typeof value !== 'string')
|
|
912
|
+
return fallback;
|
|
913
|
+
const parsed = Number.parseFloat(value);
|
|
914
|
+
return Number.isFinite(parsed) ? parsed : fallback;
|
|
915
|
+
}
|
|
916
|
+
/** `"5,5"` / `"5 5"` → `"5 5"` (PDF wants a space-separated array). */
|
|
917
|
+
function normaliseDash(value) {
|
|
918
|
+
if (typeof value !== 'string' || value.trim() === '' || value.trim() === 'none')
|
|
919
|
+
return null;
|
|
920
|
+
const parts = value
|
|
921
|
+
.split(/[\s,]+/)
|
|
922
|
+
.map(Number)
|
|
923
|
+
.filter(n => Number.isFinite(n) && n >= 0);
|
|
924
|
+
return parts.length ? parts.map(pdf_primitives_1.num).join(' ') : null;
|
|
925
|
+
}
|
|
926
|
+
function geometryOps(vnode, style) {
|
|
927
|
+
switch (vnode.type) {
|
|
928
|
+
case 'rect':
|
|
929
|
+
return (0, pdf_path_1.pdfRect)(len(style['x']), len(style['y']), len(style['width']), len(style['height']), len(style['rx']), len(style['ry']));
|
|
930
|
+
case 'circle': {
|
|
931
|
+
const r = len(style['r']);
|
|
932
|
+
return r > 0 ? (0, pdf_path_1.pdfCircle)(len(style['cx']), len(style['cy']), r) : null;
|
|
933
|
+
}
|
|
934
|
+
case 'ellipse':
|
|
935
|
+
return (0, pdf_path_1.pdfEllipse)(len(style['cx']), len(style['cy']), len(style['rx']), len(style['ry']));
|
|
936
|
+
case 'line':
|
|
937
|
+
return (0, pdf_path_1.pdfLine)(len(style['x1']), len(style['y1']), len(style['x2']), len(style['y2']));
|
|
938
|
+
case 'polygon':
|
|
939
|
+
case 'polyline':
|
|
940
|
+
return (0, pdf_path_1.pdfPoly)(style['points'], vnode.type === 'polygon');
|
|
941
|
+
case 'path': {
|
|
942
|
+
const d = style['d'];
|
|
943
|
+
return typeof d === 'string' && d.trim() !== '' ? (0, pdf_path_1.svgPathToPdf)(d) : null;
|
|
944
|
+
}
|
|
945
|
+
default:
|
|
946
|
+
return null; // g, svg, tspan: containers, no geometry of their own
|
|
947
|
+
}
|
|
948
|
+
}
|
|
949
|
+
function parsePoints(points) {
|
|
950
|
+
if (typeof points !== 'string')
|
|
951
|
+
return [];
|
|
952
|
+
const nums = points.trim().split(/[\s,]+/).map(Number).filter(n => Number.isFinite(n));
|
|
953
|
+
const out = [];
|
|
954
|
+
for (let i = 0; i + 1 < nums.length; i += 2)
|
|
955
|
+
out.push([nums[i], nums[i + 1]]);
|
|
956
|
+
return out;
|
|
957
|
+
}
|
|
958
|
+
/**
|
|
959
|
+
* Real PDF text: `BT … Tj … ET`. Selectable, searchable, copy-pasteable.
|
|
960
|
+
*
|
|
961
|
+
* The one fiddly bit is the TEXT MATRIX. The page CTM flips y (PDF is y-up, SVG is
|
|
962
|
+
* y-down), and text drawn under that flip would come out MIRRORED. So the text matrix
|
|
963
|
+
* un-flips locally — `1 0 0 -1 x y` — which puts the glyphs upright at the right place.
|
|
964
|
+
*/
|
|
965
|
+
function drawText(vnode, style, stream, ctx) {
|
|
966
|
+
var _a, _b, _c;
|
|
967
|
+
const content = textContentOf(vnode);
|
|
968
|
+
if (!content.trim())
|
|
969
|
+
return;
|
|
970
|
+
// `font-size: 14px` — parseFloat, not Number (see `len`).
|
|
971
|
+
const fontSize = len(style['font-size'], 12);
|
|
972
|
+
if (fontSize <= 0)
|
|
973
|
+
return;
|
|
974
|
+
const font = (0, pdf_primitives_1.pickBaseFont)(style['font-family'], style['font-weight'], style['font-style']);
|
|
975
|
+
const fillValue = (_a = style['fill']) !== null && _a !== void 0 ? _a : style['color'];
|
|
976
|
+
const anchor = String((_b = style['text-anchor']) !== null && _b !== void 0 ? _b : 'start');
|
|
977
|
+
const x = len(style['x']);
|
|
978
|
+
const y = len(style['y']);
|
|
979
|
+
const lines = content.split('\n');
|
|
980
|
+
const opacity = nn(style['opacity'], 1) * nn(style['fill-opacity'], 1);
|
|
981
|
+
// A gradient-filled text gets the REAL gradient: text rendering mode 7 adds the glyph
|
|
982
|
+
// outlines to the CLIP path at ET, and the shading is then painted through them —
|
|
983
|
+
// the same clipped-sh technique shapes use, with glyphs for geometry.
|
|
984
|
+
const gradientId = urlRefId(fillValue);
|
|
985
|
+
const gradient = gradientId ? ctx.defs.gradients.get(gradientId) : undefined;
|
|
986
|
+
const shading = gradient ? shadingDictFor(gradient, vnode, ctx) : null;
|
|
987
|
+
const emitLine = (line, index) => {
|
|
988
|
+
const encoded = (0, pdf_primitives_1.encodeWinAnsi)(line);
|
|
989
|
+
if (encoded.unsupported.length > 0) {
|
|
990
|
+
ctx.warnings.push(`text "${line}" contains characters the PDF base-14 fonts cannot encode ` +
|
|
991
|
+
`(${[...new Set(encoded.unsupported)].join('')}) — they are replaced with '?'. ` +
|
|
992
|
+
`Embedding a font that covers them would need a font subsetter, which this exporter does not have.`);
|
|
993
|
+
}
|
|
994
|
+
const width = (0, pdf_primitives_1.measureBaseFont)(font, line, fontSize);
|
|
995
|
+
const left = anchor === 'middle' ? x - width / 2 : anchor === 'end' ? x - width : x;
|
|
996
|
+
const lineY = y + index * fontSize;
|
|
997
|
+
// Un-flip: the page CTM has d = -scale, so without this the glyphs render upside down.
|
|
998
|
+
stream.push(`1 0 0 -1 ${(0, pdf_primitives_1.num)(left)} ${(0, pdf_primitives_1.num)(lineY)} Tm`);
|
|
999
|
+
stream.push(`${(0, pdf_primitives_1.pdfString)(encoded.bytes)} Tj`);
|
|
1000
|
+
};
|
|
1001
|
+
if (shading) {
|
|
1002
|
+
const shadingName = ctx.shadings.nameFor(shading.color);
|
|
1003
|
+
const softMaskName = shading.mask
|
|
1004
|
+
? ctx.softMasks.nameFor(shading.mask.shading, shading.mask.bbox)
|
|
1005
|
+
: null;
|
|
1006
|
+
stream.save();
|
|
1007
|
+
// Mask gs first — its coordinate space is fixed at gs time (see drawElement).
|
|
1008
|
+
if (softMaskName)
|
|
1009
|
+
stream.push(`/${softMaskName} gs`);
|
|
1010
|
+
if (opacity < 1)
|
|
1011
|
+
stream.setAlpha(Math.max(0, opacity));
|
|
1012
|
+
stream.setFont(font, fontSize);
|
|
1013
|
+
// ONE BT/ET for every line: each ET intersects the block's accumulated outlines with
|
|
1014
|
+
// the current clip, so per-line blocks would intersect line 1's clip with line 2's —
|
|
1015
|
+
// empty — and the gradient would paint nothing.
|
|
1016
|
+
stream.push('BT');
|
|
1017
|
+
stream.push('7 Tr'); // mode 7: add to clip, paint nothing
|
|
1018
|
+
lines.forEach(emitLine);
|
|
1019
|
+
stream.push('ET');
|
|
1020
|
+
stream.push(`/${shadingName} sh`);
|
|
1021
|
+
// Q restores both the clip and text mode 0 for whatever paints next.
|
|
1022
|
+
stream.restore();
|
|
1023
|
+
return;
|
|
1024
|
+
}
|
|
1025
|
+
// Reached with a gradient only when shadingDictFor failed (no bounding box for its
|
|
1026
|
+
// objectBoundingBox coords) — the honest degrade is first stop, said out loud.
|
|
1027
|
+
const fill = (_c = flattenedPaint(fillValue, ctx, 'a gradient fill on text was flattened to its first stop — its objectBoundingBox coords ' +
|
|
1028
|
+
'need an element bounding box that could not be determined')) !== null && _c !== void 0 ? _c : { r: 0, g: 0, b: 0 };
|
|
1029
|
+
stream.save();
|
|
1030
|
+
if (opacity < 1)
|
|
1031
|
+
stream.setAlpha(Math.max(0, opacity));
|
|
1032
|
+
stream.setFill(fill);
|
|
1033
|
+
stream.setFont(font, fontSize);
|
|
1034
|
+
lines.forEach((line, index) => {
|
|
1035
|
+
stream.push('BT');
|
|
1036
|
+
emitLine(line, index);
|
|
1037
|
+
stream.push('ET');
|
|
1038
|
+
});
|
|
1039
|
+
stream.restore();
|
|
1040
|
+
}
|
|
1041
|
+
function textContentOf(vnode) {
|
|
1042
|
+
var _a, _b;
|
|
1043
|
+
const own = (_a = vnode.props) === null || _a === void 0 ? void 0 : _a['textContent'];
|
|
1044
|
+
if (typeof own === 'string' && own !== '')
|
|
1045
|
+
return own;
|
|
1046
|
+
const lines = [];
|
|
1047
|
+
for (const child of (_b = vnode.children) !== null && _b !== void 0 ? _b : []) {
|
|
1048
|
+
if (typeof child === 'string') {
|
|
1049
|
+
lines.push(child);
|
|
1050
|
+
}
|
|
1051
|
+
else if (child && typeof child === 'object') {
|
|
1052
|
+
const nested = textContentOf(child);
|
|
1053
|
+
if (nested)
|
|
1054
|
+
lines.push(nested);
|
|
1055
|
+
}
|
|
1056
|
+
}
|
|
1057
|
+
return lines.join('\n');
|
|
1058
|
+
}
|
|
1059
|
+
/** "3 / 7", centred in the bottom margin. Drawn OUTSIDE the clipped content area. */
|
|
1060
|
+
function paintPageNumber(stream, page, total, size, margins) {
|
|
1061
|
+
const label = `${page} / ${total}`;
|
|
1062
|
+
const fontSize = 9;
|
|
1063
|
+
const width = (0, pdf_primitives_1.measureBaseFont)('Helvetica', label, fontSize);
|
|
1064
|
+
stream.save();
|
|
1065
|
+
stream.setFill({ r: 0.4, g: 0.4, b: 0.4 });
|
|
1066
|
+
stream.setFont('Helvetica', fontSize);
|
|
1067
|
+
stream.push('BT');
|
|
1068
|
+
stream.push(`${(0, pdf_primitives_1.num)((size.width - width) / 2)} ${(0, pdf_primitives_1.num)(Math.max(12, margins.bottom / 2))} Td`);
|
|
1069
|
+
stream.push(`${(0, pdf_primitives_1.pdfString)((0, pdf_primitives_1.encodeWinAnsi)(label).bytes)} Tj`);
|
|
1070
|
+
stream.push('ET');
|
|
1071
|
+
stream.restore();
|
|
1072
|
+
}
|
|
1073
|
+
function dedupe(warnings) {
|
|
1074
|
+
return [...new Set(warnings)];
|
|
1075
|
+
}
|
|
1076
|
+
//# sourceMappingURL=pdf-export.js.map
|