@sentropic/design-system-vue 0.9.0 → 0.11.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/dist/ForceGraph.d.ts +104 -0
- package/dist/ForceGraph.d.ts.map +1 -1
- package/dist/ForceGraph.js +193 -4
- package/dist/ForceGraph.js.map +1 -1
- package/dist/Popper.d.ts +170 -0
- package/dist/Popper.d.ts.map +1 -0
- package/dist/Popper.js +216 -0
- package/dist/Popper.js.map +1 -0
- package/dist/Portal.d.ts +51 -0
- package/dist/Portal.d.ts.map +1 -0
- package/dist/Portal.js +26 -0
- package/dist/Portal.js.map +1 -0
- package/dist/SelectableList.d.ts +98 -0
- package/dist/SelectableList.d.ts.map +1 -0
- package/dist/SelectableList.js +174 -0
- package/dist/SelectableList.js.map +1 -0
- package/dist/SelectableRow.d.ts +140 -0
- package/dist/SelectableRow.d.ts.map +1 -0
- package/dist/SelectableRow.js +130 -0
- package/dist/SelectableRow.js.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/styles.css +172 -0
- package/package.json +1 -1
package/dist/ForceGraph.d.ts
CHANGED
|
@@ -95,6 +95,38 @@ export type ForceGraphProps = {
|
|
|
95
95
|
* null when the hover/focus ends. Intended for syncing an external panel.
|
|
96
96
|
*/
|
|
97
97
|
onNodeHover?: (node: ForceGraphNode | null) => void;
|
|
98
|
+
/**
|
|
99
|
+
* Reconciliation merge animation (CLIENT-ONLY — driven by a `watch`, which
|
|
100
|
+
* never runs during SSR, so no merge is animated or resolved server-side).
|
|
101
|
+
*
|
|
102
|
+
* Pass a `{ id, from, into }` where both `from` and `into` exist in `nodes`:
|
|
103
|
+
* the `from` node animates toward the position of `into` while fading out (the
|
|
104
|
+
* node and its incident edges), then `onMergeComplete(pair)` fires exactly
|
|
105
|
+
* ONCE for that `id`. Purely visual — the component never mutates the data;
|
|
106
|
+
* the consumer removes `from` from `nodes` after the callback.
|
|
107
|
+
*
|
|
108
|
+
* Idempotent on `id`: re-passing the SAME `id` (even with a new identity for
|
|
109
|
+
* the object) is a no-op — the animation/callback are not replayed. Passing a
|
|
110
|
+
* NEW `id` (re)plays the merge, even for the same `from`/`into` pair. After
|
|
111
|
+
* completion the `from` node stays MASKED (hidden) until the consumer removes
|
|
112
|
+
* it or a new `mergePair` is supplied, so it does not flash back when the prop
|
|
113
|
+
* returns to null. Pass null (the default) for no merge in flight.
|
|
114
|
+
*/
|
|
115
|
+
mergePair?: {
|
|
116
|
+
id: string;
|
|
117
|
+
from: string;
|
|
118
|
+
into: string;
|
|
119
|
+
} | null;
|
|
120
|
+
/**
|
|
121
|
+
* Fired once the merge animation for the current `mergePair` completes (or
|
|
122
|
+
* immediately, on a microtask, under reduced motion). Fires at most ONCE per
|
|
123
|
+
* `id`. Receives the same pair so the consumer can drop `from` from the data.
|
|
124
|
+
*/
|
|
125
|
+
onMergeComplete?: (pair: {
|
|
126
|
+
id: string;
|
|
127
|
+
from: string;
|
|
128
|
+
into: string;
|
|
129
|
+
}) => void;
|
|
98
130
|
class?: string;
|
|
99
131
|
};
|
|
100
132
|
/**
|
|
@@ -182,6 +214,32 @@ export declare const ForceGraph: import("vue").DefineComponent<import("vue").Ext
|
|
|
182
214
|
type: PropType<(node: ForceGraphNode | null) => void>;
|
|
183
215
|
default: undefined;
|
|
184
216
|
};
|
|
217
|
+
/**
|
|
218
|
+
* Reconciliation merge animation (CLIENT-ONLY): a new valid `{ id, from,
|
|
219
|
+
* into }` glides the `from` node toward `into` while fading out, then fires
|
|
220
|
+
* `onMergeComplete` exactly once per `id`. Idempotent on `id`; the `from`
|
|
221
|
+
* node stays masked after completion until removed. Pass null for no merge.
|
|
222
|
+
*/
|
|
223
|
+
mergePair: {
|
|
224
|
+
type: PropType<{
|
|
225
|
+
id: string;
|
|
226
|
+
from: string;
|
|
227
|
+
into: string;
|
|
228
|
+
} | null>;
|
|
229
|
+
default: null;
|
|
230
|
+
};
|
|
231
|
+
/**
|
|
232
|
+
* Fired once the merge animation completes (or immediately, on a microtask,
|
|
233
|
+
* under reduced motion). At most ONCE per `id`. Receives the same pair.
|
|
234
|
+
*/
|
|
235
|
+
onMergeComplete: {
|
|
236
|
+
type: PropType<(pair: {
|
|
237
|
+
id: string;
|
|
238
|
+
from: string;
|
|
239
|
+
into: string;
|
|
240
|
+
}) => void>;
|
|
241
|
+
default: undefined;
|
|
242
|
+
};
|
|
185
243
|
class: {
|
|
186
244
|
type: StringConstructor;
|
|
187
245
|
default: undefined;
|
|
@@ -193,6 +251,11 @@ export declare const ForceGraph: import("vue").DefineComponent<import("vue").Ext
|
|
|
193
251
|
openEntity: (_id: string) => true;
|
|
194
252
|
edgeHover: (_edge: ForceGraphEdge) => true;
|
|
195
253
|
nodeHover: (_node: ForceGraphNode | null) => true;
|
|
254
|
+
mergeComplete: (_pair: {
|
|
255
|
+
id: string;
|
|
256
|
+
from: string;
|
|
257
|
+
into: string;
|
|
258
|
+
}) => true;
|
|
196
259
|
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
197
260
|
nodes: {
|
|
198
261
|
type: PropType<ForceGraphNode[]>;
|
|
@@ -272,6 +335,32 @@ export declare const ForceGraph: import("vue").DefineComponent<import("vue").Ext
|
|
|
272
335
|
type: PropType<(node: ForceGraphNode | null) => void>;
|
|
273
336
|
default: undefined;
|
|
274
337
|
};
|
|
338
|
+
/**
|
|
339
|
+
* Reconciliation merge animation (CLIENT-ONLY): a new valid `{ id, from,
|
|
340
|
+
* into }` glides the `from` node toward `into` while fading out, then fires
|
|
341
|
+
* `onMergeComplete` exactly once per `id`. Idempotent on `id`; the `from`
|
|
342
|
+
* node stays masked after completion until removed. Pass null for no merge.
|
|
343
|
+
*/
|
|
344
|
+
mergePair: {
|
|
345
|
+
type: PropType<{
|
|
346
|
+
id: string;
|
|
347
|
+
from: string;
|
|
348
|
+
into: string;
|
|
349
|
+
} | null>;
|
|
350
|
+
default: null;
|
|
351
|
+
};
|
|
352
|
+
/**
|
|
353
|
+
* Fired once the merge animation completes (or immediately, on a microtask,
|
|
354
|
+
* under reduced motion). At most ONCE per `id`. Receives the same pair.
|
|
355
|
+
*/
|
|
356
|
+
onMergeComplete: {
|
|
357
|
+
type: PropType<(pair: {
|
|
358
|
+
id: string;
|
|
359
|
+
from: string;
|
|
360
|
+
into: string;
|
|
361
|
+
}) => void>;
|
|
362
|
+
default: undefined;
|
|
363
|
+
};
|
|
275
364
|
class: {
|
|
276
365
|
type: StringConstructor;
|
|
277
366
|
default: undefined;
|
|
@@ -281,6 +370,11 @@ export declare const ForceGraph: import("vue").DefineComponent<import("vue").Ext
|
|
|
281
370
|
onOpenEntity?: ((_id: string) => any) | undefined;
|
|
282
371
|
onEdgeHover?: ((_edge: ForceGraphEdge) => any) | undefined;
|
|
283
372
|
onNodeHover?: ((_node: ForceGraphNode | null) => any) | undefined;
|
|
373
|
+
onMergeComplete?: ((_pair: {
|
|
374
|
+
id: string;
|
|
375
|
+
from: string;
|
|
376
|
+
into: string;
|
|
377
|
+
}) => any) | undefined;
|
|
284
378
|
}>, {
|
|
285
379
|
class: string;
|
|
286
380
|
label: string;
|
|
@@ -298,5 +392,15 @@ export declare const ForceGraph: import("vue").DefineComponent<import("vue").Ext
|
|
|
298
392
|
onOpenEntity: (id: string) => void;
|
|
299
393
|
onEdgeHover: (edge: ForceGraphEdge) => void;
|
|
300
394
|
onNodeHover: (node: ForceGraphNode | null) => void;
|
|
395
|
+
mergePair: {
|
|
396
|
+
id: string;
|
|
397
|
+
from: string;
|
|
398
|
+
into: string;
|
|
399
|
+
} | null;
|
|
400
|
+
onMergeComplete: (pair: {
|
|
401
|
+
id: string;
|
|
402
|
+
from: string;
|
|
403
|
+
into: string;
|
|
404
|
+
}) => void;
|
|
301
405
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
302
406
|
//# sourceMappingURL=ForceGraph.d.ts.map
|
package/dist/ForceGraph.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ForceGraph.d.ts","sourceRoot":"","sources":["../src/ForceGraph.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ForceGraph.d.ts","sourceRoot":"","sources":["../src/ForceGraph.ts"],"names":[],"mappings":"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"}
|
package/dist/ForceGraph.js
CHANGED
|
@@ -135,10 +135,32 @@ function mulberry32(seed) {
|
|
|
135
135
|
return ((t ^ (t >>> 14)) >>> 0) / 4294967296;
|
|
136
136
|
};
|
|
137
137
|
}
|
|
138
|
+
// Stable seed from the SET of node ids (sorted), not from ns.length/es.length.
|
|
139
|
+
// A length-based seed reshuffled the whole layout whenever a node was added or
|
|
140
|
+
// removed (notably after a reconciliation merge), making the graph "jump". A
|
|
141
|
+
// hash over the sorted ids keeps the same topology → same layout, so removing
|
|
142
|
+
// one node leaves the rest essentially in place. (FNV-1a 32-bit over the joined
|
|
143
|
+
// sorted ids; deterministic and order-independent.) PORTED VERBATIM from the
|
|
144
|
+
// Svelte `stableSeed` so the three frameworks produce the SAME layout.
|
|
145
|
+
function stableSeed(ns) {
|
|
146
|
+
const ids = ns.map((n) => n.id).sort();
|
|
147
|
+
let h = 0x811c9dc5; // FNV offset basis
|
|
148
|
+
const joined = ids.join("|");
|
|
149
|
+
for (let i = 0; i < joined.length; i++) {
|
|
150
|
+
h ^= joined.charCodeAt(i);
|
|
151
|
+
h = Math.imul(h, 0x01000193); // FNV prime
|
|
152
|
+
}
|
|
153
|
+
// Fold in the count too so wholly different graphs of equal id-hash still
|
|
154
|
+
// differ, but the dominant term is the (order-independent) id hash.
|
|
155
|
+
h ^= ns.length;
|
|
156
|
+
return h >>> 0;
|
|
157
|
+
}
|
|
138
158
|
function runSimulation(ns, es, w, h, ticks, nodeRadius, repulsionFactor) {
|
|
139
159
|
const cx = w / 2;
|
|
140
160
|
const cy = h / 2;
|
|
141
|
-
|
|
161
|
+
// Seed from the stable id-set hash so adding/removing a node does not
|
|
162
|
+
// reshuffle the whole layout (same topology → same layout).
|
|
163
|
+
const rand = mulberry32(stableSeed(ns));
|
|
142
164
|
const idIndex = new Map();
|
|
143
165
|
const sim = ns.map((n, i) => {
|
|
144
166
|
idIndex.set(n.id, i);
|
|
@@ -247,6 +269,12 @@ function runSimulation(ns, es, w, h, ticks, nodeRadius, repulsionFactor) {
|
|
|
247
269
|
const CURVE_FACTOR = 0.5;
|
|
248
270
|
// Fit-to-content margin (per side, fraction of the content box).
|
|
249
271
|
const CONTENT_MARGIN = 0.08;
|
|
272
|
+
// Merge (reconciliation) glide duration.
|
|
273
|
+
const MERGE_DURATION_MS = 450;
|
|
274
|
+
// ease-in-out (cubic) for a smooth glide.
|
|
275
|
+
function easeInOut(t) {
|
|
276
|
+
return t < 0.5 ? 4 * t * t * t : 1 - Math.pow(-2 * t + 2, 3) / 2;
|
|
277
|
+
}
|
|
250
278
|
export const ForceGraph = defineComponent({
|
|
251
279
|
name: "ForceGraph",
|
|
252
280
|
props: {
|
|
@@ -277,6 +305,24 @@ export const ForceGraph = defineComponent({
|
|
|
277
305
|
* null when the hover/focus ends. Intended for syncing an external panel.
|
|
278
306
|
*/
|
|
279
307
|
onNodeHover: { type: Function, default: undefined },
|
|
308
|
+
/**
|
|
309
|
+
* Reconciliation merge animation (CLIENT-ONLY): a new valid `{ id, from,
|
|
310
|
+
* into }` glides the `from` node toward `into` while fading out, then fires
|
|
311
|
+
* `onMergeComplete` exactly once per `id`. Idempotent on `id`; the `from`
|
|
312
|
+
* node stays masked after completion until removed. Pass null for no merge.
|
|
313
|
+
*/
|
|
314
|
+
mergePair: {
|
|
315
|
+
type: Object,
|
|
316
|
+
default: null,
|
|
317
|
+
},
|
|
318
|
+
/**
|
|
319
|
+
* Fired once the merge animation completes (or immediately, on a microtask,
|
|
320
|
+
* under reduced motion). At most ONCE per `id`. Receives the same pair.
|
|
321
|
+
*/
|
|
322
|
+
onMergeComplete: {
|
|
323
|
+
type: Function,
|
|
324
|
+
default: undefined,
|
|
325
|
+
},
|
|
280
326
|
class: { type: String, default: undefined },
|
|
281
327
|
},
|
|
282
328
|
emits: {
|
|
@@ -284,6 +330,7 @@ export const ForceGraph = defineComponent({
|
|
|
284
330
|
openEntity: (_id) => true,
|
|
285
331
|
edgeHover: (_edge) => true,
|
|
286
332
|
nodeHover: (_node) => true,
|
|
333
|
+
mergeComplete: (_pair) => true,
|
|
287
334
|
},
|
|
288
335
|
setup(props, { emit, attrs }) {
|
|
289
336
|
// SSR-safe reduced-motion check (window may be undefined during SSR/tests).
|
|
@@ -444,6 +491,137 @@ export const ForceGraph = defineComponent({
|
|
|
444
491
|
const hoveredNodeIndex = ref(null);
|
|
445
492
|
const hoveredEdgeIndex = ref(null);
|
|
446
493
|
const selectedSet = computed(() => new Set(props.selectedIds ?? []));
|
|
494
|
+
const mergeState = ref(null);
|
|
495
|
+
let mergeRaf = null;
|
|
496
|
+
// The id currently being (or already) handled, so the watcher only reacts to
|
|
497
|
+
// a genuinely NEW id. Re-passing the same id (even a fresh object) is a no-op.
|
|
498
|
+
let handledMergeId = null;
|
|
499
|
+
// The id of the `from` node to keep MASKED after a completed merge, until the
|
|
500
|
+
// consumer drops it from `nodes` (or a new pair arrives). Decouples the mask
|
|
501
|
+
// from `mergePair` returning to null (otherwise the node would flash back).
|
|
502
|
+
const maskedFromId = ref(null);
|
|
503
|
+
// Set true on unmount so no queued microtask/frame fires a callback or
|
|
504
|
+
// touches reactive state after teardown.
|
|
505
|
+
let disposed = false;
|
|
506
|
+
function cancelMergeRaf() {
|
|
507
|
+
if (mergeRaf !== null && typeof cancelAnimationFrame === "function") {
|
|
508
|
+
cancelAnimationFrame(mergeRaf);
|
|
509
|
+
}
|
|
510
|
+
mergeRaf = null;
|
|
511
|
+
}
|
|
512
|
+
function fireMergeComplete(pair) {
|
|
513
|
+
// `emit("mergeComplete")` invokes the `onMergeComplete` prop/listener
|
|
514
|
+
// exactly once; calling `props.onMergeComplete` here too would double-fire.
|
|
515
|
+
emit("mergeComplete", pair);
|
|
516
|
+
}
|
|
517
|
+
const mergeId = computed(() => (props.mergePair ? props.mergePair.id : null));
|
|
518
|
+
watch(mergeId, () => {
|
|
519
|
+
const pair = props.mergePair;
|
|
520
|
+
const id = pair ? pair.id : null;
|
|
521
|
+
// Idempotent on id: same id (or still null) means nothing to (re)start.
|
|
522
|
+
// A new id always (re)plays, even for the same from/into pair.
|
|
523
|
+
if (id === handledMergeId)
|
|
524
|
+
return;
|
|
525
|
+
handledMergeId = id;
|
|
526
|
+
// Tear down any in-flight animation for a previous pair.
|
|
527
|
+
cancelMergeRaf();
|
|
528
|
+
mergeState.value = null;
|
|
529
|
+
if (!pair)
|
|
530
|
+
return;
|
|
531
|
+
// A genuinely new pair supersedes any lingering mask from a prior merge.
|
|
532
|
+
maskedFromId.value = null;
|
|
533
|
+
// Validate: both endpoints must currently exist.
|
|
534
|
+
const fromPos = layout.value.get(pair.from);
|
|
535
|
+
const intoPos = layout.value.get(pair.into);
|
|
536
|
+
if (!fromPos || !intoPos)
|
|
537
|
+
return; // invalid pair → no-op, no callback
|
|
538
|
+
const captured = { id: pair.id, from: pair.from, into: pair.into };
|
|
539
|
+
const complete = () => {
|
|
540
|
+
// Keep `from` hidden until the consumer removes it (or a new pair).
|
|
541
|
+
maskedFromId.value = captured.from;
|
|
542
|
+
fireMergeComplete(captured);
|
|
543
|
+
};
|
|
544
|
+
// Reduced motion / SSR: no animation, resolve on a microtask. Guarded so
|
|
545
|
+
// a late microtask after unmount or after a newer id took over is a no-op.
|
|
546
|
+
if (prefersReducedMotion ||
|
|
547
|
+
typeof window === "undefined" ||
|
|
548
|
+
typeof requestAnimationFrame !== "function") {
|
|
549
|
+
queueMicrotask(() => {
|
|
550
|
+
if (disposed || handledMergeId !== id)
|
|
551
|
+
return;
|
|
552
|
+
complete();
|
|
553
|
+
});
|
|
554
|
+
return;
|
|
555
|
+
}
|
|
556
|
+
const dx = intoPos.x - fromPos.x;
|
|
557
|
+
const dy = intoPos.y - fromPos.y;
|
|
558
|
+
mergeState.value = { id: captured.id, from: captured.from, into: captured.into, progress: 0, dx, dy };
|
|
559
|
+
let start = null;
|
|
560
|
+
const tick = (now) => {
|
|
561
|
+
// Bail cleanly if the instance went away or a newer id superseded us.
|
|
562
|
+
if (disposed || handledMergeId !== id) {
|
|
563
|
+
mergeRaf = null;
|
|
564
|
+
return;
|
|
565
|
+
}
|
|
566
|
+
// Re-validate both endpoints every frame: if either disappears
|
|
567
|
+
// mid-flight (e.g. the consumer removed a node), cancel the glide
|
|
568
|
+
// WITHOUT firing onMergeComplete (no double-tir) and without a
|
|
569
|
+
// dangling frame.
|
|
570
|
+
if (!layout.value.has(captured.from) || !layout.value.has(captured.into)) {
|
|
571
|
+
cancelMergeRaf();
|
|
572
|
+
mergeState.value = null;
|
|
573
|
+
return;
|
|
574
|
+
}
|
|
575
|
+
if (start === null)
|
|
576
|
+
start = now;
|
|
577
|
+
const t = Math.min(1, Math.max(0, (now - start) / MERGE_DURATION_MS));
|
|
578
|
+
if (mergeState.value)
|
|
579
|
+
mergeState.value = { ...mergeState.value, progress: t };
|
|
580
|
+
if (t < 1) {
|
|
581
|
+
mergeRaf = requestAnimationFrame(tick);
|
|
582
|
+
}
|
|
583
|
+
else {
|
|
584
|
+
mergeRaf = null;
|
|
585
|
+
mergeState.value = null;
|
|
586
|
+
complete();
|
|
587
|
+
}
|
|
588
|
+
};
|
|
589
|
+
mergeRaf = requestAnimationFrame(tick);
|
|
590
|
+
}, { immediate: true });
|
|
591
|
+
// Eased progress of the `from` node toward `into`. Null when no merge running.
|
|
592
|
+
const mergeFromId = computed(() => mergeState.value?.from ?? null);
|
|
593
|
+
const mergeEased = computed(() => (mergeState.value ? easeInOut(mergeState.value.progress) : 0));
|
|
594
|
+
/** True when this id is the (post-merge) masked node — render it fully hidden. */
|
|
595
|
+
function isMasked(id) {
|
|
596
|
+
return maskedFromId.value === id;
|
|
597
|
+
}
|
|
598
|
+
/** Extra translation applied to the merging node so it glides toward `into`. */
|
|
599
|
+
function mergeOffset(id) {
|
|
600
|
+
const m = mergeState.value;
|
|
601
|
+
if (!m || m.from !== id)
|
|
602
|
+
return { x: 0, y: 0 };
|
|
603
|
+
return { x: m.dx * mergeEased.value, y: m.dy * mergeEased.value };
|
|
604
|
+
}
|
|
605
|
+
/**
|
|
606
|
+
* Opacity for a node during/after a merge. The animating `from` fades 1->0;
|
|
607
|
+
* a masked `from` (merge done, awaiting removal) stays at 0. Others unchanged.
|
|
608
|
+
*/
|
|
609
|
+
function mergeNodeOpacity(id) {
|
|
610
|
+
if (isMasked(id))
|
|
611
|
+
return 0;
|
|
612
|
+
if (mergeFromId.value !== id)
|
|
613
|
+
return undefined;
|
|
614
|
+
return 1 - mergeEased.value;
|
|
615
|
+
}
|
|
616
|
+
/** Opacity for an edge incident to the merging/masked `from` node (fades too). */
|
|
617
|
+
function mergeEdgeOpacity(e) {
|
|
618
|
+
const fromId = mergeFromId.value ?? maskedFromId.value;
|
|
619
|
+
if (fromId == null)
|
|
620
|
+
return undefined;
|
|
621
|
+
if (e.source !== fromId && e.target !== fromId)
|
|
622
|
+
return undefined;
|
|
623
|
+
return isMasked(fromId) ? 0 : 1 - mergeEased.value;
|
|
624
|
+
}
|
|
447
625
|
// Adjacency: id -> set of directly connected node ids. Used to keep the
|
|
448
626
|
// direct neighbours of selected/focused nodes fully visible (demand 6).
|
|
449
627
|
const adjacency = computed(() => {
|
|
@@ -646,10 +824,12 @@ export const ForceGraph = defineComponent({
|
|
|
646
824
|
startLayout();
|
|
647
825
|
}, { deep: true });
|
|
648
826
|
onUnmounted(() => {
|
|
827
|
+
disposed = true;
|
|
649
828
|
if (rafId !== null) {
|
|
650
829
|
cancelAnimationFrame(rafId);
|
|
651
830
|
rafId = null;
|
|
652
831
|
}
|
|
832
|
+
cancelMergeRaf();
|
|
653
833
|
});
|
|
654
834
|
return () => {
|
|
655
835
|
const label = props.label ?? "Force graph";
|
|
@@ -665,8 +845,9 @@ export const ForceGraph = defineComponent({
|
|
|
665
845
|
const onHitLeave = () => {
|
|
666
846
|
hoveredEdgeIndex.value = null;
|
|
667
847
|
};
|
|
848
|
+
const mEdgeOpacity = mergeEdgeOpacity(e.edge);
|
|
668
849
|
const edgeClass = classNames("st-forceGraph__edge", e.edge.weak && "st-forceGraph__edge--weak", e.edge.emphasis && "st-forceGraph__edge--emphasis", hoveredEdgeIndex.value === e.i && "st-forceGraph__edge--hovered", (isEdgeSelectionDimmed(e.edge) || isHoverDimmedEdge(e.edge)) &&
|
|
669
|
-
"st-forceGraph__edge--dim");
|
|
850
|
+
"st-forceGraph__edge--dim", mEdgeOpacity !== undefined && "st-forceGraph__edge--merging");
|
|
670
851
|
// Invisible wider hit area for edge hover (follows the curve).
|
|
671
852
|
edgeVNodes.push(e.path
|
|
672
853
|
? h("path", {
|
|
@@ -697,6 +878,7 @@ export const ForceGraph = defineComponent({
|
|
|
697
878
|
fill: "none",
|
|
698
879
|
"stroke-dasharray": e.dashArray ?? undefined,
|
|
699
880
|
"stroke-width": e.strokeWidth ?? undefined,
|
|
881
|
+
opacity: mEdgeOpacity,
|
|
700
882
|
"pointer-events": "none",
|
|
701
883
|
})
|
|
702
884
|
: h("line", {
|
|
@@ -708,6 +890,7 @@ export const ForceGraph = defineComponent({
|
|
|
708
890
|
y2: e.y2,
|
|
709
891
|
"stroke-dasharray": e.dashArray ?? undefined,
|
|
710
892
|
"stroke-width": e.strokeWidth ?? undefined,
|
|
893
|
+
opacity: mEdgeOpacity,
|
|
711
894
|
"pointer-events": "none",
|
|
712
895
|
}));
|
|
713
896
|
}
|
|
@@ -736,11 +919,17 @@ export const ForceGraph = defineComponent({
|
|
|
736
919
|
if (props.showLabels) {
|
|
737
920
|
inner.push(h("text", { class: "st-forceGraph__label", x: p.r + 3, y: 0, "dominant-baseline": "middle" }, p.title));
|
|
738
921
|
}
|
|
922
|
+
const mOff = mergeOffset(p.node.id);
|
|
923
|
+
const mOpacity = mergeNodeOpacity(p.node.id);
|
|
924
|
+
const mMasked = isMasked(p.node.id);
|
|
739
925
|
return h("g", {
|
|
740
926
|
key: p.node.id,
|
|
741
927
|
class: classNames("st-forceGraph__node", `st-forceGraph__node--${p.tone}`, (isHoverDimmedNode(p.node.id) || isSelectionDimmed(p.node.id)) &&
|
|
742
|
-
"st-forceGraph__node--dim", isSelected && "st-forceGraph__node--selected", focusId === p.node.id && "st-forceGraph__node--focus")
|
|
743
|
-
|
|
928
|
+
"st-forceGraph__node--dim", isSelected && "st-forceGraph__node--selected", focusId === p.node.id && "st-forceGraph__node--focus", (mergeFromId.value === p.node.id || mMasked) &&
|
|
929
|
+
"st-forceGraph__node--merging"),
|
|
930
|
+
"aria-hidden": mMasked ? "true" : undefined,
|
|
931
|
+
opacity: mOpacity,
|
|
932
|
+
transform: `translate(${p.x + mOff.x} ${p.y + mOff.y})`,
|
|
744
933
|
onClick: () => fireSelect(p.node.id),
|
|
745
934
|
onDblclick: () => fireOpenEntity(p.node.id),
|
|
746
935
|
}, inner);
|
package/dist/ForceGraph.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ForceGraph.js","sourceRoot":"","sources":["../src/ForceGraph.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ForceGraph.js","sourceRoot":"","sources":["../src/ForceGraph.ts"],"names":[],"mappings":"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"}
|