@sentropic/design-system-vue 0.3.0 → 0.5.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.
Files changed (103) hide show
  1. package/dist/Accordion.d.ts +26 -4
  2. package/dist/Accordion.d.ts.map +1 -1
  3. package/dist/Accordion.js +7 -4
  4. package/dist/Accordion.js.map +1 -1
  5. package/dist/AreaChart.d.ts +38 -21
  6. package/dist/AreaChart.d.ts.map +1 -1
  7. package/dist/AreaChart.js +154 -40
  8. package/dist/AreaChart.js.map +1 -1
  9. package/dist/BackToTop.d.ts +1 -1
  10. package/dist/BarChart.d.ts +23 -16
  11. package/dist/BarChart.d.ts.map +1 -1
  12. package/dist/BarChart.js +137 -30
  13. package/dist/BarChart.js.map +1 -1
  14. package/dist/Combobox.d.ts +1 -1
  15. package/dist/ContentSwitcher.d.ts +10 -0
  16. package/dist/ContentSwitcher.d.ts.map +1 -1
  17. package/dist/ContentSwitcher.js +5 -1
  18. package/dist/ContentSwitcher.js.map +1 -1
  19. package/dist/CopyButton.d.ts +1 -1
  20. package/dist/DataTable.d.ts +208 -18
  21. package/dist/DataTable.d.ts.map +1 -1
  22. package/dist/DataTable.js +267 -26
  23. package/dist/DataTable.js.map +1 -1
  24. package/dist/DonutChart.d.ts +33 -26
  25. package/dist/DonutChart.d.ts.map +1 -1
  26. package/dist/DonutChart.js +104 -26
  27. package/dist/DonutChart.js.map +1 -1
  28. package/dist/Drawer.d.ts +1 -1
  29. package/dist/Dropdown.d.ts +11 -1
  30. package/dist/Dropdown.d.ts.map +1 -1
  31. package/dist/Dropdown.js +1 -0
  32. package/dist/Dropdown.js.map +1 -1
  33. package/dist/FileUploader.d.ts +10 -1
  34. package/dist/FileUploader.d.ts.map +1 -1
  35. package/dist/FileUploader.js +33 -9
  36. package/dist/FileUploader.js.map +1 -1
  37. package/dist/ForceGraph.d.ts +38 -2
  38. package/dist/ForceGraph.d.ts.map +1 -1
  39. package/dist/ForceGraph.js +279 -62
  40. package/dist/ForceGraph.js.map +1 -1
  41. package/dist/LanguageSelector.d.ts +1 -1
  42. package/dist/LineChart.d.ts +42 -16
  43. package/dist/LineChart.d.ts.map +1 -1
  44. package/dist/LineChart.js +146 -35
  45. package/dist/LineChart.js.map +1 -1
  46. package/dist/Menu.d.ts +7 -3
  47. package/dist/Menu.d.ts.map +1 -1
  48. package/dist/Menu.js +17 -7
  49. package/dist/Menu.js.map +1 -1
  50. package/dist/MenuPopover.d.ts +1 -1
  51. package/dist/MenuTriggerButton.d.ts +13 -3
  52. package/dist/MenuTriggerButton.d.ts.map +1 -1
  53. package/dist/MenuTriggerButton.js +4 -2
  54. package/dist/MenuTriggerButton.js.map +1 -1
  55. package/dist/MessageActions.d.ts +7 -1
  56. package/dist/MessageActions.d.ts.map +1 -1
  57. package/dist/MessageActions.js +4 -1
  58. package/dist/MessageActions.js.map +1 -1
  59. package/dist/Modal.d.ts +1 -1
  60. package/dist/MultiSelect.d.ts +1 -1
  61. package/dist/NumberInput.d.ts +13 -2
  62. package/dist/NumberInput.d.ts.map +1 -1
  63. package/dist/NumberInput.js +2 -1
  64. package/dist/NumberInput.js.map +1 -1
  65. package/dist/OverflowMenu.d.ts +1 -1
  66. package/dist/PaginationNav.d.ts +12 -2
  67. package/dist/PaginationNav.d.ts.map +1 -1
  68. package/dist/PaginationNav.js +3 -2
  69. package/dist/PaginationNav.js.map +1 -1
  70. package/dist/Popover.d.ts +1 -1
  71. package/dist/ProgressBar.d.ts +1 -1
  72. package/dist/ScatterPlot.d.ts +43 -14
  73. package/dist/ScatterPlot.d.ts.map +1 -1
  74. package/dist/ScatterPlot.js +113 -25
  75. package/dist/ScatterPlot.js.map +1 -1
  76. package/dist/Search.d.ts +11 -0
  77. package/dist/Search.d.ts.map +1 -1
  78. package/dist/Search.js +2 -1
  79. package/dist/Search.js.map +1 -1
  80. package/dist/Slider.d.ts +2 -2
  81. package/dist/Sparkline.d.ts +47 -7
  82. package/dist/Sparkline.d.ts.map +1 -1
  83. package/dist/Sparkline.js +57 -21
  84. package/dist/Sparkline.js.map +1 -1
  85. package/dist/StackedBarChart.d.ts +25 -16
  86. package/dist/StackedBarChart.d.ts.map +1 -1
  87. package/dist/StackedBarChart.js +131 -39
  88. package/dist/StackedBarChart.js.map +1 -1
  89. package/dist/Tabs.d.ts +10 -0
  90. package/dist/Tabs.d.ts.map +1 -1
  91. package/dist/Tabs.js +2 -0
  92. package/dist/Tabs.js.map +1 -1
  93. package/dist/Toggletip.d.ts +1 -1
  94. package/dist/Transcription.d.ts +1 -1
  95. package/dist/chartScale.d.ts +22 -0
  96. package/dist/chartScale.d.ts.map +1 -0
  97. package/dist/chartScale.js +70 -0
  98. package/dist/chartScale.js.map +1 -0
  99. package/dist/index.d.ts +1 -1
  100. package/dist/index.d.ts.map +1 -1
  101. package/dist/index.js.map +1 -1
  102. package/dist/styles.css +24 -0
  103. package/package.json +1 -1
@@ -1,42 +1,96 @@
1
1
  import { defineComponent, h, ref, computed, onMounted, onUnmounted, watch, } from "vue";
2
2
  import { classNames } from "./classNames.js";
3
+ /**
4
+ * Maps a dash style (or the legacy `weak` flag) to an SVG stroke-dasharray.
5
+ * Returns null for a solid stroke.
6
+ */
7
+ export function edgeDashArray(dash, weak) {
8
+ const effective = dash ?? (weak ? "dashed" : undefined);
9
+ switch (effective) {
10
+ case "dashed":
11
+ return "6 4";
12
+ case "dotted":
13
+ return "1 4";
14
+ case "long-dash":
15
+ return "12 6";
16
+ case "solid":
17
+ default:
18
+ return null;
19
+ }
20
+ }
3
21
  // ---------------------------------------------------------------------------
4
22
  // SVG path helpers for the various node shapes.
5
- // All shapes are centered at (0,0) and sized to inscribe within radius r.
23
+ // All shapes are centered at (0,0). Each shape is scaled so its filled area
24
+ // matches that of the reference circle (π·r²) — this keeps equal-weight nodes
25
+ // visually balanced rather than letting squares/diamonds read as "bigger".
26
+ //
27
+ // Per-shape scale factors (closed-form, area = π·r²):
28
+ // square / roundedbox : half-side = (√π)/2 · r ≈ 0.8862·r
29
+ // diamond : half-diag = √(π/2) · r ≈ 1.2533·r
30
+ // triangle (equilat.) : circumradius= √(π/(3√3/4)) · r ≈ 1.5551·r
31
+ // hexagon (regular) : circumradius= √(π/(3√3/2)) · r ≈ 1.0996·r
32
+ // star (5-pt, k=0.42) : outer radius= √(π/A₁) · r ≈ 1.5953·r
33
+ // where A₁ is the unit-star area (≈1.2343).
6
34
  // ---------------------------------------------------------------------------
35
+ const STAR_INNER_RATIO = 0.42;
36
+ const STAR_AREA_FACTOR = 1.5953498885642274; // √(π / unit-star-area)
37
+ // Format a coordinate: 4 dp, snapping floating-point near-zero (e.g. 9e-16)
38
+ // to a clean 0 so paths never contain scientific notation.
39
+ function fmt(n) {
40
+ const v = Math.abs(n) < 1e-9 ? 0 : n;
41
+ return Number(v.toFixed(4)).toString();
42
+ }
7
43
  export function nodeShapePath(shape, r) {
8
44
  const s = shape ?? "dot";
9
45
  if (s === "dot" || s === "circle")
10
46
  return null; // use <circle>
11
47
  if (s === "diamond") {
12
- return `M 0 ${-r} L ${r} 0 L 0 ${r} L ${-r} 0 Z`;
48
+ const d = Math.sqrt(Math.PI / 2) * r; // half-diagonal
49
+ return `M 0 ${fmt(-d)} L ${fmt(d)} 0 L 0 ${fmt(d)} L ${fmt(-d)} 0 Z`;
13
50
  }
14
51
  if (s === "star") {
15
- const outer = r;
16
- const inner = r * 0.42;
52
+ const outer = STAR_AREA_FACTOR * r;
53
+ const inner = outer * STAR_INNER_RATIO;
17
54
  const pts = [];
18
55
  for (let i = 0; i < 10; i++) {
19
56
  const angle = (i * Math.PI) / 5 - Math.PI / 2;
20
57
  const rad = i % 2 === 0 ? outer : inner;
21
- pts.push(`${rad * Math.cos(angle)},${rad * Math.sin(angle)}`);
58
+ pts.push(`${fmt(rad * Math.cos(angle))},${fmt(rad * Math.sin(angle))}`);
22
59
  }
23
60
  return `M ${pts.join(" L ")} Z`;
24
61
  }
25
62
  if (s === "hexagon") {
63
+ const R = Math.sqrt(Math.PI / ((3 * Math.sqrt(3)) / 2)) * r; // circumradius
26
64
  const pts = [];
27
65
  for (let i = 0; i < 6; i++) {
28
66
  const angle = (i * Math.PI) / 3 - Math.PI / 6;
29
- pts.push(`${r * Math.cos(angle)},${r * Math.sin(angle)}`);
67
+ pts.push(`${fmt(R * Math.cos(angle))},${fmt(R * Math.sin(angle))}`);
30
68
  }
31
69
  return `M ${pts.join(" L ")} Z`;
32
70
  }
33
71
  if (s === "box" || s === "square") {
34
- const hh = r * 0.85;
35
- return `M ${-hh} ${-hh} L ${hh} ${-hh} L ${hh} ${hh} L ${-hh} ${hh} Z`;
72
+ const h = (Math.sqrt(Math.PI) / 2) * r; // half-side, area = (2h)² = π·r²
73
+ return `M ${fmt(-h)} ${fmt(-h)} L ${fmt(h)} ${fmt(-h)} L ${fmt(h)} ${fmt(h)} L ${fmt(-h)} ${fmt(h)} Z`;
74
+ }
75
+ if (s === "roundedbox") {
76
+ const h = (Math.sqrt(Math.PI) / 2) * r; // same footprint as square
77
+ const rx = h * 0.6; // ≈ r·0.3 rounding radius (h ≈ 0.886·r)
78
+ // Rounded rectangle via arcs, clockwise from top edge.
79
+ return (`M ${fmt(-h + rx)} ${fmt(-h)} ` +
80
+ `L ${fmt(h - rx)} ${fmt(-h)} A ${fmt(rx)} ${fmt(rx)} 0 0 1 ${fmt(h)} ${fmt(-h + rx)} ` +
81
+ `L ${fmt(h)} ${fmt(h - rx)} A ${fmt(rx)} ${fmt(rx)} 0 0 1 ${fmt(h - rx)} ${fmt(h)} ` +
82
+ `L ${fmt(-h + rx)} ${fmt(h)} A ${fmt(rx)} ${fmt(rx)} 0 0 1 ${fmt(-h)} ${fmt(h - rx)} ` +
83
+ `L ${fmt(-h)} ${fmt(-h + rx)} A ${fmt(rx)} ${fmt(rx)} 0 0 1 ${fmt(-h + rx)} ${fmt(-h)} Z`);
36
84
  }
37
85
  if (s === "triangle") {
38
- const hh = r * 1.1;
39
- return `M 0 ${-hh} L ${hh * 0.9} ${hh * 0.6} L ${-hh * 0.9} ${hh * 0.6} Z`;
86
+ // Equilateral, centred at centroid; circumradius h so apex is up.
87
+ const h = Math.sqrt(Math.PI / ((3 * Math.sqrt(3)) / 4)) * r;
88
+ const pts = [];
89
+ for (let i = 0; i < 3; i++) {
90
+ const angle = (i * 2 * Math.PI) / 3 - Math.PI / 2;
91
+ pts.push(`${fmt(h * Math.cos(angle))},${fmt(h * Math.sin(angle))}`);
92
+ }
93
+ return `M ${pts.join(" L ")} Z`;
40
94
  }
41
95
  return null;
42
96
  }
@@ -168,9 +222,14 @@ function runSimulation(ns, es, w, h, ticks, nodeRadius) {
168
222
  }
169
223
  node.x += node.vx;
170
224
  node.y += node.vy;
171
- // Keep inside a padded viewport.
172
- node.x = Math.max(nodeRadius * 2, Math.min(w - nodeRadius * 2, node.x));
173
- node.y = Math.max(nodeRadius * 2, Math.min(h - nodeRadius * 2, node.y));
225
+ // Soft clamp: allow the layout to overflow the canvas so it keeps a
226
+ // natural shape (fit-to-content reframes it afterwards). The wide bound
227
+ // only guards against runaway coordinates, it no longer glues nodes to
228
+ // the four edges.
229
+ const padX = w * 0.5 + nodeRadius * 2;
230
+ const padY = h * 0.5 + nodeRadius * 2;
231
+ node.x = Math.max(-padX, Math.min(w + padX, node.x));
232
+ node.y = Math.max(-padY, Math.min(h + padY, node.y));
174
233
  }
175
234
  temperature *= cooling;
176
235
  }
@@ -179,6 +238,11 @@ function runSimulation(ns, es, w, h, ticks, nodeRadius) {
179
238
  out.set(node.id, { x: node.x, y: node.y });
180
239
  return out;
181
240
  }
241
+ // Curvature offset factor: how far (relative to chord length) the control
242
+ // point bows out at edgeCurve=1. Kept modest so edgeCurve≈0.15 reads "light".
243
+ const CURVE_FACTOR = 0.5;
244
+ // Fit-to-content margin (per side, fraction of the content box).
245
+ const CONTENT_MARGIN = 0.08;
182
246
  export const ForceGraph = defineComponent({
183
247
  name: "ForceGraph",
184
248
  props: {
@@ -193,6 +257,7 @@ export const ForceGraph = defineComponent({
193
257
  selectedIds: { type: Array, default: () => [] },
194
258
  focusId: { type: String, default: null },
195
259
  legend: { type: Array, default: undefined },
260
+ edgeCurve: { type: Number, default: 0.15 },
196
261
  onSelect: { type: Function, default: undefined },
197
262
  onOpenEntity: { type: Function, default: undefined },
198
263
  onEdgeHover: { type: Function, default: undefined },
@@ -277,6 +342,7 @@ export const ForceGraph = defineComponent({
277
342
  }));
278
343
  const positionedEdges = computed(() => {
279
344
  const nodeById = new Map(props.nodes.map((n) => [n.id, n]));
345
+ const curve = Math.max(0, props.edgeCurve ?? 0);
280
346
  return props.edges
281
347
  .map((e, i) => {
282
348
  const a = layout.value.get(e.source);
@@ -285,22 +351,133 @@ export const ForceGraph = defineComponent({
285
351
  return null;
286
352
  const srcNode = nodeById.get(e.source);
287
353
  const tgtNode = nodeById.get(e.target);
354
+ const x1 = a.x, y1 = a.y, x2 = b.x, y2 = b.y;
355
+ // Quadratic control point: midpoint pushed perpendicular to the chord.
356
+ let path = null;
357
+ let cx = (x1 + x2) / 2;
358
+ let cy = (y1 + y2) / 2;
359
+ if (curve > 0) {
360
+ const dx = x2 - x1;
361
+ const dy = y2 - y1;
362
+ const dist = Math.sqrt(dx * dx + dy * dy) || 0.0001;
363
+ const off = curve * dist * CURVE_FACTOR;
364
+ // Unit perpendicular to the chord.
365
+ const px = -dy / dist;
366
+ const py = dx / dist;
367
+ cx = (x1 + x2) / 2 + px * off;
368
+ cy = (y1 + y2) / 2 + py * off;
369
+ path = `M ${x1} ${y1} Q ${cx} ${cy} ${x2} ${y2}`;
370
+ }
371
+ const dashArray = edgeDashArray(e.dash, e.weak);
372
+ const strokeWidth = typeof e.width === "number" ? e.width : e.emphasis ? 2.5 : null;
288
373
  return {
289
374
  edge: e,
290
375
  i,
291
- x1: a.x,
292
- y1: a.y,
293
- x2: b.x,
294
- y2: b.y,
376
+ x1,
377
+ y1,
378
+ x2,
379
+ y2,
380
+ // Tooltip / label anchor follows the curve apex when curved.
381
+ midX: cx,
382
+ midY: cy,
383
+ path,
384
+ dashArray,
385
+ strokeWidth,
295
386
  srcLabel: srcNode?.label ?? e.source,
296
387
  tgtLabel: tgtNode?.label ?? e.target,
297
388
  };
298
389
  })
299
390
  .filter((e) => e !== null);
300
391
  });
392
+ // -------------------------------------------------------------------------
393
+ // Fit-to-content (Feature 5): compute the real content bounding-box (node
394
+ // centres ± radius) and frame it with an 8% margin on each side. The base
395
+ // viewBox is this frame (not the fixed 0,0,w,h), so the graph is centred
396
+ // and never clipped. Zoom/pan stay relative to this frame.
397
+ // -------------------------------------------------------------------------
398
+ const contentBox = computed(() => {
399
+ const pns = positionedNodes.value;
400
+ if (pns.length === 0) {
401
+ return { x: 0, y: 0, w: props.width, h: props.height };
402
+ }
403
+ let minX = Infinity, minY = Infinity, maxX = -Infinity, maxY = -Infinity;
404
+ for (const p of pns) {
405
+ // Worst-case extent for non-circular shapes so the glyph is never clipped.
406
+ const ext = p.r * 1.7;
407
+ minX = Math.min(minX, p.x - ext);
408
+ minY = Math.min(minY, p.y - ext);
409
+ maxX = Math.max(maxX, p.x + ext);
410
+ maxY = Math.max(maxY, p.y + ext);
411
+ }
412
+ let w = maxX - minX;
413
+ let h = maxY - minY;
414
+ // Guard against a degenerate (single node / collinear) box.
415
+ if (!(w > 0)) {
416
+ w = props.width;
417
+ minX = maxX - w / 2;
418
+ }
419
+ if (!(h > 0)) {
420
+ h = props.height;
421
+ minY = maxY - h / 2;
422
+ }
423
+ const mx = w * CONTENT_MARGIN;
424
+ const my = h * CONTENT_MARGIN;
425
+ return { x: minX - mx, y: minY - my, w: w + 2 * mx, h: h + 2 * my };
426
+ });
301
427
  const hoveredNodeIndex = ref(null);
302
428
  const hoveredEdgeIndex = ref(null);
303
429
  const selectedSet = computed(() => new Set(props.selectedIds ?? []));
430
+ // Adjacency: id -> set of directly connected node ids. Used to keep the
431
+ // direct neighbours of selected/focused nodes fully visible (demand 6).
432
+ const adjacency = computed(() => {
433
+ const adj = new Map();
434
+ const add = (a, b) => {
435
+ let set = adj.get(a);
436
+ if (!set) {
437
+ set = new Set();
438
+ adj.set(a, set);
439
+ }
440
+ set.add(b);
441
+ };
442
+ for (const e of props.edges) {
443
+ add(e.source, e.target);
444
+ add(e.target, e.source);
445
+ }
446
+ return adj;
447
+ });
448
+ // True when a selection/focus is active — only then do we dim non-related
449
+ // nodes. The set of "active" ids = selected ∪ focus ∪ all their neighbours.
450
+ const hasActiveSelection = computed(() => selectedSet.value.size > 0 || (props.focusId ?? null) != null);
451
+ const activeAndNeighbours = computed(() => {
452
+ const active = new Set(selectedSet.value);
453
+ if (props.focusId != null)
454
+ active.add(props.focusId);
455
+ // Expand to direct neighbours so they stay fully visible.
456
+ const withNeighbours = new Set(active);
457
+ for (const id of active) {
458
+ const nb = adjacency.value.get(id);
459
+ if (nb)
460
+ for (const n of nb)
461
+ withNeighbours.add(n);
462
+ }
463
+ return withNeighbours;
464
+ });
465
+ // A node is dimmed by selection when there IS an active selection and the
466
+ // node is neither selected/focused nor a direct neighbour of one.
467
+ function isSelectionDimmed(id) {
468
+ if (!hasActiveSelection.value)
469
+ return false;
470
+ return !activeAndNeighbours.value.has(id);
471
+ }
472
+ // An edge stays fully visible when at least one endpoint is in the
473
+ // selected/focused set (it is a connection of the selection).
474
+ function isEdgeSelectionDimmed(e) {
475
+ if (!hasActiveSelection.value)
476
+ return false;
477
+ const srcActive = selectedSet.value.has(e.source) || props.focusId === e.source;
478
+ const tgtActive = selectedSet.value.has(e.target) || props.focusId === e.target;
479
+ return !(srcActive || tgtActive);
480
+ }
304
481
  function fireSelect(id) {
305
482
  props.onSelect?.(id);
306
483
  emit("select", id);
@@ -324,9 +501,11 @@ export const ForceGraph = defineComponent({
324
501
  }
325
502
  }
326
503
  // -------------------------------------------------------------------------
327
- // Zoom + pan state.
328
- // vbW = width / zoomScale, vbH = height / zoomScale
329
- // panX / panY = pan offset in SVG coordinate space
504
+ // Zoom + pan state (framed by the fit-to-content box, Feature 5). The base
505
+ // frame is `contentBox` (not 0,0,w,h). Zoom is a scale multiplier and pan
506
+ // is an offset in SVG coords, both relative to that base frame:
507
+ // vbW = baseW / zoomScale, vbH = baseH / zoomScale
508
+ // vbX = baseX + panX, vbY = baseY + panY
330
509
  // -------------------------------------------------------------------------
331
510
  const zoomScale = ref(1);
332
511
  const panX = ref(0);
@@ -334,10 +513,15 @@ export const ForceGraph = defineComponent({
334
513
  const isPanning = ref(false);
335
514
  let panStart = { x: 0, y: 0, panX: 0, panY: 0 };
336
515
  const svgEl = ref(null);
337
- const vbW = computed(() => props.width / zoomScale.value);
338
- const vbH = computed(() => props.height / zoomScale.value);
339
- const vbX = computed(() => panX.value);
340
- const vbY = computed(() => panY.value);
516
+ // Base frame dimensions = fit-to-content box.
517
+ const baseW = computed(() => contentBox.value.w);
518
+ const baseH = computed(() => contentBox.value.h);
519
+ const baseX = computed(() => contentBox.value.x);
520
+ const baseY = computed(() => contentBox.value.y);
521
+ const vbW = computed(() => baseW.value / zoomScale.value);
522
+ const vbH = computed(() => baseH.value / zoomScale.value);
523
+ const vbX = computed(() => baseX.value + panX.value);
524
+ const vbY = computed(() => baseY.value + panY.value);
341
525
  function resetView() {
342
526
  zoomScale.value = 1;
343
527
  panX.value = 0;
@@ -354,14 +538,17 @@ export const ForceGraph = defineComponent({
354
538
  // Anchor zoom around the cursor position in SVG coords.
355
539
  if (svgEl.value) {
356
540
  const rect = svgEl.value.getBoundingClientRect();
357
- const cursorSvgX = panX.value + ((ev.clientX - rect.left) / rect.width) * (props.width / zoomScale.value);
358
- const cursorSvgY = panY.value + ((ev.clientY - rect.top) / rect.height) * (props.height / zoomScale.value);
359
- const newVbW = props.width / newScale;
360
- const newVbH = props.height / newScale;
361
- const ratioX = (cursorSvgX - panX.value) / (props.width / zoomScale.value);
362
- const ratioY = (cursorSvgY - panY.value) / (props.height / zoomScale.value);
363
- panX.value = cursorSvgX - ratioX * newVbW;
364
- panY.value = cursorSvgY - ratioY * newVbH;
541
+ const curW = baseW.value / zoomScale.value;
542
+ const curH = baseH.value / zoomScale.value;
543
+ const cursorSvgX = vbX.value + ((ev.clientX - rect.left) / rect.width) * curW;
544
+ const cursorSvgY = vbY.value + ((ev.clientY - rect.top) / rect.height) * curH;
545
+ const newVbW = baseW.value / newScale;
546
+ const newVbH = baseH.value / newScale;
547
+ const ratioX = (cursorSvgX - vbX.value) / curW;
548
+ const ratioY = (cursorSvgY - vbY.value) / curH;
549
+ // New top-left so the cursor anchor stays put, then back out the pan term.
550
+ panX.value = cursorSvgX - ratioX * newVbW - baseX.value;
551
+ panY.value = cursorSvgY - ratioY * newVbH - baseY.value;
365
552
  }
366
553
  zoomScale.value = newScale;
367
554
  }
@@ -411,32 +598,57 @@ export const ForceGraph = defineComponent({
411
598
  // ---- SVG canvas ----
412
599
  const edgeVNodes = [];
413
600
  for (const e of positionedEdges.value) {
414
- // Invisible wider hit area for edge hover.
415
- edgeVNodes.push(h("line", {
416
- key: `hit-${e.i}`,
417
- class: "st-forceGraph__edgeHit",
418
- role: "presentation",
419
- x1: e.x1,
420
- y1: e.y1,
421
- x2: e.x2,
422
- y2: e.y2,
423
- onMouseenter: () => {
424
- hoveredEdgeIndex.value = e.i;
425
- fireEdgeHover(e.edge);
426
- },
427
- onMouseleave: () => {
428
- hoveredEdgeIndex.value = null;
429
- },
430
- }));
431
- edgeVNodes.push(h("line", {
432
- key: `edge-${e.i}`,
433
- class: classNames("st-forceGraph__edge", e.edge.weak && "st-forceGraph__edge--weak", hoveredEdgeIndex.value === e.i && "st-forceGraph__edge--hovered"),
434
- x1: e.x1,
435
- y1: e.y1,
436
- x2: e.x2,
437
- y2: e.y2,
438
- "pointer-events": "none",
439
- }));
601
+ const onHitEnter = () => {
602
+ hoveredEdgeIndex.value = e.i;
603
+ fireEdgeHover(e.edge);
604
+ };
605
+ const onHitLeave = () => {
606
+ hoveredEdgeIndex.value = null;
607
+ };
608
+ 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) && "st-forceGraph__edge--dim");
609
+ // Invisible wider hit area for edge hover (follows the curve).
610
+ edgeVNodes.push(e.path
611
+ ? h("path", {
612
+ key: `hit-${e.i}`,
613
+ class: "st-forceGraph__edgeHit",
614
+ role: "presentation",
615
+ d: e.path,
616
+ fill: "none",
617
+ onMouseenter: onHitEnter,
618
+ onMouseleave: onHitLeave,
619
+ })
620
+ : h("line", {
621
+ key: `hit-${e.i}`,
622
+ class: "st-forceGraph__edgeHit",
623
+ role: "presentation",
624
+ x1: e.x1,
625
+ y1: e.y1,
626
+ x2: e.x2,
627
+ y2: e.y2,
628
+ onMouseenter: onHitEnter,
629
+ onMouseleave: onHitLeave,
630
+ }));
631
+ edgeVNodes.push(e.path
632
+ ? h("path", {
633
+ key: `edge-${e.i}`,
634
+ class: edgeClass,
635
+ d: e.path,
636
+ fill: "none",
637
+ "stroke-dasharray": e.dashArray ?? undefined,
638
+ "stroke-width": e.strokeWidth ?? undefined,
639
+ "pointer-events": "none",
640
+ })
641
+ : h("line", {
642
+ key: `edge-${e.i}`,
643
+ class: edgeClass,
644
+ x1: e.x1,
645
+ y1: e.y1,
646
+ x2: e.x2,
647
+ y2: e.y2,
648
+ "stroke-dasharray": e.dashArray ?? undefined,
649
+ "stroke-width": e.strokeWidth ?? undefined,
650
+ "pointer-events": "none",
651
+ }));
440
652
  }
441
653
  const nodeVNodes = positionedNodes.value.map((p) => {
442
654
  const isSelected = selectedSet.value.has(p.node.id);
@@ -465,7 +677,9 @@ export const ForceGraph = defineComponent({
465
677
  }
466
678
  return h("g", {
467
679
  key: p.node.id,
468
- class: classNames("st-forceGraph__node", `st-forceGraph__node--${p.tone}`, hoveredNodeIndex.value !== null && hoveredNodeIndex.value !== p.i && "st-forceGraph__node--dim", isSelected && "st-forceGraph__node--selected", focusId === p.node.id && "st-forceGraph__node--focus"),
680
+ class: classNames("st-forceGraph__node", `st-forceGraph__node--${p.tone}`, ((hoveredNodeIndex.value !== null && hoveredNodeIndex.value !== p.i) ||
681
+ isSelectionDimmed(p.node.id)) &&
682
+ "st-forceGraph__node--dim", isSelected && "st-forceGraph__node--selected", focusId === p.node.id && "st-forceGraph__node--focus"),
469
683
  transform: `translate(${p.x} ${p.y})`,
470
684
  onClick: () => fireSelect(p.node.id),
471
685
  onDblclick: () => fireOpenEntity(p.node.id),
@@ -514,8 +728,8 @@ export const ForceGraph = defineComponent({
514
728
  if (hei !== null) {
515
729
  const e = positionedEdges.value.find((pe) => pe.i === hei);
516
730
  if (e) {
517
- const midX = (e.x1 + e.x2) / 2;
518
- const midY = (e.y1 + e.y2) / 2;
731
+ const midX = e.midX;
732
+ const midY = e.midY;
519
733
  const tipChildren = [
520
734
  h("span", { class: "st-forceGraph__tooltipLabel" }, e.srcLabel),
521
735
  ];
@@ -544,11 +758,13 @@ export const ForceGraph = defineComponent({
544
758
  const entries = props.legend.map((entry, idx) => {
545
759
  const swatchPath = entry.shape !== undefined ? nodeShapePath(entry.shape, 7) : null;
546
760
  const swatchTone = entry.tone ?? "category1";
761
+ const swatchDash = entry.shape === undefined ? edgeDashArray(entry.dash, entry.weak) : null;
547
762
  let swatch;
548
763
  if (entry.shape !== undefined) {
764
+ // Node shape legend entry (viewBox widened for area-scaled glyphs).
549
765
  swatch = h("svg", {
550
766
  class: "st-forceGraph__legendSwatch",
551
- viewBox: "-8 -8 16 16",
767
+ viewBox: "-13 -13 26 26",
552
768
  width: "16",
553
769
  height: "16",
554
770
  "aria-hidden": "true",
@@ -578,6 +794,7 @@ export const ForceGraph = defineComponent({
578
794
  x2: "16",
579
795
  y2: "4",
580
796
  class: classNames("st-forceGraph__legendEdge", entry.weak && "st-forceGraph__legendEdge--weak"),
797
+ "stroke-dasharray": swatchDash ?? undefined,
581
798
  }),
582
799
  ]);
583
800
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ForceGraph.js","sourceRoot":"","sources":["../src/ForceGraph.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,CAAC,EACD,GAAG,EACH,QAAQ,EACR,SAAS,EACT,WAAW,EACX,KAAK,GAGN,MAAM,KAAK,CAAC;AACb,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAoF7C,8EAA8E;AAC9E,gDAAgD;AAChD,0EAA0E;AAC1E,8EAA8E;AAC9E,MAAM,UAAU,aAAa,CAAC,KAAsC,EAAE,CAAS;IAC7E,MAAM,CAAC,GAAG,KAAK,IAAI,KAAK,CAAC;IACzB,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC,CAAC,eAAe;IAC/D,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;QACpB,OAAO,OAAO,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;IACnD,CAAC;IACD,IAAI,CAAC,KAAK,MAAM,EAAE,CAAC;QACjB,MAAM,KAAK,GAAG,CAAC,CAAC;QAChB,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC;QACvB,MAAM,GAAG,GAAa,EAAE,CAAC;QACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5B,MAAM,KAAK,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;YAC9C,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;YACxC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAChE,CAAC;QACD,OAAO,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IAClC,CAAC;IACD,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;QACpB,MAAM,GAAG,GAAa,EAAE,CAAC;QACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3B,MAAM,KAAK,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;YAC9C,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC5D,CAAC;QACD,OAAO,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IAClC,CAAC;IACD,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,QAAQ,EAAE,CAAC;QAClC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;QACpB,OAAO,KAAK,CAAC,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC;IACzE,CAAC;IACD,IAAI,CAAC,KAAK,UAAU,EAAE,CAAC;QACrB,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC;QACnB,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,GAAG,IAAI,EAAE,GAAG,GAAG,MAAM,CAAC,EAAE,GAAG,GAAG,IAAI,EAAE,GAAG,GAAG,IAAI,CAAC;IAC7E,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,KAAK,GAAqB;IAC9B,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW;IAClD,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW;CACnD,CAAC;AAEF,8EAA8E;AAC9E,8EAA8E;AAC9E,8EAA8E;AAC9E,SAAS,YAAY,CAAC,EAAoB;IACxC,MAAM,MAAM,GAAwB,EAAE,CAAC;IACvC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAmB,CAAC;IACxC,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;QACnB,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS;YAAE,SAAS;QACpC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;YAAE,SAAS;QAChC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAClB,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IACD,MAAM,SAAS,GAAG,IAAI,GAAG,EAAmC,CAAC;IAC7D,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACpE,MAAM,GAAG,GAAG,IAAI,GAAG,EAA0B,CAAC;IAC9C,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAClB,IAAI,CAAC,CAAC,IAAI;YAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;aAC7B,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;YAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAE,CAAC,CAAC;;YAC5F,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IACH,OAAO,GAAG,CAAC;AACb,CAAC;AAWD,SAAS,UAAU,CAAC,IAAY;IAC9B,IAAI,CAAC,GAAG,IAAI,KAAK,CAAC,CAAC;IACnB,OAAO,GAAG,EAAE;QACV,CAAC,IAAI,CAAC,CAAC;QAAC,CAAC,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QACzC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC/C,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,UAAU,CAAC;IAC/C,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CACpB,EAAoB,EACpB,EAAoB,EACpB,CAAS,EACT,CAAS,EACT,KAAa,EACb,UAAkB;IAElB,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;IACjB,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;IACjB,MAAM,IAAI,GAAG,UAAU,CAAC,EAAE,CAAC,MAAM,GAAG,UAAU,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC;IAC5D,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC1C,MAAM,GAAG,GAAc,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACrC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACrB,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,EAAE,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC;QACnE,yEAAyE;QACzE,MAAM,KAAK,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;QACzD,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,IAAI,EAAE,GAAG,GAAG,CAAC,CAAC;QACtD,OAAO;YACL,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,CAAC,EAAE,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,EAAa,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC;YACtD,CAAC,EAAE,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,EAAa,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC;YACtD,EAAE,EAAE,CAAC;YACL,EAAE,EAAE,CAAC;YACL,KAAK;SACN,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,EAAE;SACb,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;SACpE,MAAM,CAAC,CAAC,CAAC,EAAiC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;IAExF,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IACnB,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,sBAAsB;IAC1E,MAAM,SAAS,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;IAC9B,MAAM,UAAU,GAAG,CAAC,GAAG,GAAG,CAAC;IAC3B,MAAM,OAAO,GAAG,IAAI,CAAC;IACrB,MAAM,OAAO,GAAG,KAAK,CAAC;IACtB,MAAM,OAAO,GAAG,IAAI,CAAC;IACrB,IAAI,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;IACxC,MAAM,OAAO,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAE7D,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC;QACxC,oCAAoC;QACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACpC,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACxC,IAAI,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC7B,IAAI,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC7B,IAAI,KAAK,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;gBAC9B,IAAI,KAAK,GAAG,IAAI,EAAE,CAAC;oBACjB,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;oBAC1B,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;oBAC1B,KAAK,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;gBACnC,CAAC;gBACD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC9B,MAAM,KAAK,GAAG,SAAS,GAAG,KAAK,CAAC;gBAChC,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC;gBAC/B,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC;gBAC/B,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;gBAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;gBACjC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;gBAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;YACnC,CAAC;QACH,CAAC;QACD,iCAAiC;QACjC,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACnB,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACnB,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACrB,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACrB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,IAAI,CAAC;YAClD,MAAM,KAAK,GAAG,CAAC,IAAI,GAAG,UAAU,CAAC,GAAG,OAAO,CAAC;YAC5C,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC;YAC/B,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC;YAC/B,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;YAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;YACvB,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;YAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;QACzB,CAAC;QACD,+DAA+D;QAC/D,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE,CAAC;YACvB,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;gBAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;gBAAC,SAAS;YAAC,CAAC;YACvD,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;YACnC,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;YACnC,IAAI,CAAC,EAAE,IAAI,OAAO,CAAC;YACnB,IAAI,CAAC,EAAE,IAAI,OAAO,CAAC;YACnB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;YAC/D,IAAI,KAAK,GAAG,WAAW,EAAE,CAAC;gBACxB,IAAI,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,GAAG,WAAW,CAAC;gBAC1C,IAAI,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,GAAG,WAAW,CAAC;YAC5C,CAAC;YACD,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC;YAClB,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC;YAClB,iCAAiC;YACjC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,UAAU,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YACxE,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,UAAU,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1E,CAAC;QACD,WAAW,IAAI,OAAO,CAAC;IACzB,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,GAAG,EAAoC,CAAC;IACxD,KAAK,MAAM,IAAI,IAAI,GAAG;QAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;IACnE,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,eAAe,CAAC;IACxC,IAAI,EAAE,YAAY;IAClB,KAAK,EAAE;QACL,KAAK,EAAE,EAAE,IAAI,EAAE,KAAmC,EAAE,QAAQ,EAAE,IAAI,EAAE;QACpE,KAAK,EAAE,EAAE,IAAI,EAAE,KAAmC,EAAE,QAAQ,EAAE,IAAI,EAAE;QACpE,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE;QAC/C,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE;QACrC,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE;QACtC,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE;QACxC,UAAU,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;QAC5C,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE;QAC1C,WAAW,EAAE,EAAE,IAAI,EAAE,KAA2B,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE;QACrE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAiC,EAAE,OAAO,EAAE,IAAI,EAAE;QACnE,MAAM,EAAE,EAAE,IAAI,EAAE,KAA0C,EAAE,OAAO,EAAE,SAAS,EAAE;QAChF,QAAQ,EAAE,EAAE,IAAI,EAAE,QAA0C,EAAE,OAAO,EAAE,SAAS,EAAE;QAClF,YAAY,EAAE,EAAE,IAAI,EAAE,QAA0C,EAAE,OAAO,EAAE,SAAS,EAAE;QACtF,WAAW,EAAE,EAAE,IAAI,EAAE,QAAoD,EAAE,OAAO,EAAE,SAAS,EAAE;QAC/F,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE;KAC5C;IACD,KAAK,EAAE;QACL,MAAM,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,IAAI;QAC7B,UAAU,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,IAAI;QACjC,SAAS,EAAE,CAAC,KAAqB,EAAE,EAAE,CAAC,IAAI;KAC3C;IACD,KAAK,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;QAC1B,4EAA4E;QAC5E,MAAM,oBAAoB,GACxB,OAAO,MAAM,KAAK,WAAW;YAC7B,OAAO,MAAM,CAAC,UAAU,KAAK,UAAU;YACvC,MAAM,CAAC,UAAU,CAAC,kCAAkC,CAAC,CAAC,OAAO,CAAC;QAEhE,kEAAkE;QAClE,wEAAwE;QACxE,sEAAsE;QACtE,yEAAyE;QACzE,wEAAwE;QACxE,MAAM,MAAM,GAAG,GAAG,CAAwC,IAAI,GAAG,EAAE,CAAC,CAAC;QACrE,IAAI,KAAK,GAAkB,IAAI,CAAC;QAEhC,yEAAyE;QACzE,4EAA4E;QAC5E,wDAAwD;QACxD,SAAS,WAAW,CAAC,KAAa;YAChC,OAAO,oBAAoB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC;QAC7E,CAAC;QAED,4EAA4E;QAC5E,gCAAgC;QAChC,SAAS,YAAY;YACnB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;YACxD,MAAM,CAAC,KAAK,GAAG,aAAa,CAC1B,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,MAAM,EACZ,WAAW,CAAC,KAAK,CAAC,EAClB,KAAK,CAAC,UAAU,CACjB,CAAC;QACJ,CAAC;QAED,qEAAqE;QACrE,uEAAuE;QACvE,kDAAkD;QAClD,SAAS,WAAW;YAClB,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACnB,oBAAoB,CAAC,KAAK,CAAC,CAAC;gBAC5B,KAAK,GAAG,IAAI,CAAC;YACf,CAAC;YACD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;YAExD,yCAAyC;YACzC,YAAY,EAAE,CAAC;YAEf,IAAI,oBAAoB,IAAI,OAAO,qBAAqB,KAAK,UAAU,EAAE,CAAC;gBACxE,OAAO;YACT,CAAC;YAED,wEAAwE;YACxE,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;YAClC,IAAI,OAAO,GAAG,MAAM,CAAC;YACrB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YAC7D,MAAM,IAAI,GAAG,GAAG,EAAE;gBAChB,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,CAAC;gBAC5C,MAAM,CAAC,KAAK,GAAG,aAAa,CAC1B,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,MAAM,EACZ,OAAO,EACP,KAAK,CAAC,UAAU,CACjB,CAAC;gBACF,IAAI,OAAO,GAAG,KAAK,EAAE,CAAC;oBACpB,KAAK,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;gBACtC,CAAC;qBAAM,CAAC;oBACN,KAAK,GAAG,IAAI,CAAC;gBACf,CAAC;YACH,CAAC,CAAC;YACF,KAAK,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC;QAED,qEAAqE;QACrE,YAAY,EAAE,CAAC;QAEf,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QAE1D,MAAM,eAAe,GAAG,QAAQ,CAAC,GAAG,EAAE,CACpC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACvB,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChF,MAAM,CAAC,GAAG,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;YACtE,MAAM,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAC5C,OAAO;gBACL,IAAI,EAAE,CAAC;gBACP,CAAC;gBACD,CAAC,EAAE,CAAC,CAAC,CAAC;gBACN,CAAC,EAAE,CAAC,CAAC,CAAC;gBACN,CAAC;gBACD,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,WAAW;gBAC5C,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,EAAE;gBACtB,SAAS;aACV,CAAC;QACJ,CAAC,CAAC,CACH,CAAC;QAEF,MAAM,eAAe,GAAG,QAAQ,CAAC,GAAG,EAAE;YACpC,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5D,OAAO,KAAK,CAAC,KAAK;iBACf,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBACZ,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBACrC,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBACrC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;oBAAE,OAAO,IAAI,CAAC;gBAC1B,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBACvC,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBACvC,OAAO;oBACL,IAAI,EAAE,CAAC;oBACP,CAAC;oBACD,EAAE,EAAE,CAAC,CAAC,CAAC;oBACP,EAAE,EAAE,CAAC,CAAC,CAAC;oBACP,EAAE,EAAE,CAAC,CAAC,CAAC;oBACP,EAAE,EAAE,CAAC,CAAC,CAAC;oBACP,QAAQ,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC,CAAC,MAAM;oBACpC,QAAQ,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC,CAAC,MAAM;iBACrC,CAAC;YACJ,CAAC,CAAC;iBACD,MAAM,CAAC,CAAC,CAAC,EAA8B,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;QAEH,MAAM,gBAAgB,GAAG,GAAG,CAAgB,IAAI,CAAC,CAAC;QAClD,MAAM,gBAAgB,GAAG,GAAG,CAAgB,IAAI,CAAC,CAAC;QAElD,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,GAAG,CAAS,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,CAAC;QAE7E,SAAS,UAAU,CAAC,EAAU;YAC5B,KAAK,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;YACrB,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACrB,CAAC;QACD,SAAS,cAAc,CAAC,EAAU;YAChC,KAAK,CAAC,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC;YACzB,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;QACzB,CAAC;QACD,SAAS,aAAa,CAAC,IAAoB;YACzC,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC;YAC1B,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,yEAAyE;QACzE,SAAS,iBAAiB,CAAC,EAAU,EAAE,CAAgB;YACrD,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;gBACvC,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,UAAU,CAAC,EAAE,CAAC,CAAC;YACjB,CAAC;YACD,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,EAAE,CAAC;gBACtB,cAAc,CAAC,EAAE,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;QAED,4EAA4E;QAC5E,oBAAoB;QACpB,uDAAuD;QACvD,qDAAqD;QACrD,4EAA4E;QAC5E,MAAM,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QACzB,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QACpB,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QAEpB,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;QAC7B,IAAI,QAAQ,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QAChD,MAAM,KAAK,GAAG,GAAG,CAAuB,IAAI,CAAC,CAAC;QAE9C,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;QAC1D,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;QAC3D,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEvC,SAAS,SAAS;YAChB,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC;YACpB,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;YACf,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QACjB,CAAC;QAED,SAAS,WAAW,CAAC,EAAc;YACjC,IAAI,oBAAoB;gBAAE,OAAO;YACjC,EAAE,CAAC,cAAc,EAAE,CAAC;YACpB,8BAA8B;YAC9B,MAAM,MAAM,GAAG,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;YACzC,yBAAyB;YACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,GAAG,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YACtE,wDAAwD;YACxD,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBAChB,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,qBAAqB,EAAE,CAAC;gBACjD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;gBAC1G,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;gBAC3G,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,GAAG,QAAQ,CAAC;gBACtC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC;gBACvC,MAAM,MAAM,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;gBAC3E,MAAM,MAAM,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;gBAC5E,IAAI,CAAC,KAAK,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,CAAC;gBAC1C,IAAI,CAAC,KAAK,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,CAAC;YAC5C,CAAC;YACD,SAAS,CAAC,KAAK,GAAG,QAAQ,CAAC;QAC7B,CAAC;QAED,SAAS,iBAAiB,CAAC,EAAc;YACvC,yEAAyE;YACzE,IAAK,EAAE,CAAC,MAAkB,CAAC,OAAO,CAAC,sBAAsB,CAAC;gBAAE,OAAO;YACnE,IAAI,oBAAoB;gBAAE,OAAO;YACjC,SAAS,CAAC,KAAK,GAAG,IAAI,CAAC;YACvB,QAAQ,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;QAClF,CAAC;QAED,SAAS,eAAe,CAAC,EAAc;YACrC,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK;gBAAE,OAAO;YAC7C,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,qBAAqB,EAAE,CAAC;YACjD,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC;YAChE,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC;YACjE,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,IAAI,GAAG,EAAE,CAAC;YAChC,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,IAAI,GAAG,EAAE,CAAC;QAClC,CAAC;QAED,SAAS,aAAa;YACpB,SAAS,CAAC,KAAK,GAAG,KAAK,CAAC;QAC1B,CAAC;QAED,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;QACtF,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,KAAK,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC;QAE/F,4EAA4E;QAC5E,uEAAuE;QACvE,qCAAqC;QACrC,4EAA4E;QAC5E,SAAS,CAAC,GAAG,EAAE;YACb,WAAW,EAAE,CAAC;QAChB,CAAC,CAAC,CAAC;QAEH,KAAK,CACH,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,EAC/F,GAAG,EAAE;YACH,WAAW,EAAE,CAAC;QAChB,CAAC,EACD,EAAE,IAAI,EAAE,IAAI,EAAE,CACf,CAAC;QAEF,WAAW,CAAC,GAAG,EAAE;YACf,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACnB,oBAAoB,CAAC,KAAK,CAAC,CAAC;gBAC5B,KAAK,GAAG,IAAI,CAAC;YACf,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,GAAG,EAAE;YACV,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,aAAa,CAAC;YAC3C,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC;YAEtC,MAAM,QAAQ,GAAY,EAAE,CAAC;YAE7B,uBAAuB;YACvB,MAAM,UAAU,GAAY,EAAE,CAAC;YAC/B,KAAK,MAAM,CAAC,IAAI,eAAe,CAAC,KAAK,EAAE,CAAC;gBACtC,2CAA2C;gBAC3C,UAAU,CAAC,IAAI,CACb,CAAC,CAAC,MAAM,EAAE;oBACR,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE;oBACjB,KAAK,EAAE,wBAAwB;oBAC/B,IAAI,EAAE,cAAc;oBACpB,EAAE,EAAE,CAAC,CAAC,EAAE;oBACR,EAAE,EAAE,CAAC,CAAC,EAAE;oBACR,EAAE,EAAE,CAAC,CAAC,EAAE;oBACR,EAAE,EAAE,CAAC,CAAC,EAAE;oBACR,YAAY,EAAE,GAAG,EAAE;wBACjB,gBAAgB,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;wBAC7B,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;oBACxB,CAAC;oBACD,YAAY,EAAE,GAAG,EAAE;wBACjB,gBAAgB,CAAC,KAAK,GAAG,IAAI,CAAC;oBAChC,CAAC;iBACF,CAAC,CACH,CAAC;gBACF,UAAU,CAAC,IAAI,CACb,CAAC,CAAC,MAAM,EAAE;oBACR,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE;oBAClB,KAAK,EAAE,UAAU,CACf,qBAAqB,EACrB,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,2BAA2B,EAC1C,gBAAgB,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,8BAA8B,CACjE;oBACD,EAAE,EAAE,CAAC,CAAC,EAAE;oBACR,EAAE,EAAE,CAAC,CAAC,EAAE;oBACR,EAAE,EAAE,CAAC,CAAC,EAAE;oBACR,EAAE,EAAE,CAAC,CAAC,EAAE;oBACR,gBAAgB,EAAE,MAAM;iBACzB,CAAC,CACH,CAAC;YACJ,CAAC;YAED,MAAM,UAAU,GAAY,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC1D,MAAM,UAAU,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACpD,MAAM,SAAS,GAAG,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;gBACvF,wEAAwE;gBACxE,mEAAmE;gBACnE,oEAAoE;gBACpE,qCAAqC;gBACrC,MAAM,WAAW,GAAG;oBAClB,QAAQ,EAAE,CAAC;oBACX,IAAI,EAAE,QAAQ;oBACd,YAAY,EAAE,SAAS;oBACvB,cAAc,EAAE,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;oBAC7C,YAAY,EAAE,GAAG,EAAE,GAAG,gBAAgB,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACrD,YAAY,EAAE,GAAG,EAAE,GAAG,gBAAgB,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC;oBACtD,OAAO,EAAE,GAAG,EAAE,GAAG,gBAAgB,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAChD,MAAM,EAAE,GAAG,EAAE,GAAG,gBAAgB,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC;oBAChD,SAAS,EAAE,CAAC,EAAiB,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC;iBACnE,CAAC;gBAEF,MAAM,OAAO,GAAG,CAAC,CAAC,SAAS;oBACzB,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,yCAAyC,EAAE,CAAC,EAAE,CAAC,CAAC,SAAS,EAAE,GAAG,WAAW,EAAE,CAAC;oBACjG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,WAAW,EAAE,CAAC,CAAC;gBAEzE,MAAM,KAAK,GAAY,CAAC,OAAO,CAAC,CAAC;gBACjC,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;oBACrB,KAAK,CAAC,IAAI,CACR,CAAC,CACC,MAAM,EACN,EAAE,KAAK,EAAE,sBAAsB,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,mBAAmB,EAAE,QAAQ,EAAE,EAClF,CAAC,CAAC,KAAK,CACR,CACF,CAAC;gBACJ,CAAC;gBAED,OAAO,CAAC,CACN,GAAG,EACH;oBACE,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE;oBACd,KAAK,EAAE,UAAU,CACf,qBAAqB,EACrB,wBAAwB,CAAC,CAAC,IAAI,EAAE,EAChC,gBAAgB,CAAC,KAAK,KAAK,IAAI,IAAI,gBAAgB,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,0BAA0B,EAC/F,UAAU,IAAI,+BAA+B,EAC7C,OAAO,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,4BAA4B,CACtD;oBACD,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG;oBACrC,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;oBACpC,UAAU,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;iBAC5C,EACD,KAAK,CACN,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,QAAQ,CAAC,IAAI,CACX,CAAC,CACC,KAAK,EACL;gBACE,GAAG,EAAE,KAAK;gBACV,OAAO,EAAE,OAAO,CAAC,KAAK;gBACtB,mBAAmB,EAAE,eAAe;gBACpC,KAAK,EAAE,MAAM;gBACb,MAAM,EAAE,MAAM;gBACd,SAAS,EAAE,OAAO;gBAClB,aAAa,EAAE,MAAM;gBACrB,KAAK,EAAE,UAAU,CAAC,SAAS,CAAC,KAAK,IAAI,6BAA6B,CAAC;gBACnE,OAAO,EAAE,WAAW;gBACpB,WAAW,EAAE,iBAAiB;gBAC9B,WAAW,EAAE,eAAe;gBAC5B,SAAS,EAAE,aAAa;gBACxB,YAAY,EAAE,aAAa;aAC5B,EACD;gBACE,CAAC,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,sBAAsB,EAAE,EAAE,UAAU,CAAC;gBACrD,CAAC,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,sBAAsB,EAAE,EAAE,UAAU,CAAC;aACtD,CACF,CACF,CAAC;YAEF,yBAAyB;YACzB,MAAM,GAAG,GAAG,gBAAgB,CAAC,KAAK,CAAC;YACnC,IAAI,GAAG,KAAK,IAAI,IAAI,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC/C,MAAM,CAAC,GAAG,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACrC,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC,MAAM,CAC3C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,CAClE,CAAC,MAAM,CAAC;gBACT,MAAM,WAAW,GAAY;oBAC3B,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,6BAA6B,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC;iBAC7D,CAAC;gBACF,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;oBAC/B,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,4BAA4B,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC7F,CAAC;gBACD,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;oBACjB,WAAW,CAAC,IAAI,CACd,CAAC,CACC,MAAM,EACN,EAAE,KAAK,EAAE,4BAA4B,EAAE,EACvC,GAAG,QAAQ,YAAY,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CACnD,CACF,CAAC;gBACJ,CAAC;gBACD,QAAQ,CAAC,IAAI,CACX,CAAC,CACC,KAAK,EACL;oBACE,KAAK,EAAE,wBAAwB;oBAC/B,IAAI,EAAE,cAAc;oBACpB,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG;iBACzG,EACD,WAAW,CACZ,CACF,CAAC;YACJ,CAAC;YAED,yBAAyB;YACzB,MAAM,GAAG,GAAG,gBAAgB,CAAC,KAAK,CAAC;YACnC,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;gBACjB,MAAM,CAAC,GAAG,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;gBAC3D,IAAI,CAAC,EAAE,CAAC;oBACN,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;oBAC/B,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;oBAC/B,MAAM,WAAW,GAAY;wBAC3B,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,6BAA6B,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC;qBAChE,CAAC;oBACF,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;wBACpB,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,gCAAgC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;oBAC5F,CAAC;oBACD,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,6BAA6B,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;oBAClF,QAAQ,CAAC,IAAI,CACX,CAAC,CACC,KAAK,EACL;wBACE,KAAK,EAAE,qDAAqD;wBAC5D,IAAI,EAAE,cAAc;wBACpB,KAAK,EAAE,SAAS,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,WAAW,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG;qBAC3G,EACD,WAAW,CACZ,CACF,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,wDAAwD;YACxD,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;gBACnB,QAAQ,CAAC,IAAI,CACX,CAAC,CACC,QAAQ,EACR;oBACE,KAAK,EAAE,yBAAyB;oBAChC,IAAI,EAAE,QAAQ;oBACd,YAAY,EAAE,YAAY;oBAC1B,OAAO,EAAE,SAAS;iBACnB,EACD,GAAG,CACJ,CACF,CAAC;YACJ,CAAC;YAED,2BAA2B;YAC3B,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5C,MAAM,OAAO,GAAY,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;oBACvD,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;oBACpF,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,IAAI,WAAW,CAAC;oBAC7C,IAAI,MAAa,CAAC;oBAClB,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;wBAC9B,MAAM,GAAG,CAAC,CACR,KAAK,EACL;4BACE,KAAK,EAAE,6BAA6B;4BACpC,OAAO,EAAE,aAAa;4BACtB,KAAK,EAAE,IAAI;4BACX,MAAM,EAAE,IAAI;4BACZ,aAAa,EAAE,MAAM;yBACtB,EACD;4BACE,UAAU;gCACR,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE;oCACR,CAAC,EAAE,UAAU;oCACb,KAAK,EAAE,0DAA0D,UAAU,EAAE;iCAC9E,CAAC;gCACJ,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;oCACV,CAAC,EAAE,GAAG;oCACN,KAAK,EAAE,0DAA0D,UAAU,EAAE;iCAC9E,CAAC;yBACP,CACF,CAAC;oBACJ,CAAC;yBAAM,CAAC;wBACN,MAAM,GAAG,CAAC,CACR,KAAK,EACL;4BACE,KAAK,EAAE,6BAA6B;4BACpC,OAAO,EAAE,UAAU;4BACnB,KAAK,EAAE,IAAI;4BACX,MAAM,EAAE,GAAG;4BACX,aAAa,EAAE,MAAM;yBACtB,EACD;4BACE,CAAC,CAAC,MAAM,EAAE;gCACR,EAAE,EAAE,GAAG;gCACP,EAAE,EAAE,GAAG;gCACP,EAAE,EAAE,IAAI;gCACR,EAAE,EAAE,GAAG;gCACP,KAAK,EAAE,UAAU,CACf,2BAA2B,EAC3B,KAAK,CAAC,IAAI,IAAI,iCAAiC,CAChD;6BACF,CAAC;yBACH,CACF,CAAC;oBACJ,CAAC;oBACD,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,4BAA4B,EAAE,EAAE;wBACjE,MAAM;wBACN,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,4BAA4B,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC;qBAChE,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;gBACH,QAAQ,CAAC,IAAI,CACX,CAAC,CACC,KAAK,EACL,EAAE,KAAK,EAAE,uBAAuB,EAAE,YAAY,EAAE,cAAc,EAAE,EAChE,OAAO,CACR,CACF,CAAC;YACJ,CAAC;YAED,OAAO,CAAC,CACN,QAAQ,EACR;gBACE,GAAG,KAAK;gBACR,KAAK,EAAE,UAAU,CAAC,eAAe,EAAE,KAAK,CAAC,KAAK,CAAC;gBAC/C,IAAI,EAAE,KAAK;gBACX,YAAY,EAAE,KAAK;aACpB,EACD,QAAQ,CACT,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"ForceGraph.js","sourceRoot":"","sources":["../src/ForceGraph.ts"],"names":[],"mappings":"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"}
@@ -47,8 +47,8 @@ export declare const LanguageSelector: import("vue").DefineComponent<import("vue
47
47
  }>> & Readonly<{
48
48
  onChange?: ((...args: any[]) => any) | undefined;
49
49
  }>, {
50
+ open: boolean;
50
51
  class: string;
51
52
  value: string;
52
- open: boolean;
53
53
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
54
54
  //# sourceMappingURL=LanguageSelector.d.ts.map