@foblex/flow 17.9.21 → 18.0.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.execution.d.ts → add-pattern-to-background.d.ts} +4 -3
- package/domain/f-background/add-pattern-to-background/index.d.ts +1 -1
- package/domain/f-background/providers.d.ts +2 -2
- 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.execution.d.ts → add-connection-for-create-to-store.d.ts} +4 -4
- 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.execution.d.ts → add-connection-marker-to-store.d.ts} +4 -4
- 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.execution.d.ts → add-connection-to-store.d.ts} +4 -4
- 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.execution.d.ts → add-snap-connection-to-store.d.ts} +4 -4
- 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.execution.d.ts → create-connection-markers.d.ts} +7 -8
- 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 +6 -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.execution.d.ts → remove-connection-for-create-from-store.d.ts} +4 -4
- 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.execution.d.ts → remove-connection-from-store.d.ts} +4 -5
- 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.execution.d.ts → remove-connection-marker-from-store.d.ts} +4 -4
- 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 +11 -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.execution.d.ts → remove-snap-connection-from-store.d.ts} +4 -4
- 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-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/{get-flow-state → calculate-flow-state}/i-f-flow-state-connector.d.ts +1 -1
- package/domain/f-flow/{get-flow-state → calculate-flow-state}/index.d.ts +4 -4
- package/domain/f-flow/calculate-flow-state/providers.d.ts +7 -0
- package/domain/f-flow/index.d.ts +1 -1
- package/domain/f-flow/providers.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/{get-can-be-selected-items/get-can-be-selected-items.execution.d.ts → calculate-selectable-items/calculate-selectable-items.d.ts} +8 -8
- 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 +2 -2
- package/domain/f-zoom/add-zoom-to-store/add-zoom-to-store-request.d.ts +2 -2
- package/domain/f-zoom/add-zoom-to-store/add-zoom-to-store.d.ts +12 -0
- package/domain/f-zoom/add-zoom-to-store/index.d.ts +1 -1
- package/domain/f-zoom/providers.d.ts +5 -5
- package/domain/f-zoom/remove-zoom-from-store/index.d.ts +1 -1
- package/domain/f-zoom/remove-zoom-from-store/{remove-zoom-from-store.execution.d.ts → remove-zoom-from-store.d.ts} +3 -3
- 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.execution.d.ts → set-zoom.d.ts} +6 -6
- package/domain/index.d.ts +0 -1
- package/domain/providers.d.ts +1 -1
- 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.mjs +56 -0
- package/esm2022/domain/f-background/add-pattern-to-background/add-pattern-to-background.request.mjs +1 -1
- package/esm2022/domain/f-background/add-pattern-to-background/index.mjs +2 -2
- package/esm2022/domain/f-background/providers.mjs +3 -3
- 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 +25 -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 +64 -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 +24 -21
- 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 +33 -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 +25 -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 +40 -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/calculate-source-connectors-to-connect/calculate-source-connectors-to-connect.mjs +1 -1
- package/esm2022/domain/f-connectors/calculate-target-connectors-to-connect/calculate-target-connectors-to-connect.mjs +1 -1
- package/esm2022/domain/f-draggable/add-dnd-to-store/add-dnd-to-store-request.mjs +1 -1
- 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 +3 -5
- 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 +58 -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 -2
- package/esm2022/domain/f-flow/providers.mjs +2 -2
- 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 +1 -1
- package/esm2022/domain/f-node/calculate-output-connections/calculate-output-connections.mjs +1 -1
- package/esm2022/domain/f-node/update-node-when-state-or-size-changed/update-node-when-state-or-size-changed.mjs +2 -2
- 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 +3 -3
- package/esm2022/domain/f-zoom/add-zoom-to-store/add-zoom-to-store-request.mjs +4 -4
- package/esm2022/domain/f-zoom/add-zoom-to-store/add-zoom-to-store.mjs +28 -0
- package/esm2022/domain/f-zoom/add-zoom-to-store/index.mjs +2 -2
- package/esm2022/domain/f-zoom/providers.mjs +6 -11
- package/esm2022/domain/f-zoom/remove-zoom-from-store/index.mjs +2 -2
- package/esm2022/domain/f-zoom/remove-zoom-from-store/remove-zoom-from-store.mjs +28 -0
- 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 +54 -0
- package/esm2022/domain/index.mjs +1 -2
- package/esm2022/drag-toolkit/event.extensions.mjs +2 -2
- package/esm2022/drag-toolkit/pointer-events/i-pointer-event.mjs +15 -10
- package/esm2022/f-canvas/domain/{f-canvas-change.event.mjs → f-canvas-change-event.mjs} +1 -1
- 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/f-connection-content/polyline-content-engine → f-connection-v2/components/connection-content/utils}/polyline-content-place.mjs +2 -2
- 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 +6 -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/f-connection-waypoints-changed-event.mjs +9 -0
- package/esm2022/f-connection-v2/models/index.mjs +3 -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.directive.mjs +2 -2
- package/esm2022/f-connectors/f-node-outlet/f-node-outlet.directive.mjs +2 -2
- package/esm2022/f-connectors/f-node-output/f-node-output.directive.mjs +2 -2
- package/esm2022/f-connectors/f-source-connector-base.mjs +8 -1
- package/esm2022/f-connectors/index.mjs +1 -2
- package/esm2022/f-draggable/domain/is-connection-under-node/is-connection-under-node.execution.mjs +1 -1
- package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/create-connection-preparation.mjs +1 -8
- package/esm2022/f-draggable/f-connection/f-create-connection/f-create-connection.drag-handler.mjs +8 -6
- package/esm2022/f-draggable/f-connection/f-reassign-connection/f-reassign-connection.drag-handler.mjs +6 -3
- package/esm2022/f-draggable/f-connection/f-reassign-connection/f-reassign-source.drag-handler.mjs +8 -5
- package/esm2022/f-draggable/f-connection/f-reassign-connection/f-reassign-target.drag-handler.mjs +8 -5
- package/esm2022/f-draggable/f-connection/f-reassign-connection/i-f-reassign-connection-drag-result.mjs +1 -1
- package/esm2022/f-draggable/f-connection/f-reassign-connection/reassign-preparation/f-reassign-connection-preparation.execution.mjs +22 -27
- package/esm2022/f-draggable/f-connection/f-reassign-connection/reassign-preparation/is-pointer-inside-start-or-end-drag-handles.mjs +8 -7
- package/esm2022/f-draggable/f-connection/index.mjs +2 -1
- package/esm2022/f-draggable/f-connection/move-connection-waypoint/index.mjs +4 -0
- package/esm2022/f-draggable/f-connection/move-connection-waypoint/move-connection-waypoint-finalize/index.mjs +3 -0
- package/esm2022/f-draggable/f-connection/move-connection-waypoint/move-connection-waypoint-finalize/move-connection-waypoint-finalize-request.mjs +8 -0
- package/esm2022/f-draggable/f-connection/move-connection-waypoint/move-connection-waypoint-finalize/move-connection-waypoint-finalize.mjs +32 -0
- package/esm2022/f-draggable/f-connection/move-connection-waypoint/move-connection-waypoint-handler.mjs +49 -0
- package/esm2022/f-draggable/f-connection/move-connection-waypoint/move-connection-waypoint-preparation/index.mjs +3 -0
- package/esm2022/f-draggable/f-connection/move-connection-waypoint/move-connection-waypoint-preparation/move-connection-waypoint-preparation-request.mjs +10 -0
- package/esm2022/f-draggable/f-connection/move-connection-waypoint/move-connection-waypoint-preparation/move-connection-waypoint-preparation.mjs +65 -0
- package/esm2022/f-draggable/f-connection/providers.mjs +5 -2
- package/esm2022/f-draggable/f-drag-handler/i-f-drag-handler.mjs +1 -1
- package/esm2022/f-draggable/f-draggable-base.mjs +2 -2
- package/esm2022/f-draggable/f-draggable.directive.mjs +20 -9
- package/esm2022/f-draggable/f-node-move/connection-drag-handlers/base-connection.drag-handler.mjs +6 -3
- package/esm2022/f-draggable/f-node-move/connection-drag-handlers/source-connection.drag-handler.mjs +1 -1
- package/esm2022/f-draggable/f-node-move/connection-drag-handlers/source-target-connection.drag-handler.mjs +1 -1
- package/esm2022/f-draggable/f-node-move/connection-drag-handlers/target-connection.drag-handler.mjs +1 -1
- 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 +1 -1
- 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 +1 -1
- package/esm2022/f-draggable/f-node-move/create-snap-lines/create-snap-lines-request.mjs +1 -1
- package/esm2022/f-draggable/f-node-move/move-drag-handler.mjs +7 -5
- package/esm2022/f-draggable/f-node-move/move-finalize/f-node-move-finalize.execution.mjs +19 -14
- package/esm2022/f-draggable/f-node-move/move-preparation/index.mjs +3 -3
- package/esm2022/f-draggable/f-node-move/move-preparation/move-node-preparation-request.mjs +10 -0
- package/esm2022/f-draggable/f-node-move/move-preparation/move-node-preparation.mjs +81 -0
- package/esm2022/f-draggable/f-node-move/move-summary-drag-handler.mjs +1 -1
- package/esm2022/f-draggable/f-node-move/providers.mjs +3 -3
- package/esm2022/f-draggable/f-node-rotate/rotate-preparation/f-node-rotate-preparation.execution.mjs +1 -1
- package/esm2022/f-draggable/index.mjs +3 -2
- package/esm2022/f-draggable/pinch-to-zoom/constants/constants.mjs +6 -0
- package/esm2022/f-draggable/pinch-to-zoom/constants/index.mjs +2 -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/index.mjs +7 -0
- package/esm2022/f-draggable/pinch-to-zoom/pinch-to-zoom-handler.mjs +68 -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 +42 -0
- package/esm2022/f-draggable/pinch-to-zoom/providers.mjs +4 -0
- package/esm2022/f-draggable/pinch-to-zoom/utils/calculate-touch-center.mjs +10 -0
- package/esm2022/f-draggable/pinch-to-zoom/utils/calculate-touch-distance.mjs +9 -0
- package/esm2022/f-draggable/pinch-to-zoom/utils/index.mjs +3 -0
- package/esm2022/f-draggable/providers.mjs +4 -2
- package/esm2022/f-draggable/single-select/index.mjs +4 -0
- package/esm2022/f-draggable/single-select/providers.mjs +3 -0
- package/esm2022/f-draggable/single-select/single-select-request.mjs +10 -0
- package/esm2022/f-draggable/single-select/single-select.mjs +139 -0
- package/esm2022/f-flow/f-flow.component.mjs +39 -26
- package/esm2022/f-flow.module.mjs +38 -37
- package/esm2022/f-line-alignment/f-line-alignment-base.mjs +1 -1
- package/esm2022/f-line-alignment/f-line-alignment.component.mjs +10 -17
- package/esm2022/f-minimap/f-minimap.component.mjs +8 -9
- package/esm2022/f-selection-area/domain/selection-area.drag-handle.mjs +21 -19
- package/esm2022/f-storage/f-components-store.mjs +1 -1
- package/esm2022/f-storage/features/listen-components-data-changed/index.mjs +2 -2
- package/esm2022/f-storage/features/listen-components-data-changed/listen-data-changes-request.mjs +1 -1
- package/esm2022/f-storage/features/listen-components-data-changed/listen-data-changes.mjs +23 -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-transform-changes/index.mjs +3 -3
- package/esm2022/f-storage/features/listen-transform-changes/{listen-transform-changes.request.mjs → listen-transform-changes-request.mjs} +1 -1
- 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 → notify-transform-changed-request.mjs} +1 -1
- package/esm2022/f-storage/features/notify-transform-changed/notify-transform-changed.mjs +22 -0
- package/esm2022/f-storage/index.mjs +1 -2
- package/esm2022/f-storage/providers.mjs +11 -11
- package/esm2022/f-zoom/f-zoom.directive.mjs +44 -45
- package/esm2022/public-api.mjs +2 -1
- package/esm2022/reactivity/debounce-time.mjs +16 -5
- package/esm2022/reactivity/f-channel-hub.mjs +33 -9
- package/esm2022/reactivity/index.mjs +2 -1
- package/esm2022/reactivity/notify-on-start.mjs +12 -4
- package/esm2022/reactivity/take-one.mjs +17 -0
- package/esm2022/reactivity/types.mjs +1 -1
- package/esm2022/utils/calculate-pointer-in-flow.mjs +9 -0
- package/esm2022/utils/index.mjs +2 -1
- 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 +3 -10
- 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/f-connection-content → f-connection-v2/components/connection-content}/f-connection-content.d.ts +3 -30
- 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/f-connection-content/polyline-content-engine → f-connection-v2/components/connection-content/utils}/polyline-content-layout-engine.d.ts +1 -9
- 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/common/f-gradient/f-connection-gradient.component.d.ts → f-connection-v2/components/connection-gradient/f-connection-gradient.d.ts} +5 -6
- 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/f-marker/f-marker-base.d.ts → f-connection-v2/components/connection-marker/models/f-connection-marker-base.d.ts} +3 -4
- 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/common → f-connection-v2/components}/f-connection-base.d.ts +14 -31
- 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/f-connection-waypoints-changed-event.d.ts +6 -0
- package/f-connection-v2/models/index.d.ts +2 -0
- package/f-connection-v2/utils/connection-behaviour/connection-behaviour-builder-request.d.ts +11 -0
- package/{domain/f-connection/calculate-connection-line-by-behavior/calculate-connection-line-by-behavior.d.ts → f-connection-v2/utils/connection-behaviour/connection-behaviour-builder.d.ts} +5 -6
- 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/{domain/f-connection/calculate-connection-line-by-behavior/models/calculate-behavior-request.d.ts → f-connection-v2/utils/connection-behaviour/models/i-calculate-behavior-request.d.ts} +2 -2
- package/f-connection-v2/utils/connection-behaviour/models/index.d.ts +1 -0
- package/{domain/f-connection/calculate-connection-line-by-behavior → f-connection-v2/utils/connection-behaviour}/utils/fixed-center-behavior.d.ts +2 -2
- package/{domain/f-connection/calculate-connection-line-by-behavior → f-connection-v2/utils/connection-behaviour}/utils/fixed-outbound-behavior.d.ts +2 -2
- package/{domain/f-connection/calculate-connection-line-by-behavior → f-connection-v2/utils/connection-behaviour}/utils/floating-behavior.d.ts +2 -2
- 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/common/domain/f-straight.path-builder.d.ts → f-connection-v2/utils/connection-line-builder/builders/straight-line/calculate-straight-line-data.d.ts} +2 -2
- 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/f-connection-builder → f-connection-v2/utils/connection-line-builder/models}/i-f-connection-builder-request.d.ts +2 -1
- package/{f-connection/f-connection-builder → f-connection-v2/utils/connection-line-builder/models}/i-f-connection-builder-response.d.ts +2 -2
- package/{f-connection/f-connection-builder → f-connection-v2/utils/connection-line-builder/models}/i-f-connection-builder.d.ts +1 -2
- package/{f-connection/f-connection-builder → f-connection-v2/utils/connection-line-builder/models}/index.d.ts +1 -4
- 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 +1 -1
- package/f-connectors/f-node-input/f-node-input.directive.d.ts +1 -1
- package/f-connectors/f-node-outlet/f-node-outlet.directive.d.ts +1 -1
- 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/f-connection/f-create-connection/f-create-connection.drag-handler.d.ts +1 -0
- package/f-draggable/f-connection/f-reassign-connection/f-reassign-connection.drag-handler.d.ts +2 -1
- package/f-draggable/f-connection/f-reassign-connection/f-reassign-source.drag-handler.d.ts +4 -2
- package/f-draggable/f-connection/f-reassign-connection/f-reassign-target.drag-handler.d.ts +4 -2
- package/f-draggable/f-connection/f-reassign-connection/i-f-reassign-connection-drag-result.d.ts +1 -1
- package/f-draggable/f-connection/f-reassign-connection/reassign-preparation/f-reassign-connection-preparation.execution.d.ts +6 -7
- package/f-draggable/f-connection/f-reassign-connection/reassign-preparation/is-pointer-inside-start-or-end-drag-handles.d.ts +2 -2
- package/f-draggable/f-connection/index.d.ts +1 -0
- package/f-draggable/f-connection/move-connection-waypoint/index.d.ts +3 -0
- package/f-draggable/f-connection/move-connection-waypoint/move-connection-waypoint-finalize/index.d.ts +2 -0
- package/f-draggable/f-connection/move-connection-waypoint/move-connection-waypoint-finalize/move-connection-waypoint-finalize-request.d.ts +6 -0
- package/f-draggable/f-connection/move-connection-waypoint/move-connection-waypoint-finalize/move-connection-waypoint-finalize.d.ts +11 -0
- package/f-draggable/f-connection/move-connection-waypoint/move-connection-waypoint-handler.d.ts +20 -0
- package/f-draggable/f-connection/move-connection-waypoint/move-connection-waypoint-preparation/index.d.ts +2 -0
- package/f-draggable/f-connection/move-connection-waypoint/move-connection-waypoint-preparation/move-connection-waypoint-preparation-request.d.ts +8 -0
- package/f-draggable/f-connection/move-connection-waypoint/move-connection-waypoint-preparation/move-connection-waypoint-preparation.d.ts +19 -0
- package/f-draggable/f-connection/providers.d.ts +3 -2
- package/f-draggable/f-drag-handler/i-f-drag-handler.d.ts +2 -1
- package/f-draggable/f-draggable-base.d.ts +3 -1
- package/f-draggable/f-draggable.directive.d.ts +5 -1
- package/f-draggable/f-node-move/connection-drag-handlers/base-connection.drag-handler.d.ts +2 -1
- package/f-draggable/f-node-move/connection-drag-handlers/source-connection.drag-handler.d.ts +1 -1
- package/f-draggable/f-node-move/connection-drag-handlers/source-target-connection.drag-handler.d.ts +1 -1
- package/f-draggable/f-node-move/connection-drag-handlers/target-connection.drag-handler.d.ts +1 -1
- 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 +1 -1
- package/f-draggable/f-node-move/create-snap-lines/create-snap-lines-request.d.ts +1 -1
- package/f-draggable/f-node-move/move-drag-handler.d.ts +2 -2
- package/f-draggable/f-node-move/move-finalize/f-node-move-finalize.execution.d.ts +1 -1
- package/f-draggable/f-node-move/move-preparation/index.d.ts +2 -2
- package/f-draggable/f-node-move/move-preparation/{f-node-move-preparation.request.d.ts → move-node-preparation-request.d.ts} +3 -3
- package/f-draggable/f-node-move/move-preparation/move-node-preparation.d.ts +17 -0
- package/f-draggable/f-node-move/move-summary-drag-handler.d.ts +3 -3
- package/f-draggable/f-node-move/providers.d.ts +2 -2
- package/f-draggable/index.d.ts +2 -1
- package/f-draggable/pinch-to-zoom/constants/constants.d.ts +5 -0
- package/f-draggable/pinch-to-zoom/constants/index.d.ts +1 -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 +11 -0
- package/f-draggable/pinch-to-zoom/index.d.ts +6 -0
- package/f-draggable/pinch-to-zoom/pinch-to-zoom-handler.d.ts +21 -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 +13 -0
- package/f-draggable/pinch-to-zoom/providers.d.ts +3 -0
- package/f-draggable/pinch-to-zoom/utils/calculate-touch-center.d.ts +2 -0
- package/f-draggable/pinch-to-zoom/utils/calculate-touch-distance.d.ts +1 -0
- package/f-draggable/pinch-to-zoom/utils/index.d.ts +2 -0
- package/f-draggable/providers.d.ts +1 -1
- package/f-draggable/single-select/index.d.ts +3 -0
- package/f-draggable/single-select/providers.d.ts +2 -0
- package/f-draggable/single-select/single-select-request.d.ts +8 -0
- package/f-draggable/{f-single-select/f-single-select.execution.d.ts → single-select/single-select.d.ts} +7 -6
- package/f-flow/f-flow.component.d.ts +1 -1
- package/f-flow.module.d.ts +36 -37
- package/f-line-alignment/f-line-alignment-base.d.ts +3 -4
- package/f-line-alignment/f-line-alignment.component.d.ts +3 -4
- package/f-minimap/f-minimap.component.d.ts +2 -2
- package/f-selection-area/domain/selection-area.drag-handle.d.ts +6 -5
- package/f-storage/f-components-store.d.ts +3 -4
- package/f-storage/features/listen-components-data-changed/index.d.ts +1 -1
- package/f-storage/features/listen-components-data-changed/{listen-data-changes.execution.d.ts → listen-data-changes.d.ts} +3 -3
- package/f-storage/features/listen-count-changes/index.d.ts +1 -1
- package/f-storage/features/listen-count-changes/{listen-count-changes.execution.d.ts → listen-count-changes.d.ts} +3 -3
- package/f-storage/features/listen-transform-changes/index.d.ts +2 -2
- package/f-storage/features/listen-transform-changes/{listen-transform-changes.execution.d.ts → listen-transform-changes.d.ts} +4 -4
- package/f-storage/features/notify-data-changed/index.d.ts +1 -1
- package/f-storage/features/notify-data-changed/{notify-data-changed.execution.d.ts → notify-data-changed.d.ts} +3 -3
- package/f-storage/features/notify-transform-changed/index.d.ts +2 -2
- package/f-storage/features/notify-transform-changed/{notify-transform-changed.execution.d.ts → notify-transform-changed.d.ts} +4 -4
- package/f-storage/index.d.ts +0 -1
- package/f-storage/providers.d.ts +6 -6
- package/f-zoom/f-zoom.directive.d.ts +11 -14
- package/fesm2022/foblex-flow.mjs +4354 -3905
- package/fesm2022/foblex-flow.mjs.map +1 -1
- package/package.json +2 -2
- package/public-api.d.ts +1 -0
- package/reactivity/index.d.ts +1 -0
- package/reactivity/take-one.d.ts +2 -0
- package/reactivity/types.d.ts +6 -1
- package/schematics/collection.json +6 -1
- package/utils/calculate-pointer-in-flow.d.ts +4 -0
- package/utils/index.d.ts +1 -0
- 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/index.d.ts +0 -6
- 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/providers.d.ts +0 -7
- 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/index.d.ts +0 -3
- package/domain/f-zoom/add-zoom-to-store/add-zoom-to-store.execution.d.ts +0 -12
- package/domain/f-zoom/reset-zoom/reset-zoom.execution.d.ts +0 -13
- package/domain/i-map.d.ts +0 -1
- package/esm2022/domain/f-background/add-pattern-to-background/add-pattern-to-background.execution.mjs +0 -48
- 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-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-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-zoom/add-zoom-to-store/add-zoom-to-store.execution.mjs +0 -28
- 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/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-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/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-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-storage/f-connectors-store.mjs +0 -11
- 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/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/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/index.d.ts +0 -6
- 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/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-factory-request.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/index.d.ts +0 -2
- 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/f-node-move/move-preparation/f-node-move-preparation.execution.d.ts +0 -20
- 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-storage/f-connectors-store.d.ts +0 -6
- /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/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-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
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import { fixedCenterBehavior, fixedOutboundBehavior, floatingBehavior } from './utils';
|
|
2
|
+
import { EFConnectionBehavior, EFConnectionConnectableSide } from './enums';
|
|
3
|
+
import { EFConnectableSide } from '../../enums';
|
|
4
|
+
import { Injectable } from '@angular/core';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
/**
|
|
7
|
+
* Small epsilon to treat near-zero differences as negligible.
|
|
8
|
+
*/
|
|
9
|
+
const EPSILON = 0.5;
|
|
10
|
+
/**
|
|
11
|
+
* Registry of all connection behavior handlers.
|
|
12
|
+
*/
|
|
13
|
+
const BEHAVIOR_HANDLERS = {
|
|
14
|
+
[EFConnectionBehavior.FLOATING]: floatingBehavior,
|
|
15
|
+
[EFConnectionBehavior.FIXED_CENTER]: fixedCenterBehavior,
|
|
16
|
+
[EFConnectionBehavior.FIXED]: fixedOutboundBehavior,
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* Calculates connection lines based on behavior rules.
|
|
20
|
+
* It determines which sides of the source and target should connect,
|
|
21
|
+
* then delegates to a registered behavior handler.
|
|
22
|
+
*/
|
|
23
|
+
export class ConnectionBehaviourBuilder {
|
|
24
|
+
/**
|
|
25
|
+
* Main execution entry point.
|
|
26
|
+
*
|
|
27
|
+
* @param request The request containing source, target, and connection details.
|
|
28
|
+
* @returns A calculated connection line (ILine).
|
|
29
|
+
*/
|
|
30
|
+
handle(request) {
|
|
31
|
+
const vectors = this._calculateDirectionalVectors(request.sourceRect.gravityCenter.x, request.sourceRect.gravityCenter.y, request.targetRect.gravityCenter.x, request.targetRect.gravityCenter.y);
|
|
32
|
+
const sourceSide = this._determineSourceSide(request, vectors);
|
|
33
|
+
const targetSide = this._determineTargetSide(request, vectors);
|
|
34
|
+
request.connection._applyResolvedSidesToConnection(sourceSide, targetSide);
|
|
35
|
+
const handler = this._getBehaviorHandler(request.connection.fBehavior);
|
|
36
|
+
return handler({
|
|
37
|
+
sourceRect: request.sourceRect,
|
|
38
|
+
targetRect: request.targetRect,
|
|
39
|
+
sourceConnectableSide: sourceSide,
|
|
40
|
+
targetConnectableSide: targetSide,
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Computes the directional deltas between two rectangles.
|
|
45
|
+
*/
|
|
46
|
+
_calculateDirectionalVectors(sourceX, sourceY, targetX, targetY) {
|
|
47
|
+
const sourceToTargetX = targetX - sourceX;
|
|
48
|
+
const sourceToTargetY = targetY - sourceY;
|
|
49
|
+
return {
|
|
50
|
+
sourceToTargetX,
|
|
51
|
+
sourceToTargetY,
|
|
52
|
+
targetToSourceX: -sourceToTargetX,
|
|
53
|
+
targetToSourceY: -sourceToTargetY,
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Determines the side for the source element.
|
|
58
|
+
*/
|
|
59
|
+
_determineSourceSide(request, vectors) {
|
|
60
|
+
return this._resolveConnectableSide(request.connection.fOutputSide(), vectors.sourceToTargetX, vectors.sourceToTargetY, request.sourceConnectableSide);
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Determines the side for the target element.
|
|
64
|
+
*/
|
|
65
|
+
_determineTargetSide(request, vectors) {
|
|
66
|
+
return this._resolveConnectableSide(request.connection.fInputSide(), vectors.targetToSourceX, vectors.targetToSourceY, request.targetConnectableSide);
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Resolves which side of a shape to connect to based on direction, fallback, and connection mode.
|
|
70
|
+
*
|
|
71
|
+
* @param requestedSide The side mode (e.g. CALCULATE, CALCULATE_HORIZONTAL, FIXED, etc.).
|
|
72
|
+
* @param deltaX Difference in X between source and target.
|
|
73
|
+
* @param deltaY Difference in Y between source and target.
|
|
74
|
+
* @param fallbackSide The default fallback side if calculation is ambiguous.
|
|
75
|
+
*/
|
|
76
|
+
_resolveConnectableSide(requestedSide, deltaX, deltaY, fallbackSide) {
|
|
77
|
+
if (requestedSide === EFConnectionConnectableSide.DEFAULT) {
|
|
78
|
+
return fallbackSide;
|
|
79
|
+
}
|
|
80
|
+
const absoluteX = Math.abs(deltaX);
|
|
81
|
+
const absoluteY = Math.abs(deltaY);
|
|
82
|
+
const isNearZero = absoluteX < EPSILON && absoluteY < EPSILON;
|
|
83
|
+
if (isNearZero) {
|
|
84
|
+
return fallbackSide;
|
|
85
|
+
}
|
|
86
|
+
const isHorizontalDominant = absoluteX >= absoluteY;
|
|
87
|
+
switch (requestedSide) {
|
|
88
|
+
case EFConnectionConnectableSide.CALCULATE:
|
|
89
|
+
return isHorizontalDominant
|
|
90
|
+
? deltaX >= 0
|
|
91
|
+
? EFConnectableSide.RIGHT
|
|
92
|
+
: EFConnectableSide.LEFT
|
|
93
|
+
: deltaY >= 0
|
|
94
|
+
? EFConnectableSide.BOTTOM
|
|
95
|
+
: EFConnectableSide.TOP;
|
|
96
|
+
case EFConnectionConnectableSide.CALCULATE_HORIZONTAL:
|
|
97
|
+
if (absoluteX < EPSILON) {
|
|
98
|
+
return fallbackSide;
|
|
99
|
+
}
|
|
100
|
+
return deltaX >= 0 ? EFConnectableSide.RIGHT : EFConnectableSide.LEFT;
|
|
101
|
+
case EFConnectionConnectableSide.CALCULATE_VERTICAL:
|
|
102
|
+
if (absoluteY < EPSILON) {
|
|
103
|
+
return fallbackSide;
|
|
104
|
+
}
|
|
105
|
+
return deltaY >= 0 ? EFConnectableSide.BOTTOM : EFConnectableSide.TOP;
|
|
106
|
+
case EFConnectionConnectableSide.TOP:
|
|
107
|
+
return EFConnectableSide.TOP;
|
|
108
|
+
case EFConnectionConnectableSide.BOTTOM:
|
|
109
|
+
return EFConnectableSide.BOTTOM;
|
|
110
|
+
case EFConnectionConnectableSide.LEFT:
|
|
111
|
+
return EFConnectableSide.LEFT;
|
|
112
|
+
case EFConnectionConnectableSide.RIGHT:
|
|
113
|
+
return EFConnectableSide.RIGHT;
|
|
114
|
+
default:
|
|
115
|
+
return fallbackSide;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Returns the appropriate handler for the given connection behavior.
|
|
120
|
+
*
|
|
121
|
+
* @throws Error if no handler is registered for the behavior.
|
|
122
|
+
*/
|
|
123
|
+
_getBehaviorHandler(behavior) {
|
|
124
|
+
const handler = BEHAVIOR_HANDLERS[behavior];
|
|
125
|
+
if (!handler) {
|
|
126
|
+
throw new Error(`[Behavior] No handler for behavior: ${behavior}`);
|
|
127
|
+
}
|
|
128
|
+
return handler;
|
|
129
|
+
}
|
|
130
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ConnectionBehaviourBuilder, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
131
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ConnectionBehaviourBuilder });
|
|
132
|
+
}
|
|
133
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ConnectionBehaviourBuilder, decorators: [{
|
|
134
|
+
type: Injectable
|
|
135
|
+
}] });
|
|
136
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ubmVjdGlvbi1iZWhhdmlvdXItYnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1jb25uZWN0aW9uLXYyL3V0aWxzL2Nvbm5lY3Rpb24tYmVoYXZpb3VyL2Nvbm5lY3Rpb24tYmVoYXZpb3VyLWJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLHFCQUFxQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSwyQkFBMkIsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFaEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFM0M7O0dBRUc7QUFDSCxNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUM7QUFPcEI7O0dBRUc7QUFDSCxNQUFNLGlCQUFpQixHQUFvQztJQUN6RCxDQUFDLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxFQUFFLGdCQUFnQjtJQUNqRCxDQUFDLG9CQUFvQixDQUFDLFlBQVksQ0FBQyxFQUFFLG1CQUFtQjtJQUN4RCxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxFQUFFLHFCQUFxQjtDQUNwRCxDQUFDO0FBWUY7Ozs7R0FJRztBQUVILE1BQU0sT0FBTywwQkFBMEI7SUFDckM7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMsT0FBMEM7UUFDdEQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLDRCQUE0QixDQUMvQyxPQUFPLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDLEVBQ2xDLE9BQU8sQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUMsRUFDbEMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQyxFQUNsQyxPQUFPLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQ25DLENBQUM7UUFFRixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQy9ELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFL0QsT0FBTyxDQUFDLFVBQVUsQ0FBQywrQkFBK0IsQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFFM0UsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFdkUsT0FBTyxPQUFPLENBQUM7WUFDYixVQUFVLEVBQUUsT0FBTyxDQUFDLFVBQVU7WUFDOUIsVUFBVSxFQUFFLE9BQU8sQ0FBQyxVQUFVO1lBQzlCLHFCQUFxQixFQUFFLFVBQVU7WUFDakMscUJBQXFCLEVBQUUsVUFBVTtTQUNsQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSyw0QkFBNEIsQ0FDbEMsT0FBZSxFQUNmLE9BQWUsRUFDZixPQUFlLEVBQ2YsT0FBZTtRQUVmLE1BQU0sZUFBZSxHQUFHLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDMUMsTUFBTSxlQUFlLEdBQUcsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUUxQyxPQUFPO1lBQ0wsZUFBZTtZQUNmLGVBQWU7WUFDZixlQUFlLEVBQUUsQ0FBQyxlQUFlO1lBQ2pDLGVBQWUsRUFBRSxDQUFDLGVBQWU7U0FDbEMsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNLLG9CQUFvQixDQUMxQixPQUEwQyxFQUMxQyxPQUE0QjtRQUU1QixPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FDakMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsRUFDaEMsT0FBTyxDQUFDLGVBQWUsRUFDdkIsT0FBTyxDQUFDLGVBQWUsRUFDdkIsT0FBTyxDQUFDLHFCQUFxQixDQUM5QixDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0ssb0JBQW9CLENBQzFCLE9BQTBDLEVBQzFDLE9BQTRCO1FBRTVCLE9BQU8sSUFBSSxDQUFDLHVCQUF1QixDQUNqQyxPQUFPLENBQUMsVUFBVSxDQUFDLFVBQVUsRUFBRSxFQUMvQixPQUFPLENBQUMsZUFBZSxFQUN2QixPQUFPLENBQUMsZUFBZSxFQUN2QixPQUFPLENBQUMscUJBQXFCLENBQzlCLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNLLHVCQUF1QixDQUM3QixhQUEwQyxFQUMxQyxNQUFjLEVBQ2QsTUFBYyxFQUNkLFlBQStCO1FBRS9CLElBQUksYUFBYSxLQUFLLDJCQUEyQixDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQzFELE9BQU8sWUFBWSxDQUFDO1FBQ3RCLENBQUM7UUFFRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ25DLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbkMsTUFBTSxVQUFVLEdBQUcsU0FBUyxHQUFHLE9BQU8sSUFBSSxTQUFTLEdBQUcsT0FBTyxDQUFDO1FBRTlELElBQUksVUFBVSxFQUFFLENBQUM7WUFDZixPQUFPLFlBQVksQ0FBQztRQUN0QixDQUFDO1FBRUQsTUFBTSxvQkFBb0IsR0FBRyxTQUFTLElBQUksU0FBUyxDQUFDO1FBRXBELFFBQVEsYUFBYSxFQUFFLENBQUM7WUFDdEIsS0FBSywyQkFBMkIsQ0FBQyxTQUFTO2dCQUN4QyxPQUFPLG9CQUFvQjtvQkFDekIsQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDO3dCQUNYLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLO3dCQUN6QixDQUFDLENBQUMsaUJBQWlCLENBQUMsSUFBSTtvQkFDMUIsQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDO3dCQUNYLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNO3dCQUMxQixDQUFDLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDO1lBRTlCLEtBQUssMkJBQTJCLENBQUMsb0JBQW9CO2dCQUNuRCxJQUFJLFNBQVMsR0FBRyxPQUFPLEVBQUUsQ0FBQztvQkFDeEIsT0FBTyxZQUFZLENBQUM7Z0JBQ3RCLENBQUM7Z0JBRUQsT0FBTyxNQUFNLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQztZQUV4RSxLQUFLLDJCQUEyQixDQUFDLGtCQUFrQjtnQkFDakQsSUFBSSxTQUFTLEdBQUcsT0FBTyxFQUFFLENBQUM7b0JBQ3hCLE9BQU8sWUFBWSxDQUFDO2dCQUN0QixDQUFDO2dCQUVELE9BQU8sTUFBTSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUM7WUFFeEUsS0FBSywyQkFBMkIsQ0FBQyxHQUFHO2dCQUNsQyxPQUFPLGlCQUFpQixDQUFDLEdBQUcsQ0FBQztZQUMvQixLQUFLLDJCQUEyQixDQUFDLE1BQU07Z0JBQ3JDLE9BQU8saUJBQWlCLENBQUMsTUFBTSxDQUFDO1lBQ2xDLEtBQUssMkJBQTJCLENBQUMsSUFBSTtnQkFDbkMsT0FBTyxpQkFBaUIsQ0FBQyxJQUFJLENBQUM7WUFDaEMsS0FBSywyQkFBMkIsQ0FBQyxLQUFLO2dCQUNwQyxPQUFPLGlCQUFpQixDQUFDLEtBQUssQ0FBQztZQUVqQztnQkFDRSxPQUFPLFlBQVksQ0FBQztRQUN4QixDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7O09BSUc7SUFDSyxtQkFBbUIsQ0FBQyxRQUE4QjtRQUN4RCxNQUFNLE9BQU8sR0FBRyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM1QyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDYixNQUFNLElBQUksS0FBSyxDQUFDLHVDQUF1QyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ3JFLENBQUM7UUFFRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO3dHQTlKVSwwQkFBMEI7NEdBQTFCLDBCQUEwQjs7NEZBQTFCLDBCQUEwQjtrQkFEdEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbm5lY3Rpb25CZWhhdmlvdXJCdWlsZGVyUmVxdWVzdCB9IGZyb20gJy4vY29ubmVjdGlvbi1iZWhhdmlvdXItYnVpbGRlci1yZXF1ZXN0JztcbmltcG9ydCB7IElMaW5lIH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBmaXhlZENlbnRlckJlaGF2aW9yLCBmaXhlZE91dGJvdW5kQmVoYXZpb3IsIGZsb2F0aW5nQmVoYXZpb3IgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IEVGQ29ubmVjdGlvbkJlaGF2aW9yLCBFRkNvbm5lY3Rpb25Db25uZWN0YWJsZVNpZGUgfSBmcm9tICcuL2VudW1zJztcbmltcG9ydCB7IEVGQ29ubmVjdGFibGVTaWRlIH0gZnJvbSAnLi4vLi4vZW51bXMnO1xuaW1wb3J0IHsgSUNhbGN1bGF0ZUJlaGF2aW9yUmVxdWVzdCB9IGZyb20gJy4vbW9kZWxzJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBTbWFsbCBlcHNpbG9uIHRvIHRyZWF0IG5lYXItemVybyBkaWZmZXJlbmNlcyBhcyBuZWdsaWdpYmxlLlxuICovXG5jb25zdCBFUFNJTE9OID0gMC41O1xuXG4vKipcbiAqIEZ1bmN0aW9uIHNpZ25hdHVyZSBmb3IgYmVoYXZpb3Itc3BlY2lmaWMgY29ubmVjdGlvbiBsaW5lIGhhbmRsZXJzLlxuICovXG50eXBlIEJlaGF2aW9ySGFuZGxlciA9IChhcmdzOiBJQ2FsY3VsYXRlQmVoYXZpb3JSZXF1ZXN0KSA9PiBJTGluZTtcblxuLyoqXG4gKiBSZWdpc3RyeSBvZiBhbGwgY29ubmVjdGlvbiBiZWhhdmlvciBoYW5kbGVycy5cbiAqL1xuY29uc3QgQkVIQVZJT1JfSEFORExFUlM6IFJlY29yZDxzdHJpbmcsIEJlaGF2aW9ySGFuZGxlcj4gPSB7XG4gIFtFRkNvbm5lY3Rpb25CZWhhdmlvci5GTE9BVElOR106IGZsb2F0aW5nQmVoYXZpb3IsXG4gIFtFRkNvbm5lY3Rpb25CZWhhdmlvci5GSVhFRF9DRU5URVJdOiBmaXhlZENlbnRlckJlaGF2aW9yLFxuICBbRUZDb25uZWN0aW9uQmVoYXZpb3IuRklYRURdOiBmaXhlZE91dGJvdW5kQmVoYXZpb3IsXG59O1xuXG4vKipcbiAqIFJlcHJlc2VudHMgdGhlIGRpcmVjdGlvbmFsIGRlbHRhcyBiZXR3ZWVuIHR3byByZWN0YW5nbGVzLlxuICovXG5pbnRlcmZhY2UgSURpcmVjdGlvbmFsVmVjdG9ycyB7XG4gIHNvdXJjZVRvVGFyZ2V0WDogbnVtYmVyO1xuICBzb3VyY2VUb1RhcmdldFk6IG51bWJlcjtcbiAgdGFyZ2V0VG9Tb3VyY2VYOiBudW1iZXI7XG4gIHRhcmdldFRvU291cmNlWTogbnVtYmVyO1xufVxuXG4vKipcbiAqIENhbGN1bGF0ZXMgY29ubmVjdGlvbiBsaW5lcyBiYXNlZCBvbiBiZWhhdmlvciBydWxlcy5cbiAqIEl0IGRldGVybWluZXMgd2hpY2ggc2lkZXMgb2YgdGhlIHNvdXJjZSBhbmQgdGFyZ2V0IHNob3VsZCBjb25uZWN0LFxuICogdGhlbiBkZWxlZ2F0ZXMgdG8gYSByZWdpc3RlcmVkIGJlaGF2aW9yIGhhbmRsZXIuXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDb25uZWN0aW9uQmVoYXZpb3VyQnVpbGRlciB7XG4gIC8qKlxuICAgKiBNYWluIGV4ZWN1dGlvbiBlbnRyeSBwb2ludC5cbiAgICpcbiAgICogQHBhcmFtIHJlcXVlc3QgVGhlIHJlcXVlc3QgY29udGFpbmluZyBzb3VyY2UsIHRhcmdldCwgYW5kIGNvbm5lY3Rpb24gZGV0YWlscy5cbiAgICogQHJldHVybnMgQSBjYWxjdWxhdGVkIGNvbm5lY3Rpb24gbGluZSAoSUxpbmUpLlxuICAgKi9cbiAgcHVibGljIGhhbmRsZShyZXF1ZXN0OiBDb25uZWN0aW9uQmVoYXZpb3VyQnVpbGRlclJlcXVlc3QpOiBJTGluZSB7XG4gICAgY29uc3QgdmVjdG9ycyA9IHRoaXMuX2NhbGN1bGF0ZURpcmVjdGlvbmFsVmVjdG9ycyhcbiAgICAgIHJlcXVlc3Quc291cmNlUmVjdC5ncmF2aXR5Q2VudGVyLngsXG4gICAgICByZXF1ZXN0LnNvdXJjZVJlY3QuZ3Jhdml0eUNlbnRlci55LFxuICAgICAgcmVxdWVzdC50YXJnZXRSZWN0LmdyYXZpdHlDZW50ZXIueCxcbiAgICAgIHJlcXVlc3QudGFyZ2V0UmVjdC5ncmF2aXR5Q2VudGVyLnksXG4gICAgKTtcblxuICAgIGNvbnN0IHNvdXJjZVNpZGUgPSB0aGlzLl9kZXRlcm1pbmVTb3VyY2VTaWRlKHJlcXVlc3QsIHZlY3RvcnMpO1xuICAgIGNvbnN0IHRhcmdldFNpZGUgPSB0aGlzLl9kZXRlcm1pbmVUYXJnZXRTaWRlKHJlcXVlc3QsIHZlY3RvcnMpO1xuXG4gICAgcmVxdWVzdC5jb25uZWN0aW9uLl9hcHBseVJlc29sdmVkU2lkZXNUb0Nvbm5lY3Rpb24oc291cmNlU2lkZSwgdGFyZ2V0U2lkZSk7XG5cbiAgICBjb25zdCBoYW5kbGVyID0gdGhpcy5fZ2V0QmVoYXZpb3JIYW5kbGVyKHJlcXVlc3QuY29ubmVjdGlvbi5mQmVoYXZpb3IpO1xuXG4gICAgcmV0dXJuIGhhbmRsZXIoe1xuICAgICAgc291cmNlUmVjdDogcmVxdWVzdC5zb3VyY2VSZWN0LFxuICAgICAgdGFyZ2V0UmVjdDogcmVxdWVzdC50YXJnZXRSZWN0LFxuICAgICAgc291cmNlQ29ubmVjdGFibGVTaWRlOiBzb3VyY2VTaWRlLFxuICAgICAgdGFyZ2V0Q29ubmVjdGFibGVTaWRlOiB0YXJnZXRTaWRlLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbXB1dGVzIHRoZSBkaXJlY3Rpb25hbCBkZWx0YXMgYmV0d2VlbiB0d28gcmVjdGFuZ2xlcy5cbiAgICovXG4gIHByaXZhdGUgX2NhbGN1bGF0ZURpcmVjdGlvbmFsVmVjdG9ycyhcbiAgICBzb3VyY2VYOiBudW1iZXIsXG4gICAgc291cmNlWTogbnVtYmVyLFxuICAgIHRhcmdldFg6IG51bWJlcixcbiAgICB0YXJnZXRZOiBudW1iZXIsXG4gICk6IElEaXJlY3Rpb25hbFZlY3RvcnMge1xuICAgIGNvbnN0IHNvdXJjZVRvVGFyZ2V0WCA9IHRhcmdldFggLSBzb3VyY2VYO1xuICAgIGNvbnN0IHNvdXJjZVRvVGFyZ2V0WSA9IHRhcmdldFkgLSBzb3VyY2VZO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIHNvdXJjZVRvVGFyZ2V0WCxcbiAgICAgIHNvdXJjZVRvVGFyZ2V0WSxcbiAgICAgIHRhcmdldFRvU291cmNlWDogLXNvdXJjZVRvVGFyZ2V0WCxcbiAgICAgIHRhcmdldFRvU291cmNlWTogLXNvdXJjZVRvVGFyZ2V0WSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIERldGVybWluZXMgdGhlIHNpZGUgZm9yIHRoZSBzb3VyY2UgZWxlbWVudC5cbiAgICovXG4gIHByaXZhdGUgX2RldGVybWluZVNvdXJjZVNpZGUoXG4gICAgcmVxdWVzdDogQ29ubmVjdGlvbkJlaGF2aW91ckJ1aWxkZXJSZXF1ZXN0LFxuICAgIHZlY3RvcnM6IElEaXJlY3Rpb25hbFZlY3RvcnMsXG4gICk6IEVGQ29ubmVjdGFibGVTaWRlIHtcbiAgICByZXR1cm4gdGhpcy5fcmVzb2x2ZUNvbm5lY3RhYmxlU2lkZShcbiAgICAgIHJlcXVlc3QuY29ubmVjdGlvbi5mT3V0cHV0U2lkZSgpLFxuICAgICAgdmVjdG9ycy5zb3VyY2VUb1RhcmdldFgsXG4gICAgICB2ZWN0b3JzLnNvdXJjZVRvVGFyZ2V0WSxcbiAgICAgIHJlcXVlc3Quc291cmNlQ29ubmVjdGFibGVTaWRlLFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogRGV0ZXJtaW5lcyB0aGUgc2lkZSBmb3IgdGhlIHRhcmdldCBlbGVtZW50LlxuICAgKi9cbiAgcHJpdmF0ZSBfZGV0ZXJtaW5lVGFyZ2V0U2lkZShcbiAgICByZXF1ZXN0OiBDb25uZWN0aW9uQmVoYXZpb3VyQnVpbGRlclJlcXVlc3QsXG4gICAgdmVjdG9yczogSURpcmVjdGlvbmFsVmVjdG9ycyxcbiAgKTogRUZDb25uZWN0YWJsZVNpZGUge1xuICAgIHJldHVybiB0aGlzLl9yZXNvbHZlQ29ubmVjdGFibGVTaWRlKFxuICAgICAgcmVxdWVzdC5jb25uZWN0aW9uLmZJbnB1dFNpZGUoKSxcbiAgICAgIHZlY3RvcnMudGFyZ2V0VG9Tb3VyY2VYLFxuICAgICAgdmVjdG9ycy50YXJnZXRUb1NvdXJjZVksXG4gICAgICByZXF1ZXN0LnRhcmdldENvbm5lY3RhYmxlU2lkZSxcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc29sdmVzIHdoaWNoIHNpZGUgb2YgYSBzaGFwZSB0byBjb25uZWN0IHRvIGJhc2VkIG9uIGRpcmVjdGlvbiwgZmFsbGJhY2ssIGFuZCBjb25uZWN0aW9uIG1vZGUuXG4gICAqXG4gICAqIEBwYXJhbSByZXF1ZXN0ZWRTaWRlIFRoZSBzaWRlIG1vZGUgKGUuZy4gQ0FMQ1VMQVRFLCBDQUxDVUxBVEVfSE9SSVpPTlRBTCwgRklYRUQsIGV0Yy4pLlxuICAgKiBAcGFyYW0gZGVsdGFYIERpZmZlcmVuY2UgaW4gWCBiZXR3ZWVuIHNvdXJjZSBhbmQgdGFyZ2V0LlxuICAgKiBAcGFyYW0gZGVsdGFZIERpZmZlcmVuY2UgaW4gWSBiZXR3ZWVuIHNvdXJjZSBhbmQgdGFyZ2V0LlxuICAgKiBAcGFyYW0gZmFsbGJhY2tTaWRlIFRoZSBkZWZhdWx0IGZhbGxiYWNrIHNpZGUgaWYgY2FsY3VsYXRpb24gaXMgYW1iaWd1b3VzLlxuICAgKi9cbiAgcHJpdmF0ZSBfcmVzb2x2ZUNvbm5lY3RhYmxlU2lkZShcbiAgICByZXF1ZXN0ZWRTaWRlOiBFRkNvbm5lY3Rpb25Db25uZWN0YWJsZVNpZGUsXG4gICAgZGVsdGFYOiBudW1iZXIsXG4gICAgZGVsdGFZOiBudW1iZXIsXG4gICAgZmFsbGJhY2tTaWRlOiBFRkNvbm5lY3RhYmxlU2lkZSxcbiAgKTogRUZDb25uZWN0YWJsZVNpZGUge1xuICAgIGlmIChyZXF1ZXN0ZWRTaWRlID09PSBFRkNvbm5lY3Rpb25Db25uZWN0YWJsZVNpZGUuREVGQVVMVCkge1xuICAgICAgcmV0dXJuIGZhbGxiYWNrU2lkZTtcbiAgICB9XG5cbiAgICBjb25zdCBhYnNvbHV0ZVggPSBNYXRoLmFicyhkZWx0YVgpO1xuICAgIGNvbnN0IGFic29sdXRlWSA9IE1hdGguYWJzKGRlbHRhWSk7XG4gICAgY29uc3QgaXNOZWFyWmVybyA9IGFic29sdXRlWCA8IEVQU0lMT04gJiYgYWJzb2x1dGVZIDwgRVBTSUxPTjtcblxuICAgIGlmIChpc05lYXJaZXJvKSB7XG4gICAgICByZXR1cm4gZmFsbGJhY2tTaWRlO1xuICAgIH1cblxuICAgIGNvbnN0IGlzSG9yaXpvbnRhbERvbWluYW50ID0gYWJzb2x1dGVYID49IGFic29sdXRlWTtcblxuICAgIHN3aXRjaCAocmVxdWVzdGVkU2lkZSkge1xuICAgICAgY2FzZSBFRkNvbm5lY3Rpb25Db25uZWN0YWJsZVNpZGUuQ0FMQ1VMQVRFOlxuICAgICAgICByZXR1cm4gaXNIb3Jpem9udGFsRG9taW5hbnRcbiAgICAgICAgICA/IGRlbHRhWCA+PSAwXG4gICAgICAgICAgICA/IEVGQ29ubmVjdGFibGVTaWRlLlJJR0hUXG4gICAgICAgICAgICA6IEVGQ29ubmVjdGFibGVTaWRlLkxFRlRcbiAgICAgICAgICA6IGRlbHRhWSA+PSAwXG4gICAgICAgICAgICA/IEVGQ29ubmVjdGFibGVTaWRlLkJPVFRPTVxuICAgICAgICAgICAgOiBFRkNvbm5lY3RhYmxlU2lkZS5UT1A7XG5cbiAgICAgIGNhc2UgRUZDb25uZWN0aW9uQ29ubmVjdGFibGVTaWRlLkNBTENVTEFURV9IT1JJWk9OVEFMOlxuICAgICAgICBpZiAoYWJzb2x1dGVYIDwgRVBTSUxPTikge1xuICAgICAgICAgIHJldHVybiBmYWxsYmFja1NpZGU7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZGVsdGFYID49IDAgPyBFRkNvbm5lY3RhYmxlU2lkZS5SSUdIVCA6IEVGQ29ubmVjdGFibGVTaWRlLkxFRlQ7XG5cbiAgICAgIGNhc2UgRUZDb25uZWN0aW9uQ29ubmVjdGFibGVTaWRlLkNBTENVTEFURV9WRVJUSUNBTDpcbiAgICAgICAgaWYgKGFic29sdXRlWSA8IEVQU0lMT04pIHtcbiAgICAgICAgICByZXR1cm4gZmFsbGJhY2tTaWRlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGRlbHRhWSA+PSAwID8gRUZDb25uZWN0YWJsZVNpZGUuQk9UVE9NIDogRUZDb25uZWN0YWJsZVNpZGUuVE9QO1xuXG4gICAgICBjYXNlIEVGQ29ubmVjdGlvbkNvbm5lY3RhYmxlU2lkZS5UT1A6XG4gICAgICAgIHJldHVybiBFRkNvbm5lY3RhYmxlU2lkZS5UT1A7XG4gICAgICBjYXNlIEVGQ29ubmVjdGlvbkNvbm5lY3RhYmxlU2lkZS5CT1RUT006XG4gICAgICAgIHJldHVybiBFRkNvbm5lY3RhYmxlU2lkZS5CT1RUT007XG4gICAgICBjYXNlIEVGQ29ubmVjdGlvbkNvbm5lY3RhYmxlU2lkZS5MRUZUOlxuICAgICAgICByZXR1cm4gRUZDb25uZWN0YWJsZVNpZGUuTEVGVDtcbiAgICAgIGNhc2UgRUZDb25uZWN0aW9uQ29ubmVjdGFibGVTaWRlLlJJR0hUOlxuICAgICAgICByZXR1cm4gRUZDb25uZWN0YWJsZVNpZGUuUklHSFQ7XG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBmYWxsYmFja1NpZGU7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGFwcHJvcHJpYXRlIGhhbmRsZXIgZm9yIHRoZSBnaXZlbiBjb25uZWN0aW9uIGJlaGF2aW9yLlxuICAgKlxuICAgKiBAdGhyb3dzIEVycm9yIGlmIG5vIGhhbmRsZXIgaXMgcmVnaXN0ZXJlZCBmb3IgdGhlIGJlaGF2aW9yLlxuICAgKi9cbiAgcHJpdmF0ZSBfZ2V0QmVoYXZpb3JIYW5kbGVyKGJlaGF2aW9yOiBFRkNvbm5lY3Rpb25CZWhhdmlvcik6IEJlaGF2aW9ySGFuZGxlciB7XG4gICAgY29uc3QgaGFuZGxlciA9IEJFSEFWSU9SX0hBTkRMRVJTW2JlaGF2aW9yXTtcbiAgICBpZiAoIWhhbmRsZXIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgW0JlaGF2aW9yXSBObyBoYW5kbGVyIGZvciBiZWhhdmlvcjogJHtiZWhhdmlvcn1gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gaGFuZGxlcjtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export var EFConnectionBehavior;
|
|
2
|
+
(function (EFConnectionBehavior) {
|
|
3
|
+
EFConnectionBehavior["FIXED"] = "fixed";
|
|
4
|
+
EFConnectionBehavior["FIXED_CENTER"] = "fixed_center";
|
|
5
|
+
EFConnectionBehavior["FLOATING"] = "floating";
|
|
6
|
+
})(EFConnectionBehavior || (EFConnectionBehavior = {}));
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZS1mLWNvbm5lY3Rpb24tYmVoYXZpb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi12Mi91dGlscy9jb25uZWN0aW9uLWJlaGF2aW91ci9lbnVtcy9lLWYtY29ubmVjdGlvbi1iZWhhdmlvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxvQkFNWDtBQU5ELFdBQVksb0JBQW9CO0lBQzlCLHVDQUFlLENBQUE7SUFFZixxREFBNkIsQ0FBQTtJQUU3Qiw2Q0FBcUIsQ0FBQTtBQUN2QixDQUFDLEVBTlcsb0JBQW9CLEtBQXBCLG9CQUFvQixRQU0vQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIEVGQ29ubmVjdGlvbkJlaGF2aW9yIHtcbiAgRklYRUQgPSAnZml4ZWQnLFxuXG4gIEZJWEVEX0NFTlRFUiA9ICdmaXhlZF9jZW50ZXInLFxuXG4gIEZMT0FUSU5HID0gJ2Zsb2F0aW5nJyxcbn1cbiJdfQ==
|
package/esm2022/f-connection-v2/utils/connection-behaviour/enums/e-f-connection-connectable-side.mjs
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export var EFConnectionConnectableSide;
|
|
2
|
+
(function (EFConnectionConnectableSide) {
|
|
3
|
+
EFConnectionConnectableSide["DEFAULT"] = "default";
|
|
4
|
+
EFConnectionConnectableSide["TOP"] = "top";
|
|
5
|
+
EFConnectionConnectableSide["BOTTOM"] = "bottom";
|
|
6
|
+
EFConnectionConnectableSide["LEFT"] = "left";
|
|
7
|
+
EFConnectionConnectableSide["RIGHT"] = "right";
|
|
8
|
+
EFConnectionConnectableSide["CALCULATE"] = "calculate";
|
|
9
|
+
EFConnectionConnectableSide["CALCULATE_HORIZONTAL"] = "calculate_horizontal";
|
|
10
|
+
EFConnectionConnectableSide["CALCULATE_VERTICAL"] = "calculate_vertical";
|
|
11
|
+
})(EFConnectionConnectableSide || (EFConnectionConnectableSide = {}));
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZS1mLWNvbm5lY3Rpb24tY29ubmVjdGFibGUtc2lkZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1jb25uZWN0aW9uLXYyL3V0aWxzL2Nvbm5lY3Rpb24tYmVoYXZpb3VyL2VudW1zL2UtZi1jb25uZWN0aW9uLWNvbm5lY3RhYmxlLXNpZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksMkJBZ0JYO0FBaEJELFdBQVksMkJBQTJCO0lBQ3JDLGtEQUFtQixDQUFBO0lBRW5CLDBDQUFXLENBQUE7SUFFWCxnREFBaUIsQ0FBQTtJQUVqQiw0Q0FBYSxDQUFBO0lBRWIsOENBQWUsQ0FBQTtJQUVmLHNEQUF1QixDQUFBO0lBRXZCLDRFQUE2QyxDQUFBO0lBRTdDLHdFQUF5QyxDQUFBO0FBQzNDLENBQUMsRUFoQlcsMkJBQTJCLEtBQTNCLDJCQUEyQixRQWdCdEMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBFRkNvbm5lY3Rpb25Db25uZWN0YWJsZVNpZGUge1xuICBERUZBVUxUID0gJ2RlZmF1bHQnLFxuXG4gIFRPUCA9ICd0b3AnLFxuXG4gIEJPVFRPTSA9ICdib3R0b20nLFxuXG4gIExFRlQgPSAnbGVmdCcsXG5cbiAgUklHSFQgPSAncmlnaHQnLFxuXG4gIENBTENVTEFURSA9ICdjYWxjdWxhdGUnLFxuXG4gIENBTENVTEFURV9IT1JJWk9OVEFMID0gJ2NhbGN1bGF0ZV9ob3Jpem9udGFsJyxcblxuICBDQUxDVUxBVEVfVkVSVElDQUwgPSAnY2FsY3VsYXRlX3ZlcnRpY2FsJyxcbn1cbiJdfQ==
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './e-f-connection-behavior';
|
|
2
|
+
export * from './e-f-connection-connectable-side';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi12Mi91dGlscy9jb25uZWN0aW9uLWJlaGF2aW91ci9lbnVtcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsbUNBQW1DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2UtZi1jb25uZWN0aW9uLWJlaGF2aW9yJztcbmV4cG9ydCAqIGZyb20gJy4vZS1mLWNvbm5lY3Rpb24tY29ubmVjdGFibGUtc2lkZSc7XG4iXX0=
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export * from './enums';
|
|
2
|
+
export * from './models';
|
|
3
|
+
export * from './utils';
|
|
4
|
+
export * from './connection-behaviour-builder';
|
|
5
|
+
export * from './connection-behaviour-builder-request';
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi12Mi91dGlscy9jb25uZWN0aW9uLWJlaGF2aW91ci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFNBQVMsQ0FBQztBQUV4QixjQUFjLFVBQVUsQ0FBQztBQUV6QixjQUFjLFNBQVMsQ0FBQztBQUV4QixjQUFjLGdDQUFnQyxDQUFDO0FBRS9DLGNBQWMsd0NBQXdDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2VudW1zJztcblxuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMnO1xuXG5leHBvcnQgKiBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0ICogZnJvbSAnLi9jb25uZWN0aW9uLWJlaGF2aW91ci1idWlsZGVyJztcblxuZXhwb3J0ICogZnJvbSAnLi9jb25uZWN0aW9uLWJlaGF2aW91ci1idWlsZGVyLXJlcXVlc3QnO1xuIl19
|
package/esm2022/f-connection-v2/utils/connection-behaviour/models/i-calculate-behavior-request.mjs
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaS1jYWxjdWxhdGUtYmVoYXZpb3ItcmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1jb25uZWN0aW9uLXYyL3V0aWxzL2Nvbm5lY3Rpb24tYmVoYXZpb3VyL21vZGVscy9pLWNhbGN1bGF0ZS1iZWhhdmlvci1yZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJUm91bmRlZFJlY3QgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IEVGQ29ubmVjdGFibGVTaWRlIH0gZnJvbSAnLi4vLi4vLi4vZW51bXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElDYWxjdWxhdGVCZWhhdmlvclJlcXVlc3Qge1xuICBzb3VyY2VSZWN0OiBJUm91bmRlZFJlY3Q7XG4gIHRhcmdldFJlY3Q6IElSb3VuZGVkUmVjdDtcbiAgc291cmNlQ29ubmVjdGFibGVTaWRlOiBFRkNvbm5lY3RhYmxlU2lkZTtcbiAgdGFyZ2V0Q29ubmVjdGFibGVTaWRlOiBFRkNvbm5lY3RhYmxlU2lkZTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './i-calculate-behavior-request';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi12Mi91dGlscy9jb25uZWN0aW9uLWJlaGF2aW91ci9tb2RlbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxnQ0FBZ0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vaS1jYWxjdWxhdGUtYmVoYXZpb3ItcmVxdWVzdCc7XG4iXX0=
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Fixed center behavior calculates the connection line
|
|
3
|
+
* It constructs a line between the gravity centers of the connector rectangles
|
|
4
|
+
* @param payload
|
|
5
|
+
*/
|
|
6
|
+
export function fixedCenterBehavior({ sourceRect, targetRect }) {
|
|
7
|
+
return {
|
|
8
|
+
point1: sourceRect.gravityCenter,
|
|
9
|
+
point2: targetRect.gravityCenter,
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4ZWQtY2VudGVyLWJlaGF2aW9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3Rpb24tdjIvdXRpbHMvY29ubmVjdGlvbi1iZWhhdmlvdXIvdXRpbHMvZml4ZWQtY2VudGVyLWJlaGF2aW9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsbUJBQW1CLENBQUMsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUE2QjtJQUN2RixPQUFPO1FBQ0wsTUFBTSxFQUFFLFVBQVUsQ0FBQyxhQUFhO1FBQ2hDLE1BQU0sRUFBRSxVQUFVLENBQUMsYUFBYTtLQUNqQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElMaW5lIH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBJQ2FsY3VsYXRlQmVoYXZpb3JSZXF1ZXN0IH0gZnJvbSAnLi4vbW9kZWxzJztcblxuLyoqXG4gKiBGaXhlZCBjZW50ZXIgYmVoYXZpb3IgY2FsY3VsYXRlcyB0aGUgY29ubmVjdGlvbiBsaW5lXG4gKiBJdCBjb25zdHJ1Y3RzIGEgbGluZSBiZXR3ZWVuIHRoZSBncmF2aXR5IGNlbnRlcnMgb2YgdGhlIGNvbm5lY3RvciByZWN0YW5nbGVzXG4gKiBAcGFyYW0gcGF5bG9hZFxuICovXG5leHBvcnQgZnVuY3Rpb24gZml4ZWRDZW50ZXJCZWhhdmlvcih7IHNvdXJjZVJlY3QsIHRhcmdldFJlY3QgfTogSUNhbGN1bGF0ZUJlaGF2aW9yUmVxdWVzdCk6IElMaW5lIHtcbiAgcmV0dXJuIHtcbiAgICBwb2ludDE6IHNvdXJjZVJlY3QuZ3Jhdml0eUNlbnRlcixcbiAgICBwb2ludDI6IHRhcmdldFJlY3QuZ3Jhdml0eUNlbnRlcixcbiAgfTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { EFConnectableSide } from '../../../enums';
|
|
2
|
+
/**
|
|
3
|
+
* Fixed outbound behavior calculates the connection line
|
|
4
|
+
* It constructs a line between the specified sides of the output and input rectangles
|
|
5
|
+
* @param payload
|
|
6
|
+
*/
|
|
7
|
+
export function fixedOutboundBehavior({ sourceRect, sourceConnectableSide, targetRect, targetConnectableSide, }) {
|
|
8
|
+
return {
|
|
9
|
+
point1: _getPosition(sourceRect, sourceConnectableSide === EFConnectableSide.AUTO
|
|
10
|
+
? EFConnectableSide.BOTTOM
|
|
11
|
+
: sourceConnectableSide),
|
|
12
|
+
point2: _getPosition(targetRect, targetConnectableSide === EFConnectableSide.AUTO
|
|
13
|
+
? EFConnectableSide.TOP
|
|
14
|
+
: targetConnectableSide),
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
function _getPosition(rect, side) {
|
|
18
|
+
switch (side) {
|
|
19
|
+
case EFConnectableSide.TOP:
|
|
20
|
+
return { x: rect.x + rect.width / 2, y: rect.y };
|
|
21
|
+
case EFConnectableSide.BOTTOM:
|
|
22
|
+
return { x: rect.x + rect.width / 2, y: rect.y + rect.height };
|
|
23
|
+
case EFConnectableSide.LEFT:
|
|
24
|
+
return { x: rect.x, y: rect.y + rect.height / 2 };
|
|
25
|
+
case EFConnectableSide.RIGHT:
|
|
26
|
+
return { x: rect.x + rect.width, y: rect.y + rect.height / 2 };
|
|
27
|
+
default:
|
|
28
|
+
throw new Error(`Unknown side: ${side}`);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4ZWQtb3V0Ym91bmQtYmVoYXZpb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi12Mi91dGlscy9jb25uZWN0aW9uLWJlaGF2aW91ci91dGlscy9maXhlZC1vdXRib3VuZC1iZWhhdmlvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVuRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLHFCQUFxQixDQUFDLEVBQ3BDLFVBQVUsRUFDVixxQkFBcUIsRUFDckIsVUFBVSxFQUNWLHFCQUFxQixHQUNLO0lBQzFCLE9BQU87UUFDTCxNQUFNLEVBQUUsWUFBWSxDQUNsQixVQUFVLEVBQ1YscUJBQXFCLEtBQUssaUJBQWlCLENBQUMsSUFBSTtZQUM5QyxDQUFDLENBQUMsaUJBQWlCLENBQUMsTUFBTTtZQUMxQixDQUFDLENBQUMscUJBQXFCLENBQzFCO1FBQ0QsTUFBTSxFQUFFLFlBQVksQ0FDbEIsVUFBVSxFQUNWLHFCQUFxQixLQUFLLGlCQUFpQixDQUFDLElBQUk7WUFDOUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLEdBQUc7WUFDdkIsQ0FBQyxDQUFDLHFCQUFxQixDQUMxQjtLQUNGLENBQUM7QUFDSixDQUFDO0FBRUQsU0FBUyxZQUFZLENBQUMsSUFBVyxFQUFFLElBQXVCO0lBQ3hELFFBQVEsSUFBSSxFQUFFLENBQUM7UUFDYixLQUFLLGlCQUFpQixDQUFDLEdBQUc7WUFDeEIsT0FBTyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDbkQsS0FBSyxpQkFBaUIsQ0FBQyxNQUFNO1lBQzNCLE9BQU8sRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDakUsS0FBSyxpQkFBaUIsQ0FBQyxJQUFJO1lBQ3pCLE9BQU8sRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ3BELEtBQUssaUJBQWlCLENBQUMsS0FBSztZQUMxQixPQUFPLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ2pFO1lBQ0UsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQkFBaUIsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM3QyxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElMaW5lLCBJUG9pbnQsIElSZWN0IH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBJQ2FsY3VsYXRlQmVoYXZpb3JSZXF1ZXN0IH0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7IEVGQ29ubmVjdGFibGVTaWRlIH0gZnJvbSAnLi4vLi4vLi4vZW51bXMnO1xuXG4vKipcbiAqIEZpeGVkIG91dGJvdW5kIGJlaGF2aW9yIGNhbGN1bGF0ZXMgdGhlIGNvbm5lY3Rpb24gbGluZVxuICogSXQgY29uc3RydWN0cyBhIGxpbmUgYmV0d2VlbiB0aGUgc3BlY2lmaWVkIHNpZGVzIG9mIHRoZSBvdXRwdXQgYW5kIGlucHV0IHJlY3RhbmdsZXNcbiAqIEBwYXJhbSBwYXlsb2FkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmaXhlZE91dGJvdW5kQmVoYXZpb3Ioe1xuICBzb3VyY2VSZWN0LFxuICBzb3VyY2VDb25uZWN0YWJsZVNpZGUsXG4gIHRhcmdldFJlY3QsXG4gIHRhcmdldENvbm5lY3RhYmxlU2lkZSxcbn06IElDYWxjdWxhdGVCZWhhdmlvclJlcXVlc3QpOiBJTGluZSB7XG4gIHJldHVybiB7XG4gICAgcG9pbnQxOiBfZ2V0UG9zaXRpb24oXG4gICAgICBzb3VyY2VSZWN0LFxuICAgICAgc291cmNlQ29ubmVjdGFibGVTaWRlID09PSBFRkNvbm5lY3RhYmxlU2lkZS5BVVRPXG4gICAgICAgID8gRUZDb25uZWN0YWJsZVNpZGUuQk9UVE9NXG4gICAgICAgIDogc291cmNlQ29ubmVjdGFibGVTaWRlLFxuICAgICksXG4gICAgcG9pbnQyOiBfZ2V0UG9zaXRpb24oXG4gICAgICB0YXJnZXRSZWN0LFxuICAgICAgdGFyZ2V0Q29ubmVjdGFibGVTaWRlID09PSBFRkNvbm5lY3RhYmxlU2lkZS5BVVRPXG4gICAgICAgID8gRUZDb25uZWN0YWJsZVNpZGUuVE9QXG4gICAgICAgIDogdGFyZ2V0Q29ubmVjdGFibGVTaWRlLFxuICAgICksXG4gIH07XG59XG5cbmZ1bmN0aW9uIF9nZXRQb3NpdGlvbihyZWN0OiBJUmVjdCwgc2lkZTogRUZDb25uZWN0YWJsZVNpZGUpOiBJUG9pbnQge1xuICBzd2l0Y2ggKHNpZGUpIHtcbiAgICBjYXNlIEVGQ29ubmVjdGFibGVTaWRlLlRPUDpcbiAgICAgIHJldHVybiB7IHg6IHJlY3QueCArIHJlY3Qud2lkdGggLyAyLCB5OiByZWN0LnkgfTtcbiAgICBjYXNlIEVGQ29ubmVjdGFibGVTaWRlLkJPVFRPTTpcbiAgICAgIHJldHVybiB7IHg6IHJlY3QueCArIHJlY3Qud2lkdGggLyAyLCB5OiByZWN0LnkgKyByZWN0LmhlaWdodCB9O1xuICAgIGNhc2UgRUZDb25uZWN0YWJsZVNpZGUuTEVGVDpcbiAgICAgIHJldHVybiB7IHg6IHJlY3QueCwgeTogcmVjdC55ICsgcmVjdC5oZWlnaHQgLyAyIH07XG4gICAgY2FzZSBFRkNvbm5lY3RhYmxlU2lkZS5SSUdIVDpcbiAgICAgIHJldHVybiB7IHg6IHJlY3QueCArIHJlY3Qud2lkdGgsIHk6IHJlY3QueSArIHJlY3QuaGVpZ2h0IC8gMiB9O1xuICAgIGRlZmF1bHQ6XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFVua25vd24gc2lkZTogJHtzaWRlfWApO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { GetIntersections } from '@foblex/2d';
|
|
2
|
+
/**
|
|
3
|
+
* Floating behavior calculates the connection line
|
|
4
|
+
* It constructs a line between the intersections of the connectors rectangles and line from the centers of the connector rectangles
|
|
5
|
+
* @param payload
|
|
6
|
+
*/
|
|
7
|
+
export function floatingBehavior({ sourceRect, targetRect }) {
|
|
8
|
+
return _getIntersectionsLine(_fromRoundedRectIntersections(sourceRect, targetRect), _toRoundedRectIntersections(sourceRect, targetRect), sourceRect, targetRect);
|
|
9
|
+
}
|
|
10
|
+
function _fromRoundedRectIntersections(sourceRect, targetRect) {
|
|
11
|
+
return GetIntersections.getRoundedRectIntersections(sourceRect.gravityCenter, targetRect.gravityCenter, sourceRect)[0];
|
|
12
|
+
}
|
|
13
|
+
function _toRoundedRectIntersections(sourceRect, targetRect) {
|
|
14
|
+
return GetIntersections.getRoundedRectIntersections(targetRect.gravityCenter, sourceRect.gravityCenter, targetRect)[0];
|
|
15
|
+
}
|
|
16
|
+
function _getIntersectionsLine(from, to, sourceRect, targetRect) {
|
|
17
|
+
return {
|
|
18
|
+
point1: from ? from : sourceRect.gravityCenter,
|
|
19
|
+
point2: to ? to : targetRect.gravityCenter,
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxvYXRpbmctYmVoYXZpb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi12Mi91dGlscy9jb25uZWN0aW9uLWJlaGF2aW91ci91dGlscy9mbG9hdGluZy1iZWhhdmlvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQStCLE1BQU0sWUFBWSxDQUFDO0FBRzNFOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUE2QjtJQUNwRixPQUFPLHFCQUFxQixDQUMxQiw2QkFBNkIsQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLEVBQ3JELDJCQUEyQixDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsRUFDbkQsVUFBVSxFQUNWLFVBQVUsQ0FDWCxDQUFDO0FBQ0osQ0FBQztBQUVELFNBQVMsNkJBQTZCLENBQUMsVUFBd0IsRUFBRSxVQUF3QjtJQUN2RixPQUFPLGdCQUFnQixDQUFDLDJCQUEyQixDQUNqRCxVQUFVLENBQUMsYUFBYSxFQUN4QixVQUFVLENBQUMsYUFBYSxFQUN4QixVQUFVLENBQ1gsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNQLENBQUM7QUFFRCxTQUFTLDJCQUEyQixDQUFDLFVBQXdCLEVBQUUsVUFBd0I7SUFDckYsT0FBTyxnQkFBZ0IsQ0FBQywyQkFBMkIsQ0FDakQsVUFBVSxDQUFDLGFBQWEsRUFDeEIsVUFBVSxDQUFDLGFBQWEsRUFDeEIsVUFBVSxDQUNYLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDO0FBRUQsU0FBUyxxQkFBcUIsQ0FDNUIsSUFBWSxFQUNaLEVBQVUsRUFDVixVQUF3QixFQUN4QixVQUF3QjtJQUV4QixPQUFPO1FBQ0wsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsYUFBYTtRQUM5QyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxhQUFhO0tBQzNDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR2V0SW50ZXJzZWN0aW9ucywgSUxpbmUsIElQb2ludCwgSVJvdW5kZWRSZWN0IH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBJQ2FsY3VsYXRlQmVoYXZpb3JSZXF1ZXN0IH0gZnJvbSAnLi4vbW9kZWxzJztcblxuLyoqXG4gKiBGbG9hdGluZyBiZWhhdmlvciBjYWxjdWxhdGVzIHRoZSBjb25uZWN0aW9uIGxpbmVcbiAqIEl0IGNvbnN0cnVjdHMgYSBsaW5lIGJldHdlZW4gdGhlIGludGVyc2VjdGlvbnMgb2YgdGhlIGNvbm5lY3RvcnMgcmVjdGFuZ2xlcyBhbmQgbGluZSBmcm9tIHRoZSBjZW50ZXJzIG9mIHRoZSBjb25uZWN0b3IgcmVjdGFuZ2xlc1xuICogQHBhcmFtIHBheWxvYWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZsb2F0aW5nQmVoYXZpb3IoeyBzb3VyY2VSZWN0LCB0YXJnZXRSZWN0IH06IElDYWxjdWxhdGVCZWhhdmlvclJlcXVlc3QpOiBJTGluZSB7XG4gIHJldHVybiBfZ2V0SW50ZXJzZWN0aW9uc0xpbmUoXG4gICAgX2Zyb21Sb3VuZGVkUmVjdEludGVyc2VjdGlvbnMoc291cmNlUmVjdCwgdGFyZ2V0UmVjdCksXG4gICAgX3RvUm91bmRlZFJlY3RJbnRlcnNlY3Rpb25zKHNvdXJjZVJlY3QsIHRhcmdldFJlY3QpLFxuICAgIHNvdXJjZVJlY3QsXG4gICAgdGFyZ2V0UmVjdCxcbiAgKTtcbn1cblxuZnVuY3Rpb24gX2Zyb21Sb3VuZGVkUmVjdEludGVyc2VjdGlvbnMoc291cmNlUmVjdDogSVJvdW5kZWRSZWN0LCB0YXJnZXRSZWN0OiBJUm91bmRlZFJlY3QpIHtcbiAgcmV0dXJuIEdldEludGVyc2VjdGlvbnMuZ2V0Um91bmRlZFJlY3RJbnRlcnNlY3Rpb25zKFxuICAgIHNvdXJjZVJlY3QuZ3Jhdml0eUNlbnRlcixcbiAgICB0YXJnZXRSZWN0LmdyYXZpdHlDZW50ZXIsXG4gICAgc291cmNlUmVjdCxcbiAgKVswXTtcbn1cblxuZnVuY3Rpb24gX3RvUm91bmRlZFJlY3RJbnRlcnNlY3Rpb25zKHNvdXJjZVJlY3Q6IElSb3VuZGVkUmVjdCwgdGFyZ2V0UmVjdDogSVJvdW5kZWRSZWN0KSB7XG4gIHJldHVybiBHZXRJbnRlcnNlY3Rpb25zLmdldFJvdW5kZWRSZWN0SW50ZXJzZWN0aW9ucyhcbiAgICB0YXJnZXRSZWN0LmdyYXZpdHlDZW50ZXIsXG4gICAgc291cmNlUmVjdC5ncmF2aXR5Q2VudGVyLFxuICAgIHRhcmdldFJlY3QsXG4gIClbMF07XG59XG5cbmZ1bmN0aW9uIF9nZXRJbnRlcnNlY3Rpb25zTGluZShcbiAgZnJvbTogSVBvaW50LFxuICB0bzogSVBvaW50LFxuICBzb3VyY2VSZWN0OiBJUm91bmRlZFJlY3QsXG4gIHRhcmdldFJlY3Q6IElSb3VuZGVkUmVjdCxcbik6IElMaW5lIHtcbiAgcmV0dXJuIHtcbiAgICBwb2ludDE6IGZyb20gPyBmcm9tIDogc291cmNlUmVjdC5ncmF2aXR5Q2VudGVyLFxuICAgIHBvaW50MjogdG8gPyB0byA6IHRhcmdldFJlY3QuZ3Jhdml0eUNlbnRlcixcbiAgfTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export * from './fixed-center-behavior';
|
|
2
|
+
export * from './fixed-outbound-behavior';
|
|
3
|
+
export * from './floating-behavior';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi12Mi91dGlscy9jb25uZWN0aW9uLWJlaGF2aW91ci91dGlscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxxQkFBcUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZml4ZWQtY2VudGVyLWJlaGF2aW9yJztcbmV4cG9ydCAqIGZyb20gJy4vZml4ZWQtb3V0Ym91bmQtYmVoYXZpb3InO1xuZXhwb3J0ICogZnJvbSAnLi9mbG9hdGluZy1iZWhhdmlvcic7XG4iXX0=
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { buildConnectionAnchors, calculateCurveCandidates, createMultiCubicPath, sampleMultiCubicUniform, } from '../utils';
|
|
2
|
+
import { EFConnectableSide } from '../../../../enums';
|
|
3
|
+
export class CalculateAdaptiveCurveData {
|
|
4
|
+
static _dir(side) {
|
|
5
|
+
switch (side) {
|
|
6
|
+
case EFConnectableSide.LEFT:
|
|
7
|
+
return { x: -1, y: 0 };
|
|
8
|
+
case EFConnectableSide.RIGHT:
|
|
9
|
+
return { x: 1, y: 0 };
|
|
10
|
+
case EFConnectableSide.TOP:
|
|
11
|
+
return { x: 0, y: -1 };
|
|
12
|
+
case EFConnectableSide.BOTTOM:
|
|
13
|
+
return { x: 0, y: 1 };
|
|
14
|
+
case EFConnectableSide.AUTO:
|
|
15
|
+
return { x: 0, y: 0 };
|
|
16
|
+
}
|
|
17
|
+
return { x: 0, y: 0 };
|
|
18
|
+
}
|
|
19
|
+
static _isHorizontal(side) {
|
|
20
|
+
return side === EFConnectableSide.LEFT || side === EFConnectableSide.RIGHT;
|
|
21
|
+
}
|
|
22
|
+
static _handleLength(p0, p3, side, offset) {
|
|
23
|
+
const dx = Math.abs(p3.x - p0.x);
|
|
24
|
+
const dy = Math.abs(p3.y - p0.y);
|
|
25
|
+
const d = Math.hypot(dx, dy);
|
|
26
|
+
const along = side === EFConnectableSide.AUTO ? Math.max(dx, dy) : this._isHorizontal(side) ? dx : dy;
|
|
27
|
+
const MIN = Math.max(8, offset);
|
|
28
|
+
const MAX = offset + 0.5 * d;
|
|
29
|
+
const len = offset * 1.05 + along * 0.3;
|
|
30
|
+
return Math.min(MAX, Math.max(MIN, len));
|
|
31
|
+
}
|
|
32
|
+
static _softControl(side, source, target, handle) {
|
|
33
|
+
const v = this._dir(side);
|
|
34
|
+
const dx = target.x - source.x;
|
|
35
|
+
const dy = target.y - source.y;
|
|
36
|
+
const dist = Math.hypot(dx, dy) || 1;
|
|
37
|
+
const tx = dx / dist;
|
|
38
|
+
const ty = dy / dist;
|
|
39
|
+
if (side === EFConnectableSide.AUTO) {
|
|
40
|
+
return { x: source.x + tx * handle, y: source.y + ty * handle };
|
|
41
|
+
}
|
|
42
|
+
const dot = v.x * tx + v.y * ty;
|
|
43
|
+
const baseBlend = 0.12;
|
|
44
|
+
const extra = Math.max(0, -dot) * 0.08;
|
|
45
|
+
const blend = Math.min(0.2, baseBlend + extra);
|
|
46
|
+
const dirX = v.x * (1 - blend) + tx * blend;
|
|
47
|
+
const dirY = v.y * (1 - blend) + ty * blend;
|
|
48
|
+
const len = Math.hypot(dirX, dirY) || 1;
|
|
49
|
+
return { x: source.x + (dirX / len) * handle, y: source.y + (dirY / len) * handle };
|
|
50
|
+
}
|
|
51
|
+
handle({ source, sourceSide, target, targetSide, offset, waypoints, }) {
|
|
52
|
+
const clampedOffset = Math.max(0, offset ?? 0);
|
|
53
|
+
const anchors = buildConnectionAnchors(source, target, waypoints);
|
|
54
|
+
const segments = [];
|
|
55
|
+
for (let i = 0; i < anchors.length - 1; i++) {
|
|
56
|
+
const a = anchors[i];
|
|
57
|
+
const b = anchors[i + 1];
|
|
58
|
+
const h0 = CalculateAdaptiveCurveData._handleLength(a, b, sourceSide, clampedOffset);
|
|
59
|
+
const h3 = CalculateAdaptiveCurveData._handleLength(b, a, targetSide, clampedOffset);
|
|
60
|
+
const c1 = CalculateAdaptiveCurveData._softControl(sourceSide, a, b, h0);
|
|
61
|
+
const c2 = CalculateAdaptiveCurveData._softControl(targetSide, b, a, h3);
|
|
62
|
+
segments.push({ p0: a, c1, c2, p3: b, chainIndex: i });
|
|
63
|
+
}
|
|
64
|
+
const points = sampleMultiCubicUniform(segments, 12);
|
|
65
|
+
return {
|
|
66
|
+
path: createMultiCubicPath(segments),
|
|
67
|
+
secondPoint: segments[0]?.c1 ?? source,
|
|
68
|
+
penultimatePoint: segments[segments.length - 1]?.c2 ?? target,
|
|
69
|
+
points,
|
|
70
|
+
candidates: calculateCurveCandidates(segments),
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsY3VsYXRlLWFkYXB0aXZlLWN1cnZlLWRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi12Mi91dGlscy9jb25uZWN0aW9uLWxpbmUtYnVpbGRlci9idWlsZGVycy9hZGFwdGl2ZS1jdXJ2ZS9jYWxjdWxhdGUtYWRhcHRpdmUtY3VydmUtZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQ0wsc0JBQXNCLEVBQ3RCLHdCQUF3QixFQUN4QixvQkFBb0IsRUFFcEIsdUJBQXVCLEdBQ3hCLE1BQU0sVUFBVSxDQUFDO0FBTWxCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXRELE1BQU0sT0FBTywwQkFBMEI7SUFDN0IsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUF1QjtRQUN6QyxRQUFRLElBQUksRUFBRSxDQUFDO1lBQ2IsS0FBSyxpQkFBaUIsQ0FBQyxJQUFJO2dCQUN6QixPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUN6QixLQUFLLGlCQUFpQixDQUFDLEtBQUs7Z0JBQzFCLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUN4QixLQUFLLGlCQUFpQixDQUFDLEdBQUc7Z0JBQ3hCLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ3pCLEtBQUssaUJBQWlCLENBQUMsTUFBTTtnQkFDM0IsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQ3hCLEtBQUssaUJBQWlCLENBQUMsSUFBSTtnQkFDekIsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FB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Q0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBRXpCLE1BQU0sRUFBRSxHQUFHLDBCQUEwQixDQUFDLGFBQWEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxhQUFhLENBQUMsQ0FBQztZQUNyRixNQUFNLEVBQUUsR0FBRywwQkFBMEIsQ0FBQyxhQUFhLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxVQUFVLEVBQUUsYUFBYSxDQUFDLENBQUM7WUFFckYsTUFBTSxFQUFFLEdBQUcsMEJBQTBCLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3pFLE1BQU0sRUFBRSxHQUFHLDBCQUEwQixDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUV6RSxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsVUFBVSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDekQsQ0FBQztRQUVELE1BQU0sTUFBTSxHQUFHLHVCQUF1QixDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVyRCxPQUFPO1lBQ0wsSUFBSSxFQUFFLG9CQUFvQixDQUFDLFFBQVEsQ0FBQztZQUNwQyxXQUFXLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsSUFBSSxNQUFNO1lBQ3RDLGdCQUFnQixFQUFFLFFBQVEsQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsSUFBSSxNQUFNO1lBQzdELE1BQU07WUFDTixVQUFVLEVBQUUsd0JBQXdCLENBQUMsUUFBUSxDQUFDO1NBQy9DLENBQUM7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJUG9pbnQgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7XG4gIGJ1aWxkQ29ubmVjdGlvbkFuY2hvcnMsXG4gIGNhbGN1bGF0ZUN1cnZlQ2FuZGlkYXRlcyxcbiAgY3JlYXRlTXVsdGlDdWJpY1BhdGgsXG4gIElDdWJpY1NlZ21lbnQsXG4gIHNhbXBsZU11bHRpQ3ViaWNVbmlmb3JtLFxufSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQge1xuICBJRkNvbm5lY3Rpb25CdWlsZGVyLFxuICBJRkNvbm5lY3Rpb25CdWlsZGVyUmVxdWVzdCxcbiAgSUZDb25uZWN0aW9uQnVpbGRlclJlc3BvbnNlLFxufSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgRUZDb25uZWN0YWJsZVNpZGUgfSBmcm9tICcuLi8uLi8uLi8uLi9lbnVtcyc7XG5cbmV4cG9ydCBjbGFzcyBDYWxjdWxhdGVBZGFwdGl2ZUN1cnZlRGF0YSBpbXBsZW1lbnRzIElGQ29ubmVjdGlvbkJ1aWxkZXIge1xuICBwcml2YXRlIHN0YXRpYyBfZGlyKHNpZGU6IEVGQ29ubmVjdGFibGVTaWRlKTogSVBvaW50IHtcbiAgICBzd2l0Y2ggKHNpZGUpIHtcbiAgICAgIGNhc2UgRUZDb25uZWN0YWJsZVNpZGUuTEVGVDpcbiAgICAgICAgcmV0dXJuIHsgeDogLTEsIHk6IDAgfTtcbiAgICAgIGNhc2UgRUZDb25uZWN0YWJsZVNpZGUuUklHSFQ6XG4gICAgICAgIHJldHVybiB7IHg6IDEsIHk6IDAgfTtcbiAgICAgIGNhc2UgRUZDb25uZWN0YWJsZVNpZGUuVE9QOlxuICAgICAgICByZXR1cm4geyB4OiAwLCB5OiAtMSB9O1xuICAgICAgY2FzZSBFRkNvbm5lY3RhYmxlU2lkZS5CT1RUT006XG4gICAgICAgIHJldHVybiB7IHg6IDAsIHk6IDEgfTtcbiAgICAgIGNhc2UgRUZDb25uZWN0YWJsZVNpZGUuQVVUTzpcbiAgICAgICAgcmV0dXJuIHsgeDogMCwgeTogMCB9O1xuICAgIH1cblxuICAgIHJldHVybiB7IHg6IDAsIHk6IDAgfTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIF9pc0hvcml6b250YWwoc2lkZTogRUZDb25uZWN0YWJsZVNpZGUpOiBib29sZWFuIHtcbiAgICByZXR1cm4gc2lkZSA9PT0gRUZDb25uZWN0YWJsZVNpZGUuTEVGVCB8fCBzaWRlID09PSBFRkNvbm5lY3RhYmxlU2lkZS5SSUdIVDtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIF9oYW5kbGVMZW5ndGgoXG4gICAgcDA6IElQb2ludCxcbiAgICBwMzogSVBvaW50LFxuICAgIHNpZGU6IEVGQ29ubmVjdGFibGVTaWRlLFxuICAgIG9mZnNldDogbnVtYmVyLFxuICApOiBudW1iZXIge1xuICAgIGNvbnN0IGR4ID0gTWF0aC5hYnMocDMueCAtIHAwLngpO1xuICAgIGNvbnN0IGR5ID0gTWF0aC5hYnMocDMueSAtIHAwLnkpO1xuICAgIGNvbnN0IGQgPSBNYXRoLmh5cG90KGR4LCBkeSk7XG5cbiAgICBjb25zdCBhbG9uZyA9XG4gICAgICBzaWRlID09PSBFRkNvbm5lY3RhYmxlU2lkZS5BVVRPID8gTWF0aC5tYXgoZHgsIGR5KSA6IHRoaXMuX2lzSG9yaXpvbnRhbChzaWRlKSA/IGR4IDogZHk7XG5cbiAgICBjb25zdCBNSU4gPSBNYXRoLm1heCg4LCBvZmZzZXQpO1xuICAgIGNvbnN0IE1BWCA9IG9mZnNldCArIDAuNSAqIGQ7XG4gICAgY29uc3QgbGVuID0gb2Zmc2V0ICogMS4wNSArIGFsb25nICogMC4zO1xuXG4gICAgcmV0dXJuIE1hdGgubWluKE1BWCwgTWF0aC5tYXgoTUlOLCBsZW4pKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIF9zb2Z0Q29udHJvbChcbiAgICBzaWRlOiBFRkNvbm5lY3RhYmxlU2lkZSxcbiAgICBzb3VyY2U6IElQb2ludCxcbiAgICB0YXJnZXQ6IElQb2ludCxcbiAgICBoYW5kbGU6IG51bWJlcixcbiAgKTogSVBvaW50IHtcbiAgICBjb25zdCB2ID0gdGhpcy5fZGlyKHNpZGUpO1xuXG4gICAgY29uc3QgZHggPSB0YXJnZXQueCAtIHNvdXJjZS54O1xuICAgIGNvbnN0IGR5ID0gdGFyZ2V0LnkgLSBzb3VyY2UueTtcbiAgICBjb25zdCBkaXN0ID0gTWF0aC5oeXBvdChkeCwgZHkpIHx8IDE7XG4gICAgY29uc3QgdHggPSBkeCAvIGRpc3Q7XG4gICAgY29uc3QgdHkgPSBkeSAvIGRpc3Q7XG5cbiAgICBpZiAoc2lkZSA9PT0gRUZDb25uZWN0YWJsZVNpZGUuQVVUTykge1xuICAgICAgcmV0dXJuIHsgeDogc291cmNlLnggKyB0eCAqIGhhbmRsZSwgeTogc291cmNlLnkgKyB0eSAqIGhhbmRsZSB9O1xuICAgIH1cblxuICAgIGNvbnN0IGRvdCA9IHYueCAqIHR4ICsgdi55ICogdHk7XG5cbiAgICBjb25zdCBiYXNlQmxlbmQgPSAwLjEyO1xuICAgIGNvbnN0IGV4dHJhID0gTWF0aC5tYXgoMCwgLWRvdCkgKiAwLjA4O1xuICAgIGNvbnN0IGJsZW5kID0gTWF0aC5taW4oMC4yLCBiYXNlQmxlbmQgKyBleHRyYSk7XG5cbiAgICBjb25zdCBkaXJYID0gdi54ICogKDEgLSBibGVuZCkgKyB0eCAqIGJsZW5kO1xuICAgIGNvbnN0IGRpclkgPSB2LnkgKiAoMSAtIGJsZW5kKSArIHR5ICogYmxlbmQ7XG4gICAgY29uc3QgbGVuID0gTWF0aC5oeXBvdChkaXJYLCBkaXJZKSB8fCAxO1xuXG4gICAgcmV0dXJuIHsgeDogc291cmNlLnggKyAoZGlyWCAvIGxlbikgKiBoYW5kbGUsIHk6IHNvdXJjZS55ICsgKGRpclkgLyBsZW4pICogaGFuZGxlIH07XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlKHtcbiAgICBzb3VyY2UsXG4gICAgc291cmNlU2lkZSxcbiAgICB0YXJnZXQsXG4gICAgdGFyZ2V0U2lkZSxcbiAgICBvZmZzZXQsXG4gICAgd2F5cG9pbnRzLFxuICB9OiBJRkNvbm5lY3Rpb25CdWlsZGVyUmVxdWVzdCk6IElGQ29ubmVjdGlvbkJ1aWxkZXJSZXNwb25zZSB7XG4gICAgY29uc3QgY2xhbXBlZE9mZnNldCA9IE1hdGgubWF4KDAsIG9mZnNldCA/PyAwKTtcblxuICAgIGNvbnN0IGFuY2hvcnMgPSBidWlsZENvbm5lY3Rpb25BbmNob3JzKHNvdXJjZSwgdGFyZ2V0LCB3YXlwb2ludHMpO1xuXG4gICAgY29uc3Qgc2VnbWVudHM6IElDdWJpY1NlZ21lbnRbXSA9IFtdO1xuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhbmNob3JzLmxlbmd0aCAtIDE7IGkrKykge1xuICAgICAgY29uc3QgYSA9IGFuY2hvcnNbaV07XG4gICAgICBjb25zdCBiID0gYW5jaG9yc1tpICsgMV07XG5cbiAgICAgIGNvbnN0IGgwID0gQ2FsY3VsYXRlQWRhcHRpdmVDdXJ2ZURhdGEuX2hhbmRsZUxlbmd0aChhLCBiLCBzb3VyY2VTaWRlLCBjbGFtcGVkT2Zmc2V0KTtcbiAgICAgIGNvbnN0IGgzID0gQ2FsY3VsYXRlQWRhcHRpdmVDdXJ2ZURhdGEuX2hhbmRsZUxlbmd0aChiLCBhLCB0YXJnZXRTaWRlLCBjbGFtcGVkT2Zmc2V0KTtcblxuICAgICAgY29uc3QgYzEgPSBDYWxjdWxhdGVBZGFwdGl2ZUN1cnZlRGF0YS5fc29mdENvbnRyb2woc291cmNlU2lkZSwgYSwgYiwgaDApO1xuICAgICAgY29uc3QgYzIgPSBDYWxjdWxhdGVBZGFwdGl2ZUN1cnZlRGF0YS5fc29mdENvbnRyb2wodGFyZ2V0U2lkZSwgYiwgYSwgaDMpO1xuXG4gICAgICBzZWdtZW50cy5wdXNoKHsgcDA6IGEsIGMxLCBjMiwgcDM6IGIsIGNoYWluSW5kZXg6IGkgfSk7XG4gICAgfVxuXG4gICAgY29uc3QgcG9pbnRzID0gc2FtcGxlTXVsdGlDdWJpY1VuaWZvcm0oc2VnbWVudHMsIDEyKTtcblxuICAgIHJldHVybiB7XG4gICAgICBwYXRoOiBjcmVhdGVNdWx0aUN1YmljUGF0aChzZWdtZW50cyksXG4gICAgICBzZWNvbmRQb2ludDogc2VnbWVudHNbMF0/LmMxID8/IHNvdXJjZSxcbiAgICAgIHBlbnVsdGltYXRlUG9pbnQ6IHNlZ21lbnRzW3NlZ21lbnRzLmxlbmd0aCAtIDFdPy5jMiA/PyB0YXJnZXQsXG4gICAgICBwb2ludHMsXG4gICAgICBjYW5kaWRhdGVzOiBjYWxjdWxhdGVDdXJ2ZUNhbmRpZGF0ZXMoc2VnbWVudHMpLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
|
package/esm2022/f-connection-v2/utils/connection-line-builder/builders/adaptive-curve/index.mjs
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './calculate-adaptive-curve-data';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi12Mi91dGlscy9jb25uZWN0aW9uLWxpbmUtYnVpbGRlci9idWlsZGVycy9hZGFwdGl2ZS1jdXJ2ZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGlDQUFpQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jYWxjdWxhdGUtYWRhcHRpdmUtY3VydmUtZGF0YSc7XG4iXX0=
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { buildConnectionAnchors, calculateCurveCandidates, createMultiCubicPath, sampleMultiCubicUniform, } from '../utils';
|
|
2
|
+
import { EFConnectableSide } from '../../../../enums';
|
|
3
|
+
export class CalculateBezierCurveData {
|
|
4
|
+
handle({ source, sourceSide, target, targetSide, offset, waypoints, }) {
|
|
5
|
+
const anchors = buildConnectionAnchors(source, target, waypoints);
|
|
6
|
+
const segments = [];
|
|
7
|
+
for (let i = 0; i < anchors.length - 1; i++) {
|
|
8
|
+
const a = anchors[i];
|
|
9
|
+
const b = anchors[i + 1];
|
|
10
|
+
const c1 = getAnglePoint(sourceSide, a, b, offset ?? 0);
|
|
11
|
+
const c2 = getAnglePoint(targetSide, b, a, offset ?? 0);
|
|
12
|
+
segments.push({ p0: a, c1, c2, p3: b, chainIndex: i });
|
|
13
|
+
}
|
|
14
|
+
const points = sampleMultiCubicUniform(segments, 12);
|
|
15
|
+
return {
|
|
16
|
+
path: createMultiCubicPath(segments),
|
|
17
|
+
secondPoint: segments[0]?.c1 ?? source,
|
|
18
|
+
penultimatePoint: segments[segments.length - 1]?.c2 ?? target,
|
|
19
|
+
points,
|
|
20
|
+
candidates: calculateCurveCandidates(segments),
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
function getAnglePoint(side, source, target, offset) {
|
|
25
|
+
const result = { x: source.x, y: source.y };
|
|
26
|
+
switch (side) {
|
|
27
|
+
case EFConnectableSide.LEFT:
|
|
28
|
+
result.x -= getConnectorOffset(source.x - target.x, offset);
|
|
29
|
+
break;
|
|
30
|
+
case EFConnectableSide.RIGHT:
|
|
31
|
+
result.x += getConnectorOffset(target.x - source.x, offset);
|
|
32
|
+
break;
|
|
33
|
+
case EFConnectableSide.TOP:
|
|
34
|
+
result.y -= getConnectorOffset(source.y - target.y, offset);
|
|
35
|
+
break;
|
|
36
|
+
case EFConnectableSide.BOTTOM:
|
|
37
|
+
result.y += getConnectorOffset(target.y - source.y, offset);
|
|
38
|
+
break;
|
|
39
|
+
case EFConnectableSide.AUTO:
|
|
40
|
+
break;
|
|
41
|
+
}
|
|
42
|
+
return result;
|
|
43
|
+
}
|
|
44
|
+
function getConnectorOffset(distance, offset) {
|
|
45
|
+
if (distance >= offset)
|
|
46
|
+
return distance;
|
|
47
|
+
return offset * Math.sqrt(offset - distance);
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsY3VsYXRlLWJlemllci1jdXJ2ZS1kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3Rpb24tdjIvdXRpbHMvY29ubmVjdGlvbi1saW5lLWJ1aWxkZXIvYnVpbGRlcnMvYmV6aWVyLWN1cnZlL2NhbGN1bGF0ZS1iZXppZXItY3VydmUtZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQ0wsc0JBQXNCLEVBQ3RCLHdCQUF3QixFQUN4QixvQkFBb0IsRUFFcEIsdUJBQXVCLEdBQ3hCLE1BQU0sVUFBVSxDQUFDO0FBTWxCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXRELE1BQU0sT0FBTyx3QkFBd0I7SUFDNUIsTUFBTSxDQUFDLEVBQ1osTUFBTSxFQUNOLFVBQVUsRUFDVixNQUFNLEVBQ04sVUFBVSxFQUNWLE1BQU0sRUFDTixTQUFTLEdBQ2tCO1FBQzNCLE1BQU0sT0FBTyxHQUFHLHNCQUFzQixDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFFbEUsTUFBTSxRQUFRLEdBQW9CLEVBQUUsQ0FBQztRQUVyQyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUM1QyxNQUFNLENBQUMsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDckIsTUFBTSxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUV6QixNQUFNLEVBQUUsR0FBRyxhQUFhLENBQUMsVUFBVSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsTUFBTSxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ3hELE1BQU0sRUFBRSxHQUFHLGFBQWEsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxNQUFNLElBQUksQ0FBQyxDQUFDLENBQUM7WUFFeEQsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3pELENBQUM7UUFFRCxNQUFNLE1BQU0sR0FBRyx1QkFBdUIsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFckQsT0FBTztZQUNMLElBQUksRUFBRSxvQkFBb0IsQ0FBQyxRQUFRLENBQUM7WUFDcEMsV0FBVyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLElBQUksTUFBTTtZQUN0QyxnQkFBZ0IsRUFBRSxRQUFRLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLElBQUksTUFBTTtZQUM3RCxNQUFNO1lBQ04sVUFBVSxFQUFFLHdCQUF3QixDQUFDLFFBQVEsQ0FBQztTQUMvQyxDQUFDO0lBQ0osQ0FBQztDQUNGO0FBRUQsU0FBUyxhQUFhLENBQ3BCLElBQXVCLEVBQ3ZCLE1BQWMsRUFDZCxNQUFjLEVBQ2QsTUFBYztJQUVkLE1BQU0sTUFBTSxHQUFXLEVBQUUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUVwRCxRQUFRLElBQUksRUFBRSxDQUFDO1FBQ2IsS0FBSyxpQkFBaUIsQ0FBQyxJQUFJO1lBQ3pCLE1BQU0sQ0FBQyxDQUFDLElBQUksa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQzVELE1BQU07UUFDUixLQUFLLGlCQUFpQixDQUFDLEtBQUs7WUFDMUIsTUFBTSxDQUFDLENBQUMsSUFBSSxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDNUQsTUFBTTtRQUNSLEtBQUssaUJBQWlCLENBQUMsR0FBRztZQUN4QixNQUFNLENBQUMsQ0FBQyxJQUFJLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUM1RCxNQUFNO1FBQ1IsS0FBSyxpQkFBaUIsQ0FBQyxNQUFNO1lBQzNCLE1BQU0sQ0FBQyxDQUFDLElBQUksa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQzVELE1BQU07UUFDUixLQUFLLGlCQUFpQixDQUFDLElBQUk7WUFDekIsTUFBTTtJQUNWLENBQUM7SUFFRCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDO0FBRUQsU0FBUyxrQkFBa0IsQ0FBQyxRQUFnQixFQUFFLE1BQWM7SUFDMUQsSUFBSSxRQUFRLElBQUksTUFBTTtRQUFFLE9BQU8sUUFBUSxDQUFDO0lBRXhDLE9BQU8sTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxDQUFDO0FBQy9DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJUG9pbnQgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7XG4gIGJ1aWxkQ29ubmVjdGlvbkFuY2hvcnMsXG4gIGNhbGN1bGF0ZUN1cnZlQ2FuZGlkYXRlcyxcbiAgY3JlYXRlTXVsdGlDdWJpY1BhdGgsXG4gIElDdWJpY1NlZ21lbnQsXG4gIHNhbXBsZU11bHRpQ3ViaWNVbmlmb3JtLFxufSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQge1xuICBJRkNvbm5lY3Rpb25CdWlsZGVyLFxuICBJRkNvbm5lY3Rpb25CdWlsZGVyUmVxdWVzdCxcbiAgSUZDb25uZWN0aW9uQnVpbGRlclJlc3BvbnNlLFxufSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgRUZDb25uZWN0YWJsZVNpZGUgfSBmcm9tICcuLi8uLi8uLi8uLi9lbnVtcyc7XG5cbmV4cG9ydCBjbGFzcyBDYWxjdWxhdGVCZXppZXJDdXJ2ZURhdGEgaW1wbGVtZW50cyBJRkNvbm5lY3Rpb25CdWlsZGVyIHtcbiAgcHVibGljIGhhbmRsZSh7XG4gICAgc291cmNlLFxuICAgIHNvdXJjZVNpZGUsXG4gICAgdGFyZ2V0LFxuICAgIHRhcmdldFNpZGUsXG4gICAgb2Zmc2V0LFxuICAgIHdheXBvaW50cyxcbiAgfTogSUZDb25uZWN0aW9uQnVpbGRlclJlcXVlc3QpOiBJRkNvbm5lY3Rpb25CdWlsZGVyUmVzcG9uc2Uge1xuICAgIGNvbnN0IGFuY2hvcnMgPSBidWlsZENvbm5lY3Rpb25BbmNob3JzKHNvdXJjZSwgdGFyZ2V0LCB3YXlwb2ludHMpO1xuXG4gICAgY29uc3Qgc2VnbWVudHM6IElDdWJpY1NlZ21lbnRbXSA9IFtdO1xuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhbmNob3JzLmxlbmd0aCAtIDE7IGkrKykge1xuICAgICAgY29uc3QgYSA9IGFuY2hvcnNbaV07XG4gICAgICBjb25zdCBiID0gYW5jaG9yc1tpICsgMV07XG5cbiAgICAgIGNvbnN0IGMxID0gZ2V0QW5nbGVQb2ludChzb3VyY2VTaWRlLCBhLCBiLCBvZmZzZXQgPz8gMCk7XG4gICAgICBjb25zdCBjMiA9IGdldEFuZ2xlUG9pbnQodGFyZ2V0U2lkZSwgYiwgYSwgb2Zmc2V0ID8/IDApO1xuXG4gICAgICBzZWdtZW50cy5wdXNoKHsgcDA6IGEsIGMxLCBjMiwgcDM6IGIsIGNoYWluSW5kZXg6IGkgfSk7XG4gICAgfVxuXG4gICAgY29uc3QgcG9pbnRzID0gc2FtcGxlTXVsdGlDdWJpY1VuaWZvcm0oc2VnbWVudHMsIDEyKTtcblxuICAgIHJldHVybiB7XG4gICAgICBwYXRoOiBjcmVhdGVNdWx0aUN1YmljUGF0aChzZWdtZW50cyksXG4gICAgICBzZWNvbmRQb2ludDogc2VnbWVudHNbMF0/LmMxID8/IHNvdXJjZSxcbiAgICAgIHBlbnVsdGltYXRlUG9pbnQ6IHNlZ21lbnRzW3NlZ21lbnRzLmxlbmd0aCAtIDFdPy5jMiA/PyB0YXJnZXQsXG4gICAgICBwb2ludHMsXG4gICAgICBjYW5kaWRhdGVzOiBjYWxjdWxhdGVDdXJ2ZUNhbmRpZGF0ZXMoc2VnbWVudHMpLFxuICAgIH07XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0QW5nbGVQb2ludChcbiAgc2lkZTogRUZDb25uZWN0YWJsZVNpZGUsXG4gIHNvdXJjZTogSVBvaW50LFxuICB0YXJnZXQ6IElQb2ludCxcbiAgb2Zmc2V0OiBudW1iZXIsXG4pOiBJUG9pbnQge1xuICBjb25zdCByZXN1bHQ6IElQb2ludCA9IHsgeDogc291cmNlLngsIHk6IHNvdXJjZS55IH07XG5cbiAgc3dpdGNoIChzaWRlKSB7XG4gICAgY2FzZSBFRkNvbm5lY3RhYmxlU2lkZS5MRUZUOlxuICAgICAgcmVzdWx0LnggLT0gZ2V0Q29ubmVjdG9yT2Zmc2V0KHNvdXJjZS54IC0gdGFyZ2V0LngsIG9mZnNldCk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIEVGQ29ubmVjdGFibGVTaWRlLlJJR0hUOlxuICAgICAgcmVzdWx0LnggKz0gZ2V0Q29ubmVjdG9yT2Zmc2V0KHRhcmdldC54IC0gc291cmNlLngsIG9mZnNldCk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIEVGQ29ubmVjdGFibGVTaWRlLlRPUDpcbiAgICAgIHJlc3VsdC55IC09IGdldENvbm5lY3Rvck9mZnNldChzb3VyY2UueSAtIHRhcmdldC55LCBvZmZzZXQpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBFRkNvbm5lY3RhYmxlU2lkZS5CT1RUT006XG4gICAgICByZXN1bHQueSArPSBnZXRDb25uZWN0b3JPZmZzZXQodGFyZ2V0LnkgLSBzb3VyY2UueSwgb2Zmc2V0KTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgRUZDb25uZWN0YWJsZVNpZGUuQVVUTzpcbiAgICAgIGJyZWFrO1xuICB9XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuZnVuY3Rpb24gZ2V0Q29ubmVjdG9yT2Zmc2V0KGRpc3RhbmNlOiBudW1iZXIsIG9mZnNldDogbnVtYmVyKTogbnVtYmVyIHtcbiAgaWYgKGRpc3RhbmNlID49IG9mZnNldCkgcmV0dXJuIGRpc3RhbmNlO1xuXG4gIHJldHVybiBvZmZzZXQgKiBNYXRoLnNxcnQob2Zmc2V0IC0gZGlzdGFuY2UpO1xufVxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './calculate-bezier-curve-data';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi12Mi91dGlscy9jb25uZWN0aW9uLWxpbmUtYnVpbGRlci9idWlsZGVycy9iZXppZXItY3VydmUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywrQkFBK0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2FsY3VsYXRlLWJlemllci1jdXJ2ZS1kYXRhJztcbiJdfQ==
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export * from './adaptive-curve';
|
|
2
|
+
export * from './bezier-curve';
|
|
3
|
+
export * from './segment-line';
|
|
4
|
+
export * from './straight-line';
|
|
5
|
+
export * from './utils';
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi12Mi91dGlscy9jb25uZWN0aW9uLWxpbmUtYnVpbGRlci9idWlsZGVycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hZGFwdGl2ZS1jdXJ2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2Jlemllci1jdXJ2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3NlZ21lbnQtbGluZSc7XG5leHBvcnQgKiBmcm9tICcuL3N0cmFpZ2h0LWxpbmUnO1xuZXhwb3J0ICogZnJvbSAnLi91dGlscyc7XG4iXX0=
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
export function buildCornerMidPointsAndApplyOffsets(params) {
|
|
2
|
+
const { axis, source, target, sourceSide, targetSide, sourceGap, targetGap, sourceDir, targetDir, currentDir, offset, sourceGapOffset, targetGapOffset, } = params;
|
|
3
|
+
const corners = buildCornerPoints(sourceGap, targetGap);
|
|
4
|
+
let midPoints = pickCornerByDirection(axis, sourceDir, currentDir, corners);
|
|
5
|
+
if (sourceSide === targetSide) {
|
|
6
|
+
applySameSideGapOffsetFix(axis, source, target, offset, sourceDir, currentDir, sourceGap, targetGap, sourceGapOffset, targetGapOffset);
|
|
7
|
+
}
|
|
8
|
+
else {
|
|
9
|
+
midPoints = maybeFlipCornerForDifferentSides(axis, sourceDir, targetDir, sourceGap, targetGap, corners, midPoints);
|
|
10
|
+
}
|
|
11
|
+
return midPoints;
|
|
12
|
+
}
|
|
13
|
+
function buildCornerPoints(sourceGap, targetGap) {
|
|
14
|
+
return {
|
|
15
|
+
sourceTarget: [{ x: sourceGap.x, y: targetGap.y }],
|
|
16
|
+
targetSource: [{ x: targetGap.x, y: sourceGap.y }],
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
function pickCornerByDirection(axis, sourceDir, currentDir, corners) {
|
|
20
|
+
if (axis === 'x') {
|
|
21
|
+
return sourceDir.x === currentDir ? corners.targetSource : corners.sourceTarget;
|
|
22
|
+
}
|
|
23
|
+
return sourceDir.y === currentDir ? corners.sourceTarget : corners.targetSource;
|
|
24
|
+
}
|
|
25
|
+
function applySameSideGapOffsetFix(axis, source, target, offset, sourceDir, currentDir, sourceGap, targetGap, sourceGapOffset, targetGapOffset) {
|
|
26
|
+
const diff = Math.abs(source[axis] - target[axis]);
|
|
27
|
+
if (diff > offset)
|
|
28
|
+
return;
|
|
29
|
+
const gapOffset = Math.min(offset - 1, offset - diff);
|
|
30
|
+
if (gapOffset <= 0)
|
|
31
|
+
return;
|
|
32
|
+
if (sourceDir[axis] === currentDir) {
|
|
33
|
+
sourceGapOffset[axis] = (sourceGap[axis] > source[axis] ? -1 : 1) * gapOffset;
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
targetGapOffset[axis] = (targetGap[axis] > target[axis] ? -1 : 1) * gapOffset;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
function maybeFlipCornerForDifferentSides(axis, sourceDir, targetDir, sourceGap, targetGap, corners, currentPicked) {
|
|
40
|
+
const opp = axis === 'x' ? 'y' : 'x';
|
|
41
|
+
const isSameDir = sourceDir[axis] === targetDir[opp];
|
|
42
|
+
const sourceGt = sourceGap[opp] > targetGap[opp];
|
|
43
|
+
const sourceLt = sourceGap[opp] < targetGap[opp];
|
|
44
|
+
const flip = (sourceDir[axis] === 1 && ((!isSameDir && sourceGt) || (isSameDir && sourceLt))) ||
|
|
45
|
+
(sourceDir[axis] !== 1 && ((!isSameDir && sourceLt) || (isSameDir && sourceGt)));
|
|
46
|
+
if (!flip)
|
|
47
|
+
return currentPicked;
|
|
48
|
+
return axis === 'x' ? corners.sourceTarget : corners.targetSource;
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGQtY29ybmVyLW1pZC1wb2ludHMtYW5kLWFwcGx5LW9mZnNldHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi12Mi91dGlscy9jb25uZWN0aW9uLWxpbmUtYnVpbGRlci9idWlsZGVycy9zZWdtZW50LWxpbmUvYnVpbGQtY29ybmVyLW1pZC1wb2ludHMtYW5kLWFwcGx5LW9mZnNldHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxVQUFVLG1DQUFtQyxDQUFDLE1BbUJuRDtJQUNDLE1BQU0sRUFDSixJQUFJLEVBQ0osTUFBTSxFQUNOLE1BQU0sRUFDTixVQUFVLEVBQ1YsVUFBVSxFQUNWLFNBQVMsRUFDVCxTQUFTLEVBQ1QsU0FBUyxFQUNULFNBQVMsRUFDVCxVQUFVLEVBQ1YsTUFBTSxFQUNOLGVBQWUsRUFDZixlQUFlLEdBQ2hCLEdBQUcsTUFBTSxDQUFDO0lBRVgsTUFBTSxPQUFPLEdBQUcsaUJBQWlCLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBRXhELElBQUksU0FBUyxHQUFHLHFCQUFxQixDQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBRTVFLElBQUksVUFBVSxLQUFLLFVBQVUsRUFBRSxDQUFDO1FBQzlCLHlCQUF5QixDQUN2QixJQUFJLEVBQ0osTUFBTSxFQUNOLE1BQU0sRUFDTixNQUFNLEVBQ04sU0FBUyxFQUNULFVBQVUsRUFDVixTQUFTLEVBQ1QsU0FBUyxFQUNULGVBQWUsRUFDZixlQUFlLENBQ2hCLENBQUM7SUFDSixDQUFDO1NBQU0sQ0FBQztRQUNOLFNBQVMsR0FBRyxnQ0FBZ0MsQ0FDMUMsSUFBSSxFQUNKLFNBQVMsRUFDVCxTQUFTLEVBQ1QsU0FBUyxFQUNULFNBQVMsRUFDVCxPQUFPLEVBQ1AsU0FBUyxDQUNWLENBQUM7SUFDSixDQUFD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QUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksUUFBUSxDQUFDLENBQUMsQ0FBQztRQUNoRixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUVuRixJQUFJLENBQUMsSUFBSTtRQUFFLE9BQU8sYUFBYSxDQUFDO0lBRWhDLE9BQU8sSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQztBQUNwRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBFRkNvbm5lY3RhYmxlU2lkZSB9IGZyb20gJy4uLy4uLy4uLy4uL2VudW1zJztcblxuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkQ29ybmVyTWlkUG9pbnRzQW5kQXBwbHlPZmZzZXRzKHBhcmFtczoge1xuICBheGlzOiAneCcgfCAneSc7XG4gIHNvdXJjZTogSVBvaW50O1xuICB0YXJnZXQ6IElQb2ludDtcblxuICBzb3VyY2VTaWRlOiBFRkNvbm5lY3RhYmxlU2lkZTtcbiAgdGFyZ2V0U2lkZTogRUZDb25uZWN0YWJsZVNpZGU7XG5cbiAgc291cmNlR2FwOiBJUG9pbnQ7XG4gIHRhcmdldEdhcDogSVBvaW50O1xuXG4gIHNvdXJjZURpcjogSVBvaW50O1xuICB0YXJnZXREaXI6IElQb2ludDtcblxuICBjdXJyZW50RGlyOiBudW1iZXI7XG4gIG9mZnNldDogbnVtYmVyO1xuXG4gIHNvdXJjZUdhcE9mZnNldDogSVBvaW50O1xuICB0YXJnZXRHYXBPZmZzZXQ6IElQb2ludDtcbn0pOiBJUG9pbnRbXSB7XG4gIGNvbnN0IHtcbiAgICBheGlzLFxuICAgIHNvdXJjZSxcbiAgICB0YXJnZXQsXG4gICAgc291cmNlU2lkZSxcbiAgICB0YXJnZXRTaWRlLFxuICAgIHNvdXJjZUdhcCxcbiAgICB0YXJnZXRHYXAsXG4gICAgc291cmNlRGlyLFxuICAgIHRhcmdldERpcixcbiAgICBjdXJyZW50RGlyLFxuICAgIG9mZnNldCxcbiAgICBzb3VyY2VHYXBPZmZzZXQsXG4gICAgdGFyZ2V0R2FwT2Zmc2V0LFxuICB9ID0gcGFyYW1zO1xuXG4gIGNvbnN0IGNvcm5lcnMgPSBidWlsZENvcm5lclBvaW50cyhzb3VyY2VHYXAsIHRhcmdldEdhcCk7XG5cbiAgbGV0IG1pZFBvaW50cyA9IHBpY2tDb3JuZXJCeURpcmVjdGlvbihheGlzLCBzb3VyY2VEaXIsIGN1cnJlbnREaXIsIGNvcm5lcnMpO1xuXG4gIGlmIChzb3VyY2VTaWRlID09PSB0YXJnZXRTaWRlKSB7XG4gICAgYXBwbHlTYW1lU2lkZUdhcE9mZnNldEZpeChcbiAgICAgIGF4aXMsXG4gICAgICBzb3VyY2UsXG4gICAgICB0YXJnZXQsXG4gICAgICBvZmZzZXQsXG4gICAgICBzb3VyY2VEaXIsXG4gICAgICBjdXJyZW50RGlyLFxuICAgICAgc291cmNlR2FwLFxuICAgICAgdGFyZ2V0R2FwLFxuICAgICAgc291cmNlR2FwT2Zmc2V0LFxuICAgICAgdGFyZ2V0R2FwT2Zmc2V0LFxuICAgICk7XG4gIH0gZWxzZSB7XG4gICAgbWlkUG9pbnRzID0gbWF5YmVGbGlwQ29ybmVyRm9yRGlmZmVyZW50U2lkZXMoXG4gICAgICBheGlzLFxuICAgICAgc291cmNlRGlyLFxuICAgICAgdGFyZ2V0RGlyLFxuICAgICAgc291cmNlR2FwLFxuICAgICAgdGFyZ2V0R2FwLFxuICAgICAgY29ybmVycyxcbiAgICAgIG1pZFBvaW50cyxcbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIG1pZFBvaW50cztcbn1cblxuZnVuY3Rpb24gYnVpbGRDb3JuZXJQb2ludHMoXG4gIHNvdXJjZUdhcDogSVBvaW50LFxuICB0YXJnZXRHYXA6IElQb2ludCxcbik6IHsgc291cmNlVGFyZ2V0OiBJUG9pbnRbXTsgdGFyZ2V0U291cmNlOiBJUG9pbnRbXSB9IHtcbiAgcmV0dXJuIHtcbiAgICBzb3VyY2VUYXJnZXQ6IFt7IHg6IHNvdXJjZUdhcC54LCB5OiB0YXJnZXRHYXAueSB9XSxcbiAgICB0YXJnZXRTb3VyY2U6IFt7IHg6IHRhcmdldEdhcC54LCB5OiBzb3VyY2VHYXAueSB9XSxcbiAgfTtcbn1cblxuZnVuY3Rpb24gcGlja0Nvcm5lckJ5RGlyZWN0aW9uKFxuICBheGlzOiAneCcgfCAneScsXG4gIHNvdXJjZURpcjogSVBvaW50LFxuICBjdXJyZW50RGlyOiBudW1iZXIsXG4gIGNvcm5lcnM6IHsgc291cmNlVGFyZ2V0OiBJUG9pbnRbXTsgdGFyZ2V0U291cmNlOiBJUG9pbnRbXSB9LFxuKTogSVBvaW50W10ge1xuICBpZiAoYXhpcyA9PT0gJ3gnKSB7XG4gICAgcmV0dXJuIHNvdXJjZURpci54ID09PSBjdXJyZW50RGlyID8gY29ybmVycy50YXJnZXRTb3VyY2UgOiBjb3JuZXJzLnNvdXJjZVRhcmdldDtcbiAgfVxuXG4gIHJldHVybiBzb3VyY2VEaXIueSA9PT0gY3VycmVudERpciA/IGNvcm5lcnMuc291cmNlVGFyZ2V0IDogY29ybmVycy50YXJnZXRTb3VyY2U7XG59XG5cbmZ1bmN0aW9uIGFwcGx5U2FtZVNpZGVHYXBPZmZzZXRGaXgoXG4gIGF4aXM6ICd4JyB8ICd5JyxcbiAgc291cmNlOiBJUG9pbnQsXG4gIHRhcmdldDogSVBvaW50LFxuICBvZmZzZXQ6IG51bWJlcixcbiAgc291cmNlRGlyOiBJUG9pbnQsXG4gIGN1cnJlbnREaXI6IG51bWJlcixcbiAgc291cmNlR2FwOiBJUG9pbnQsXG4gIHRhcmdldEdhcDogSVBvaW50LFxuICBzb3VyY2VHYXBPZmZzZXQ6IElQb2ludCxcbiAgdGFyZ2V0R2FwT2Zmc2V0OiBJUG9pbnQsXG4pOiB2b2lkIHtcbiAgY29uc3QgZGlmZiA9IE1hdGguYWJzKHNvdXJjZVtheGlzXSAtIHRhcmdldFtheGlzXSk7XG4gIGlmIChkaWZmID4gb2Zmc2V0KSByZXR1cm47XG5cbiAgY29uc3QgZ2FwT2Zmc2V0ID0gTWF0aC5taW4ob2Zmc2V0IC0gMSwgb2Zmc2V0IC0gZGlmZik7XG4gIGlmIChnYXBPZmZzZXQgPD0gMCkgcmV0dXJuO1xuXG4gIGlmIChzb3VyY2VEaXJbYXhpc10gPT09IGN1cnJlbnREaXIpIHtcbiAgICBzb3VyY2VHYXBPZmZzZXRbYXhpc10gPSAoc291cmNlR2FwW2F4aXNdID4gc291cmNlW2F4aXNdID8gLTEgOiAxKSAqIGdhcE9mZnNldDtcbiAgfSBlbHNlIHtcbiAgICB0YXJnZXRHYXBPZmZzZXRbYXhpc10gPSAodGFyZ2V0R2FwW2F4aXNdID4gdGFyZ2V0W2F4aXNdID8gLTEgOiAxKSAqIGdhcE9mZnNldDtcbiAgfVxufVxuXG5mdW5jdGlvbiBtYXliZUZsaXBDb3JuZXJGb3JEaWZmZXJlbnRTaWRlcyhcbiAgYXhpczogJ3gnIHwgJ3knLFxuICBzb3VyY2VEaXI6IElQb2ludCxcbiAgdGFyZ2V0RGlyOiBJUG9pbnQsXG4gIHNvdXJjZUdhcDogSVBvaW50LFxuICB0YXJnZXRHYXA6IElQb2ludCxcbiAgY29ybmVyczogeyBzb3VyY2VUYXJnZXQ6IElQb2ludFtdOyB0YXJnZXRTb3VyY2U6IElQb2ludFtdIH0sXG4gIGN1cnJlbnRQaWNrZWQ6IElQb2ludFtdLFxuKTogSVBvaW50W10ge1xuICBjb25zdCBvcHAgPSBheGlzID09PSAneCcgPyAneScgOiAneCc7XG5cbiAgY29uc3QgaXNTYW1lRGlyID0gc291cmNlRGlyW2F4aXNdID09PSB0YXJnZXREaXJbb3BwXTtcbiAgY29uc3Qgc291cmNlR3QgPSBzb3VyY2VHYXBbb3BwXSA+IHRhcmdldEdhcFtvcHBdO1xuICBjb25zdCBzb3VyY2VMdCA9IHNvdXJjZUdhcFtvcHBdIDwgdGFyZ2V0R2FwW29wcF07XG5cbiAgY29uc3QgZmxpcCA9XG4gICAgKHNvdXJjZURpcltheGlzXSA9PT0gMSAmJiAoKCFpc1NhbWVEaXIgJiYgc291cmNlR3QpIHx8IChpc1NhbWVEaXIgJiYgc291cmNlTHQpKSkgfHxcbiAgICAoc291cmNlRGlyW2F4aXNdICE9PSAxICYmICgoIWlzU2FtZURpciAmJiBzb3VyY2VMdCkgfHwgKGlzU2FtZURpciAmJiBzb3VyY2VHdCkpKTtcblxuICBpZiAoIWZsaXApIHJldHVybiBjdXJyZW50UGlja2VkO1xuXG4gIHJldHVybiBheGlzID09PSAneCcgPyBjb3JuZXJzLnNvdXJjZVRhcmdldCA6IGNvcm5lcnMudGFyZ2V0U291cmNlO1xufVxuIl19
|