@xyflow/vue 2.0.0-next.3 → 2.0.0-next.4
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/dist/index.d.mts +265 -4
- package/dist/index.d.ts +265 -4
- package/dist/index.js +132 -37
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +130 -38
- package/dist/index.mjs.map +1 -1
- package/package.json +5 -3
package/dist/index.mjs
CHANGED
|
@@ -21,12 +21,14 @@ let ErrorCode = /* @__PURE__ */ function(ErrorCode) {
|
|
|
21
21
|
ErrorCode["NODE_MISSING_PARENT"] = "NODE_MISSING_PARENT";
|
|
22
22
|
ErrorCode["NODE_TYPE_MISSING"] = "NODE_TYPE_MISSING";
|
|
23
23
|
ErrorCode["NODE_EXTENT_INVALID"] = "NODE_EXTENT_INVALID";
|
|
24
|
+
ErrorCode["NODE_DUPLICATE_ID"] = "NODE_DUPLICATE_ID";
|
|
24
25
|
ErrorCode["EDGE_INVALID"] = "EDGE_INVALID";
|
|
25
26
|
ErrorCode["EDGE_NOT_FOUND"] = "EDGE_NOT_FOUND";
|
|
26
27
|
ErrorCode["EDGE_SOURCE_MISSING"] = "EDGE_SOURCE_MISSING";
|
|
27
28
|
ErrorCode["EDGE_TARGET_MISSING"] = "EDGE_TARGET_MISSING";
|
|
28
29
|
ErrorCode["EDGE_TYPE_MISSING"] = "EDGE_TYPE_MISSING";
|
|
29
30
|
ErrorCode["EDGE_SOURCE_TARGET_MISSING"] = "EDGE_SOURCE_TARGET_MISSING";
|
|
31
|
+
ErrorCode["EDGE_DUPLICATE_ID"] = "EDGE_DUPLICATE_ID";
|
|
30
32
|
ErrorCode["USE_VUE_FLOW_OUTSIDE_PROVIDER"] = "USE_VUE_FLOW_OUTSIDE_PROVIDER";
|
|
31
33
|
return ErrorCode;
|
|
32
34
|
}({});
|
|
@@ -38,11 +40,13 @@ const messages = {
|
|
|
38
40
|
["NODE_MISSING_PARENT"]: (id, parentId) => `Node is missing a parent\nNode id: ${id}\nParent id: ${parentId}`,
|
|
39
41
|
["NODE_TYPE_MISSING"]: (type) => `Node type is missing\nType: ${type}`,
|
|
40
42
|
["NODE_EXTENT_INVALID"]: (id) => `Only child nodes can use a parent extent\nNode id: ${id}`,
|
|
43
|
+
["NODE_DUPLICATE_ID"]: (id) => `Node id is not unique — a later node overwrites the earlier one in the lookup\nNode id: ${id}`,
|
|
41
44
|
["EDGE_INVALID"]: (id) => `An edge needs a source and a target\nEdge id: ${id}`,
|
|
42
45
|
["EDGE_SOURCE_MISSING"]: (id, source) => `Edge source is missing\nEdge id: ${id} \nSource id: ${source}`,
|
|
43
46
|
["EDGE_TARGET_MISSING"]: (id, target) => `Edge target is missing\nEdge id: ${id} \nTarget id: ${target}`,
|
|
44
47
|
["EDGE_TYPE_MISSING"]: (type) => `Edge type is missing\nType: ${type}`,
|
|
45
48
|
["EDGE_SOURCE_TARGET_MISSING"]: (id, source, target) => `Edge source or target is missing\nEdge id: ${id} \nSource id: ${source} \nTarget id: ${target}`,
|
|
49
|
+
["EDGE_DUPLICATE_ID"]: (id) => `Edge id is not unique — a later edge overwrites the earlier one in the lookup\nEdge id: ${id}`,
|
|
46
50
|
["EDGE_NOT_FOUND"]: (id) => `Edge not found\nEdge id: ${id}`,
|
|
47
51
|
["USE_VUE_FLOW_OUTSIDE_PROVIDER"]: () => `useVueFlow() was called without a <VueFlow> or <VueFlowProvider> ancestor (or outside a component setup). Render one of them above the call, or wrap your components in <VueFlowProvider> to share a store.`
|
|
48
52
|
};
|
|
@@ -825,12 +829,15 @@ function reconnectEdgeAction(edge, newConnection, prevEdge, shouldReplaceId, tri
|
|
|
825
829
|
*/
|
|
826
830
|
function adoptNodes(nodes, nodeLookup, parentLookup, triggerError, options) {
|
|
827
831
|
const validNodes = [];
|
|
832
|
+
const seenNodeIds = /* @__PURE__ */ new Set();
|
|
828
833
|
for (let i = 0; i < nodes.length; ++i) {
|
|
829
834
|
const node = nodes[i];
|
|
830
835
|
if (!isNode(node)) {
|
|
831
836
|
triggerError(new VueFlowError("NODE_INVALID", node?.id ?? `[ID UNKNOWN|INDEX ${i}]`));
|
|
832
837
|
continue;
|
|
833
838
|
}
|
|
839
|
+
if (seenNodeIds.has(node.id)) triggerError(new VueFlowError("NODE_DUPLICATE_ID", node.id));
|
|
840
|
+
else seenNodeIds.add(node.id);
|
|
834
841
|
validNodes.push(markRaw(toRaw(node)));
|
|
835
842
|
}
|
|
836
843
|
const priorInternals = /* @__PURE__ */ new Map();
|
|
@@ -1553,9 +1560,10 @@ function useViewportHelper(state, nodeLookup) {
|
|
|
1553
1560
|
/**
|
|
1554
1561
|
* Two-way bind a `v-model` array ref to the store, identity-in / snapshot-out, with native `watch`.
|
|
1555
1562
|
*
|
|
1556
|
-
*
|
|
1557
|
-
*
|
|
1558
|
-
*
|
|
1563
|
+
* Runs for BOTH the owned- and reused-store paths: the store's canonical nodes/edges are always an
|
|
1564
|
+
* internal `shallowRef` (see `createStore`), never the v-model ref, so this is the single place the model
|
|
1565
|
+
* ref is bridged to the store. Both directions flush synchronously so the model ref and the store's
|
|
1566
|
+
* synchronous reads (`getNodes`/`state.nodes`) never disagree within a tick.
|
|
1559
1567
|
*
|
|
1560
1568
|
* - **out** (store → model): snapshot on every membership change; element refs are shared, so per-node
|
|
1561
1569
|
* field mutations surface without a copy.
|
|
@@ -1568,24 +1576,29 @@ function syncModelArray(model, storeItems, setItems) {
|
|
|
1568
1576
|
watch([storeItems, () => storeItems.value.length], () => {
|
|
1569
1577
|
lastSnapshot = [...storeItems.value];
|
|
1570
1578
|
model.value = lastSnapshot;
|
|
1571
|
-
}, {
|
|
1579
|
+
}, {
|
|
1580
|
+
immediate: storeItems.value.length > 0,
|
|
1581
|
+
flush: "sync"
|
|
1582
|
+
});
|
|
1572
1583
|
watch([model, () => model.value?.length], ([next]) => {
|
|
1573
1584
|
if (!Array.isArray(next)) return;
|
|
1574
1585
|
const nextRaw = toRaw(next);
|
|
1575
1586
|
if (nextRaw === lastSnapshot) return;
|
|
1576
1587
|
setItems(nextRaw);
|
|
1577
|
-
}, {
|
|
1588
|
+
}, {
|
|
1589
|
+
immediate: true,
|
|
1590
|
+
flush: "sync"
|
|
1591
|
+
});
|
|
1578
1592
|
}
|
|
1579
1593
|
/**
|
|
1580
1594
|
* Watches props and updates the store accordingly
|
|
1581
1595
|
*
|
|
1582
1596
|
* @internal
|
|
1583
|
-
* @param models v-model refs for nodes/edges
|
|
1597
|
+
* @param models v-model refs for nodes/edges — bridged to the store here (see {@link syncModelArray})
|
|
1584
1598
|
* @param props the `<VueFlow>` props
|
|
1585
1599
|
* @param handle the created store handle ({@link VueFlowStoreHandle}) — instance (actions) + reactive state
|
|
1586
|
-
* @param ownsStore whether this `<VueFlow>` created the store (then nodes/edges are signal-backed and skipped here)
|
|
1587
1600
|
*/
|
|
1588
|
-
function useWatchProps(models, props, handle
|
|
1601
|
+
function useWatchProps(models, props, handle) {
|
|
1589
1602
|
const { instance, state } = handle;
|
|
1590
1603
|
const storeRefs = storeToRefs(state);
|
|
1591
1604
|
const scope = effectScope(true);
|
|
@@ -1689,10 +1702,8 @@ function useWatchProps(models, props, handle, ownsStore = false) {
|
|
|
1689
1702
|
}
|
|
1690
1703
|
};
|
|
1691
1704
|
const runAll = () => {
|
|
1692
|
-
|
|
1693
|
-
|
|
1694
|
-
watchEdgesValue();
|
|
1695
|
-
}
|
|
1705
|
+
watchNodesValue();
|
|
1706
|
+
watchEdgesValue();
|
|
1696
1707
|
watchMinZoom();
|
|
1697
1708
|
watchMaxZoom();
|
|
1698
1709
|
watchTranslateExtent();
|
|
@@ -1714,7 +1725,8 @@ const _sfc_main$22 = /* @__PURE__ */ defineComponent({
|
|
|
1714
1725
|
props: {
|
|
1715
1726
|
position: {
|
|
1716
1727
|
type: String,
|
|
1717
|
-
required:
|
|
1728
|
+
required: false,
|
|
1729
|
+
default: "top-left"
|
|
1718
1730
|
},
|
|
1719
1731
|
label: {
|
|
1720
1732
|
type: [String, null],
|
|
@@ -3306,14 +3318,16 @@ const _sfc_main$14 = /* @__PURE__ */ defineComponent({
|
|
|
3306
3318
|
const { nodeLookup, parentLookup } = useStore();
|
|
3307
3319
|
const { transform, nodeOrigin, snapGrid, snapToGrid, vueFlowRef, noDragClassName } = storeToRefs(useStore());
|
|
3308
3320
|
const resizeControlRef = shallowRef();
|
|
3321
|
+
const contextNodeId = inject(NodeId, null);
|
|
3322
|
+
const nodeId = toRef(() => typeof props.nodeId === "string" ? props.nodeId : contextNodeId ?? void 0);
|
|
3309
3323
|
const controlPosition = toRef(() => props.position ?? DefaultPositions[props.variant]);
|
|
3310
3324
|
const positionClassNames = computed(() => controlPosition.value.split("-"));
|
|
3311
3325
|
const controlStyle = toRef(() => props.color ? { [StylingProperty[props.variant]]: props.color } : {});
|
|
3312
3326
|
watchEffect((onCleanup) => {
|
|
3313
|
-
if (!resizeControlRef.value || !
|
|
3327
|
+
if (!resizeControlRef.value || !nodeId.value) return;
|
|
3314
3328
|
const resizerInstance = XYResizer({
|
|
3315
3329
|
domNode: resizeControlRef.value,
|
|
3316
|
-
nodeId:
|
|
3330
|
+
nodeId: nodeId.value,
|
|
3317
3331
|
getStoreItems: () => ({
|
|
3318
3332
|
nodeLookup,
|
|
3319
3333
|
transform: transform.value,
|
|
@@ -3324,7 +3338,7 @@ const _sfc_main$14 = /* @__PURE__ */ defineComponent({
|
|
|
3324
3338
|
}),
|
|
3325
3339
|
onChange: (changes, childChanges) => {
|
|
3326
3340
|
const nodeChanges = [];
|
|
3327
|
-
const node = nodeLookup.get(
|
|
3341
|
+
const node = nodeLookup.get(nodeId.value);
|
|
3328
3342
|
let nextX = changes.x;
|
|
3329
3343
|
let nextY = changes.y;
|
|
3330
3344
|
if (node?.expandParent && node.parentId) {
|
|
@@ -3356,14 +3370,14 @@ const _sfc_main$14 = /* @__PURE__ */ defineComponent({
|
|
|
3356
3370
|
y: nextY ?? node?.position.y ?? 0
|
|
3357
3371
|
};
|
|
3358
3372
|
nodeChanges.push({
|
|
3359
|
-
id:
|
|
3373
|
+
id: nodeId.value,
|
|
3360
3374
|
type: "position",
|
|
3361
3375
|
position,
|
|
3362
3376
|
positionAbsolute: position
|
|
3363
3377
|
});
|
|
3364
3378
|
}
|
|
3365
3379
|
if (typeof changes.width !== "undefined" || typeof changes.height !== "undefined") nodeChanges.push({
|
|
3366
|
-
id:
|
|
3380
|
+
id: nodeId.value,
|
|
3367
3381
|
type: "dimensions",
|
|
3368
3382
|
setAttributes: true,
|
|
3369
3383
|
resizing: true,
|
|
@@ -3382,7 +3396,7 @@ const _sfc_main$14 = /* @__PURE__ */ defineComponent({
|
|
|
3382
3396
|
},
|
|
3383
3397
|
onEnd: ({ width, height }) => {
|
|
3384
3398
|
triggerEmits.nodesChange([{
|
|
3385
|
-
id:
|
|
3399
|
+
id: nodeId.value,
|
|
3386
3400
|
type: "dimensions",
|
|
3387
3401
|
resizing: false,
|
|
3388
3402
|
dimensions: {
|
|
@@ -3433,6 +3447,8 @@ const _sfc_main$14 = /* @__PURE__ */ defineComponent({
|
|
|
3433
3447
|
vueFlowRef,
|
|
3434
3448
|
noDragClassName,
|
|
3435
3449
|
resizeControlRef,
|
|
3450
|
+
contextNodeId,
|
|
3451
|
+
nodeId,
|
|
3436
3452
|
controlPosition,
|
|
3437
3453
|
positionClassNames,
|
|
3438
3454
|
controlStyle,
|
|
@@ -4276,8 +4292,11 @@ function useActions(state, nodeLookup, parentLookup, edgeLookup) {
|
|
|
4276
4292
|
*/
|
|
4277
4293
|
function commitEdges(next) {
|
|
4278
4294
|
const rawEdgeLookup = toRaw(edgeLookup);
|
|
4295
|
+
const seenEdgeIds = /* @__PURE__ */ new Set();
|
|
4279
4296
|
for (let i = 0; i < next.length; i++) {
|
|
4280
4297
|
const edge = next[i] = markRaw(toRaw(next[i]));
|
|
4298
|
+
if (seenEdgeIds.has(edge.id)) state.hooks.error.trigger(new VueFlowError("EDGE_DUPLICATE_ID", edge.id));
|
|
4299
|
+
else seenEdgeIds.add(edge.id);
|
|
4281
4300
|
if (rawEdgeLookup.get(edge.id) !== edge) edgeLookup.set(edge.id, edge);
|
|
4282
4301
|
}
|
|
4283
4302
|
if (rawEdgeLookup.size !== next.length) {
|
|
@@ -4961,17 +4980,14 @@ function useGetters(state, nodeLookup) {
|
|
|
4961
4980
|
* @internal
|
|
4962
4981
|
*/
|
|
4963
4982
|
function createVueFlowStore(id, preloadedState, onDestroy, signals) {
|
|
4964
|
-
const nodesSignal = signals?.nodes ??
|
|
4965
|
-
const edgesSignal = signals?.edges ??
|
|
4966
|
-
let lastWriteNodes;
|
|
4967
|
-
let lastWriteEdges;
|
|
4983
|
+
const nodesSignal = shallowRef(signals?.nodes?.value ?? []);
|
|
4984
|
+
const edgesSignal = shallowRef(signals?.edges?.value ?? []);
|
|
4968
4985
|
const emptyNodes = [];
|
|
4969
4986
|
const emptyEdges = [];
|
|
4970
4987
|
const state = useState();
|
|
4971
4988
|
Object.defineProperty(state, "nodes", {
|
|
4972
4989
|
get: () => nodesSignal.value ?? emptyNodes,
|
|
4973
4990
|
set: (value) => {
|
|
4974
|
-
lastWriteNodes = toRaw(value);
|
|
4975
4991
|
nodesSignal.value = value;
|
|
4976
4992
|
},
|
|
4977
4993
|
enumerable: true,
|
|
@@ -4980,7 +4996,6 @@ function createVueFlowStore(id, preloadedState, onDestroy, signals) {
|
|
|
4980
4996
|
Object.defineProperty(state, "edges", {
|
|
4981
4997
|
get: () => edgesSignal.value ?? emptyEdges,
|
|
4982
4998
|
set: (value) => {
|
|
4983
|
-
lastWriteEdges = toRaw(value);
|
|
4984
4999
|
edgesSignal.value = value;
|
|
4985
5000
|
},
|
|
4986
5001
|
enumerable: true,
|
|
@@ -5003,14 +5018,6 @@ function createVueFlowStore(id, preloadedState, onDestroy, signals) {
|
|
|
5003
5018
|
...reactiveState,
|
|
5004
5019
|
...preloadedState
|
|
5005
5020
|
});
|
|
5006
|
-
if (signals?.nodes) watch(nodesSignal, (next) => {
|
|
5007
|
-
const nextRaw = next && toRaw(next);
|
|
5008
|
-
if (nextRaw && nextRaw !== lastWriteNodes) actions.setNodes(nextRaw);
|
|
5009
|
-
});
|
|
5010
|
-
if (signals?.edges) watch(edgesSignal, (next) => {
|
|
5011
|
-
const nextRaw = next && toRaw(next);
|
|
5012
|
-
if (nextRaw && nextRaw !== lastWriteEdges) actions.setEdges(nextRaw);
|
|
5013
|
-
});
|
|
5014
5021
|
return {
|
|
5015
5022
|
instance: {
|
|
5016
5023
|
...hooksOn,
|
|
@@ -5161,7 +5168,7 @@ function useViewportSync(model, state = useStore()) {
|
|
|
5161
5168
|
};
|
|
5162
5169
|
if (sameViewport(viewport, model.value)) return;
|
|
5163
5170
|
model.value = viewport;
|
|
5164
|
-
});
|
|
5171
|
+
}, { flush: "sync" });
|
|
5165
5172
|
}
|
|
5166
5173
|
//#endregion
|
|
5167
5174
|
//#region src/components/ConnectionLine/index.ts
|
|
@@ -5194,13 +5201,13 @@ const ConnectionLine = defineComponent({
|
|
|
5194
5201
|
}
|
|
5195
5202
|
const fromHandle = (startHandleId ? handleBounds.find((d) => d.id === startHandleId) : handleBounds[0]) ?? null;
|
|
5196
5203
|
const fromPosition = fromHandle?.position ?? Position$1.Top;
|
|
5197
|
-
const { x: fromX, y: fromY } = getHandlePosition(fromNode.value, fromHandle, fromPosition);
|
|
5204
|
+
const { x: fromX, y: fromY } = getHandlePosition(fromNode.value, fromHandle, fromPosition, true);
|
|
5198
5205
|
let toHandle = null;
|
|
5199
5206
|
if (toNode.value) if (connectionMode.value === ConnectionMode$1.Strict) toHandle = toNode.value.internals.handleBounds?.[handleType === "source" ? "target" : "source"]?.find((d) => d.id === connectionEndHandle.value?.id) || null;
|
|
5200
5207
|
else toHandle = [...toNode.value.internals.handleBounds?.source ?? [], ...toNode.value.internals.handleBounds?.target ?? []].find((d) => d.id === connectionEndHandle.value?.id) || null;
|
|
5201
5208
|
const toPosition = connectionEndHandle.value?.position ?? (fromPosition ? oppositePosition[fromPosition] : null);
|
|
5202
5209
|
if (!fromPosition || !toPosition) return null;
|
|
5203
|
-
const { x: toX, y: toY } = toHandle && toNode.value ? getHandlePosition(toNode.value, toHandle, toPosition) : pointer.value;
|
|
5210
|
+
const { x: toX, y: toY } = toHandle && toNode.value ? getHandlePosition(toNode.value, toHandle, toPosition, true) : pointer.value;
|
|
5204
5211
|
const type = connectionLineOptions.value.type ?? ConnectionLineType$1.Bezier;
|
|
5205
5212
|
let dAttr = "";
|
|
5206
5213
|
const pathParams = {
|
|
@@ -5941,6 +5948,8 @@ const NodeWrapper = defineComponent({
|
|
|
5941
5948
|
const getStyle = computed(() => {
|
|
5942
5949
|
const node = nodeRef.value;
|
|
5943
5950
|
const styles = { ...node?.style };
|
|
5951
|
+
if (typeof styles.width === "number") styles.width = `${styles.width}px`;
|
|
5952
|
+
if (typeof styles.height === "number") styles.height = `${styles.height}px`;
|
|
5944
5953
|
const isMeasured = !!node?.internals.handleBounds;
|
|
5945
5954
|
const width = node?.width ?? (isMeasured ? void 0 : node?.initialWidth);
|
|
5946
5955
|
const height = node?.height ?? (isMeasured ? void 0 : node?.initialHeight);
|
|
@@ -7309,7 +7318,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
7309
7318
|
}, props, {
|
|
7310
7319
|
instance,
|
|
7311
7320
|
state
|
|
7312
|
-
}
|
|
7321
|
+
});
|
|
7313
7322
|
useHooks(emit, state.hooks);
|
|
7314
7323
|
useOnInitHandler(instance);
|
|
7315
7324
|
useSelectionChange(instance);
|
|
@@ -7382,6 +7391,89 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
7382
7391
|
}
|
|
7383
7392
|
var VueFlowProvider_default = /* @__PURE__ */ export_helper_default(_sfc_main, [["render", _sfc_render], ["__file", "/Users/moritz/xyflow/xyflow/packages/vue/src/container/VueFlowProvider/VueFlowProvider.vue"]]);
|
|
7384
7393
|
//#endregion
|
|
7385
|
-
|
|
7394
|
+
//#region src/utils/prop-of.ts
|
|
7395
|
+
function propOf(required = false) {
|
|
7396
|
+
return {
|
|
7397
|
+
type: null,
|
|
7398
|
+
required
|
|
7399
|
+
};
|
|
7400
|
+
}
|
|
7401
|
+
//#endregion
|
|
7402
|
+
//#region src/props-objects.gen.ts
|
|
7403
|
+
function nodeProps() {
|
|
7404
|
+
return {
|
|
7405
|
+
data: propOf(true),
|
|
7406
|
+
deletable: propOf(true),
|
|
7407
|
+
dragHandle: propOf(),
|
|
7408
|
+
draggable: propOf(true),
|
|
7409
|
+
dragging: propOf(true),
|
|
7410
|
+
height: propOf(),
|
|
7411
|
+
id: propOf(true),
|
|
7412
|
+
isConnectable: propOf(true),
|
|
7413
|
+
parentId: propOf(),
|
|
7414
|
+
positionAbsoluteX: propOf(true),
|
|
7415
|
+
positionAbsoluteY: propOf(true),
|
|
7416
|
+
selectable: propOf(true),
|
|
7417
|
+
selected: propOf(true),
|
|
7418
|
+
sourcePosition: propOf(),
|
|
7419
|
+
targetPosition: propOf(),
|
|
7420
|
+
type: propOf(true),
|
|
7421
|
+
width: propOf(),
|
|
7422
|
+
zIndex: propOf(true)
|
|
7423
|
+
};
|
|
7424
|
+
}
|
|
7425
|
+
function edgeProps() {
|
|
7426
|
+
return {
|
|
7427
|
+
animated: propOf(),
|
|
7428
|
+
curvature: propOf(),
|
|
7429
|
+
data: propOf(),
|
|
7430
|
+
deletable: propOf(),
|
|
7431
|
+
id: propOf(true),
|
|
7432
|
+
interactionWidth: propOf(),
|
|
7433
|
+
label: propOf(),
|
|
7434
|
+
labelBgBorderRadius: propOf(),
|
|
7435
|
+
labelBgPadding: propOf(),
|
|
7436
|
+
labelBgStyle: propOf(),
|
|
7437
|
+
labelShowBg: propOf(),
|
|
7438
|
+
labelStyle: propOf(),
|
|
7439
|
+
markerEnd: propOf(),
|
|
7440
|
+
markerStart: propOf(),
|
|
7441
|
+
reconnectable: propOf(),
|
|
7442
|
+
selectable: propOf(),
|
|
7443
|
+
selected: propOf(),
|
|
7444
|
+
source: propOf(true),
|
|
7445
|
+
sourceHandleId: propOf(),
|
|
7446
|
+
sourcePosition: propOf(true),
|
|
7447
|
+
sourceX: propOf(true),
|
|
7448
|
+
sourceY: propOf(true),
|
|
7449
|
+
style: propOf(),
|
|
7450
|
+
target: propOf(true),
|
|
7451
|
+
targetHandleId: propOf(),
|
|
7452
|
+
targetPosition: propOf(true),
|
|
7453
|
+
targetX: propOf(true),
|
|
7454
|
+
targetY: propOf(true),
|
|
7455
|
+
type: propOf()
|
|
7456
|
+
};
|
|
7457
|
+
}
|
|
7458
|
+
function connectionLineProps() {
|
|
7459
|
+
return {
|
|
7460
|
+
connectionStatus: propOf(true),
|
|
7461
|
+
fromHandle: propOf(true),
|
|
7462
|
+
fromNode: propOf(true),
|
|
7463
|
+
fromPosition: propOf(true),
|
|
7464
|
+
fromX: propOf(true),
|
|
7465
|
+
fromY: propOf(true),
|
|
7466
|
+
markerEnd: propOf(),
|
|
7467
|
+
markerStart: propOf(),
|
|
7468
|
+
pointer: propOf(true),
|
|
7469
|
+
toHandle: propOf(true),
|
|
7470
|
+
toNode: propOf(true),
|
|
7471
|
+
toPosition: propOf(true),
|
|
7472
|
+
toX: propOf(true),
|
|
7473
|
+
toY: propOf(true)
|
|
7474
|
+
};
|
|
7475
|
+
}
|
|
7476
|
+
//#endregion
|
|
7477
|
+
export { Background_default as Background, BaseEdge_default as BaseEdge, BezierEdge, ConnectionLineType, ConnectionMode, ControlButton_default as ControlButton, Controls_default as Controls, EdgeLabelRenderer_default as EdgeLabelRenderer, EdgeText_default as EdgeText, ErrorCode, Handle_default as Handle, MarkerType, MiniMap_default as MiniMap, MiniMapNode_default as MiniMapNode, NodeId as NodeIdInjection, ResizeControl_default as NodeResizeControl, NodeResizer_default as NodeResizer, NodeToolbar_default as NodeToolbar, PanOnScrollMode, Panel_default as Panel, Position, ResizeControlVariant, SelectionMode, SimpleBezierEdge, Slots, SmoothStepEdge, StepEdge, StraightEdge, VueFlow_default as VueFlow, VueFlowError, VueFlow as VueFlowInjection, VueFlowProvider_default as VueFlowProvider, applyChanges, applyEdgeChanges, applyNodeChanges, clamp, connectionExists, connectionLineProps, defaultEdgeTypes, defaultNodeTypes, edgeProps, getBezierEdgeCenter, getBezierPath, getBoundsOfBoxes, getBoundsOfRects, getConnectedEdges, getConnectionStatus, getIncomers, getMarkerId, getNodesBounds, getNodesInside, getOutgoers, getSimpleBezierPath, getSmoothStepPath, getStraightPath, getViewportForBounds, isEdge, isEdgeBase, isErrorOfType, isInternalNode, isInternalNodeBase, isMacOs, isNode, isNodeBase, nodeProps, pointToRendererPoint, rendererPointToPoint, storeToRefs, useConnection, useEdge, useEdgesData, useHandle, useInternalNode, useKeyPress, useNode, useNodeConnections, useNodeId, useNodesData, useNodesInitialized, useStore, useVueFlow };
|
|
7386
7478
|
|
|
7387
7479
|
//# sourceMappingURL=index.mjs.map
|