@foblex/flow 17.9.81 → 18.1.0
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/LICENSE +1 -1
- package/domain/css-cls.d.ts +0 -3
- package/domain/f-background/add-pattern-to-background/add-pattern-to-background.d.ts +1 -1
- package/domain/f-background/add-pattern-to-background/index.d.ts +1 -1
- package/domain/f-background/index.d.ts +0 -2
- package/domain/f-background/providers.d.ts +2 -4
- package/domain/f-background/set-background-transform/index.d.ts +1 -1
- package/domain/f-background/set-background-transform/set-background-transform.d.ts +12 -0
- package/domain/f-canvas/center-group-or-node/center-group-or-node.execution.d.ts +5 -6
- package/domain/f-canvas/fit-to-flow/fit-to-flow.execution.d.ts +2 -2
- package/domain/f-canvas/remove-canvas-from-store/remove-canvas-from-store.execution.d.ts +1 -1
- package/domain/f-connection/add-connection-for-create-to-store/add-connection-for-create-to-store-request.d.ts +3 -3
- package/domain/f-connection/add-connection-for-create-to-store/add-connection-for-create-to-store.d.ts +12 -0
- package/domain/f-connection/add-connection-for-create-to-store/index.d.ts +1 -1
- package/domain/f-connection/add-connection-marker-to-store/add-connection-marker-to-store-request.d.ts +3 -3
- package/domain/f-connection/add-connection-marker-to-store/add-connection-marker-to-store.d.ts +12 -0
- package/domain/f-connection/add-connection-marker-to-store/index.d.ts +1 -1
- package/domain/f-connection/add-connection-to-store/add-connection-to-store-request.d.ts +3 -3
- package/domain/f-connection/add-connection-to-store/add-connection-to-store.d.ts +12 -0
- package/domain/f-connection/add-connection-to-store/index.d.ts +1 -1
- package/domain/f-connection/add-snap-connection-to-store/add-snap-connection-to-store-request.d.ts +3 -3
- package/domain/f-connection/add-snap-connection-to-store/add-snap-connection-to-store.d.ts +12 -0
- package/domain/f-connection/add-snap-connection-to-store/index.d.ts +1 -1
- package/domain/f-connection/create-connection-markers/create-connection-markers-request.d.ts +3 -3
- package/domain/f-connection/create-connection-markers/create-connection-markers.d.ts +16 -0
- package/domain/f-connection/create-connection-markers/index.d.ts +1 -1
- package/domain/f-connection/index.d.ts +1 -1
- package/domain/f-connection/providers.d.ts +11 -11
- package/domain/f-connection/redraw-connections/redraw-connections.d.ts +4 -4
- package/domain/f-connection/remove-connection-for-create-from-store/index.d.ts +1 -1
- package/domain/f-connection/remove-connection-for-create-from-store/remove-connection-for-create-from-store.d.ts +12 -0
- package/domain/f-connection/remove-connection-from-store/index.d.ts +1 -1
- package/domain/f-connection/remove-connection-from-store/remove-connection-from-store-request.d.ts +3 -3
- package/domain/f-connection/remove-connection-from-store/remove-connection-from-store.d.ts +9 -0
- package/domain/f-connection/remove-connection-marker-from-store/index.d.ts +1 -1
- package/domain/f-connection/remove-connection-marker-from-store/remove-connection-marker-from-store-request.d.ts +3 -3
- package/domain/f-connection/remove-connection-marker-from-store/remove-connection-marker-from-store.d.ts +12 -0
- package/domain/f-connection/remove-connection-waypoint/index.d.ts +2 -0
- package/domain/f-connection/remove-connection-waypoint/remove-connection-waypoint-request.d.ts +6 -0
- package/domain/f-connection/remove-connection-waypoint/remove-connection-waypoint.d.ts +10 -0
- package/domain/f-connection/remove-snap-connection-from-store/index.d.ts +1 -1
- package/domain/f-connection/remove-snap-connection-from-store/remove-snap-connection-from-store.d.ts +12 -0
- package/domain/f-connectors/add-connector-to-store/add-connector-to-store-request.d.ts +6 -0
- package/domain/f-connectors/add-connector-to-store/add-connector-to-store.d.ts +15 -0
- package/domain/f-connectors/add-connector-to-store/index.d.ts +2 -0
- package/domain/f-connectors/calculate-closest-connector/calculate-closest-connector-request.d.ts +3 -3
- package/domain/f-connectors/calculate-closest-connector/calculate-closest-connector.d.ts +5 -7
- package/domain/f-connectors/calculate-source-connectors-to-connect/calculate-source-connectors-to-connect-request.d.ts +3 -3
- package/domain/f-connectors/calculate-source-connectors-to-connect/calculate-source-connectors-to-connect.d.ts +8 -8
- package/domain/f-connectors/calculate-target-connectors-to-connect/calculate-target-connectors-to-connect-request.d.ts +3 -3
- package/domain/f-connectors/calculate-target-connectors-to-connect/calculate-target-connectors-to-connect.d.ts +9 -8
- package/domain/f-connectors/find-connectable-connector-using-priority-and-position/find-connectable-connector-using-priority-and-position.execution.d.ts +1 -1
- package/domain/f-connectors/find-connectable-connector-using-priority-and-position/find-connectable-connector-using-priority-and-position.request.d.ts +3 -3
- package/domain/f-connectors/get-connector-rect-reference/get-connector-rect-reference-request.d.ts +6 -0
- package/domain/f-connectors/get-connector-rect-reference/get-connector-rect-reference.d.ts +14 -0
- package/domain/f-connectors/get-connector-rect-reference/index.d.ts +2 -0
- package/domain/f-connectors/i-closest-connector-ref.d.ts +8 -0
- package/domain/f-connectors/i-connector-rect-ref.d.ts +6 -0
- package/domain/f-connectors/index.d.ts +5 -9
- package/domain/f-connectors/providers.d.ts +4 -8
- package/domain/f-connectors/remove-connector-from-store/index.d.ts +2 -0
- package/domain/f-connectors/remove-connector-from-store/remove-connector-from-store-request.d.ts +6 -0
- package/domain/f-connectors/remove-connector-from-store/remove-connector-from-store.d.ts +15 -0
- package/domain/f-draggable/index.d.ts +0 -3
- package/domain/f-draggable/on-pointer-move/on-pointer-move.execution.d.ts +1 -1
- package/domain/f-draggable/prepare-drag-sequence/prepare-drag-sequence.execution.d.ts +1 -1
- package/domain/f-draggable/providers.d.ts +1 -4
- package/domain/f-flow/calculate-flow-state/calculate-connections-state/calculate-connections-state-request.d.ts +3 -0
- package/domain/f-flow/calculate-flow-state/calculate-connections-state/calculate-connections-state.d.ts +14 -0
- package/domain/f-flow/calculate-flow-state/calculate-connections-state/index.d.ts +2 -0
- package/domain/f-flow/calculate-flow-state/calculate-flow-state-request.d.ts +3 -0
- package/domain/f-flow/calculate-flow-state/calculate-flow-state.d.ts +17 -0
- package/domain/f-flow/calculate-flow-state/calculate-nodes-state/calculate-nodes-state-request.d.ts +6 -0
- package/domain/f-flow/calculate-flow-state/calculate-nodes-state/calculate-nodes-state.d.ts +15 -0
- package/domain/f-flow/calculate-flow-state/calculate-nodes-state/index.d.ts +2 -0
- package/domain/f-flow/calculate-flow-state/i-f-flow-state-connection.d.ts +13 -0
- package/domain/f-flow/calculate-flow-state/i-f-flow-state-connector.d.ts +5 -0
- package/domain/f-flow/calculate-flow-state/index.d.ts +9 -0
- package/domain/f-flow/calculate-flow-state/providers.d.ts +7 -0
- package/domain/f-flow/index.d.ts +1 -2
- package/domain/f-flow/providers.d.ts +1 -2
- package/domain/f-node/add-node-to-store/add-node-to-store.d.ts +1 -1
- package/domain/f-node/calculate-connectors-connectable-sides/calculate-connectable-side-by-connected-positions/calculate-connectable-side-by-connected-positions.d.ts +1 -1
- package/domain/f-node/calculate-connectors-connectable-sides/calculate-connectable-side-by-internal-position/calculate-connectable-side-by-internal-position.d.ts +1 -1
- package/domain/f-node/calculate-connectors-connectable-sides/constants/calculatable-sides.d.ts +1 -1
- package/domain/f-node/calculate-connectors-connectable-sides/models/t-calculate-mode.d.ts +1 -1
- package/domain/f-node/calculate-connectors-connectable-sides/utils/determine-side.d.ts +1 -1
- package/domain/f-node/calculate-connectors-connectable-sides/utils/is-calculate-mode.d.ts +1 -1
- package/domain/f-node/calculate-input-connections/calculate-input-connections.d.ts +1 -1
- package/domain/f-node/calculate-output-connections/calculate-output-connections.d.ts +1 -1
- package/domain/f-selection/calculate-selectable-items/calculate-selectable-items-request.d.ts +3 -0
- package/domain/f-selection/calculate-selectable-items/calculate-selectable-items.d.ts +28 -0
- package/domain/f-selection/calculate-selectable-items/index.d.ts +3 -0
- package/domain/f-selection/index.d.ts +1 -1
- package/domain/f-selection/providers.d.ts +4 -4
- package/domain/f-selection/select-all/index.d.ts +2 -2
- package/domain/f-selection/select-all/select-all.d.ts +14 -0
- package/domain/f-selection/select-and-update-node-layer/index.d.ts +2 -2
- package/domain/f-selection/select-and-update-node-layer/select-and-update-node-layer.d.ts +16 -0
- package/domain/f-zoom/index.d.ts +0 -3
- package/domain/f-zoom/providers.d.ts +3 -5
- package/domain/f-zoom/reset-zoom/index.d.ts +1 -1
- package/domain/f-zoom/reset-zoom/reset-zoom.d.ts +13 -0
- package/domain/f-zoom/set-zoom/index.d.ts +1 -1
- package/domain/f-zoom/set-zoom/set-zoom.d.ts +20 -0
- package/domain/get-normalized-element-rect/get-normalized-element-rect-request.d.ts +1 -1
- package/domain/index.d.ts +0 -2
- package/domain/providers.d.ts +2 -2
- package/domain/sort-item-layers/index.d.ts +2 -2
- package/domain/sort-item-layers/sort-item-layers.d.ts +18 -0
- package/domain/sort-item-layers/sort-node-layers-by-groups/sort-node-layers.execution.d.ts +1 -1
- package/domain/update-item-and-children-layers/index.d.ts +2 -2
- package/domain/update-item-and-children-layers/update-item-and-children-layers.d.ts +26 -0
- package/drag-toolkit/pointer-events/i-pointer-event.d.ts +6 -4
- package/esm2022/domain/css-cls.mjs +1 -4
- package/esm2022/domain/f-background/add-pattern-to-background/add-pattern-to-background-request.mjs +8 -0
- package/esm2022/domain/f-background/add-pattern-to-background/add-pattern-to-background.mjs +5 -5
- package/esm2022/domain/f-background/add-pattern-to-background/index.mjs +2 -2
- package/esm2022/domain/f-background/index.mjs +1 -3
- package/esm2022/domain/f-background/providers.mjs +3 -7
- package/esm2022/domain/f-background/set-background-transform/index.mjs +2 -2
- package/esm2022/domain/f-background/set-background-transform/set-background-transform.mjs +25 -0
- package/esm2022/domain/f-canvas/center-group-or-node/center-group-or-node.execution.mjs +14 -17
- package/esm2022/domain/f-canvas/fit-to-flow/fit-to-flow.execution.mjs +21 -17
- package/esm2022/domain/f-canvas/remove-canvas-from-store/remove-canvas-from-store.execution.mjs +2 -2
- package/esm2022/domain/f-canvas/reset-scale-and-center/reset-scale-and-center.execution.mjs +5 -4
- package/esm2022/domain/f-connection/add-connection-for-create-to-store/add-connection-for-create-to-store-request.mjs +4 -4
- package/esm2022/domain/f-connection/add-connection-for-create-to-store/add-connection-for-create-to-store.mjs +25 -0
- package/esm2022/domain/f-connection/add-connection-for-create-to-store/index.mjs +2 -2
- package/esm2022/domain/f-connection/add-connection-marker-to-store/add-connection-marker-to-store-request.mjs +4 -4
- package/esm2022/domain/f-connection/add-connection-marker-to-store/add-connection-marker-to-store.mjs +26 -0
- package/esm2022/domain/f-connection/add-connection-marker-to-store/index.mjs +2 -2
- package/esm2022/domain/f-connection/add-connection-to-store/add-connection-to-store-request.mjs +4 -4
- package/esm2022/domain/f-connection/add-connection-to-store/add-connection-to-store.mjs +26 -0
- package/esm2022/domain/f-connection/add-connection-to-store/index.mjs +2 -2
- package/esm2022/domain/f-connection/add-snap-connection-to-store/add-snap-connection-to-store-request.mjs +4 -4
- package/esm2022/domain/f-connection/add-snap-connection-to-store/add-snap-connection-to-store.mjs +25 -0
- package/esm2022/domain/f-connection/add-snap-connection-to-store/index.mjs +2 -2
- package/esm2022/domain/f-connection/create-connection-markers/create-connection-markers-request.mjs +4 -4
- package/esm2022/domain/f-connection/create-connection-markers/create-connection-markers.mjs +66 -0
- package/esm2022/domain/f-connection/create-connection-markers/index.mjs +2 -2
- package/esm2022/domain/f-connection/index.mjs +2 -2
- package/esm2022/domain/f-connection/providers.mjs +21 -21
- package/esm2022/domain/f-connection/redraw-connections/redraw-connections.mjs +26 -35
- package/esm2022/domain/f-connection/remove-connection-for-create-from-store/index.mjs +2 -2
- package/esm2022/domain/f-connection/remove-connection-for-create-from-store/remove-connection-for-create-from-store.mjs +25 -0
- package/esm2022/domain/f-connection/remove-connection-from-store/index.mjs +2 -2
- package/esm2022/domain/f-connection/remove-connection-from-store/remove-connection-from-store-request.mjs +4 -4
- package/esm2022/domain/f-connection/remove-connection-from-store/remove-connection-from-store.mjs +23 -0
- package/esm2022/domain/f-connection/remove-connection-marker-from-store/index.mjs +2 -2
- package/esm2022/domain/f-connection/remove-connection-marker-from-store/remove-connection-marker-from-store-request.mjs +4 -4
- package/esm2022/domain/f-connection/remove-connection-marker-from-store/remove-connection-marker-from-store.mjs +26 -0
- package/esm2022/domain/f-connection/remove-connection-waypoint/index.mjs +3 -0
- package/esm2022/domain/f-connection/remove-connection-waypoint/remove-connection-waypoint-request.mjs +10 -0
- package/esm2022/domain/f-connection/remove-connection-waypoint/remove-connection-waypoint.mjs +33 -0
- package/esm2022/domain/f-connection/remove-snap-connection-from-store/index.mjs +2 -2
- package/esm2022/domain/f-connection/remove-snap-connection-from-store/remove-snap-connection-from-store.mjs +25 -0
- package/esm2022/domain/f-connectors/add-connector-to-store/add-connector-to-store-request.mjs +8 -0
- package/esm2022/domain/f-connectors/add-connector-to-store/add-connector-to-store.mjs +49 -0
- package/esm2022/domain/f-connectors/add-connector-to-store/index.mjs +3 -0
- package/esm2022/domain/f-connectors/calculate-closest-connector/calculate-closest-connector-request.mjs +4 -4
- package/esm2022/domain/f-connectors/calculate-closest-connector/calculate-closest-connector.mjs +9 -11
- package/esm2022/domain/f-connectors/calculate-source-connectors-to-connect/calculate-source-connectors-to-connect-request.mjs +6 -6
- package/esm2022/domain/f-connectors/calculate-source-connectors-to-connect/calculate-source-connectors-to-connect.mjs +28 -26
- package/esm2022/domain/f-connectors/calculate-target-connectors-to-connect/calculate-target-connectors-to-connect-request.mjs +6 -6
- package/esm2022/domain/f-connectors/calculate-target-connectors-to-connect/calculate-target-connectors-to-connect.mjs +34 -33
- package/esm2022/domain/f-connectors/find-connectable-connector-using-priority-and-position/find-connectable-connector-using-priority-and-position.execution.mjs +12 -12
- package/esm2022/domain/f-connectors/find-connectable-connector-using-priority-and-position/find-connectable-connector-using-priority-and-position.request.mjs +1 -1
- package/esm2022/domain/f-connectors/get-connector-rect-reference/get-connector-rect-reference-request.mjs +8 -0
- package/esm2022/domain/f-connectors/get-connector-rect-reference/get-connector-rect-reference.mjs +31 -0
- package/esm2022/domain/f-connectors/get-connector-rect-reference/index.mjs +3 -0
- package/esm2022/domain/f-connectors/i-closest-connector-ref.mjs +2 -0
- package/esm2022/domain/f-connectors/i-connector-rect-ref.mjs +2 -0
- package/esm2022/domain/f-connectors/index.mjs +6 -10
- package/esm2022/domain/f-connectors/providers.mjs +7 -15
- package/esm2022/domain/f-connectors/remove-connector-from-store/index.mjs +3 -0
- package/esm2022/domain/f-connectors/remove-connector-from-store/remove-connector-from-store-request.mjs +8 -0
- package/esm2022/domain/f-connectors/remove-connector-from-store/remove-connector-from-store.mjs +49 -0
- package/esm2022/domain/f-draggable/add-dnd-to-store/add-dnd-to-store-request.mjs +1 -1
- package/esm2022/domain/f-draggable/index.mjs +1 -4
- package/esm2022/domain/f-draggable/on-pointer-move/on-pointer-move.execution.mjs +5 -5
- package/esm2022/domain/f-draggable/prepare-drag-sequence/prepare-drag-sequence-request.mjs +1 -1
- package/esm2022/domain/f-draggable/prepare-drag-sequence/prepare-drag-sequence.execution.mjs +5 -8
- package/esm2022/domain/f-draggable/providers.mjs +1 -7
- package/esm2022/domain/f-flow/calculate-flow-state/calculate-connections-state/calculate-connections-state-request.mjs +4 -0
- package/esm2022/domain/f-flow/calculate-flow-state/calculate-connections-state/calculate-connections-state.mjs +38 -0
- package/esm2022/domain/f-flow/calculate-flow-state/calculate-connections-state/index.mjs +3 -0
- package/esm2022/domain/f-flow/calculate-flow-state/calculate-flow-state-request.mjs +4 -0
- package/esm2022/domain/f-flow/calculate-flow-state/calculate-flow-state.mjs +45 -0
- package/esm2022/domain/f-flow/calculate-flow-state/calculate-nodes-state/calculate-nodes-state-request.mjs +8 -0
- package/esm2022/domain/f-flow/calculate-flow-state/calculate-nodes-state/calculate-nodes-state.mjs +61 -0
- package/esm2022/domain/f-flow/calculate-flow-state/calculate-nodes-state/index.mjs +3 -0
- package/esm2022/domain/f-flow/calculate-flow-state/i-f-flow-state-connection.mjs +2 -0
- package/esm2022/domain/f-flow/calculate-flow-state/i-f-flow-state-connector.mjs +2 -0
- package/esm2022/domain/f-flow/calculate-flow-state/i-f-flow-state-node.mjs +2 -0
- package/esm2022/domain/f-flow/calculate-flow-state/i-f-flow-state.mjs +2 -0
- package/esm2022/domain/f-flow/calculate-flow-state/index.mjs +10 -0
- package/esm2022/domain/f-flow/calculate-flow-state/providers.mjs +12 -0
- package/esm2022/domain/f-flow/index.mjs +2 -3
- package/esm2022/domain/f-flow/providers.mjs +2 -4
- package/esm2022/domain/f-node/add-node-to-store/add-node-to-store.mjs +4 -3
- package/esm2022/domain/f-node/calculate-connectors-connectable-sides/calculate-connectable-side-by-connected-positions/calculate-connectable-side-by-connected-positions.mjs +1 -1
- package/esm2022/domain/f-node/calculate-connectors-connectable-sides/calculate-connectable-side-by-internal-position/calculate-connectable-side-by-internal-position.mjs +2 -2
- package/esm2022/domain/f-node/calculate-connectors-connectable-sides/calculate-connectors-connectable-sides.mjs +2 -2
- package/esm2022/domain/f-node/calculate-connectors-connectable-sides/constants/calculatable-sides.mjs +2 -2
- package/esm2022/domain/f-node/calculate-connectors-connectable-sides/models/t-calculate-mode.mjs +1 -1
- package/esm2022/domain/f-node/calculate-connectors-connectable-sides/utils/determine-side.mjs +2 -2
- package/esm2022/domain/f-node/calculate-connectors-connectable-sides/utils/is-calculate-mode.mjs +2 -2
- package/esm2022/domain/f-node/calculate-input-connections/calculate-input-connections.mjs +5 -3
- package/esm2022/domain/f-node/calculate-nodes-bounding-box/calculate-nodes-bounding-box.mjs +2 -2
- package/esm2022/domain/f-node/calculate-nodes-bounding-box-normalized-position/calculate-nodes-bounding-box-normalized-position.mjs +2 -2
- package/esm2022/domain/f-node/calculate-output-connections/calculate-output-connections.mjs +5 -3
- package/esm2022/domain/f-node/fit-to-child-nodes-and-groups/fit-to-child-nodes-and-groups.mjs +9 -8
- package/esm2022/domain/f-node/get-child-node-ids/get-child-node-ids.mjs +5 -3
- package/esm2022/domain/f-node/get-parent-nodes/get-parent-nodes.mjs +2 -2
- package/esm2022/domain/f-node/remove-node-from-store/remove-node-from-store.mjs +3 -2
- package/esm2022/domain/f-node/update-node-when-state-or-size-changed/update-node-when-state-or-size-changed.mjs +3 -3
- package/esm2022/domain/f-selection/calculate-selectable-items/calculate-selectable-items-request.mjs +4 -0
- package/esm2022/domain/f-selection/calculate-selectable-items/calculate-selectable-items.mjs +70 -0
- package/esm2022/domain/f-selection/calculate-selectable-items/i-can-be-selected-element-and-rect.mjs +2 -0
- package/esm2022/domain/f-selection/calculate-selectable-items/index.mjs +4 -0
- package/esm2022/domain/f-selection/clear-selection/clear-selection.request.mjs +1 -1
- package/esm2022/domain/f-selection/index.mjs +2 -2
- package/esm2022/domain/f-selection/providers.mjs +7 -7
- package/esm2022/domain/f-selection/select/select.execution.mjs +3 -3
- package/esm2022/domain/f-selection/select-all/index.mjs +3 -3
- package/esm2022/domain/f-selection/select-all/select-all-request.mjs +4 -0
- package/esm2022/domain/f-selection/select-all/select-all.mjs +40 -0
- package/esm2022/domain/f-selection/select-and-update-node-layer/index.mjs +3 -3
- package/esm2022/domain/f-selection/select-and-update-node-layer/select-and-update-node-layer-request.mjs +8 -0
- package/esm2022/domain/f-selection/select-and-update-node-layer/select-and-update-node-layer.mjs +41 -0
- package/esm2022/domain/f-zoom/index.mjs +1 -4
- package/esm2022/domain/f-zoom/providers.mjs +4 -11
- package/esm2022/domain/f-zoom/reset-zoom/index.mjs +2 -2
- package/esm2022/domain/f-zoom/reset-zoom/reset-zoom.mjs +30 -0
- package/esm2022/domain/f-zoom/set-zoom/index.mjs +2 -2
- package/esm2022/domain/f-zoom/set-zoom/set-zoom.mjs +53 -0
- package/esm2022/domain/get-deep-children-nodes-and-groups/get-deep-children-nodes-and-groups.execution.mjs +2 -2
- package/esm2022/domain/get-normalized-element-rect/get-normalized-element-rect-request.mjs +1 -1
- package/esm2022/domain/index.mjs +1 -3
- package/esm2022/domain/providers.mjs +5 -7
- package/esm2022/domain/sort-item-layers/index.mjs +3 -3
- package/esm2022/domain/sort-item-layers/sort-item-layers-request.mjs +4 -0
- package/esm2022/domain/sort-item-layers/sort-item-layers.mjs +40 -0
- package/esm2022/domain/sort-item-layers/sort-items-by-parent/sort-items-by-parent.execution.mjs +6 -5
- package/esm2022/domain/sort-item-layers/sort-node-layers-by-groups/sort-node-layers.execution.mjs +8 -8
- package/esm2022/domain/update-item-and-children-layers/index.mjs +3 -3
- package/esm2022/domain/update-item-and-children-layers/update-item-and-children-layers-request.mjs +10 -0
- package/esm2022/domain/update-item-and-children-layers/update-item-and-children-layers.mjs +102 -0
- package/esm2022/drag-toolkit/pointer-events/i-pointer-event.mjs +15 -10
- package/esm2022/f-backgroud/f-background-base.mjs +3 -2
- package/esm2022/f-backgroud/f-background.component.mjs +10 -13
- package/esm2022/f-backgroud/f-rect-pattern/f-rect-pattern.component.mjs +11 -13
- package/esm2022/f-canvas/domain/f-canvas-change-event.mjs +9 -0
- package/esm2022/f-canvas/domain/index.mjs +2 -2
- package/esm2022/f-canvas/f-canvas-base.mjs +7 -5
- package/esm2022/f-canvas/f-canvas.component.mjs +26 -36
- package/esm2022/f-connection/f-connection/f-connection.component.mjs +10 -24
- package/esm2022/f-connection/f-connection-for-create/f-connection-for-create.component.mjs +13 -18
- package/esm2022/f-connection/f-snap-connection/f-snap-connection.component.mjs +9 -15
- package/esm2022/f-connection/index.mjs +2 -7
- package/esm2022/f-connection/providers.mjs +9 -13
- package/esm2022/f-connection-v2/components/connection-content/f-connection-content.mjs +76 -0
- package/esm2022/f-connection-v2/components/connection-content/index.mjs +4 -0
- package/esm2022/f-connection-v2/components/connection-content/models/f-connection-content-base.mjs +10 -0
- package/esm2022/f-connection-v2/components/connection-content/models/index.mjs +2 -0
- package/esm2022/f-connection-v2/components/connection-content/utils/i-polyline-content.mjs +2 -0
- package/esm2022/f-connection-v2/components/connection-content/utils/index.mjs +6 -0
- package/esm2022/f-connection-v2/components/connection-content/utils/polyline-content-align.mjs +6 -0
- package/esm2022/f-connection-v2/components/connection-content/utils/polyline-content-layout-engine.mjs +25 -0
- package/esm2022/f-connection-v2/components/connection-content/utils/polyline-content-place.mjs +66 -0
- package/esm2022/f-connection-v2/components/connection-content/utils/polyline-sampler/i-sampler-result.mjs +2 -0
- package/esm2022/f-connection-v2/components/connection-content/utils/polyline-sampler/i-tangent.mjs +2 -0
- package/esm2022/f-connection-v2/components/connection-content/utils/polyline-sampler/index.mjs +5 -0
- package/esm2022/f-connection-v2/components/connection-content/utils/polyline-sampler/polyline-sampler.mjs +143 -0
- package/esm2022/f-connection-v2/components/connection-content/utils/polyline-sampler/polyline.mjs +71 -0
- package/esm2022/f-connection-v2/components/connection-drag-handles/f-connection-drag-handle-end.mjs +35 -0
- package/esm2022/f-connection-v2/components/connection-drag-handles/f-connection-drag-handle-start.mjs +35 -0
- package/esm2022/f-connection-v2/components/connection-drag-handles/index.mjs +4 -0
- package/esm2022/f-connection-v2/components/connection-drag-handles/models/f-connection-drag-handle-base.mjs +17 -0
- package/esm2022/f-connection-v2/components/connection-drag-handles/models/index.mjs +2 -0
- package/esm2022/f-connection-v2/components/connection-gradient/f-connection-gradient.mjs +54 -0
- package/esm2022/f-connection-v2/components/connection-gradient/index.mjs +3 -0
- package/esm2022/f-connection-v2/components/connection-gradient/models/f-connection-gradient-base.mjs +6 -0
- package/esm2022/f-connection-v2/components/connection-gradient/models/index.mjs +2 -0
- package/esm2022/f-connection-v2/components/connection-marker/enums/e-f-marker-type.mjs +8 -0
- package/esm2022/f-connection-v2/components/connection-marker/enums/index.mjs +2 -0
- package/esm2022/f-connection-v2/components/connection-marker/f-connection-marker.mjs +50 -0
- package/esm2022/f-connection-v2/components/connection-marker/index.mjs +4 -0
- package/esm2022/f-connection-v2/components/connection-marker/models/f-connection-marker-base.mjs +8 -0
- package/esm2022/f-connection-v2/components/connection-marker/models/index.mjs +2 -0
- package/esm2022/f-connection-v2/components/connection-path/f-connection-path.mjs +66 -0
- package/esm2022/f-connection-v2/components/connection-path/index.mjs +3 -0
- package/esm2022/f-connection-v2/components/connection-path/models/f-connection-path-base.mjs +6 -0
- package/esm2022/f-connection-v2/components/connection-path/models/index.mjs +2 -0
- package/esm2022/f-connection-v2/components/connection-selection/f-connection-selection.mjs +34 -0
- package/esm2022/f-connection-v2/components/connection-selection/index.mjs +3 -0
- package/esm2022/f-connection-v2/components/connection-selection/models/f-connection-selection-base.mjs +6 -0
- package/esm2022/f-connection-v2/components/connection-selection/models/index.mjs +2 -0
- package/esm2022/f-connection-v2/components/connection-waypoints/f-connection-waypoints.mjs +50 -0
- package/esm2022/f-connection-v2/components/connection-waypoints/index.mjs +4 -0
- package/esm2022/f-connection-v2/components/connection-waypoints/models/f-connection-waypoints-base.mjs +27 -0
- package/esm2022/f-connection-v2/components/connection-waypoints/models/index.mjs +2 -0
- package/esm2022/f-connection-v2/components/connection-waypoints/utils/find-existing-waypoint.mjs +7 -0
- package/esm2022/f-connection-v2/components/connection-waypoints/utils/find-waypoint-candidate.mjs +7 -0
- package/esm2022/f-connection-v2/components/connection-waypoints/utils/index.mjs +5 -0
- package/esm2022/f-connection-v2/components/connection-waypoints/utils/is-pointer-inside-point.mjs +4 -0
- package/esm2022/f-connection-v2/components/connection-waypoints/utils/pick-waypoint.mjs +16 -0
- package/esm2022/f-connection-v2/components/f-connection-base.mjs +112 -0
- package/esm2022/f-connection-v2/components/index.mjs +9 -0
- package/esm2022/f-connection-v2/enums/e-f-connectable-side.mjs +12 -0
- package/esm2022/f-connection-v2/enums/e-f-connection-type.mjs +8 -0
- package/esm2022/f-connection-v2/enums/index.mjs +3 -0
- package/esm2022/f-connection-v2/index.mjs +5 -0
- package/esm2022/f-connection-v2/models/f-connection-components-parent.mjs +5 -0
- package/esm2022/f-connection-v2/models/index.mjs +2 -0
- package/esm2022/f-connection-v2/utils/connection-behaviour/connection-behaviour-builder-request.mjs +15 -0
- package/esm2022/f-connection-v2/utils/connection-behaviour/connection-behaviour-builder.mjs +136 -0
- package/esm2022/f-connection-v2/utils/connection-behaviour/enums/e-f-connection-behavior.mjs +7 -0
- package/esm2022/f-connection-v2/utils/connection-behaviour/enums/e-f-connection-connectable-side.mjs +12 -0
- package/esm2022/f-connection-v2/utils/connection-behaviour/enums/index.mjs +3 -0
- package/esm2022/f-connection-v2/utils/connection-behaviour/index.mjs +6 -0
- package/esm2022/f-connection-v2/utils/connection-behaviour/models/i-calculate-behavior-request.mjs +2 -0
- package/esm2022/f-connection-v2/utils/connection-behaviour/models/index.mjs +2 -0
- package/esm2022/f-connection-v2/utils/connection-behaviour/utils/fixed-center-behavior.mjs +12 -0
- package/esm2022/f-connection-v2/utils/connection-behaviour/utils/fixed-outbound-behavior.mjs +31 -0
- package/esm2022/f-connection-v2/utils/connection-behaviour/utils/floating-behavior.mjs +22 -0
- package/esm2022/f-connection-v2/utils/connection-behaviour/utils/index.mjs +4 -0
- package/esm2022/f-connection-v2/utils/connection-line-builder/builders/adaptive-curve/calculate-adaptive-curve-data.mjs +74 -0
- package/esm2022/f-connection-v2/utils/connection-line-builder/builders/adaptive-curve/index.mjs +2 -0
- package/esm2022/f-connection-v2/utils/connection-line-builder/builders/bezier-curve/calculate-bezier-curve-data.mjs +49 -0
- package/esm2022/f-connection-v2/utils/connection-line-builder/builders/bezier-curve/index.mjs +2 -0
- package/esm2022/f-connection-v2/utils/connection-line-builder/builders/index.mjs +6 -0
- package/esm2022/f-connection-v2/utils/connection-line-builder/builders/segment-line/build-corner-mid-points-and-apply-offsets.mjs +50 -0
- package/esm2022/f-connection-v2/utils/connection-line-builder/builders/segment-line/calculate-segment-line-data.mjs +106 -0
- package/esm2022/f-connection-v2/utils/connection-line-builder/builders/segment-line/create-segment-line-path.mjs +46 -0
- package/esm2022/f-connection-v2/utils/connection-line-builder/builders/segment-line/index.mjs +4 -0
- package/esm2022/f-connection-v2/utils/connection-line-builder/builders/straight-line/calculate-straight-line-data.mjs +28 -0
- package/esm2022/f-connection-v2/utils/connection-line-builder/builders/straight-line/index.mjs +2 -0
- package/esm2022/f-connection-v2/utils/connection-line-builder/builders/utils/build-connection-anchors.mjs +4 -0
- package/esm2022/f-connection-v2/utils/connection-line-builder/builders/utils/calculate-center-between-points.mjs +8 -0
- package/esm2022/f-connection-v2/utils/connection-line-builder/builders/utils/calculate-curve-candidates.mjs +7 -0
- package/esm2022/f-connection-v2/utils/connection-line-builder/builders/utils/calculate-polyline-candidates.mjs +39 -0
- package/esm2022/f-connection-v2/utils/connection-line-builder/builders/utils/index.mjs +9 -0
- package/esm2022/f-connection-v2/utils/connection-line-builder/builders/utils/merge-point-chains.mjs +12 -0
- package/esm2022/f-connection-v2/utils/connection-line-builder/builders/utils/multi-cubic.mjs +28 -0
- package/esm2022/f-connection-v2/utils/connection-line-builder/builders/utils/normalize-polyline.mjs +30 -0
- package/esm2022/f-connection-v2/utils/connection-line-builder/builders/utils/sample-cubic-bezier-uniform.mjs +37 -0
- package/esm2022/f-connection-v2/utils/connection-line-builder/connection-line-builder-request.mjs +9 -0
- package/esm2022/f-connection-v2/utils/connection-line-builder/connection-line-builder.mjs +50 -0
- package/esm2022/f-connection-v2/utils/connection-line-builder/index.mjs +6 -0
- package/esm2022/f-connection-v2/utils/connection-line-builder/models/i-f-connection-builder-request.mjs +2 -0
- package/esm2022/f-connection-v2/utils/connection-line-builder/models/i-f-connection-builder-response.mjs +2 -0
- package/esm2022/f-connection-v2/utils/connection-line-builder/models/i-f-connection-builder.mjs +2 -0
- package/esm2022/f-connection-v2/utils/connection-line-builder/models/index.mjs +4 -0
- package/esm2022/f-connection-v2/utils/connection-line-builder/providers/f-connection-builders.mjs +3 -0
- package/esm2022/f-connection-v2/utils/connection-line-builder/providers/index.mjs +2 -0
- package/esm2022/f-connection-v2/utils/create-connection-dom-identifier.mjs +5 -0
- package/esm2022/f-connection-v2/utils/create-connection-selection-dom-identifier.mjs +5 -0
- package/esm2022/f-connection-v2/utils/create-gradient-dom-identifier.mjs +5 -0
- package/esm2022/f-connection-v2/utils/create-gradient-dom-url.mjs +5 -0
- package/esm2022/f-connection-v2/utils/index.mjs +7 -0
- package/esm2022/f-connectors/f-connector-base.mjs +2 -2
- package/esm2022/f-connectors/f-node-input/f-node-input-base.mjs +2 -1
- package/esm2022/f-connectors/f-node-input/f-node-input.directive.mjs +5 -5
- package/esm2022/f-connectors/f-node-outlet/f-node-outlet-base.mjs +2 -1
- package/esm2022/f-connectors/f-node-outlet/f-node-outlet.directive.mjs +5 -5
- package/esm2022/f-connectors/f-node-output/f-node-output-base.mjs +2 -1
- package/esm2022/f-connectors/f-node-output/f-node-output.directive.mjs +6 -6
- package/esm2022/f-connectors/f-source-connector-base.mjs +8 -1
- package/esm2022/f-connectors/index.mjs +1 -2
- package/esm2022/f-draggable/connection/create-connection/create-connection-finalize/create-connection-finalize-request.mjs +8 -0
- package/esm2022/f-draggable/connection/create-connection/create-connection-finalize/create-connection-finalize.mjs +62 -0
- package/esm2022/f-draggable/connection/create-connection/create-connection-finalize/index.mjs +3 -0
- package/esm2022/f-draggable/connection/create-connection/create-connection-handler/create-connection-handler.mjs +105 -0
- package/esm2022/f-draggable/connection/create-connection/create-connection-handler/index.mjs +2 -0
- package/esm2022/f-draggable/connection/create-connection/create-connection-preparation/create-connection-preparation-request.mjs +10 -0
- package/esm2022/f-draggable/connection/create-connection/create-connection-preparation/create-connection-preparation.mjs +55 -0
- package/esm2022/f-draggable/connection/create-connection/create-connection-preparation/create-drag-handler/create-connection-create-drag-handler-request.mjs +10 -0
- package/esm2022/f-draggable/connection/create-connection/create-connection-preparation/create-drag-handler/create-connection-create-drag-handler.mjs +62 -0
- package/esm2022/f-draggable/connection/create-connection/create-connection-preparation/create-drag-handler/index.mjs +3 -0
- package/esm2022/f-draggable/connection/create-connection/create-connection-preparation/from-outlet-preparation/create-connection-from-outlet-preparation-request.mjs +10 -0
- package/esm2022/f-draggable/connection/create-connection/create-connection-preparation/from-outlet-preparation/create-connection-from-outlet-preparation.mjs +49 -0
- package/esm2022/f-draggable/connection/create-connection/create-connection-preparation/from-outlet-preparation/index.mjs +3 -0
- package/esm2022/f-draggable/connection/create-connection/create-connection-preparation/from-output-preparation/create-connection-from-output-preparation-request.mjs +10 -0
- package/esm2022/f-draggable/connection/create-connection/create-connection-preparation/from-output-preparation/create-connection-from-output-preparation.mjs +41 -0
- package/esm2022/f-draggable/connection/create-connection/create-connection-preparation/from-output-preparation/index.mjs +3 -0
- package/esm2022/f-draggable/connection/create-connection/create-connection-preparation/index.mjs +6 -0
- package/esm2022/f-draggable/connection/create-connection/f-create-connection-event.mjs +31 -0
- package/esm2022/f-draggable/connection/create-connection/i-create-connection-drag-result.mjs +2 -0
- package/esm2022/f-draggable/connection/create-connection/i-create-connection-event-data.mjs +2 -0
- package/esm2022/f-draggable/connection/create-connection/index.mjs +8 -0
- package/esm2022/f-draggable/connection/create-connection/resolve-connectable-output-for-outlet/index.mjs +3 -0
- package/esm2022/f-draggable/connection/create-connection/resolve-connectable-output-for-outlet/resolve-connectable-output-for-outlet-request.mjs +8 -0
- package/esm2022/f-draggable/connection/create-connection/resolve-connectable-output-for-outlet/resolve-connectable-output-for-outlet.mjs +39 -0
- package/esm2022/f-draggable/connection/drag-connection-waypoint/drag-connection-waypoint-finalize/drag-connection-waypoint-finalize-request.mjs +8 -0
- package/esm2022/f-draggable/connection/drag-connection-waypoint/drag-connection-waypoint-finalize/drag-connection-waypoint-finalize.mjs +32 -0
- package/esm2022/f-draggable/connection/drag-connection-waypoint/drag-connection-waypoint-finalize/index.mjs +3 -0
- package/esm2022/f-draggable/connection/drag-connection-waypoint/drag-connection-waypoint-handler/drag-connection-waypoint-handler.mjs +54 -0
- package/esm2022/f-draggable/connection/drag-connection-waypoint/drag-connection-waypoint-handler/index.mjs +2 -0
- package/esm2022/f-draggable/connection/drag-connection-waypoint/drag-connection-waypoint-preparation/drag-connection-waypoint-preparation-request.mjs +10 -0
- package/esm2022/f-draggable/connection/drag-connection-waypoint/drag-connection-waypoint-preparation/drag-connection-waypoint-preparation.mjs +67 -0
- package/esm2022/f-draggable/connection/drag-connection-waypoint/drag-connection-waypoint-preparation/index.mjs +3 -0
- package/esm2022/f-draggable/connection/drag-connection-waypoint/f-connection-waypoints-changed-event.mjs +9 -0
- package/esm2022/f-draggable/connection/drag-connection-waypoint/index.mjs +5 -0
- package/esm2022/f-draggable/connection/index.mjs +5 -0
- package/esm2022/f-draggable/connection/providers.mjs +16 -0
- package/esm2022/f-draggable/connection/reassign-connection/f-reassign-connection-event.mjs +51 -0
- package/esm2022/f-draggable/connection/reassign-connection/i-reassign-connection-drag-result.mjs +2 -0
- package/esm2022/f-draggable/connection/reassign-connection/i-reassign-connection-event-data.mjs +2 -0
- package/esm2022/f-draggable/connection/reassign-connection/index.mjs +7 -0
- package/esm2022/f-draggable/connection/reassign-connection/reassign-connection-finalize/index.mjs +3 -0
- package/esm2022/f-draggable/connection/reassign-connection/reassign-connection-finalize/reassign-connection-finalize-request.mjs +8 -0
- package/esm2022/f-draggable/connection/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.mjs +63 -0
- package/esm2022/f-draggable/connection/reassign-connection/reassign-connection-handler/i-reassign-handler.mjs +10 -0
- package/esm2022/f-draggable/connection/reassign-connection/reassign-connection-handler/index.mjs +5 -0
- package/esm2022/f-draggable/connection/reassign-connection/reassign-connection-handler/reassign-connection-handler.mjs +66 -0
- package/esm2022/f-draggable/connection/reassign-connection/reassign-connection-handler/reassign-connection-source-handler.mjs +86 -0
- package/esm2022/f-draggable/connection/reassign-connection/reassign-connection-handler/reassign-connection-target-handler.mjs +87 -0
- package/esm2022/f-draggable/connection/reassign-connection/reassign-connection-preparation/index.mjs +4 -0
- package/esm2022/f-draggable/connection/reassign-connection/reassign-connection-preparation/is-pointer-inside-start-or-end-drag-handles.mjs +18 -0
- package/esm2022/f-draggable/connection/reassign-connection/reassign-connection-preparation/reassign-connection-preparation-request.mjs +10 -0
- package/esm2022/f-draggable/connection/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.mjs +71 -0
- package/esm2022/f-draggable/domain/detect-connections-under-drag-node/detect-connections-under-drag-node-request.mjs +8 -0
- package/esm2022/f-draggable/domain/detect-connections-under-drag-node/detect-connections-under-drag-node.mjs +77 -0
- package/esm2022/f-draggable/domain/detect-connections-under-drag-node/f-node-intersected-with-connections-event.mjs +32 -0
- package/esm2022/f-draggable/domain/detect-connections-under-drag-node/index.mjs +4 -0
- package/esm2022/f-draggable/domain/emit-end-drag-sequence-event/emit-end-drag-sequence-event-request.mjs +4 -0
- package/esm2022/f-draggable/domain/emit-end-drag-sequence-event/emit-end-drag-sequence-event.mjs +33 -0
- package/esm2022/f-draggable/domain/emit-end-drag-sequence-event/index.mjs +3 -0
- package/esm2022/f-draggable/domain/emit-selection-change-event/emit-selection-change-event-request.mjs +4 -0
- package/esm2022/f-draggable/domain/emit-selection-change-event/emit-selection-change-event.mjs +42 -0
- package/esm2022/f-draggable/domain/emit-selection-change-event/index.mjs +3 -0
- package/esm2022/f-draggable/domain/emit-start-drag-sequence-event/emit-start-drag-sequence-event-request.mjs +4 -0
- package/esm2022/f-draggable/domain/emit-start-drag-sequence-event/emit-start-drag-sequence-event.mjs +37 -0
- package/esm2022/f-draggable/domain/emit-start-drag-sequence-event/index.mjs +3 -0
- package/esm2022/f-draggable/domain/get-normalized-parent-node-rect/get-normalized-parent-node-rect.execution.mjs +2 -2
- package/esm2022/f-draggable/domain/index.mjs +5 -3
- package/esm2022/f-draggable/domain/providers.mjs +9 -3
- package/esm2022/f-draggable/drag-canvas/drag-canvas-finalize/drag-canvas-finalize-request.mjs +8 -0
- package/esm2022/f-draggable/drag-canvas/drag-canvas-finalize/drag-canvas-finalize.mjs +29 -0
- package/esm2022/f-draggable/drag-canvas/drag-canvas-finalize/index.mjs +3 -0
- package/esm2022/f-draggable/drag-canvas/drag-canvas-handler/drag-canvas-handler.mjs +32 -0
- package/esm2022/f-draggable/drag-canvas/drag-canvas-handler/index.mjs +2 -0
- package/esm2022/f-draggable/drag-canvas/drag-canvas-preparation/drag-canvas-preparation-request.mjs +10 -0
- package/esm2022/f-draggable/drag-canvas/drag-canvas-preparation/drag-canvas-preparation.mjs +54 -0
- package/esm2022/f-draggable/drag-canvas/drag-canvas-preparation/index.mjs +3 -0
- package/esm2022/f-draggable/drag-canvas/index.mjs +5 -0
- package/esm2022/f-draggable/drag-canvas/providers.mjs +4 -0
- package/esm2022/f-draggable/drag-node/attach-drag-node-handler-from-selection/attach-drag-node-handler-from-selection-request.mjs +8 -0
- package/esm2022/f-draggable/drag-node/attach-drag-node-handler-from-selection/attach-drag-node-handler-from-selection.mjs +84 -0
- package/esm2022/f-draggable/drag-node/attach-drag-node-handler-from-selection/attach-source-connection-drag-handlers-to-node/attach-source-connection-drag-handlers-to-node-request.mjs +23 -0
- package/esm2022/f-draggable/drag-node/attach-drag-node-handler-from-selection/attach-source-connection-drag-handlers-to-node/attach-source-connection-drag-handlers-to-node.mjs +62 -0
- package/esm2022/f-draggable/drag-node/attach-drag-node-handler-from-selection/attach-source-connection-drag-handlers-to-node/index.mjs +3 -0
- package/esm2022/f-draggable/drag-node/attach-drag-node-handler-from-selection/attach-target-connection-drag-handlers-to-node/attach-target-connection-drag-handlers-to-node-request.mjs +23 -0
- package/esm2022/f-draggable/drag-node/attach-drag-node-handler-from-selection/attach-target-connection-drag-handlers-to-node/attach-target-connection-drag-handlers-to-node.mjs +62 -0
- package/esm2022/f-draggable/drag-node/attach-drag-node-handler-from-selection/attach-target-connection-drag-handlers-to-node/index.mjs +3 -0
- package/esm2022/f-draggable/drag-node/attach-drag-node-handler-from-selection/build-drag-node-constraints/build-drag-node-constraints-request.mjs +8 -0
- package/esm2022/f-draggable/drag-node/attach-drag-node-handler-from-selection/build-drag-node-constraints/build-drag-node-constraints.mjs +72 -0
- package/esm2022/f-draggable/drag-node/attach-drag-node-handler-from-selection/build-drag-node-constraints/index.mjs +3 -0
- package/esm2022/f-draggable/drag-node/attach-drag-node-handler-from-selection/create-drag-node-handler/create-drag-node-handler-request.mjs +14 -0
- package/esm2022/f-draggable/drag-node/attach-drag-node-handler-from-selection/create-drag-node-handler/create-drag-node-handler.mjs +36 -0
- package/esm2022/f-draggable/drag-node/attach-drag-node-handler-from-selection/create-drag-node-handler/index.mjs +3 -0
- package/esm2022/f-draggable/drag-node/attach-drag-node-handler-from-selection/create-drag-node-hierarchy/create-drag-node-hierarchy-request.mjs +9 -0
- package/esm2022/f-draggable/drag-node/attach-drag-node-handler-from-selection/create-drag-node-hierarchy/create-drag-node-hierarchy.mjs +50 -0
- package/esm2022/f-draggable/drag-node/attach-drag-node-handler-from-selection/create-drag-node-hierarchy/drag-node-hierarchy.mjs +9 -0
- package/esm2022/f-draggable/drag-node/attach-drag-node-handler-from-selection/create-drag-node-hierarchy/index.mjs +4 -0
- package/esm2022/f-draggable/drag-node/attach-drag-node-handler-from-selection/index.mjs +10 -0
- package/esm2022/f-draggable/drag-node/attach-drag-node-handler-from-selection/providers.mjs +17 -0
- package/esm2022/f-draggable/drag-node/attach-drag-node-handler-from-selection/read-node-bounds-with-paddings/index.mjs +4 -0
- package/esm2022/f-draggable/drag-node/attach-drag-node-handler-from-selection/read-node-bounds-with-paddings/read-node-bounds-with-paddings-request.mjs +10 -0
- package/esm2022/f-draggable/drag-node/attach-drag-node-handler-from-selection/read-node-bounds-with-paddings/read-node-bounds-with-paddings-response.mjs +13 -0
- package/esm2022/f-draggable/drag-node/attach-drag-node-handler-from-selection/read-node-bounds-with-paddings/read-node-bounds-with-paddings.mjs +39 -0
- package/esm2022/f-draggable/drag-node/drag-node-constraint/delta-clamp.mjs +36 -0
- package/esm2022/f-draggable/drag-node/drag-node-constraint/drag-node-delta-constraints.mjs +42 -0
- package/esm2022/f-draggable/drag-node/drag-node-constraint/expand-rect-by-overflow.mjs +20 -0
- package/esm2022/f-draggable/drag-node/drag-node-constraint/grid-snapper.mjs +33 -0
- package/esm2022/f-draggable/drag-node/drag-node-constraint/i-drag-node-delta-constraints-result.mjs +2 -0
- package/esm2022/f-draggable/drag-node/drag-node-constraint/i-drag-node-delta-constraints.mjs +2 -0
- package/esm2022/f-draggable/drag-node/drag-node-constraint/index.mjs +7 -0
- package/esm2022/f-draggable/drag-node/drag-node-dependent-connection-handlers/drag-node-connection-both-sides-handler.mjs +31 -0
- package/esm2022/f-draggable/drag-node/drag-node-dependent-connection-handlers/drag-node-connection-handler-base.mjs +45 -0
- package/esm2022/f-draggable/drag-node/drag-node-dependent-connection-handlers/drag-node-connection-source-handler.mjs +15 -0
- package/esm2022/f-draggable/drag-node/drag-node-dependent-connection-handlers/drag-node-connection-target-handler.mjs +15 -0
- package/esm2022/f-draggable/drag-node/drag-node-dependent-connection-handlers/index.mjs +5 -0
- package/esm2022/f-draggable/drag-node/drag-node-finalize/drag-node-finalize-request.mjs +8 -0
- package/esm2022/f-draggable/drag-node/drag-node-finalize/drag-node-finalize.mjs +104 -0
- package/esm2022/f-draggable/drag-node/drag-node-finalize/index.mjs +3 -0
- package/esm2022/f-draggable/drag-node/drag-node-handler/drag-node-handler.mjs +92 -0
- package/esm2022/f-draggable/drag-node/drag-node-handler/drag-node-item-handler.mjs +125 -0
- package/esm2022/f-draggable/drag-node/drag-node-handler/index.mjs +3 -0
- package/esm2022/f-draggable/drag-node/drag-node-preparation/drag-node-preparation-request.mjs +10 -0
- package/esm2022/f-draggable/drag-node/drag-node-preparation/drag-node-preparation.mjs +76 -0
- package/esm2022/f-draggable/drag-node/drag-node-preparation/index.mjs +3 -0
- package/esm2022/f-draggable/drag-node/f-drag-node-start-event-data.mjs +7 -0
- package/esm2022/f-draggable/drag-node/f-move-nodes-event.mjs +16 -0
- package/esm2022/f-draggable/drag-node/index.mjs +12 -0
- package/esm2022/f-draggable/drag-node/magnetic-lines/domain/calculate-magnetic-guides.mjs +59 -0
- package/esm2022/f-draggable/drag-node/magnetic-lines/domain/i-magnetic-axis-guide.mjs +2 -0
- package/esm2022/f-draggable/drag-node/magnetic-lines/domain/i-magnetic-guides-result.mjs +2 -0
- package/esm2022/f-draggable/drag-node/magnetic-lines/domain/index.mjs +6 -0
- package/esm2022/f-draggable/drag-node/magnetic-lines/domain/magnetic-line-element.mjs +34 -0
- package/esm2022/f-draggable/drag-node/magnetic-lines/domain/magnetic-line-renderer.mjs +44 -0
- package/esm2022/f-draggable/drag-node/magnetic-lines/index.mjs +4 -0
- package/esm2022/f-draggable/drag-node/magnetic-lines/magnetic-lines-handler/index.mjs +2 -0
- package/esm2022/f-draggable/drag-node/magnetic-lines/magnetic-lines-handler/magnetic-lines-handler.mjs +55 -0
- package/esm2022/f-draggable/drag-node/magnetic-lines/magnetic-lines-preparation/index.mjs +3 -0
- package/esm2022/f-draggable/drag-node/magnetic-lines/magnetic-lines-preparation/magnetic-lines-preparation-request.mjs +4 -0
- package/esm2022/f-draggable/drag-node/magnetic-lines/magnetic-lines-preparation/magnetic-lines-preparation.mjs +54 -0
- package/esm2022/f-draggable/drag-node/magnetic-rects/domain/calculate-magnetic-rects.mjs +374 -0
- package/esm2022/f-draggable/drag-node/magnetic-rects/domain/i-magnetic-gap-rect.mjs +2 -0
- package/esm2022/f-draggable/drag-node/magnetic-rects/domain/i-magnetic-rects-result.mjs +2 -0
- package/esm2022/f-draggable/drag-node/magnetic-rects/domain/index.mjs +6 -0
- package/esm2022/f-draggable/drag-node/magnetic-rects/domain/magnetic-rect-element.mjs +66 -0
- package/esm2022/f-draggable/drag-node/magnetic-rects/domain/magnetic-rects-renderer.mjs +50 -0
- package/esm2022/f-draggable/drag-node/magnetic-rects/index.mjs +4 -0
- package/esm2022/f-draggable/drag-node/magnetic-rects/magnetic-rects-handler/index.mjs +2 -0
- package/esm2022/f-draggable/drag-node/magnetic-rects/magnetic-rects-handler/magnetic-rects-handler.mjs +43 -0
- package/esm2022/f-draggable/drag-node/magnetic-rects/magnetic-rects-preparation/index.mjs +3 -0
- package/esm2022/f-draggable/drag-node/magnetic-rects/magnetic-rects-preparation/magnetic-rects-preparation-request.mjs +4 -0
- package/esm2022/f-draggable/drag-node/magnetic-rects/magnetic-rects-preparation/magnetic-rects-preparation.mjs +54 -0
- package/esm2022/f-draggable/drag-node/providers.mjs +13 -0
- package/esm2022/f-draggable/drop-to-group/drop-to-group-finalize/drop-to-group-finalize-request.mjs +8 -0
- package/esm2022/f-draggable/drop-to-group/drop-to-group-finalize/drop-to-group-finalize.mjs +65 -0
- package/esm2022/f-draggable/drop-to-group/drop-to-group-finalize/index.mjs +3 -0
- package/esm2022/f-draggable/drop-to-group/drop-to-group-handler/drop-to-group-handler.mjs +86 -0
- package/esm2022/f-draggable/drop-to-group/drop-to-group-handler/index.mjs +2 -0
- package/esm2022/f-draggable/drop-to-group/drop-to-group-preparation/drop-to-group-preparation-request.mjs +8 -0
- package/esm2022/f-draggable/drop-to-group/drop-to-group-preparation/drop-to-group-preparation.mjs +102 -0
- package/esm2022/f-draggable/drop-to-group/drop-to-group-preparation/index.mjs +3 -0
- package/esm2022/f-draggable/drop-to-group/f-drop-to-group-event.mjs +24 -0
- package/esm2022/f-draggable/drop-to-group/index.mjs +7 -0
- package/esm2022/f-draggable/drop-to-group/providers.mjs +9 -0
- package/esm2022/f-draggable/drop-to-group/sort-drop-candidates-by-layer/index.mjs +3 -0
- package/esm2022/f-draggable/drop-to-group/sort-drop-candidates-by-layer/sort-drop-candidates-by-layer-request.mjs +8 -0
- package/esm2022/f-draggable/drop-to-group/sort-drop-candidates-by-layer/sort-drop-candidates-by-layer.mjs +57 -0
- package/esm2022/f-draggable/f-drag-started-event.mjs +23 -0
- package/esm2022/f-draggable/f-draggable-base.mjs +2 -2
- package/esm2022/f-draggable/f-draggable-data-context.mjs +9 -1
- package/esm2022/f-draggable/f-draggable.directive.mjs +39 -71
- package/esm2022/f-draggable/f-node-resize/calculate-direct-children-union-rect/calculate-direct-children-union-rect.mjs +4 -5
- package/esm2022/f-draggable/f-node-resize/calculate-resize-limits/calculate-resize-limits.mjs +3 -3
- package/esm2022/f-draggable/f-node-resize/i-node-resize-event-data.mjs +2 -0
- package/esm2022/f-draggable/f-node-resize/index.mjs +2 -1
- package/esm2022/f-draggable/f-node-resize/node-resize.drag-handler.mjs +9 -7
- package/esm2022/f-draggable/f-node-resize/resize-preparation/node-resize-preparation.mjs +9 -11
- package/esm2022/f-draggable/f-node-rotate/f-node-rotate.drag-handler.mjs +17 -13
- package/esm2022/f-draggable/f-node-rotate/i-node-rotate-event-data.mjs +2 -0
- package/esm2022/f-draggable/f-node-rotate/index.mjs +2 -1
- package/esm2022/f-draggable/f-node-rotate/rotate-preparation/f-node-rotate-preparation.execution.mjs +19 -21
- package/esm2022/f-draggable/f-selection-change-event.mjs +20 -8
- package/esm2022/f-draggable/index.mjs +10 -7
- package/esm2022/f-draggable/infrastructure/drag-handler-base.mjs +34 -0
- package/esm2022/f-draggable/infrastructure/drag-handler-injector.mjs +98 -0
- package/esm2022/f-draggable/infrastructure/f-drag-handler-result.mjs +20 -0
- package/esm2022/f-draggable/infrastructure/i-drag-session-feature.mjs +2 -0
- package/esm2022/f-draggable/infrastructure/index.mjs +5 -0
- package/esm2022/f-draggable/pinch-to-zoom/finalize/index.mjs +3 -0
- package/esm2022/f-draggable/pinch-to-zoom/finalize/pinch-to-zoom-finalize-request.mjs +8 -0
- package/esm2022/f-draggable/pinch-to-zoom/finalize/pinch-to-zoom-finalize.mjs +31 -0
- package/esm2022/f-draggable/pinch-to-zoom/handler/index.mjs +2 -0
- package/esm2022/f-draggable/pinch-to-zoom/handler/pinch-to-zoom-handler.mjs +88 -0
- package/esm2022/f-draggable/pinch-to-zoom/index.mjs +5 -0
- package/esm2022/f-draggable/pinch-to-zoom/preparation/index.mjs +3 -0
- package/esm2022/f-draggable/pinch-to-zoom/preparation/pinch-to-zoom-preparation-request.mjs +8 -0
- package/esm2022/f-draggable/pinch-to-zoom/preparation/pinch-to-zoom-preparation.mjs +47 -0
- package/esm2022/f-draggable/pinch-to-zoom/providers.mjs +4 -0
- package/esm2022/f-draggable/providers.mjs +14 -12
- package/esm2022/f-draggable/select-by-pointer/index.mjs +4 -0
- package/esm2022/f-draggable/select-by-pointer/providers.mjs +3 -0
- package/esm2022/f-draggable/select-by-pointer/select-by-pointer-request.mjs +10 -0
- package/esm2022/f-draggable/select-by-pointer/select-by-pointer.mjs +128 -0
- package/esm2022/f-draggable/selection-area/index.mjs +5 -0
- package/esm2022/f-draggable/selection-area/providers.mjs +4 -0
- package/esm2022/f-draggable/selection-area/selection-area-finalize/index.mjs +3 -0
- package/esm2022/f-draggable/selection-area/selection-area-finalize/selection-area-finalize-request.mjs +8 -0
- package/esm2022/f-draggable/selection-area/selection-area-finalize/selection-area-finalize.mjs +30 -0
- package/esm2022/f-draggable/selection-area/selection-area-handler/index.mjs +2 -0
- package/esm2022/f-draggable/selection-area/selection-area-handler/selection-area-handler.mjs +79 -0
- package/esm2022/f-draggable/selection-area/selection-area-preparation/index.mjs +3 -0
- package/esm2022/f-draggable/selection-area/selection-area-preparation/selection-area-preparation-request.mjs +8 -0
- package/esm2022/f-draggable/selection-area/selection-area-preparation/selection-area-preparation.mjs +40 -0
- package/esm2022/f-external-item/domain/f-external-item.drag-handler.mjs +13 -11
- package/esm2022/f-external-item/domain/finalize/f-external-item-finalize.execution.mjs +9 -12
- package/esm2022/f-flow/f-flow.component.mjs +41 -28
- package/esm2022/f-flow.module.mjs +48 -39
- package/esm2022/f-line-alignment/f-line-alignment.component.mjs +19 -20
- package/esm2022/f-line-alignment/index.mjs +1 -3
- package/esm2022/f-magnetic-lines/f-magnetic-lines-base.mjs +12 -0
- package/esm2022/f-magnetic-lines/f-magnetic-lines.mjs +24 -0
- package/esm2022/f-magnetic-lines/index.mjs +4 -0
- package/esm2022/f-magnetic-lines/providers.mjs +3 -0
- package/esm2022/f-magnetic-rects/f-magnetic-rects-base.mjs +12 -0
- package/esm2022/f-magnetic-rects/f-magnetic-rects.mjs +29 -0
- package/esm2022/f-magnetic-rects/index.mjs +4 -0
- package/esm2022/f-magnetic-rects/providers.mjs +3 -0
- package/esm2022/f-minimap/domain/f-minimap.drag-handler.mjs +6 -3
- package/esm2022/f-minimap/domain/minimap-draw-nodes/minimap-draw-nodes.execution.mjs +2 -2
- package/esm2022/f-minimap/f-minimap-canvas.directive.mjs +3 -6
- package/esm2022/f-minimap/f-minimap-flow.directive.mjs +4 -7
- package/esm2022/f-minimap/f-minimap-view.directive.mjs +3 -6
- package/esm2022/f-minimap/f-minimap.component.mjs +9 -10
- package/esm2022/f-selection-area/f-selection-area-base.mjs +6 -2
- package/esm2022/f-selection-area/f-selection-area.mjs +29 -0
- package/esm2022/f-selection-area/index.mjs +2 -3
- package/esm2022/f-selection-area/providers.mjs +3 -5
- package/esm2022/f-storage/base/f-id-registry-base.mjs +89 -0
- package/esm2022/f-storage/base/f-single-registry-base.mjs +37 -0
- package/esm2022/f-storage/base/index.mjs +3 -0
- package/esm2022/f-storage/f-components-store.mjs +28 -23
- package/esm2022/f-storage/f-connection-marker-registry.mjs +5 -0
- package/esm2022/f-storage/f-connection-registry.mjs +25 -0
- package/esm2022/f-storage/f-connector-registry.mjs +9 -0
- package/esm2022/f-storage/f-node-registry.mjs +5 -0
- package/esm2022/f-storage/features/index.mjs +8 -0
- package/esm2022/f-storage/features/listen-count-changes/index.mjs +2 -2
- package/esm2022/f-storage/features/listen-count-changes/listen-count-changes-request.mjs +1 -1
- package/esm2022/f-storage/features/listen-count-changes/listen-count-changes.mjs +23 -0
- package/esm2022/f-storage/features/listen-data-changed/index.mjs +3 -0
- package/esm2022/f-storage/features/listen-data-changed/listen-data-changes-request.mjs +4 -0
- package/esm2022/f-storage/features/listen-data-changed/listen-data-changes.mjs +23 -0
- package/esm2022/f-storage/features/listen-transform-changes/index.mjs +3 -3
- package/esm2022/f-storage/features/listen-transform-changes/listen-transform-changes-request.mjs +4 -0
- package/esm2022/f-storage/features/listen-transform-changes/listen-transform-changes.mjs +23 -0
- package/esm2022/f-storage/features/notify-data-changed/index.mjs +2 -2
- package/esm2022/f-storage/features/notify-data-changed/notify-data-changed-request.mjs +1 -1
- package/esm2022/f-storage/features/notify-data-changed/notify-data-changed.mjs +22 -0
- package/esm2022/f-storage/features/notify-transform-changed/index.mjs +3 -3
- package/esm2022/f-storage/features/notify-transform-changed/notify-transform-changed-request.mjs +4 -0
- package/esm2022/f-storage/features/notify-transform-changed/notify-transform-changed.mjs +22 -0
- package/esm2022/f-storage/features/register-plugin-instance/index.mjs +3 -0
- package/esm2022/f-storage/features/register-plugin-instance/register-plugin-instance-request.mjs +10 -0
- package/esm2022/f-storage/features/register-plugin-instance/register-plugin-instance.mjs +25 -0
- package/esm2022/f-storage/features/remove-plugin-instance/index.mjs +3 -0
- package/esm2022/f-storage/features/remove-plugin-instance/remove-plugin-instance-request.mjs +8 -0
- package/esm2022/f-storage/features/remove-plugin-instance/remove-plugin-instance.mjs +25 -0
- package/esm2022/f-storage/index.mjs +7 -7
- package/esm2022/f-storage/providers.mjs +10 -11
- package/esm2022/f-zoom/f-zoom.directive.mjs +14 -23
- package/esm2022/public-api.mjs +5 -1
- package/esm2022/reactivity/debounce-animation-frame.mjs +21 -0
- package/esm2022/reactivity/debounce-microtask.mjs +20 -0
- package/esm2022/reactivity/debounce-time.mjs +16 -5
- package/esm2022/reactivity/f-channel-hub.mjs +33 -9
- package/esm2022/reactivity/index.mjs +4 -1
- package/esm2022/reactivity/notify-on-start.mjs +19 -5
- package/esm2022/reactivity/take-one.mjs +17 -0
- package/esm2022/reactivity/types.mjs +1 -1
- package/esm2022/testing/component-harness.mjs +16 -0
- package/esm2022/testing/di-harness.mjs +32 -0
- package/esm2022/testing/factories.mjs +367 -0
- package/esm2022/testing/index.mjs +8 -0
- package/esm2022/testing/internal/index.mjs +2 -0
- package/esm2022/testing/internal/type-helpers.mjs +28 -0
- package/esm2022/testing/jasmine/index.mjs +2 -0
- package/esm2022/testing/jasmine/spy-helpers.mjs +14 -0
- package/esm2022/testing/mediator-harness.mjs +14 -0
- package/esm2022/testing/pure-harness.mjs +25 -0
- package/esm2022/testing/registry-harness.mjs +23 -0
- package/esm2022/utils/calculate-pointer-in-flow.mjs +9 -0
- package/esm2022/utils/index.mjs +2 -1
- package/f-backgroud/f-background-base.d.ts +1 -1
- package/f-backgroud/f-background.component.d.ts +3 -5
- package/f-backgroud/f-rect-pattern/f-rect-pattern.component.d.ts +2 -2
- package/f-canvas/domain/index.d.ts +1 -1
- package/f-canvas/f-canvas-base.d.ts +2 -2
- package/f-canvas/f-canvas.component.d.ts +2 -9
- package/f-connection/f-connection/f-connection.component.d.ts +2 -7
- package/f-connection/f-connection-for-create/f-connection-for-create.component.d.ts +2 -6
- package/f-connection/f-snap-connection/f-snap-connection.component.d.ts +2 -6
- package/f-connection/index.d.ts +1 -6
- package/f-connection/providers.d.ts +3 -4
- package/f-connection-v2/components/connection-content/f-connection-content.d.ts +42 -0
- package/f-connection-v2/components/connection-content/index.d.ts +3 -0
- package/f-connection-v2/components/connection-content/models/f-connection-content-base.d.ts +36 -0
- package/f-connection-v2/components/connection-content/models/index.d.ts +1 -0
- package/f-connection-v2/components/connection-content/utils/polyline-content-layout-engine.d.ts +13 -0
- package/f-connection-v2/components/connection-drag-handles/f-connection-drag-handle-end.d.ts +8 -0
- package/f-connection-v2/components/connection-drag-handles/f-connection-drag-handle-start.d.ts +8 -0
- package/f-connection-v2/components/connection-drag-handles/index.d.ts +3 -0
- package/f-connection-v2/components/connection-drag-handles/models/f-connection-drag-handle-base.d.ts +11 -0
- package/f-connection-v2/components/connection-drag-handles/models/index.d.ts +1 -0
- package/f-connection-v2/components/connection-gradient/f-connection-gradient.d.ts +16 -0
- package/f-connection-v2/components/connection-gradient/index.d.ts +2 -0
- package/f-connection-v2/components/connection-gradient/models/f-connection-gradient-base.d.ts +8 -0
- package/f-connection-v2/components/connection-gradient/models/index.d.ts +1 -0
- package/f-connection-v2/components/connection-marker/enums/index.d.ts +1 -0
- package/f-connection-v2/components/connection-marker/f-connection-marker.d.ts +17 -0
- package/f-connection-v2/components/connection-marker/index.d.ts +3 -0
- package/f-connection-v2/components/connection-marker/models/f-connection-marker-base.d.ts +13 -0
- package/f-connection-v2/components/connection-marker/models/index.d.ts +1 -0
- package/f-connection-v2/components/connection-path/f-connection-path.d.ts +14 -0
- package/f-connection-v2/components/connection-path/index.d.ts +2 -0
- package/f-connection-v2/components/connection-path/models/f-connection-path-base.d.ts +9 -0
- package/f-connection-v2/components/connection-path/models/index.d.ts +1 -0
- package/f-connection-v2/components/connection-selection/f-connection-selection.d.ts +9 -0
- package/f-connection-v2/components/connection-selection/index.d.ts +2 -0
- package/f-connection-v2/components/connection-selection/models/f-connection-selection-base.d.ts +6 -0
- package/f-connection-v2/components/connection-selection/models/index.d.ts +1 -0
- package/f-connection-v2/components/connection-waypoints/f-connection-waypoints.d.ts +19 -0
- package/f-connection-v2/components/connection-waypoints/index.d.ts +3 -0
- package/f-connection-v2/components/connection-waypoints/models/f-connection-waypoints-base.d.ts +16 -0
- package/f-connection-v2/components/connection-waypoints/models/index.d.ts +1 -0
- package/f-connection-v2/components/connection-waypoints/utils/find-existing-waypoint.d.ts +6 -0
- package/f-connection-v2/components/connection-waypoints/utils/find-waypoint-candidate.d.ts +6 -0
- package/f-connection-v2/components/connection-waypoints/utils/index.d.ts +4 -0
- package/f-connection-v2/components/connection-waypoints/utils/is-pointer-inside-point.d.ts +2 -0
- package/f-connection-v2/components/connection-waypoints/utils/pick-waypoint.d.ts +17 -0
- package/f-connection-v2/components/f-connection-base.d.ts +63 -0
- package/f-connection-v2/components/index.d.ts +8 -0
- package/f-connection-v2/enums/index.d.ts +2 -0
- package/f-connection-v2/index.d.ts +4 -0
- package/f-connection-v2/models/f-connection-components-parent.d.ts +15 -0
- package/f-connection-v2/models/index.d.ts +1 -0
- package/f-connection-v2/utils/connection-behaviour/connection-behaviour-builder-request.d.ts +11 -0
- package/f-connection-v2/utils/connection-behaviour/connection-behaviour-builder.d.ts +46 -0
- package/f-connection-v2/utils/connection-behaviour/enums/index.d.ts +2 -0
- package/f-connection-v2/utils/connection-behaviour/index.d.ts +5 -0
- package/f-connection-v2/utils/connection-behaviour/models/i-calculate-behavior-request.d.ts +8 -0
- package/f-connection-v2/utils/connection-behaviour/models/index.d.ts +1 -0
- package/f-connection-v2/utils/connection-behaviour/utils/fixed-center-behavior.d.ts +8 -0
- package/f-connection-v2/utils/connection-behaviour/utils/fixed-outbound-behavior.d.ts +8 -0
- package/f-connection-v2/utils/connection-behaviour/utils/floating-behavior.d.ts +8 -0
- package/f-connection-v2/utils/connection-behaviour/utils/index.d.ts +3 -0
- package/f-connection-v2/utils/connection-line-builder/builders/adaptive-curve/calculate-adaptive-curve-data.d.ts +8 -0
- package/f-connection-v2/utils/connection-line-builder/builders/adaptive-curve/index.d.ts +1 -0
- package/f-connection-v2/utils/connection-line-builder/builders/bezier-curve/calculate-bezier-curve-data.d.ts +4 -0
- package/f-connection-v2/utils/connection-line-builder/builders/bezier-curve/index.d.ts +1 -0
- package/f-connection-v2/utils/connection-line-builder/builders/index.d.ts +5 -0
- package/f-connection-v2/utils/connection-line-builder/builders/segment-line/build-corner-mid-points-and-apply-offsets.d.ts +17 -0
- package/f-connection-v2/utils/connection-line-builder/builders/segment-line/calculate-segment-line-data.d.ts +6 -0
- package/f-connection-v2/utils/connection-line-builder/builders/segment-line/create-segment-line-path.d.ts +2 -0
- package/f-connection-v2/utils/connection-line-builder/builders/segment-line/index.d.ts +3 -0
- package/f-connection-v2/utils/connection-line-builder/builders/straight-line/calculate-straight-line-data.d.ts +4 -0
- package/f-connection-v2/utils/connection-line-builder/builders/straight-line/index.d.ts +1 -0
- package/f-connection-v2/utils/connection-line-builder/builders/utils/build-connection-anchors.d.ts +2 -0
- package/f-connection-v2/utils/connection-line-builder/builders/utils/calculate-center-between-points.d.ts +2 -0
- package/f-connection-v2/utils/connection-line-builder/builders/utils/calculate-curve-candidates.d.ts +3 -0
- package/f-connection-v2/utils/connection-line-builder/builders/utils/calculate-polyline-candidates.d.ts +2 -0
- package/f-connection-v2/utils/connection-line-builder/builders/utils/index.d.ts +8 -0
- package/f-connection-v2/utils/connection-line-builder/builders/utils/merge-point-chains.d.ts +2 -0
- package/f-connection-v2/utils/connection-line-builder/builders/utils/multi-cubic.d.ts +10 -0
- package/f-connection-v2/utils/connection-line-builder/builders/utils/normalize-polyline.d.ts +2 -0
- package/f-connection-v2/utils/connection-line-builder/builders/utils/sample-cubic-bezier-uniform.d.ts +24 -0
- package/f-connection-v2/utils/connection-line-builder/connection-line-builder-request.d.ts +7 -0
- package/f-connection-v2/utils/connection-line-builder/connection-line-builder.d.ts +13 -0
- package/f-connection-v2/utils/connection-line-builder/index.d.ts +5 -0
- package/f-connection-v2/utils/connection-line-builder/models/i-f-connection-builder-request.d.ts +11 -0
- package/f-connection-v2/utils/connection-line-builder/models/i-f-connection-builder-response.d.ts +8 -0
- package/f-connection-v2/utils/connection-line-builder/models/i-f-connection-builder.d.ts +5 -0
- package/f-connection-v2/utils/connection-line-builder/models/index.d.ts +3 -0
- package/f-connection-v2/utils/connection-line-builder/providers/f-connection-builders.d.ts +4 -0
- package/f-connection-v2/utils/connection-line-builder/providers/index.d.ts +1 -0
- package/f-connection-v2/utils/create-connection-dom-identifier.d.ts +1 -0
- package/f-connection-v2/utils/create-connection-selection-dom-identifier.d.ts +1 -0
- package/f-connection-v2/utils/create-gradient-dom-identifier.d.ts +1 -0
- package/f-connection-v2/utils/create-gradient-dom-url.d.ts +1 -0
- package/f-connection-v2/utils/index.d.ts +6 -0
- package/f-connectors/f-connector-base.d.ts +3 -1
- package/f-connectors/f-node-input/f-node-input-base.d.ts +2 -1
- package/f-connectors/f-node-input/f-node-input.directive.d.ts +1 -1
- package/f-connectors/f-node-outlet/f-node-outlet-base.d.ts +2 -1
- package/f-connectors/f-node-outlet/f-node-outlet.directive.d.ts +1 -1
- package/f-connectors/f-node-output/f-node-output-base.d.ts +2 -0
- package/f-connectors/f-node-output/f-node-output.directive.d.ts +1 -1
- package/f-connectors/f-source-connector-base.d.ts +3 -0
- package/f-connectors/index.d.ts +0 -1
- package/f-draggable/connection/create-connection/create-connection-finalize/create-connection-finalize-request.d.ts +6 -0
- package/f-draggable/connection/create-connection/create-connection-finalize/create-connection-finalize.d.ts +19 -0
- package/f-draggable/connection/create-connection/create-connection-finalize/index.d.ts +2 -0
- package/f-draggable/connection/create-connection/create-connection-handler/create-connection-handler.d.ts +35 -0
- package/f-draggable/connection/create-connection/create-connection-handler/index.d.ts +1 -0
- package/f-draggable/connection/create-connection/create-connection-preparation/create-connection-preparation.d.ts +14 -0
- package/f-draggable/connection/create-connection/create-connection-preparation/create-drag-handler/create-connection-create-drag-handler-request.d.ts +8 -0
- package/f-draggable/connection/create-connection/create-connection-preparation/create-drag-handler/create-connection-create-drag-handler.d.ts +26 -0
- package/f-draggable/connection/create-connection/create-connection-preparation/create-drag-handler/index.d.ts +2 -0
- package/f-draggable/connection/create-connection/create-connection-preparation/from-outlet-preparation/create-connection-from-outlet-preparation-request.d.ts +8 -0
- package/f-draggable/connection/create-connection/create-connection-preparation/from-outlet-preparation/create-connection-from-outlet-preparation.d.ts +14 -0
- package/f-draggable/connection/create-connection/create-connection-preparation/from-outlet-preparation/index.d.ts +2 -0
- package/f-draggable/connection/create-connection/create-connection-preparation/from-output-preparation/create-connection-from-output-preparation.d.ts +13 -0
- package/f-draggable/connection/create-connection/create-connection-preparation/index.d.ts +5 -0
- package/f-draggable/connection/create-connection/f-create-connection-event.d.ts +16 -0
- package/f-draggable/connection/create-connection/i-create-connection-drag-result.d.ts +7 -0
- package/f-draggable/connection/create-connection/i-create-connection-event-data.d.ts +3 -0
- package/f-draggable/connection/create-connection/index.d.ts +7 -0
- package/f-draggable/connection/create-connection/resolve-connectable-output-for-outlet/index.d.ts +2 -0
- package/f-draggable/connection/create-connection/resolve-connectable-output-for-outlet/resolve-connectable-output-for-outlet-request.d.ts +6 -0
- package/f-draggable/connection/create-connection/resolve-connectable-output-for-outlet/resolve-connectable-output-for-outlet.d.ts +12 -0
- package/f-draggable/connection/drag-connection-waypoint/drag-connection-waypoint-finalize/drag-connection-waypoint-finalize-request.d.ts +6 -0
- package/f-draggable/connection/drag-connection-waypoint/drag-connection-waypoint-finalize/drag-connection-waypoint-finalize.d.ts +11 -0
- package/f-draggable/connection/drag-connection-waypoint/drag-connection-waypoint-finalize/index.d.ts +2 -0
- package/f-draggable/connection/drag-connection-waypoint/drag-connection-waypoint-handler/drag-connection-waypoint-handler.d.ts +21 -0
- package/f-draggable/connection/drag-connection-waypoint/drag-connection-waypoint-handler/index.d.ts +1 -0
- package/f-draggable/connection/drag-connection-waypoint/drag-connection-waypoint-preparation/drag-connection-waypoint-preparation-request.d.ts +8 -0
- package/f-draggable/connection/drag-connection-waypoint/drag-connection-waypoint-preparation/drag-connection-waypoint-preparation.d.ts +19 -0
- package/f-draggable/connection/drag-connection-waypoint/drag-connection-waypoint-preparation/index.d.ts +2 -0
- package/f-draggable/connection/drag-connection-waypoint/f-connection-waypoints-changed-event.d.ts +6 -0
- package/f-draggable/connection/drag-connection-waypoint/index.d.ts +4 -0
- package/f-draggable/connection/index.d.ts +4 -0
- package/f-draggable/connection/providers.d.ts +4 -0
- package/f-draggable/connection/reassign-connection/f-reassign-connection-event.d.ts +29 -0
- package/f-draggable/connection/reassign-connection/i-reassign-connection-drag-result.d.ts +17 -0
- package/f-draggable/connection/reassign-connection/i-reassign-connection-event-data.d.ts +3 -0
- package/f-draggable/connection/reassign-connection/index.d.ts +6 -0
- package/f-draggable/connection/reassign-connection/reassign-connection-finalize/index.d.ts +2 -0
- package/f-draggable/connection/reassign-connection/reassign-connection-finalize/reassign-connection-finalize-request.d.ts +6 -0
- package/f-draggable/connection/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.d.ts +18 -0
- package/f-draggable/connection/reassign-connection/reassign-connection-handler/i-reassign-handler.d.ts +15 -0
- package/f-draggable/connection/reassign-connection/reassign-connection-handler/index.d.ts +4 -0
- package/f-draggable/connection/reassign-connection/reassign-connection-handler/reassign-connection-handler.d.ts +30 -0
- package/f-draggable/connection/reassign-connection/reassign-connection-handler/reassign-connection-source-handler.d.ts +27 -0
- package/f-draggable/connection/reassign-connection/reassign-connection-handler/reassign-connection-target-handler.d.ts +27 -0
- package/f-draggable/connection/reassign-connection/reassign-connection-preparation/index.d.ts +3 -0
- package/f-draggable/connection/reassign-connection/reassign-connection-preparation/is-pointer-inside-start-or-end-drag-handles.d.ts +5 -0
- package/f-draggable/connection/reassign-connection/reassign-connection-preparation/reassign-connection-preparation-request.d.ts +8 -0
- package/f-draggable/connection/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.d.ts +20 -0
- package/f-draggable/domain/detect-connections-under-drag-node/detect-connections-under-drag-node-request.d.ts +6 -0
- package/f-draggable/domain/detect-connections-under-drag-node/detect-connections-under-drag-node.d.ts +14 -0
- package/f-draggable/domain/detect-connections-under-drag-node/f-node-intersected-with-connections-event.d.ts +25 -0
- package/f-draggable/domain/detect-connections-under-drag-node/index.d.ts +3 -0
- package/f-draggable/domain/emit-end-drag-sequence-event/emit-end-drag-sequence-event-request.d.ts +3 -0
- package/f-draggable/domain/emit-end-drag-sequence-event/emit-end-drag-sequence-event.d.ts +14 -0
- package/f-draggable/domain/emit-end-drag-sequence-event/index.d.ts +2 -0
- package/f-draggable/domain/emit-selection-change-event/emit-selection-change-event.d.ts +17 -0
- package/f-draggable/domain/emit-selection-change-event/index.d.ts +2 -0
- package/f-draggable/domain/emit-start-drag-sequence-event/emit-start-drag-sequence-event-request.d.ts +3 -0
- package/f-draggable/domain/emit-start-drag-sequence-event/emit-start-drag-sequence-event.d.ts +15 -0
- package/f-draggable/domain/emit-start-drag-sequence-event/index.d.ts +2 -0
- package/f-draggable/domain/index.d.ts +4 -2
- package/f-draggable/domain/providers.d.ts +5 -2
- package/f-draggable/drag-canvas/drag-canvas-finalize/drag-canvas-finalize-request.d.ts +6 -0
- package/f-draggable/drag-canvas/drag-canvas-finalize/drag-canvas-finalize.d.ts +10 -0
- package/f-draggable/drag-canvas/drag-canvas-finalize/index.d.ts +2 -0
- package/f-draggable/drag-canvas/drag-canvas-handler/drag-canvas-handler.d.ts +15 -0
- package/f-draggable/drag-canvas/drag-canvas-handler/index.d.ts +1 -0
- package/f-draggable/drag-canvas/drag-canvas-preparation/drag-canvas-preparation-request.d.ts +8 -0
- package/f-draggable/drag-canvas/drag-canvas-preparation/drag-canvas-preparation.d.ts +16 -0
- package/f-draggable/drag-canvas/drag-canvas-preparation/index.d.ts +2 -0
- package/f-draggable/drag-canvas/index.d.ts +4 -0
- package/f-draggable/drag-canvas/providers.d.ts +3 -0
- package/f-draggable/drag-node/attach-drag-node-handler-from-selection/attach-drag-node-handler-from-selection-request.d.ts +6 -0
- package/f-draggable/drag-node/attach-drag-node-handler-from-selection/attach-drag-node-handler-from-selection.d.ts +18 -0
- package/f-draggable/drag-node/attach-drag-node-handler-from-selection/attach-source-connection-drag-handlers-to-node/attach-source-connection-drag-handlers-to-node-request.d.ts +28 -0
- package/f-draggable/drag-node/attach-drag-node-handler-from-selection/attach-source-connection-drag-handlers-to-node/attach-source-connection-drag-handlers-to-node.d.ts +18 -0
- package/f-draggable/drag-node/attach-drag-node-handler-from-selection/attach-source-connection-drag-handlers-to-node/index.d.ts +2 -0
- package/f-draggable/drag-node/attach-drag-node-handler-from-selection/attach-target-connection-drag-handlers-to-node/attach-target-connection-drag-handlers-to-node-request.d.ts +28 -0
- package/f-draggable/drag-node/attach-drag-node-handler-from-selection/attach-target-connection-drag-handlers-to-node/attach-target-connection-drag-handlers-to-node.d.ts +16 -0
- package/f-draggable/drag-node/attach-drag-node-handler-from-selection/attach-target-connection-drag-handlers-to-node/index.d.ts +2 -0
- package/f-draggable/drag-node/attach-drag-node-handler-from-selection/build-drag-node-constraints/build-drag-node-constraints-request.d.ts +6 -0
- package/f-draggable/drag-node/attach-drag-node-handler-from-selection/build-drag-node-constraints/build-drag-node-constraints.d.ts +19 -0
- package/f-draggable/drag-node/attach-drag-node-handler-from-selection/build-drag-node-constraints/index.d.ts +2 -0
- package/f-draggable/drag-node/attach-drag-node-handler-from-selection/create-drag-node-handler/create-drag-node-handler-request.d.ts +13 -0
- package/f-draggable/drag-node/attach-drag-node-handler-from-selection/create-drag-node-handler/create-drag-node-handler.d.ts +13 -0
- package/f-draggable/drag-node/attach-drag-node-handler-from-selection/create-drag-node-handler/index.d.ts +2 -0
- package/f-draggable/drag-node/attach-drag-node-handler-from-selection/create-drag-node-hierarchy/create-drag-node-hierarchy-request.d.ts +7 -0
- package/f-draggable/drag-node/attach-drag-node-handler-from-selection/create-drag-node-hierarchy/create-drag-node-hierarchy.d.ts +12 -0
- package/f-draggable/drag-node/attach-drag-node-handler-from-selection/create-drag-node-hierarchy/drag-node-hierarchy.d.ts +6 -0
- package/f-draggable/drag-node/attach-drag-node-handler-from-selection/create-drag-node-hierarchy/index.d.ts +3 -0
- package/f-draggable/drag-node/attach-drag-node-handler-from-selection/index.d.ts +9 -0
- package/f-draggable/drag-node/attach-drag-node-handler-from-selection/providers.d.ts +8 -0
- package/f-draggable/drag-node/attach-drag-node-handler-from-selection/read-node-bounds-with-paddings/index.d.ts +3 -0
- package/f-draggable/drag-node/attach-drag-node-handler-from-selection/read-node-bounds-with-paddings/read-node-bounds-with-paddings-request.d.ts +7 -0
- package/f-draggable/drag-node/attach-drag-node-handler-from-selection/read-node-bounds-with-paddings/read-node-bounds-with-paddings-response.d.ts +9 -0
- package/f-draggable/drag-node/attach-drag-node-handler-from-selection/read-node-bounds-with-paddings/read-node-bounds-with-paddings.d.ts +12 -0
- package/f-draggable/drag-node/drag-node-constraint/delta-clamp.d.ts +20 -0
- package/f-draggable/drag-node/drag-node-constraint/drag-node-delta-constraints.d.ts +14 -0
- package/f-draggable/drag-node/drag-node-constraint/expand-rect-by-overflow.d.ts +3 -0
- package/f-draggable/drag-node/drag-node-constraint/grid-snapper.d.ts +18 -0
- package/f-draggable/drag-node/drag-node-constraint/i-drag-node-delta-constraints-result.d.ts +8 -0
- package/f-draggable/drag-node/drag-node-constraint/i-drag-node-delta-constraints.d.ts +12 -0
- package/f-draggable/drag-node/drag-node-constraint/index.d.ts +6 -0
- package/f-draggable/drag-node/drag-node-dependent-connection-handlers/drag-node-connection-both-sides-handler.d.ts +12 -0
- package/f-draggable/drag-node/drag-node-dependent-connection-handlers/drag-node-connection-handler-base.d.ts +20 -0
- package/f-draggable/drag-node/drag-node-dependent-connection-handlers/drag-node-connection-source-handler.d.ts +8 -0
- package/f-draggable/drag-node/drag-node-dependent-connection-handlers/drag-node-connection-target-handler.d.ts +8 -0
- package/f-draggable/drag-node/drag-node-dependent-connection-handlers/index.d.ts +4 -0
- package/f-draggable/drag-node/drag-node-finalize/drag-node-finalize-request.d.ts +6 -0
- package/f-draggable/drag-node/drag-node-finalize/drag-node-finalize.d.ts +21 -0
- package/f-draggable/drag-node/drag-node-finalize/index.d.ts +2 -0
- package/f-draggable/drag-node/drag-node-handler/drag-node-handler.d.ts +39 -0
- package/f-draggable/drag-node/drag-node-handler/drag-node-item-handler.d.ts +36 -0
- package/f-draggable/drag-node/drag-node-handler/index.d.ts +2 -0
- package/f-draggable/drag-node/drag-node-preparation/drag-node-preparation-request.d.ts +8 -0
- package/f-draggable/drag-node/drag-node-preparation/drag-node-preparation.d.ts +16 -0
- package/f-draggable/drag-node/drag-node-preparation/index.d.ts +2 -0
- package/f-draggable/drag-node/f-drag-node-start-event-data.d.ts +4 -0
- package/f-draggable/drag-node/f-move-nodes-event.d.ts +16 -0
- package/f-draggable/drag-node/index.d.ts +11 -0
- package/f-draggable/drag-node/magnetic-lines/domain/calculate-magnetic-guides.d.ts +3 -0
- package/f-draggable/drag-node/magnetic-lines/domain/i-magnetic-axis-guide.d.ts +6 -0
- package/f-draggable/drag-node/magnetic-lines/domain/i-magnetic-guides-result.d.ts +5 -0
- package/f-draggable/drag-node/magnetic-lines/domain/index.d.ts +5 -0
- package/f-draggable/drag-node/magnetic-lines/domain/magnetic-line-element.d.ts +17 -0
- package/f-draggable/drag-node/magnetic-lines/domain/magnetic-line-renderer.d.ts +13 -0
- package/f-draggable/drag-node/magnetic-lines/index.d.ts +3 -0
- package/f-draggable/drag-node/magnetic-lines/magnetic-lines-handler/index.d.ts +1 -0
- package/f-draggable/drag-node/magnetic-lines/magnetic-lines-handler/magnetic-lines-handler.d.ts +18 -0
- package/f-draggable/drag-node/magnetic-lines/magnetic-lines-preparation/index.d.ts +2 -0
- package/f-draggable/drag-node/magnetic-lines/magnetic-lines-preparation/magnetic-lines-preparation-request.d.ts +3 -0
- package/f-draggable/drag-node/magnetic-lines/magnetic-lines-preparation/magnetic-lines-preparation.d.ts +18 -0
- package/f-draggable/drag-node/magnetic-rects/domain/calculate-magnetic-rects.d.ts +3 -0
- package/f-draggable/drag-node/magnetic-rects/domain/i-magnetic-gap-rect.d.ts +6 -0
- package/f-draggable/drag-node/magnetic-rects/domain/i-magnetic-rects-result.d.ts +11 -0
- package/f-draggable/drag-node/magnetic-rects/domain/index.d.ts +5 -0
- package/f-draggable/drag-node/magnetic-rects/domain/magnetic-rect-element.d.ts +15 -0
- package/f-draggable/drag-node/magnetic-rects/domain/magnetic-rects-renderer.d.ts +15 -0
- package/f-draggable/drag-node/magnetic-rects/index.d.ts +3 -0
- package/f-draggable/drag-node/magnetic-rects/magnetic-rects-handler/index.d.ts +1 -0
- package/f-draggable/drag-node/magnetic-rects/magnetic-rects-handler/magnetic-rects-handler.d.ts +16 -0
- package/f-draggable/drag-node/magnetic-rects/magnetic-rects-preparation/index.d.ts +2 -0
- package/f-draggable/drag-node/magnetic-rects/magnetic-rects-preparation/magnetic-rects-preparation-request.d.ts +3 -0
- package/f-draggable/drag-node/magnetic-rects/magnetic-rects-preparation/magnetic-rects-preparation.d.ts +17 -0
- package/f-draggable/drag-node/providers.d.ts +5 -0
- package/f-draggable/drop-to-group/drop-to-group-finalize/drop-to-group-finalize-request.d.ts +6 -0
- package/f-draggable/drop-to-group/drop-to-group-finalize/drop-to-group-finalize.d.ts +18 -0
- package/f-draggable/drop-to-group/drop-to-group-handler/drop-to-group-handler.d.ts +30 -0
- package/f-draggable/drop-to-group/drop-to-group-handler/index.d.ts +1 -0
- package/f-draggable/drop-to-group/drop-to-group-preparation/drop-to-group-preparation.d.ts +23 -0
- package/f-draggable/drop-to-group/f-drop-to-group-event.d.ts +16 -0
- package/f-draggable/drop-to-group/index.d.ts +6 -0
- package/f-draggable/drop-to-group/providers.d.ts +4 -0
- package/f-draggable/drop-to-group/sort-drop-candidates-by-layer/index.d.ts +2 -0
- package/f-draggable/drop-to-group/sort-drop-candidates-by-layer/sort-drop-candidates-by-layer-request.d.ts +6 -0
- package/f-draggable/drop-to-group/sort-drop-candidates-by-layer/sort-drop-candidates-by-layer.d.ts +10 -0
- package/f-draggable/f-drag-started-event.d.ts +15 -0
- package/f-draggable/f-draggable-base.d.ts +9 -5
- package/f-draggable/f-draggable-data-context.d.ts +2 -2
- package/f-draggable/f-draggable.directive.d.ts +13 -6
- package/f-draggable/f-node-resize/i-node-resize-event-data.d.ts +3 -0
- package/f-draggable/f-node-resize/index.d.ts +1 -0
- package/f-draggable/f-node-resize/node-resize.drag-handler.d.ts +8 -4
- package/f-draggable/f-node-resize/resize-preparation/node-resize-preparation.d.ts +0 -1
- package/f-draggable/f-node-rotate/f-node-rotate.drag-handler.d.ts +11 -7
- package/f-draggable/f-node-rotate/i-node-rotate-event-data.d.ts +3 -0
- package/f-draggable/f-node-rotate/index.d.ts +1 -0
- package/f-draggable/f-node-rotate/rotate-preparation/f-node-rotate-preparation.execution.d.ts +2 -1
- package/f-draggable/f-selection-change-event.d.ts +10 -4
- package/f-draggable/index.d.ts +9 -6
- package/f-draggable/infrastructure/drag-handler-base.d.ts +20 -0
- package/f-draggable/infrastructure/drag-handler-injector.d.ts +18 -0
- package/f-draggable/infrastructure/i-drag-session-feature.d.ts +12 -0
- package/f-draggable/infrastructure/index.d.ts +4 -0
- package/f-draggable/pinch-to-zoom/finalize/index.d.ts +2 -0
- package/f-draggable/pinch-to-zoom/finalize/pinch-to-zoom-finalize-request.d.ts +6 -0
- package/f-draggable/pinch-to-zoom/finalize/pinch-to-zoom-finalize.d.ts +10 -0
- package/f-draggable/pinch-to-zoom/handler/index.d.ts +1 -0
- package/f-draggable/pinch-to-zoom/handler/pinch-to-zoom-handler.d.ts +24 -0
- package/f-draggable/pinch-to-zoom/index.d.ts +4 -0
- package/f-draggable/pinch-to-zoom/preparation/index.d.ts +2 -0
- package/f-draggable/pinch-to-zoom/preparation/pinch-to-zoom-preparation-request.d.ts +6 -0
- package/f-draggable/pinch-to-zoom/preparation/pinch-to-zoom-preparation.d.ts +14 -0
- package/f-draggable/pinch-to-zoom/providers.d.ts +3 -0
- package/f-draggable/providers.d.ts +1 -1
- package/f-draggable/select-by-pointer/index.d.ts +3 -0
- package/f-draggable/select-by-pointer/providers.d.ts +2 -0
- package/f-draggable/select-by-pointer/select-by-pointer-request.d.ts +8 -0
- package/f-draggable/select-by-pointer/select-by-pointer.d.ts +58 -0
- package/f-draggable/selection-area/index.d.ts +4 -0
- package/f-draggable/selection-area/providers.d.ts +3 -0
- package/f-draggable/selection-area/selection-area-finalize/index.d.ts +2 -0
- package/f-draggable/selection-area/selection-area-finalize/selection-area-finalize-request.d.ts +6 -0
- package/f-draggable/selection-area/selection-area-finalize/selection-area-finalize.d.ts +10 -0
- package/f-draggable/selection-area/selection-area-handler/index.d.ts +1 -0
- package/f-draggable/selection-area/selection-area-handler/selection-area-handler.d.ts +24 -0
- package/f-draggable/selection-area/selection-area-preparation/index.d.ts +2 -0
- package/f-draggable/selection-area/selection-area-preparation/selection-area-preparation-request.d.ts +6 -0
- package/f-draggable/selection-area/selection-area-preparation/selection-area-preparation.d.ts +13 -0
- package/f-external-item/domain/f-external-item.drag-handler.d.ts +7 -4
- package/f-external-item/domain/finalize/f-external-item-finalize.execution.d.ts +2 -3
- package/f-flow/f-flow.component.d.ts +1 -1
- package/f-flow.module.d.ts +38 -37
- package/f-line-alignment/f-line-alignment.component.d.ts +9 -7
- package/f-line-alignment/index.d.ts +0 -2
- package/f-magnetic-lines/f-magnetic-lines-base.d.ts +9 -0
- package/f-magnetic-lines/f-magnetic-lines.d.ts +11 -0
- package/f-magnetic-lines/index.d.ts +3 -0
- package/f-magnetic-lines/providers.d.ts +2 -0
- package/f-magnetic-rects/f-magnetic-rects-base.d.ts +10 -0
- package/f-magnetic-rects/f-magnetic-rects.d.ts +12 -0
- package/f-magnetic-rects/index.d.ts +3 -0
- package/f-magnetic-rects/providers.d.ts +2 -0
- package/f-minimap/domain/f-minimap.drag-handler.d.ts +4 -3
- package/f-minimap/f-minimap-canvas.directive.d.ts +1 -2
- package/f-minimap/f-minimap-flow.directive.d.ts +1 -2
- package/f-minimap/f-minimap-view.directive.d.ts +1 -2
- package/f-minimap/f-minimap.component.d.ts +2 -2
- package/f-selection-area/f-selection-area-base.d.ts +4 -5
- package/f-selection-area/f-selection-area.d.ts +12 -0
- package/f-selection-area/index.d.ts +1 -2
- package/f-selection-area/providers.d.ts +2 -2
- package/f-storage/base/f-id-registry-base.d.ts +41 -0
- package/f-storage/base/f-single-registry-base.d.ts +14 -0
- package/f-storage/base/index.d.ts +2 -0
- package/f-storage/f-components-store.d.ts +26 -18
- package/f-storage/f-connection-marker-registry.d.ts +5 -0
- package/f-storage/f-connection-registry.d.ts +14 -0
- package/f-storage/f-connector-registry.d.ts +5 -0
- package/f-storage/f-node-registry.d.ts +5 -0
- package/f-storage/features/index.d.ts +7 -0
- package/f-storage/features/listen-count-changes/index.d.ts +1 -1
- package/f-storage/features/listen-count-changes/listen-count-changes.d.ts +10 -0
- package/f-storage/features/listen-data-changed/index.d.ts +2 -0
- package/f-storage/features/listen-data-changed/listen-data-changes.d.ts +10 -0
- package/f-storage/features/listen-transform-changes/index.d.ts +2 -2
- package/f-storage/features/listen-transform-changes/listen-transform-changes.d.ts +10 -0
- package/f-storage/features/notify-data-changed/index.d.ts +1 -1
- package/f-storage/features/notify-data-changed/notify-data-changed.d.ts +9 -0
- package/f-storage/features/notify-transform-changed/index.d.ts +2 -2
- package/f-storage/features/notify-transform-changed/notify-transform-changed.d.ts +9 -0
- package/f-storage/features/register-plugin-instance/index.d.ts +2 -0
- package/f-storage/features/register-plugin-instance/register-plugin-instance-request.d.ts +7 -0
- package/f-storage/features/register-plugin-instance/register-plugin-instance.d.ts +12 -0
- package/f-storage/features/remove-plugin-instance/index.d.ts +2 -0
- package/f-storage/features/remove-plugin-instance/remove-plugin-instance-request.d.ts +6 -0
- package/f-storage/features/remove-plugin-instance/remove-plugin-instance.d.ts +12 -0
- package/f-storage/index.d.ts +6 -6
- package/f-storage/providers.d.ts +3 -6
- package/f-zoom/f-zoom.directive.d.ts +3 -6
- package/fesm2022/foblex-flow.mjs +9347 -7375
- package/fesm2022/foblex-flow.mjs.map +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +4 -0
- package/reactivity/debounce-animation-frame.d.ts +2 -0
- package/reactivity/debounce-microtask.d.ts +2 -0
- package/reactivity/index.d.ts +3 -0
- package/reactivity/take-one.d.ts +2 -0
- package/reactivity/types.d.ts +6 -1
- package/testing/component-harness.d.ts +9 -0
- package/testing/di-harness.d.ts +10 -0
- package/testing/factories.d.ts +104 -0
- package/testing/index.d.ts +7 -0
- package/testing/internal/index.d.ts +1 -0
- package/testing/internal/type-helpers.d.ts +12 -0
- package/testing/jasmine/index.d.ts +1 -0
- package/testing/jasmine/spy-helpers.d.ts +11 -0
- package/testing/mediator-harness.d.ts +7 -0
- package/testing/pure-harness.d.ts +12 -0
- package/testing/registry-harness.d.ts +6 -0
- package/utils/calculate-pointer-in-flow.d.ts +4 -0
- package/utils/index.d.ts +1 -0
- package/domain/f-background/add-background-to-store/add-background-to-store-request.d.ts +0 -6
- package/domain/f-background/add-background-to-store/add-background-to-store.execution.d.ts +0 -12
- package/domain/f-background/add-background-to-store/index.d.ts +0 -2
- package/domain/f-background/remove-background-from-store/index.d.ts +0 -2
- package/domain/f-background/remove-background-from-store/remove-background-from-store-request.d.ts +0 -6
- package/domain/f-background/remove-background-from-store/remove-background-from-store.execution.d.ts +0 -12
- package/domain/f-background/set-background-transform/set-background-transform.execution.d.ts +0 -12
- package/domain/f-connection/add-connection-for-create-to-store/add-connection-for-create-to-store.execution.d.ts +0 -12
- package/domain/f-connection/add-connection-marker-to-store/add-connection-marker-to-store.execution.d.ts +0 -12
- package/domain/f-connection/add-connection-to-store/add-connection-to-store.execution.d.ts +0 -12
- package/domain/f-connection/add-snap-connection-to-store/add-snap-connection-to-store.execution.d.ts +0 -12
- package/domain/f-connection/calculate-connection-line-by-behavior/calculate-connection-line-by-behavior-request.d.ts +0 -12
- package/domain/f-connection/calculate-connection-line-by-behavior/calculate-connection-line-by-behavior.d.ts +0 -47
- package/domain/f-connection/calculate-connection-line-by-behavior/index.d.ts +0 -6
- package/domain/f-connection/calculate-connection-line-by-behavior/models/calculate-behavior-request.d.ts +0 -8
- package/domain/f-connection/calculate-connection-line-by-behavior/utils/fixed-center-behavior.d.ts +0 -8
- package/domain/f-connection/calculate-connection-line-by-behavior/utils/fixed-outbound-behavior.d.ts +0 -8
- package/domain/f-connection/calculate-connection-line-by-behavior/utils/floating-behavior.d.ts +0 -8
- package/domain/f-connection/create-connection-markers/create-connection-markers.execution.d.ts +0 -17
- package/domain/f-connection/remove-connection-for-create-from-store/remove-connection-for-create-from-store.execution.d.ts +0 -12
- package/domain/f-connection/remove-connection-from-store/remove-connection-from-store.execution.d.ts +0 -13
- package/domain/f-connection/remove-connection-marker-from-store/remove-connection-marker-from-store.execution.d.ts +0 -12
- package/domain/f-connection/remove-snap-connection-from-store/remove-snap-connection-from-store.execution.d.ts +0 -12
- package/domain/f-connectors/add-input-to-store/add-input-to-store-request.d.ts +0 -6
- package/domain/f-connectors/add-input-to-store/add-input-to-store.d.ts +0 -12
- package/domain/f-connectors/add-input-to-store/index.d.ts +0 -2
- package/domain/f-connectors/add-outlet-to-store/add-outlet-to-store-request.d.ts +0 -6
- package/domain/f-connectors/add-outlet-to-store/add-outlet-to-store.d.ts +0 -12
- package/domain/f-connectors/add-outlet-to-store/index.d.ts +0 -2
- package/domain/f-connectors/add-output-to-store/add-output-to-store-request.d.ts +0 -6
- package/domain/f-connectors/add-output-to-store/add-output-to-store.d.ts +0 -12
- package/domain/f-connectors/add-output-to-store/index.d.ts +0 -2
- package/domain/f-connectors/get-connector-and-rect/get-connector-and-rect-request.d.ts +0 -6
- package/domain/f-connectors/get-connector-and-rect/get-connector-and-rect.d.ts +0 -14
- package/domain/f-connectors/get-connector-and-rect/index.d.ts +0 -2
- package/domain/f-connectors/i-closest-connector.d.ts +0 -10
- package/domain/f-connectors/i-connector-and-rect.d.ts +0 -6
- package/domain/f-connectors/remove-input-from-store/index.d.ts +0 -2
- package/domain/f-connectors/remove-input-from-store/remove-input-from-store-request.d.ts +0 -6
- package/domain/f-connectors/remove-input-from-store/remove-input-from-store.d.ts +0 -12
- package/domain/f-connectors/remove-outlet-from-store/index.d.ts +0 -2
- package/domain/f-connectors/remove-outlet-from-store/remove-outlet-from-store-request.d.ts +0 -6
- package/domain/f-connectors/remove-outlet-from-store/remove-outlet-from-store.execution.d.ts +0 -12
- package/domain/f-connectors/remove-output-from-store/index.d.ts +0 -2
- package/domain/f-connectors/remove-output-from-store/remove-output-from-store-request.d.ts +0 -6
- package/domain/f-connectors/remove-output-from-store/remove-output-from-store.execution.d.ts +0 -12
- package/domain/f-draggable/emit-selection-change-event/emit-selection-change-event.execution.d.ts +0 -18
- package/domain/f-draggable/emit-selection-change-event/index.d.ts +0 -2
- package/domain/f-draggable/end-drag-sequence/end-drag-sequence-request.d.ts +0 -3
- package/domain/f-draggable/end-drag-sequence/end-drag-sequence.execution.d.ts +0 -15
- package/domain/f-draggable/end-drag-sequence/index.d.ts +0 -2
- package/domain/f-draggable/start-drag-sequence/index.d.ts +0 -2
- package/domain/f-draggable/start-drag-sequence/start-drag-sequence-request.d.ts +0 -3
- package/domain/f-draggable/start-drag-sequence/start-drag-sequence.execution.d.ts +0 -16
- package/domain/f-flow/get-flow-host-element/get-flow-host-element.execution.d.ts +0 -12
- package/domain/f-flow/get-flow-host-element/get-flow-host-element.request.d.ts +0 -3
- package/domain/f-flow/get-flow-host-element/index.d.ts +0 -2
- package/domain/f-flow/get-flow-state/get-flow-state-connections/get-flow-state-connections-request.d.ts +0 -3
- package/domain/f-flow/get-flow-state/get-flow-state-connections/get-flow-state-connections.execution.d.ts +0 -14
- package/domain/f-flow/get-flow-state/get-flow-state-connections/index.d.ts +0 -2
- package/domain/f-flow/get-flow-state/get-flow-state-nodes/get-flow-state-nodes-request.d.ts +0 -6
- package/domain/f-flow/get-flow-state/get-flow-state-nodes/get-flow-state-nodes.execution.d.ts +0 -15
- package/domain/f-flow/get-flow-state/get-flow-state-nodes/index.d.ts +0 -2
- package/domain/f-flow/get-flow-state/get-flow-state.execution.d.ts +0 -15
- package/domain/f-flow/get-flow-state/get-flow-state.request.d.ts +0 -3
- package/domain/f-flow/get-flow-state/i-f-flow-state-connection.d.ts +0 -9
- package/domain/f-flow/get-flow-state/i-f-flow-state-connector.d.ts +0 -5
- package/domain/f-flow/get-flow-state/index.d.ts +0 -9
- package/domain/f-flow/get-flow-state/providers.d.ts +0 -7
- package/domain/f-line-alignment/add-line-alignment-to-store/add-line-alignment-to-store-request.d.ts +0 -6
- package/domain/f-line-alignment/add-line-alignment-to-store/add-line-alignment-to-store.d.ts +0 -12
- package/domain/f-line-alignment/add-line-alignment-to-store/index.d.ts +0 -2
- package/domain/f-line-alignment/index.d.ts +0 -3
- package/domain/f-line-alignment/providers.d.ts +0 -8
- package/domain/f-line-alignment/remove-line-alignment-from-store/index.d.ts +0 -2
- package/domain/f-line-alignment/remove-line-alignment-from-store/remove-line-alignment-from-store-request.d.ts +0 -3
- package/domain/f-line-alignment/remove-line-alignment-from-store/remove-line-alignment-from-store.d.ts +0 -12
- package/domain/f-selection/get-can-be-selected-items/get-can-be-selected-items-request.d.ts +0 -3
- package/domain/f-selection/get-can-be-selected-items/get-can-be-selected-items.execution.d.ts +0 -28
- package/domain/f-selection/get-can-be-selected-items/index.d.ts +0 -3
- package/domain/f-selection/select-all/select-all.execution.d.ts +0 -14
- package/domain/f-selection/select-and-update-node-layer/select-and-update-node-layer.execution.d.ts +0 -16
- package/domain/f-zoom/add-zoom-to-store/add-zoom-to-store-request.d.ts +0 -6
- package/domain/f-zoom/add-zoom-to-store/add-zoom-to-store.execution.d.ts +0 -12
- package/domain/f-zoom/add-zoom-to-store/index.d.ts +0 -2
- package/domain/f-zoom/f-zoom-tag.d.ts +0 -1
- package/domain/f-zoom/remove-zoom-from-store/index.d.ts +0 -2
- package/domain/f-zoom/remove-zoom-from-store/remove-zoom-from-store-request.d.ts +0 -3
- package/domain/f-zoom/remove-zoom-from-store/remove-zoom-from-store.execution.d.ts +0 -12
- package/domain/f-zoom/reset-zoom/reset-zoom.execution.d.ts +0 -13
- package/domain/f-zoom/set-zoom/set-zoom.execution.d.ts +0 -20
- package/domain/i-map.d.ts +0 -1
- package/domain/sort-item-layers/sort-item-layers.execution.d.ts +0 -18
- package/domain/update-item-and-children-layers/update-item-and-children-layers.execution.d.ts +0 -26
- package/esm2022/domain/f-background/add-background-to-store/add-background-to-store-request.mjs +0 -8
- package/esm2022/domain/f-background/add-background-to-store/add-background-to-store.execution.mjs +0 -25
- package/esm2022/domain/f-background/add-background-to-store/index.mjs +0 -3
- package/esm2022/domain/f-background/add-pattern-to-background/add-pattern-to-background.request.mjs +0 -8
- package/esm2022/domain/f-background/remove-background-from-store/index.mjs +0 -3
- package/esm2022/domain/f-background/remove-background-from-store/remove-background-from-store-request.mjs +0 -8
- package/esm2022/domain/f-background/remove-background-from-store/remove-background-from-store.execution.mjs +0 -25
- package/esm2022/domain/f-background/set-background-transform/set-background-transform.execution.mjs +0 -25
- package/esm2022/domain/f-connection/add-connection-for-create-to-store/add-connection-for-create-to-store.execution.mjs +0 -25
- package/esm2022/domain/f-connection/add-connection-marker-to-store/add-connection-marker-to-store.execution.mjs +0 -25
- package/esm2022/domain/f-connection/add-connection-to-store/add-connection-to-store.execution.mjs +0 -26
- package/esm2022/domain/f-connection/add-snap-connection-to-store/add-snap-connection-to-store.execution.mjs +0 -25
- package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/calculate-connection-line-by-behavior-request.mjs +0 -16
- package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/calculate-connection-line-by-behavior.mjs +0 -145
- package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/index.mjs +0 -7
- package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/models/calculate-behavior-request.mjs +0 -2
- package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/utils/fixed-center-behavior.mjs +0 -12
- package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/utils/fixed-outbound-behavior.mjs +0 -31
- package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/utils/floating-behavior.mjs +0 -22
- package/esm2022/domain/f-connection/create-connection-markers/create-connection-markers.execution.mjs +0 -65
- package/esm2022/domain/f-connection/remove-connection-for-create-from-store/remove-connection-for-create-from-store.execution.mjs +0 -25
- package/esm2022/domain/f-connection/remove-connection-from-store/remove-connection-from-store.execution.mjs +0 -33
- package/esm2022/domain/f-connection/remove-connection-marker-from-store/remove-connection-marker-from-store.execution.mjs +0 -25
- package/esm2022/domain/f-connection/remove-snap-connection-from-store/remove-snap-connection-from-store.execution.mjs +0 -25
- package/esm2022/domain/f-connectors/add-input-to-store/add-input-to-store-request.mjs +0 -8
- package/esm2022/domain/f-connectors/add-input-to-store/add-input-to-store.mjs +0 -25
- package/esm2022/domain/f-connectors/add-input-to-store/index.mjs +0 -3
- package/esm2022/domain/f-connectors/add-outlet-to-store/add-outlet-to-store-request.mjs +0 -8
- package/esm2022/domain/f-connectors/add-outlet-to-store/add-outlet-to-store.mjs +0 -25
- package/esm2022/domain/f-connectors/add-outlet-to-store/index.mjs +0 -3
- package/esm2022/domain/f-connectors/add-output-to-store/add-output-to-store-request.mjs +0 -8
- package/esm2022/domain/f-connectors/add-output-to-store/add-output-to-store.mjs +0 -25
- package/esm2022/domain/f-connectors/add-output-to-store/index.mjs +0 -3
- package/esm2022/domain/f-connectors/get-connector-and-rect/get-connector-and-rect-request.mjs +0 -8
- package/esm2022/domain/f-connectors/get-connector-and-rect/get-connector-and-rect.mjs +0 -31
- package/esm2022/domain/f-connectors/get-connector-and-rect/index.mjs +0 -3
- package/esm2022/domain/f-connectors/i-closest-connector.mjs +0 -2
- package/esm2022/domain/f-connectors/i-connector-and-rect.mjs +0 -2
- package/esm2022/domain/f-connectors/remove-input-from-store/index.mjs +0 -3
- package/esm2022/domain/f-connectors/remove-input-from-store/remove-input-from-store-request.mjs +0 -8
- package/esm2022/domain/f-connectors/remove-input-from-store/remove-input-from-store.mjs +0 -25
- package/esm2022/domain/f-connectors/remove-outlet-from-store/index.mjs +0 -3
- package/esm2022/domain/f-connectors/remove-outlet-from-store/remove-outlet-from-store-request.mjs +0 -8
- package/esm2022/domain/f-connectors/remove-outlet-from-store/remove-outlet-from-store.execution.mjs +0 -25
- package/esm2022/domain/f-connectors/remove-output-from-store/index.mjs +0 -3
- package/esm2022/domain/f-connectors/remove-output-from-store/remove-output-from-store-request.mjs +0 -8
- package/esm2022/domain/f-connectors/remove-output-from-store/remove-output-from-store.execution.mjs +0 -25
- package/esm2022/domain/f-draggable/emit-selection-change-event/emit-selection-change-event-request.mjs +0 -4
- package/esm2022/domain/f-draggable/emit-selection-change-event/emit-selection-change-event.execution.mjs +0 -45
- package/esm2022/domain/f-draggable/emit-selection-change-event/index.mjs +0 -3
- package/esm2022/domain/f-draggable/end-drag-sequence/end-drag-sequence-request.mjs +0 -4
- package/esm2022/domain/f-draggable/end-drag-sequence/end-drag-sequence.execution.mjs +0 -36
- package/esm2022/domain/f-draggable/end-drag-sequence/index.mjs +0 -3
- package/esm2022/domain/f-draggable/start-drag-sequence/index.mjs +0 -3
- package/esm2022/domain/f-draggable/start-drag-sequence/start-drag-sequence-request.mjs +0 -4
- package/esm2022/domain/f-draggable/start-drag-sequence/start-drag-sequence.execution.mjs +0 -43
- package/esm2022/domain/f-flow/get-flow-host-element/get-flow-host-element.execution.mjs +0 -25
- package/esm2022/domain/f-flow/get-flow-host-element/get-flow-host-element.request.mjs +0 -4
- package/esm2022/domain/f-flow/get-flow-host-element/index.mjs +0 -3
- package/esm2022/domain/f-flow/get-flow-state/get-flow-state-connections/get-flow-state-connections-request.mjs +0 -4
- package/esm2022/domain/f-flow/get-flow-state/get-flow-state-connections/get-flow-state-connections.execution.mjs +0 -35
- package/esm2022/domain/f-flow/get-flow-state/get-flow-state-connections/index.mjs +0 -3
- package/esm2022/domain/f-flow/get-flow-state/get-flow-state-nodes/get-flow-state-nodes-request.mjs +0 -8
- package/esm2022/domain/f-flow/get-flow-state/get-flow-state-nodes/get-flow-state-nodes.execution.mjs +0 -58
- package/esm2022/domain/f-flow/get-flow-state/get-flow-state-nodes/index.mjs +0 -3
- package/esm2022/domain/f-flow/get-flow-state/get-flow-state.execution.mjs +0 -39
- package/esm2022/domain/f-flow/get-flow-state/get-flow-state.request.mjs +0 -4
- package/esm2022/domain/f-flow/get-flow-state/i-f-flow-state-connection.mjs +0 -2
- package/esm2022/domain/f-flow/get-flow-state/i-f-flow-state-connector.mjs +0 -2
- package/esm2022/domain/f-flow/get-flow-state/i-f-flow-state-node.mjs +0 -2
- package/esm2022/domain/f-flow/get-flow-state/i-f-flow-state.mjs +0 -2
- package/esm2022/domain/f-flow/get-flow-state/index.mjs +0 -10
- package/esm2022/domain/f-flow/get-flow-state/providers.mjs +0 -12
- package/esm2022/domain/f-line-alignment/add-line-alignment-to-store/add-line-alignment-to-store-request.mjs +0 -8
- package/esm2022/domain/f-line-alignment/add-line-alignment-to-store/add-line-alignment-to-store.mjs +0 -25
- package/esm2022/domain/f-line-alignment/add-line-alignment-to-store/index.mjs +0 -3
- package/esm2022/domain/f-line-alignment/index.mjs +0 -4
- package/esm2022/domain/f-line-alignment/providers.mjs +0 -9
- package/esm2022/domain/f-line-alignment/remove-line-alignment-from-store/index.mjs +0 -3
- package/esm2022/domain/f-line-alignment/remove-line-alignment-from-store/remove-line-alignment-from-store-request.mjs +0 -4
- package/esm2022/domain/f-line-alignment/remove-line-alignment-from-store/remove-line-alignment-from-store.mjs +0 -25
- package/esm2022/domain/f-selection/get-can-be-selected-items/get-can-be-selected-items-request.mjs +0 -4
- package/esm2022/domain/f-selection/get-can-be-selected-items/get-can-be-selected-items.execution.mjs +0 -66
- package/esm2022/domain/f-selection/get-can-be-selected-items/i-can-be-selected-element-and-rect.mjs +0 -2
- package/esm2022/domain/f-selection/get-can-be-selected-items/index.mjs +0 -4
- package/esm2022/domain/f-selection/select-all/select-all.execution.mjs +0 -40
- package/esm2022/domain/f-selection/select-all/select-all.request.mjs +0 -4
- package/esm2022/domain/f-selection/select-and-update-node-layer/select-and-update-node-layer.execution.mjs +0 -37
- package/esm2022/domain/f-selection/select-and-update-node-layer/select-and-update-node-layer.request.mjs +0 -8
- package/esm2022/domain/f-zoom/add-zoom-to-store/add-zoom-to-store-request.mjs +0 -8
- package/esm2022/domain/f-zoom/add-zoom-to-store/add-zoom-to-store.execution.mjs +0 -28
- package/esm2022/domain/f-zoom/add-zoom-to-store/index.mjs +0 -3
- package/esm2022/domain/f-zoom/f-zoom-tag.mjs +0 -2
- package/esm2022/domain/f-zoom/remove-zoom-from-store/index.mjs +0 -3
- package/esm2022/domain/f-zoom/remove-zoom-from-store/remove-zoom-from-store-request.mjs +0 -4
- package/esm2022/domain/f-zoom/remove-zoom-from-store/remove-zoom-from-store.execution.mjs +0 -28
- package/esm2022/domain/f-zoom/reset-zoom/reset-zoom.execution.mjs +0 -30
- package/esm2022/domain/f-zoom/set-zoom/set-zoom.execution.mjs +0 -54
- package/esm2022/domain/i-map.mjs +0 -2
- package/esm2022/domain/sort-item-layers/sort-item-layers.execution.mjs +0 -40
- package/esm2022/domain/sort-item-layers/sort-item-layers.request.mjs +0 -4
- package/esm2022/domain/update-item-and-children-layers/update-item-and-children-layers.execution.mjs +0 -98
- package/esm2022/domain/update-item-and-children-layers/update-item-and-children-layers.request.mjs +0 -10
- package/esm2022/f-canvas/domain/f-canvas-change.event.mjs +0 -9
- package/esm2022/f-connection/common/domain/adaptive-curve-builder.mjs +0 -201
- package/esm2022/f-connection/common/domain/calculate-center-between-points/calculate-center-between-points-request.mjs +0 -10
- package/esm2022/f-connection/common/domain/calculate-center-between-points/calculate-center-between-points.handler.mjs +0 -12
- package/esm2022/f-connection/common/domain/calculate-center-between-points/index.mjs +0 -3
- package/esm2022/f-connection/common/domain/calculate-connection-center/calculate-connection-center-request.mjs +0 -8
- package/esm2022/f-connection/common/domain/calculate-connection-center/calculate-connection-center.handler.mjs +0 -35
- package/esm2022/f-connection/common/domain/calculate-connection-center/index.mjs +0 -3
- package/esm2022/f-connection/common/domain/f-bezier.path-builder.mjs +0 -58
- package/esm2022/f-connection/common/domain/f-segment.path-builder.mjs +0 -161
- package/esm2022/f-connection/common/domain/f-straight.path-builder.mjs +0 -16
- package/esm2022/f-connection/common/domain/index.mjs +0 -7
- package/esm2022/f-connection/common/e-f-connection-behavior.mjs +0 -7
- package/esm2022/f-connection/common/e-f-connection-connectable-side.mjs +0 -12
- package/esm2022/f-connection/common/e-f-connection-type.mjs +0 -8
- package/esm2022/f-connection/common/f-connection-base.mjs +0 -121
- package/esm2022/f-connection/common/f-connection-identifiers.mjs +0 -22
- package/esm2022/f-connection/common/f-connection-text/f-connection-text-path.directive.mjs +0 -65
- package/esm2022/f-connection/common/f-connection-text/f-connection-text.component.mjs +0 -57
- package/esm2022/f-connection/common/f-connection-text/i-connection-text.mjs +0 -3
- package/esm2022/f-connection/common/f-connection-text/index.mjs +0 -4
- package/esm2022/f-connection/common/f-connection.injection-token.mjs +0 -3
- package/esm2022/f-connection/common/f-drag-handle/f-connection-drag-handle-end.component.mjs +0 -37
- package/esm2022/f-connection/common/f-drag-handle/f-connection-drag-handle-start.component.mjs +0 -37
- package/esm2022/f-connection/common/f-drag-handle/index.mjs +0 -3
- package/esm2022/f-connection/common/f-gradient/f-connection-gradient.component.mjs +0 -55
- package/esm2022/f-connection/common/f-gradient/i-connection-gradient.mjs +0 -3
- package/esm2022/f-connection/common/f-gradient/index.mjs +0 -3
- package/esm2022/f-connection/common/f-path/f-connection-path.component.mjs +0 -45
- package/esm2022/f-connection/common/f-path/get-path-marker-id.mjs +0 -14
- package/esm2022/f-connection/common/f-path/i-connection-path.mjs +0 -3
- package/esm2022/f-connection/common/f-path/index.mjs +0 -4
- package/esm2022/f-connection/common/f-selection/f-connection-selection.component.mjs +0 -24
- package/esm2022/f-connection/common/f-selection/index.mjs +0 -2
- package/esm2022/f-connection/common/i-has-connection-color.mjs +0 -2
- package/esm2022/f-connection/common/i-has-connection-from-to.mjs +0 -2
- package/esm2022/f-connection/common/i-has-connection-text.mjs +0 -2
- package/esm2022/f-connection/common/index.mjs +0 -15
- package/esm2022/f-connection/f-connection-builder/f-connection-builders.mjs +0 -3
- package/esm2022/f-connection/f-connection-builder/f-connection-factory.mjs +0 -26
- package/esm2022/f-connection/f-connection-builder/i-f-connection-builder-request.mjs +0 -2
- package/esm2022/f-connection/f-connection-builder/i-f-connection-builder-response.mjs +0 -2
- package/esm2022/f-connection/f-connection-builder/i-f-connection-builder.mjs +0 -2
- package/esm2022/f-connection/f-connection-builder/i-f-connection-factory-request.mjs +0 -2
- package/esm2022/f-connection/f-connection-builder/index.mjs +0 -7
- package/esm2022/f-connection/f-connection-center/f-connection-center.directive.mjs +0 -30
- package/esm2022/f-connection/f-connection-center/index.mjs +0 -2
- package/esm2022/f-connection/f-connection-content/f-connection-content.mjs +0 -102
- package/esm2022/f-connection/f-connection-content/index.mjs +0 -3
- package/esm2022/f-connection/f-connection-content/polyline-content-engine/i-polyline-content.mjs +0 -2
- package/esm2022/f-connection/f-connection-content/polyline-content-engine/index.mjs +0 -6
- package/esm2022/f-connection/f-connection-content/polyline-content-engine/polyline-content-align.mjs +0 -6
- package/esm2022/f-connection/f-connection-content/polyline-content-engine/polyline-content-layout-engine.mjs +0 -28
- package/esm2022/f-connection/f-connection-content/polyline-content-engine/polyline-content-place.mjs +0 -66
- package/esm2022/f-connection/f-connection-content/polyline-content-engine/polyline-sampler/i-sampler-result.mjs +0 -2
- package/esm2022/f-connection/f-connection-content/polyline-content-engine/polyline-sampler/i-tangent.mjs +0 -2
- package/esm2022/f-connection/f-connection-content/polyline-content-engine/polyline-sampler/index.mjs +0 -5
- package/esm2022/f-connection/f-connection-content/polyline-content-engine/polyline-sampler/polyline-sampler.mjs +0 -143
- package/esm2022/f-connection/f-connection-content/polyline-content-engine/polyline-sampler/polyline.mjs +0 -68
- package/esm2022/f-connection/f-marker/e-f-marker-type.mjs +0 -8
- package/esm2022/f-connection/f-marker/f-marker-base.mjs +0 -5
- package/esm2022/f-connection/f-marker/f-marker.directive.mjs +0 -51
- package/esm2022/f-connection/f-marker/index.mjs +0 -4
- package/esm2022/f-connectors/e-f-connectable-side.mjs +0 -12
- package/esm2022/f-draggable/domain/f-drag-started-event.mjs +0 -11
- package/esm2022/f-draggable/domain/is-connection-under-node/f-node-intersected-with-connections.mjs +0 -9
- package/esm2022/f-draggable/domain/is-connection-under-node/index.mjs +0 -4
- package/esm2022/f-draggable/domain/is-connection-under-node/is-connection-under-node.execution.mjs +0 -74
- package/esm2022/f-draggable/domain/is-connection-under-node/is-connection-under-node.request.mjs +0 -8
- package/esm2022/f-draggable/f-canvas/f-canvas.drag-handler.mjs +0 -23
- package/esm2022/f-draggable/f-canvas/index.mjs +0 -5
- package/esm2022/f-draggable/f-canvas/move-finalize/f-canvas-move-finalize.execution.mjs +0 -29
- package/esm2022/f-draggable/f-canvas/move-finalize/f-canvas-move-finalize.request.mjs +0 -8
- package/esm2022/f-draggable/f-canvas/move-finalize/index.mjs +0 -3
- package/esm2022/f-draggable/f-canvas/move-preparation/f-canvas-move-preparation.execution.mjs +0 -58
- package/esm2022/f-draggable/f-canvas/move-preparation/f-canvas-move-preparation.request.mjs +0 -10
- package/esm2022/f-draggable/f-canvas/move-preparation/index.mjs +0 -3
- package/esm2022/f-draggable/f-canvas/providers.mjs +0 -7
- package/esm2022/f-draggable/f-connection/f-create-connection/create-finalize/f-create-connection-finalize.execution.mjs +0 -62
- package/esm2022/f-draggable/f-connection/f-create-connection/create-finalize/f-create-connection-finalize.request.mjs +0 -8
- package/esm2022/f-draggable/f-connection/f-create-connection/create-finalize/index.mjs +0 -3
- package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/create-connection-preparation-request.mjs +0 -10
- package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/create-connection-preparation.mjs +0 -58
- package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/drag-handler-preparation/f-create-connection-drag-handler-preparation.execution.mjs +0 -41
- package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/drag-handler-preparation/f-create-connection-drag-handler-preparation.request.mjs +0 -10
- package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/drag-handler-preparation/index.mjs +0 -3
- package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/from-outlet-preparation/f-create-connection-from-outlet-preparation.execution.mjs +0 -54
- package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/from-outlet-preparation/f-create-connection-from-outlet-preparation.request.mjs +0 -10
- package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/from-outlet-preparation/index.mjs +0 -3
- package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/from-output-preparation/create-connection-from-output-preparation-request.mjs +0 -10
- package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/from-output-preparation/create-connection-from-output-preparation.mjs +0 -47
- package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/from-output-preparation/index.mjs +0 -3
- package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/index.mjs +0 -6
- package/esm2022/f-draggable/f-connection/f-create-connection/f-create-connection.drag-handler.mjs +0 -99
- package/esm2022/f-draggable/f-connection/f-create-connection/f-create-connection.event.mjs +0 -11
- package/esm2022/f-draggable/f-connection/f-create-connection/get-first-connectable-output/get-first-connectable-output.execution.mjs +0 -47
- package/esm2022/f-draggable/f-connection/f-create-connection/get-first-connectable-output/get-first-connectable-output.request.mjs +0 -8
- package/esm2022/f-draggable/f-connection/f-create-connection/get-first-connectable-output/index.mjs +0 -3
- package/esm2022/f-draggable/f-connection/f-create-connection/i-f-create-connection-drag-result.mjs +0 -2
- package/esm2022/f-draggable/f-connection/f-create-connection/index.mjs +0 -7
- package/esm2022/f-draggable/f-connection/f-reassign-connection/f-reassign-connection.drag-handler.mjs +0 -77
- package/esm2022/f-draggable/f-connection/f-reassign-connection/f-reassign-connection.event.mjs +0 -21
- package/esm2022/f-draggable/f-connection/f-reassign-connection/f-reassign-source.drag-handler.mjs +0 -83
- package/esm2022/f-draggable/f-connection/f-reassign-connection/f-reassign-target.drag-handler.mjs +0 -82
- package/esm2022/f-draggable/f-connection/f-reassign-connection/i-f-reassign-connection-drag-result.mjs +0 -2
- package/esm2022/f-draggable/f-connection/f-reassign-connection/i-f-reassign-handler.mjs +0 -8
- package/esm2022/f-draggable/f-connection/f-reassign-connection/index.mjs +0 -10
- package/esm2022/f-draggable/f-connection/f-reassign-connection/reassign-finalize/f-reassign-connection-finalize.execution.mjs +0 -69
- package/esm2022/f-draggable/f-connection/f-reassign-connection/reassign-finalize/f-reassign-connection-finalize.request.mjs +0 -8
- package/esm2022/f-draggable/f-connection/f-reassign-connection/reassign-finalize/index.mjs +0 -3
- package/esm2022/f-draggable/f-connection/f-reassign-connection/reassign-preparation/f-reassign-connection-preparation.execution.mjs +0 -73
- package/esm2022/f-draggable/f-connection/f-reassign-connection/reassign-preparation/f-reassign-connection-preparation.request.mjs +0 -10
- package/esm2022/f-draggable/f-connection/f-reassign-connection/reassign-preparation/index.mjs +0 -4
- package/esm2022/f-draggable/f-connection/f-reassign-connection/reassign-preparation/is-pointer-inside-start-or-end-drag-handles.mjs +0 -17
- package/esm2022/f-draggable/f-connection/index.mjs +0 -4
- package/esm2022/f-draggable/f-connection/providers.mjs +0 -13
- package/esm2022/f-draggable/f-drag-handler/f-drag-handler-result.mjs +0 -20
- package/esm2022/f-draggable/f-drag-handler/i-f-drag-handler.mjs +0 -2
- package/esm2022/f-draggable/f-drag-handler/index.mjs +0 -3
- package/esm2022/f-draggable/f-drop-to-group/drop-to-group-finalize/drop-to-group-finalize-request.mjs +0 -8
- package/esm2022/f-draggable/f-drop-to-group/drop-to-group-finalize/drop-to-group-finalize.mjs +0 -69
- package/esm2022/f-draggable/f-drop-to-group/drop-to-group-finalize/index.mjs +0 -3
- package/esm2022/f-draggable/f-drop-to-group/drop-to-group-preparation/drop-to-group-preparation-request.mjs +0 -8
- package/esm2022/f-draggable/f-drop-to-group/drop-to-group-preparation/drop-to-group-preparation.mjs +0 -99
- package/esm2022/f-draggable/f-drop-to-group/drop-to-group-preparation/index.mjs +0 -3
- package/esm2022/f-draggable/f-drop-to-group/f-drop-to-group.event.mjs +0 -11
- package/esm2022/f-draggable/f-drop-to-group/f-node-drop-to-group.drag-handler.mjs +0 -67
- package/esm2022/f-draggable/f-drop-to-group/index.mjs +0 -7
- package/esm2022/f-draggable/f-drop-to-group/providers.mjs +0 -9
- package/esm2022/f-draggable/f-drop-to-group/sort-containers-for-drop-by-layer/index.mjs +0 -3
- package/esm2022/f-draggable/f-drop-to-group/sort-containers-for-drop-by-layer/sort-containers-for-drop-by-layer-request.mjs +0 -8
- package/esm2022/f-draggable/f-drop-to-group/sort-containers-for-drop-by-layer/sort-containers-for-drop-by-layer.mjs +0 -54
- package/esm2022/f-draggable/f-node-move/connection-drag-handlers/base-connection.drag-handler.mjs +0 -57
- package/esm2022/f-draggable/f-node-move/connection-drag-handlers/index.mjs +0 -5
- package/esm2022/f-draggable/f-node-move/connection-drag-handlers/source-connection.drag-handler.mjs +0 -11
- package/esm2022/f-draggable/f-node-move/connection-drag-handlers/source-target-connection.drag-handler.mjs +0 -22
- package/esm2022/f-draggable/f-node-move/connection-drag-handlers/target-connection.drag-handler.mjs +0 -11
- package/esm2022/f-draggable/f-node-move/constraint/drag-constraint-pipeline.mjs +0 -29
- package/esm2022/f-draggable/f-node-move/constraint/expand-rect-from-baseline.mjs +0 -20
- package/esm2022/f-draggable/f-node-move/constraint/index.mjs +0 -5
- package/esm2022/f-draggable/f-node-move/constraint/rect-constraint.mjs +0 -37
- package/esm2022/f-draggable/f-node-move/constraint/snap-to-grid.mjs +0 -36
- package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/build-drag-hierarchy/build-drag-hierarchy-request.mjs +0 -8
- package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/build-drag-hierarchy/build-drag-hierarchy-response.mjs +0 -9
- package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/build-drag-hierarchy/build-drag-hierarchy.mjs +0 -47
- package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/build-drag-hierarchy/index.mjs +0 -4
- package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/calculate-drag-limits/calculate-drag-limits-request.mjs +0 -8
- package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/calculate-drag-limits/calculate-drag-limits.mjs +0 -72
- package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/calculate-drag-limits/i-drag-limits.mjs +0 -2
- package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/calculate-drag-limits/i-soft-limit.mjs +0 -2
- package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/calculate-drag-limits/index.mjs +0 -5
- package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/create-drag-model-from-selection-request.mjs +0 -8
- package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/create-drag-model-from-selection.mjs +0 -85
- package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/create-input-connection-handler-and-set-to-node-handler/create-input-connection-handler-and-set-to-node-handler-request.mjs +0 -12
- package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/create-input-connection-handler-and-set-to-node-handler/create-input-connection-handler-and-set-to-node-handler.mjs +0 -59
- package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/create-input-connection-handler-and-set-to-node-handler/index.mjs +0 -3
- package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/create-output-connection-handler-and-set-to-node-handler/create-output-connection-handler-and-set-to-node-handler-request.mjs +0 -12
- package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/create-output-connection-handler-and-set-to-node-handler/create-output-connection-handler-and-set-to-node-handler.mjs +0 -59
- package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/create-output-connection-handler-and-set-to-node-handler/index.mjs +0 -3
- package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/create-summary-drag-handler/create-summary-drag-handler-request.mjs +0 -10
- package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/create-summary-drag-handler/create-summary-drag-handler.mjs +0 -33
- package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/create-summary-drag-handler/index.mjs +0 -3
- package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/get-node-bounding-include-paddings/get-node-bounding-include-paddings-request.mjs +0 -10
- package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/get-node-bounding-include-paddings/get-node-bounding-include-paddings-response.mjs +0 -13
- package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/get-node-bounding-include-paddings/get-node-bounding-include-paddings.mjs +0 -39
- package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/get-node-bounding-include-paddings/index.mjs +0 -4
- package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/i-node-move-limits-and-position.mjs +0 -2
- package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/i-node-move-limits.mjs +0 -2
- package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/index.mjs +0 -12
- package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/providers.mjs +0 -17
- package/esm2022/f-draggable/f-node-move/create-snap-lines/create-snap-lines-request.mjs +0 -8
- package/esm2022/f-draggable/f-node-move/create-snap-lines/create-snap-lines.mjs +0 -52
- package/esm2022/f-draggable/f-node-move/create-snap-lines/index.mjs +0 -3
- package/esm2022/f-draggable/f-node-move/create-snap-lines/snap-lines.drag-handler.mjs +0 -51
- package/esm2022/f-draggable/f-node-move/f-move-nodes.event.mjs +0 -13
- package/esm2022/f-draggable/f-node-move/index.mjs +0 -13
- package/esm2022/f-draggable/f-node-move/move-drag-handler.mjs +0 -95
- package/esm2022/f-draggable/f-node-move/move-finalize/f-node-move-finalize.execution.mjs +0 -87
- package/esm2022/f-draggable/f-node-move/move-finalize/f-node-move-finalize.request.mjs +0 -8
- package/esm2022/f-draggable/f-node-move/move-finalize/index.mjs +0 -3
- package/esm2022/f-draggable/f-node-move/move-preparation/f-node-move-preparation.execution.mjs +0 -82
- package/esm2022/f-draggable/f-node-move/move-preparation/f-node-move-preparation.request.mjs +0 -10
- package/esm2022/f-draggable/f-node-move/move-preparation/index.mjs +0 -3
- package/esm2022/f-draggable/f-node-move/move-summary-drag-handler.mjs +0 -44
- package/esm2022/f-draggable/f-node-move/providers.mjs +0 -11
- package/esm2022/f-draggable/f-single-select/f-single-select.execution.mjs +0 -138
- package/esm2022/f-draggable/f-single-select/f-single-select.request.mjs +0 -10
- package/esm2022/f-draggable/f-single-select/index.mjs +0 -4
- package/esm2022/f-draggable/f-single-select/providers.mjs +0 -5
- package/esm2022/f-line-alignment/domain/i-line-alignment-rect.mjs +0 -2
- package/esm2022/f-line-alignment/domain/i-snap-coordinate.mjs +0 -2
- package/esm2022/f-line-alignment/domain/i-snap-result.mjs +0 -2
- package/esm2022/f-line-alignment/domain/index.mjs +0 -6
- package/esm2022/f-line-alignment/domain/snap-line-element.mjs +0 -28
- package/esm2022/f-line-alignment/domain/snap-line-service.mjs +0 -36
- package/esm2022/f-line-alignment/f-line-alignment-base.mjs +0 -11
- package/esm2022/f-selection-area/domain/index.mjs +0 -5
- package/esm2022/f-selection-area/domain/providers.mjs +0 -7
- package/esm2022/f-selection-area/domain/selection-area-finalize/index.mjs +0 -3
- package/esm2022/f-selection-area/domain/selection-area-finalize/selection-area-finalize.execution.mjs +0 -31
- package/esm2022/f-selection-area/domain/selection-area-finalize/selection-area-finalize.request.mjs +0 -8
- package/esm2022/f-selection-area/domain/selection-area-preparation/index.mjs +0 -3
- package/esm2022/f-selection-area/domain/selection-area-preparation/selection-area-preparation.execution.mjs +0 -43
- package/esm2022/f-selection-area/domain/selection-area-preparation/selection-area-preparation.request.mjs +0 -12
- package/esm2022/f-selection-area/domain/selection-area.drag-handle.mjs +0 -57
- package/esm2022/f-selection-area/f-selection-area.component.mjs +0 -53
- package/esm2022/f-storage/f-connectors-store.mjs +0 -11
- package/esm2022/f-storage/features/listen-components-data-changed/index.mjs +0 -3
- package/esm2022/f-storage/features/listen-components-data-changed/listen-data-changes-request.mjs +0 -4
- package/esm2022/f-storage/features/listen-components-data-changed/listen-data-changes.execution.mjs +0 -23
- package/esm2022/f-storage/features/listen-count-changes/listen-count-changes.execution.mjs +0 -23
- package/esm2022/f-storage/features/listen-transform-changes/listen-transform-changes.execution.mjs +0 -23
- package/esm2022/f-storage/features/listen-transform-changes/listen-transform-changes.request.mjs +0 -4
- package/esm2022/f-storage/features/notify-data-changed/notify-data-changed.execution.mjs +0 -22
- package/esm2022/f-storage/features/notify-transform-changed/notify-transform-changed.execution.mjs +0 -22
- package/esm2022/f-storage/features/notify-transform-changed/notify-transform-changed.request.mjs +0 -4
- package/f-connection/common/domain/adaptive-curve-builder.d.ts +0 -102
- package/f-connection/common/domain/calculate-center-between-points/calculate-center-between-points-request.d.ts +0 -7
- package/f-connection/common/domain/calculate-center-between-points/calculate-center-between-points.handler.d.ts +0 -6
- package/f-connection/common/domain/calculate-center-between-points/index.d.ts +0 -2
- package/f-connection/common/domain/calculate-connection-center/calculate-connection-center-request.d.ts +0 -6
- package/f-connection/common/domain/calculate-connection-center/calculate-connection-center.handler.d.ts +0 -8
- package/f-connection/common/domain/calculate-connection-center/index.d.ts +0 -2
- package/f-connection/common/domain/f-bezier.path-builder.d.ts +0 -6
- package/f-connection/common/domain/f-segment.path-builder.d.ts +0 -11
- package/f-connection/common/domain/f-straight.path-builder.d.ts +0 -4
- package/f-connection/common/domain/index.d.ts +0 -6
- package/f-connection/common/f-connection-base.d.ts +0 -80
- package/f-connection/common/f-connection-identifiers.d.ts +0 -8
- package/f-connection/common/f-connection-text/f-connection-text-path.directive.d.ts +0 -18
- package/f-connection/common/f-connection-text/f-connection-text.component.d.ts +0 -16
- package/f-connection/common/f-connection-text/i-connection-text.d.ts +0 -7
- package/f-connection/common/f-connection-text/index.d.ts +0 -3
- package/f-connection/common/f-connection.injection-token.d.ts +0 -2
- package/f-connection/common/f-drag-handle/f-connection-drag-handle-end.component.d.ts +0 -13
- package/f-connection/common/f-drag-handle/f-connection-drag-handle-start.component.d.ts +0 -13
- package/f-connection/common/f-drag-handle/index.d.ts +0 -2
- package/f-connection/common/f-gradient/f-connection-gradient.component.d.ts +0 -17
- package/f-connection/common/f-gradient/i-connection-gradient.d.ts +0 -8
- package/f-connection/common/f-gradient/index.d.ts +0 -2
- package/f-connection/common/f-path/f-connection-path.component.d.ts +0 -15
- package/f-connection/common/f-path/get-path-marker-id.d.ts +0 -4
- package/f-connection/common/f-path/i-connection-path.d.ts +0 -9
- package/f-connection/common/f-path/index.d.ts +0 -3
- package/f-connection/common/f-selection/f-connection-selection.component.d.ts +0 -10
- package/f-connection/common/f-selection/index.d.ts +0 -1
- package/f-connection/common/i-has-connection-color.d.ts +0 -5
- package/f-connection/common/i-has-connection-from-to.d.ts +0 -6
- package/f-connection/common/i-has-connection-text.d.ts +0 -4
- package/f-connection/common/index.d.ts +0 -14
- package/f-connection/f-connection-builder/f-connection-builders.d.ts +0 -4
- package/f-connection/f-connection-builder/f-connection-factory.d.ts +0 -9
- package/f-connection/f-connection-builder/i-f-connection-builder-request.d.ts +0 -10
- package/f-connection/f-connection-builder/i-f-connection-builder-response.d.ts +0 -8
- package/f-connection/f-connection-builder/i-f-connection-builder.d.ts +0 -6
- package/f-connection/f-connection-builder/i-f-connection-factory-request.d.ts +0 -6
- package/f-connection/f-connection-builder/index.d.ts +0 -6
- package/f-connection/f-connection-center/f-connection-center.directive.d.ts +0 -10
- package/f-connection/f-connection-center/index.d.ts +0 -1
- package/f-connection/f-connection-content/f-connection-content.d.ts +0 -69
- package/f-connection/f-connection-content/index.d.ts +0 -2
- package/f-connection/f-connection-content/polyline-content-engine/polyline-content-layout-engine.d.ts +0 -21
- package/f-connection/f-marker/f-marker-base.d.ts +0 -13
- package/f-connection/f-marker/f-marker.directive.d.ts +0 -18
- package/f-connection/f-marker/index.d.ts +0 -3
- package/f-draggable/domain/f-drag-started-event.d.ts +0 -5
- package/f-draggable/domain/is-connection-under-node/f-node-intersected-with-connections.d.ts +0 -5
- package/f-draggable/domain/is-connection-under-node/index.d.ts +0 -3
- package/f-draggable/domain/is-connection-under-node/is-connection-under-node.execution.d.ts +0 -18
- package/f-draggable/domain/is-connection-under-node/is-connection-under-node.request.d.ts +0 -6
- package/f-draggable/f-canvas/f-canvas.drag-handler.d.ts +0 -12
- package/f-draggable/f-canvas/index.d.ts +0 -4
- package/f-draggable/f-canvas/move-finalize/f-canvas-move-finalize.execution.d.ts +0 -10
- package/f-draggable/f-canvas/move-finalize/f-canvas-move-finalize.request.d.ts +0 -6
- package/f-draggable/f-canvas/move-finalize/index.d.ts +0 -2
- package/f-draggable/f-canvas/move-preparation/f-canvas-move-preparation.execution.d.ts +0 -17
- package/f-draggable/f-canvas/move-preparation/f-canvas-move-preparation.request.d.ts +0 -8
- package/f-draggable/f-canvas/move-preparation/index.d.ts +0 -2
- package/f-draggable/f-canvas/providers.d.ts +0 -3
- package/f-draggable/f-connection/f-create-connection/create-finalize/f-create-connection-finalize.execution.d.ts +0 -19
- package/f-draggable/f-connection/f-create-connection/create-finalize/f-create-connection-finalize.request.d.ts +0 -6
- package/f-draggable/f-connection/f-create-connection/create-finalize/index.d.ts +0 -2
- package/f-draggable/f-connection/f-create-connection/create-preparation/create-connection-preparation.d.ts +0 -16
- package/f-draggable/f-connection/f-create-connection/create-preparation/drag-handler-preparation/f-create-connection-drag-handler-preparation.execution.d.ts +0 -13
- package/f-draggable/f-connection/f-create-connection/create-preparation/drag-handler-preparation/f-create-connection-drag-handler-preparation.request.d.ts +0 -8
- package/f-draggable/f-connection/f-create-connection/create-preparation/drag-handler-preparation/index.d.ts +0 -2
- package/f-draggable/f-connection/f-create-connection/create-preparation/from-outlet-preparation/f-create-connection-from-outlet-preparation.execution.d.ts +0 -14
- package/f-draggable/f-connection/f-create-connection/create-preparation/from-outlet-preparation/f-create-connection-from-outlet-preparation.request.d.ts +0 -8
- package/f-draggable/f-connection/f-create-connection/create-preparation/from-outlet-preparation/index.d.ts +0 -2
- package/f-draggable/f-connection/f-create-connection/create-preparation/from-output-preparation/create-connection-from-output-preparation.d.ts +0 -14
- package/f-draggable/f-connection/f-create-connection/create-preparation/index.d.ts +0 -5
- package/f-draggable/f-connection/f-create-connection/f-create-connection.drag-handler.d.ts +0 -28
- package/f-draggable/f-connection/f-create-connection/f-create-connection.event.d.ts +0 -7
- package/f-draggable/f-connection/f-create-connection/get-first-connectable-output/get-first-connectable-output.execution.d.ts +0 -16
- package/f-draggable/f-connection/f-create-connection/get-first-connectable-output/get-first-connectable-output.request.d.ts +0 -6
- package/f-draggable/f-connection/f-create-connection/get-first-connectable-output/index.d.ts +0 -2
- package/f-draggable/f-connection/f-create-connection/i-f-create-connection-drag-result.d.ts +0 -7
- package/f-draggable/f-connection/f-create-connection/index.d.ts +0 -6
- package/f-draggable/f-connection/f-reassign-connection/f-reassign-connection.drag-handler.d.ts +0 -25
- package/f-draggable/f-connection/f-reassign-connection/f-reassign-connection.event.d.ts +0 -12
- package/f-draggable/f-connection/f-reassign-connection/f-reassign-source.drag-handler.d.ts +0 -27
- package/f-draggable/f-connection/f-reassign-connection/f-reassign-target.drag-handler.d.ts +0 -28
- package/f-draggable/f-connection/f-reassign-connection/i-f-reassign-connection-drag-result.d.ts +0 -10
- package/f-draggable/f-connection/f-reassign-connection/i-f-reassign-handler.d.ts +0 -12
- package/f-draggable/f-connection/f-reassign-connection/index.d.ts +0 -9
- package/f-draggable/f-connection/f-reassign-connection/reassign-finalize/f-reassign-connection-finalize.execution.d.ts +0 -20
- package/f-draggable/f-connection/f-reassign-connection/reassign-finalize/f-reassign-connection-finalize.request.d.ts +0 -6
- package/f-draggable/f-connection/f-reassign-connection/reassign-finalize/index.d.ts +0 -2
- package/f-draggable/f-connection/f-reassign-connection/reassign-preparation/f-reassign-connection-preparation.execution.d.ts +0 -22
- package/f-draggable/f-connection/f-reassign-connection/reassign-preparation/f-reassign-connection-preparation.request.d.ts +0 -8
- package/f-draggable/f-connection/f-reassign-connection/reassign-preparation/index.d.ts +0 -3
- package/f-draggable/f-connection/f-reassign-connection/reassign-preparation/is-pointer-inside-start-or-end-drag-handles.d.ts +0 -5
- package/f-draggable/f-connection/index.d.ts +0 -3
- package/f-draggable/f-connection/providers.d.ts +0 -3
- package/f-draggable/f-drag-handler/i-f-drag-handler.d.ts +0 -8
- package/f-draggable/f-drag-handler/index.d.ts +0 -2
- package/f-draggable/f-drop-to-group/drop-to-group-finalize/drop-to-group-finalize-request.d.ts +0 -6
- package/f-draggable/f-drop-to-group/drop-to-group-finalize/drop-to-group-finalize.d.ts +0 -16
- package/f-draggable/f-drop-to-group/drop-to-group-preparation/drop-to-group-preparation.d.ts +0 -29
- package/f-draggable/f-drop-to-group/f-drop-to-group.event.d.ts +0 -7
- package/f-draggable/f-drop-to-group/f-node-drop-to-group.drag-handler.d.ts +0 -22
- package/f-draggable/f-drop-to-group/index.d.ts +0 -6
- package/f-draggable/f-drop-to-group/providers.d.ts +0 -4
- package/f-draggable/f-drop-to-group/sort-containers-for-drop-by-layer/index.d.ts +0 -2
- package/f-draggable/f-drop-to-group/sort-containers-for-drop-by-layer/sort-containers-for-drop-by-layer-request.d.ts +0 -6
- package/f-draggable/f-drop-to-group/sort-containers-for-drop-by-layer/sort-containers-for-drop-by-layer.d.ts +0 -10
- package/f-draggable/f-node-move/connection-drag-handlers/base-connection.drag-handler.d.ts +0 -22
- package/f-draggable/f-node-move/connection-drag-handlers/index.d.ts +0 -4
- package/f-draggable/f-node-move/connection-drag-handlers/source-connection.drag-handler.d.ts +0 -8
- package/f-draggable/f-node-move/connection-drag-handlers/source-target-connection.drag-handler.d.ts +0 -11
- package/f-draggable/f-node-move/connection-drag-handlers/target-connection.drag-handler.d.ts +0 -8
- package/f-draggable/f-node-move/constraint/drag-constraint-pipeline.d.ts +0 -17
- package/f-draggable/f-node-move/constraint/expand-rect-from-baseline.d.ts +0 -3
- package/f-draggable/f-node-move/constraint/index.d.ts +0 -4
- package/f-draggable/f-node-move/constraint/rect-constraint.d.ts +0 -19
- package/f-draggable/f-node-move/constraint/snap-to-grid.d.ts +0 -15
- package/f-draggable/f-node-move/create-drag-model-from-selection/build-drag-hierarchy/build-drag-hierarchy-request.d.ts +0 -6
- package/f-draggable/f-node-move/create-drag-model-from-selection/build-drag-hierarchy/build-drag-hierarchy-response.d.ts +0 -6
- package/f-draggable/f-node-move/create-drag-model-from-selection/build-drag-hierarchy/build-drag-hierarchy.d.ts +0 -13
- package/f-draggable/f-node-move/create-drag-model-from-selection/build-drag-hierarchy/index.d.ts +0 -3
- package/f-draggable/f-node-move/create-drag-model-from-selection/calculate-drag-limits/calculate-drag-limits-request.d.ts +0 -6
- package/f-draggable/f-node-move/create-drag-model-from-selection/calculate-drag-limits/calculate-drag-limits.d.ts +0 -19
- package/f-draggable/f-node-move/create-drag-model-from-selection/calculate-drag-limits/i-drag-limits.d.ts +0 -6
- package/f-draggable/f-node-move/create-drag-model-from-selection/calculate-drag-limits/i-soft-limit.d.ts +0 -8
- package/f-draggable/f-node-move/create-drag-model-from-selection/calculate-drag-limits/index.d.ts +0 -4
- package/f-draggable/f-node-move/create-drag-model-from-selection/create-drag-model-from-selection-request.d.ts +0 -6
- package/f-draggable/f-node-move/create-drag-model-from-selection/create-drag-model-from-selection.d.ts +0 -24
- package/f-draggable/f-node-move/create-drag-model-from-selection/create-input-connection-handler-and-set-to-node-handler/create-input-connection-handler-and-set-to-node-handler-request.d.ts +0 -9
- package/f-draggable/f-node-move/create-drag-model-from-selection/create-input-connection-handler-and-set-to-node-handler/create-input-connection-handler-and-set-to-node-handler.d.ts +0 -16
- package/f-draggable/f-node-move/create-drag-model-from-selection/create-input-connection-handler-and-set-to-node-handler/index.d.ts +0 -2
- package/f-draggable/f-node-move/create-drag-model-from-selection/create-output-connection-handler-and-set-to-node-handler/create-output-connection-handler-and-set-to-node-handler-request.d.ts +0 -9
- package/f-draggable/f-node-move/create-drag-model-from-selection/create-output-connection-handler-and-set-to-node-handler/create-output-connection-handler-and-set-to-node-handler.d.ts +0 -18
- package/f-draggable/f-node-move/create-drag-model-from-selection/create-output-connection-handler-and-set-to-node-handler/index.d.ts +0 -2
- package/f-draggable/f-node-move/create-drag-model-from-selection/create-summary-drag-handler/create-summary-drag-handler-request.d.ts +0 -7
- package/f-draggable/f-node-move/create-drag-model-from-selection/create-summary-drag-handler/create-summary-drag-handler.d.ts +0 -13
- package/f-draggable/f-node-move/create-drag-model-from-selection/create-summary-drag-handler/index.d.ts +0 -2
- package/f-draggable/f-node-move/create-drag-model-from-selection/get-node-bounding-include-paddings/get-node-bounding-include-paddings-request.d.ts +0 -7
- package/f-draggable/f-node-move/create-drag-model-from-selection/get-node-bounding-include-paddings/get-node-bounding-include-paddings-response.d.ts +0 -9
- package/f-draggable/f-node-move/create-drag-model-from-selection/get-node-bounding-include-paddings/get-node-bounding-include-paddings.d.ts +0 -13
- package/f-draggable/f-node-move/create-drag-model-from-selection/get-node-bounding-include-paddings/index.d.ts +0 -3
- package/f-draggable/f-node-move/create-drag-model-from-selection/i-node-move-limits-and-position.d.ts +0 -5
- package/f-draggable/f-node-move/create-drag-model-from-selection/i-node-move-limits.d.ts +0 -3
- package/f-draggable/f-node-move/create-drag-model-from-selection/index.d.ts +0 -11
- package/f-draggable/f-node-move/create-drag-model-from-selection/providers.d.ts +0 -8
- package/f-draggable/f-node-move/create-snap-lines/create-snap-lines-request.d.ts +0 -6
- package/f-draggable/f-node-move/create-snap-lines/create-snap-lines.d.ts +0 -19
- package/f-draggable/f-node-move/create-snap-lines/index.d.ts +0 -2
- package/f-draggable/f-node-move/create-snap-lines/snap-lines.drag-handler.d.ts +0 -16
- package/f-draggable/f-node-move/f-move-nodes.event.d.ts +0 -15
- package/f-draggable/f-node-move/index.d.ts +0 -12
- package/f-draggable/f-node-move/move-drag-handler.d.ts +0 -33
- package/f-draggable/f-node-move/move-finalize/f-node-move-finalize.execution.d.ts +0 -23
- package/f-draggable/f-node-move/move-finalize/f-node-move-finalize.request.d.ts +0 -6
- package/f-draggable/f-node-move/move-finalize/index.d.ts +0 -2
- package/f-draggable/f-node-move/move-preparation/f-node-move-preparation.execution.d.ts +0 -20
- package/f-draggable/f-node-move/move-preparation/f-node-move-preparation.request.d.ts +0 -8
- package/f-draggable/f-node-move/move-preparation/index.d.ts +0 -2
- package/f-draggable/f-node-move/move-summary-drag-handler.d.ts +0 -22
- package/f-draggable/f-node-move/providers.d.ts +0 -4
- package/f-draggable/f-single-select/f-single-select.execution.d.ts +0 -62
- package/f-draggable/f-single-select/f-single-select.request.d.ts +0 -8
- package/f-draggable/f-single-select/index.d.ts +0 -3
- package/f-draggable/f-single-select/providers.d.ts +0 -2
- package/f-line-alignment/domain/i-line-alignment-rect.d.ts +0 -6
- package/f-line-alignment/domain/i-snap-coordinate.d.ts +0 -4
- package/f-line-alignment/domain/i-snap-result.d.ts +0 -5
- package/f-line-alignment/domain/index.d.ts +0 -5
- package/f-line-alignment/domain/snap-line-element.d.ts +0 -9
- package/f-line-alignment/domain/snap-line-service.d.ts +0 -11
- package/f-line-alignment/f-line-alignment-base.d.ts +0 -10
- package/f-selection-area/domain/index.d.ts +0 -4
- package/f-selection-area/domain/providers.d.ts +0 -3
- package/f-selection-area/domain/selection-area-finalize/index.d.ts +0 -2
- package/f-selection-area/domain/selection-area-finalize/selection-area-finalize.execution.d.ts +0 -10
- package/f-selection-area/domain/selection-area-finalize/selection-area-finalize.request.d.ts +0 -6
- package/f-selection-area/domain/selection-area-preparation/index.d.ts +0 -2
- package/f-selection-area/domain/selection-area-preparation/selection-area-preparation.execution.d.ts +0 -13
- package/f-selection-area/domain/selection-area-preparation/selection-area-preparation.request.d.ts +0 -10
- package/f-selection-area/domain/selection-area.drag-handle.d.ts +0 -20
- package/f-selection-area/f-selection-area.component.d.ts +0 -21
- package/f-storage/f-connectors-store.d.ts +0 -6
- package/f-storage/features/listen-components-data-changed/index.d.ts +0 -2
- package/f-storage/features/listen-components-data-changed/listen-data-changes.execution.d.ts +0 -10
- package/f-storage/features/listen-count-changes/listen-count-changes.execution.d.ts +0 -10
- package/f-storage/features/listen-transform-changes/listen-transform-changes.execution.d.ts +0 -10
- package/f-storage/features/notify-data-changed/notify-data-changed.execution.d.ts +0 -9
- package/f-storage/features/notify-transform-changed/notify-transform-changed.execution.d.ts +0 -9
- /package/domain/f-background/add-pattern-to-background/{add-pattern-to-background.request.d.ts → add-pattern-to-background-request.d.ts} +0 -0
- /package/domain/f-flow/{get-flow-state → calculate-flow-state}/i-f-flow-state-node.d.ts +0 -0
- /package/domain/f-flow/{get-flow-state → calculate-flow-state}/i-f-flow-state.d.ts +0 -0
- /package/domain/f-selection/{get-can-be-selected-items → calculate-selectable-items}/i-can-be-selected-element-and-rect.d.ts +0 -0
- /package/domain/f-selection/select-all/{select-all.request.d.ts → select-all-request.d.ts} +0 -0
- /package/domain/f-selection/select-and-update-node-layer/{select-and-update-node-layer.request.d.ts → select-and-update-node-layer-request.d.ts} +0 -0
- /package/domain/sort-item-layers/{sort-item-layers.request.d.ts → sort-item-layers-request.d.ts} +0 -0
- /package/domain/update-item-and-children-layers/{update-item-and-children-layers.request.d.ts → update-item-and-children-layers-request.d.ts} +0 -0
- /package/f-canvas/domain/{f-canvas-change.event.d.ts → f-canvas-change-event.d.ts} +0 -0
- /package/{f-connection/f-connection-content/polyline-content-engine → f-connection-v2/components/connection-content/utils}/i-polyline-content.d.ts +0 -0
- /package/{f-connection/f-connection-content/polyline-content-engine → f-connection-v2/components/connection-content/utils}/index.d.ts +0 -0
- /package/{f-connection/f-connection-content/polyline-content-engine → f-connection-v2/components/connection-content/utils}/polyline-content-align.d.ts +0 -0
- /package/{f-connection/f-connection-content/polyline-content-engine → f-connection-v2/components/connection-content/utils}/polyline-content-place.d.ts +0 -0
- /package/{f-connection/f-connection-content/polyline-content-engine → f-connection-v2/components/connection-content/utils}/polyline-sampler/i-sampler-result.d.ts +0 -0
- /package/{f-connection/f-connection-content/polyline-content-engine → f-connection-v2/components/connection-content/utils}/polyline-sampler/i-tangent.d.ts +0 -0
- /package/{f-connection/f-connection-content/polyline-content-engine → f-connection-v2/components/connection-content/utils}/polyline-sampler/index.d.ts +0 -0
- /package/{f-connection/f-connection-content/polyline-content-engine → f-connection-v2/components/connection-content/utils}/polyline-sampler/polyline-sampler.d.ts +0 -0
- /package/{f-connection/f-connection-content/polyline-content-engine → f-connection-v2/components/connection-content/utils}/polyline-sampler/polyline.d.ts +0 -0
- /package/{f-connection/f-marker → f-connection-v2/components/connection-marker/enums}/e-f-marker-type.d.ts +0 -0
- /package/{f-connectors → f-connection-v2/enums}/e-f-connectable-side.d.ts +0 -0
- /package/{f-connection/common → f-connection-v2/enums}/e-f-connection-type.d.ts +0 -0
- /package/{f-connection/common → f-connection-v2/utils/connection-behaviour/enums}/e-f-connection-behavior.d.ts +0 -0
- /package/{f-connection/common → f-connection-v2/utils/connection-behaviour/enums}/e-f-connection-connectable-side.d.ts +0 -0
- /package/f-draggable/{f-connection/f-create-connection/create-preparation → connection/create-connection/create-connection-preparation}/create-connection-preparation-request.d.ts +0 -0
- /package/f-draggable/{f-connection/f-create-connection/create-preparation → connection/create-connection/create-connection-preparation}/from-output-preparation/create-connection-from-output-preparation-request.d.ts +0 -0
- /package/f-draggable/{f-connection/f-create-connection/create-preparation → connection/create-connection/create-connection-preparation}/from-output-preparation/index.d.ts +0 -0
- /package/{domain/f-draggable → f-draggable/domain}/emit-selection-change-event/emit-selection-change-event-request.d.ts +0 -0
- /package/f-draggable/{f-drop-to-group → drop-to-group}/drop-to-group-finalize/index.d.ts +0 -0
- /package/f-draggable/{f-drop-to-group → drop-to-group}/drop-to-group-preparation/drop-to-group-preparation-request.d.ts +0 -0
- /package/f-draggable/{f-drop-to-group → drop-to-group}/drop-to-group-preparation/index.d.ts +0 -0
- /package/f-draggable/{f-drag-handler → infrastructure}/f-drag-handler-result.d.ts +0 -0
- /package/f-storage/features/{listen-components-data-changed → listen-data-changed}/listen-data-changes-request.d.ts +0 -0
- /package/f-storage/features/listen-transform-changes/{listen-transform-changes.request.d.ts → listen-transform-changes-request.d.ts} +0 -0
- /package/f-storage/features/notify-transform-changed/{notify-transform-changed.request.d.ts → notify-transform-changed-request.d.ts} +0 -0
|
@@ -1,201 +0,0 @@
|
|
|
1
|
-
import { EFConnectableSide } from '../../../f-connectors';
|
|
2
|
-
import { CalculateConnectionCenterHandler, CalculateConnectionCenterRequest, } from './calculate-connection-center';
|
|
3
|
-
/**
|
|
4
|
-
* AdaptiveCurveBuilder
|
|
5
|
-
*
|
|
6
|
-
* Builds a smooth **adaptive connector curve** between two points using a cubic Bézier path,
|
|
7
|
-
* but with control points computed differently from a classic “Bezier” connector.
|
|
8
|
-
*
|
|
9
|
-
* Key differences from a classic Bézier builder:
|
|
10
|
-
* - Control handles are **aligned with the port side** (LEFT/RIGHT/TOP/BOTTOM),
|
|
11
|
-
* yet are **slightly blended toward the target direction** to reduce harsh S-shapes.
|
|
12
|
-
* - Handle lengths are **adaptive**: based on the `offset` (your “padding” from ports)
|
|
13
|
-
* and the projected distance along the side’s axis. This produces a subtler curvature
|
|
14
|
-
* and a distinct look & feel compared to a standard Bézier connector.
|
|
15
|
-
*
|
|
16
|
-
* Compatibility:
|
|
17
|
-
* - Implements {@link IFConnectionBuilder}; output shape is the same:
|
|
18
|
-
* SVG path, sampled points for hit-testing, and connection center.
|
|
19
|
-
* - Only the four base sides are expected to be passed here:
|
|
20
|
-
* {@link EFConnectableSide.LEFT}, {@link EFConnectableSide.RIGHT},
|
|
21
|
-
* {@link EFConnectableSide.TOP}, {@link EFConnectableSide.BOTTOM}.
|
|
22
|
-
*
|
|
23
|
-
* Usage example:
|
|
24
|
-
* ```ts
|
|
25
|
-
* const builder = new AdaptiveCurveBuilder();
|
|
26
|
-
* const res = builder.handle({
|
|
27
|
-
* source: { x: 100, y: 120 },
|
|
28
|
-
* sourceSide: EFConnectableSide.RIGHT,
|
|
29
|
-
* target: { x: 340, y: 220 },
|
|
30
|
-
* targetSide: EFConnectableSide.LEFT,
|
|
31
|
-
* offset: 16, // acts as padding + minimal handle baseline
|
|
32
|
-
* });
|
|
33
|
-
* // res.path -> SVG "M … C …" string
|
|
34
|
-
* // res.points -> sampled points along the curve
|
|
35
|
-
* ```
|
|
36
|
-
*/
|
|
37
|
-
export class AdaptiveCurveBuilder {
|
|
38
|
-
/**
|
|
39
|
-
* Returns a unit direction vector for a given side.
|
|
40
|
-
*
|
|
41
|
-
* @param side - One of LEFT/RIGHT/TOP/BOTTOM.
|
|
42
|
-
* @returns Unit vector pointing outwards from the side.
|
|
43
|
-
* @remarks
|
|
44
|
-
* Only base sides should reach this builder. A fallback `{0,0}` is returned
|
|
45
|
-
* defensively, but should not occur in normal usage.
|
|
46
|
-
*/
|
|
47
|
-
static _dir(side) {
|
|
48
|
-
switch (side) {
|
|
49
|
-
case EFConnectableSide.LEFT:
|
|
50
|
-
return { x: -1, y: 0 };
|
|
51
|
-
case EFConnectableSide.RIGHT:
|
|
52
|
-
return { x: 1, y: 0 };
|
|
53
|
-
case EFConnectableSide.TOP:
|
|
54
|
-
return { x: 0, y: -1 };
|
|
55
|
-
case EFConnectableSide.BOTTOM:
|
|
56
|
-
return { x: 0, y: 1 };
|
|
57
|
-
}
|
|
58
|
-
return { x: 0, y: 0 };
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* Checks whether a side is horizontal (LEFT/RIGHT).
|
|
62
|
-
*
|
|
63
|
-
* @param side - Side to check.
|
|
64
|
-
* @returns `true` for LEFT/RIGHT, otherwise `false`.
|
|
65
|
-
*/
|
|
66
|
-
static _isH(side) {
|
|
67
|
-
return side === EFConnectableSide.LEFT || side === EFConnectableSide.RIGHT;
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* Computes a **soft** handle length for a control point.
|
|
71
|
-
*
|
|
72
|
-
* The handle length is derived from:
|
|
73
|
-
* - `offset` (acts as padding & the baseline handle),
|
|
74
|
-
* - distance projected along the side’s axis (dx for horizontal, dy for vertical),
|
|
75
|
-
* - a conservative upper bound to avoid bloated curves.
|
|
76
|
-
*
|
|
77
|
-
* @param p0 - Start (or end) point of the segment.
|
|
78
|
-
* @param p3 - Opposite end (or start) point.
|
|
79
|
-
* @param side - Side at which the handle originates.
|
|
80
|
-
* @param offset - Visual padding/minimal handle baseline (must be ≥ 0).
|
|
81
|
-
* @returns A bounded positive handle length.
|
|
82
|
-
*/
|
|
83
|
-
static _handleLen(p0, p3, side, offset) {
|
|
84
|
-
const dx = Math.abs(p3.x - p0.x);
|
|
85
|
-
const dy = Math.abs(p3.y - p0.y);
|
|
86
|
-
const d = Math.hypot(dx, dy);
|
|
87
|
-
const along = this._isH(side) ? dx : dy;
|
|
88
|
-
const MIN = Math.max(8, offset);
|
|
89
|
-
const MAX = offset + 0.5 * d; // upper cap to keep the shape compact
|
|
90
|
-
const len = offset * 1.05 + along * 0.3; // moderate growth along the axis
|
|
91
|
-
return Math.min(MAX, Math.max(MIN, len));
|
|
92
|
-
}
|
|
93
|
-
/**
|
|
94
|
-
* Computes a control point by taking the side direction and **lightly blending**
|
|
95
|
-
* it toward the target direction. This reduces harsh inflections while keeping
|
|
96
|
-
* the perceptual attachment to the port side.
|
|
97
|
-
*
|
|
98
|
-
* @param side - Base side defining the primary direction (LEFT/RIGHT/TOP/BOTTOM).
|
|
99
|
-
* @param source - Anchor point where the control handle is attached.
|
|
100
|
-
* @param target - Opposite end; used to orient the handle slightly toward the goal.
|
|
101
|
-
* @param handle - Handle length (see {@link _handleLen}).
|
|
102
|
-
* @returns Control point coordinates for the cubic Bézier segment.
|
|
103
|
-
*/
|
|
104
|
-
static _softControl(side, source, target, handle) {
|
|
105
|
-
const v = this._dir(side);
|
|
106
|
-
const dx = target.x - source.x;
|
|
107
|
-
const dy = target.y - source.y;
|
|
108
|
-
const dist = Math.hypot(dx, dy) || 1;
|
|
109
|
-
const tx = dx / dist;
|
|
110
|
-
const ty = dy / dist;
|
|
111
|
-
// Orientation of side vs. target direction (in [-1, 1])
|
|
112
|
-
const dot = v.x * tx + v.y * ty;
|
|
113
|
-
// Small base blend toward the target; slightly increase if the side points away.
|
|
114
|
-
const baseBlend = 0.12;
|
|
115
|
-
const extra = Math.max(0, -dot) * 0.08; // add a bit when pointing “backwards”
|
|
116
|
-
const blend = Math.min(0.2, baseBlend + extra);
|
|
117
|
-
const dirX = v.x * (1 - blend) + tx * blend;
|
|
118
|
-
const dirY = v.y * (1 - blend) + ty * blend;
|
|
119
|
-
const len = Math.hypot(dirX, dirY) || 1;
|
|
120
|
-
return { x: source.x + (dirX / len) * handle, y: source.y + (dirY / len) * handle };
|
|
121
|
-
}
|
|
122
|
-
/**
|
|
123
|
-
* Builds an adaptive connector between `source` and `target`.
|
|
124
|
-
*
|
|
125
|
-
* @param request - Connection build request.
|
|
126
|
-
* @param request.source - Start point of the connector.
|
|
127
|
-
* @param request.sourceSide - Side at the source port (LEFT/RIGHT/TOP/BOTTOM).
|
|
128
|
-
* @param request.target - End point of the connector.
|
|
129
|
-
* @param request.targetSide - Side at the target port (LEFT/RIGHT/TOP/BOTTOM).
|
|
130
|
-
* @param request.offset - Visual padding & minimal handle baseline (≥ 0).
|
|
131
|
-
*
|
|
132
|
-
* @returns Standard {@link IFConnectionBuilderResponse}:
|
|
133
|
-
* - `path`: SVG cubic path (“M … C …”),
|
|
134
|
-
* - `points`: discretized samples along the curve,
|
|
135
|
-
* - `connectionCenter`: approximate visual center for labeling/interaction,
|
|
136
|
-
* - `secondPoint`/`penultimatePoint`: first/second control points (for tooling).
|
|
137
|
-
*
|
|
138
|
-
* @remarks
|
|
139
|
-
* The returned path slightly offsets the end point by +0.0002 on both axes
|
|
140
|
-
* to avoid edge cases in some renderers and hit-testing implementations.
|
|
141
|
-
*/
|
|
142
|
-
handle(request) {
|
|
143
|
-
const { source, sourceSide, target, targetSide } = request;
|
|
144
|
-
const offset = Math.max(0, request.offset ?? 0);
|
|
145
|
-
const p0 = { x: source.x, y: source.y };
|
|
146
|
-
const p3 = { x: target.x, y: target.y };
|
|
147
|
-
const h0 = AdaptiveCurveBuilder._handleLen(p0, p3, sourceSide, offset);
|
|
148
|
-
const h3 = AdaptiveCurveBuilder._handleLen(p3, p0, targetSide, offset);
|
|
149
|
-
const c1 = AdaptiveCurveBuilder._softControl(sourceSide, p0, p3, h0);
|
|
150
|
-
const c2 = AdaptiveCurveBuilder._softControl(targetSide, p3, p0, h3);
|
|
151
|
-
const path = `M ${p0.x} ${p0.y} C ${c1.x} ${c1.y}, ${c2.x} ${c2.y}, ${p3.x + 0.0002} ${p3.y + 0.0002}`;
|
|
152
|
-
const connectionCenter = new CalculateConnectionCenterHandler().handle(new CalculateConnectionCenterRequest([p0, c1, c2, p3]));
|
|
153
|
-
return {
|
|
154
|
-
path,
|
|
155
|
-
connectionCenter,
|
|
156
|
-
secondPoint: c1,
|
|
157
|
-
penultimatePoint: c2,
|
|
158
|
-
points: _sampleCubic(p0, c1, c2, p3, 32),
|
|
159
|
-
};
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
/**
|
|
163
|
-
* Evaluates a cubic Bézier at parameter `t` in [0, 1].
|
|
164
|
-
*
|
|
165
|
-
* @param p0 - Start point.
|
|
166
|
-
* @param p1 - First control point.
|
|
167
|
-
* @param p2 - Second control point.
|
|
168
|
-
* @param p3 - End point.
|
|
169
|
-
* @param t - Parameter in [0, 1].
|
|
170
|
-
* @returns Point on the curve at `t`.
|
|
171
|
-
*/
|
|
172
|
-
function bez3(p0, p1, p2, p3, t) {
|
|
173
|
-
const u = 1 - t, tt = t * t, uu = u * u, uuu = uu * u, ttt = tt * t;
|
|
174
|
-
return {
|
|
175
|
-
x: uuu * p0.x + 3 * uu * t * p1.x + 3 * u * tt * p2.x + ttt * p3.x,
|
|
176
|
-
y: uuu * p0.y + 3 * uu * t * p1.y + 3 * u * tt * p2.y + ttt * p3.y,
|
|
177
|
-
};
|
|
178
|
-
}
|
|
179
|
-
/**
|
|
180
|
-
* Uniformly samples a cubic Bézier segment.
|
|
181
|
-
*
|
|
182
|
-
* @param p0 - Start point.
|
|
183
|
-
* @param p1 - First control point.
|
|
184
|
-
* @param p2 - Second control point.
|
|
185
|
-
* @param p3 - End point.
|
|
186
|
-
* @param samples - Number of sub-segments (default: 32). The function returns `samples + 1` points.
|
|
187
|
-
* @returns Array of sampled points including both endpoints.
|
|
188
|
-
* @remarks
|
|
189
|
-
* Sampling is uniform in parameter `t`, not in arc length. This is typically
|
|
190
|
-
* sufficient for hit-testing and bounding boxes; if you need error-bounded
|
|
191
|
-
* flattening, consider an adaptive subdivision strategy instead.
|
|
192
|
-
*/
|
|
193
|
-
function _sampleCubic(p0, p1, p2, p3, samples = 32) {
|
|
194
|
-
const out = new Array(samples + 1);
|
|
195
|
-
out[0] = { ...p0 };
|
|
196
|
-
for (let i = 1; i <= samples; i++) {
|
|
197
|
-
out[i] = bez3(p0, p1, p2, p3, i / samples);
|
|
198
|
-
}
|
|
199
|
-
return out;
|
|
200
|
-
}
|
|
201
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRhcHRpdmUtY3VydmUtYnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1jb25uZWN0aW9uL2NvbW1vbi9kb21haW4vYWRhcHRpdmUtY3VydmUtYnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQ0wsZ0NBQWdDLEVBQ2hDLGdDQUFnQyxHQUNqQyxNQUFNLCtCQUErQixDQUFDO0FBT3ZDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpQ0c7QUFDSCxNQUFNLE9BQU8sb0JBQW9CO0lBQy9COzs7Ozs7OztPQVFHO0lBQ0ssTUFBTSxDQUFDLElBQUksQ0FBQyxJQUF1QjtRQUN6QyxRQUFRLElBQUksRUFBRSxDQUFDO1lBQ2IsS0FBSyxpQkFBaUIsQ0FBQyxJQUFJO2dCQUN6QixPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUN6QixLQUFLLGlCQUFpQixDQUFDLEtBQUs7Z0JBQzFCLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUN4QixLQUFLLGlCQUFpQixDQUFDLEdBQUc7Z0JBQ3hCLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ3pCLEtBQUssaUJBQWlCLENBQUMsTUFBTTtnQkFDM0IsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO1FBQzFCLENBQUM7UUFFRCxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVEOzs7OztPQUtH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LEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsR0FBRyxHQUFHLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDbEUsQ0FBQyxFQUFFLEdBQUcsR0FBRyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsR0FBRyxHQUFHLEdBQUcsRUFBRSxDQUFDLENBQUM7S0FDbkUsQ0FBQztBQUNKLENBQUM7QUFFRDs7Ozs7Ozs7Ozs7OztHQWFHO0FBQ0gsU0FBUyxZQUFZLENBQUMsRUFBVSxFQUFFLEVBQVUsRUFBRSxFQUFVLEVBQUUsRUFBVSxFQUFFLE9BQU8sR0FBRyxFQUFFO0lBQ2hGLE1BQU0sR0FBRyxHQUFhLElBQUksS0FBSyxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQztJQUM3QyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUFDO0lBQ25CLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxPQUFPLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUNsQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElQb2ludCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgRUZDb25uZWN0YWJsZVNpZGUgfSBmcm9tICcuLi8uLi8uLi9mLWNvbm5lY3RvcnMnO1xuaW1wb3J0IHtcbiAgQ2FsY3VsYXRlQ29ubmVjdGlvbkNlbnRlckhhbmRsZXIsXG4gIENhbGN1bGF0ZUNvbm5lY3Rpb25DZW50ZXJSZXF1ZXN0LFxufSBmcm9tICcuL2NhbGN1bGF0ZS1jb25uZWN0aW9uLWNlbnRlcic7XG5pbXBvcnQge1xuICBJRkNvbm5lY3Rpb25CdWlsZGVyLFxuICBJRkNvbm5lY3Rpb25CdWlsZGVyUmVxdWVzdCxcbiAgSUZDb25uZWN0aW9uQnVpbGRlclJlc3BvbnNlLFxufSBmcm9tICcuLi8uLi9mLWNvbm5lY3Rpb24tYnVpbGRlcic7XG5cbi8qKlxuICogQWRhcHRpdmVDdXJ2ZUJ1aWxkZXJcbiAqXG4gKiBCdWlsZHMgYSBzbW9vdGggKiphZGFwdGl2ZSBjb25uZWN0b3IgY3VydmUqKiBiZXR3ZWVuIHR3byBwb2ludHMgdXNpbmcgYSBjdWJpYyBCw6l6aWVyIHBhdGgsXG4gKiBidXQgd2l0aCBjb250cm9sIHBvaW50cyBjb21wdXRlZCBkaWZmZXJlbnRseSBmcm9tIGEgY2xhc3NpYyDigJxCZXppZXLigJ0gY29ubmVjdG9yLlxuICpcbiAqIEtleSBkaWZmZXJlbmNlcyBmcm9tIGEgY2xhc3NpYyBCw6l6aWVyIGJ1aWxkZXI6XG4gKiAtIENvbnRyb2wgaGFuZGxlcyBhcmUgKiphbGlnbmVkIHdpdGggdGhlIHBvcnQgc2lkZSoqIChMRUZUL1JJR0hUL1RPUC9CT1RUT00pLFxuICogICB5ZXQgYXJlICoqc2xpZ2h0bHkgYmxlbmRlZCB0b3dhcmQgdGhlIHRhcmdldCBkaXJlY3Rpb24qKiB0byByZWR1Y2UgaGFyc2ggUy1zaGFwZXMuXG4gKiAtIEhhbmRsZSBsZW5ndGhzIGFyZSAqKmFkYXB0aXZlKio6IGJhc2VkIG9uIHRoZSBgb2Zmc2V0YCAoeW91ciDigJxwYWRkaW5n4oCdIGZyb20gcG9ydHMpXG4gKiAgIGFuZCB0aGUgcHJvamVjdGVkIGRpc3RhbmNlIGFsb25nIHRoZSBzaWRl4oCZcyBheGlzLiBUaGlzIHByb2R1Y2VzIGEgc3VidGxlciBjdXJ2YXR1cmVcbiAqICAgYW5kIGEgZGlzdGluY3QgbG9vayAmIGZlZWwgY29tcGFyZWQgdG8gYSBzdGFuZGFyZCBCw6l6aWVyIGNvbm5lY3Rvci5cbiAqXG4gKiBDb21wYXRpYmlsaXR5OlxuICogLSBJbXBsZW1lbnRzIHtAbGluayBJRkNvbm5lY3Rpb25CdWlsZGVyfTsgb3V0cHV0IHNoYXBlIGlzIHRoZSBzYW1lOlxuICogICBTVkcgcGF0aCwgc2FtcGxlZCBwb2ludHMgZm9yIGhpdC10ZXN0aW5nLCBhbmQgY29ubmVjdGlvbiBjZW50ZXIuXG4gKiAtIE9ubHkgdGhlIGZvdXIgYmFzZSBzaWRlcyBhcmUgZXhwZWN0ZWQgdG8gYmUgcGFzc2VkIGhlcmU6XG4gKiAgIHtAbGluayBFRkNvbm5lY3RhYmxlU2lkZS5MRUZUfSwge0BsaW5rIEVGQ29ubmVjdGFibGVTaWRlLlJJR0hUfSxcbiAqICAge0BsaW5rIEVGQ29ubmVjdGFibGVTaWRlLlRPUH0sIHtAbGluayBFRkNvbm5lY3RhYmxlU2lkZS5CT1RUT019LlxuICpcbiAqIFVzYWdlIGV4YW1wbGU6XG4gKiBgYGB0c1xuICogY29uc3QgYnVpbGRlciA9IG5ldyBBZGFwdGl2ZUN1cnZlQnVpbGRlcigpO1xuICogY29uc3QgcmVzID0gYnVpbGRlci5oYW5kbGUoe1xuICogICBzb3VyY2U6IHsgeDogMTAwLCB5OiAxMjAgfSxcbiAqICAgc291cmNlU2lkZTogRUZDb25uZWN0YWJsZVNpZGUuUklHSFQsXG4gKiAgIHRhcmdldDogeyB4OiAzNDAsIHk6IDIyMCB9LFxuICogICB0YXJnZXRTaWRlOiBFRkNvbm5lY3RhYmxlU2lkZS5MRUZULFxuICogICBvZmZzZXQ6IDE2LCAvLyBhY3RzIGFzIHBhZGRpbmcgKyBtaW5pbWFsIGhhbmRsZSBiYXNlbGluZVxuICogfSk7XG4gKiAvLyByZXMucGF0aCAtPiBTVkcgXCJNIOKApiBDIOKAplwiIHN0cmluZ1xuICogLy8gcmVzLnBvaW50cyAtPiBzYW1wbGVkIHBvaW50cyBhbG9uZyB0aGUgY3VydmVcbiAqIGBgYFxuICovXG5leHBvcnQgY2xhc3MgQWRhcHRpdmVDdXJ2ZUJ1aWxkZXIgaW1wbGVtZW50cyBJRkNvbm5lY3Rpb25CdWlsZGVyIHtcbiAgLyoqXG4gICAqIFJldHVybnMgYSB1bml0IGRpcmVjdGlvbiB2ZWN0b3IgZm9yIGEgZ2l2ZW4gc2lkZS5cbiAgICpcbiAgICogQHBhcmFtIHNpZGUgLSBPbmUgb2YgTEVGVC9SSUdIVC9UT1AvQk9UVE9NLlxuICAgKiBAcmV0dXJucyBVbml0IHZlY3RvciBwb2ludGluZyBvdXR3YXJkcyBmcm9tIHRoZSBzaWRlLlxuICAgKiBAcmVtYXJrc1xuICAgKiBPbmx5IGJhc2Ugc2lkZXMgc2hvdWxkIHJlYWNoIHRoaXMgYnVpbGRlci4gQSBmYWxsYmFjayBgezAsMH1gIGlzIHJldHVybmVkXG4gICAqIGRlZmVuc2l2ZWx5LCBidXQgc2hvdWxkIG5vdCBvY2N1ciBpbiBub3JtYWwgdXNhZ2UuXG4gICAqL1xuICBwcml2YXRlIHN0YXRpYyBfZGlyKHNpZGU6IEVGQ29ubmVjdGFibGVTaWRlKTogSVBvaW50IHtcbiAgICBzd2l0Y2ggKHNpZGUpIHtcbiAgICAgIGNhc2UgRUZDb25uZWN0YWJsZVNpZGUuTEVGVDpcbiAgICAgICAgcmV0dXJuIHsgeDogLTEsIHk6IDAgfTtcbiAgICAgIGNhc2UgRUZDb25uZWN0YWJsZVNpZGUuUklHSFQ6XG4gICAgICAgIHJldHVybiB7IHg6IDEsIHk6IDAgfTtcbiAgICAgIGNhc2UgRUZDb25uZWN0YWJsZVNpZGUuVE9QOlxuICAgICAgICByZXR1cm4geyB4OiAwLCB5OiAtMSB9O1xuICAgICAgY2FzZSBFRkNvbm5lY3RhYmxlU2lkZS5CT1RUT006XG4gICAgICAgIHJldHVybiB7IHg6IDAsIHk6IDEgfTtcbiAgICB9XG5cbiAgICByZXR1cm4geyB4OiAwLCB5OiAwIH07XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIHdoZXRoZXIgYSBzaWRlIGlzIGhvcml6b250YWwgKExFRlQvUklHSFQpLlxuICAgKlxuICAgKiBAcGFyYW0gc2lkZSAtIFNpZGUgdG8gY2hlY2suXG4gICAqIEByZXR1cm5zIGB0cnVlYCBmb3IgTEVGVC9SSUdIVCwgb3RoZXJ3aXNlIGBmYWxzZWAuXG4gICAqL1xuICBwcml2YXRlIHN0YXRpYyBfaXNIKHNpZGU6IEVGQ29ubmVjdGFibGVTaWRlKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHNpZGUgPT09IEVGQ29ubmVjdGFibGVTaWRlLkxFRlQgfHwgc2lkZSA9PT0gRUZDb25uZWN0YWJsZVNpZGUuUklHSFQ7XG4gIH1cblxuICAvKipcbiAgICogQ29tcHV0ZXMgYSAqKnNvZnQqKiBoYW5kbGUgbGVuZ3RoIGZvciBhIGNvbnRyb2wgcG9pbnQuXG4gICAqXG4gICAqIFRoZSBoYW5kbGUgbGVuZ3RoIGlzIGRlcml2ZWQgZnJvbTpcbiAgICogLSBgb2Zmc2V0YCAoYWN0cyBhcyBwYWRkaW5nICYgdGhlIGJhc2VsaW5lIGhhbmRsZSksXG4gICAqIC0gZGlzdGFuY2UgcHJvamVjdGVkIGFsb25nIHRoZSBzaWRl4oCZcyBheGlzIChkeCBmb3IgaG9yaXpvbnRhbCwgZHkgZm9yIHZlcnRpY2FsKSxcbiAgICogLSBhIGNvbnNlcnZhdGl2ZSB1cHBlciBib3VuZCB0byBhdm9pZCBibG9hdGVkIGN1cnZlcy5cbiAgICpcbiAgICogQHBhcmFtIHAwIC0gU3RhcnQgKG9yIGVuZCkgcG9pbnQgb2YgdGhlIHNlZ21lbnQuXG4gICAqIEBwYXJhbSBwMyAtIE9wcG9zaXRlIGVuZCAob3Igc3RhcnQpIHBvaW50LlxuICAgKiBAcGFyYW0gc2lkZSAtIFNpZGUgYXQgd2hpY2ggdGhlIGhhbmRsZSBvcmlnaW5hdGVzLlxuICAgKiBAcGFyYW0gb2Zmc2V0IC0gVmlzdWFsIHBhZGRpbmcvbWluaW1hbCBoYW5kbGUgYmFzZWxpbmUgKG11c3QgYmUg4omlIDApLlxuICAgKiBAcmV0dXJucyBBIGJvdW5kZWQgcG9zaXRpdmUgaGFuZGxlIGxlbmd0aC5cbiAgICovXG4gIHByaXZhdGUgc3RhdGljIF9oYW5kbGVMZW4oXG4gICAgcDA6IElQb2ludCxcbiAgICBwMzogSVBvaW50LFxuICAgIHNpZGU6IEVGQ29ubmVjdGFibGVTaWRlLFxuICAgIG9mZnNldDogbnVtYmVyLFxuICApOiBudW1iZXIge1xuICAgIGNvbnN0IGR4ID0gTWF0aC5hYnMocDMueCAtIHAwLngpO1xuICAgIGNvbnN0IGR5ID0gTWF0aC5hYnMocDMueSAtIHAwLnkpO1xuICAgIGNvbnN0IGQgPSBNYXRoLmh5cG90KGR4LCBkeSk7XG4gICAgY29uc3QgYWxvbmcgPSB0aGlzLl9pc0goc2lkZSkgPyBkeCA6IGR5O1xuXG4gICAgY29uc3QgTUlOID0gTWF0aC5tYXgoOCwgb2Zmc2V0KTtcbiAgICBjb25zdCBNQVggPSBvZmZzZXQgKyAwLjUgKiBkOyAvLyB1cHBlciBjYXAgdG8ga2VlcCB0aGUgc2hhcGUgY29tcGFjdFxuICAgIGNvbnN0IGxlbiA9IG9mZnNldCAqIDEuMDUgKyBhbG9uZyAqIDAuMzsgLy8gbW9kZXJhdGUgZ3Jvd3RoIGFsb25nIHRoZSBheGlzXG5cbiAgICByZXR1cm4gTWF0aC5taW4oTUFYLCBNYXRoLm1heChNSU4sIGxlbikpO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbXB1dGVzIGEgY29udHJvbCBwb2ludCBieSB0YWtpbmcgdGhlIHNpZGUgZGlyZWN0aW9uIGFuZCAqKmxpZ2h0bHkgYmxlbmRpbmcqKlxuICAgKiBpdCB0b3dhcmQgdGhlIHRhcmdldCBkaXJlY3Rpb24uIFRoaXMgcmVkdWNlcyBoYXJzaCBpbmZsZWN0aW9ucyB3aGlsZSBrZWVwaW5nXG4gICAqIHRoZSBwZXJjZXB0dWFsIGF0dGFjaG1lbnQgdG8gdGhlIHBvcnQgc2lkZS5cbiAgICpcbiAgICogQHBhcmFtIHNpZGUgLSBCYXNlIHNpZGUgZGVmaW5pbmcgdGhlIHByaW1hcnkgZGlyZWN0aW9uIChMRUZUL1JJR0hUL1RPUC9CT1RUT00pLlxuICAgKiBAcGFyYW0gc291cmNlIC0gQW5jaG9yIHBvaW50IHdoZXJlIHRoZSBjb250cm9sIGhhbmRsZSBpcyBhdHRhY2hlZC5cbiAgICogQHBhcmFtIHRhcmdldCAtIE9wcG9zaXRlIGVuZDsgdXNlZCB0byBvcmllbnQgdGhlIGhhbmRsZSBzbGlnaHRseSB0b3dhcmQgdGhlIGdvYWwuXG4gICAqIEBwYXJhbSBoYW5kbGUgLSBIYW5kbGUgbGVuZ3RoIChzZWUge0BsaW5rIF9oYW5kbGVMZW59KS5cbiAgICogQHJldHVybnMgQ29udHJvbCBwb2ludCBjb29yZGluYXRlcyBmb3IgdGhlIGN1YmljIELDqXppZXIgc2VnbWVudC5cbiAgICovXG4gIHByaXZhdGUgc3RhdGljIF9zb2Z0Q29udHJvbChcbiAgICBzaWRlOiBFRkNvbm5lY3RhYmxlU2lkZSxcbiAgICBzb3VyY2U6IElQb2ludCxcbiAgICB0YXJnZXQ6IElQb2ludCxcbiAgICBoYW5kbGU6IG51bWJlcixcbiAgKTogSVBvaW50IHtcbiAgICBjb25zdCB2ID0gdGhpcy5fZGlyKHNpZGUpO1xuXG4gICAgY29uc3QgZHggPSB0YXJnZXQueCAtIHNvdXJjZS54O1xuICAgIGNvbnN0IGR5ID0gdGFyZ2V0LnkgLSBzb3VyY2UueTtcbiAgICBjb25zdCBkaXN0ID0gTWF0aC5oeXBvdChkeCwgZHkpIHx8IDE7XG4gICAgY29uc3QgdHggPSBkeCAvIGRpc3Q7XG4gICAgY29uc3QgdHkgPSBkeSAvIGRpc3Q7XG5cbiAgICAvLyBPcmllbnRhdGlvbiBvZiBzaWRlIHZzLiB0YXJnZXQgZGlyZWN0aW9uIChpbiBbLTEsIDFdKVxuICAgIGNvbnN0IGRvdCA9IHYueCAqIHR4ICsgdi55ICogdHk7XG5cbiAgICAvLyBTbWFsbCBiYXNlIGJsZW5kIHRvd2FyZCB0aGUgdGFyZ2V0OyBzbGlnaHRseSBpbmNyZWFzZSBpZiB0aGUgc2lkZSBwb2ludHMgYXdheS5cbiAgICBjb25zdCBiYXNlQmxlbmQgPSAwLjEyO1xuICAgIGNvbnN0IGV4dHJhID0gTWF0aC5tYXgoMCwgLWRvdCkgKiAwLjA4OyAvLyBhZGQgYSBiaXQgd2hlbiBwb2ludGluZyDigJxiYWNrd2FyZHPigJ1cbiAgICBjb25zdCBibGVuZCA9IE1hdGgubWluKDAuMiwgYmFzZUJsZW5kICsgZXh0cmEpO1xuXG4gICAgY29uc3QgZGlyWCA9IHYueCAqICgxIC0gYmxlbmQpICsgdHggKiBibGVuZDtcbiAgICBjb25zdCBkaXJZID0gdi55ICogKDEgLSBibGVuZCkgKyB0eSAqIGJsZW5kO1xuICAgIGNvbnN0IGxlbiA9IE1hdGguaHlwb3QoZGlyWCwgZGlyWSkgfHwgMTtcblxuICAgIHJldHVybiB7IHg6IHNvdXJjZS54ICsgKGRpclggLyBsZW4pICogaGFuZGxlLCB5OiBzb3VyY2UueSArIChkaXJZIC8gbGVuKSAqIGhhbmRsZSB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEJ1aWxkcyBhbiBhZGFwdGl2ZSBjb25uZWN0b3IgYmV0d2VlbiBgc291cmNlYCBhbmQgYHRhcmdldGAuXG4gICAqXG4gICAqIEBwYXJhbSByZXF1ZXN0IC0gQ29ubmVjdGlvbiBidWlsZCByZXF1ZXN0LlxuICAgKiBAcGFyYW0gcmVxdWVzdC5zb3VyY2UgLSBTdGFydCBwb2ludCBvZiB0aGUgY29ubmVjdG9yLlxuICAgKiBAcGFyYW0gcmVxdWVzdC5zb3VyY2VTaWRlIC0gU2lkZSBhdCB0aGUgc291cmNlIHBvcnQgKExFRlQvUklHSFQvVE9QL0JPVFRPTSkuXG4gICAqIEBwYXJhbSByZXF1ZXN0LnRhcmdldCAtIEVuZCBwb2ludCBvZiB0aGUgY29ubmVjdG9yLlxuICAgKiBAcGFyYW0gcmVxdWVzdC50YXJnZXRTaWRlIC0gU2lkZSBhdCB0aGUgdGFyZ2V0IHBvcnQgKExFRlQvUklHSFQvVE9QL0JPVFRPTSkuXG4gICAqIEBwYXJhbSByZXF1ZXN0Lm9mZnNldCAtIFZpc3VhbCBwYWRkaW5nICYgbWluaW1hbCBoYW5kbGUgYmFzZWxpbmUgKOKJpSAwKS5cbiAgICpcbiAgICogQHJldHVybnMgU3RhbmRhcmQge0BsaW5rIElGQ29ubmVjdGlvbkJ1aWxkZXJSZXNwb25zZX06XG4gICAqIC0gYHBhdGhgOiBTVkcgY3ViaWMgcGF0aCAo4oCcTSDigKYgQyDigKbigJ0pLFxuICAgKiAtIGBwb2ludHNgOiBkaXNjcmV0aXplZCBzYW1wbGVzIGFsb25nIHRoZSBjdXJ2ZSxcbiAgICogLSBgY29ubmVjdGlvbkNlbnRlcmA6IGFwcHJveGltYXRlIHZpc3VhbCBjZW50ZXIgZm9yIGxhYmVsaW5nL2ludGVyYWN0aW9uLFxuICAgKiAtIGBzZWNvbmRQb2ludGAvYHBlbnVsdGltYXRlUG9pbnRgOiBmaXJzdC9zZWNvbmQgY29udHJvbCBwb2ludHMgKGZvciB0b29saW5nKS5cbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogVGhlIHJldHVybmVkIHBhdGggc2xpZ2h0bHkgb2Zmc2V0cyB0aGUgZW5kIHBvaW50IGJ5ICswLjAwMDIgb24gYm90aCBheGVzXG4gICAqIHRvIGF2b2lkIGVkZ2UgY2FzZXMgaW4gc29tZSByZW5kZXJlcnMgYW5kIGhpdC10ZXN0aW5nIGltcGxlbWVudGF0aW9ucy5cbiAgICovXG4gIHB1YmxpYyBoYW5kbGUocmVxdWVzdDogSUZDb25uZWN0aW9uQnVpbGRlclJlcXVlc3QpOiBJRkNvbm5lY3Rpb25CdWlsZGVyUmVzcG9uc2Uge1xuICAgIGNvbnN0IHsgc291cmNlLCBzb3VyY2VTaWRlLCB0YXJnZXQsIHRhcmdldFNpZGUgfSA9IHJlcXVlc3Q7XG4gICAgY29uc3Qgb2Zmc2V0ID0gTWF0aC5tYXgoMCwgcmVxdWVzdC5vZmZzZXQgPz8gMCk7XG5cbiAgICBjb25zdCBwMCA9IHsgeDogc291cmNlLngsIHk6IHNvdXJjZS55IH07XG4gICAgY29uc3QgcDMgPSB7IHg6IHRhcmdldC54LCB5OiB0YXJnZXQueSB9O1xuXG4gICAgY29uc3QgaDAgPSBBZGFwdGl2ZUN1cnZlQnVpbGRlci5faGFuZGxlTGVuKHAwLCBwMywgc291cmNlU2lkZSwgb2Zmc2V0KTtcbiAgICBjb25zdCBoMyA9IEFkYXB0aXZlQ3VydmVCdWlsZGVyLl9oYW5kbGVMZW4ocDMsIHAwLCB0YXJnZXRTaWRlLCBvZmZzZXQpO1xuXG4gICAgY29uc3QgYzEgPSBBZGFwdGl2ZUN1cnZlQnVpbGRlci5fc29mdENvbnRyb2woc291cmNlU2lkZSwgcDAsIHAzLCBoMCk7XG4gICAgY29uc3QgYzIgPSBBZGFwdGl2ZUN1cnZlQnVpbGRlci5fc29mdENvbnRyb2wodGFyZ2V0U2lkZSwgcDMsIHAwLCBoMyk7XG5cbiAgICBjb25zdCBwYXRoID0gYE0gJHtwMC54fSAke3AwLnl9IEMgJHtjMS54fSAke2MxLnl9LCAke2MyLnh9ICR7YzIueX0sICR7cDMueCArIDAuMDAwMn0gJHtwMy55ICsgMC4wMDAyfWA7XG5cbiAgICBjb25zdCBjb25uZWN0aW9uQ2VudGVyID0gbmV3IENhbGN1bGF0ZUNvbm5lY3Rpb25DZW50ZXJIYW5kbGVyKCkuaGFuZGxlKFxuICAgICAgbmV3IENhbGN1bGF0ZUNvbm5lY3Rpb25DZW50ZXJSZXF1ZXN0KFtwMCwgYzEsIGMyLCBwM10pLFxuICAgICk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgcGF0aCxcbiAgICAgIGNvbm5lY3Rpb25DZW50ZXIsXG4gICAgICBzZWNvbmRQb2ludDogYzEsXG4gICAgICBwZW51bHRpbWF0ZVBvaW50OiBjMixcbiAgICAgIHBvaW50czogX3NhbXBsZUN1YmljKHAwLCBjMSwgYzIsIHAzLCAzMiksXG4gICAgfTtcbiAgfVxufVxuXG4vKipcbiAqIEV2YWx1YXRlcyBhIGN1YmljIELDqXppZXIgYXQgcGFyYW1ldGVyIGB0YCBpbiBbMCwgMV0uXG4gKlxuICogQHBhcmFtIHAwIC0gU3RhcnQgcG9pbnQuXG4gKiBAcGFyYW0gcDEgLSBGaXJzdCBjb250cm9sIHBvaW50LlxuICogQHBhcmFtIHAyIC0gU2Vjb25kIGNvbnRyb2wgcG9pbnQuXG4gKiBAcGFyYW0gcDMgLSBFbmQgcG9pbnQuXG4gKiBAcGFyYW0gdCAtIFBhcmFtZXRlciBpbiBbMCwgMV0uXG4gKiBAcmV0dXJucyBQb2ludCBvbiB0aGUgY3VydmUgYXQgYHRgLlxuICovXG5mdW5jdGlvbiBiZXozKHAwOiBJUG9pbnQsIHAxOiBJUG9pbnQsIHAyOiBJUG9pbnQsIHAzOiBJUG9pbnQsIHQ6IG51bWJlcik6IElQb2ludCB7XG4gIGNvbnN0IHUgPSAxIC0gdCxcbiAgICB0dCA9IHQgKiB0LFxuICAgIHV1ID0gdSAqIHUsXG4gICAgdXV1ID0gdXUgKiB1LFxuICAgIHR0dCA9IHR0ICogdDtcblxuICByZXR1cm4ge1xuICAgIHg6IHV1dSAqIHAwLnggKyAzICogdXUgKiB0ICogcDEueCArIDMgKiB1ICogdHQgKiBwMi54ICsgdHR0ICogcDMueCxcbiAgICB5OiB1dXUgKiBwMC55ICsgMyAqIHV1ICogdCAqIHAxLnkgKyAzICogdSAqIHR0ICogcDIueSArIHR0dCAqIHAzLnksXG4gIH07XG59XG5cbi8qKlxuICogVW5pZm9ybWx5IHNhbXBsZXMgYSBjdWJpYyBCw6l6aWVyIHNlZ21lbnQuXG4gKlxuICogQHBhcmFtIHAwIC0gU3RhcnQgcG9pbnQuXG4gKiBAcGFyYW0gcDEgLSBGaXJzdCBjb250cm9sIHBvaW50LlxuICogQHBhcmFtIHAyIC0gU2Vjb25kIGNvbnRyb2wgcG9pbnQuXG4gKiBAcGFyYW0gcDMgLSBFbmQgcG9pbnQuXG4gKiBAcGFyYW0gc2FtcGxlcyAtIE51bWJlciBvZiBzdWItc2VnbWVudHMgKGRlZmF1bHQ6IDMyKS4gVGhlIGZ1bmN0aW9uIHJldHVybnMgYHNhbXBsZXMgKyAxYCBwb2ludHMuXG4gKiBAcmV0dXJucyBBcnJheSBvZiBzYW1wbGVkIHBvaW50cyBpbmNsdWRpbmcgYm90aCBlbmRwb2ludHMuXG4gKiBAcmVtYXJrc1xuICogU2FtcGxpbmcgaXMgdW5pZm9ybSBpbiBwYXJhbWV0ZXIgYHRgLCBub3QgaW4gYXJjIGxlbmd0aC4gVGhpcyBpcyB0eXBpY2FsbHlcbiAqIHN1ZmZpY2llbnQgZm9yIGhpdC10ZXN0aW5nIGFuZCBib3VuZGluZyBib3hlczsgaWYgeW91IG5lZWQgZXJyb3ItYm91bmRlZFxuICogZmxhdHRlbmluZywgY29uc2lkZXIgYW4gYWRhcHRpdmUgc3ViZGl2aXNpb24gc3RyYXRlZ3kgaW5zdGVhZC5cbiAqL1xuZnVuY3Rpb24gX3NhbXBsZUN1YmljKHAwOiBJUG9pbnQsIHAxOiBJUG9pbnQsIHAyOiBJUG9pbnQsIHAzOiBJUG9pbnQsIHNhbXBsZXMgPSAzMik6IElQb2ludFtdIHtcbiAgY29uc3Qgb3V0OiBJUG9pbnRbXSA9IG5ldyBBcnJheShzYW1wbGVzICsgMSk7XG4gIG91dFswXSA9IHsgLi4ucDAgfTtcbiAgZm9yIChsZXQgaSA9IDE7IGkgPD0gc2FtcGxlczsgaSsrKSB7XG4gICAgb3V0W2ldID0gYmV6MyhwMCwgcDEsIHAyLCBwMywgaSAvIHNhbXBsZXMpO1xuICB9XG5cbiAgcmV0dXJuIG91dDtcbn1cbiJdfQ==
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export class CalculateCenterBetweenPointsRequest {
|
|
2
|
-
source;
|
|
3
|
-
target;
|
|
4
|
-
static fToken = Symbol('CalculateCenterBetweenPointsRequest');
|
|
5
|
-
constructor(source, target) {
|
|
6
|
-
this.source = source;
|
|
7
|
-
this.target = target;
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsY3VsYXRlLWNlbnRlci1iZXR3ZWVuLXBvaW50cy1yZXF1ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3Rpb24vY29tbW9uL2RvbWFpbi9jYWxjdWxhdGUtY2VudGVyLWJldHdlZW4tcG9pbnRzL2NhbGN1bGF0ZS1jZW50ZXItYmV0d2Vlbi1wb2ludHMtcmVxdWVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sbUNBQW1DO0lBSXJDO0lBQ0E7SUFKVCxNQUFNLENBQVUsTUFBTSxHQUFHLE1BQU0sQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDO0lBRXZFLFlBQ1MsTUFBYyxFQUNkLE1BQWM7UUFEZCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsV0FBTSxHQUFOLE1BQU0sQ0FBUTtJQUV2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnQGZvYmxleC8yZCc7XG5cbmV4cG9ydCBjbGFzcyBDYWxjdWxhdGVDZW50ZXJCZXR3ZWVuUG9pbnRzUmVxdWVzdCB7XG4gIHN0YXRpYyByZWFkb25seSBmVG9rZW4gPSBTeW1ib2woJ0NhbGN1bGF0ZUNlbnRlckJldHdlZW5Qb2ludHNSZXF1ZXN0Jyk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHNvdXJjZTogSVBvaW50LFxuICAgIHB1YmxpYyB0YXJnZXQ6IElQb2ludCxcbiAgKSB7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { PointExtensions } from '@foblex/2d';
|
|
2
|
-
export class CalculateCenterBetweenPointsHandler {
|
|
3
|
-
handle(request) {
|
|
4
|
-
const { source, target } = request;
|
|
5
|
-
const offsetX = Math.abs(target.x - source.x) / 2;
|
|
6
|
-
const centerX = (target.x < source.x) ? target.x + offsetX : target.x - offsetX;
|
|
7
|
-
const offsetY = Math.abs(target.y - source.y) / 2;
|
|
8
|
-
const centerY = (target.y < source.y) ? target.y + offsetY : target.y - offsetY;
|
|
9
|
-
return PointExtensions.initialize(centerX, centerY);
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsY3VsYXRlLWNlbnRlci1iZXR3ZWVuLXBvaW50cy5oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3Rpb24vY29tbW9uL2RvbWFpbi9jYWxjdWxhdGUtY2VudGVyLWJldHdlZW4tcG9pbnRzL2NhbGN1bGF0ZS1jZW50ZXItYmV0d2Vlbi1wb2ludHMuaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQVUsZUFBZSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBR3JELE1BQU0sT0FBTyxtQ0FBbUM7SUFHdkMsTUFBTSxDQUFDLE9BQTRDO1FBQ3hELE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBRW5DLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2xELE1BQU0sT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQztRQUVoRixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNsRCxNQUFNLE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUM7UUFFaEYsT0FBTyxlQUFlLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN0RCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJSGFuZGxlciB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHsgSVBvaW50LCBQb2ludEV4dGVuc2lvbnMgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IENhbGN1bGF0ZUNlbnRlckJldHdlZW5Qb2ludHNSZXF1ZXN0IH0gZnJvbSAnLi9jYWxjdWxhdGUtY2VudGVyLWJldHdlZW4tcG9pbnRzLXJlcXVlc3QnO1xuXG5leHBvcnQgY2xhc3MgQ2FsY3VsYXRlQ2VudGVyQmV0d2VlblBvaW50c0hhbmRsZXJcbiAgICBpbXBsZW1lbnRzIElIYW5kbGVyPENhbGN1bGF0ZUNlbnRlckJldHdlZW5Qb2ludHNSZXF1ZXN0LCBJUG9pbnQ+IHtcblxuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IENhbGN1bGF0ZUNlbnRlckJldHdlZW5Qb2ludHNSZXF1ZXN0KTogSVBvaW50IHtcbiAgICBjb25zdCB7IHNvdXJjZSwgdGFyZ2V0IH0gPSByZXF1ZXN0O1xuXG4gICAgY29uc3Qgb2Zmc2V0WCA9IE1hdGguYWJzKHRhcmdldC54IC0gc291cmNlLngpIC8gMjtcbiAgICBjb25zdCBjZW50ZXJYID0gKHRhcmdldC54IDwgc291cmNlLngpID8gdGFyZ2V0LnggKyBvZmZzZXRYIDogdGFyZ2V0LnggLSBvZmZzZXRYO1xuXG4gICAgY29uc3Qgb2Zmc2V0WSA9IE1hdGguYWJzKHRhcmdldC55IC0gc291cmNlLnkpIC8gMjtcbiAgICBjb25zdCBjZW50ZXJZID0gKHRhcmdldC55IDwgc291cmNlLnkpID8gdGFyZ2V0LnkgKyBvZmZzZXRZIDogdGFyZ2V0LnkgLSBvZmZzZXRZO1xuXG4gICAgcmV0dXJuIFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKGNlbnRlclgsIGNlbnRlclkpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export * from './calculate-center-between-points.handler';
|
|
2
|
-
export * from './calculate-center-between-points-request';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi9jb21tb24vZG9tYWluL2NhbGN1bGF0ZS1jZW50ZXItYmV0d2Vlbi1wb2ludHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywyQ0FBMkMsQ0FBQztBQUUxRCxjQUFjLDJDQUEyQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jYWxjdWxhdGUtY2VudGVyLWJldHdlZW4tcG9pbnRzLmhhbmRsZXInO1xuXG5leHBvcnQgKiBmcm9tICcuL2NhbGN1bGF0ZS1jZW50ZXItYmV0d2Vlbi1wb2ludHMtcmVxdWVzdCc7XG4iXX0=
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
export class CalculateConnectionCenterRequest {
|
|
2
|
-
points;
|
|
3
|
-
static fToken = Symbol('CalculateConnectionCenterRequest');
|
|
4
|
-
constructor(points) {
|
|
5
|
-
this.points = points;
|
|
6
|
-
}
|
|
7
|
-
}
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsY3VsYXRlLWNvbm5lY3Rpb24tY2VudGVyLXJlcXVlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi9jb21tb24vZG9tYWluL2NhbGN1bGF0ZS1jb25uZWN0aW9uLWNlbnRlci9jYWxjdWxhdGUtY29ubmVjdGlvbi1jZW50ZXItcmVxdWVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sZ0NBQWdDO0lBSWxDO0lBSFQsTUFBTSxDQUFVLE1BQU0sR0FBRyxNQUFNLENBQUMsa0NBQWtDLENBQUMsQ0FBQztJQUVwRSxZQUNTLE1BQWdCO1FBQWhCLFdBQU0sR0FBTixNQUFNLENBQVU7SUFFekIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElQb2ludCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuXG5leHBvcnQgY2xhc3MgQ2FsY3VsYXRlQ29ubmVjdGlvbkNlbnRlclJlcXVlc3Qge1xuICBzdGF0aWMgcmVhZG9ubHkgZlRva2VuID0gU3ltYm9sKCdDYWxjdWxhdGVDb25uZWN0aW9uQ2VudGVyUmVxdWVzdCcpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBwb2ludHM6IElQb2ludFtdLFxuICApIHtcbiAgfVxufVxuIl19
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
export class CalculateConnectionCenterHandler {
|
|
2
|
-
handle(request) {
|
|
3
|
-
const { points } = request;
|
|
4
|
-
let totalDistance = 0;
|
|
5
|
-
const distances = [];
|
|
6
|
-
for (let i = 0; i < points.length - 1; i++) {
|
|
7
|
-
const distance = this.calculateDistance(points[i], points[i + 1]);
|
|
8
|
-
distances.push(distance);
|
|
9
|
-
totalDistance += distance;
|
|
10
|
-
}
|
|
11
|
-
let accumulatedDistance = 0;
|
|
12
|
-
let centerIndex = 0;
|
|
13
|
-
const halfTotalDistance = totalDistance / 2;
|
|
14
|
-
for (let i = 0; i < distances.length; i++) {
|
|
15
|
-
accumulatedDistance += distances[i];
|
|
16
|
-
if (accumulatedDistance >= halfTotalDistance) {
|
|
17
|
-
centerIndex = i;
|
|
18
|
-
break;
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
const remainingDistanceToCenter = halfTotalDistance - (accumulatedDistance - distances[centerIndex]);
|
|
22
|
-
return this.findPointAtDistance(points[centerIndex], points[centerIndex + 1], remainingDistanceToCenter);
|
|
23
|
-
}
|
|
24
|
-
calculateDistance(pointA, pointB) {
|
|
25
|
-
return Math.sqrt(Math.pow(pointB.x - pointA.x, 2) + Math.pow(pointB.y - pointA.y, 2));
|
|
26
|
-
}
|
|
27
|
-
findPointAtDistance(startPoint, endPoint, distance) {
|
|
28
|
-
const totalDistance = this.calculateDistance(startPoint, endPoint);
|
|
29
|
-
const ratio = distance / totalDistance;
|
|
30
|
-
const x = (1 - ratio) * startPoint.x + ratio * endPoint.x;
|
|
31
|
-
const y = (1 - ratio) * startPoint.y + ratio * endPoint.y;
|
|
32
|
-
return { x, y };
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsY3VsYXRlLWNvbm5lY3Rpb24tY2VudGVyLmhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi9jb21tb24vZG9tYWluL2NhbGN1bGF0ZS1jb25uZWN0aW9uLWNlbnRlci9jYWxjdWxhdGUtY29ubmVjdGlvbi1jZW50ZXIuaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxNQUFNLE9BQU8sZ0NBQWdDO0lBR3BDLE1BQU0sQ0FBQyxPQUF5QztRQUVyRCxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBQzNCLElBQUksYUFBYSxHQUFHLENBQUMsQ0FBQztRQUN0QixNQUFNLFNBQVMsR0FBYSxFQUFFLENBQUM7UUFFL0IsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDM0MsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBRSxDQUFDLENBQUUsRUFBRSxNQUFNLENBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBRSxDQUFDLENBQUM7WUFDdEUsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN6QixhQUFhLElBQUksUUFBUSxDQUFDO1FBQzVCLENBQUM7UUFFRCxJQUFJLG1CQUFtQixHQUFHLENBQUMsQ0FBQztRQUM1QixJQUFJLFdBQVcsR0FBRyxDQUFDLENBQUM7UUFDcEIsTUFBTSxpQkFBaUIsR0FBRyxhQUFhLEdBQUcsQ0FBQyxDQUFDO1FBQzVDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDMUMsbUJBQW1CLElBQUksU0FBUyxDQUFFLENBQUMsQ0FBRSxDQUFDO1lBQ3RDLElBQUksbUJBQW1CLElBQUksaUJBQWlCLEVBQUUsQ0FBQztnQkFDN0MsV0FBVyxHQUFHLENBQUMsQ0FBQztnQkFDaEIsTUFBTTtZQUNSLENBQUM7UUFDSCxDQUFDO1FBRUQsTUFBTSx5QkFBeUIsR0FBRyxpQkFBaUIsR0FBRyxDQUFDLG1CQUFtQixHQUFHLFNBQVMsQ0FBRSxXQUFXLENBQUUsQ0FBQyxDQUFDO1FBRXZHLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBRSxXQUFXLENBQUUsRUFBRSxNQUFNLENBQUUsV0FBVyxHQUFHLENBQUMsQ0FBRSxFQUFFLHlCQUF5QixDQUFDLENBQUM7SUFDL0csQ0FBQztJQUVPLGlCQUFpQixDQUFDLE1BQWMsRUFBRSxNQUFjO1FBQ3RELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3hGLENBQUM7SUFFTyxtQkFBbUIsQ0FBQyxVQUFrQixFQUFFLFFBQWdCLEVBQUUsUUFBZ0I7UUFDaEYsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUNuRSxNQUFNLEtBQUssR0FBRyxRQUFRLEdBQUcsYUFBYSxDQUFDO1FBQ3ZDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxHQUFHLFVBQVUsQ0FBQyxDQUFDLEdBQUcsS0FBSyxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDMUQsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLEdBQUcsVUFBVSxDQUFDLENBQUMsR0FBRyxLQUFLLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUUxRCxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO0lBQ2xCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElQb2ludCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgSUhhbmRsZXIgfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7IENhbGN1bGF0ZUNvbm5lY3Rpb25DZW50ZXJSZXF1ZXN0IH0gZnJvbSAnLi9jYWxjdWxhdGUtY29ubmVjdGlvbi1jZW50ZXItcmVxdWVzdCc7XG5cbmV4cG9ydCBjbGFzcyBDYWxjdWxhdGVDb25uZWN0aW9uQ2VudGVySGFuZGxlclxuICAgIGltcGxlbWVudHMgSUhhbmRsZXI8Q2FsY3VsYXRlQ29ubmVjdGlvbkNlbnRlclJlcXVlc3QsIElQb2ludD4ge1xuXG4gIHB1YmxpYyBoYW5kbGUocmVxdWVzdDogQ2FsY3VsYXRlQ29ubmVjdGlvbkNlbnRlclJlcXVlc3QpOiBJUG9pbnQge1xuXG4gICAgY29uc3QgeyBwb2ludHMgfSA9IHJlcXVlc3Q7XG4gICAgbGV0IHRvdGFsRGlzdGFuY2UgPSAwO1xuICAgIGNvbnN0IGRpc3RhbmNlczogbnVtYmVyW10gPSBbXTtcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcG9pbnRzLmxlbmd0aCAtIDE7IGkrKykge1xuICAgICAgY29uc3QgZGlzdGFuY2UgPSB0aGlzLmNhbGN1bGF0ZURpc3RhbmNlKHBvaW50c1sgaSBdLCBwb2ludHNbIGkgKyAxIF0pO1xuICAgICAgZGlzdGFuY2VzLnB1c2goZGlzdGFuY2UpO1xuICAgICAgdG90YWxEaXN0YW5jZSArPSBkaXN0YW5jZTtcbiAgICB9XG5cbiAgICBsZXQgYWNjdW11bGF0ZWREaXN0YW5jZSA9IDA7XG4gICAgbGV0IGNlbnRlckluZGV4ID0gMDtcbiAgICBjb25zdCBoYWxmVG90YWxEaXN0YW5jZSA9IHRvdGFsRGlzdGFuY2UgLyAyO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZGlzdGFuY2VzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBhY2N1bXVsYXRlZERpc3RhbmNlICs9IGRpc3RhbmNlc1sgaSBdO1xuICAgICAgaWYgKGFjY3VtdWxhdGVkRGlzdGFuY2UgPj0gaGFsZlRvdGFsRGlzdGFuY2UpIHtcbiAgICAgICAgY2VudGVySW5kZXggPSBpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCByZW1haW5pbmdEaXN0YW5jZVRvQ2VudGVyID0gaGFsZlRvdGFsRGlzdGFuY2UgLSAoYWNjdW11bGF0ZWREaXN0YW5jZSAtIGRpc3RhbmNlc1sgY2VudGVySW5kZXggXSk7XG5cbiAgICByZXR1cm4gdGhpcy5maW5kUG9pbnRBdERpc3RhbmNlKHBvaW50c1sgY2VudGVySW5kZXggXSwgcG9pbnRzWyBjZW50ZXJJbmRleCArIDEgXSwgcmVtYWluaW5nRGlzdGFuY2VUb0NlbnRlcik7XG4gIH1cblxuICBwcml2YXRlIGNhbGN1bGF0ZURpc3RhbmNlKHBvaW50QTogSVBvaW50LCBwb2ludEI6IElQb2ludCk6IG51bWJlciB7XG4gICAgcmV0dXJuIE1hdGguc3FydChNYXRoLnBvdyhwb2ludEIueCAtIHBvaW50QS54LCAyKSArIE1hdGgucG93KHBvaW50Qi55IC0gcG9pbnRBLnksIDIpKTtcbiAgfVxuXG4gIHByaXZhdGUgZmluZFBvaW50QXREaXN0YW5jZShzdGFydFBvaW50OiBJUG9pbnQsIGVuZFBvaW50OiBJUG9pbnQsIGRpc3RhbmNlOiBudW1iZXIpOiBJUG9pbnQge1xuICAgIGNvbnN0IHRvdGFsRGlzdGFuY2UgPSB0aGlzLmNhbGN1bGF0ZURpc3RhbmNlKHN0YXJ0UG9pbnQsIGVuZFBvaW50KTtcbiAgICBjb25zdCByYXRpbyA9IGRpc3RhbmNlIC8gdG90YWxEaXN0YW5jZTtcbiAgICBjb25zdCB4ID0gKDEgLSByYXRpbykgKiBzdGFydFBvaW50LnggKyByYXRpbyAqIGVuZFBvaW50Lng7XG4gICAgY29uc3QgeSA9ICgxIC0gcmF0aW8pICogc3RhcnRQb2ludC55ICsgcmF0aW8gKiBlbmRQb2ludC55O1xuXG4gICAgcmV0dXJuIHsgeCwgeSB9O1xuICB9XG59XG4iXX0=
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export * from './calculate-connection-center.handler';
|
|
2
|
-
export * from './calculate-connection-center-request';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi9jb21tb24vZG9tYWluL2NhbGN1bGF0ZS1jb25uZWN0aW9uLWNlbnRlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHVDQUF1QyxDQUFDO0FBRXRELGNBQWMsdUNBQXVDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NhbGN1bGF0ZS1jb25uZWN0aW9uLWNlbnRlci5oYW5kbGVyJztcblxuZXhwb3J0ICogZnJvbSAnLi9jYWxjdWxhdGUtY29ubmVjdGlvbi1jZW50ZXItcmVxdWVzdCc7XG4iXX0=
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import { EFConnectableSide } from '../../../f-connectors';
|
|
2
|
-
import { CalculateConnectionCenterHandler, CalculateConnectionCenterRequest, } from './calculate-connection-center';
|
|
3
|
-
export class FBezierPathBuilder {
|
|
4
|
-
static _getConnectorOffset(distance, offset) {
|
|
5
|
-
if (distance >= offset) {
|
|
6
|
-
return distance;
|
|
7
|
-
}
|
|
8
|
-
return offset * Math.sqrt(offset - distance);
|
|
9
|
-
}
|
|
10
|
-
static _getAnglePoint(side, source, target, offset) {
|
|
11
|
-
const result = { x: source.x, y: source.y };
|
|
12
|
-
switch (side) {
|
|
13
|
-
case EFConnectableSide.LEFT:
|
|
14
|
-
result.x -= FBezierPathBuilder._getConnectorOffset(source.x - target.x, offset);
|
|
15
|
-
break;
|
|
16
|
-
case EFConnectableSide.RIGHT:
|
|
17
|
-
result.x += FBezierPathBuilder._getConnectorOffset(target.x - source.x, offset);
|
|
18
|
-
break;
|
|
19
|
-
case EFConnectableSide.TOP:
|
|
20
|
-
result.y -= FBezierPathBuilder._getConnectorOffset(source.y - target.y, offset);
|
|
21
|
-
break;
|
|
22
|
-
case EFConnectableSide.BOTTOM:
|
|
23
|
-
result.y += FBezierPathBuilder._getConnectorOffset(target.y - source.y, offset);
|
|
24
|
-
break;
|
|
25
|
-
}
|
|
26
|
-
return result;
|
|
27
|
-
}
|
|
28
|
-
handle(request) {
|
|
29
|
-
const { source, sourceSide, target, targetSide, offset } = request;
|
|
30
|
-
const sourceAnglePoint = FBezierPathBuilder._getAnglePoint(sourceSide, source, target, offset);
|
|
31
|
-
const targetAnglePoint = FBezierPathBuilder._getAnglePoint(targetSide, target, source, offset);
|
|
32
|
-
const path = `M ${source.x} ${source.y} C ${sourceAnglePoint.x} ${sourceAnglePoint.y}, ${targetAnglePoint.x} ${targetAnglePoint.y}, ${target.x + 0.0002} ${target.y + 0.0002}`;
|
|
33
|
-
const connectionCenter = new CalculateConnectionCenterHandler().handle(new CalculateConnectionCenterRequest([source, sourceAnglePoint, targetAnglePoint, target]));
|
|
34
|
-
return {
|
|
35
|
-
path,
|
|
36
|
-
connectionCenter,
|
|
37
|
-
penultimatePoint: targetAnglePoint,
|
|
38
|
-
secondPoint: sourceAnglePoint,
|
|
39
|
-
points: _sampleCubic(source, sourceAnglePoint, targetAnglePoint, target, 32),
|
|
40
|
-
};
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
function bez3(p0, p1, p2, p3, t) {
|
|
44
|
-
const u = 1 - t, tt = t * t, uu = u * u, uuu = uu * u, ttt = tt * t;
|
|
45
|
-
return {
|
|
46
|
-
x: uuu * p0.x + 3 * uu * t * p1.x + 3 * u * tt * p2.x + ttt * p3.x,
|
|
47
|
-
y: uuu * p0.y + 3 * uu * t * p1.y + 3 * u * tt * p2.y + ttt * p3.y,
|
|
48
|
-
};
|
|
49
|
-
}
|
|
50
|
-
function _sampleCubic(p0, p1, p2, p3, samples = 32) {
|
|
51
|
-
const out = new Array(samples + 1);
|
|
52
|
-
out[0] = { ...p0 };
|
|
53
|
-
for (let i = 1; i <= samples; i++) {
|
|
54
|
-
out[i] = bez3(p0, p1, p2, p3, i / samples);
|
|
55
|
-
}
|
|
56
|
-
return out;
|
|
57
|
-
}
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1iZXppZXIucGF0aC1idWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3Rpb24vY29tbW9uL2RvbWFpbi9mLWJlemllci5wYXRoLWJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUNMLGdDQUFnQyxFQUNoQyxnQ0FBZ0MsR0FDakMsTUFBTSwrQkFBK0IsQ0FBQztBQU92QyxNQUFNLE9BQU8sa0JBQWtCO0lBQ3JCLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxRQUFnQixFQUFFLE1BQWM7UUFDakUsSUFBSSxRQUFRLElBQUksTUFBTSxFQUFFLENBQUM7WUFDdkIsT0FBTyxRQUFRLENBQUM7UUFDbEIsQ0FBQztRQUVELE9BQU8sTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFTyxNQUFNLENBQUMsY0FBYyxDQUMzQixJQUF1QixFQUN2QixNQUFjLEVBQ2QsTUFBYyxFQUNkLE1BQWM7UUFFZCxNQUFNLE1BQU0sR0FBVyxFQUFFLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFFcEQsUUFBUSxJQUFJLEVBQUUsQ0FBQztZQUNiLEtBQUssaUJBQWlCLENBQUMsSUFBSTtnQkFDekIsTUFBTSxDQUFDLENBQUMsSUFBSSxrQkFBa0IsQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7Z0JBQ2hGLE1BQU07WUFDUixLQUFLLGlCQUFpQixDQUFDLEtBQUs7Z0JBQzFCLE1BQU0sQ0FBQyxDQUFDLElBQUksa0JBQWtCLENBQUMsbUJBQW1C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LENBQUM7S0FDbkUsQ0FBQztBQUNKLENBQUM7QUFFRCxTQUFTLFlBQVksQ0FBQyxFQUFVLEVBQUUsRUFBVSxFQUFFLEVBQVUsRUFBRSxFQUFVLEVBQUUsT0FBTyxHQUFHLEVBQUU7SUFDaEYsTUFBTSxHQUFHLEdBQWEsSUFBSSxLQUFLLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzdDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUM7SUFDbkIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLE9BQU8sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQ2xDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBFRkNvbm5lY3RhYmxlU2lkZSB9IGZyb20gJy4uLy4uLy4uL2YtY29ubmVjdG9ycyc7XG5pbXBvcnQge1xuICBDYWxjdWxhdGVDb25uZWN0aW9uQ2VudGVySGFuZGxlcixcbiAgQ2FsY3VsYXRlQ29ubmVjdGlvbkNlbnRlclJlcXVlc3QsXG59IGZyb20gJy4vY2FsY3VsYXRlLWNvbm5lY3Rpb24tY2VudGVyJztcbmltcG9ydCB7XG4gIElGQ29ubmVjdGlvbkJ1aWxkZXIsXG4gIElGQ29ubmVjdGlvbkJ1aWxkZXJSZXF1ZXN0LFxuICBJRkNvbm5lY3Rpb25CdWlsZGVyUmVzcG9uc2UsXG59IGZyb20gJy4uLy4uL2YtY29ubmVjdGlvbi1idWlsZGVyJztcblxuZXhwb3J0IGNsYXNzIEZCZXppZXJQYXRoQnVpbGRlciBpbXBsZW1lbnRzIElGQ29ubmVjdGlvbkJ1aWxkZXIge1xuICBwcml2YXRlIHN0YXRpYyBfZ2V0Q29ubmVjdG9yT2Zmc2V0KGRpc3RhbmNlOiBudW1iZXIsIG9mZnNldDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICBpZiAoZGlzdGFuY2UgPj0gb2Zmc2V0KSB7XG4gICAgICByZXR1cm4gZGlzdGFuY2U7XG4gICAgfVxuXG4gICAgcmV0dXJuIG9mZnNldCAqIE1hdGguc3FydChvZmZzZXQgLSBkaXN0YW5jZSk7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBfZ2V0QW5nbGVQb2ludChcbiAgICBzaWRlOiBFRkNvbm5lY3RhYmxlU2lkZSxcbiAgICBzb3VyY2U6IElQb2ludCxcbiAgICB0YXJnZXQ6IElQb2ludCxcbiAgICBvZmZzZXQ6IG51bWJlcixcbiAgKTogSVBvaW50IHtcbiAgICBjb25zdCByZXN1bHQ6IElQb2ludCA9IHsgeDogc291cmNlLngsIHk6IHNvdXJjZS55IH07XG5cbiAgICBzd2l0Y2ggKHNpZGUpIHtcbiAgICAgIGNhc2UgRUZDb25uZWN0YWJsZVNpZGUuTEVGVDpcbiAgICAgICAgcmVzdWx0LnggLT0gRkJlemllclBhdGhCdWlsZGVyLl9nZXRDb25uZWN0b3JPZmZzZXQoc291cmNlLnggLSB0YXJnZXQueCwgb2Zmc2V0KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIEVGQ29ubmVjdGFibGVTaWRlLlJJR0hUOlxuICAgICAgICByZXN1bHQueCArPSBGQmV6aWVyUGF0aEJ1aWxkZXIuX2dldENvbm5lY3Rvck9mZnNldCh0YXJnZXQueCAtIHNvdXJjZS54LCBvZmZzZXQpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgRUZDb25uZWN0YWJsZVNpZGUuVE9QOlxuICAgICAgICByZXN1bHQueSAtPSBGQmV6aWVyUGF0aEJ1aWxkZXIuX2dldENvbm5lY3Rvck9mZnNldChzb3VyY2UueSAtIHRhcmdldC55LCBvZmZzZXQpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgRUZDb25uZWN0YWJsZVNpZGUuQk9UVE9NOlxuICAgICAgICByZXN1bHQueSArPSBGQmV6aWVyUGF0aEJ1aWxkZXIuX2dldENvbm5lY3Rvck9mZnNldCh0YXJnZXQueSAtIHNvdXJjZS55LCBvZmZzZXQpO1xuICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHVibGljIGhhbmRsZShyZXF1ZXN0OiBJRkNvbm5lY3Rpb25CdWlsZGVyUmVxdWVzdCk6IElGQ29ubmVjdGlvbkJ1aWxkZXJSZXNwb25zZSB7XG4gICAgY29uc3QgeyBzb3VyY2UsIHNvdXJjZVNpZGUsIHRhcmdldCwgdGFyZ2V0U2lkZSwgb2Zmc2V0IH0gPSByZXF1ZXN0O1xuXG4gICAgY29uc3Qgc291cmNlQW5nbGVQb2ludCA9IEZCZXppZXJQYXRoQnVpbGRlci5fZ2V0QW5nbGVQb2ludChzb3VyY2VTaWRlLCBzb3VyY2UsIHRhcmdldCwgb2Zmc2V0KTtcblxuICAgIGNvbnN0IHRhcmdldEFuZ2xlUG9pbnQgPSBGQmV6aWVyUGF0aEJ1aWxkZXIuX2dldEFuZ2xlUG9pbnQodGFyZ2V0U2lkZSwgdGFyZ2V0LCBzb3VyY2UsIG9mZnNldCk7XG5cbiAgICBjb25zdCBwYXRoID0gYE0gJHtzb3VyY2UueH0gJHtzb3VyY2UueX0gQyAke3NvdXJjZUFuZ2xlUG9pbnQueH0gJHtzb3VyY2VBbmdsZVBvaW50Lnl9LCAke3RhcmdldEFuZ2xlUG9pbnQueH0gJHt0YXJnZXRBbmdsZVBvaW50Lnl9LCAke3RhcmdldC54ICsgMC4wMDAyfSAke3RhcmdldC55ICsgMC4wMDAyfWA7XG5cbiAgICBjb25zdCBjb25uZWN0aW9uQ2VudGVyID0gbmV3IENhbGN1bGF0ZUNvbm5lY3Rpb25DZW50ZXJIYW5kbGVyKCkuaGFuZGxlKFxuICAgICAgbmV3IENhbGN1bGF0ZUNvbm5lY3Rpb25DZW50ZXJSZXF1ZXN0KFtzb3VyY2UsIHNvdXJjZUFuZ2xlUG9pbnQsIHRhcmdldEFuZ2xlUG9pbnQsIHRhcmdldF0pLFxuICAgICk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgcGF0aCxcbiAgICAgIGNvbm5lY3Rpb25DZW50ZXIsXG4gICAgICBwZW51bHRpbWF0ZVBvaW50OiB0YXJnZXRBbmdsZVBvaW50LFxuICAgICAgc2Vjb25kUG9pbnQ6IHNvdXJjZUFuZ2xlUG9pbnQsXG4gICAgICBwb2ludHM6IF9zYW1wbGVDdWJpYyhzb3VyY2UsIHNvdXJjZUFuZ2xlUG9pbnQsIHRhcmdldEFuZ2xlUG9pbnQsIHRhcmdldCwgMzIpLFxuICAgIH07XG4gIH1cbn1cblxuZnVuY3Rpb24gYmV6MyhwMDogSVBvaW50LCBwMTogSVBvaW50LCBwMjogSVBvaW50LCBwMzogSVBvaW50LCB0OiBudW1iZXIpOiBJUG9pbnQge1xuICBjb25zdCB1ID0gMSAtIHQsXG4gICAgdHQgPSB0ICogdCxcbiAgICB1dSA9IHUgKiB1LFxuICAgIHV1dSA9IHV1ICogdSxcbiAgICB0dHQgPSB0dCAqIHQ7XG5cbiAgcmV0dXJuIHtcbiAgICB4OiB1dXUgKiBwMC54ICsgMyAqIHV1ICogdCAqIHAxLnggKyAzICogdSAqIHR0ICogcDIueCArIHR0dCAqIHAzLngsXG4gICAgeTogdXV1ICogcDAueSArIDMgKiB1dSAqIHQgKiBwMS55ICsgMyAqIHUgKiB0dCAqIHAyLnkgKyB0dHQgKiBwMy55LFxuICB9O1xufVxuXG5mdW5jdGlvbiBfc2FtcGxlQ3ViaWMocDA6IElQb2ludCwgcDE6IElQb2ludCwgcDI6IElQb2ludCwgcDM6IElQb2ludCwgc2FtcGxlcyA9IDMyKTogSVBvaW50W10ge1xuICBjb25zdCBvdXQ6IElQb2ludFtdID0gbmV3IEFycmF5KHNhbXBsZXMgKyAxKTtcbiAgb3V0WzBdID0geyAuLi5wMCB9O1xuICBmb3IgKGxldCBpID0gMTsgaSA8PSBzYW1wbGVzOyBpKyspIHtcbiAgICBvdXRbaV0gPSBiZXozKHAwLCBwMSwgcDIsIHAzLCBpIC8gc2FtcGxlcyk7XG4gIH1cblxuICByZXR1cm4gb3V0O1xufVxuIl19
|
|
@@ -1,161 +0,0 @@
|
|
|
1
|
-
import { PointExtensions } from '@foblex/2d';
|
|
2
|
-
import { EFConnectableSide } from '../../../f-connectors';
|
|
3
|
-
import { CalculateCenterBetweenPointsHandler, CalculateCenterBetweenPointsRequest, } from './calculate-center-between-points';
|
|
4
|
-
import { CalculateConnectionCenterHandler, CalculateConnectionCenterRequest, } from './calculate-connection-center';
|
|
5
|
-
const CONNECTOR_SIDE_POINT = {
|
|
6
|
-
[EFConnectableSide.LEFT]: PointExtensions.initialize(-1, 0),
|
|
7
|
-
[EFConnectableSide.RIGHT]: PointExtensions.initialize(1, 0),
|
|
8
|
-
[EFConnectableSide.TOP]: PointExtensions.initialize(0, -1),
|
|
9
|
-
[EFConnectableSide.BOTTOM]: PointExtensions.initialize(0, 1),
|
|
10
|
-
[EFConnectableSide.AUTO]: PointExtensions.initialize(0, 0),
|
|
11
|
-
};
|
|
12
|
-
export class FSegmentPathBuilder {
|
|
13
|
-
handle(request) {
|
|
14
|
-
const { source, sourceSide, target, targetSide } = request;
|
|
15
|
-
const { points, center } = this._getPathPoints(source, sourceSide, target, targetSide, request.offset);
|
|
16
|
-
const path = this._buildPath(points, request.radius);
|
|
17
|
-
const penultimatePoint = points.length > 1 ? points[points.length - 2] : source;
|
|
18
|
-
const secondPoint = points.length > 1 ? points[1] : target;
|
|
19
|
-
return {
|
|
20
|
-
path,
|
|
21
|
-
connectionCenter: center,
|
|
22
|
-
penultimatePoint,
|
|
23
|
-
secondPoint,
|
|
24
|
-
points,
|
|
25
|
-
};
|
|
26
|
-
}
|
|
27
|
-
_getPathPoints(source, sourceSide, target, targetSide, offset) {
|
|
28
|
-
const sourceDirection = CONNECTOR_SIDE_POINT[sourceSide];
|
|
29
|
-
const targetDirection = CONNECTOR_SIDE_POINT[targetSide];
|
|
30
|
-
const sourceGap = {
|
|
31
|
-
x: source.x + sourceDirection.x * offset,
|
|
32
|
-
y: source.y + sourceDirection.y * offset,
|
|
33
|
-
};
|
|
34
|
-
const targetGap = {
|
|
35
|
-
x: target.x + targetDirection.x * offset,
|
|
36
|
-
y: target.y + targetDirection.y * offset,
|
|
37
|
-
};
|
|
38
|
-
const direction = this._getDirection(sourceGap, sourceSide, targetGap);
|
|
39
|
-
const directionAccessor = direction.x !== 0 ? 'x' : 'y';
|
|
40
|
-
const currentDirection = direction[directionAccessor];
|
|
41
|
-
let points = [];
|
|
42
|
-
const sourceGapOffset = PointExtensions.initialize();
|
|
43
|
-
const targetGapOffset = PointExtensions.initialize();
|
|
44
|
-
const centerBetweenPoints = new CalculateCenterBetweenPointsHandler().handle(new CalculateCenterBetweenPointsRequest(source, target));
|
|
45
|
-
if (sourceDirection[directionAccessor] * targetDirection[directionAccessor] === -1) {
|
|
46
|
-
const verticalSplit = [
|
|
47
|
-
{ x: centerBetweenPoints.x, y: sourceGap.y },
|
|
48
|
-
{ x: centerBetweenPoints.x, y: targetGap.y },
|
|
49
|
-
];
|
|
50
|
-
const horizontalSplit = [
|
|
51
|
-
{ x: sourceGap.x, y: centerBetweenPoints.y },
|
|
52
|
-
{ x: targetGap.x, y: centerBetweenPoints.y },
|
|
53
|
-
];
|
|
54
|
-
if (sourceDirection[directionAccessor] === currentDirection) {
|
|
55
|
-
points = directionAccessor === 'x' ? verticalSplit : horizontalSplit;
|
|
56
|
-
}
|
|
57
|
-
else {
|
|
58
|
-
points = directionAccessor === 'x' ? horizontalSplit : verticalSplit;
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
else {
|
|
62
|
-
const sourceTarget = [{ x: sourceGap.x, y: targetGap.y }];
|
|
63
|
-
const targetSource = [{ x: targetGap.x, y: sourceGap.y }];
|
|
64
|
-
if (directionAccessor === 'x') {
|
|
65
|
-
points = sourceDirection.x === currentDirection ? targetSource : sourceTarget;
|
|
66
|
-
}
|
|
67
|
-
else {
|
|
68
|
-
points = sourceDirection.y === currentDirection ? sourceTarget : targetSource;
|
|
69
|
-
}
|
|
70
|
-
if (sourceSide === targetSide) {
|
|
71
|
-
const diff = Math.abs(source[directionAccessor] - target[directionAccessor]);
|
|
72
|
-
if (diff <= offset) {
|
|
73
|
-
const gapOffset = Math.min(offset - 1, offset - diff);
|
|
74
|
-
if (sourceDirection[directionAccessor] === currentDirection) {
|
|
75
|
-
sourceGapOffset[directionAccessor] =
|
|
76
|
-
(sourceGap[directionAccessor] > source[directionAccessor] ? -1 : 1) * gapOffset;
|
|
77
|
-
}
|
|
78
|
-
else {
|
|
79
|
-
targetGapOffset[directionAccessor] =
|
|
80
|
-
(targetGap[directionAccessor] > target[directionAccessor] ? -1 : 1) * gapOffset;
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
if (sourceSide !== targetSide) {
|
|
85
|
-
const dirAccessorOpposite = directionAccessor === 'x' ? 'y' : 'x';
|
|
86
|
-
const isSameDir = sourceDirection[directionAccessor] === targetDirection[dirAccessorOpposite];
|
|
87
|
-
const sourceGtTargetOppo = sourceGap[dirAccessorOpposite] > targetGap[dirAccessorOpposite];
|
|
88
|
-
const sourceLtTargetOppo = sourceGap[dirAccessorOpposite] < targetGap[dirAccessorOpposite];
|
|
89
|
-
const flipSourceTarget = (sourceDirection[directionAccessor] === 1 &&
|
|
90
|
-
((!isSameDir && sourceGtTargetOppo) || (isSameDir && sourceLtTargetOppo))) ||
|
|
91
|
-
(sourceDirection[directionAccessor] !== 1 &&
|
|
92
|
-
((!isSameDir && sourceLtTargetOppo) || (isSameDir && sourceGtTargetOppo)));
|
|
93
|
-
if (flipSourceTarget) {
|
|
94
|
-
points = directionAccessor === 'x' ? sourceTarget : targetSource;
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
const pathPoints = [
|
|
99
|
-
source,
|
|
100
|
-
{ x: sourceGap.x + sourceGapOffset.x, y: sourceGap.y + sourceGapOffset.y },
|
|
101
|
-
...points,
|
|
102
|
-
{ x: targetGap.x + targetGapOffset.x, y: targetGap.y + targetGapOffset.y },
|
|
103
|
-
target,
|
|
104
|
-
];
|
|
105
|
-
const center = new CalculateConnectionCenterHandler().handle(new CalculateConnectionCenterRequest(pathPoints));
|
|
106
|
-
return { points: pathPoints, center };
|
|
107
|
-
}
|
|
108
|
-
_getDirection(source, sourceSide, target) {
|
|
109
|
-
if (sourceSide === EFConnectableSide.LEFT || sourceSide === EFConnectableSide.RIGHT) {
|
|
110
|
-
return source.x < target.x
|
|
111
|
-
? PointExtensions.initialize(1, 0)
|
|
112
|
-
: PointExtensions.initialize(-1, 0);
|
|
113
|
-
}
|
|
114
|
-
return source.y < target.y
|
|
115
|
-
? PointExtensions.initialize(0, 1)
|
|
116
|
-
: PointExtensions.initialize(0, -1);
|
|
117
|
-
}
|
|
118
|
-
_distance(a, b) {
|
|
119
|
-
return Math.sqrt(Math.pow(b.x - a.x, 2) + Math.pow(b.y - a.y, 2));
|
|
120
|
-
}
|
|
121
|
-
_buildPath(points, borderRadius) {
|
|
122
|
-
let path = '';
|
|
123
|
-
for (let i = 0; i < points.length; i++) {
|
|
124
|
-
const p = points[i];
|
|
125
|
-
let segment = '';
|
|
126
|
-
if (i > 0 && i < points.length - 1) {
|
|
127
|
-
segment = this._getBend(points[i - 1], p, points[i + 1], borderRadius);
|
|
128
|
-
}
|
|
129
|
-
else if (i === points.length - 1) {
|
|
130
|
-
segment = this._buildLastLineSegment(i, p);
|
|
131
|
-
}
|
|
132
|
-
else {
|
|
133
|
-
segment = this._buildMoveOrLineSegment(i, p);
|
|
134
|
-
}
|
|
135
|
-
path += segment;
|
|
136
|
-
}
|
|
137
|
-
return path;
|
|
138
|
-
}
|
|
139
|
-
_getBend(a, b, c, size) {
|
|
140
|
-
const bendSize = Math.min(this._distance(a, b) / 2, this._distance(b, c) / 2, size);
|
|
141
|
-
const { x, y } = b;
|
|
142
|
-
if ((a.x === x && x === c.x) || (a.y === y && y === c.y)) {
|
|
143
|
-
return `L${x} ${y}`;
|
|
144
|
-
}
|
|
145
|
-
if (a.y === y) {
|
|
146
|
-
const xDir = a.x < c.x ? -1 : 1;
|
|
147
|
-
const yDir = a.y < c.y ? 1 : -1;
|
|
148
|
-
return `L ${x + bendSize * xDir},${y}Q ${x},${y} ${x},${y + bendSize * yDir}`;
|
|
149
|
-
}
|
|
150
|
-
const xDir = a.x < c.x ? 1 : -1;
|
|
151
|
-
const yDir = a.y < c.y ? -1 : 1;
|
|
152
|
-
return `L ${x},${y + bendSize * yDir}Q ${x},${y} ${x + bendSize * xDir},${y}`;
|
|
153
|
-
}
|
|
154
|
-
_buildMoveOrLineSegment(index, point) {
|
|
155
|
-
return `${index === 0 ? 'M' : 'L'}${point.x} ${point.y}`;
|
|
156
|
-
}
|
|
157
|
-
_buildLastLineSegment(index, point) {
|
|
158
|
-
return `L${point.x + 0.0002} ${point.y + 0.0002}`;
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1zZWdtZW50LnBhdGgtYnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1jb25uZWN0aW9uL2NvbW1vbi9kb21haW4vZi1zZWdtZW50LnBhdGgtYnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVUsZUFBZSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFDTCxtQ0FBbUMsRUFDbkMsbUNBQW1DLEdBQ3BDLE1BQU0sbUNBQW1DLENBQUM7QUFDM0MsT0FBTyxFQUNMLGdDQUFnQyxFQUNoQyxnQ0FBZ0MsR0FDakMsTUFBTSwrQkFBK0IsQ0FBQztBQVF2QyxNQUFNLG9CQUFvQixHQUFpQjtJQUN6QyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxFQUFFLGVBQWUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBRTNELENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLEVBQUUsZUFBZSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBRTNELENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLEVBQUUsZUFBZSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFFMUQsQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsRUFBRSxlQUFlLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7SUFFNUQsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxlQUFlLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7Q0FDM0QsQ0FBQztBQUVGLE1BQU0sT0FBTyxtQkFBbUI7SUFDdkIsTUFBTSxDQUFDLE9BQW1DO1FBQy9DLE1BQU0sRUFBRSxNQUFNLEVBQUUs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QUFhLEVBQUUsS0FBYTtRQUMxRCxPQUFPLEdBQUcsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDM0QsQ0FBQztJQUVPLHFCQUFxQixDQUFDLEtBQWEsRUFBRSxLQUFhO1FBQ3hELE9BQU8sSUFBSSxLQUFLLENBQUMsQ0FBQyxHQUFHLE1BQU0sSUFBSSxLQUFLLENBQUMsQ0FBQyxHQUFHLE1BQU0sRUFBRSxDQUFDO0lBQ3BELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElQb2ludCwgUG9pbnRFeHRlbnNpb25zIH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBFRkNvbm5lY3RhYmxlU2lkZSB9IGZyb20gJy4uLy4uLy4uL2YtY29ubmVjdG9ycyc7XG5pbXBvcnQge1xuICBDYWxjdWxhdGVDZW50ZXJCZXR3ZWVuUG9pbnRzSGFuZGxlcixcbiAgQ2FsY3VsYXRlQ2VudGVyQmV0d2VlblBvaW50c1JlcXVlc3QsXG59IGZyb20gJy4vY2FsY3VsYXRlLWNlbnRlci1iZXR3ZWVuLXBvaW50cyc7XG5pbXBvcnQge1xuICBDYWxjdWxhdGVDb25uZWN0aW9uQ2VudGVySGFuZGxlcixcbiAgQ2FsY3VsYXRlQ29ubmVjdGlvbkNlbnRlclJlcXVlc3QsXG59IGZyb20gJy4vY2FsY3VsYXRlLWNvbm5lY3Rpb24tY2VudGVyJztcbmltcG9ydCB7XG4gIElGQ29ubmVjdGlvbkJ1aWxkZXIsXG4gIElGQ29ubmVjdGlvbkJ1aWxkZXJSZXF1ZXN0LFxuICBJRkNvbm5lY3Rpb25CdWlsZGVyUmVzcG9uc2UsXG59IGZyb20gJy4uLy4uL2YtY29ubmVjdGlvbi1idWlsZGVyJztcbmltcG9ydCB7IElNYXAgfSBmcm9tICcuLi8uLi8uLi9kb21haW4nO1xuXG5jb25zdCBDT05ORUNUT1JfU0lERV9QT0lOVDogSU1hcDxJUG9pbnQ+ID0ge1xuICBbRUZDb25uZWN0YWJsZVNpZGUuTEVGVF06IFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKC0xLCAwKSxcblxuICBbRUZDb25uZWN0YWJsZVNpZGUuUklHSFRdOiBQb2ludEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgxLCAwKSxcblxuICBbRUZDb25uZWN0YWJsZVNpZGUuVE9QXTogUG9pbnRFeHRlbnNpb25zLmluaXRpYWxpemUoMCwgLTEpLFxuXG4gIFtFRkNvbm5lY3RhYmxlU2lkZS5CT1RUT01dOiBQb2ludEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgwLCAxKSxcblxuICBbRUZDb25uZWN0YWJsZVNpZGUuQVVUT106IFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKDAsIDApLFxufTtcblxuZXhwb3J0IGNsYXNzIEZTZWdtZW50UGF0aEJ1aWxkZXIgaW1wbGVtZW50cyBJRkNvbm5lY3Rpb25CdWlsZGVyIHtcbiAgcHVibGljIGhhbmRsZShyZXF1ZXN0OiBJRkNvbm5lY3Rpb25CdWlsZGVyUmVxdWVzdCk6IElGQ29ubmVjdGlvbkJ1aWxkZXJSZXNwb25zZSB7XG4gICAgY29uc3QgeyBzb3VyY2UsIHNvdXJjZVNpZGUsIHRhcmdldCwgdGFyZ2V0U2lkZSB9ID0gcmVxdWVzdDtcblxuICAgIGNvbnN0IHsgcG9pbnRzLCBjZW50ZXIgfSA9IHRoaXMuX2dldFBhdGhQb2ludHMoXG4gICAgICBzb3VyY2UsXG4gICAgICBzb3VyY2VTaWRlLFxuICAgICAgdGFyZ2V0LFxuICAgICAgdGFyZ2V0U2lkZSxcbiAgICAgIHJlcXVlc3Qub2Zmc2V0LFxuICAgICk7XG5cbiAgICBjb25zdCBwYXRoID0gdGhpcy5fYnVpbGRQYXRoKHBvaW50cywgcmVxdWVzdC5yYWRpdXMpO1xuXG4gICAgY29uc3QgcGVudWx0aW1hdGVQb2ludCA9IHBvaW50cy5sZW5ndGggPiAxID8gcG9pbnRzW3BvaW50cy5sZW5ndGggLSAyXSA6IHNvdXJjZTtcbiAgICBjb25zdCBzZWNvbmRQb2ludCA9IHBvaW50cy5sZW5ndGggPiAxID8gcG9pbnRzWzFdIDogdGFyZ2V0O1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIHBhdGgsXG4gICAgICBjb25uZWN0aW9uQ2VudGVyOiBjZW50ZXIsXG4gICAgICBwZW51bHRpbWF0ZVBvaW50LFxuICAgICAgc2Vjb25kUG9pbnQsXG4gICAgICBwb2ludHMsXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldFBhdGhQb2ludHMoXG4gICAgc291cmNlOiBJUG9pbnQsXG4gICAgc291cmNlU2lkZTogRUZDb25uZWN0YWJsZVNpZGUsXG4gICAgdGFyZ2V0OiBJUG9pbnQsXG4gICAgdGFyZ2V0U2lkZTogRUZDb25uZWN0YWJsZVNpZGUsXG4gICAgb2Zmc2V0OiBudW1iZXIsXG4gICk6IHsgcG9pbnRzOiBJUG9pbnRbXTsgY2VudGVyOiBJUG9pbnQgfSB7XG4gICAgY29uc3Qgc291cmNlRGlyZWN0aW9uID0gQ09OTkVDVE9SX1NJREVfUE9JTlRbc291cmNlU2lkZV07XG4gICAgY29uc3QgdGFyZ2V0RGlyZWN0aW9uID0gQ09OTkVDVE9SX1NJREVfUE9JTlRbdGFyZ2V0U2lkZV07XG5cbiAgICBjb25zdCBzb3VyY2VHYXA6IElQb2ludCA9IHtcbiAgICAgIHg6IHNvdXJjZS54ICsgc291cmNlRGlyZWN0aW9uLnggKiBvZmZzZXQsXG4gICAgICB5OiBzb3VyY2UueSArIHNvdXJjZURpcmVjdGlvbi55ICogb2Zmc2V0LFxuICAgIH07XG4gICAgY29uc3QgdGFyZ2V0R2FwOiBJUG9pbnQgPSB7XG4gICAgICB4OiB0YXJnZXQueCArIHRhcmdldERpcmVjdGlvbi54ICogb2Zmc2V0LFxuICAgICAgeTogdGFyZ2V0LnkgKyB0YXJnZXREaXJlY3Rpb24ueSAqIG9mZnNldCxcbiAgICB9O1xuXG4gICAgY29uc3QgZGlyZWN0aW9uID0gdGhpcy5fZ2V0RGlyZWN0aW9uKHNvdXJjZUdhcCwgc291cmNlU2lkZSwgdGFyZ2V0R2FwKTtcbiAgICBjb25zdCBkaXJlY3Rpb25BY2Nlc3NvciA9IGRpcmVjdGlvbi54ICE9PSAwID8gJ3gnIDogJ3knO1xuICAgIGNvbnN0IGN1cnJlbnREaXJlY3Rpb24gPSBkaXJlY3Rpb25bZGlyZWN0aW9uQWNjZXNzb3JdO1xuXG4gICAgbGV0IHBvaW50czogSVBvaW50W10gPSBbXTtcbiAgICBjb25zdCBzb3VyY2VHYXBPZmZzZXQgPSBQb2ludEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgpO1xuICAgIGNvbnN0IHRhcmdldEdhcE9mZnNldCA9IFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKCk7XG5cbiAgICBjb25zdCBjZW50ZXJCZXR3ZWVuUG9pbnRzID0gbmV3IENhbGN1bGF0ZUNlbnRlckJldHdlZW5Qb2ludHNIYW5kbGVyKCkuaGFuZGxlKFxuICAgICAgbmV3IENhbGN1bGF0ZUNlbnRlckJldHdlZW5Qb2ludHNSZXF1ZXN0KHNvdXJjZSwgdGFyZ2V0KSxcbiAgICApO1xuXG4gICAgaWYgKHNvdXJjZURpcmVjdGlvbltkaXJlY3Rpb25BY2Nlc3Nvcl0gKiB0YXJnZXREaXJlY3Rpb25bZGlyZWN0aW9uQWNjZXNzb3JdID09PSAtMSkge1xuICAgICAgY29uc3QgdmVydGljYWxTcGxpdDogSVBvaW50W10gPSBbXG4gICAgICAgIHsgeDogY2VudGVyQmV0d2VlblBvaW50cy54LCB5OiBzb3VyY2VHYXAueSB9LFxuICAgICAgICB7IHg6IGNlbnRlckJldHdlZW5Qb2ludHMueCwgeTogdGFyZ2V0R2FwLnkgfSxcbiAgICAgIF07XG4gICAgICBjb25zdCBob3Jpem9udGFsU3BsaXQ6IElQb2ludFtdID0gW1xuICAgICAgICB7IHg6IHNvdXJjZUdhcC54LCB5OiBjZW50ZXJCZXR3ZWVuUG9pbnRzLnkgfSxcbiAgICAgICAgeyB4OiB0YXJnZXRHYXAueCwgeTogY2VudGVyQmV0d2VlblBvaW50cy55IH0sXG4gICAgICBdO1xuXG4gICAgICBpZiAoc291cmNlRGlyZWN0aW9uW2RpcmVjdGlvbkFjY2Vzc29yXSA9PT0gY3VycmVudERpcmVjdGlvbikge1xuICAgICAgICBwb2ludHMgPSBkaXJlY3Rpb25BY2Nlc3NvciA9PT0gJ3gnID8gdmVydGljYWxTcGxpdCA6IGhvcml6b250YWxTcGxpdDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHBvaW50cyA9IGRpcmVjdGlvbkFjY2Vzc29yID09PSAneCcgPyBob3Jpem9udGFsU3BsaXQgOiB2ZXJ0aWNhbFNwbGl0O1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBzb3VyY2VUYXJnZXQ6IElQb2ludFtdID0gW3sgeDogc291cmNlR2FwLngsIHk6IHRhcmdldEdhcC55IH1dO1xuICAgICAgY29uc3QgdGFyZ2V0U291cmNlOiBJUG9pbnRbXSA9IFt7IHg6IHRhcmdldEdhcC54LCB5OiBzb3VyY2VHYXAueSB9XTtcblxuICAgICAgaWYgKGRpcmVjdGlvbkFjY2Vzc29yID09PSAneCcpIHtcbiAgICAgICAgcG9pbnRzID0gc291cmNlRGlyZWN0aW9uLnggPT09IGN1cnJlbnREaXJlY3Rpb24gPyB0YXJnZXRTb3VyY2UgOiBzb3VyY2VUYXJnZXQ7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBwb2ludHMgPSBzb3VyY2VEaXJlY3Rpb24ueSA9PT0gY3VycmVudERpcmVjdGlvbiA/IHNvdXJjZVRhcmdldCA6IHRhcmdldFNvdXJjZTtcbiAgICAgIH1cblxuICAgICAgaWYgKHNvdXJjZVNpZGUgPT09IHRhcmdldFNpZGUpIHtcbiAgICAgICAgY29uc3QgZGlmZiA9IE1hdGguYWJzKHNvdXJjZVtkaXJlY3Rpb25BY2Nlc3Nvcl0gLSB0YXJnZXRbZGlyZWN0aW9uQWNjZXNzb3JdKTtcblxuICAgICAgICBpZiAoZGlmZiA8PSBvZmZzZXQpIHtcbiAgICAgICAgICBjb25zdCBnYXBPZmZzZXQgPSBNYXRoLm1pbihvZmZzZXQgLSAxLCBvZmZzZXQgLSBkaWZmKTtcbiAgICAgICAgICBpZiAoc291cmNlRGlyZWN0aW9uW2RpcmVjdGlvbkFjY2Vzc29yXSA9PT0gY3VycmVudERpcmVjdGlvbikge1xuICAgICAgICAgICAgc291cmNlR2FwT2Zmc2V0W2RpcmVjdGlvbkFjY2Vzc29yXSA9XG4gICAgICAgICAgICAgIChzb3VyY2VHYXBbZGlyZWN0aW9uQWNjZXNzb3JdID4gc291cmNlW2RpcmVjdGlvbkFjY2Vzc29yXSA/IC0xIDogMSkgKiBnYXBPZmZzZXQ7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRhcmdldEdhcE9mZnNldFtkaXJlY3Rpb25BY2Nlc3Nvcl0gPVxuICAgICAgICAgICAgICAodGFyZ2V0R2FwW2RpcmVjdGlvbkFjY2Vzc29yXSA+IHRhcmdldFtkaXJlY3Rpb25BY2Nlc3Nvcl0gPyAtMSA6IDEpICogZ2FwT2Zmc2V0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoc291cmNlU2lkZSAhPT0gdGFyZ2V0U2lkZSkge1xuICAgICAgICBjb25zdCBkaXJBY2Nlc3Nvck9wcG9zaXRlID0gZGlyZWN0aW9uQWNjZXNzb3IgPT09ICd4JyA/ICd5JyA6ICd4JztcbiAgICAgICAgY29uc3QgaXNTYW1lRGlyID1cbiAgICAgICAgICBzb3VyY2VEaXJlY3Rpb25bZGlyZWN0aW9uQWNjZXNzb3JdID09PSB0YXJnZXREaXJlY3Rpb25bZGlyQWNjZXNzb3JPcHBvc2l0ZV07XG4gICAgICAgIGNvbnN0IHNvdXJjZUd0VGFyZ2V0T3BwbyA9IHNvdXJjZUdhcFtkaXJBY2Nlc3Nvck9wcG9zaXRlXSA+IHRhcmdldEdhcFtkaXJBY2Nlc3Nvck9wcG9zaXRlXTtcbiAgICAgICAgY29uc3Qgc291cmNlTHRUYXJnZXRPcHBvID0gc291cmNlR2FwW2RpckFjY2Vzc29yT3Bwb3NpdGVdIDwgdGFyZ2V0R2FwW2RpckFjY2Vzc29yT3Bwb3NpdGVdO1xuICAgICAgICBjb25zdCBmbGlwU291cmNlVGFyZ2V0ID1cbiAgICAgICAgICAoc291cmNlRGlyZWN0aW9uW2RpcmVjdGlvbkFjY2Vzc29yXSA9PT0gMSAmJlxuICAgICAgICAgICAgKCghaXNTYW1lRGlyICYmIHNvdXJjZUd0VGFyZ2V0T3BwbykgfHwgKGlzU2FtZURpciAmJiBzb3VyY2VMdFRhcmdldE9wcG8pKSkgfHxcbiAgICAgICAgICAoc291cmNlRGlyZWN0aW9uW2RpcmVjdGlvbkFjY2Vzc29yXSAhPT0gMSAmJlxuICAgICAgICAgICAgKCghaXNTYW1lRGlyICYmIHNvdXJjZUx0VGFyZ2V0T3BwbykgfHwgKGlzU2FtZURpciAmJiBzb3VyY2VHdFRhcmdldE9wcG8pKSk7XG5cbiAgICAgICAgaWYgKGZsaXBTb3VyY2VUYXJnZXQpIHtcbiAgICAgICAgICBwb2ludHMgPSBkaXJlY3Rpb25BY2Nlc3NvciA9PT0gJ3gnID8gc291cmNlVGFyZ2V0IDogdGFyZ2V0U291cmNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgcGF0aFBvaW50cyA9IFtcbiAgICAgIHNvdXJjZSxcbiAgICAgIHsgeDogc291cmNlR2FwLnggKyBzb3VyY2VHYXBPZmZzZXQueCwgeTogc291cmNlR2FwLnkgKyBzb3VyY2VHYXBPZmZzZXQueSB9LFxuICAgICAgLi4ucG9pbnRzLFxuICAgICAgeyB4OiB0YXJnZXRHYXAueCArIHRhcmdldEdhcE9mZnNldC54LCB5OiB0YXJnZXRHYXAueSArIHRhcmdldEdhcE9mZnNldC55IH0sXG4gICAgICB0YXJnZXQsXG4gICAgXTtcblxuICAgIGNvbnN0IGNlbnRlciA9IG5ldyBDYWxjdWxhdGVDb25uZWN0aW9uQ2VudGVySGFuZGxlcigpLmhhbmRsZShcbiAgICAgIG5ldyBDYWxjdWxhdGVDb25uZWN0aW9uQ2VudGVyUmVxdWVzdChwYXRoUG9pbnRzKSxcbiAgICApO1xuXG4gICAgcmV0dXJuIHsgcG9pbnRzOiBwYXRoUG9pbnRzLCBjZW50ZXIgfTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldERpcmVjdGlvbihzb3VyY2U6IElQb2ludCwgc291cmNlU2lkZTogRUZDb25uZWN0YWJsZVNpZGUsIHRhcmdldDogSVBvaW50KTogSVBvaW50IHtcbiAgICBpZiAoc291cmNlU2lkZSA9PT0gRUZDb25uZWN0YWJsZVNpZGUuTEVGVCB8fCBzb3VyY2VTaWRlID09PSBFRkNvbm5lY3RhYmxlU2lkZS5SSUdIVCkge1xuICAgICAgcmV0dXJuIHNvdXJjZS54IDwgdGFyZ2V0LnhcbiAgICAgICAgPyBQb2ludEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgxLCAwKVxuICAgICAgICA6IFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKC0xLCAwKTtcbiAgICB9XG5cbiAgICByZXR1cm4gc291cmNlLnkgPCB0YXJnZXQueVxuICAgICAgPyBQb2ludEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgwLCAxKVxuICAgICAgOiBQb2ludEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgwLCAtMSk7XG4gIH1cblxuICBwcml2YXRlIF9kaXN0YW5jZShhOiBJUG9pbnQsIGI6IElQb2ludCk6IG51bWJlciB7XG4gICAgcmV0dXJuIE1hdGguc3FydChNYXRoLnBvdyhiLnggLSBhLngsIDIpICsgTWF0aC5wb3coYi55IC0gYS55LCAyKSk7XG4gIH1cblxuICBwcml2YXRlIF9idWlsZFBhdGgocG9pbnRzOiBJUG9pbnRbXSwgYm9yZGVyUmFkaXVzOiBudW1iZXIpOiBzdHJpbmcge1xuICAgIGxldCBwYXRoID0gJyc7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwb2ludHMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNvbnN0IHAgPSBwb2ludHNbaV07XG4gICAgICBsZXQgc2VnbWVudCA9ICcnO1xuXG4gICAgICBpZiAoaSA+IDAgJiYgaSA8IHBvaW50cy5sZW5ndGggLSAxKSB7XG4gICAgICAgIHNlZ21lbnQgPSB0aGlzLl9nZXRCZW5kKHBvaW50c1tpIC0gMV0sIHAsIHBvaW50c1tpICsgMV0sIGJvcmRlclJhZGl1cyk7XG4gICAgICB9IGVsc2UgaWYgKGkgPT09IHBvaW50cy5sZW5ndGggLSAxKSB7XG4gICAgICAgIHNlZ21lbnQgPSB0aGlzLl9idWlsZExhc3RMaW5lU2VnbWVudChpLCBwKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNlZ21lbnQgPSB0aGlzLl9idWlsZE1vdmVPckxpbmVTZWdtZW50KGksIHApO1xuICAgICAgfVxuICAgICAgcGF0aCArPSBzZWdtZW50O1xuICAgIH1cblxuICAgIHJldHVybiBwYXRoO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0QmVuZChhOiBJUG9pbnQsIGI6IElQb2ludCwgYzogSVBvaW50LCBzaXplOiBudW1iZXIpOiBzdHJpbmcge1xuICAgIGNvbnN0IGJlbmRTaXplID0gTWF0aC5taW4odGhpcy5fZGlzdGFuY2UoYSwgYikgLyAyLCB0aGlzLl9kaXN0YW5jZShiLCBjKSAvIDIsIHNpemUpO1xuICAgIGNvbnN0IHsgeCwgeSB9ID0gYjtcblxuICAgIGlmICgoYS54ID09PSB4ICYmIHggPT09IGMueCkgfHwgKGEueSA9PT0geSAmJiB5ID09PSBjLnkpKSB7XG4gICAgICByZXR1cm4gYEwke3h9ICR7eX1gO1xuICAgIH1cblxuICAgIGlmIChhLnkgPT09IHkpIHtcbiAgICAgIGNvbnN0IHhEaXIgPSBhLnggPCBjLnggPyAtMSA6IDE7XG4gICAgICBjb25zdCB5RGlyID0gYS55IDwgYy55ID8gMSA6IC0xO1xuXG4gICAgICByZXR1cm4gYEwgJHt4ICsgYmVuZFNpemUgKiB4RGlyfSwke3l9USAke3h9LCR7eX0gJHt4fSwke3kgKyBiZW5kU2l6ZSAqIHlEaXJ9YDtcbiAgICB9XG5cbiAgICBjb25zdCB4RGlyID0gYS54IDwgYy54ID8gMSA6IC0xO1xuICAgIGNvbnN0IHlEaXIgPSBhLnkgPCBjLnkgPyAtMSA6IDE7XG5cbiAgICByZXR1cm4gYEwgJHt4fSwke3kgKyBiZW5kU2l6ZSAqIHlEaXJ9USAke3h9LCR7eX0gJHt4ICsgYmVuZFNpemUgKiB4RGlyfSwke3l9YDtcbiAgfVxuXG4gIHByaXZhdGUgX2J1aWxkTW92ZU9yTGluZVNlZ21lbnQoaW5kZXg6IG51bWJlciwgcG9pbnQ6IElQb2ludCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke2luZGV4ID09PSAwID8gJ00nIDogJ0wnfSR7cG9pbnQueH0gJHtwb2ludC55fWA7XG4gIH1cblxuICBwcml2YXRlIF9idWlsZExhc3RMaW5lU2VnbWVudChpbmRleDogbnVtYmVyLCBwb2ludDogSVBvaW50KTogc3RyaW5nIHtcbiAgICByZXR1cm4gYEwke3BvaW50LnggKyAwLjAwMDJ9ICR7cG9pbnQueSArIDAuMDAwMn1gO1xuICB9XG59XG4iXX0=
|