@foblex/flow 17.9.81 → 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-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-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/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 +3 -13
- 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 +2 -9
- package/f-connection/f-connection/f-connection.component.d.ts +2 -7
- package/f-connection/f-connection-for-create/f-connection-for-create.component.d.ts +2 -6
- package/f-connection/f-snap-connection/f-snap-connection.component.d.ts +2 -6
- package/f-connection/index.d.ts +1 -6
- package/f-connection/providers.d.ts +3 -4
- package/{f-connection/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 +0 -4
- package/fesm2022/foblex-flow.mjs +4296 -3863
- package/fesm2022/foblex-flow.mjs.map +1 -1
- package/package.json +1 -1
- 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/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-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
|
@@ -1,161 +0,0 @@
|
|
|
1
|
-
import { PointExtensions } from '@foblex/2d';
|
|
2
|
-
import { EFConnectableSide } from '../../../f-connectors';
|
|
3
|
-
import { CalculateCenterBetweenPointsHandler, CalculateCenterBetweenPointsRequest, } from './calculate-center-between-points';
|
|
4
|
-
import { CalculateConnectionCenterHandler, CalculateConnectionCenterRequest, } from './calculate-connection-center';
|
|
5
|
-
const CONNECTOR_SIDE_POINT = {
|
|
6
|
-
[EFConnectableSide.LEFT]: PointExtensions.initialize(-1, 0),
|
|
7
|
-
[EFConnectableSide.RIGHT]: PointExtensions.initialize(1, 0),
|
|
8
|
-
[EFConnectableSide.TOP]: PointExtensions.initialize(0, -1),
|
|
9
|
-
[EFConnectableSide.BOTTOM]: PointExtensions.initialize(0, 1),
|
|
10
|
-
[EFConnectableSide.AUTO]: PointExtensions.initialize(0, 0),
|
|
11
|
-
};
|
|
12
|
-
export class FSegmentPathBuilder {
|
|
13
|
-
handle(request) {
|
|
14
|
-
const { source, sourceSide, target, targetSide } = request;
|
|
15
|
-
const { points, center } = this._getPathPoints(source, sourceSide, target, targetSide, request.offset);
|
|
16
|
-
const path = this._buildPath(points, request.radius);
|
|
17
|
-
const penultimatePoint = points.length > 1 ? points[points.length - 2] : source;
|
|
18
|
-
const secondPoint = points.length > 1 ? points[1] : target;
|
|
19
|
-
return {
|
|
20
|
-
path,
|
|
21
|
-
connectionCenter: center,
|
|
22
|
-
penultimatePoint,
|
|
23
|
-
secondPoint,
|
|
24
|
-
points,
|
|
25
|
-
};
|
|
26
|
-
}
|
|
27
|
-
_getPathPoints(source, sourceSide, target, targetSide, offset) {
|
|
28
|
-
const sourceDirection = CONNECTOR_SIDE_POINT[sourceSide];
|
|
29
|
-
const targetDirection = CONNECTOR_SIDE_POINT[targetSide];
|
|
30
|
-
const sourceGap = {
|
|
31
|
-
x: source.x + sourceDirection.x * offset,
|
|
32
|
-
y: source.y + sourceDirection.y * offset,
|
|
33
|
-
};
|
|
34
|
-
const targetGap = {
|
|
35
|
-
x: target.x + targetDirection.x * offset,
|
|
36
|
-
y: target.y + targetDirection.y * offset,
|
|
37
|
-
};
|
|
38
|
-
const direction = this._getDirection(sourceGap, sourceSide, targetGap);
|
|
39
|
-
const directionAccessor = direction.x !== 0 ? 'x' : 'y';
|
|
40
|
-
const currentDirection = direction[directionAccessor];
|
|
41
|
-
let points = [];
|
|
42
|
-
const sourceGapOffset = PointExtensions.initialize();
|
|
43
|
-
const targetGapOffset = PointExtensions.initialize();
|
|
44
|
-
const centerBetweenPoints = new CalculateCenterBetweenPointsHandler().handle(new CalculateCenterBetweenPointsRequest(source, target));
|
|
45
|
-
if (sourceDirection[directionAccessor] * targetDirection[directionAccessor] === -1) {
|
|
46
|
-
const verticalSplit = [
|
|
47
|
-
{ x: centerBetweenPoints.x, y: sourceGap.y },
|
|
48
|
-
{ x: centerBetweenPoints.x, y: targetGap.y },
|
|
49
|
-
];
|
|
50
|
-
const horizontalSplit = [
|
|
51
|
-
{ x: sourceGap.x, y: centerBetweenPoints.y },
|
|
52
|
-
{ x: targetGap.x, y: centerBetweenPoints.y },
|
|
53
|
-
];
|
|
54
|
-
if (sourceDirection[directionAccessor] === currentDirection) {
|
|
55
|
-
points = directionAccessor === 'x' ? verticalSplit : horizontalSplit;
|
|
56
|
-
}
|
|
57
|
-
else {
|
|
58
|
-
points = directionAccessor === 'x' ? horizontalSplit : verticalSplit;
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
else {
|
|
62
|
-
const sourceTarget = [{ x: sourceGap.x, y: targetGap.y }];
|
|
63
|
-
const targetSource = [{ x: targetGap.x, y: sourceGap.y }];
|
|
64
|
-
if (directionAccessor === 'x') {
|
|
65
|
-
points = sourceDirection.x === currentDirection ? targetSource : sourceTarget;
|
|
66
|
-
}
|
|
67
|
-
else {
|
|
68
|
-
points = sourceDirection.y === currentDirection ? sourceTarget : targetSource;
|
|
69
|
-
}
|
|
70
|
-
if (sourceSide === targetSide) {
|
|
71
|
-
const diff = Math.abs(source[directionAccessor] - target[directionAccessor]);
|
|
72
|
-
if (diff <= offset) {
|
|
73
|
-
const gapOffset = Math.min(offset - 1, offset - diff);
|
|
74
|
-
if (sourceDirection[directionAccessor] === currentDirection) {
|
|
75
|
-
sourceGapOffset[directionAccessor] =
|
|
76
|
-
(sourceGap[directionAccessor] > source[directionAccessor] ? -1 : 1) * gapOffset;
|
|
77
|
-
}
|
|
78
|
-
else {
|
|
79
|
-
targetGapOffset[directionAccessor] =
|
|
80
|
-
(targetGap[directionAccessor] > target[directionAccessor] ? -1 : 1) * gapOffset;
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
if (sourceSide !== targetSide) {
|
|
85
|
-
const dirAccessorOpposite = directionAccessor === 'x' ? 'y' : 'x';
|
|
86
|
-
const isSameDir = sourceDirection[directionAccessor] === targetDirection[dirAccessorOpposite];
|
|
87
|
-
const sourceGtTargetOppo = sourceGap[dirAccessorOpposite] > targetGap[dirAccessorOpposite];
|
|
88
|
-
const sourceLtTargetOppo = sourceGap[dirAccessorOpposite] < targetGap[dirAccessorOpposite];
|
|
89
|
-
const flipSourceTarget = (sourceDirection[directionAccessor] === 1 &&
|
|
90
|
-
((!isSameDir && sourceGtTargetOppo) || (isSameDir && sourceLtTargetOppo))) ||
|
|
91
|
-
(sourceDirection[directionAccessor] !== 1 &&
|
|
92
|
-
((!isSameDir && sourceLtTargetOppo) || (isSameDir && sourceGtTargetOppo)));
|
|
93
|
-
if (flipSourceTarget) {
|
|
94
|
-
points = directionAccessor === 'x' ? sourceTarget : targetSource;
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
const pathPoints = [
|
|
99
|
-
source,
|
|
100
|
-
{ x: sourceGap.x + sourceGapOffset.x, y: sourceGap.y + sourceGapOffset.y },
|
|
101
|
-
...points,
|
|
102
|
-
{ x: targetGap.x + targetGapOffset.x, y: targetGap.y + targetGapOffset.y },
|
|
103
|
-
target,
|
|
104
|
-
];
|
|
105
|
-
const center = new CalculateConnectionCenterHandler().handle(new CalculateConnectionCenterRequest(pathPoints));
|
|
106
|
-
return { points: pathPoints, center };
|
|
107
|
-
}
|
|
108
|
-
_getDirection(source, sourceSide, target) {
|
|
109
|
-
if (sourceSide === EFConnectableSide.LEFT || sourceSide === EFConnectableSide.RIGHT) {
|
|
110
|
-
return source.x < target.x
|
|
111
|
-
? PointExtensions.initialize(1, 0)
|
|
112
|
-
: PointExtensions.initialize(-1, 0);
|
|
113
|
-
}
|
|
114
|
-
return source.y < target.y
|
|
115
|
-
? PointExtensions.initialize(0, 1)
|
|
116
|
-
: PointExtensions.initialize(0, -1);
|
|
117
|
-
}
|
|
118
|
-
_distance(a, b) {
|
|
119
|
-
return Math.sqrt(Math.pow(b.x - a.x, 2) + Math.pow(b.y - a.y, 2));
|
|
120
|
-
}
|
|
121
|
-
_buildPath(points, borderRadius) {
|
|
122
|
-
let path = '';
|
|
123
|
-
for (let i = 0; i < points.length; i++) {
|
|
124
|
-
const p = points[i];
|
|
125
|
-
let segment = '';
|
|
126
|
-
if (i > 0 && i < points.length - 1) {
|
|
127
|
-
segment = this._getBend(points[i - 1], p, points[i + 1], borderRadius);
|
|
128
|
-
}
|
|
129
|
-
else if (i === points.length - 1) {
|
|
130
|
-
segment = this._buildLastLineSegment(i, p);
|
|
131
|
-
}
|
|
132
|
-
else {
|
|
133
|
-
segment = this._buildMoveOrLineSegment(i, p);
|
|
134
|
-
}
|
|
135
|
-
path += segment;
|
|
136
|
-
}
|
|
137
|
-
return path;
|
|
138
|
-
}
|
|
139
|
-
_getBend(a, b, c, size) {
|
|
140
|
-
const bendSize = Math.min(this._distance(a, b) / 2, this._distance(b, c) / 2, size);
|
|
141
|
-
const { x, y } = b;
|
|
142
|
-
if ((a.x === x && x === c.x) || (a.y === y && y === c.y)) {
|
|
143
|
-
return `L${x} ${y}`;
|
|
144
|
-
}
|
|
145
|
-
if (a.y === y) {
|
|
146
|
-
const xDir = a.x < c.x ? -1 : 1;
|
|
147
|
-
const yDir = a.y < c.y ? 1 : -1;
|
|
148
|
-
return `L ${x + bendSize * xDir},${y}Q ${x},${y} ${x},${y + bendSize * yDir}`;
|
|
149
|
-
}
|
|
150
|
-
const xDir = a.x < c.x ? 1 : -1;
|
|
151
|
-
const yDir = a.y < c.y ? -1 : 1;
|
|
152
|
-
return `L ${x},${y + bendSize * yDir}Q ${x},${y} ${x + bendSize * xDir},${y}`;
|
|
153
|
-
}
|
|
154
|
-
_buildMoveOrLineSegment(index, point) {
|
|
155
|
-
return `${index === 0 ? 'M' : 'L'}${point.x} ${point.y}`;
|
|
156
|
-
}
|
|
157
|
-
_buildLastLineSegment(index, point) {
|
|
158
|
-
return `L${point.x + 0.0002} ${point.y + 0.0002}`;
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1zZWdtZW50LnBhdGgtYnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1jb25uZWN0aW9uL2NvbW1vbi9kb21haW4vZi1zZWdtZW50LnBhdGgtYnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVUsZUFBZSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFDTCxtQ0FBbUMsRUFDbkMsbUNBQW1DLEdBQ3BDLE1BQU0sbUNBQW1DLENBQUM7QUFDM0MsT0FBTyxFQUNMLGdDQUFnQyxFQUNoQyxnQ0FBZ0MsR0FDakMsTUFBTSwrQkFBK0IsQ0FBQztBQVF2QyxNQUFNLG9CQUFvQixHQUFpQjtJQUN6QyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxFQUFFLGVBQWUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBRTNELENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLEVBQUUsZUFBZSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBRTNELENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLEVBQUUsZUFBZSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFFMUQsQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsRUFBRSxlQUFlLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7SUFFNUQsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxlQUFlLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7Q0FDM0QsQ0FBQztBQUVGLE1BQU0sT0FBTyxtQkFBbUI7SUFDdkIsTUFBTSxDQUFDLE9BQW1DO1FBQy9DLE1BQU0sRUFBRSxNQUFNLEVBQUUs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QUFhLEVBQUUsS0FBYTtRQUMxRCxPQUFPLEdBQUcsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDM0QsQ0FBQztJQUVPLHFCQUFxQixDQUFDLEtBQWEsRUFBRSxLQUFhO1FBQ3hELE9BQU8sSUFBSSxLQUFLLENBQUMsQ0FBQyxHQUFHLE1BQU0sSUFBSSxLQUFLLENBQUMsQ0FBQyxHQUFHLE1BQU0sRUFBRSxDQUFDO0lBQ3BELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElQb2ludCwgUG9pbnRFeHRlbnNpb25zIH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBFRkNvbm5lY3RhYmxlU2lkZSB9IGZyb20gJy4uLy4uLy4uL2YtY29ubmVjdG9ycyc7XG5pbXBvcnQge1xuICBDYWxjdWxhdGVDZW50ZXJCZXR3ZWVuUG9pbnRzSGFuZGxlcixcbiAgQ2FsY3VsYXRlQ2VudGVyQmV0d2VlblBvaW50c1JlcXVlc3QsXG59IGZyb20gJy4vY2FsY3VsYXRlLWNlbnRlci1iZXR3ZWVuLXBvaW50cyc7XG5pbXBvcnQge1xuICBDYWxjdWxhdGVDb25uZWN0aW9uQ2VudGVySGFuZGxlcixcbiAgQ2FsY3VsYXRlQ29ubmVjdGlvbkNlbnRlclJlcXVlc3QsXG59IGZyb20gJy4vY2FsY3VsYXRlLWNvbm5lY3Rpb24tY2VudGVyJztcbmltcG9ydCB7XG4gIElGQ29ubmVjdGlvbkJ1aWxkZXIsXG4gIElGQ29ubmVjdGlvbkJ1aWxkZXJSZXF1ZXN0LFxuICBJRkNvbm5lY3Rpb25CdWlsZGVyUmVzcG9uc2UsXG59IGZyb20gJy4uLy4uL2YtY29ubmVjdGlvbi1idWlsZGVyJztcbmltcG9ydCB7IElNYXAgfSBmcm9tICcuLi8uLi8uLi9kb21haW4nO1xuXG5jb25zdCBDT05ORUNUT1JfU0lERV9QT0lOVDogSU1hcDxJUG9pbnQ+ID0ge1xuICBbRUZDb25uZWN0YWJsZVNpZGUuTEVGVF06IFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKC0xLCAwKSxcblxuICBbRUZDb25uZWN0YWJsZVNpZGUuUklHSFRdOiBQb2ludEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgxLCAwKSxcblxuICBbRUZDb25uZWN0YWJsZVNpZGUuVE9QXTogUG9pbnRFeHRlbnNpb25zLmluaXRpYWxpemUoMCwgLTEpLFxuXG4gIFtFRkNvbm5lY3RhYmxlU2lkZS5CT1RUT01dOiBQb2ludEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgwLCAxKSxcblxuICBbRUZDb25uZWN0YWJsZVNpZGUuQVVUT106IFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKDAsIDApLFxufTtcblxuZXhwb3J0IGNsYXNzIEZTZWdtZW50UGF0aEJ1aWxkZXIgaW1wbGVtZW50cyBJRkNvbm5lY3Rpb25CdWlsZGVyIHtcbiAgcHVibGljIGhhbmRsZShyZXF1ZXN0OiBJRkNvbm5lY3Rpb25CdWlsZGVyUmVxdWVzdCk6IElGQ29ubmVjdGlvbkJ1aWxkZXJSZXNwb25zZSB7XG4gICAgY29uc3QgeyBzb3VyY2UsIHNvdXJjZVNpZGUsIHRhcmdldCwgdGFyZ2V0U2lkZSB9ID0gcmVxdWVzdDtcblxuICAgIGNvbnN0IHsgcG9pbnRzLCBjZW50ZXIgfSA9IHRoaXMuX2dldFBhdGhQb2ludHMoXG4gICAgICBzb3VyY2UsXG4gICAgICBzb3VyY2VTaWRlLFxuICAgICAgdGFyZ2V0LFxuICAgICAgdGFyZ2V0U2lkZSxcbiAgICAgIHJlcXVlc3Qub2Zmc2V0LFxuICAgICk7XG5cbiAgICBjb25zdCBwYXRoID0gdGhpcy5fYnVpbGRQYXRoKHBvaW50cywgcmVxdWVzdC5yYWRpdXMpO1xuXG4gICAgY29uc3QgcGVudWx0aW1hdGVQb2ludCA9IHBvaW50cy5sZW5ndGggPiAxID8gcG9pbnRzW3BvaW50cy5sZW5ndGggLSAyXSA6IHNvdXJjZTtcbiAgICBjb25zdCBzZWNvbmRQb2ludCA9IHBvaW50cy5sZW5ndGggPiAxID8gcG9pbnRzWzFdIDogdGFyZ2V0O1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIHBhdGgsXG4gICAgICBjb25uZWN0aW9uQ2VudGVyOiBjZW50ZXIsXG4gICAgICBwZW51bHRpbWF0ZVBvaW50LFxuICAgICAgc2Vjb25kUG9pbnQsXG4gICAgICBwb2ludHMsXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldFBhdGhQb2ludHMoXG4gICAgc291cmNlOiBJUG9pbnQsXG4gICAgc291cmNlU2lkZTogRUZDb25uZWN0YWJsZVNpZGUsXG4gICAgdGFyZ2V0OiBJUG9pbnQsXG4gICAgdGFyZ2V0U2lkZTogRUZDb25uZWN0YWJsZVNpZGUsXG4gICAgb2Zmc2V0OiBudW1iZXIsXG4gICk6IHsgcG9pbnRzOiBJUG9pbnRbXTsgY2VudGVyOiBJUG9pbnQgfSB7XG4gICAgY29uc3Qgc291cmNlRGlyZWN0aW9uID0gQ09OTkVDVE9SX1NJREVfUE9JTlRbc291cmNlU2lkZV07XG4gICAgY29uc3QgdGFyZ2V0RGlyZWN0aW9uID0gQ09OTkVDVE9SX1NJREVfUE9JTlRbdGFyZ2V0U2lkZV07XG5cbiAgICBjb25zdCBzb3VyY2VHYXA6IElQb2ludCA9IHtcbiAgICAgIHg6IHNvdXJjZS54ICsgc291cmNlRGlyZWN0aW9uLnggKiBvZmZzZXQsXG4gICAgICB5OiBzb3VyY2UueSArIHNvdXJjZURpcmVjdGlvbi55ICogb2Zmc2V0LFxuICAgIH07XG4gICAgY29uc3QgdGFyZ2V0R2FwOiBJUG9pbnQgPSB7XG4gICAgICB4OiB0YXJnZXQueCArIHRhcmdldERpcmVjdGlvbi54ICogb2Zmc2V0LFxuICAgICAgeTogdGFyZ2V0LnkgKyB0YXJnZXREaXJlY3Rpb24ueSAqIG9mZnNldCxcbiAgICB9O1xuXG4gICAgY29uc3QgZGlyZWN0aW9uID0gdGhpcy5fZ2V0RGlyZWN0aW9uKHNvdXJjZUdhcCwgc291cmNlU2lkZSwgdGFyZ2V0R2FwKTtcbiAgICBjb25zdCBkaXJlY3Rpb25BY2Nlc3NvciA9IGRpcmVjdGlvbi54ICE9PSAwID8gJ3gnIDogJ3knO1xuICAgIGNvbnN0IGN1cnJlbnREaXJlY3Rpb24gPSBkaXJlY3Rpb25bZGlyZWN0aW9uQWNjZXNzb3JdO1xuXG4gICAgbGV0IHBvaW50czogSVBvaW50W10gPSBbXTtcbiAgICBjb25zdCBzb3VyY2VHYXBPZmZzZXQgPSBQb2ludEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgpO1xuICAgIGNvbnN0IHRhcmdldEdhcE9mZnNldCA9IFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKCk7XG5cbiAgICBjb25zdCBjZW50ZXJCZXR3ZWVuUG9pbnRzID0gbmV3IENhbGN1bGF0ZUNlbnRlckJldHdlZW5Qb2ludHNIYW5kbGVyKCkuaGFuZGxlKFxuICAgICAgbmV3IENhbGN1bGF0ZUNlbnRlckJldHdlZW5Qb2ludHNSZXF1ZXN0KHNvdXJjZSwgdGFyZ2V0KSxcbiAgICApO1xuXG4gICAgaWYgKHNvdXJjZURpcmVjdGlvbltkaXJlY3Rpb25BY2Nlc3Nvcl0gKiB0YXJnZXREaXJlY3Rpb25bZGlyZWN0aW9uQWNjZXNzb3JdID09PSAtMSkge1xuICAgICAgY29uc3QgdmVydGljYWxTcGxpdDogSVBvaW50W10gPSBbXG4gICAgICAgIHsgeDogY2VudGVyQmV0d2VlblBvaW50cy54LCB5OiBzb3VyY2VHYXAueSB9LFxuICAgICAgICB7IHg6IGNlbnRlckJldHdlZW5Qb2ludHMueCwgeTogdGFyZ2V0R2FwLnkgfSxcbiAgICAgIF07XG4gICAgICBjb25zdCBob3Jpem9udGFsU3BsaXQ6IElQb2ludFtdID0gW1xuICAgICAgICB7IHg6IHNvdXJjZUdhcC54LCB5OiBjZW50ZXJCZXR3ZWVuUG9pbnRzLnkgfSxcbiAgICAgICAgeyB4OiB0YXJnZXRHYXAueCwgeTogY2VudGVyQmV0d2VlblBvaW50cy55IH0sXG4gICAgICBdO1xuXG4gICAgICBpZiAoc291cmNlRGlyZWN0aW9uW2RpcmVjdGlvbkFjY2Vzc29yXSA9PT0gY3VycmVudERpcmVjdGlvbikge1xuICAgICAgICBwb2ludHMgPSBkaXJlY3Rpb25BY2Nlc3NvciA9PT0gJ3gnID8gdmVydGljYWxTcGxpdCA6IGhvcml6b250YWxTcGxpdDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHBvaW50cyA9IGRpcmVjdGlvbkFjY2Vzc29yID09PSAneCcgPyBob3Jpem9udGFsU3BsaXQgOiB2ZXJ0aWNhbFNwbGl0O1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBzb3VyY2VUYXJnZXQ6IElQb2ludFtdID0gW3sgeDogc291cmNlR2FwLngsIHk6IHRhcmdldEdhcC55IH1dO1xuICAgICAgY29uc3QgdGFyZ2V0U291cmNlOiBJUG9pbnRbXSA9IFt7IHg6IHRhcmdldEdhcC54LCB5OiBzb3VyY2VHYXAueSB9XTtcblxuICAgICAgaWYgKGRpcmVjdGlvbkFjY2Vzc29yID09PSAneCcpIHtcbiAgICAgICAgcG9pbnRzID0gc291cmNlRGlyZWN0aW9uLnggPT09IGN1cnJlbnREaXJlY3Rpb24gPyB0YXJnZXRTb3VyY2UgOiBzb3VyY2VUYXJnZXQ7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBwb2ludHMgPSBzb3VyY2VEaXJlY3Rpb24ueSA9PT0gY3VycmVudERpcmVjdGlvbiA/IHNvdXJjZVRhcmdldCA6IHRhcmdldFNvdXJjZTtcbiAgICAgIH1cblxuICAgICAgaWYgKHNvdXJjZVNpZGUgPT09IHRhcmdldFNpZGUpIHtcbiAgICAgICAgY29uc3QgZGlmZiA9IE1hdGguYWJzKHNvdXJjZVtkaXJlY3Rpb25BY2Nlc3Nvcl0gLSB0YXJnZXRbZGlyZWN0aW9uQWNjZXNzb3JdKTtcblxuICAgICAgICBpZiAoZGlmZiA8PSBvZmZzZXQpIHtcbiAgICAgICAgICBjb25zdCBnYXBPZmZzZXQgPSBNYXRoLm1pbihvZmZzZXQgLSAxLCBvZmZzZXQgLSBkaWZmKTtcbiAgICAgICAgICBpZiAoc291cmNlRGlyZWN0aW9uW2RpcmVjdGlvbkFjY2Vzc29yXSA9PT0gY3VycmVudERpcmVjdGlvbikge1xuICAgICAgICAgICAgc291cmNlR2FwT2Zmc2V0W2RpcmVjdGlvbkFjY2Vzc29yXSA9XG4gICAgICAgICAgICAgIChzb3VyY2VHYXBbZGlyZWN0aW9uQWNjZXNzb3JdID4gc291cmNlW2RpcmVjdGlvbkFjY2Vzc29yXSA/IC0xIDogMSkgKiBnYXBPZmZzZXQ7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRhcmdldEdhcE9mZnNldFtkaXJlY3Rpb25BY2Nlc3Nvcl0gPVxuICAgICAgICAgICAgICAodGFyZ2V0R2FwW2RpcmVjdGlvbkFjY2Vzc29yXSA+IHRhcmdldFtkaXJlY3Rpb25BY2Nlc3Nvcl0gPyAtMSA6IDEpICogZ2FwT2Zmc2V0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoc291cmNlU2lkZSAhPT0gdGFyZ2V0U2lkZSkge1xuICAgICAgICBjb25zdCBkaXJBY2Nlc3Nvck9wcG9zaXRlID0gZGlyZWN0aW9uQWNjZXNzb3IgPT09ICd4JyA/ICd5JyA6ICd4JztcbiAgICAgICAgY29uc3QgaXNTYW1lRGlyID1cbiAgICAgICAgICBzb3VyY2VEaXJlY3Rpb25bZGlyZWN0aW9uQWNjZXNzb3JdID09PSB0YXJnZXREaXJlY3Rpb25bZGlyQWNjZXNzb3JPcHBvc2l0ZV07XG4gICAgICAgIGNvbnN0IHNvdXJjZUd0VGFyZ2V0T3BwbyA9IHNvdXJjZUdhcFtkaXJBY2Nlc3Nvck9wcG9zaXRlXSA+IHRhcmdldEdhcFtkaXJBY2Nlc3Nvck9wcG9zaXRlXTtcbiAgICAgICAgY29uc3Qgc291cmNlTHRUYXJnZXRPcHBvID0gc291cmNlR2FwW2RpckFjY2Vzc29yT3Bwb3NpdGVdIDwgdGFyZ2V0R2FwW2RpckFjY2Vzc29yT3Bwb3NpdGVdO1xuICAgICAgICBjb25zdCBmbGlwU291cmNlVGFyZ2V0ID1cbiAgICAgICAgICAoc291cmNlRGlyZWN0aW9uW2RpcmVjdGlvbkFjY2Vzc29yXSA9PT0gMSAmJlxuICAgICAgICAgICAgKCghaXNTYW1lRGlyICYmIHNvdXJjZUd0VGFyZ2V0T3BwbykgfHwgKGlzU2FtZURpciAmJiBzb3VyY2VMdFRhcmdldE9wcG8pKSkgfHxcbiAgICAgICAgICAoc291cmNlRGlyZWN0aW9uW2RpcmVjdGlvbkFjY2Vzc29yXSAhPT0gMSAmJlxuICAgICAgICAgICAgKCghaXNTYW1lRGlyICYmIHNvdXJjZUx0VGFyZ2V0T3BwbykgfHwgKGlzU2FtZURpciAmJiBzb3VyY2VHdFRhcmdldE9wcG8pKSk7XG5cbiAgICAgICAgaWYgKGZsaXBTb3VyY2VUYXJnZXQpIHtcbiAgICAgICAgICBwb2ludHMgPSBkaXJlY3Rpb25BY2Nlc3NvciA9PT0gJ3gnID8gc291cmNlVGFyZ2V0IDogdGFyZ2V0U291cmNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgcGF0aFBvaW50cyA9IFtcbiAgICAgIHNvdXJjZSxcbiAgICAgIHsgeDogc291cmNlR2FwLnggKyBzb3VyY2VHYXBPZmZzZXQueCwgeTogc291cmNlR2FwLnkgKyBzb3VyY2VHYXBPZmZzZXQueSB9LFxuICAgICAgLi4ucG9pbnRzLFxuICAgICAgeyB4OiB0YXJnZXRHYXAueCArIHRhcmdldEdhcE9mZnNldC54LCB5OiB0YXJnZXRHYXAueSArIHRhcmdldEdhcE9mZnNldC55IH0sXG4gICAgICB0YXJnZXQsXG4gICAgXTtcblxuICAgIGNvbnN0IGNlbnRlciA9IG5ldyBDYWxjdWxhdGVDb25uZWN0aW9uQ2VudGVySGFuZGxlcigpLmhhbmRsZShcbiAgICAgIG5ldyBDYWxjdWxhdGVDb25uZWN0aW9uQ2VudGVyUmVxdWVzdChwYXRoUG9pbnRzKSxcbiAgICApO1xuXG4gICAgcmV0dXJuIHsgcG9pbnRzOiBwYXRoUG9pbnRzLCBjZW50ZXIgfTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldERpcmVjdGlvbihzb3VyY2U6IElQb2ludCwgc291cmNlU2lkZTogRUZDb25uZWN0YWJsZVNpZGUsIHRhcmdldDogSVBvaW50KTogSVBvaW50IHtcbiAgICBpZiAoc291cmNlU2lkZSA9PT0gRUZDb25uZWN0YWJsZVNpZGUuTEVGVCB8fCBzb3VyY2VTaWRlID09PSBFRkNvbm5lY3RhYmxlU2lkZS5SSUdIVCkge1xuICAgICAgcmV0dXJuIHNvdXJjZS54IDwgdGFyZ2V0LnhcbiAgICAgICAgPyBQb2ludEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgxLCAwKVxuICAgICAgICA6IFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKC0xLCAwKTtcbiAgICB9XG5cbiAgICByZXR1cm4gc291cmNlLnkgPCB0YXJnZXQueVxuICAgICAgPyBQb2ludEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgwLCAxKVxuICAgICAgOiBQb2ludEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgwLCAtMSk7XG4gIH1cblxuICBwcml2YXRlIF9kaXN0YW5jZShhOiBJUG9pbnQsIGI6IElQb2ludCk6IG51bWJlciB7XG4gICAgcmV0dXJuIE1hdGguc3FydChNYXRoLnBvdyhiLnggLSBhLngsIDIpICsgTWF0aC5wb3coYi55IC0gYS55LCAyKSk7XG4gIH1cblxuICBwcml2YXRlIF9idWlsZFBhdGgocG9pbnRzOiBJUG9pbnRbXSwgYm9yZGVyUmFkaXVzOiBudW1iZXIpOiBzdHJpbmcge1xuICAgIGxldCBwYXRoID0gJyc7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwb2ludHMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNvbnN0IHAgPSBwb2ludHNbaV07XG4gICAgICBsZXQgc2VnbWVudCA9ICcnO1xuXG4gICAgICBpZiAoaSA+IDAgJiYgaSA8IHBvaW50cy5sZW5ndGggLSAxKSB7XG4gICAgICAgIHNlZ21lbnQgPSB0aGlzLl9nZXRCZW5kKHBvaW50c1tpIC0gMV0sIHAsIHBvaW50c1tpICsgMV0sIGJvcmRlclJhZGl1cyk7XG4gICAgICB9IGVsc2UgaWYgKGkgPT09IHBvaW50cy5sZW5ndGggLSAxKSB7XG4gICAgICAgIHNlZ21lbnQgPSB0aGlzLl9idWlsZExhc3RMaW5lU2VnbWVudChpLCBwKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNlZ21lbnQgPSB0aGlzLl9idWlsZE1vdmVPckxpbmVTZWdtZW50KGksIHApO1xuICAgICAgfVxuICAgICAgcGF0aCArPSBzZWdtZW50O1xuICAgIH1cblxuICAgIHJldHVybiBwYXRoO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0QmVuZChhOiBJUG9pbnQsIGI6IElQb2ludCwgYzogSVBvaW50LCBzaXplOiBudW1iZXIpOiBzdHJpbmcge1xuICAgIGNvbnN0IGJlbmRTaXplID0gTWF0aC5taW4odGhpcy5fZGlzdGFuY2UoYSwgYikgLyAyLCB0aGlzLl9kaXN0YW5jZShiLCBjKSAvIDIsIHNpemUpO1xuICAgIGNvbnN0IHsgeCwgeSB9ID0gYjtcblxuICAgIGlmICgoYS54ID09PSB4ICYmIHggPT09IGMueCkgfHwgKGEueSA9PT0geSAmJiB5ID09PSBjLnkpKSB7XG4gICAgICByZXR1cm4gYEwke3h9ICR7eX1gO1xuICAgIH1cblxuICAgIGlmIChhLnkgPT09IHkpIHtcbiAgICAgIGNvbnN0IHhEaXIgPSBhLnggPCBjLnggPyAtMSA6IDE7XG4gICAgICBjb25zdCB5RGlyID0gYS55IDwgYy55ID8gMSA6IC0xO1xuXG4gICAgICByZXR1cm4gYEwgJHt4ICsgYmVuZFNpemUgKiB4RGlyfSwke3l9USAke3h9LCR7eX0gJHt4fSwke3kgKyBiZW5kU2l6ZSAqIHlEaXJ9YDtcbiAgICB9XG5cbiAgICBjb25zdCB4RGlyID0gYS54IDwgYy54ID8gMSA6IC0xO1xuICAgIGNvbnN0IHlEaXIgPSBhLnkgPCBjLnkgPyAtMSA6IDE7XG5cbiAgICByZXR1cm4gYEwgJHt4fSwke3kgKyBiZW5kU2l6ZSAqIHlEaXJ9USAke3h9LCR7eX0gJHt4ICsgYmVuZFNpemUgKiB4RGlyfSwke3l9YDtcbiAgfVxuXG4gIHByaXZhdGUgX2J1aWxkTW92ZU9yTGluZVNlZ21lbnQoaW5kZXg6IG51bWJlciwgcG9pbnQ6IElQb2ludCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke2luZGV4ID09PSAwID8gJ00nIDogJ0wnfSR7cG9pbnQueH0gJHtwb2ludC55fWA7XG4gIH1cblxuICBwcml2YXRlIF9idWlsZExhc3RMaW5lU2VnbWVudChpbmRleDogbnVtYmVyLCBwb2ludDogSVBvaW50KTogc3RyaW5nIHtcbiAgICByZXR1cm4gYEwke3BvaW50LnggKyAwLjAwMDJ9ICR7cG9pbnQueSArIDAuMDAwMn1gO1xuICB9XG59XG4iXX0=
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { CalculateConnectionCenterHandler, CalculateConnectionCenterRequest, } from './calculate-connection-center';
|
|
2
|
-
export class FStraightPathBuilder {
|
|
3
|
-
handle(request) {
|
|
4
|
-
const { source, target } = request;
|
|
5
|
-
const path = `M ${source.x} ${source.y} L ${target.x + 0.0002} ${target.y + 0.0002}`;
|
|
6
|
-
const connectionCenter = new CalculateConnectionCenterHandler().handle(new CalculateConnectionCenterRequest([source, target]));
|
|
7
|
-
return {
|
|
8
|
-
path,
|
|
9
|
-
connectionCenter,
|
|
10
|
-
penultimatePoint: source,
|
|
11
|
-
secondPoint: target,
|
|
12
|
-
points: [source, connectionCenter, target],
|
|
13
|
-
};
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1zdHJhaWdodC5wYXRoLWJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi9jb21tb24vZG9tYWluL2Ytc3RyYWlnaHQucGF0aC1idWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxnQ0FBZ0MsRUFDaEMsZ0NBQWdDLEdBQ2pDLE1BQU0sK0JBQStCLENBQUM7QUFPdkMsTUFBTSxPQUFPLG9CQUFvQjtJQUN4QixNQUFNLENBQUMsT0FBbUM7UUFDL0MsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxPQUFPLENBQUM7UUFDbkMsTUFBTSxJQUFJLEdBQUcsS0FBSyxNQUFNLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxDQUFDLE1BQU0sTUFBTSxDQUFDLENBQUMsR0FBRyxNQUFNLElBQUksTUFBTSxDQUFDLENBQUMsR0FBRyxNQUFNLEVBQUUsQ0FBQztRQUVyRixNQUFNLGdCQUFnQixHQUFHLElBQUksZ0NBQWdDLEVBQUUsQ0FBQyxNQUFNLENBQ3BFLElBQUksZ0NBQWdDLENBQUMsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FDdkQsQ0FBQztRQUVGLE9BQU87WUFDTCxJQUFJO1lBQ0osZ0JBQWdCO1lBQ2hCLGdCQUFnQixFQUFFLE1BQU07WUFDeEIsV0FBVyxFQUFFLE1BQU07WUFDbkIsTUFBTSxFQUFFLENBQUMsTUFBTSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sQ0FBQztTQUMzQyxDQUFDO0lBQ0osQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2FsY3VsYXRlQ29ubmVjdGlvbkNlbnRlckhhbmRsZXIsXG4gIENhbGN1bGF0ZUNvbm5lY3Rpb25DZW50ZXJSZXF1ZXN0LFxufSBmcm9tICcuL2NhbGN1bGF0ZS1jb25uZWN0aW9uLWNlbnRlcic7XG5pbXBvcnQge1xuICBJRkNvbm5lY3Rpb25CdWlsZGVyLFxuICBJRkNvbm5lY3Rpb25CdWlsZGVyUmVxdWVzdCxcbiAgSUZDb25uZWN0aW9uQnVpbGRlclJlc3BvbnNlLFxufSBmcm9tICcuLi8uLi9mLWNvbm5lY3Rpb24tYnVpbGRlcic7XG5cbmV4cG9ydCBjbGFzcyBGU3RyYWlnaHRQYXRoQnVpbGRlciBpbXBsZW1lbnRzIElGQ29ubmVjdGlvbkJ1aWxkZXIge1xuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IElGQ29ubmVjdGlvbkJ1aWxkZXJSZXF1ZXN0KTogSUZDb25uZWN0aW9uQnVpbGRlclJlc3BvbnNlIHtcbiAgICBjb25zdCB7IHNvdXJjZSwgdGFyZ2V0IH0gPSByZXF1ZXN0O1xuICAgIGNvbnN0IHBhdGggPSBgTSAke3NvdXJjZS54fSAke3NvdXJjZS55fSBMICR7dGFyZ2V0LnggKyAwLjAwMDJ9ICR7dGFyZ2V0LnkgKyAwLjAwMDJ9YDtcblxuICAgIGNvbnN0IGNvbm5lY3Rpb25DZW50ZXIgPSBuZXcgQ2FsY3VsYXRlQ29ubmVjdGlvbkNlbnRlckhhbmRsZXIoKS5oYW5kbGUoXG4gICAgICBuZXcgQ2FsY3VsYXRlQ29ubmVjdGlvbkNlbnRlclJlcXVlc3QoW3NvdXJjZSwgdGFyZ2V0XSksXG4gICAgKTtcblxuICAgIHJldHVybiB7XG4gICAgICBwYXRoLFxuICAgICAgY29ubmVjdGlvbkNlbnRlcixcbiAgICAgIHBlbnVsdGltYXRlUG9pbnQ6IHNvdXJjZSxcbiAgICAgIHNlY29uZFBvaW50OiB0YXJnZXQsXG4gICAgICBwb2ludHM6IFtzb3VyY2UsIGNvbm5lY3Rpb25DZW50ZXIsIHRhcmdldF0sXG4gICAgfTtcbiAgfVxufVxuIl19
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export * from './calculate-center-between-points';
|
|
2
|
-
export * from './calculate-connection-center';
|
|
3
|
-
export * from './adaptive-curve-builder';
|
|
4
|
-
export * from './f-bezier.path-builder';
|
|
5
|
-
export * from './f-segment.path-builder';
|
|
6
|
-
export * from './f-straight.path-builder';
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi9jb21tb24vZG9tYWluL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUNBQW1DLENBQUM7QUFFbEQsY0FBYywrQkFBK0IsQ0FBQztBQUU5QyxjQUFjLDBCQUEwQixDQUFDO0FBRXpDLGNBQWMseUJBQXlCLENBQUM7QUFFeEMsY0FBYywwQkFBMEIsQ0FBQztBQUV6QyxjQUFjLDJCQUEyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jYWxjdWxhdGUtY2VudGVyLWJldHdlZW4tcG9pbnRzJztcblxuZXhwb3J0ICogZnJvbSAnLi9jYWxjdWxhdGUtY29ubmVjdGlvbi1jZW50ZXInO1xuXG5leHBvcnQgKiBmcm9tICcuL2FkYXB0aXZlLWN1cnZlLWJ1aWxkZXInO1xuXG5leHBvcnQgKiBmcm9tICcuL2YtYmV6aWVyLnBhdGgtYnVpbGRlcic7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1zZWdtZW50LnBhdGgtYnVpbGRlcic7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1zdHJhaWdodC5wYXRoLWJ1aWxkZXInO1xuIl19
|
|
@@ -1,7 +0,0 @@
|
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZS1mLWNvbm5lY3Rpb24tYmVoYXZpb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi9jb21tb24vZS1mLWNvbm5lY3Rpb24tYmVoYXZpb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksb0JBT1g7QUFQRCxXQUFZLG9CQUFvQjtJQUU5Qix1Q0FBZSxDQUFBO0lBRWYscURBQTZCLENBQUE7SUFFN0IsNkNBQXFCLENBQUE7QUFDdkIsQ0FBQyxFQVBXLG9CQUFvQixLQUFwQixvQkFBb0IsUUFPL0IiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBFRkNvbm5lY3Rpb25CZWhhdmlvciB7XG5cbiAgRklYRUQgPSAnZml4ZWQnLFxuXG4gIEZJWEVEX0NFTlRFUiA9ICdmaXhlZF9jZW50ZXInLFxuXG4gIEZMT0FUSU5HID0gJ2Zsb2F0aW5nJyxcbn1cbiJdfQ==
|
|
@@ -1,12 +0,0 @@
|
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZS1mLWNvbm5lY3Rpb24tY29ubmVjdGFibGUtc2lkZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1jb25uZWN0aW9uL2NvbW1vbi9lLWYtY29ubmVjdGlvbi1jb25uZWN0YWJsZS1zaWRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLDJCQWdCWDtBQWhCRCxXQUFZLDJCQUEyQjtJQUNyQyxrREFBbUIsQ0FBQTtJQUVuQiwwQ0FBVyxDQUFBO0lBRVgsZ0RBQWlCLENBQUE7SUFFakIsNENBQWEsQ0FBQTtJQUViLDhDQUFlLENBQUE7SUFFZixzREFBdUIsQ0FBQTtJQUV2Qiw0RUFBNkMsQ0FBQTtJQUU3Qyx3RUFBeUMsQ0FBQTtBQUMzQyxDQUFDLEVBaEJXLDJCQUEyQixLQUEzQiwyQkFBMkIsUUFnQnRDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gRUZDb25uZWN0aW9uQ29ubmVjdGFibGVTaWRlIHtcbiAgREVGQVVMVCA9ICdkZWZhdWx0JyxcblxuICBUT1AgPSAndG9wJyxcblxuICBCT1RUT00gPSAnYm90dG9tJyxcblxuICBMRUZUID0gJ2xlZnQnLFxuXG4gIFJJR0hUID0gJ3JpZ2h0JyxcblxuICBDQUxDVUxBVEUgPSAnY2FsY3VsYXRlJyxcblxuICBDQUxDVUxBVEVfSE9SSVpPTlRBTCA9ICdjYWxjdWxhdGVfaG9yaXpvbnRhbCcsXG5cbiAgQ0FMQ1VMQVRFX1ZFUlRJQ0FMID0gJ2NhbGN1bGF0ZV92ZXJ0aWNhbCcsXG59XG4iXX0=
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
export var EFConnectionType;
|
|
2
|
-
(function (EFConnectionType) {
|
|
3
|
-
EFConnectionType["SEGMENT"] = "segment";
|
|
4
|
-
EFConnectionType["STRAIGHT"] = "straight";
|
|
5
|
-
EFConnectionType["BEZIER"] = "bezier";
|
|
6
|
-
EFConnectionType["ADAPTIVE_CURVE"] = "adaptive-curve";
|
|
7
|
-
})(EFConnectionType || (EFConnectionType = {}));
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZS1mLWNvbm5lY3Rpb24tdHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1jb25uZWN0aW9uL2NvbW1vbi9lLWYtY29ubmVjdGlvbi10eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLGdCQVFYO0FBUkQsV0FBWSxnQkFBZ0I7SUFDMUIsdUNBQW1CLENBQUE7SUFFbkIseUNBQXFCLENBQUE7SUFFckIscUNBQWlCLENBQUE7SUFFakIscURBQWlDLENBQUE7QUFDbkMsQ0FBQyxFQVJXLGdCQUFnQixLQUFoQixnQkFBZ0IsUUFRM0IiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBFRkNvbm5lY3Rpb25UeXBlIHtcbiAgU0VHTUVOVCA9ICdzZWdtZW50JyxcblxuICBTVFJBSUdIVCA9ICdzdHJhaWdodCcsXG5cbiAgQkVaSUVSID0gJ2JlemllcicsXG5cbiAgQURBUFRJVkVfQ1VSVkUgPSAnYWRhcHRpdmUtY3VydmUnLFxufVxuIl19
|
|
@@ -1,121 +0,0 @@
|
|
|
1
|
-
import { contentChildren, Directive, ElementRef, inject, input, signal, viewChild, } from '@angular/core';
|
|
2
|
-
import { LineExtensions, PointExtensions } from '@foblex/2d';
|
|
3
|
-
import { CONNECTION_PATH } from './f-path';
|
|
4
|
-
import { CONNECTION_GRADIENT } from './f-gradient';
|
|
5
|
-
import { FConnectionDragHandleEndComponent, FConnectionDragHandleStartComponent, } from './f-drag-handle';
|
|
6
|
-
import { FConnectionSelectionComponent } from './f-selection';
|
|
7
|
-
import { CONNECTION_TEXT } from './f-connection-text';
|
|
8
|
-
import { EFConnectableSide } from '../../f-connectors';
|
|
9
|
-
import { FConnectionFactory } from '../f-connection-builder';
|
|
10
|
-
import { mixinChangeSelection, mixinChangeVisibility, } from '../../mixins';
|
|
11
|
-
import { FConnectionCenterDirective } from '../f-connection-center';
|
|
12
|
-
import { ConnectionContentLayoutEngine, FConnectionContent } from '../f-connection-content';
|
|
13
|
-
import { EFConnectionConnectableSide } from './e-f-connection-connectable-side';
|
|
14
|
-
import * as i0 from "@angular/core";
|
|
15
|
-
const MIXIN_BASE = mixinChangeSelection(mixinChangeVisibility(class {
|
|
16
|
-
hostElement;
|
|
17
|
-
constructor(hostElement) {
|
|
18
|
-
this.hostElement = hostElement;
|
|
19
|
-
}
|
|
20
|
-
}));
|
|
21
|
-
export class FConnectionBase extends MIXIN_BASE {
|
|
22
|
-
_connectionFactory = inject(FConnectionFactory);
|
|
23
|
-
fStartColor = input('black');
|
|
24
|
-
fEndColor = input('black');
|
|
25
|
-
path = '';
|
|
26
|
-
line = LineExtensions.initialize();
|
|
27
|
-
fReassignableStart = signal(false);
|
|
28
|
-
fDraggingDisabled = signal(false);
|
|
29
|
-
fSelectionDisabled = signal(false);
|
|
30
|
-
fDefs = viewChild.required('defs');
|
|
31
|
-
fPath = viewChild.required(CONNECTION_PATH);
|
|
32
|
-
fGradient = viewChild.required(CONNECTION_GRADIENT);
|
|
33
|
-
fDragHandleStart = viewChild(FConnectionDragHandleStartComponent);
|
|
34
|
-
fDragHandleEnd = viewChild.required(FConnectionDragHandleEndComponent);
|
|
35
|
-
fSelection = viewChild.required(FConnectionSelectionComponent);
|
|
36
|
-
fTextComponent = viewChild(CONNECTION_TEXT);
|
|
37
|
-
fConnectionCenter = viewChild('fConnectionCenter');
|
|
38
|
-
fConnectionCenters = contentChildren(FConnectionCenterDirective, {
|
|
39
|
-
descendants: true,
|
|
40
|
-
});
|
|
41
|
-
fConnectionContents = contentChildren(FConnectionContent, {
|
|
42
|
-
descendants: true,
|
|
43
|
-
});
|
|
44
|
-
fInputSide = signal(EFConnectionConnectableSide.DEFAULT);
|
|
45
|
-
_sourceSide = EFConnectableSide.AUTO;
|
|
46
|
-
fOutputSide = signal(EFConnectionConnectableSide.DEFAULT);
|
|
47
|
-
_targetSide = EFConnectableSide.AUTO;
|
|
48
|
-
_penultimatePoint = PointExtensions.initialize();
|
|
49
|
-
_secondPoint = PointExtensions.initialize();
|
|
50
|
-
constructor() {
|
|
51
|
-
super(inject((ElementRef)).nativeElement);
|
|
52
|
-
}
|
|
53
|
-
initialize() {
|
|
54
|
-
this.fPath().initialize();
|
|
55
|
-
this.fGradient().initialize();
|
|
56
|
-
this.redraw();
|
|
57
|
-
}
|
|
58
|
-
isContains(element) {
|
|
59
|
-
return (this.hostElement.firstChild?.lastChild).contains(element);
|
|
60
|
-
}
|
|
61
|
-
setLine({ point1, point2 }) {
|
|
62
|
-
this.line = LineExtensions.initialize(point1, point2);
|
|
63
|
-
const pathResult = this._getPathResult(point1, point2);
|
|
64
|
-
this.path = pathResult.path;
|
|
65
|
-
this._penultimatePoint = pathResult.penultimatePoint || point1;
|
|
66
|
-
this._secondPoint = pathResult.secondPoint || point2;
|
|
67
|
-
new ConnectionContentLayoutEngine().layout(this.line, pathResult, this._contents());
|
|
68
|
-
this.fConnectionCenter()?.nativeElement?.setAttribute('style', this._createTransformString(pathResult.connectionCenter));
|
|
69
|
-
}
|
|
70
|
-
_contents() {
|
|
71
|
-
return Array.from(this.fConnectionContents()?.values() ?? []);
|
|
72
|
-
}
|
|
73
|
-
_getPathResult(source, target) {
|
|
74
|
-
const radius = this.fRadius > 0 ? this.fRadius : 0;
|
|
75
|
-
const offset = this.fOffset > 0 ? this.fOffset : 1;
|
|
76
|
-
return this._connectionFactory.handle({
|
|
77
|
-
type: this.fType,
|
|
78
|
-
payload: {
|
|
79
|
-
source,
|
|
80
|
-
sourceSide: this._sourceSide,
|
|
81
|
-
target,
|
|
82
|
-
targetSide: this._targetSide,
|
|
83
|
-
radius,
|
|
84
|
-
offset,
|
|
85
|
-
},
|
|
86
|
-
});
|
|
87
|
-
}
|
|
88
|
-
_createTransformString(position, rotate = 0) {
|
|
89
|
-
return `position: absolute; pointer-events: all; transform: translate(-50%, -50%) rotate(${rotate}deg); left: ${position.x}px; top: ${position.y}px`;
|
|
90
|
-
}
|
|
91
|
-
markChildrenAsSelected() {
|
|
92
|
-
this.fPath().select();
|
|
93
|
-
}
|
|
94
|
-
unmarkChildrenAsSelected() {
|
|
95
|
-
this.fPath().deselect();
|
|
96
|
-
}
|
|
97
|
-
redraw() {
|
|
98
|
-
this.fPath().setPath(this.path);
|
|
99
|
-
this.fSelection().setPath(this.path);
|
|
100
|
-
this.fGradient().redraw(this.line);
|
|
101
|
-
this.fDragHandleEnd().redraw(this._penultimatePoint, this.line.point2);
|
|
102
|
-
this.fDragHandleStart()?.redraw(this._secondPoint, this.line.point1);
|
|
103
|
-
this.fTextComponent()?.redraw(this.line);
|
|
104
|
-
}
|
|
105
|
-
/**
|
|
106
|
-
* Applies the resolved sides to the connection. Don't call this method directly; it's used internally.
|
|
107
|
-
*
|
|
108
|
-
* @param sourceSide The resolved side for the source element.
|
|
109
|
-
* @param targetSide The resolved side for the target element.
|
|
110
|
-
*/
|
|
111
|
-
_applyResolvedSidesToConnection(sourceSide, targetSide) {
|
|
112
|
-
this._sourceSide = sourceSide;
|
|
113
|
-
this._targetSide = targetSide;
|
|
114
|
-
}
|
|
115
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FConnectionBase, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
116
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "18.2.13", type: FConnectionBase, inputs: { fStartColor: { classPropertyName: "fStartColor", publicName: "fStartColor", isSignal: true, isRequired: false, transformFunction: null }, fEndColor: { classPropertyName: "fEndColor", publicName: "fEndColor", isSignal: true, isRequired: false, transformFunction: null } }, queries: [{ propertyName: "fConnectionCenters", predicate: FConnectionCenterDirective, descendants: true, isSignal: true }, { propertyName: "fConnectionContents", predicate: FConnectionContent, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "fDefs", first: true, predicate: ["defs"], descendants: true, isSignal: true }, { propertyName: "fPath", first: true, predicate: CONNECTION_PATH, descendants: true, isSignal: true }, { propertyName: "fGradient", first: true, predicate: CONNECTION_GRADIENT, descendants: true, isSignal: true }, { propertyName: "fDragHandleStart", first: true, predicate: FConnectionDragHandleStartComponent, descendants: true, isSignal: true }, { propertyName: "fDragHandleEnd", first: true, predicate: FConnectionDragHandleEndComponent, descendants: true, isSignal: true }, { propertyName: "fSelection", first: true, predicate: FConnectionSelectionComponent, descendants: true, isSignal: true }, { propertyName: "fTextComponent", first: true, predicate: CONNECTION_TEXT, descendants: true, isSignal: true }, { propertyName: "fConnectionCenter", first: true, predicate: ["fConnectionCenter"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0 });
|
|
117
|
-
}
|
|
118
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FConnectionBase, decorators: [{
|
|
119
|
-
type: Directive
|
|
120
|
-
}], ctorParameters: () => [] });
|
|
121
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0aW9uLWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi9jb21tb24vZi1jb25uZWN0aW9uLWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGVBQWUsRUFDZixTQUFTLEVBQ1QsVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUVOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQWlCLGNBQWMsRUFBRSxlQUFlLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFNNUUsT0FBTyxFQUFFLGVBQWUsRUFBbUIsTUFBTSxVQUFVLENBQUM7QUFDNUQsT0FBTyxFQUFFLG1CQUFtQixFQUF1QixNQUFNLGNBQWMsQ0FBQztBQUN4RSxPQUFPLEVBQ0wsaUNBQWlDLEVBQ2pDLG1DQUFtQyxHQUNwQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZUFBZSxFQUFtQixNQUFNLHFCQUFxQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRTdELE9BQU8sRUFHTCxvQkFBb0IsRUFDcEIscUJBQXFCLEdBQ3RCLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzVGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOztBQUVoRixNQUFNLFVBQVUsR0FBRyxvQkFBb0IsQ0FDckMscUJBQXFCLENBQ25CO0lB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Q2hDLENBQUM7d0dBMUttQixlQUFlOzRGQUFmLGVBQWUsdVZBOERrQiwwQkFBMEIseUZBSXpCLGtCQUFrQix1TUF0QlosZUFBZSw0RkFFUCxtQkFBbUIsbUdBRTFDLG1DQUFtQyxpR0FFNUIsaUNBQWlDLDZGQUVyQyw2QkFBNkIsaUdBRWpCLGVBQWU7OzRGQXREdkQsZUFBZTtrQkFEcEMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGNvbnRlbnRDaGlsZHJlbixcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBpbmplY3QsXG4gIGlucHV0LFxuICBzaWduYWwsXG4gIFNpZ25hbCxcbiAgdmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElMaW5lLCBJUG9pbnQsIExpbmVFeHRlbnNpb25zLCBQb2ludEV4dGVuc2lvbnMgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IEVGQ29ubmVjdGlvbkJlaGF2aW9yIH0gZnJvbSAnLi9lLWYtY29ubmVjdGlvbi1iZWhhdmlvcic7XG5pbXBvcnQgeyBFRkNvbm5lY3Rpb25UeXBlIH0gZnJvbSAnLi9lLWYtY29ubmVjdGlvbi10eXBlJztcbmltcG9ydCB7IElIYXNDb25uZWN0aW9uQ29sb3IgfSBmcm9tICcuL2ktaGFzLWNvbm5lY3Rpb24tY29sb3InO1xuaW1wb3J0IHsgSUhhc0Nvbm5lY3Rpb25Gcm9tVG8gfSBmcm9tICcuL2ktaGFzLWNvbm5lY3Rpb24tZnJvbS10byc7XG5pbXBvcnQgeyBJSGFzQ29ubmVjdGlvblRleHQgfSBmcm9tICcuL2ktaGFzLWNvbm5lY3Rpb24tdGV4dCc7XG5pbXBvcnQgeyBDT05ORUNUSU9OX1BBVEgsIElDb25uZWN0aW9uUGF0aCB9IGZyb20gJy4vZi1wYXRoJztcbmltcG9ydCB7IENPTk5FQ1RJT05fR1JBRElFTlQsIElDb25uZWN0aW9uR3JhZGllbnQgfSBmcm9tICcuL2YtZ3JhZGllbnQnO1xuaW1wb3J0IHtcbiAgRkNvbm5lY3Rpb25EcmFnSGFuZGxlRW5kQ29tcG9uZW50LFxuICBGQ29ubmVjdGlvbkRyYWdIYW5kbGVTdGFydENvbXBvbmVudCxcbn0gZnJvbSAnLi9mLWRyYWctaGFuZGxlJztcbmltcG9ydCB7IEZDb25uZWN0aW9uU2VsZWN0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9mLXNlbGVjdGlvbic7XG5pbXBvcnQgeyBDT05ORUNUSU9OX1RFWFQsIElDb25uZWN0aW9uVGV4dCB9IGZyb20gJy4vZi1jb25uZWN0aW9uLXRleHQnO1xuaW1wb3J0IHsgRUZDb25uZWN0YWJsZVNpZGUgfSBmcm9tICcuLi8uLi9mLWNvbm5lY3RvcnMnO1xuaW1wb3J0IHsgRkNvbm5lY3Rpb25GYWN0b3J5IH0gZnJvbSAnLi4vZi1jb25uZWN0aW9uLWJ1aWxkZXInO1xuaW1wb3J0IHsgSUhhc0hvc3RFbGVtZW50IH0gZnJvbSAnLi4vLi4vaS1oYXMtaG9zdC1lbGVtZW50JztcbmltcG9ydCB7XG4gIElTZWxlY3RhYmxlLFxuICBJQ2FuQ2hhbmdlVmlzaWJpbGl0eSxcbiAgbWl4aW5DaGFuZ2VTZWxlY3Rpb24sXG4gIG1peGluQ2hhbmdlVmlzaWJpbGl0eSxcbn0gZnJvbSAnLi4vLi4vbWl4aW5zJztcbmltcG9ydCB7IEZDb25uZWN0aW9uQ2VudGVyRGlyZWN0aXZlIH0gZnJvbSAnLi4vZi1jb25uZWN0aW9uLWNlbnRlcic7XG5pbXBvcnQgeyBDb25uZWN0aW9uQ29udGVudExheW91dEVuZ2luZSwgRkNvbm5lY3Rpb25Db250ZW50IH0gZnJvbSAnLi4vZi1jb25uZWN0aW9uLWNvbnRlbnQnO1xuaW1wb3J0IHsgRUZDb25uZWN0aW9uQ29ubmVjdGFibGVTaWRlIH0gZnJvbSAnLi9lLWYtY29ubmVjdGlvbi1jb25uZWN0YWJsZS1zaWRlJztcblxuY29uc3QgTUlYSU5fQkFTRSA9IG1peGluQ2hhbmdlU2VsZWN0aW9uKFxuICBtaXhpbkNoYW5nZVZpc2liaWxpdHkoXG4gICAgY2xhc3Mge1xuICAgICAgY29uc3RydWN0b3IocHVibGljIGhvc3RFbGVtZW50OiBIVE1MRWxlbWVudCkge31cbiAgICB9LFxuICApLFxuKTtcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRkNvbm5lY3Rpb25CYXNlXG4gIGV4dGVuZHMgTUlYSU5fQkFTRVxuICBpbXBsZW1lbnRzXG4gICAgSUhhc0hvc3RFbGVtZW50LFxuICAgIElTZWxlY3RhYmxlLFxuICAgIElDYW5DaGFuZ2VWaXNpYmlsaXR5LFxuICAgIElIYXNDb25uZWN0aW9uQ29sb3IsXG4gICAgSUhhc0Nvbm5lY3Rpb25Gcm9tVG8sXG4gICAgSUhhc0Nvbm5lY3Rpb25UZXh0XG57XG4gIHByaXZhdGUgcmVhZG9ubHkgX2Nvbm5lY3Rpb25GYWN0b3J5ID0gaW5qZWN0KEZDb25uZWN0aW9uRmFjdG9yeSk7XG5cbiAgcHVibGljIGFic3RyYWN0IG92ZXJyaWRlIGZJZDogU2lnbmFsPHN0cmluZz47XG5cbiAgcHVibGljIHJlYWRvbmx5IGZTdGFydENvbG9yID0gaW5wdXQ8c3RyaW5nPignYmxhY2snKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgZkVuZENvbG9yID0gaW5wdXQ8c3RyaW5nPignYmxhY2snKTtcblxuICBwdWJsaWMgYWJzdHJhY3QgZk91dHB1dElkOiBTaWduYWw8c3RyaW5nPjtcblxuICBwdWJsaWMgYWJzdHJhY3QgZklucHV0SWQ6IFNpZ25hbDxzdHJpbmc+O1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmUmFkaXVzOiBudW1iZXI7XG5cbiAgcHVibGljIGFic3RyYWN0IGZPZmZzZXQ6IG51bWJlcjtcblxuICBwcm90ZWN0ZWQgcGF0aDogc3RyaW5nID0gJyc7XG5cbiAgcHVibGljIGxpbmUgPSBMaW5lRXh0ZW5zaW9ucy5pbml0aWFsaXplKCk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGZSZWFzc2lnbmFibGVTdGFydDogU2lnbmFsPGJvb2xlYW4+ID0gc2lnbmFsKGZhbHNlKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgZkRyYWdnaW5nRGlzYWJsZWQ6IFNpZ25hbDxib29sZWFuPiA9IHNpZ25hbChmYWxzZSk7XG5cbiAgcHVibGljIG92ZXJyaWRlIHJlYWRvbmx5IGZTZWxlY3Rpb25EaXNhYmxlZDogU2lnbmFsPGJvb2xlYW4+ID0gc2lnbmFsKGZhbHNlKTtcblxuICBwdWJsaWMgYWJzdHJhY3QgYm91bmRpbmdFbGVtZW50OiBIVE1MRWxlbWVudCB8IFNWR0VsZW1lbnQ7XG5cbiAgcHVibGljIGFic3RyYWN0IGZCZWhhdmlvcjogRUZDb25uZWN0aW9uQmVoYXZpb3I7XG5cbiAgcHVibGljIGFic3RyYWN0IGZUeXBlOiBFRkNvbm5lY3Rpb25UeXBlIHwgc3RyaW5nO1xuXG4gIHB1YmxpYyByZWFkb25seSBmRGVmcyA9IHZpZXdDaGlsZC5yZXF1aXJlZDxFbGVtZW50UmVmPFNWR0RlZnNFbGVtZW50Pj4oJ2RlZnMnKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgZlBhdGggPSB2aWV3Q2hpbGQucmVxdWlyZWQ8SUNvbm5lY3Rpb25QYXRoPihDT05ORUNUSU9OX1BBVEgpO1xuXG4gIHB1YmxpYyByZWFkb25seSBmR3JhZGllbnQgPSB2aWV3Q2hpbGQucmVxdWlyZWQ8SUNvbm5lY3Rpb25HcmFkaWVudD4oQ09OTkVDVElPTl9HUkFESUVOVCk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGZEcmFnSGFuZGxlU3RhcnQgPSB2aWV3Q2hpbGQoRkNvbm5lY3Rpb25EcmFnSGFuZGxlU3RhcnRDb21wb25lbnQpO1xuXG4gIHB1YmxpYyByZWFkb25seSBmRHJhZ0hhbmRsZUVuZCA9IHZpZXdDaGlsZC5yZXF1aXJlZChGQ29ubmVjdGlvbkRyYWdIYW5kbGVFbmRDb21wb25lbnQpO1xuXG4gIHB1YmxpYyByZWFkb25seSBmU2VsZWN0aW9uID0gdmlld0NoaWxkLnJlcXVpcmVkKEZDb25uZWN0aW9uU2VsZWN0aW9uQ29tcG9uZW50KTtcblxuICBwdWJsaWMgcmVhZG9ubHkgZlRleHRDb21wb25lbnQgPSB2aWV3Q2hpbGQ8SUNvbm5lY3Rpb25UZXh0PihDT05ORUNUSU9OX1RFWFQpO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmVGV4dDogc3RyaW5nO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmVGV4dFN0YXJ0T2Zmc2V0OiBzdHJpbmc7XG5cbiAgcHVibGljIHJlYWRvbmx5IGZDb25uZWN0aW9uQ2VudGVyID0gdmlld0NoaWxkPEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+PignZkNvbm5lY3Rpb25DZW50ZXInKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgZkNvbm5lY3Rpb25DZW50ZXJzID0gY29udGVudENoaWxkcmVuKEZDb25uZWN0aW9uQ2VudGVyRGlyZWN0aXZlLCB7XG4gICAgZGVzY2VuZGFudHM6IHRydWUsXG4gIH0pO1xuXG4gIHB1YmxpYyByZWFkb25seSBmQ29ubmVjdGlvbkNvbnRlbnRzID0gY29udGVudENoaWxkcmVuKEZDb25uZWN0aW9uQ29udGVudCwge1xuICAgIGRlc2NlbmRhbnRzOiB0cnVlLFxuICB9KTtcblxuICBwdWJsaWMgcmVhZG9ubHkgZklucHV0U2lkZTogU2lnbmFsPEVGQ29ubmVjdGlvbkNvbm5lY3RhYmxlU2lkZT4gPSBzaWduYWwoXG4gICAgRUZDb25uZWN0aW9uQ29ubmVjdGFibGVTaWRlLkRFRkFVTFQsXG4gICk7XG5cbiAgcHJpdmF0ZSBfc291cmNlU2lkZSA9IEVGQ29ubmVjdGFibGVTaWRlLkFVVE87XG5cbiAgcHVibGljIHJlYWRvbmx5IGZPdXRwdXRTaWRlOiBTaWduYWw8RUZDb25uZWN0aW9uQ29ubmVjdGFibGVTaWRlPiA9IHNpZ25hbChcbiAgICBFRkNvbm5lY3Rpb25Db25uZWN0YWJsZVNpZGUuREVGQVVMVCxcbiAgKTtcblxuICBwcml2YXRlIF90YXJnZXRTaWRlID0gRUZDb25uZWN0YWJsZVNpZGUuQVVUTztcblxuICBwcml2YXRlIF9wZW51bHRpbWF0ZVBvaW50ID0gUG9pbnRFeHRlbnNpb25zLmluaXRpYWxpemUoKTtcbiAgcHJpdmF0ZSBfc2Vjb25kUG9pbnQgPSBQb2ludEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgpO1xuXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcihpbmplY3QoRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pLm5hdGl2ZUVsZW1lbnQpO1xuICB9XG5cbiAgcHVibGljIGluaXRpYWxpemUoKTogdm9pZCB7XG4gICAgdGhpcy5mUGF0aCgpLmluaXRpYWxpemUoKTtcbiAgICB0aGlzLmZHcmFkaWVudCgpLmluaXRpYWxpemUoKTtcbiAgICB0aGlzLnJlZHJhdygpO1xuICB9XG5cbiAgcHVibGljIGlzQ29udGFpbnMoZWxlbWVudDogSFRNTEVsZW1lbnQgfCBTVkdFbGVtZW50KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICh0aGlzLmhvc3RFbGVtZW50LmZpcnN0Q2hpbGQ/Lmxhc3RDaGlsZCBhcyBIVE1MRWxlbWVudCkuY29udGFpbnMoZWxlbWVudCk7XG4gIH1cblxuICBwdWJsaWMgc2V0TGluZSh7IHBvaW50MSwgcG9pbnQyIH06IElMaW5lKTogdm9pZCB7XG4gICAgdGhpcy5saW5lID0gTGluZUV4dGVuc2lvbnMuaW5pdGlhbGl6ZShwb2ludDEsIHBvaW50Mik7XG5cbiAgICBjb25zdCBwYXRoUmVzdWx0ID0gdGhpcy5fZ2V0UGF0aFJlc3VsdChwb2ludDEsIHBvaW50Mik7XG5cbiAgICB0aGlzLnBhdGggPSBwYXRoUmVzdWx0LnBhdGg7XG4gICAgdGhpcy5fcGVudWx0aW1hdGVQb2ludCA9IHBhdGhSZXN1bHQucGVudWx0aW1hdGVQb2ludCB8fCBwb2ludDE7XG4gICAgdGhpcy5fc2Vjb25kUG9pbnQgPSBwYXRoUmVzdWx0LnNlY29uZFBvaW50IHx8IHBvaW50MjtcblxuICAgIG5ldyBDb25uZWN0aW9uQ29udGVudExheW91dEVuZ2luZSgpLmxheW91dCh0aGlzLmxpbmUsIHBhdGhSZXN1bHQsIHRoaXMuX2NvbnRlbnRzKCkpO1xuXG4gICAgdGhpcy5mQ29ubmVjdGlvbkNlbnRlcigpPy5uYXRpdmVFbGVtZW50Py5zZXRBdHRyaWJ1dGUoXG4gICAgICAnc3R5bGUnLFxuICAgICAgdGhpcy5fY3JlYXRlVHJhbnNmb3JtU3RyaW5nKHBhdGhSZXN1bHQuY29ubmVjdGlvbkNlbnRlciksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NvbnRlbnRzKCk6IEZDb25uZWN0aW9uQ29udGVudFtdIHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLmZDb25uZWN0aW9uQ29udGVudHMoKT8udmFsdWVzKCkgPz8gW10pO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0UGF0aFJlc3VsdChzb3VyY2U6IElQb2ludCwgdGFyZ2V0OiBJUG9pbnQpIHtcbiAgICBjb25zdCByYWRpdXMgPSB0aGlzLmZSYWRpdXMgPiAwID8gdGhpcy5mUmFkaXVzIDogMDtcbiAgICBjb25zdCBvZmZzZXQgPSB0aGlzLmZPZmZzZXQgPiAwID8gdGhpcy5mT2Zmc2V0IDogMTtcblxuICAgIHJldHVybiB0aGlzLl9jb25uZWN0aW9uRmFjdG9yeS5oYW5kbGUoe1xuICAgICAgdHlwZTogdGhpcy5mVHlwZSxcbiAgICAgIHBheWxvYWQ6IHtcbiAgICAgICAgc291cmNlLFxuICAgICAgICBzb3VyY2VTaWRlOiB0aGlzLl9zb3VyY2VTaWRlLFxuICAgICAgICB0YXJnZXQsXG4gICAgICAgIHRhcmdldFNpZGU6IHRoaXMuX3RhcmdldFNpZGUsXG4gICAgICAgIHJhZGl1cyxcbiAgICAgICAgb2Zmc2V0LFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2NyZWF0ZVRyYW5zZm9ybVN0cmluZyhwb3NpdGlvbjogSVBvaW50LCByb3RhdGU6IG51bWJlciA9IDApOiBzdHJpbmcge1xuICAgIHJldHVybiBgcG9zaXRpb246IGFic29sdXRlOyBwb2ludGVyLWV2ZW50czogYWxsOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGUoJHtyb3RhdGV9ZGVnKTsgbGVmdDogJHtwb3NpdGlvbi54fXB4OyB0b3A6ICR7cG9zaXRpb24ueX1weGA7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgbWFya0NoaWxkcmVuQXNTZWxlY3RlZCgpOiB2b2lkIHtcbiAgICB0aGlzLmZQYXRoKCkuc2VsZWN0KCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgdW5tYXJrQ2hpbGRyZW5Bc1NlbGVjdGVkKCk6IHZvaWQge1xuICAgIHRoaXMuZlBhdGgoKS5kZXNlbGVjdCgpO1xuICB9XG5cbiAgcHVibGljIHJlZHJhdygpOiB2b2lkIHtcbiAgICB0aGlzLmZQYXRoKCkuc2V0UGF0aCh0aGlzLnBhdGgpO1xuICAgIHRoaXMuZlNlbGVjdGlvbigpLnNldFBhdGgodGhpcy5wYXRoKTtcbiAgICB0aGlzLmZHcmFkaWVudCgpLnJlZHJhdyh0aGlzLmxpbmUpO1xuICAgIHRoaXMuZkRyYWdIYW5kbGVFbmQoKS5yZWRyYXcodGhpcy5fcGVudWx0aW1hdGVQb2ludCwgdGhpcy5saW5lLnBvaW50Mik7XG4gICAgdGhpcy5mRHJhZ0hhbmRsZVN0YXJ0KCk/LnJlZHJhdyh0aGlzLl9zZWNvbmRQb2ludCwgdGhpcy5saW5lLnBvaW50MSk7XG4gICAgdGhpcy5mVGV4dENvbXBvbmVudCgpPy5yZWRyYXcodGhpcy5saW5lKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBcHBsaWVzIHRoZSByZXNvbHZlZCBzaWRlcyB0byB0aGUgY29ubmVjdGlvbi4gRG9uJ3QgY2FsbCB0aGlzIG1ldGhvZCBkaXJlY3RseTsgaXQncyB1c2VkIGludGVybmFsbHkuXG4gICAqXG4gICAqIEBwYXJhbSBzb3VyY2VTaWRlIFRoZSByZXNvbHZlZCBzaWRlIGZvciB0aGUgc291cmNlIGVsZW1lbnQuXG4gICAqIEBwYXJhbSB0YXJnZXRTaWRlIFRoZSByZXNvbHZlZCBzaWRlIGZvciB0aGUgdGFyZ2V0IGVsZW1lbnQuXG4gICAqL1xuICBwdWJsaWMgX2FwcGx5UmVzb2x2ZWRTaWRlc1RvQ29ubmVjdGlvbihcbiAgICBzb3VyY2VTaWRlOiBFRkNvbm5lY3RhYmxlU2lkZSxcbiAgICB0YXJnZXRTaWRlOiBFRkNvbm5lY3RhYmxlU2lkZSxcbiAgKTogdm9pZCB7XG4gICAgdGhpcy5fc291cmNlU2lkZSA9IHNvdXJjZVNpZGU7XG4gICAgdGhpcy5fdGFyZ2V0U2lkZSA9IHRhcmdldFNpZGU7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { normalizeDomElementId } from '@foblex/utils';
|
|
2
|
-
export const F_CONNECTION_IDENTIFIERS = {
|
|
3
|
-
textId(connectionId) {
|
|
4
|
-
return normalizeDomElementId('connection_text_' + connectionId);
|
|
5
|
-
},
|
|
6
|
-
connectionForSelectionId(connectionId) {
|
|
7
|
-
return normalizeDomElementId('connection_for_selection_' + connectionId);
|
|
8
|
-
},
|
|
9
|
-
connectionId(connectionId) {
|
|
10
|
-
return normalizeDomElementId('connection_' + connectionId);
|
|
11
|
-
},
|
|
12
|
-
gradientId(connectionId) {
|
|
13
|
-
return normalizeDomElementId('connection_gradient_' + connectionId);
|
|
14
|
-
},
|
|
15
|
-
linkToGradient(connectionId) {
|
|
16
|
-
return `url(#${F_CONNECTION_IDENTIFIERS.gradientId(connectionId)})`;
|
|
17
|
-
},
|
|
18
|
-
linkToConnection(connectionId) {
|
|
19
|
-
return `#${F_CONNECTION_IDENTIFIERS.connectionId(connectionId)}`;
|
|
20
|
-
},
|
|
21
|
-
};
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0aW9uLWlkZW50aWZpZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3Rpb24vY29tbW9uL2YtY29ubmVjdGlvbi1pZGVudGlmaWVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdEQsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUc7SUFFdEMsTUFBTSxDQUFDLFlBQW9CO1FBQ3pCLE9BQU8scUJBQXFCLENBQUMsa0JBQWtCLEdBQUcsWUFBWSxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUNELHdCQUF3QixDQUFDLFlBQW9CO1FBQzNDLE9BQU8scUJBQXFCLENBQUMsMkJBQTJCLEdBQUcsWUFBWSxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUNELFlBQVksQ0FBQyxZQUFvQjtRQUMvQixPQUFPLHFCQUFxQixDQUFDLGFBQWEsR0FBRyxZQUFZLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBQ0QsVUFBVSxDQUFDLFlBQW9CO1FBQzdCLE9BQU8scUJBQXFCLENBQUMsc0JBQXNCLEdBQUcsWUFBWSxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUNELGNBQWMsQ0FBQyxZQUFvQjtRQUNqQyxPQUFPLFFBQVMsd0JBQXdCLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBRSxHQUFHLENBQUM7SUFDeEUsQ0FBQztJQUNELGdCQUFnQixDQUFDLFlBQW9CO1FBQ25DLE9BQU8sSUFBSyx3QkFBd0IsQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFFLEVBQUUsQ0FBQztJQUNyRSxDQUFDO0NBQ0YsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG5vcm1hbGl6ZURvbUVsZW1lbnRJZCB9IGZyb20gJ0Bmb2JsZXgvdXRpbHMnO1xuXG5leHBvcnQgY29uc3QgRl9DT05ORUNUSU9OX0lERU5USUZJRVJTID0ge1xuXG4gIHRleHRJZChjb25uZWN0aW9uSWQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIG5vcm1hbGl6ZURvbUVsZW1lbnRJZCgnY29ubmVjdGlvbl90ZXh0XycgKyBjb25uZWN0aW9uSWQpO1xuICB9LFxuICBjb25uZWN0aW9uRm9yU2VsZWN0aW9uSWQoY29ubmVjdGlvbklkOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBub3JtYWxpemVEb21FbGVtZW50SWQoJ2Nvbm5lY3Rpb25fZm9yX3NlbGVjdGlvbl8nICsgY29ubmVjdGlvbklkKTtcbiAgfSxcbiAgY29ubmVjdGlvbklkKGNvbm5lY3Rpb25JZDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gbm9ybWFsaXplRG9tRWxlbWVudElkKCdjb25uZWN0aW9uXycgKyBjb25uZWN0aW9uSWQpO1xuICB9LFxuICBncmFkaWVudElkKGNvbm5lY3Rpb25JZDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gbm9ybWFsaXplRG9tRWxlbWVudElkKCdjb25uZWN0aW9uX2dyYWRpZW50XycgKyBjb25uZWN0aW9uSWQpO1xuICB9LFxuICBsaW5rVG9HcmFkaWVudChjb25uZWN0aW9uSWQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGB1cmwoIyR7IEZfQ09OTkVDVElPTl9JREVOVElGSUVSUy5ncmFkaWVudElkKGNvbm5lY3Rpb25JZCkgfSlgO1xuICB9LFxuICBsaW5rVG9Db25uZWN0aW9uKGNvbm5lY3Rpb25JZDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCMkeyBGX0NPTk5FQ1RJT05fSURFTlRJRklFUlMuY29ubmVjdGlvbklkKGNvbm5lY3Rpb25JZCkgfWA7XG4gIH0sXG59XG4iXX0=
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
import { Directive, ElementRef, inject } from '@angular/core';
|
|
2
|
-
import { F_CONNECTION_IDENTIFIERS } from '../f-connection-identifiers';
|
|
3
|
-
import { F_CONNECTION } from '../f-connection.injection-token';
|
|
4
|
-
import { BrowserService } from '@foblex/platform';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export class FConnectionTextPathDirective {
|
|
7
|
-
hostElement = inject((ElementRef)).nativeElement;
|
|
8
|
-
_base = inject(F_CONNECTION);
|
|
9
|
-
_browser = inject(BrowserService);
|
|
10
|
-
get linkToConnection() {
|
|
11
|
-
return F_CONNECTION_IDENTIFIERS.linkToConnection(this._base.fId() + this._base.fOutputId() + this._base.fInputId());
|
|
12
|
-
}
|
|
13
|
-
symbolWidth = 8;
|
|
14
|
-
fontSize = '12px';
|
|
15
|
-
ngOnInit() {
|
|
16
|
-
this.hostElement.setAttribute('text-anchor', `middle`);
|
|
17
|
-
this.symbolWidth = this._getSymbolWidth(this._base.fText || '');
|
|
18
|
-
}
|
|
19
|
-
getBBox() {
|
|
20
|
-
return this.hostElement.getBBox();
|
|
21
|
-
}
|
|
22
|
-
redraw() {
|
|
23
|
-
this.hostElement.setAttribute('startOffset', this._base.fTextStartOffset || '50%');
|
|
24
|
-
}
|
|
25
|
-
_getFontStyles(element) {
|
|
26
|
-
const computedStyles = this._browser.window.getComputedStyle(element);
|
|
27
|
-
return {
|
|
28
|
-
fontSize: computedStyles.fontSize,
|
|
29
|
-
fontFamily: computedStyles.fontFamily,
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
_getSymbolWidth(name) {
|
|
33
|
-
const text = name || 'connection';
|
|
34
|
-
const { fontFamily, fontSize } = this._getFontStyles(this.hostElement);
|
|
35
|
-
this.fontSize = fontSize || '12px';
|
|
36
|
-
const canvas = this._browser.document.createElement('canvas');
|
|
37
|
-
let context;
|
|
38
|
-
try {
|
|
39
|
-
context = canvas.getContext('2d');
|
|
40
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
41
|
-
}
|
|
42
|
-
catch (e) {
|
|
43
|
-
context = null;
|
|
44
|
-
}
|
|
45
|
-
if (!context) {
|
|
46
|
-
return 0;
|
|
47
|
-
}
|
|
48
|
-
context.font = `${fontSize} ${fontFamily}`;
|
|
49
|
-
const metrics = context.measureText(text);
|
|
50
|
-
const symbolWidth = metrics.width / text.length;
|
|
51
|
-
return symbolWidth;
|
|
52
|
-
}
|
|
53
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FConnectionTextPathDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
54
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: FConnectionTextPathDirective, selector: "textPath[f-connection-text-path]", host: { properties: { "attr.href": "linkToConnection" } }, ngImport: i0 });
|
|
55
|
-
}
|
|
56
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FConnectionTextPathDirective, decorators: [{
|
|
57
|
-
type: Directive,
|
|
58
|
-
args: [{
|
|
59
|
-
selector: 'textPath[f-connection-text-path]',
|
|
60
|
-
host: {
|
|
61
|
-
'[attr.href]': 'linkToConnection',
|
|
62
|
-
},
|
|
63
|
-
}]
|
|
64
|
-
}] });
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0aW9uLXRleHQtcGF0aC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi9jb21tb24vZi1jb25uZWN0aW9uLXRleHQvZi1jb25uZWN0aW9uLXRleHQtcGF0aC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3RFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUcvRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7O0FBU2xELE1BQU0sT0FBTyw0QkFBNEI7SUFDdkIsV0FBVyxHQUFHLE1BQU0sQ0FBQyxDQUFBLFVBQThCLENBQUEsQ0FBQyxDQUFDLGFBQWEsQ0FBQztJQUNsRSxLQUFLLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBOEMsQ0FBQztJQUMxRSxRQUFRLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBRW5ELElBQVcsZ0JBQWdCO1FBQ3pCLE9BQU8sd0JBQXdCLENBQUMsZ0JBQWdCLENBQzlDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUNsRSxDQUFDO0lBQ0osQ0FBQztJQUVNLFdBQVcsR0FBVyxDQUFDLENBQUM7SUFDeEIsUUFBUSxHQUFXLE1BQU0sQ0FBQztJQUUxQixRQUFRO1FBQ2IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsYUFBYSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRU0sT0FBTztRQUNaLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRU0sTUFBTTtRQUNYLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixJQUFJLEtBQUssQ0FBQyxDQUFDO0lBQ3JGLENBQUM7SUFFTyxjQUFjLENBQUMsT0FBMkI7UUFDaEQsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFdEUsT0FBTztZQUNMLFFBQVEsRUFBRSxjQUFjLENBQUMsUUFBUTtZQUNqQyxVQUFVLEVBQUUsY0FBYyxDQUFDLFVBQVU7U0FDdEMsQ0FBQztJQUNKLENBQUM7SUFFTyxlQUFlLENBQUMsSUFBWTtRQUNsQyxNQUFNLElBQUksR0FBRyxJQUFJLElBQUksWUFBWSxDQUFDO1FBQ2xDLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDdkUsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLElBQUksTUFBTSxDQUFDO1FBQ25DLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM5RCxJQUFJLE9BQU8sQ0FBQztRQUVaLElBQUksQ0FBQztZQUNILE9BQU8sR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2xDLDZEQUE2RDtRQUMvRCxDQUFDO1FBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNYLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDakIsQ0FBQztRQUNELElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNiLE9BQU8sQ0FBQyxDQUFDO1FBQ1gsQ0FBQztRQUVELE9BQU8sQ0FBQyxJQUFJLEdBQUcsR0FBRyxRQUFRLElBQUksVUFBVSxFQUFFLENBQUM7UUFFM0MsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQyxNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFFaEQsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQzt3R0EzRFUsNEJBQTRCOzRGQUE1Qiw0QkFBNEI7OzRGQUE1Qiw0QkFBNEI7a0JBTnhDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGtDQUFrQztvQkFDNUMsSUFBSSxFQUFFO3dCQUNKLGFBQWEsRUFBRSxrQkFBa0I7cUJBQ2xDO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBpbmplY3QsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRl9DT05ORUNUSU9OX0lERU5USUZJRVJTIH0gZnJvbSAnLi4vZi1jb25uZWN0aW9uLWlkZW50aWZpZXJzJztcbmltcG9ydCB7IEZfQ09OTkVDVElPTiB9IGZyb20gJy4uL2YtY29ubmVjdGlvbi5pbmplY3Rpb24tdG9rZW4nO1xuaW1wb3J0IHsgSUhhc0Nvbm5lY3Rpb25UZXh0IH0gZnJvbSAnLi4vaS1oYXMtY29ubmVjdGlvbi10ZXh0JztcbmltcG9ydCB7IElIYXNDb25uZWN0aW9uRnJvbVRvIH0gZnJvbSAnLi4vaS1oYXMtY29ubmVjdGlvbi1mcm9tLXRvJztcbmltcG9ydCB7IEJyb3dzZXJTZXJ2aWNlIH0gZnJvbSAnQGZvYmxleC9wbGF0Zm9ybSc7XG5pbXBvcnQgeyBJSGFzSG9zdEVsZW1lbnQgfSBmcm9tICcuLi8uLi8uLi9pLWhhcy1ob3N0LWVsZW1lbnQnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICd0ZXh0UGF0aFtmLWNvbm5lY3Rpb24tdGV4dC1wYXRoXScsXG4gIGhvc3Q6IHtcbiAgICAnW2F0dHIuaHJlZl0nOiAnbGlua1RvQ29ubmVjdGlvbicsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIEZDb25uZWN0aW9uVGV4dFBhdGhEaXJlY3RpdmUgaW1wbGVtZW50cyBJSGFzSG9zdEVsZW1lbnQsIE9uSW5pdCB7XG4gIHB1YmxpYyByZWFkb25seSBob3N0RWxlbWVudCA9IGluamVjdChFbGVtZW50UmVmPFNWR1RleHRQYXRoRWxlbWVudD4pLm5hdGl2ZUVsZW1lbnQ7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2Jhc2UgPSBpbmplY3QoRl9DT05ORUNUSU9OKSBhcyBJSGFzQ29ubmVjdGlvblRleHQgJiBJSGFzQ29ubmVjdGlvbkZyb21UbztcbiAgcHJpdmF0ZSByZWFkb25seSBfYnJvd3NlciA9IGluamVjdChCcm93c2VyU2VydmljZSk7XG5cbiAgcHVibGljIGdldCBsaW5rVG9Db25uZWN0aW9uKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIEZfQ09OTkVDVElPTl9JREVOVElGSUVSUy5saW5rVG9Db25uZWN0aW9uKFxuICAgICAgdGhpcy5fYmFzZS5mSWQoKSArIHRoaXMuX2Jhc2UuZk91dHB1dElkKCkgKyB0aGlzLl9iYXNlLmZJbnB1dElkKCksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBzeW1ib2xXaWR0aDogbnVtYmVyID0gODtcbiAgcHVibGljIGZvbnRTaXplOiBzdHJpbmcgPSAnMTJweCc7XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuaG9zdEVsZW1lbnQuc2V0QXR0cmlidXRlKCd0ZXh0LWFuY2hvcicsIGBtaWRkbGVgKTtcbiAgICB0aGlzLnN5bWJvbFdpZHRoID0gdGhpcy5fZ2V0U3ltYm9sV2lkdGgodGhpcy5fYmFzZS5mVGV4dCB8fCAnJyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0QkJveCgpOiBET01SZWN0IHtcbiAgICByZXR1cm4gdGhpcy5ob3N0RWxlbWVudC5nZXRCQm94KCk7XG4gIH1cblxuICBwdWJsaWMgcmVkcmF3KCk6IHZvaWQge1xuICAgIHRoaXMuaG9zdEVsZW1lbnQuc2V0QXR0cmlidXRlKCdzdGFydE9mZnNldCcsIHRoaXMuX2Jhc2UuZlRleHRTdGFydE9mZnNldCB8fCAnNTAlJyk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRGb250U3R5bGVzKGVsZW1lbnQ6IFNWR1RleHRQYXRoRWxlbWVudCk6IHsgZm9udFNpemU6IHN0cmluZzsgZm9udEZhbWlseTogc3RyaW5nIH0ge1xuICAgIGNvbnN0IGNvbXB1dGVkU3R5bGVzID0gdGhpcy5fYnJvd3Nlci53aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KTtcblxuICAgIHJldHVybiB7XG4gICAgICBmb250U2l6ZTogY29tcHV0ZWRTdHlsZXMuZm9udFNpemUsXG4gICAgICBmb250RmFtaWx5OiBjb21wdXRlZFN0eWxlcy5mb250RmFtaWx5LFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIF9nZXRTeW1ib2xXaWR0aChuYW1lOiBzdHJpbmcpOiBudW1iZXIge1xuICAgIGNvbnN0IHRleHQgPSBuYW1lIHx8ICdjb25uZWN0aW9uJztcbiAgICBjb25zdCB7IGZvbnRGYW1pbHksIGZvbnRTaXplIH0gPSB0aGlzLl9nZXRGb250U3R5bGVzKHRoaXMuaG9zdEVsZW1lbnQpO1xuICAgIHRoaXMuZm9udFNpemUgPSBmb250U2l6ZSB8fCAnMTJweCc7XG4gICAgY29uc3QgY2FudmFzID0gdGhpcy5fYnJvd3Nlci5kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTtcbiAgICBsZXQgY29udGV4dDtcblxuICAgIHRyeSB7XG4gICAgICBjb250ZXh0ID0gY2FudmFzLmdldENvbnRleHQoJzJkJyk7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgY29udGV4dCA9IG51bGw7XG4gICAgfVxuICAgIGlmICghY29udGV4dCkge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuXG4gICAgY29udGV4dC5mb250ID0gYCR7Zm9udFNpemV9ICR7Zm9udEZhbWlseX1gO1xuXG4gICAgY29uc3QgbWV0cmljcyA9IGNvbnRleHQubWVhc3VyZVRleHQodGV4dCk7XG4gICAgY29uc3Qgc3ltYm9sV2lkdGggPSBtZXRyaWNzLndpZHRoIC8gdGV4dC5sZW5ndGg7XG5cbiAgICByZXR1cm4gc3ltYm9sV2lkdGg7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, ElementRef, inject, viewChild } from '@angular/core';
|
|
2
|
-
import { PointExtensions } from '@foblex/2d';
|
|
3
|
-
import { FConnectionTextPathDirective } from './f-connection-text-path.directive';
|
|
4
|
-
import { F_CONNECTION_IDENTIFIERS } from '../f-connection-identifiers';
|
|
5
|
-
import { F_CONNECTION } from '../f-connection.injection-token';
|
|
6
|
-
import { CONNECTION_TEXT } from './i-connection-text';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "./f-connection-text-path.directive";
|
|
9
|
-
export class FConnectionTextComponent {
|
|
10
|
-
hostElement = inject((ElementRef)).nativeElement;
|
|
11
|
-
_base = inject(F_CONNECTION);
|
|
12
|
-
_textPathDirective = viewChild.required(FConnectionTextPathDirective);
|
|
13
|
-
get textId() {
|
|
14
|
-
return F_CONNECTION_IDENTIFIERS.textId(this._base.fId() + this._base.fOutputId() + this._base.fInputId());
|
|
15
|
-
}
|
|
16
|
-
get text() {
|
|
17
|
-
return this._base.fText || '';
|
|
18
|
-
}
|
|
19
|
-
redraw(line) {
|
|
20
|
-
this._textPathDirective().redraw();
|
|
21
|
-
const isTextReverse = FConnectionTextComponent._isTextReverse(line);
|
|
22
|
-
const dyValue = this._calculateDy(this._textPathDirective().fontSize, isTextReverse);
|
|
23
|
-
this.hostElement.setAttribute('dy', dyValue);
|
|
24
|
-
const textRect = this._textPathDirective().getBBox();
|
|
25
|
-
const textRectCenter = [textRect.x + textRect.width / 2, textRect.y + textRect.height / 2];
|
|
26
|
-
this.hostElement.setAttribute('transform', isTextReverse ? `rotate(180, ${textRectCenter})` : '');
|
|
27
|
-
const startOffset = FConnectionTextComponent._getTextStartOffset(line, this._base.fText || '', this._textPathDirective().symbolWidth);
|
|
28
|
-
if (startOffset < 0) {
|
|
29
|
-
this.hostElement.style.display = 'none';
|
|
30
|
-
}
|
|
31
|
-
else {
|
|
32
|
-
this.hostElement.style.display = 'unset';
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
_calculateDy(fontSize, isTextReverse) {
|
|
36
|
-
const fontSizeNumber = parseFloat(fontSize);
|
|
37
|
-
const dyValue = isTextReverse ? fontSizeNumber * 1.5 : fontSizeNumber * -0.8;
|
|
38
|
-
return dyValue.toString();
|
|
39
|
-
}
|
|
40
|
-
static _isTextReverse(line) {
|
|
41
|
-
return line.point1.x > line.point2.x;
|
|
42
|
-
}
|
|
43
|
-
static _getTextStartOffset(line, name, symbolWidth) {
|
|
44
|
-
const vectorLength = PointExtensions.hypotenuse(line.point1, line.point2);
|
|
45
|
-
return vectorLength / 2 - ((name || '').length * symbolWidth) / 2;
|
|
46
|
-
}
|
|
47
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FConnectionTextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
48
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.13", type: FConnectionTextComponent, selector: "text[f-connection-text]", host: { properties: { "attr.id": "textId" }, classAttribute: "f-component f-connection-text" }, providers: [{ provide: CONNECTION_TEXT, useExisting: FConnectionTextComponent }], viewQueries: [{ propertyName: "_textPathDirective", first: true, predicate: FConnectionTextPathDirective, descendants: true, isSignal: true }], ngImport: i0, template: "<ng-container xmlns:svg=\"http://www.w3.org/2000/svg\">\n <svg:textPath f-connection-text-path>\n {{ text }}\n </svg:textPath>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i1.FConnectionTextPathDirective, selector: "textPath[f-connection-text-path]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
49
|
-
}
|
|
50
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FConnectionTextComponent, decorators: [{
|
|
51
|
-
type: Component,
|
|
52
|
-
args: [{ selector: 'text[f-connection-text]', changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
53
|
-
class: 'f-component f-connection-text',
|
|
54
|
-
'[attr.id]': 'textId',
|
|
55
|
-
}, providers: [{ provide: CONNECTION_TEXT, useExisting: FConnectionTextComponent }], template: "<ng-container xmlns:svg=\"http://www.w3.org/2000/svg\">\n <svg:textPath f-connection-text-path>\n {{ text }}\n </svg:textPath>\n</ng-container>\n" }]
|
|
56
|
-
}] });
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0aW9uLXRleHQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3Rpb24vY29tbW9uL2YtY29ubmVjdGlvbi10ZXh0L2YtY29ubmVjdGlvbi10ZXh0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1jb25uZWN0aW9uL2NvbW1vbi9mLWNvbm5lY3Rpb24tdGV4dC9mLWNvbm5lY3Rpb24tdGV4dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xHLE9BQU8sRUFBUyxlQUFlLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDcEQsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDbEYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFHdkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxlQUFlLEVBQW1CLE1BQU0scUJBQXFCLENBQUM7OztBQVl2RSxNQUFNLE9BQU8sd0JBQXdCO0lBQ25CLFdBQVcsR0FBRyxNQUFNLENBQUMsQ0FBQSxVQUEwQixDQUFBLENBQUMsQ0FBQyxhQUFhLENBQUM7SUFDOUQsS0FBSyxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQThDLENBQUM7SUFFMUUsa0JBQWtCLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO0lBRXZGLElBQVcsTUFBTTtRQUNmLE9BQU8sd0JBQXdCLENBQUMsTUFBTSxDQUNwQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FB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QUNFLHlCQUF5QixtQkFFbEIsdUJBQXVCLENBQUMsTUFBTSxRQUN6Qzt3QkFDSixLQUFLLEVBQUUsK0JBQStCO3dCQUN0QyxXQUFXLEVBQUUsUUFBUTtxQkFDdEIsYUFDVSxDQUFDLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxXQUFXLDBCQUEwQixFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBpbmplY3QsIHZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSUxpbmUsIFBvaW50RXh0ZW5zaW9ucyB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgRkNvbm5lY3Rpb25UZXh0UGF0aERpcmVjdGl2ZSB9IGZyb20gJy4vZi1jb25uZWN0aW9uLXRleHQtcGF0aC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRl9DT05ORUNUSU9OX0lERU5USUZJRVJTIH0gZnJvbSAnLi4vZi1jb25uZWN0aW9uLWlkZW50aWZpZXJzJztcbmltcG9ydCB7IElIYXNDb25uZWN0aW9uVGV4dCB9IGZyb20gJy4uL2ktaGFzLWNvbm5lY3Rpb24tdGV4dCc7XG5pbXBvcnQgeyBJSGFzQ29ubmVjdGlvbkZyb21UbyB9IGZyb20gJy4uL2ktaGFzLWNvbm5lY3Rpb24tZnJvbS10byc7XG5pbXBvcnQgeyBGX0NPTk5FQ1RJT04gfSBmcm9tICcuLi9mLWNvbm5lY3Rpb24uaW5qZWN0aW9uLXRva2VuJztcbmltcG9ydCB7IENPTk5FQ1RJT05fVEVYVCwgSUNvbm5lY3Rpb25UZXh0IH0gZnJvbSAnLi9pLWNvbm5lY3Rpb24tdGV4dCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RleHRbZi1jb25uZWN0aW9uLXRleHRdJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2YtY29ubmVjdGlvbi10ZXh0LmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2YtY29tcG9uZW50IGYtY29ubmVjdGlvbi10ZXh0JyxcbiAgICAnW2F0dHIuaWRdJzogJ3RleHRJZCcsXG4gIH0sXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogQ09OTkVDVElPTl9URVhULCB1c2VFeGlzdGluZzogRkNvbm5lY3Rpb25UZXh0Q29tcG9uZW50IH1dLFxufSlcbmV4cG9ydCBjbGFzcyBGQ29ubmVjdGlvblRleHRDb21wb25lbnQgaW1wbGVtZW50cyBJQ29ubmVjdGlvblRleHQge1xuICBwdWJsaWMgcmVhZG9ubHkgaG9zdEVsZW1lbnQgPSBpbmplY3QoRWxlbWVudFJlZjxTVkdUZXh0RWxlbWVudD4pLm5hdGl2ZUVsZW1lbnQ7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2Jhc2UgPSBpbmplY3QoRl9DT05ORUNUSU9OKSBhcyBJSGFzQ29ubmVjdGlvblRleHQgJiBJSGFzQ29ubmVjdGlvbkZyb21UbztcblxuICBwcml2YXRlIHJlYWRvbmx5IF90ZXh0UGF0aERpcmVjdGl2ZSA9IHZpZXdDaGlsZC5yZXF1aXJlZChGQ29ubmVjdGlvblRleHRQYXRoRGlyZWN0aXZlKTtcblxuICBwdWJsaWMgZ2V0IHRleHRJZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBGX0NPTk5FQ1RJT05fSURFTlRJRklFUlMudGV4dElkKFxuICAgICAgdGhpcy5fYmFzZS5mSWQoKSArIHRoaXMuX2Jhc2UuZk91dHB1dElkKCkgKyB0aGlzLl9iYXNlLmZJbnB1dElkKCksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdGV4dCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9iYXNlLmZUZXh0IHx8ICcnO1xuICB9XG5cbiAgcHVibGljIHJlZHJhdyhsaW5lOiBJTGluZSk6IHZvaWQge1xuICAgIHRoaXMuX3RleHRQYXRoRGlyZWN0aXZlKCkucmVkcmF3KCk7XG4gICAgY29uc3QgaXNUZXh0UmV2ZXJzZTogYm9vbGVhbiA9IEZDb25uZWN0aW9uVGV4dENvbXBvbmVudC5faXNUZXh0UmV2ZXJzZShsaW5lKTtcbiAgICBjb25zdCBkeVZhbHVlID0gdGhpcy5fY2FsY3VsYXRlRHkodGhpcy5fdGV4dFBhdGhEaXJlY3RpdmUoKS5mb250U2l6ZSwgaXNUZXh0UmV2ZXJzZSk7XG5cbiAgICB0aGlzLmhvc3RFbGVtZW50LnNldEF0dHJpYnV0ZSgnZHknLCBkeVZhbHVlKTtcblxuICAgIGNvbnN0IHRleHRSZWN0ID0gdGhpcy5fdGV4dFBhdGhEaXJlY3RpdmUoKS5nZXRCQm94KCk7XG4gICAgY29uc3QgdGV4dFJlY3RDZW50ZXIgPSBbdGV4dFJlY3QueCArIHRleHRSZWN0LndpZHRoIC8gMiwgdGV4dFJlY3QueSArIHRleHRSZWN0LmhlaWdodCAvIDJdO1xuICAgIHRoaXMuaG9zdEVsZW1lbnQuc2V0QXR0cmlidXRlKFxuICAgICAgJ3RyYW5zZm9ybScsXG4gICAgICBpc1RleHRSZXZlcnNlID8gYHJvdGF0ZSgxODAsICR7dGV4dFJlY3RDZW50ZXJ9KWAgOiAnJyxcbiAgICApO1xuICAgIGNvbnN0IHN0YXJ0T2Zmc2V0ID0gRkNvbm5lY3Rpb25UZXh0Q29tcG9uZW50Ll9nZXRUZXh0U3RhcnRPZmZzZXQoXG4gICAgICBsaW5lLFxuICAgICAgdGhpcy5fYmFzZS5mVGV4dCB8fCAnJyxcbiAgICAgIHRoaXMuX3RleHRQYXRoRGlyZWN0aXZlKCkuc3ltYm9sV2lkdGgsXG4gICAgKTtcbiAgICBpZiAoc3RhcnRPZmZzZXQgPCAwKSB7XG4gICAgICB0aGlzLmhvc3RFbGVtZW50LnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaG9zdEVsZW1lbnQuc3R5bGUuZGlzcGxheSA9ICd1bnNldCc7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfY2FsY3VsYXRlRHkoZm9udFNpemU6IHN0cmluZywgaXNUZXh0UmV2ZXJzZTogYm9vbGVhbik6IHN0cmluZyB7XG4gICAgY29uc3QgZm9udFNpemVOdW1iZXIgPSBwYXJzZUZsb2F0KGZvbnRTaXplKTtcblxuICAgIGNvbnN0IGR5VmFsdWUgPSBpc1RleHRSZXZlcnNlID8gZm9udFNpemVOdW1iZXIgKiAxLjUgOiBmb250U2l6ZU51bWJlciAqIC0wLjg7XG5cbiAgICByZXR1cm4gZHlWYWx1ZS50b1N0cmluZygpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgX2lzVGV4dFJldmVyc2UobGluZTogSUxpbmUpOiBib29sZWFuIHtcbiAgICByZXR1cm4gbGluZS5wb2ludDEueCA+IGxpbmUucG9pbnQyLng7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBfZ2V0VGV4dFN0YXJ0T2Zmc2V0KGxpbmU6IElMaW5lLCBuYW1lOiBzdHJpbmcsIHN5bWJvbFdpZHRoOiBudW1iZXIpOiBudW1iZXIge1xuICAgIGNvbnN0IHZlY3Rvckxlbmd0aDogbnVtYmVyID0gUG9pbnRFeHRlbnNpb25zLmh5cG90ZW51c2UobGluZS5wb2ludDEsIGxpbmUucG9pbnQyKTtcblxuICAgIHJldHVybiB2ZWN0b3JMZW5ndGggLyAyIC0gKChuYW1lIHx8ICcnKS5sZW5ndGggKiBzeW1ib2xXaWR0aCkgLyAyO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyIHhtbG5zOnN2Zz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gICAgPHN2Zzp0ZXh0UGF0aCBmLWNvbm5lY3Rpb24tdGV4dC1wYXRoPlxuICAgICAgICB7eyB0ZXh0IH19XG4gICAgPC9zdmc6dGV4dFBhdGg+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import { InjectionToken } from '@angular/core';
|
|
2
|
-
export const CONNECTION_TEXT = new InjectionToken('CONNECTION_TEXT');
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaS1jb25uZWN0aW9uLXRleHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi9jb21tb24vZi1jb25uZWN0aW9uLXRleHQvaS1jb25uZWN0aW9uLXRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUcvQyxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsSUFBSSxjQUFjLENBQWtCLGlCQUFpQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJTGluZSB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElIYXNIb3N0RWxlbWVudCB9IGZyb20gJy4uLy4uLy4uL2ktaGFzLWhvc3QtZWxlbWVudCc7XG5cbmV4cG9ydCBjb25zdCBDT05ORUNUSU9OX1RFWFQgPSBuZXcgSW5qZWN0aW9uVG9rZW48SUNvbm5lY3Rpb25UZXh0PignQ09OTkVDVElPTl9URVhUJyk7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNvbm5lY3Rpb25UZXh0IGV4dGVuZHMgSUhhc0hvc3RFbGVtZW50IHtcblxuICByZWRyYXcobGluZTogSUxpbmUpOiB2b2lkO1xufVxuIl19
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export * from './f-connection-text.component';
|
|
2
|
-
export * from './f-connection-text-path.directive';
|
|
3
|
-
export * from './i-connection-text';
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi9jb21tb24vZi1jb25uZWN0aW9uLXRleHQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywrQkFBK0IsQ0FBQztBQUU5QyxjQUFjLG9DQUFvQyxDQUFDO0FBRW5ELGNBQWMscUJBQXFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2YtY29ubmVjdGlvbi10ZXh0LmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1jb25uZWN0aW9uLXRleHQtcGF0aC5kaXJlY3RpdmUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2ktY29ubmVjdGlvbi10ZXh0JztcbiJdfQ==
|