@zukhruf/diagram 0.3.33 → 0.3.34
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/README.md +98 -52
- package/dist/index.d.ts +5 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/compiler/diagram-compile.d.ts +3 -4
- package/dist/lib/compiler/diagram-compile.d.ts.map +1 -1
- package/dist/lib/compiler/diagram-compile.js +85 -370
- package/dist/lib/compiler/diagram-compile.js.map +1 -1
- package/dist/lib/layouts/graph/attach.d.ts.map +1 -1
- package/dist/lib/layouts/graph/attach.js +64 -8
- package/dist/lib/layouts/graph/attach.js.map +1 -1
- package/dist/lib/layouts/graph/connections.d.ts +11 -4
- package/dist/lib/layouts/graph/connections.d.ts.map +1 -1
- package/dist/lib/layouts/graph/connections.js +43 -17
- package/dist/lib/layouts/graph/connections.js.map +1 -1
- package/dist/lib/layouts/graph/graph-layout-result.d.ts +4 -2
- package/dist/lib/layouts/graph/graph-layout-result.d.ts.map +1 -1
- package/dist/lib/layouts/graph/graph-layout-result.js.map +1 -1
- package/dist/lib/layouts/graph/gutters.js +40 -21
- package/dist/lib/layouts/graph/gutters.js.map +1 -1
- package/dist/lib/layouts/graph/labels.d.ts +16 -9
- package/dist/lib/layouts/graph/labels.d.ts.map +1 -1
- package/dist/lib/layouts/graph/labels.js +62 -18
- package/dist/lib/layouts/graph/labels.js.map +1 -1
- package/dist/lib/layouts/graph/layout.d.ts +1 -1
- package/dist/lib/layouts/graph/layout.d.ts.map +1 -1
- package/dist/lib/layouts/graph/layout.js +6 -3
- package/dist/lib/layouts/graph/layout.js.map +1 -1
- package/dist/lib/layouts/graph/measure.d.ts +8 -5
- package/dist/lib/layouts/graph/measure.d.ts.map +1 -1
- package/dist/lib/layouts/graph/measure.js +47 -9
- package/dist/lib/layouts/graph/measure.js.map +1 -1
- package/dist/lib/layouts/graph/min-heap.d.ts +1 -5
- package/dist/lib/layouts/graph/min-heap.d.ts.map +1 -1
- package/dist/lib/layouts/graph/min-heap.js +1 -5
- package/dist/lib/layouts/graph/min-heap.js.map +1 -1
- package/dist/lib/layouts/graph/node-content.d.ts +1 -1
- package/dist/lib/layouts/graph/node-content.d.ts.map +1 -1
- package/dist/lib/layouts/graph/node-content.js +26 -7
- package/dist/lib/layouts/graph/node-content.js.map +1 -1
- package/dist/lib/layouts/graph/path.d.ts +2 -10
- package/dist/lib/layouts/graph/path.d.ts.map +1 -1
- package/dist/lib/layouts/graph/path.js +11 -13
- package/dist/lib/layouts/graph/path.js.map +1 -1
- package/dist/lib/layouts/graph/round.d.ts +11 -0
- package/dist/lib/layouts/graph/round.d.ts.map +1 -0
- package/dist/lib/layouts/graph/round.js +181 -0
- package/dist/lib/layouts/graph/round.js.map +1 -0
- package/dist/lib/layouts/graph/route.d.ts +10 -6
- package/dist/lib/layouts/graph/route.d.ts.map +1 -1
- package/dist/lib/layouts/graph/route.js +68 -33
- package/dist/lib/layouts/graph/route.js.map +1 -1
- package/dist/lib/layouts/graph/sides.d.ts +10 -5
- package/dist/lib/layouts/graph/sides.d.ts.map +1 -1
- package/dist/lib/layouts/graph/sides.js +14 -7
- package/dist/lib/layouts/graph/sides.js.map +1 -1
- package/dist/lib/layouts/timeline/timeline-layout.d.ts +2 -1
- package/dist/lib/layouts/timeline/timeline-layout.d.ts.map +1 -1
- package/dist/lib/layouts/timeline/timeline-layout.js +9 -4
- package/dist/lib/layouts/timeline/timeline-layout.js.map +1 -1
- package/dist/lib/model/diagram-ir.d.ts +19 -156
- package/dist/lib/model/diagram-ir.d.ts.map +1 -1
- package/dist/lib/model/diagram-ir.js.map +1 -1
- package/dist/lib/model/validate-graph.d.ts +7 -0
- package/dist/lib/model/validate-graph.d.ts.map +1 -0
- package/dist/lib/model/validate-graph.js +54 -0
- package/dist/lib/model/validate-graph.js.map +1 -0
- package/dist/lib/react/Diagram.d.ts +3 -9
- package/dist/lib/react/Diagram.d.ts.map +1 -1
- package/dist/lib/react/Diagram.js +1 -13
- package/dist/lib/react/Diagram.js.map +1 -1
- package/dist/lib/react/diagram-types.d.ts +17 -46
- package/dist/lib/react/diagram-types.d.ts.map +1 -1
- package/dist/lib/react/diagram-types.js.map +1 -1
- package/dist/lib/renderers/canvas/graph-canvas.d.ts +2 -5
- package/dist/lib/renderers/canvas/graph-canvas.d.ts.map +1 -1
- package/dist/lib/renderers/canvas/graph-canvas.js +68 -43
- package/dist/lib/renderers/canvas/graph-canvas.js.map +1 -1
- package/dist/lib/renderers/html/graph-html.d.ts +2 -3
- package/dist/lib/renderers/html/graph-html.d.ts.map +1 -1
- package/dist/lib/renderers/html/graph-html.js +298 -289
- package/dist/lib/renderers/html/graph-html.js.map +1 -1
- package/dist/lib/renderers/shared/graph-parts.d.ts +3 -1
- package/dist/lib/renderers/shared/graph-parts.d.ts.map +1 -1
- package/dist/lib/renderers/shared/graph-parts.js +350 -418
- package/dist/lib/renderers/shared/graph-parts.js.map +1 -1
- package/dist/lib/renderers/shared/node-parts.d.ts +5 -6
- package/dist/lib/renderers/shared/node-parts.d.ts.map +1 -1
- package/dist/lib/renderers/shared/node-parts.js +112 -190
- package/dist/lib/renderers/shared/node-parts.js.map +1 -1
- package/dist/lib/renderers/shared/run-spans.js +2 -2
- package/dist/lib/renderers/shared/run-spans.js.map +1 -1
- package/dist/lib/renderers/shared/text-runs.d.ts +0 -6
- package/dist/lib/renderers/shared/text-runs.d.ts.map +1 -1
- package/dist/lib/renderers/shared/text-runs.js +0 -12
- package/dist/lib/renderers/shared/text-runs.js.map +1 -1
- package/dist/lib/renderers/svg/graph-svg.d.ts +1 -3
- package/dist/lib/renderers/svg/graph-svg.d.ts.map +1 -1
- package/dist/lib/renderers/svg/graph-svg.js +66 -80
- package/dist/lib/renderers/svg/graph-svg.js.map +1 -1
- package/dist/lib/renderers/svg/timeline-svg.d.ts.map +1 -1
- package/dist/lib/renderers/svg/timeline-svg.js +7 -5
- package/dist/lib/renderers/svg/timeline-svg.js.map +1 -1
- package/package.json +1 -1
- package/dist/lib/layouts/graph/graph-layout.d.ts +0 -154
- package/dist/lib/layouts/graph/graph-layout.d.ts.map +0 -1
- package/dist/lib/layouts/graph/graph-layout.js +0 -2340
- package/dist/lib/layouts/graph/graph-layout.js.map +0 -1
- package/dist/lib/layouts/graph/legacy-graph-layout.d.ts +0 -6
- package/dist/lib/layouts/graph/legacy-graph-layout.d.ts.map +0 -1
- package/dist/lib/layouts/graph/legacy-graph-layout.js +0 -542
- package/dist/lib/layouts/graph/legacy-graph-layout.js.map +0 -1
- package/dist/lib/layouts/text-metrics.d.ts +0 -7
- package/dist/lib/layouts/text-metrics.d.ts.map +0 -1
- package/dist/lib/layouts/text-metrics.js +0 -40
- package/dist/lib/layouts/text-metrics.js.map +0 -1
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import { c as _c } from "react/compiler-runtime";
|
|
2
2
|
import { motion, useTransform } from 'motion/react';
|
|
3
|
-
import { ANNOTATION_NOTE_PREFIX } from "../../layouts/graph/legacy-graph-layout.js";
|
|
4
3
|
import { FONT_FAMILY } from "../../layouts/text/font.js";
|
|
5
4
|
import { DIAGRAM_BG, DIAGRAM_DIM, DIAGRAM_NEUTRAL, DIAGRAM_TEXT, resolveDiagramToneFill, useDiagramTheme } from "../../react/chrome/index.js";
|
|
6
5
|
import { DiagramNodeIcon, PortMarkers, accentToneStroke, nodeTextFill, textureFill } from "./graph-parts.js";
|
|
7
6
|
import { RunSpans } from "./run-spans.js";
|
|
8
7
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
9
|
-
export const
|
|
8
|
+
export const NOTE_REVEAL_START = 0.85;
|
|
10
9
|
export function isSpecialNode(node) {
|
|
11
10
|
return node.kind !== undefined && node.kind !== 'node';
|
|
12
11
|
}
|
|
@@ -14,7 +13,7 @@ function isNote(layout) {
|
|
|
14
13
|
return layout.node.kind === 'note';
|
|
15
14
|
}
|
|
16
15
|
|
|
17
|
-
/** Splits the
|
|
16
|
+
/** Splits the framed nodes from the notes, which draw last, over the edges. */
|
|
18
17
|
export function splitNotes(nodes) {
|
|
19
18
|
return {
|
|
20
19
|
graphNodes: nodes.filter(layout => !isNote(layout)),
|
|
@@ -37,7 +36,7 @@ function junctionFillColor(node, themeAccent) {
|
|
|
37
36
|
return DIAGRAM_BG;
|
|
38
37
|
}
|
|
39
38
|
export function SpecialNode(t0) {
|
|
40
|
-
const $ = _c(
|
|
39
|
+
const $ = _c(179);
|
|
41
40
|
const {
|
|
42
41
|
layout,
|
|
43
42
|
progress,
|
|
@@ -641,32 +640,34 @@ export function SpecialNode(t0) {
|
|
|
641
640
|
} else {
|
|
642
641
|
t10 = $[157];
|
|
643
642
|
}
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
if ($[158] !== junctionFill || $[159] !== junctionStroke || $[160] !== node.id || $[161] !== radius || $[162] !== t11 || $[163] !== t12) {
|
|
648
|
-
t13 = /*#__PURE__*/_jsx("circle", {
|
|
643
|
+
let t11;
|
|
644
|
+
if ($[158] !== box.h || $[159] !== box.w || $[160] !== box.x || $[161] !== box.y || $[162] !== junctionFill || $[163] !== junctionStroke || $[164] !== node.id || $[165] !== radius) {
|
|
645
|
+
t11 = /*#__PURE__*/_jsx("rect", {
|
|
649
646
|
"data-diagram-junction": node.id,
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
647
|
+
x: box.x,
|
|
648
|
+
y: box.y,
|
|
649
|
+
width: box.w,
|
|
650
|
+
height: box.h,
|
|
651
|
+
rx: radius,
|
|
653
652
|
fill: junctionFill,
|
|
654
653
|
stroke: junctionStroke,
|
|
655
654
|
strokeWidth: 1.5
|
|
656
655
|
});
|
|
657
|
-
$[158] =
|
|
658
|
-
$[159] =
|
|
659
|
-
$[160] =
|
|
660
|
-
$[161] =
|
|
661
|
-
$[162] =
|
|
662
|
-
$[163] =
|
|
663
|
-
$[164] =
|
|
656
|
+
$[158] = box.h;
|
|
657
|
+
$[159] = box.w;
|
|
658
|
+
$[160] = box.x;
|
|
659
|
+
$[161] = box.y;
|
|
660
|
+
$[162] = junctionFill;
|
|
661
|
+
$[163] = junctionStroke;
|
|
662
|
+
$[164] = node.id;
|
|
663
|
+
$[165] = radius;
|
|
664
|
+
$[166] = t11;
|
|
664
665
|
} else {
|
|
665
|
-
|
|
666
|
+
t11 = $[166];
|
|
666
667
|
}
|
|
667
|
-
let
|
|
668
|
-
if ($[
|
|
669
|
-
|
|
668
|
+
let t12;
|
|
669
|
+
if ($[167] !== fill || $[168] !== first || $[169] !== node.id || $[170] !== text) {
|
|
670
|
+
t12 = first && /*#__PURE__*/_jsx("text", {
|
|
670
671
|
"data-diagram-junction-label": node.id,
|
|
671
672
|
...textAttrs(first),
|
|
672
673
|
fill: fill,
|
|
@@ -674,39 +675,39 @@ export function SpecialNode(t0) {
|
|
|
674
675
|
runs: text
|
|
675
676
|
})
|
|
676
677
|
});
|
|
677
|
-
$[
|
|
678
|
-
$[
|
|
679
|
-
$[
|
|
680
|
-
$[
|
|
681
|
-
$[
|
|
678
|
+
$[167] = fill;
|
|
679
|
+
$[168] = first;
|
|
680
|
+
$[169] = node.id;
|
|
681
|
+
$[170] = text;
|
|
682
|
+
$[171] = t12;
|
|
682
683
|
} else {
|
|
683
|
-
|
|
684
|
+
t12 = $[171];
|
|
684
685
|
}
|
|
685
|
-
let
|
|
686
|
-
if ($[
|
|
687
|
-
|
|
686
|
+
let t13;
|
|
687
|
+
if ($[172] !== layout) {
|
|
688
|
+
t13 = /*#__PURE__*/_jsx(NodeCaption, {
|
|
688
689
|
layout: layout
|
|
689
690
|
});
|
|
690
|
-
$[
|
|
691
|
-
$[
|
|
691
|
+
$[172] = layout;
|
|
692
|
+
$[173] = t13;
|
|
692
693
|
} else {
|
|
693
|
-
|
|
694
|
+
t13 = $[173];
|
|
694
695
|
}
|
|
695
|
-
let
|
|
696
|
-
if ($[
|
|
697
|
-
|
|
696
|
+
let t14;
|
|
697
|
+
if ($[174] !== t10 || $[175] !== t11 || $[176] !== t12 || $[177] !== t13) {
|
|
698
|
+
t14 = /*#__PURE__*/_jsxs(motion.g, {
|
|
698
699
|
style: t10,
|
|
699
|
-
children: [
|
|
700
|
+
children: [t11, t12, t13]
|
|
700
701
|
});
|
|
701
|
-
$[
|
|
702
|
-
$[
|
|
703
|
-
$[
|
|
704
|
-
$[
|
|
705
|
-
$[
|
|
702
|
+
$[174] = t10;
|
|
703
|
+
$[175] = t11;
|
|
704
|
+
$[176] = t12;
|
|
705
|
+
$[177] = t13;
|
|
706
|
+
$[178] = t14;
|
|
706
707
|
} else {
|
|
707
|
-
|
|
708
|
+
t14 = $[178];
|
|
708
709
|
}
|
|
709
|
-
return
|
|
710
|
+
return t14;
|
|
710
711
|
}
|
|
711
712
|
return null;
|
|
712
713
|
}
|
|
@@ -871,11 +872,10 @@ export function NodeCaption(t0) {
|
|
|
871
872
|
}
|
|
872
873
|
return t8;
|
|
873
874
|
}
|
|
874
|
-
export function
|
|
875
|
-
const $ = _c(
|
|
875
|
+
export function NoteText(t0) {
|
|
876
|
+
const $ = _c(23);
|
|
876
877
|
const {
|
|
877
878
|
note,
|
|
878
|
-
annotations,
|
|
879
879
|
leaders,
|
|
880
880
|
progress,
|
|
881
881
|
start,
|
|
@@ -907,167 +907,89 @@ export function AnnotationText(t0) {
|
|
|
907
907
|
t3 = $[4];
|
|
908
908
|
}
|
|
909
909
|
const opacity = useTransform(progress, t1, t2, t3);
|
|
910
|
+
const {
|
|
911
|
+
node,
|
|
912
|
+
text
|
|
913
|
+
} = note;
|
|
914
|
+
const [first] = text;
|
|
910
915
|
let t4;
|
|
911
|
-
if ($[5] !==
|
|
912
|
-
t4 =
|
|
913
|
-
|
|
916
|
+
if ($[5] !== opacity) {
|
|
917
|
+
t4 = {
|
|
918
|
+
opacity
|
|
919
|
+
};
|
|
920
|
+
$[5] = opacity;
|
|
914
921
|
$[6] = t4;
|
|
915
922
|
} else {
|
|
916
923
|
t4 = $[6];
|
|
917
924
|
}
|
|
918
|
-
const index = Number(t4);
|
|
919
|
-
const annotation = annotations[index];
|
|
920
|
-
if (!annotation) {
|
|
921
|
-
return null;
|
|
922
|
-
}
|
|
923
925
|
let t5;
|
|
924
|
-
if ($[7] !==
|
|
925
|
-
|
|
926
|
-
$[
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
t5 = $[9];
|
|
931
|
-
}
|
|
932
|
-
const fill = t5;
|
|
933
|
-
const anchor = annotation.anchor ?? "top";
|
|
934
|
-
const route = annotation.leaderRoute ?? "straight";
|
|
935
|
-
let t6;
|
|
936
|
-
if ($[10] !== annotation.targets) {
|
|
937
|
-
t6 = annotation.targets?.join("+");
|
|
938
|
-
$[10] = annotation.targets;
|
|
939
|
-
$[11] = t6;
|
|
940
|
-
} else {
|
|
941
|
-
t6 = $[11];
|
|
942
|
-
}
|
|
943
|
-
const annotationTargets = t6;
|
|
944
|
-
const annotationId = annotation.target || annotationTargets ? `${annotation.target ?? annotationTargets}:${anchor}` : `free:${index}`;
|
|
945
|
-
let T0;
|
|
946
|
-
let first;
|
|
947
|
-
let t7;
|
|
948
|
-
let t8;
|
|
949
|
-
if ($[12] !== anchor || $[13] !== annotationId || $[14] !== leaders || $[15] !== note.node.id || $[16] !== note.text || $[17] !== opacity || $[18] !== route) {
|
|
950
|
-
let t9;
|
|
951
|
-
if ($[23] !== note.node.id) {
|
|
952
|
-
t9 = leader => leader.note === note.node.id;
|
|
953
|
-
$[23] = note.node.id;
|
|
954
|
-
$[24] = t9;
|
|
926
|
+
if ($[7] !== leaders || $[8] !== node) {
|
|
927
|
+
let t6;
|
|
928
|
+
if ($[10] !== node) {
|
|
929
|
+
t6 = leader => leader.note === node.id;
|
|
930
|
+
$[10] = node;
|
|
931
|
+
$[11] = t6;
|
|
955
932
|
} else {
|
|
956
|
-
|
|
933
|
+
t6 = $[11];
|
|
957
934
|
}
|
|
958
|
-
|
|
959
|
-
[
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
t10 = (leader_0, leaderIndex) => {
|
|
973
|
-
const attrs = {
|
|
974
|
-
"data-diagram-annotation-leader": annotationId,
|
|
975
|
-
"data-diagram-annotation-leader-target": leader_0.target,
|
|
976
|
-
"data-diagram-annotation-leader-anchor": anchor,
|
|
977
|
-
"data-diagram-annotation-leader-index": leaderIndex,
|
|
978
|
-
"data-diagram-annotation-leader-route": route
|
|
979
|
-
};
|
|
980
|
-
const from = leader_0.points.at(0);
|
|
981
|
-
const to = leader_0.points.at(-1);
|
|
982
|
-
if (leader_0.points.length > 2 || !from || !to) {
|
|
983
|
-
return /*#__PURE__*/_jsx("path", {
|
|
984
|
-
...attrs,
|
|
985
|
-
d: leader_0.d,
|
|
986
|
-
fill: "none",
|
|
987
|
-
stroke: DIAGRAM_NEUTRAL,
|
|
988
|
-
strokeWidth: 1,
|
|
989
|
-
strokeLinecap: "round",
|
|
990
|
-
strokeLinejoin: "round"
|
|
991
|
-
}, `${leader_0.target}:${leaderIndex}`);
|
|
992
|
-
}
|
|
993
|
-
return /*#__PURE__*/_jsx("line", {
|
|
994
|
-
...attrs,
|
|
995
|
-
x1: from.x,
|
|
996
|
-
y1: from.y,
|
|
997
|
-
x2: to.x,
|
|
998
|
-
y2: to.y,
|
|
999
|
-
stroke: DIAGRAM_NEUTRAL,
|
|
1000
|
-
strokeWidth: 1,
|
|
1001
|
-
strokeLinecap: "round"
|
|
1002
|
-
}, `${leader_0.target}:${leaderIndex}`);
|
|
1003
|
-
};
|
|
1004
|
-
$[27] = anchor;
|
|
1005
|
-
$[28] = annotationId;
|
|
1006
|
-
$[29] = route;
|
|
1007
|
-
$[30] = t10;
|
|
935
|
+
let t7;
|
|
936
|
+
if ($[12] !== node) {
|
|
937
|
+
t7 = leader_0 => /*#__PURE__*/_jsx("path", {
|
|
938
|
+
"data-diagram-note-leader": node.id,
|
|
939
|
+
"data-diagram-note-leader-target": leader_0.target,
|
|
940
|
+
d: leader_0.d,
|
|
941
|
+
fill: "none",
|
|
942
|
+
stroke: DIAGRAM_NEUTRAL,
|
|
943
|
+
strokeWidth: 1,
|
|
944
|
+
strokeLinecap: "round",
|
|
945
|
+
strokeLinejoin: "round"
|
|
946
|
+
}, leader_0.target);
|
|
947
|
+
$[12] = node;
|
|
948
|
+
$[13] = t7;
|
|
1008
949
|
} else {
|
|
1009
|
-
|
|
950
|
+
t7 = $[13];
|
|
1010
951
|
}
|
|
1011
|
-
|
|
1012
|
-
$[
|
|
1013
|
-
$[
|
|
1014
|
-
$[
|
|
1015
|
-
$[15] = note.node.id;
|
|
1016
|
-
$[16] = note.text;
|
|
1017
|
-
$[17] = opacity;
|
|
1018
|
-
$[18] = route;
|
|
1019
|
-
$[19] = T0;
|
|
1020
|
-
$[20] = first;
|
|
1021
|
-
$[21] = t7;
|
|
1022
|
-
$[22] = t8;
|
|
952
|
+
t5 = leaders.filter(t6).map(t7);
|
|
953
|
+
$[7] = leaders;
|
|
954
|
+
$[8] = node;
|
|
955
|
+
$[9] = t5;
|
|
1023
956
|
} else {
|
|
1024
|
-
|
|
1025
|
-
first = $[20];
|
|
1026
|
-
t7 = $[21];
|
|
1027
|
-
t8 = $[22];
|
|
957
|
+
t5 = $[9];
|
|
1028
958
|
}
|
|
1029
|
-
let
|
|
1030
|
-
if ($[
|
|
1031
|
-
|
|
1032
|
-
"data-diagram-
|
|
1033
|
-
"data-diagram-
|
|
1034
|
-
"data-diagram-annotation-targets": annotation.targets?.join(" "),
|
|
1035
|
-
"data-diagram-annotation-anchor": annotation.anchor,
|
|
1036
|
-
"data-diagram-annotation-guide": annotation.guide,
|
|
1037
|
-
"data-diagram-annotation-line-gap": annotation.lineGap,
|
|
959
|
+
let t6;
|
|
960
|
+
if ($[14] !== first || $[15] !== node || $[16] !== text || $[17] !== themeAccent) {
|
|
961
|
+
t6 = first && /*#__PURE__*/_jsx("text", {
|
|
962
|
+
"data-diagram-note": node.id,
|
|
963
|
+
"data-diagram-note-target": node.target,
|
|
1038
964
|
...textAttrs(first),
|
|
1039
|
-
fill:
|
|
965
|
+
fill: DIAGRAM_TEXT,
|
|
1040
966
|
children: /*#__PURE__*/_jsx(RunSpans, {
|
|
1041
|
-
runs:
|
|
967
|
+
runs: text,
|
|
968
|
+
fill: DIAGRAM_TEXT,
|
|
969
|
+
accent: themeAccent
|
|
1042
970
|
})
|
|
1043
971
|
});
|
|
1044
|
-
$[
|
|
1045
|
-
$[
|
|
1046
|
-
$[
|
|
1047
|
-
$[
|
|
1048
|
-
$[
|
|
1049
|
-
$[36] = annotationId;
|
|
1050
|
-
$[37] = fill;
|
|
1051
|
-
$[38] = first;
|
|
1052
|
-
$[39] = note.text;
|
|
1053
|
-
$[40] = t9;
|
|
972
|
+
$[14] = first;
|
|
973
|
+
$[15] = node;
|
|
974
|
+
$[16] = text;
|
|
975
|
+
$[17] = themeAccent;
|
|
976
|
+
$[18] = t6;
|
|
1054
977
|
} else {
|
|
1055
|
-
|
|
978
|
+
t6 = $[18];
|
|
1056
979
|
}
|
|
1057
|
-
let
|
|
1058
|
-
if ($[
|
|
1059
|
-
|
|
1060
|
-
style:
|
|
1061
|
-
children: [
|
|
980
|
+
let t7;
|
|
981
|
+
if ($[19] !== t4 || $[20] !== t5 || $[21] !== t6) {
|
|
982
|
+
t7 = /*#__PURE__*/_jsxs(motion.g, {
|
|
983
|
+
style: t4,
|
|
984
|
+
children: [t5, t6]
|
|
1062
985
|
});
|
|
1063
|
-
$[
|
|
1064
|
-
$[
|
|
1065
|
-
$[
|
|
1066
|
-
$[
|
|
1067
|
-
$[45] = t10;
|
|
986
|
+
$[19] = t4;
|
|
987
|
+
$[20] = t5;
|
|
988
|
+
$[21] = t6;
|
|
989
|
+
$[22] = t7;
|
|
1068
990
|
} else {
|
|
1069
|
-
|
|
991
|
+
t7 = $[22];
|
|
1070
992
|
}
|
|
1071
|
-
return
|
|
993
|
+
return t7;
|
|
1072
994
|
}
|
|
1073
995
|
//# sourceMappingURL=node-parts.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-parts.js","names":["motion","useTransform","ANNOTATION_NOTE_PREFIX","FONT_FAMILY","DIAGRAM_BG","DIAGRAM_DIM","DIAGRAM_NEUTRAL","DIAGRAM_TEXT","resolveDiagramToneFill","useDiagramTheme","DiagramNodeIcon","PortMarkers","accentToneStroke","nodeTextFill","textureFill","RunSpans","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","ANNOTATION_REVEAL_START","isSpecialNode","node","kind","undefined","isNote","layout","splitNotes","nodes","graphNodes","filter","notes","textAttrs","first","x","y","textAnchor","anchor","fontFamily","font","face","fontSize","size","fontWeight","weight","junctionFillColor","themeAccent","accent","tone","SpecialNode","t0","$","_c","progress","start","end","ids","t1","t2","t3","Symbol","for","clamp","opacity","t4","t5","t6","translateY","box","radius","icon","text","appliance","fill","t7","bb0","frame","t8","applianceStroke","t9","applianceFill","t10","texture","t11","applianceTexture","t12","body","map","_temp","bodyPath","join","faceFrom","faceTo","rod","mast","antenna","t13","id","t14","t15","children","x1","y1","x2","y2","strokeWidth","strokeLinecap","t16","strokeLinejoin","t17","pointerEvents","t18","t19","jacks","t20","jack","i_0","i","width","w","height","h","rx","t21","t22","NodePorts","NodeCaption","t23","g","style","connectorStroke","connectorFill","connectorTexture","markerStroke","stroke","junctionStroke","junctionFill","cx","cy","point","NodeStackFrames","frames","level","reverse","ports","ownerId","declared","textColorFill","color","caption","captionColor","framed","runs","AnnotationText","note","annotations","leaders","slice","length","index","Number","annotation","route","leaderRoute","targets","annotationTargets","annotationId","target","T0","leader","noteLeaders","leader_0","leaderIndex","attrs","from","points","at","to","d","guide","lineGap"],"sources":["../../../../src/lib/renderers/shared/node-parts.tsx"],"sourcesContent":["import { type MotionValue, motion, useTransform } from 'motion/react';\n\nimport type {\n LeaderLayout,\n NodeLayout,\n TextRun,\n} from '../../layouts/graph/graph-layout-result.ts';\nimport { ANNOTATION_NOTE_PREFIX } from '../../layouts/graph/legacy-graph-layout.ts';\nimport { FONT_FAMILY } from '../../layouts/text/font.ts';\nimport type {\n DiagramAnnotation,\n DiagramNode,\n DiagramTextColor,\n} from '../../model/diagram-ir.ts';\nimport {\n DIAGRAM_BG,\n DIAGRAM_DIM,\n DIAGRAM_NEUTRAL,\n DIAGRAM_TEXT,\n resolveDiagramToneFill,\n useDiagramTheme,\n} from '../../react/chrome/index.ts';\nimport {\n DiagramNodeIcon,\n PortMarkers,\n accentToneStroke,\n nodeTextFill,\n textureFill,\n} from './graph-parts.tsx';\nimport { RunSpans } from './run-spans.tsx';\n\nexport const ANNOTATION_REVEAL_START = 0.85;\n\nexport function isSpecialNode(node: DiagramNode) {\n return node.kind !== undefined && node.kind !== 'node';\n}\n\nfunction isNote(layout: NodeLayout) {\n return layout.node.kind === 'note';\n}\n\n/** Splits the graph's own nodes from the notes that stand for annotations. */\nexport function splitNotes(nodes: NodeLayout[]) {\n return {\n graphNodes: nodes.filter((layout) => !isNote(layout)),\n notes: nodes.filter(isNote),\n };\n}\n\nfunction textAttrs(first: TextRun) {\n return {\n x: first.x,\n y: first.y,\n textAnchor: first.anchor,\n fontFamily: FONT_FAMILY[first.font.face],\n fontSize: first.font.size,\n fontWeight: first.font.weight,\n };\n}\n\nfunction junctionFillColor(node: DiagramNode, themeAccent: string) {\n if (node.accent) return themeAccent;\n if (node.tone) return resolveDiagramToneFill(node.tone);\n return DIAGRAM_BG;\n}\n\nexport function SpecialNode({\n layout,\n progress,\n start,\n end,\n}: {\n layout: NodeLayout;\n progress: MotionValue<number>;\n start: number;\n end: number;\n}) {\n const { accent: themeAccent, ids } = useDiagramTheme();\n const opacity = useTransform(progress, [start, end], [0, 1], {\n clamp: true,\n });\n const translateY = useTransform(progress, [start, end], [-10, 0], {\n clamp: true,\n });\n const { node, box, radius, icon, text, appliance } = layout;\n const fill = nodeTextFill(node, node.frame ?? 'solid', themeAccent);\n const [first] = text;\n if (node.kind === 'appliance' && appliance) {\n const applianceStroke = accentToneStroke(\n node,\n themeAccent,\n DIAGRAM_NEUTRAL,\n );\n const applianceFill = node.tone\n ? resolveDiagramToneFill(node.tone)\n : DIAGRAM_BG;\n const applianceTexture = textureFill(node.texture ?? 'none', ids);\n const bodyPath = [\n ...appliance.body.map(\n (point, i) => `${i === 0 ? 'M' : 'L'} ${point.x} ${point.y}`,\n ),\n 'Z',\n ].join(' ');\n const [faceFrom, faceTo] = appliance.face;\n const [rod, mast] = appliance.antenna;\n\n return (\n <motion.g\n data-diagram-appliance={node.id}\n style={{ opacity, y: translateY }}\n >\n {rod && mast && (\n <g data-diagram-appliance-antenna={node.id}>\n <line\n x1={rod[0].x}\n y1={rod[0].y}\n x2={rod[1].x}\n y2={rod[1].y}\n stroke={applianceStroke}\n strokeWidth={1.5}\n strokeLinecap=\"round\"\n />\n <line\n x1={mast[0].x}\n y1={mast[0].y}\n x2={mast[1].x}\n y2={mast[1].y}\n stroke={applianceStroke}\n strokeWidth={1}\n strokeLinecap=\"round\"\n />\n </g>\n )}\n <path\n data-diagram-node={node.id}\n data-diagram-node-tone={node.tone}\n data-diagram-appliance-body={node.id}\n d={bodyPath}\n fill={applianceFill}\n stroke={applianceStroke}\n strokeWidth={1.5}\n strokeLinejoin=\"round\"\n />\n {applianceTexture && (\n <path\n data-diagram-node-texture={`${node.id}:${node.texture ?? 'none'}`}\n d={bodyPath}\n fill={applianceTexture}\n pointerEvents=\"none\"\n />\n )}\n <line\n data-diagram-appliance-face={node.id}\n x1={faceFrom.x}\n y1={faceFrom.y}\n x2={faceTo.x}\n y2={faceTo.y}\n stroke={applianceStroke}\n strokeWidth={1}\n strokeLinecap=\"round\"\n opacity={0.85}\n />\n {appliance.jacks.map((jack, i) => (\n <rect\n key={i}\n data-diagram-appliance-port={`${node.id}:${i}`}\n x={jack.x}\n y={jack.y}\n width={jack.w}\n height={jack.h}\n rx={1}\n fill={DIAGRAM_BG}\n stroke={applianceStroke}\n strokeWidth={1}\n />\n ))}\n {first && (\n <text\n data-diagram-appliance-label={node.id}\n {...textAttrs(first)}\n fill={fill}\n >\n <RunSpans runs={text} fill={fill} accent={themeAccent} />\n </text>\n )}\n <NodePorts layout={layout} />\n <NodeCaption layout={layout} />\n </motion.g>\n );\n }\n if (node.kind === 'connector') {\n const connectorStroke = accentToneStroke(\n node,\n themeAccent,\n DIAGRAM_NEUTRAL,\n );\n const connectorFill = node.tone\n ? resolveDiagramToneFill(node.tone)\n : DIAGRAM_BG;\n const connectorTexture = textureFill(\n node.texture ?? (node.tone ? 'dots' : 'none'),\n ids,\n );\n\n return (\n <motion.g style={{ opacity, y: translateY }}>\n <rect\n data-diagram-node={node.id}\n data-diagram-connector={node.id}\n data-diagram-node-tone={node.tone}\n x={box.x}\n y={box.y}\n width={box.w}\n height={box.h}\n rx={radius}\n fill={connectorFill}\n stroke={connectorStroke}\n strokeWidth={1.25}\n />\n {connectorTexture && (\n <rect\n data-diagram-node-texture={`${node.id}:${node.texture ?? 'dots'}`}\n x={box.x}\n y={box.y}\n width={box.w}\n height={box.h}\n rx={radius}\n fill={connectorTexture}\n pointerEvents=\"none\"\n />\n )}\n {node.icon && icon && (\n <DiagramNodeIcon\n icon={node.icon}\n x={icon.x}\n y={icon.y}\n size={icon.size}\n color={fill}\n />\n )}\n {first && (\n <text\n data-diagram-connector-label={node.id}\n {...textAttrs(first)}\n fill={fill}\n >\n <RunSpans runs={text} fill={fill} accent={themeAccent} />\n </text>\n )}\n <NodePorts layout={layout} />\n <NodeCaption layout={layout} />\n </motion.g>\n );\n }\n if (node.kind === 'marker' && icon) {\n const markerStroke = accentToneStroke(node, themeAccent, fill);\n\n return (\n <motion.g\n data-diagram-marker={node.id}\n style={{ opacity, y: translateY }}\n >\n <rect\n data-diagram-node={node.id}\n data-diagram-marker-bounds={node.id}\n x={box.x}\n y={box.y}\n width={box.w}\n height={box.h}\n rx={radius}\n fill=\"transparent\"\n stroke=\"none\"\n />\n <DiagramNodeIcon\n icon={node.icon ?? 'ellipsis'}\n x={icon.x}\n y={icon.y}\n size={icon.size}\n color={markerStroke}\n />\n {first && (\n <text\n data-diagram-marker-label={node.id}\n {...textAttrs(first)}\n fill={fill}\n >\n <RunSpans runs={text} fill={fill} accent={themeAccent} />\n </text>\n )}\n <NodePorts layout={layout} />\n <NodeCaption layout={layout} />\n </motion.g>\n );\n }\n if (node.kind === 'junction') {\n const junctionStroke = accentToneStroke(node, themeAccent, DIAGRAM_NEUTRAL);\n const junctionFill = junctionFillColor(node, themeAccent);\n return (\n <motion.g style={{ opacity, y: translateY }}>\n <circle\n data-diagram-junction={node.id}\n cx={box.x + box.w / 2}\n cy={box.y + box.h / 2}\n r={radius}\n fill={junctionFill}\n stroke={junctionStroke}\n strokeWidth={1.5}\n />\n {first && (\n <text\n data-diagram-junction-label={node.id}\n {...textAttrs(first)}\n fill={fill}\n >\n <RunSpans runs={text} />\n </text>\n )}\n <NodeCaption layout={layout} />\n </motion.g>\n );\n }\n return null;\n}\n\nexport function NodeStackFrames({\n layout,\n fill,\n stroke,\n strokeWidth,\n}: {\n layout: NodeLayout;\n fill: string;\n stroke: string;\n strokeWidth: number;\n}) {\n const { node, frames, radius } = layout;\n return frames\n .map((frame, i) => ({ frame, level: i + 1 }))\n .reverse()\n .map(({ frame, level }) => (\n <rect\n key={`stack-${level}`}\n data-diagram-node-stack={`${node.id}:${level}`}\n x={frame.x}\n y={frame.y}\n width={frame.w}\n height={frame.h}\n rx={radius}\n fill={fill}\n stroke={stroke}\n strokeWidth={strokeWidth}\n />\n ));\n}\n\nexport function NodePorts({ layout }: { layout: NodeLayout }) {\n return (\n <PortMarkers\n ownerId={layout.node.id}\n ports={layout.ports}\n declared={layout.node.ports}\n />\n );\n}\n\nfunction textColorFill(color: DiagramTextColor | undefined, accent: string) {\n if (color === 'accent') return accent;\n if (color === 'dim') return DIAGRAM_DIM;\n return DIAGRAM_TEXT;\n}\n\nexport function NodeCaption({ layout }: { layout: NodeLayout }) {\n const { accent: themeAccent } = useDiagramTheme();\n const { node, caption } = layout;\n const [first] = caption?.text ?? [];\n if (!caption || !first) return null;\n const fill = textColorFill(node.captionColor, themeAccent);\n const frame = caption.framed ? caption.box : null;\n return (\n <>\n {frame && (\n <rect\n data-diagram-node-caption-frame={node.id}\n x={frame.x}\n y={frame.y}\n width={frame.w}\n height={frame.h}\n rx={frame.h / 2}\n fill={DIAGRAM_BG}\n stroke={fill}\n strokeWidth={1}\n />\n )}\n <text\n data-diagram-node-caption={node.id}\n {...textAttrs(first)}\n fill={fill}\n >\n <RunSpans runs={caption.text} />\n </text>\n </>\n );\n}\n\nexport function AnnotationText({\n note,\n annotations,\n leaders,\n progress,\n start,\n end,\n}: {\n note: NodeLayout;\n annotations: DiagramAnnotation[];\n leaders: LeaderLayout[];\n progress: MotionValue<number>;\n start: number;\n end: number;\n}) {\n const { accent: themeAccent } = useDiagramTheme();\n const opacity = useTransform(progress, [start, end], [0, 1], { clamp: true });\n const index = Number(note.node.id.slice(ANNOTATION_NOTE_PREFIX.length));\n const annotation = annotations[index];\n if (!annotation) return null;\n const fill = textColorFill(annotation.color, themeAccent);\n const anchor = annotation.anchor ?? 'top';\n const route = annotation.leaderRoute ?? 'straight';\n const annotationTargets = annotation.targets?.join('+');\n const annotationId =\n annotation.target || annotationTargets\n ? `${annotation.target ?? annotationTargets}:${anchor}`\n : `free:${index}`;\n const noteLeaders = leaders.filter((leader) => leader.note === note.node.id);\n const [first] = note.text;\n return (\n <motion.g style={{ opacity }}>\n {noteLeaders.map((leader, leaderIndex) => {\n const attrs = {\n 'data-diagram-annotation-leader': annotationId,\n 'data-diagram-annotation-leader-target': leader.target,\n 'data-diagram-annotation-leader-anchor': anchor,\n 'data-diagram-annotation-leader-index': leaderIndex,\n 'data-diagram-annotation-leader-route': route,\n };\n const from = leader.points.at(0);\n const to = leader.points.at(-1);\n if (leader.points.length > 2 || !from || !to) {\n return (\n <path\n key={`${leader.target}:${leaderIndex}`}\n {...attrs}\n d={leader.d}\n fill=\"none\"\n stroke={DIAGRAM_NEUTRAL}\n strokeWidth={1}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n );\n }\n return (\n <line\n key={`${leader.target}:${leaderIndex}`}\n {...attrs}\n x1={from.x}\n y1={from.y}\n x2={to.x}\n y2={to.y}\n stroke={DIAGRAM_NEUTRAL}\n strokeWidth={1}\n strokeLinecap=\"round\"\n />\n );\n })}\n {first && (\n <text\n data-diagram-annotation={annotationId}\n data-diagram-annotation-target={annotation.target}\n data-diagram-annotation-targets={annotation.targets?.join(' ')}\n data-diagram-annotation-anchor={annotation.anchor}\n data-diagram-annotation-guide={annotation.guide}\n data-diagram-annotation-line-gap={annotation.lineGap}\n {...textAttrs(first)}\n fill={fill}\n >\n <RunSpans runs={note.text} />\n </text>\n )}\n </motion.g>\n );\n}\n"],"mappings":";AAAA,SAA2BA,MAAM,EAAEC,YAAY,QAAQ,cAAc;AAOrE,SAASC,sBAAsB,QAAQ,4CAA4C;AACnF,SAASC,WAAW,QAAQ,4BAA4B;AAMxD,SACEC,UAAU,EACVC,WAAW,EACXC,eAAe,EACfC,YAAY,EACZC,sBAAsB,EACtBC,eAAe,QACV,6BAA6B;AACpC,SACEC,eAAe,EACfC,WAAW,EACXC,gBAAgB,EAChBC,YAAY,EACZC,WAAW,QACN,kBAAmB;AAC1B,SAASC,QAAQ,QAAQ,gBAAiB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA,EAAAC,QAAA,IAAAC,SAAA;AAE3C,OAAO,MAAMC,uBAAuB,GAAG,IAAI;AAE3C,OAAO,SAASC,aAAaA,CAACC,IAAiB,EAAE;EAC/C,OAAOA,IAAI,CAACC,IAAI,KAAKC,SAAS,IAAIF,IAAI,CAACC,IAAI,KAAK,MAAM;AACxD;AAEA,SAASE,MAAMA,CAACC,MAAkB,EAAE;EAClC,OAAOA,MAAM,CAACJ,IAAI,CAACC,IAAI,KAAK,MAAM;AACpC;;AAEA;AACA,OAAO,SAASI,UAAUA,CAACC,KAAmB,EAAE;EAC9C,OAAO;IACLC,UAAU,EAAED,KAAK,CAACE,MAAM,CAAEJ,MAAM,IAAK,CAACD,MAAM,CAACC,MAAM,CAAC,CAAC;IACrDK,KAAK,EAAEH,KAAK,CAACE,MAAM,CAACL,MAAM;EAC5B,CAAC;AACH;AAEA,SAASO,SAASA,CAACC,KAAc,EAAE;EACjC,OAAO;IACLC,CAAC,EAAED,KAAK,CAACC,CAAC;IACVC,CAAC,EAAEF,KAAK,CAACE,CAAC;IACVC,UAAU,EAAEH,KAAK,CAACI,MAAM;IACxBC,UAAU,EAAErC,WAAW,CAACgC,KAAK,CAACM,IAAI,CAACC,IAAI,CAAC;IACxCC,QAAQ,EAAER,KAAK,CAACM,IAAI,CAACG,IAAI;IACzBC,UAAU,EAAEV,KAAK,CAACM,IAAI,CAACK;EACzB,CAAC;AACH;AAEA,SAASC,iBAAiBA,CAACvB,IAAiB,EAAEwB,WAAmB,EAAE;EACjE,IAAIxB,IAAI,CAACyB,MAAM,EAAE,OAAOD,WAAW;EACnC,IAAIxB,IAAI,CAAC0B,IAAI,EAAE,OAAO1C,sBAAsB,CAACgB,IAAI,CAAC0B,IAAI,CAAC;EACvD,OAAO9C,UAAU;AACnB;AAEA,OAAO,SAAA+C,YAAAC,EAAA;EAAA,MAAAC,CAAA,GAAAC,EAAA;EAAqB;IAAA1B,MAAA;IAAA2B,QAAA;IAAAC,KAAA;IAAAC;EAAA,IAAAL,EAU3B;EACC;IAAAH,MAAA,EAAAD,WAAA;IAAAU;EAAA,IAAqCjD,eAAe,CAAC,CAAC;EAAC,IAAAkD,EAAA;EAAA,IAAAN,CAAA,QAAAI,GAAA,IAAAJ,CAAA,QAAAG,KAAA;IAChBG,EAAA,IAACH,KAAK,EAAEC,GAAG,CAAC;IAAAJ,CAAA,MAAAI,GAAA;IAAAJ,CAAA,MAAAG,KAAA;IAAAH,CAAA,MAAAM,EAAA;EAAA;IAAAA,EAAA,GAAAN,CAAA;EAAA;EAAA,IAAAO,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAR,CAAA,QAAAS,MAAA,CAAAC,GAAA;IAAEH,EAAA,IAAC,CAAC,EAAE,CAAC,CAAC;IAAEC,EAAA;MAAAG,KAAA,EACpD;IACT,CAAC;IAAAX,CAAA,MAAAO,EAAA;IAAAP,CAAA,MAAAQ,EAAA;EAAA;IAAAD,EAAA,GAAAP,CAAA;IAAAQ,EAAA,GAAAR,CAAA;EAAA;EAFD,MAAAY,OAAA,GAAgBhE,YAAY,CAACsD,QAAQ,EAAEI,EAAY,EAAEC,EAAM,EAAEC,EAE5D,CAAC;EAAC,IAAAK,EAAA;EAAA,IAAAb,CAAA,QAAAI,GAAA,IAAAJ,CAAA,QAAAG,KAAA;IACuCU,EAAA,IAACV,KAAK,EAAEC,GAAG,CAAC;IAAAJ,CAAA,MAAAI,GAAA;IAAAJ,CAAA,MAAAG,KAAA;IAAAH,CAAA,MAAAa,EAAA;EAAA;IAAAA,EAAA,GAAAb,CAAA;EAAA;EAAA,IAAAc,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAf,CAAA,QAAAS,MAAA,CAAAC,GAAA;IAAEI,EAAA,IAAC,GAAG,EAAE,CAAC,CAAC;IAAEC,EAAA;MAAAJ,KAAA,EACzD;IACT,CAAC;IAAAX,CAAA,MAAAc,EAAA;IAAAd,CAAA,MAAAe,EAAA;EAAA;IAAAD,EAAA,GAAAd,CAAA;IAAAe,EAAA,GAAAf,CAAA;EAAA;EAFD,MAAAgB,UAAA,GAAmBpE,YAAY,CAACsD,QAAQ,EAAEW,EAAY,EAAEC,EAAQ,EAAEC,EAEjE,CAAC;EACF;IAAA5C,IAAA;IAAA8C,GAAA;IAAAC,MAAA;IAAAC,IAAA;IAAAC,IAAA;IAAAC;EAAA,IAAqD9C,MAAM;EAAC,IAAA+C,IAAA;EAAA,IAAAxC,KAAA;EAAA,IAAAyC,EAAA;EAAA,IAAAvB,CAAA,SAAAqB,SAAA,IAAArB,CAAA,SAAAiB,GAAA,IAAAjB,CAAA,SAAAmB,IAAA,IAAAnB,CAAA,SAAAK,GAAA,IAAAL,CAAA,SAAAzB,MAAA,IAAAyB,CAAA,SAAA7B,IAAA,IAAA6B,CAAA,SAAAY,OAAA,IAAAZ,CAAA,SAAAkB,MAAA,IAAAlB,CAAA,SAAAoB,IAAA,IAAApB,CAAA,SAAAL,WAAA,IAAAK,CAAA,SAAAgB,UAAA;IAuBxDO,EAAA,GAAAd,MAgFW,CAAAC,GAAA,CAhFX,6BAgFU,CAAC;IAAAc,GAAA;MAtGfF,IAAA,GAAa9D,YAAY,CAACW,IAAI,EAAEA,IAAI,CAAAsD,KAAiB,IAArB,OAAqB,EAAE9B,WAAW,CAAC;MACnE,CAAAb,KAAA,IAAgBsC,IAAI;MACpB,IAAIjD,IAAI,CAAAC,IAAK,KAAK,WAAwB,IAAtCiD,SAAsC;QAAA,IAAAK,EAAA;QAAA,IAAA1B,CAAA,SAAA7B,IAAA,IAAA6B,CAAA,SAAAL,WAAA;UAChB+B,EAAA,GAAAnE,gBAAgB,CACtCY,IAAI,EACJwB,WAAW,EACX1C,eACF,CAAC;UAAA+C,CAAA,OAAA7B,IAAA;UAAA6B,CAAA,OAAAL,WAAA;UAAAK,CAAA,OAAA0B,EAAA;QAAA;UAAAA,EAAA,GAAA1B,CAAA;QAAA;QAJD,MAAA2B,eAAA,GAAwBD,EAIvB;QAAC,IAAAE,EAAA;QAAA,IAAA5B,CAAA,SAAA7B,IAAA,CAAA0B,IAAA;UACoB+B,EAAA,GAAAzD,IAAI,CAAA0B,IAEZ,GADV1C,sBAAsB,CAACgB,IAAI,CAAA0B,IAClB,CAAC,GAFQ9C,UAER;UAAAiD,CAAA,OAAA7B,IAAA,CAAA0B,IAAA;UAAAG,CAAA,OAAA4B,EAAA;QAAA;UAAAA,EAAA,GAAA5B,CAAA;QAAA;QAFd,MAAA6B,aAAA,GAAsBD,EAER;QACuB,MAAAE,GAAA,GAAA3D,IAAI,CAAA4D,OAAkB,IAAtB,MAAsB;QAAA,IAAAC,GAAA;QAAA,IAAAhC,CAAA,SAAAK,GAAA,IAAAL,CAAA,SAAA8B,GAAA;UAAlCE,GAAA,GAAAvE,WAAW,CAACqE,GAAsB,EAAEzB,GAAG,CAAC;UAAAL,CAAA,OAAAK,GAAA;UAAAL,CAAA,OAAA8B,GAAA;UAAA9B,CAAA,OAAAgC,GAAA;QAAA;UAAAA,GAAA,GAAAhC,CAAA;QAAA;QAAjE,MAAAiC,gBAAA,GAAyBD,GAAwC;QAAC,IAAAE,GAAA;QAAA,IAAAlC,CAAA,SAAAqB,SAAA,CAAAc,IAAA;UACjDD,GAAA,OACZb,SAAS,CAAAc,IAAK,CAAAC,GAAI,CACnBC,KACF,CAAC,EACD,GAAG,CACJ;UAAArC,CAAA,OAAAqB,SAAA,CAAAc,IAAA;UAAAnC,CAAA,OAAAkC,GAAA;QAAA;UAAAA,GAAA,GAAAlC,CAAA;QAAA;QALD,MAAAsC,QAAA,GAAiBJ,GAKhB,CAAAK,IAAK,CAAC,GAAG,CAAC;QACX,OAAAC,QAAA,EAAAC,MAAA,IAA2BpB,SAAS,CAAAhC,IAAK;QACzC,OAAAqD,GAAA,EAAAC,IAAA,IAAoBtB,SAAS,CAAAuB,OAAQ;QAIT,MAAAC,GAAA,GAAA1E,IAAI,CAAA2E,EAAG;QAAA,IAAAC,GAAA;QAAA,IAAA/C,CAAA,SAAAY,OAAA,IAAAZ,CAAA,SAAAgB,UAAA;UACxB+B,GAAA;YAAAnC,OAAA;YAAA5B,CAAA,EAAcgC;UAAW,CAAC;UAAAhB,CAAA,OAAAY,OAAA;UAAAZ,CAAA,OAAAgB,UAAA;UAAAhB,CAAA,OAAA+C,GAAA;QAAA;UAAAA,GAAA,GAAA/C,CAAA;QAAA;QAAA,IAAAgD,GAAA;QAAA,IAAAhD,CAAA,SAAA2B,eAAA,IAAA3B,CAAA,SAAA2C,IAAA,IAAA3C,CAAA,SAAA7B,IAAA,CAAA2E,EAAA,IAAA9C,CAAA,SAAA0C,GAAA;UAEhCM,GAAA,GAAAN,GAAW,IAAXC,IAqBA,iBArBA7E,KAAA;YACoC,kCAAAK,IAAI,CAAA2E,EAAG;YAAAG,QAAA,gBACxCrF,IAAA;cACMsF,EAAQ,EAARR,GAAG,GAAG,CAAA3D,CAAE;cACRoE,EAAQ,EAART,GAAG,GAAG,CAAA1D,CAAE;cACRoE,EAAQ,EAARV,GAAG,GAAG,CAAA3D,CAAE;cACRsE,EAAQ,EAARX,GAAG,GAAG,CAAA1D,CAAE;cACJ2C,MAAe,EAAfA,eAAe;cACV2B,WAAG,EAAH,GAAG;cACFC,aAAO,EAAP;YAAO,CACtB,CAAC,eACF3F,IAAA;cACMsF,EAAS,EAATP,IAAI,GAAG,CAAA5D,CAAE;cACToE,EAAS,EAATR,IAAI,GAAG,CAAA3D,CAAE;cACToE,EAAS,EAATT,IAAI,GAAG,CAAA5D,CAAE;cACTsE,EAAS,EAATV,IAAI,GAAG,CAAA3D,CAAE;cACL2C,MAAe,EAAfA,eAAe;cACV2B,WAAC,EAAD,CAAC;cACAC,aAAO,EAAP;YAAO,CACtB,CAAC;UAAA,CAEN,CAAC;UAAAvD,CAAA,OAAA2B,eAAA;UAAA3B,CAAA,OAAA2C,IAAA;UAAA3C,CAAA,OAAA7B,IAAA,CAAA2E,EAAA;UAAA9C,CAAA,OAAA0C,GAAA;UAAA1C,CAAA,OAAAgD,GAAA;QAAA;UAAAA,GAAA,GAAAhD,CAAA;QAAA;QAAA,IAAAwD,GAAA;QAAA,IAAAxD,CAAA,SAAA6B,aAAA,IAAA7B,CAAA,SAAA2B,eAAA,IAAA3B,CAAA,SAAAsC,QAAA,IAAAtC,CAAA,SAAA7B,IAAA,CAAA2E,EAAA,IAAA9C,CAAA,SAAA7B,IAAA,CAAA0B,IAAA;UACD2D,GAAA,gBAAA5F,IAAA;YACqB,qBAAAO,IAAI,CAAA2E,EAAG;YACF,0BAAA3E,IAAI,CAAA0B,IAAK;YACJ,+BAAA1B,IAAI,CAAA2E,EAAG;YACjCR,CAAQ,EAARA,QAAQ;YACLT,IAAa,EAAbA,aAAa;YACXF,MAAe,EAAfA,eAAe;YACV2B,WAAG,EAAH,GAAG;YACDG,cAAO,EAAP;UAAO,CACvB,CAAC;UAAAzD,CAAA,OAAA6B,aAAA;UAAA7B,CAAA,OAAA2B,eAAA;UAAA3B,CAAA,OAAAsC,QAAA;UAAAtC,CAAA,OAAA7B,IAAA,CAAA2E,EAAA;UAAA9C,CAAA,OAAA7B,IAAA,CAAA0B,IAAA;UAAAG,CAAA,OAAAwD,GAAA;QAAA;UAAAA,GAAA,GAAAxD,CAAA;QAAA;QAAA,IAAA0D,GAAA;QAAA,IAAA1D,CAAA,SAAAiC,gBAAA,IAAAjC,CAAA,SAAAsC,QAAA,IAAAtC,CAAA,SAAA7B,IAAA,CAAA2E,EAAA,IAAA9C,CAAA,SAAA7B,IAAA,CAAA4D,OAAA;UACD2B,GAAA,GAAAzB,gBAOA,iBAPArE,IAAA;YAE8B,gCAAGO,IAAI,CAAA2E,EAAG,IAAI3E,IAAI,CAAA4D,OAAkB,IAAtB,MAAsB,EAAE;YAC9DO,CAAQ,EAARA,QAAQ;YACLL,IAAgB,EAAhBA,gBAAgB;YACR0B,aAAM,EAAN;UAAM,CAExB,CAAC;UAAA3D,CAAA,OAAAiC,gBAAA;UAAAjC,CAAA,OAAAsC,QAAA;UAAAtC,CAAA,OAAA7B,IAAA,CAAA2E,EAAA;UAAA9C,CAAA,OAAA7B,IAAA,CAAA4D,OAAA;UAAA/B,CAAA,OAAA0D,GAAA;QAAA;UAAAA,GAAA,GAAA1D,CAAA;QAAA;QAAA,IAAA4D,GAAA;QAAA,IAAA5D,CAAA,SAAA2B,eAAA,IAAA3B,CAAA,SAAAwC,QAAA,CAAAzD,CAAA,IAAAiB,CAAA,SAAAwC,QAAA,CAAAxD,CAAA,IAAAgB,CAAA,SAAAyC,MAAA,CAAA1D,CAAA,IAAAiB,CAAA,SAAAyC,MAAA,CAAAzD,CAAA,IAAAgB,CAAA,SAAA7B,IAAA,CAAA2E,EAAA;UACDc,GAAA,gBAAAhG,IAAA;YAC+B,+BAAAO,IAAI,CAAA2E,EAAG;YAChCI,EAAU,EAAVV,QAAQ,CAAAzD,CAAE;YACVoE,EAAU,EAAVX,QAAQ,CAAAxD,CAAE;YACVoE,EAAQ,EAARX,MAAM,CAAA1D,CAAE;YACRsE,EAAQ,EAARZ,MAAM,CAAAzD,CAAE;YACJ2C,MAAe,EAAfA,eAAe;YACV2B,WAAC,EAAD,CAAC;YACAC,aAAO,EAAP,OAAO;YACZ3C,OAAI,EAAJ;UAAI,CACd,CAAC;UAAAZ,CAAA,OAAA2B,eAAA;UAAA3B,CAAA,OAAAwC,QAAA,CAAAzD,CAAA;UAAAiB,CAAA,OAAAwC,QAAA,CAAAxD,CAAA;UAAAgB,CAAA,OAAAyC,MAAA,CAAA1D,CAAA;UAAAiB,CAAA,OAAAyC,MAAA,CAAAzD,CAAA;UAAAgB,CAAA,OAAA7B,IAAA,CAAA2E,EAAA;UAAA9C,CAAA,OAAA4D,GAAA;QAAA;UAAAA,GAAA,GAAA5D,CAAA;QAAA;QAAA,IAAA6D,GAAA;QAAA,IAAA7D,CAAA,SAAAqB,SAAA,CAAAyC,KAAA,IAAA9D,CAAA,SAAA2B,eAAA,IAAA3B,CAAA,SAAA7B,IAAA,CAAA2E,EAAA;UAAA,IAAAiB,GAAA;UAAA,IAAA/D,CAAA,SAAA2B,eAAA,IAAA3B,CAAA,SAAA7B,IAAA,CAAA2E,EAAA;YACmBiB,GAAA,GAAAA,CAAAC,IAAA,EAAAC,GAAA,kBACnBrG,IAAA;cAE+B,kCAAGO,IAAI,CAAA2E,EAAG,IAAIoB,GAAC,EAAE;cAC3CnF,CAAM,EAANiF,IAAI,CAAAjF,CAAE;cACNC,CAAM,EAANgF,IAAI,CAAAhF,CAAE;cACFmF,KAAM,EAANH,IAAI,CAAAI,CAAE;cACLC,MAAM,EAANL,IAAI,CAAAM,CAAE;cACVC,EAAC,EAAD,CAAC;cACCxH,IAAU,EAAVA,UAAU;cACR4E,MAAe,EAAfA,eAAe;cACV2B,WAAC,EAAD;YAAC,GATTY,GAUN,CACF;YAAAlE,CAAA,OAAA2B,eAAA;YAAA3B,CAAA,OAAA7B,IAAA,CAAA2E,EAAA;YAAA9C,CAAA,OAAA+D,GAAA;UAAA;YAAAA,GAAA,GAAA/D,CAAA;UAAA;UAbA6D,GAAA,GAAAxC,SAAS,CAAAyC,KAAM,CAAA1B,GAAI,CAAC2B,GAapB,CAAC;UAAA/D,CAAA,OAAAqB,SAAA,CAAAyC,KAAA;UAAA9D,CAAA,OAAA2B,eAAA;UAAA3B,CAAA,OAAA7B,IAAA,CAAA2E,EAAA;UAAA9C,CAAA,OAAA6D,GAAA;QAAA;UAAAA,GAAA,GAAA7D,CAAA;QAAA;QACD,MAAA+D,GAAA,GAAAjF,KAQA,iBARAlB,IAAA;UAEiC,gCAAAO,IAAI,CAAA2E,EAAG;UAAA,GACjCjE,SAAS,CAACC,KAAK,CAAC;UACdwC,IAAI,EAAJA,IAAI;UAAA2B,QAAA,eAEVrF,IAAA,CAACF,QAAQ;YAAO0D,IAAI,EAAJA,IAAI;YAAQE,IAAI,EAAJA,IAAI;YAAU3B,MAAW,EAAXA;UAAW,CAAG;QAAC,CAE7D,CAAC;QAAA,IAAA6E,GAAA;QAAA,IAAAC,GAAA;QAAA,IAAAzE,CAAA,SAAAzB,MAAA;UACDiG,GAAA,gBAAA5G,IAAA,CAAC8G,SAAS;YAASnG,MAAM,EAANA;UAAM,CAAG,CAAC;UAC7BkG,GAAA,gBAAA7G,IAAA,CAAC+G,WAAW;YAASpG,MAAM,EAANA;UAAM,CAAG,CAAC;UAAAyB,CAAA,OAAAzB,MAAA;UAAAyB,CAAA,OAAAwE,GAAA;UAAAxE,CAAA,OAAAyE,GAAA;QAAA;UAAAD,GAAA,GAAAxE,CAAA;UAAAyE,GAAA,GAAAzE,CAAA;QAAA;QAAA,IAAA4E,GAAA;QAAA,IAAA5E,CAAA,SAAA7B,IAAA,CAAA2E,EAAA,IAAA9C,CAAA,SAAA+C,GAAA,IAAA/C,CAAA,SAAAgD,GAAA,IAAAhD,CAAA,SAAAwD,GAAA,IAAAxD,CAAA,SAAA0D,GAAA,IAAA1D,CAAA,SAAA4D,GAAA,IAAA5D,CAAA,SAAA6D,GAAA,IAAA7D,CAAA,SAAA+D,GAAA,IAAA/D,CAAA,SAAAwE,GAAA,IAAAxE,CAAA,SAAAyE,GAAA;UA/EjCG,GAAA,gBAAA9G,KAAA,CAAAnB,MAAA,CAAAkI,CAAA;YAC0B,0BAAAhC,GAAO;YACxBiC,KAA0B,EAA1B/B,GAA0B;YAAAE,QAAA,GAEhCD,GAqBA,EACDQ,GASE,EACDE,GAOA,EACDE,GAUE,EACDC,GAaC,EACDE,GAQA,EACDS,GAA6B,EAC7BC,GAA+B;UAAA,CACvB,CAAC;UAAAzE,CAAA,OAAA7B,IAAA,CAAA2E,EAAA;UAAA9C,CAAA,OAAA+C,GAAA;UAAA/C,CAAA,OAAAgD,GAAA;UAAAhD,CAAA,OAAAwD,GAAA;UAAAxD,CAAA,OAAA0D,GAAA;UAAA1D,CAAA,OAAA4D,GAAA;UAAA5D,CAAA,OAAA6D,GAAA;UAAA7D,CAAA,OAAA+D,GAAA;UAAA/D,CAAA,OAAAwE,GAAA;UAAAxE,CAAA,OAAAyE,GAAA;UAAAzE,CAAA,OAAA4E,GAAA;QAAA;UAAAA,GAAA,GAAA5E,CAAA;QAAA;QAhFXuB,EAAA,GAAAqD,GAgFW;QAhFX,MAAApD,GAAA;MAgFW;MAGf,IAAIrD,IAAI,CAAAC,IAAK,KAAK,WAAW;QAAA,IAAAsD,EAAA;QAAA,IAAA1B,CAAA,SAAA7B,IAAA,IAAA6B,CAAA,SAAAL,WAAA;UACH+B,EAAA,GAAAnE,gBAAgB,CACtCY,IAAI,EACJwB,WAAW,EACX1C,eACF,CAAC;UAAA+C,CAAA,OAAA7B,IAAA;UAAA6B,CAAA,OAAAL,WAAA;UAAAK,CAAA,OAAA0B,EAAA;QAAA;UAAAA,EAAA,GAAA1B,CAAA;QAAA;QAJD,MAAA+E,eAAA,GAAwBrD,EAIvB;QAAC,IAAAE,EAAA;QAAA,IAAA5B,CAAA,SAAA7B,IAAA,CAAA0B,IAAA;UACoB+B,EAAA,GAAAzD,IAAI,CAAA0B,IAEZ,GADV1C,sBAAsB,CAACgB,IAAI,CAAA0B,IAClB,CAAC,GAFQ9C,UAER;UAAAiD,CAAA,OAAA7B,IAAA,CAAA0B,IAAA;UAAAG,CAAA,OAAA4B,EAAA;QAAA;UAAAA,EAAA,GAAA5B,CAAA;QAAA;QAFd,MAAAgF,aAAA,GAAsBpD,EAER;QAEZ,MAAAE,GAAA,GAAA3D,IAAI,CAAA4D,OAAyC,KAA5B5D,IAAI,CAAA0B,IAAuB,GAA3B,MAA2B,GAA3B,MAA4B;QAAA,IAAAmC,GAAA;QAAA,IAAAhC,CAAA,SAAAK,GAAA,IAAAL,CAAA,SAAA8B,GAAA;UADtBE,GAAA,GAAAvE,WAAW,CAClCqE,GAA6C,EAC7CzB,GACF,CAAC;UAAAL,CAAA,OAAAK,GAAA;UAAAL,CAAA,OAAA8B,GAAA;UAAA9B,CAAA,OAAAgC,GAAA;QAAA;UAAAA,GAAA,GAAAhC,CAAA;QAAA;QAHD,MAAAiF,gBAAA,GAAyBjD,GAGxB;QAAC,IAAAE,GAAA;QAAA,IAAAlC,CAAA,SAAAY,OAAA,IAAAZ,CAAA,SAAAgB,UAAA;UAGiBkB,GAAA;YAAAtB,OAAA;YAAA5B,CAAA,EAAcgC;UAAW,CAAC;UAAAhB,CAAA,OAAAY,OAAA;UAAAZ,CAAA,OAAAgB,UAAA;UAAAhB,CAAA,OAAAkC,GAAA;QAAA;UAAAA,GAAA,GAAAlC,CAAA;QAAA;QAAA,IAAA6C,GAAA;QAAA,IAAA7C,CAAA,SAAAiB,GAAA,CAAAqD,CAAA,IAAAtE,CAAA,SAAAiB,GAAA,CAAAmD,CAAA,IAAApE,CAAA,SAAAiB,GAAA,CAAAlC,CAAA,IAAAiB,CAAA,SAAAiB,GAAA,CAAAjC,CAAA,IAAAgB,CAAA,SAAAgF,aAAA,IAAAhF,CAAA,SAAA+E,eAAA,IAAA/E,CAAA,SAAA7B,IAAA,CAAA2E,EAAA,IAAA9C,CAAA,SAAA7B,IAAA,CAAA0B,IAAA,IAAAG,CAAA,UAAAkB,MAAA;UACzC2B,GAAA,gBAAAjF,IAAA;YACqB,qBAAAO,IAAI,CAAA2E,EAAG;YACF,0BAAA3E,IAAI,CAAA2E,EAAG;YACP,0BAAA3E,IAAI,CAAA0B,IAAK;YAC9Bd,CAAK,EAALkC,GAAG,CAAAlC,CAAE;YACLC,CAAK,EAALiC,GAAG,CAAAjC,CAAE;YACDmF,KAAK,EAALlD,GAAG,CAAAmD,CAAE;YACJC,MAAK,EAALpD,GAAG,CAAAqD,CAAE;YACTpD,EAAM,EAANA,MAAM;YACJ8D,IAAa,EAAbA,aAAa;YACXD,MAAe,EAAfA,eAAe;YACVzB,WAAI,EAAJ;UAAI,CAClB,CAAC;UAAAtD,CAAA,OAAAiB,GAAA,CAAAqD,CAAA;UAAAtE,CAAA,OAAAiB,GAAA,CAAAmD,CAAA;UAAApE,CAAA,OAAAiB,GAAA,CAAAlC,CAAA;UAAAiB,CAAA,OAAAiB,GAAA,CAAAjC,CAAA;UAAAgB,CAAA,OAAAgF,aAAA;UAAAhF,CAAA,OAAA+E,eAAA;UAAA/E,CAAA,OAAA7B,IAAA,CAAA2E,EAAA;UAAA9C,CAAA,OAAA7B,IAAA,CAAA0B,IAAA;UAAAG,CAAA,QAAAkB,MAAA;UAAAlB,CAAA,QAAA6C,GAAA;QAAA;UAAAA,GAAA,GAAA7C,CAAA;QAAA;QAAA,IAAA+C,GAAA;QAAA,IAAA/C,CAAA,UAAAiB,GAAA,CAAAqD,CAAA,IAAAtE,CAAA,UAAAiB,GAAA,CAAAmD,CAAA,IAAApE,CAAA,UAAAiB,GAAA,CAAAlC,CAAA,IAAAiB,CAAA,UAAAiB,GAAA,CAAAjC,CAAA,IAAAgB,CAAA,UAAAiF,gBAAA,IAAAjF,CAAA,UAAA7B,IAAA,CAAA2E,EAAA,IAAA9C,CAAA,UAAA7B,IAAA,CAAA4D,OAAA,IAAA/B,CAAA,UAAAkB,MAAA;UACD6B,GAAA,GAAAkC,gBAWA,iBAXArH,IAAA;YAE8B,gCAAGO,IAAI,CAAA2E,EAAG,IAAI3E,IAAI,CAAA4D,OAAkB,IAAtB,MAAsB,EAAE;YAC9DhD,CAAK,EAALkC,GAAG,CAAAlC,CAAE;YACLC,CAAK,EAALiC,GAAG,CAAAjC,CAAE;YACDmF,KAAK,EAALlD,GAAG,CAAAmD,CAAE;YACJC,MAAK,EAALpD,GAAG,CAAAqD,CAAE;YACTpD,EAAM,EAANA,MAAM;YACJ+D,IAAgB,EAAhBA,gBAAgB;YACRtB,aAAM,EAAN;UAAM,CAExB,CAAC;UAAA3D,CAAA,QAAAiB,GAAA,CAAAqD,CAAA;UAAAtE,CAAA,QAAAiB,GAAA,CAAAmD,CAAA;UAAApE,CAAA,QAAAiB,GAAA,CAAAlC,CAAA;UAAAiB,CAAA,QAAAiB,GAAA,CAAAjC,CAAA;UAAAgB,CAAA,QAAAiF,gBAAA;UAAAjF,CAAA,QAAA7B,IAAA,CAAA2E,EAAA;UAAA9C,CAAA,QAAA7B,IAAA,CAAA4D,OAAA;UAAA/B,CAAA,QAAAkB,MAAA;UAAAlB,CAAA,QAAA+C,GAAA;QAAA;UAAAA,GAAA,GAAA/C,CAAA;QAAA;QACA,MAAAgD,GAAA,GAAA7E,IAAI,CAAAgD,IAAa,IAAjBA,IAQA,iBARAvD,IAAA,CACEP,eAAe;UACR8D,IAAS,EAAThD,IAAI,CAAAgD,IAAK;UACZpC,CAAM,EAANoC,IAAI,CAAApC,CAAE;UACNC,CAAM,EAANmC,IAAI,CAAAnC,CAAE;UACHO,IAAS,EAAT4B,IAAI,CAAA5B,IAAK;UACR+B,KAAI,EAAJA;QAAI,CAEf,CAAC;QACA,MAAAkC,GAAA,GAAA1E,KAQA,iBARAlB,IAAA;UAEiC,gCAAAO,IAAI,CAAA2E,EAAG;UAAA,GACjCjE,SAAS,CAACC,KAAK,CAAC;UACdwC,IAAI,EAAJA,IAAI;UAAA2B,QAAA,eAEVrF,IAAA,CAACF,QAAQ;YAAO0D,IAAI,EAAJA,IAAI;YAAQE,IAAI,EAAJA,IAAI;YAAU3B,MAAW,EAAXA;UAAW,CAAG;QAAC,CAE7D,CAAC;QAAA,IAAA+D,GAAA;QAAA,IAAAE,GAAA;QAAA,IAAA5D,CAAA,UAAAzB,MAAA;UACDmF,GAAA,gBAAA9F,IAAA,CAAC8G,SAAS;YAASnG,MAAM,EAANA;UAAM,CAAG,CAAC;UAC7BqF,GAAA,gBAAAhG,IAAA,CAAC+G,WAAW;YAASpG,MAAM,EAANA;UAAM,CAAG,CAAC;UAAAyB,CAAA,QAAAzB,MAAA;UAAAyB,CAAA,QAAA0D,GAAA;UAAA1D,CAAA,QAAA4D,GAAA;QAAA;UAAAF,GAAA,GAAA1D,CAAA;UAAA4D,GAAA,GAAA5D,CAAA;QAAA;QAAA,IAAA6D,GAAA;QAAA,IAAA7D,CAAA,UAAAkC,GAAA,IAAAlC,CAAA,UAAA6C,GAAA,IAAA7C,CAAA,UAAA+C,GAAA,IAAA/C,CAAA,UAAAgD,GAAA,IAAAhD,CAAA,UAAAwD,GAAA,IAAAxD,CAAA,UAAA0D,GAAA,IAAA1D,CAAA,UAAA4D,GAAA;UA7CjCC,GAAA,gBAAA/F,KAAA,CAAAnB,MAAA,CAAAkI,CAAA;YAAiBC,KAA0B,EAA1B5C,GAA0B;YAAAe,QAAA,GACzCJ,GAYE,EACDE,GAWA,EACAC,GAQA,EACAQ,GAQA,EACDE,GAA6B,EAC7BE,GAA+B;UAAA,CACvB,CAAC;UAAA5D,CAAA,QAAAkC,GAAA;UAAAlC,CAAA,QAAA6C,GAAA;UAAA7C,CAAA,QAAA+C,GAAA;UAAA/C,CAAA,QAAAgD,GAAA;UAAAhD,CAAA,QAAAwD,GAAA;UAAAxD,CAAA,QAAA0D,GAAA;UAAA1D,CAAA,QAAA4D,GAAA;UAAA5D,CAAA,QAAA6D,GAAA;QAAA;UAAAA,GAAA,GAAA7D,CAAA;QAAA;QA9CXuB,EAAA,GAAAsC,GA8CW;QA9CX,MAAArC,GAAA;MA8CW;MAGf,IAAIrD,IAAI,CAAAC,IAAK,KAAK,QAAgB,IAA9B+C,IAA8B;QAChC,MAAA+D,YAAA,GAAqB3H,gBAAgB,CAACY,IAAI,EAAEwB,WAAW,EAAE2B,IAAI,CAAC;QAAC,IAAAI,EAAA;QAAA,IAAA1B,CAAA,UAAAY,OAAA,IAAAZ,CAAA,UAAAgB,UAAA;UAKpDU,EAAA;YAAAd,OAAA;YAAA5B,CAAA,EAAcgC;UAAW,CAAC;UAAAhB,CAAA,QAAAY,OAAA;UAAAZ,CAAA,QAAAgB,UAAA;UAAAhB,CAAA,QAAA0B,EAAA;QAAA;UAAAA,EAAA,GAAA1B,CAAA;QAAA;QAAA,IAAA4B,EAAA;QAAA,IAAA5B,CAAA,UAAAiB,GAAA,CAAAqD,CAAA,IAAAtE,CAAA,UAAAiB,GAAA,CAAAmD,CAAA,IAAApE,CAAA,UAAAiB,GAAA,CAAAlC,CAAA,IAAAiB,CAAA,UAAAiB,GAAA,CAAAjC,CAAA,IAAAgB,CAAA,UAAA7B,IAAA,CAAA2E,EAAA,IAAA9C,CAAA,UAAAkB,MAAA;UAEjCU,EAAA,gBAAAhE,IAAA;YACqB,qBAAAO,IAAI,CAAA2E,EAAG;YACE,8BAAA3E,IAAI,CAAA2E,EAAG;YAChC/D,CAAK,EAALkC,GAAG,CAAAlC,CAAE;YACLC,CAAK,EAALiC,GAAG,CAAAjC,CAAE;YACDmF,KAAK,EAALlD,GAAG,CAAAmD,CAAE;YACJC,MAAK,EAALpD,GAAG,CAAAqD,CAAE;YACTpD,EAAM,EAANA,MAAM;YACLI,IAAa,EAAb,aAAa;YACX6D,MAAM,EAAN;UAAM,CACd,CAAC;UAAAnF,CAAA,QAAAiB,GAAA,CAAAqD,CAAA;UAAAtE,CAAA,QAAAiB,GAAA,CAAAmD,CAAA;UAAApE,CAAA,QAAAiB,GAAA,CAAAlC,CAAA;UAAAiB,CAAA,QAAAiB,GAAA,CAAAjC,CAAA;UAAAgB,CAAA,QAAA7B,IAAA,CAAA2E,EAAA;UAAA9C,CAAA,QAAAkB,MAAA;UAAAlB,CAAA,QAAA4B,EAAA;QAAA;UAAAA,EAAA,GAAA5B,CAAA;QAAA;QAEM,MAAA8B,GAAA,GAAA3D,IAAI,CAAAgD,IAAmB,IAAvB,UAAuB;QAAA,IAAAa,GAAA;QAAA,IAAAhC,CAAA,UAAAmB,IAAA,CAAA5B,IAAA,IAAAS,CAAA,UAAAmB,IAAA,CAAApC,CAAA,IAAAiB,CAAA,UAAAmB,IAAA,CAAAnC,CAAA,IAAAgB,CAAA,UAAAkF,YAAA,IAAAlF,CAAA,UAAA8B,GAAA;UAD/BE,GAAA,gBAAApE,IAAA,CAACP,eAAe;YACR8D,IAAuB,EAAvBW,GAAuB;YAC1B/C,CAAM,EAANoC,IAAI,CAAApC,CAAE;YACNC,CAAM,EAANmC,IAAI,CAAAnC,CAAE;YACHO,IAAS,EAAT4B,IAAI,CAAA5B,IAAK;YACR2F,KAAY,EAAZA;UAAY,CACpB,CAAC;UAAAlF,CAAA,QAAAmB,IAAA,CAAA5B,IAAA;UAAAS,CAAA,QAAAmB,IAAA,CAAApC,CAAA;UAAAiB,CAAA,QAAAmB,IAAA,CAAAnC,CAAA;UAAAgB,CAAA,QAAAkF,YAAA;UAAAlF,CAAA,QAAA8B,GAAA;UAAA9B,CAAA,QAAAgC,GAAA;QAAA;UAAAA,GAAA,GAAAhC,CAAA;QAAA;QACD,MAAAkC,GAAA,GAAApD,KAQA,iBARAlB,IAAA;UAE8B,6BAAAO,IAAI,CAAA2E,EAAG;UAAA,GAC9BjE,SAAS,CAACC,KAAK,CAAC;UACdwC,IAAI,EAAJA,IAAI;UAAA2B,QAAA,eAEVrF,IAAA,CAACF,QAAQ;YAAO0D,IAAI,EAAJA,IAAI;YAAQE,IAAI,EAAJA,IAAI;YAAU3B,MAAW,EAAXA;UAAW,CAAG;QAAC,CAE7D,CAAC;QAAA,IAAAkD,GAAA;QAAA,IAAAE,GAAA;QAAA,IAAA/C,CAAA,UAAAzB,MAAA;UACDsE,GAAA,gBAAAjF,IAAA,CAAC8G,SAAS;YAASnG,MAAM,EAANA;UAAM,CAAG,CAAC;UAC7BwE,GAAA,gBAAAnF,IAAA,CAAC+G,WAAW;YAASpG,MAAM,EAANA;UAAM,CAAG,CAAC;UAAAyB,CAAA,QAAAzB,MAAA;UAAAyB,CAAA,QAAA6C,GAAA;UAAA7C,CAAA,QAAA+C,GAAA;QAAA;UAAAF,GAAA,GAAA7C,CAAA;UAAA+C,GAAA,GAAA/C,CAAA;QAAA;QAAA,IAAAgD,GAAA;QAAA,IAAAhD,CAAA,UAAA7B,IAAA,CAAA2E,EAAA,IAAA9C,CAAA,UAAAgC,GAAA,IAAAhC,CAAA,UAAAkC,GAAA,IAAAlC,CAAA,UAAA6C,GAAA,IAAA7C,CAAA,UAAA+C,GAAA,IAAA/C,CAAA,UAAA0B,EAAA,IAAA1B,CAAA,UAAA4B,EAAA;UAhCjCoB,GAAA,gBAAAlF,KAAA,CAAAnB,MAAA,CAAAkI,CAAA;YACuB,uBAAA1G,IAAI,CAAA2E,EAAG;YACrBgC,KAA0B,EAA1BpD,EAA0B;YAAAuB,QAAA,GAEjCrB,EAUE,EACFI,GAME,EACDE,GAQA,EACDW,GAA6B,EAC7BE,GAA+B;UAAA,CACvB,CAAC;UAAA/C,CAAA,QAAA7B,IAAA,CAAA2E,EAAA;UAAA9C,CAAA,QAAAgC,GAAA;UAAAhC,CAAA,QAAAkC,GAAA;UAAAlC,CAAA,QAAA6C,GAAA;UAAA7C,CAAA,QAAA+C,GAAA;UAAA/C,CAAA,QAAA0B,EAAA;UAAA1B,CAAA,QAAA4B,EAAA;UAAA5B,CAAA,QAAAgD,GAAA;QAAA;UAAAA,GAAA,GAAAhD,CAAA;QAAA;QAjCXuB,EAAA,GAAAyB,GAiCW;QAjCX,MAAAxB,GAAA;MAiCW;IAEd;IAAAxB,CAAA,OAAAqB,SAAA;IAAArB,CAAA,OAAAiB,GAAA;IAAAjB,CAAA,OAAAmB,IAAA;IAAAnB,CAAA,OAAAK,GAAA;IAAAL,CAAA,OAAAzB,MAAA;IAAAyB,CAAA,OAAA7B,IAAA;IAAA6B,CAAA,OAAAY,OAAA;IAAAZ,CAAA,OAAAkB,MAAA;IAAAlB,CAAA,OAAAoB,IAAA;IAAApB,CAAA,OAAAL,WAAA;IAAAK,CAAA,OAAAgB,UAAA;IAAAhB,CAAA,OAAAsB,IAAA;IAAAtB,CAAA,OAAAlB,KAAA;IAAAkB,CAAA,OAAAuB,EAAA;EAAA;IAAAD,IAAA,GAAAtB,CAAA;IAAAlB,KAAA,GAAAkB,CAAA;IAAAuB,EAAA,GAAAvB,CAAA;EAAA;EAAA,IAAAuB,EAAA,KAAAd,MAAA,CAAAC,GAAA;IAAA,OAAAa,EAAA;EAAA;EACD,IAAIpD,IAAI,CAAAC,IAAK,KAAK,UAAU;IAAA,IAAAsD,EAAA;IAAA,IAAA1B,CAAA,UAAA7B,IAAA,IAAA6B,CAAA,UAAAL,WAAA;MACH+B,EAAA,GAAAnE,gBAAgB,CAACY,IAAI,EAAEwB,WAAW,EAAE1C,eAAe,CAAC;MAAA+C,CAAA,QAAA7B,IAAA;MAAA6B,CAAA,QAAAL,WAAA;MAAAK,CAAA,QAAA0B,EAAA;IAAA;MAAAA,EAAA,GAAA1B,CAAA;IAAA;IAA3E,MAAAoF,cAAA,GAAuB1D,EAAoD;IAAC,IAAAE,EAAA;IAAA,IAAA5B,CAAA,UAAA7B,IAAA,IAAA6B,CAAA,UAAAL,WAAA;MACvDiC,EAAA,GAAAlC,iBAAiB,CAACvB,IAAI,EAAEwB,WAAW,CAAC;MAAAK,CAAA,QAAA7B,IAAA;MAAA6B,CAAA,QAAAL,WAAA;MAAAK,CAAA,QAAA4B,EAAA;IAAA;MAAAA,EAAA,GAAA5B,CAAA;IAAA;IAAzD,MAAAqF,YAAA,GAAqBzD,EAAoC;IAAC,IAAAE,GAAA;IAAA,IAAA9B,CAAA,UAAAY,OAAA,IAAAZ,CAAA,UAAAgB,UAAA;MAEvCc,GAAA;QAAAlB,OAAA;QAAA5B,CAAA,EAAcgC;MAAW,CAAC;MAAAhB,CAAA,QAAAY,OAAA;MAAAZ,CAAA,QAAAgB,UAAA;MAAAhB,CAAA,QAAA8B,GAAA;IAAA;MAAAA,GAAA,GAAA9B,CAAA;IAAA;IAGnC,MAAAgC,GAAA,GAAAf,GAAG,CAAAlC,CAAE,GAAGkC,GAAG,CAAAmD,CAAE,GAAG,CAAC;IACjB,MAAAlC,GAAA,GAAAjB,GAAG,CAAAjC,CAAE,GAAGiC,GAAG,CAAAqD,CAAE,GAAG,CAAC;IAAA,IAAAzB,GAAA;IAAA,IAAA7C,CAAA,UAAAqF,YAAA,IAAArF,CAAA,UAAAoF,cAAA,IAAApF,CAAA,UAAA7B,IAAA,CAAA2E,EAAA,IAAA9C,CAAA,UAAAkB,MAAA,IAAAlB,CAAA,UAAAgC,GAAA,IAAAhC,CAAA,UAAAkC,GAAA;MAHvBW,GAAA,gBAAAjF,IAAA;QACyB,yBAAAO,IAAI,CAAA2E,EAAG;QAC1BwC,EAAiB,EAAjBtD,GAAiB;QACjBuD,EAAiB,EAAjBrD,GAAiB;QAClBhB,CAAM,EAANA,MAAM;QACHmE,IAAY,EAAZA,YAAY;QACVD,MAAc,EAAdA,cAAc;QACT9B,WAAG,EAAH;MAAG,CACjB,CAAC;MAAAtD,CAAA,QAAAqF,YAAA;MAAArF,CAAA,QAAAoF,cAAA;MAAApF,CAAA,QAAA7B,IAAA,CAAA2E,EAAA;MAAA9C,CAAA,QAAAkB,MAAA;MAAAlB,CAAA,QAAAgC,GAAA;MAAAhC,CAAA,QAAAkC,GAAA;MAAAlC,CAAA,QAAA6C,GAAA;IAAA;MAAAA,GAAA,GAAA7C,CAAA;IAAA;IAAA,IAAA+C,GAAA;IAAA,IAAA/C,CAAA,UAAAsB,IAAA,IAAAtB,CAAA,UAAAlB,KAAA,IAAAkB,CAAA,UAAA7B,IAAA,CAAA2E,EAAA,IAAA9C,CAAA,UAAAoB,IAAA;MACD2B,GAAA,GAAAjE,KAQA,iBARAlB,IAAA;QAEgC,+BAAAO,IAAI,CAAA2E,EAAG;QAAA,GAChCjE,SAAS,CAACC,KAAK,CAAC;QACdwC,IAAI,EAAJA,IAAI;QAAA2B,QAAA,eAEVrF,IAAA,CAACF,QAAQ;UAAO0D,IAAI,EAAJA;QAAI,CAAG;MAAC,CAE5B,CAAC;MAAApB,CAAA,QAAAsB,IAAA;MAAAtB,CAAA,QAAAlB,KAAA;MAAAkB,CAAA,QAAA7B,IAAA,CAAA2E,EAAA;MAAA9C,CAAA,QAAAoB,IAAA;MAAApB,CAAA,QAAA+C,GAAA;IAAA;MAAAA,GAAA,GAAA/C,CAAA;IAAA;IAAA,IAAAgD,GAAA;IAAA,IAAAhD,CAAA,UAAAzB,MAAA;MACDyE,GAAA,gBAAApF,IAAA,CAAC+G,WAAW;QAASpG,MAAM,EAANA;MAAM,CAAG,CAAC;MAAAyB,CAAA,QAAAzB,MAAA;MAAAyB,CAAA,QAAAgD,GAAA;IAAA;MAAAA,GAAA,GAAAhD,CAAA;IAAA;IAAA,IAAAwD,GAAA;IAAA,IAAAxD,CAAA,UAAA8B,GAAA,IAAA9B,CAAA,UAAA6C,GAAA,IAAA7C,CAAA,UAAA+C,GAAA,IAAA/C,CAAA,UAAAgD,GAAA;MAnBjCQ,GAAA,gBAAA1F,KAAA,CAAAnB,MAAA,CAAAkI,CAAA;QAAiBC,KAA0B,EAA1BhD,GAA0B;QAAAmB,QAAA,GACzCJ,GAQE,EACDE,GAQA,EACDC,GAA+B;MAAA,CACvB,CAAC;MAAAhD,CAAA,QAAA8B,GAAA;MAAA9B,CAAA,QAAA6C,GAAA;MAAA7C,CAAA,QAAA+C,GAAA;MAAA/C,CAAA,QAAAgD,GAAA;MAAAhD,CAAA,QAAAwD,GAAA;IAAA;MAAAA,GAAA,GAAAxD,CAAA;IAAA;IAAA,OApBXwD,GAoBW;EAAA;EAEd,OACM,IAAI;AAAA;AA/PN,SAAAnB,MAAAmD,KAAA,EAAAtB,CAAA;EAAA,OAiCe,GAAGA,CAAC,KAAK,CAAa,GAAnB,GAAmB,GAAnB,GAAmB,IAAIsB,KAAK,CAAAzG,CAAE,IAAIyG,KAAK,CAAAxG,CAAE,EAAE;AAAA;AAiOpE,OAAO,SAASyG,eAAeA,CAAC;EAC9BlH,MAAM;EACN+C,IAAI;EACJ6D,MAAM;EACN7B;AAMF,CAAC,EAAE;EACD,MAAM;IAAEnF,IAAI;IAAEuH,MAAM;IAAExE;EAAO,CAAC,GAAG3C,MAAM;EACvC,OAAOmH,MAAM,CACVtD,GAAG,CAAC,CAACX,KAAK,EAAEyC,CAAC,MAAM;IAAEzC,KAAK;IAAEkE,KAAK,EAAEzB,CAAC,GAAG;EAAE,CAAC,CAAC,CAAC,CAC5C0B,OAAO,CAAC,CAAC,CACTxD,GAAG,CAAC,CAAC;IAAEX,KAAK;IAAEkE;EAAM,CAAC,kBACpB/H,IAAA;IAEE,2BAAyB,GAAGO,IAAI,CAAC2E,EAAE,IAAI6C,KAAK,EAAG;IAC/C5G,CAAC,EAAE0C,KAAK,CAAC1C,CAAE;IACXC,CAAC,EAAEyC,KAAK,CAACzC,CAAE;IACXmF,KAAK,EAAE1C,KAAK,CAAC2C,CAAE;IACfC,MAAM,EAAE5C,KAAK,CAAC6C,CAAE;IAChBC,EAAE,EAAErD,MAAO;IACXI,IAAI,EAAEA,IAAK;IACX6D,MAAM,EAAEA,MAAO;IACf7B,WAAW,EAAEA;EAAY,GATpB,SAASqC,KAAK,EAUpB,CACF,CAAC;AACN;AAEA,OAAO,SAAAjB,UAAA3E,EAAA;EAAA,MAAAC,CAAA,GAAAC,EAAA;EAAmB;IAAA1B;EAAA,IAAAwB,EAAkC;EAAA,IAAAO,EAAA;EAAA,IAAAN,CAAA,QAAAzB,MAAA,CAAAJ,IAAA,CAAA2E,EAAA,IAAA9C,CAAA,QAAAzB,MAAA,CAAAJ,IAAA,CAAA0H,KAAA,IAAA7F,CAAA,QAAAzB,MAAA,CAAAsH,KAAA;IAExDvF,EAAA,gBAAA1C,IAAA,CAACN,WAAW;MACDwI,OAAc,EAAdvH,MAAM,CAAAJ,IAAK,CAAA2E,EAAG;MAChB+C,KAAY,EAAZtH,MAAM,CAAAsH,KAAM;MACTE,QAAiB,EAAjBxH,MAAM,CAAAJ,IAAK,CAAA0H;IAAM,CAC5B,CAAC;IAAA7F,CAAA,MAAAzB,MAAA,CAAAJ,IAAA,CAAA2E,EAAA;IAAA9C,CAAA,MAAAzB,MAAA,CAAAJ,IAAA,CAAA0H,KAAA;IAAA7F,CAAA,MAAAzB,MAAA,CAAAsH,KAAA;IAAA7F,CAAA,MAAAM,EAAA;EAAA;IAAAA,EAAA,GAAAN,CAAA;EAAA;EAAA,OAJFM,EAIE;AAAA;AAIN,SAAS0F,aAAaA,CAACC,KAAmC,EAAErG,MAAc,EAAE;EAC1E,IAAIqG,KAAK,KAAK,QAAQ,EAAE,OAAOrG,MAAM;EACrC,IAAIqG,KAAK,KAAK,KAAK,EAAE,OAAOjJ,WAAW;EACvC,OAAOE,YAAY;AACrB;AAEA,OAAO,SAAAyH,YAAA5E,EAAA;EAAA,MAAAC,CAAA,GAAAC,EAAA;EAAqB;IAAA1B;EAAA,IAAAwB,EAAkC;EAC5D;IAAAH,MAAA,EAAAD;EAAA,IAAgCvC,eAAe,CAAC,CAAC;EACjD;IAAAe,IAAA;IAAA+H;EAAA,IAA0B3H,MAAM;EAAC,IAAA+B,EAAA;EAAA,IAAAN,CAAA,QAAAkG,OAAA,EAAA9E,IAAA;IACjBd,EAAA,GAAA4F,OAAO,EAAA9E,IAAY,IAAnB,EAAmB;IAAApB,CAAA,MAAAkG,OAAA,EAAA9E,IAAA;IAAApB,CAAA,MAAAM,EAAA;EAAA;IAAAA,EAAA,GAAAN,CAAA;EAAA;EAAnC,OAAAlB,KAAA,IAAgBwB,EAAmB;EACnC,IAAI,CAAC4F,OAAiB,IAAlB,CAAapH,KAAK;IAAA,OAAS,IAAI;EAAA;EAAC,IAAAyB,EAAA;EAAA,IAAAP,CAAA,QAAA7B,IAAA,CAAAgI,YAAA,IAAAnG,CAAA,QAAAL,WAAA;IACvBY,EAAA,GAAAyF,aAAa,CAAC7H,IAAI,CAAAgI,YAAa,EAAExG,WAAW,CAAC;IAAAK,CAAA,MAAA7B,IAAA,CAAAgI,YAAA;IAAAnG,CAAA,MAAAL,WAAA;IAAAK,CAAA,MAAAO,EAAA;EAAA;IAAAA,EAAA,GAAAP,CAAA;EAAA;EAA1D,MAAAsB,IAAA,GAAaf,EAA6C;EAC1D,MAAAkB,KAAA,GAAcyE,OAAO,CAAAE,MAA4B,GAAlBF,OAAO,CAAAjF,GAAW,GAAnC,IAAmC;EAAC,IAAAT,EAAA;EAAA,IAAAR,CAAA,QAAAsB,IAAA,IAAAtB,CAAA,QAAAyB,KAAA,IAAAzB,CAAA,QAAA7B,IAAA,CAAA2E,EAAA;IAG7CtC,EAAA,GAAAiB,KAYA,iBAZA7D,IAAA;MAEoC,mCAAAO,IAAI,CAAA2E,EAAG;MACrC/D,CAAO,EAAP0C,KAAK,CAAA1C,CAAE;MACPC,CAAO,EAAPyC,KAAK,CAAAzC,CAAE;MACHmF,KAAO,EAAP1C,KAAK,CAAA2C,CAAE;MACNC,MAAO,EAAP5C,KAAK,CAAA6C,CAAE;MACXC,EAAW,EAAX9C,KAAK,CAAA6C,CAAE,GAAG,CAAC;MACTvH,IAAU,EAAVA,UAAU;MACRuE,MAAI,EAAJA,IAAI;MACCgC,WAAC,EAAD;IAAC,CAElB,CAAC;IAAAtD,CAAA,MAAAsB,IAAA;IAAAtB,CAAA,MAAAyB,KAAA;IAAAzB,CAAA,MAAA7B,IAAA,CAAA2E,EAAA;IAAA9C,CAAA,MAAAQ,EAAA;EAAA;IAAAA,EAAA,GAAAR,CAAA;EAAA;EAE4B,MAAAa,EAAA,GAAA1C,IAAI,CAAA2E,EAAG;EAAA,IAAAhC,EAAA;EAAA,IAAAd,CAAA,QAAAlB,KAAA;IAC9BgC,EAAA,GAAAjC,SAAS,CAACC,KAAK,CAAC;IAAAkB,CAAA,MAAAlB,KAAA;IAAAkB,CAAA,OAAAc,EAAA;EAAA;IAAAA,EAAA,GAAAd,CAAA;EAAA;EAAA,IAAAe,EAAA;EAAA,IAAAf,CAAA,SAAAkG,OAAA,CAAA9E,IAAA;IAGpBL,EAAA,gBAAAnD,IAAA,CAACF,QAAQ;MAAO2I,IAAY,EAAZH,OAAO,CAAA9E;IAAK,CAAG,CAAC;IAAApB,CAAA,OAAAkG,OAAA,CAAA9E,IAAA;IAAApB,CAAA,OAAAe,EAAA;EAAA;IAAAA,EAAA,GAAAf,CAAA;EAAA;EAAA,IAAAuB,EAAA;EAAA,IAAAvB,CAAA,SAAAsB,IAAA,IAAAtB,CAAA,SAAA7B,IAAA,CAAA2E,EAAA,IAAA9C,CAAA,SAAAc,EAAA,IAAAd,CAAA,SAAAe,EAAA;IALlCQ,EAAA,gBAAA3D,IAAA;MAC6B,6BAAAiD,EAAO;MAAA,GAC9BC,EAAgB;MACdQ,IAAI,EAAJA,IAAI;MAAA2B,QAAA,EAEVlC;IAAgC,CAC5B,CAAC;IAAAf,CAAA,OAAAsB,IAAA;IAAAtB,CAAA,OAAA7B,IAAA,CAAA2E,EAAA;IAAA9C,CAAA,OAAAc,EAAA;IAAAd,CAAA,OAAAe,EAAA;IAAAf,CAAA,OAAAuB,EAAA;EAAA;IAAAA,EAAA,GAAAvB,CAAA;EAAA;EAAA,IAAA0B,EAAA;EAAA,IAAA1B,CAAA,SAAAQ,EAAA,IAAAR,CAAA,SAAAuB,EAAA;IApBTG,EAAA,gBAAA5D,KAAA,CAAAE,SAAA;MAAAiF,QAAA,GACGzC,EAYA,EACDe,EAMO;IAAA,CACP,CAAC;IAAAvB,CAAA,OAAAQ,EAAA;IAAAR,CAAA,OAAAuB,EAAA;IAAAvB,CAAA,OAAA0B,EAAA;EAAA;IAAAA,EAAA,GAAA1B,CAAA;EAAA;EAAA,OArBH0B,EAqBG;AAAA;AAIP,OAAO,SAAA4E,eAAAvG,EAAA;EAAA,MAAAC,CAAA,GAAAC,EAAA;EAAwB;IAAAsG,IAAA;IAAAC,WAAA;IAAAC,OAAA;IAAAvG,QAAA;IAAAC,KAAA;IAAAC;EAAA,IAAAL,EAc9B;EACC;IAAAH,MAAA,EAAAD;EAAA,IAAgCvC,eAAe,CAAC,CAAC;EAAC,IAAAkD,EAAA;EAAA,IAAAN,CAAA,QAAAI,GAAA,IAAAJ,CAAA,QAAAG,KAAA;IACXG,EAAA,IAACH,KAAK,EAAEC,GAAG,CAAC;IAAAJ,CAAA,MAAAI,GAAA;IAAAJ,CAAA,MAAAG,KAAA;IAAAH,CAAA,MAAAM,EAAA;EAAA;IAAAA,EAAA,GAAAN,CAAA;EAAA;EAAA,IAAAO,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAR,CAAA,QAAAS,MAAA,CAAAC,GAAA;IAAEH,EAAA,IAAC,CAAC,EAAE,CAAC,CAAC;IAAEC,EAAA;MAAAG,KAAA,EAAS;IAAK,CAAC;IAAAX,CAAA,MAAAO,EAAA;IAAAP,CAAA,MAAAQ,EAAA;EAAA;IAAAD,EAAA,GAAAP,CAAA;IAAAQ,EAAA,GAAAR,CAAA;EAAA;EAA5E,MAAAY,OAAA,GAAgBhE,YAAY,CAACsD,QAAQ,EAAEI,EAAY,EAAEC,EAAM,EAAEC,EAAe,CAAC;EAAC,IAAAK,EAAA;EAAA,IAAAb,CAAA,QAAAuG,IAAA,CAAApI,IAAA,CAAA2E,EAAA;IACzDjC,EAAA,GAAA0F,IAAI,CAAApI,IAAK,CAAA2E,EAAG,CAAA4D,KAAM,CAAC7J,sBAAsB,CAAA8J,MAAO,CAAC;IAAA3G,CAAA,MAAAuG,IAAA,CAAApI,IAAA,CAAA2E,EAAA;IAAA9C,CAAA,MAAAa,EAAA;EAAA;IAAAA,EAAA,GAAAb,CAAA;EAAA;EAAtE,MAAA4G,KAAA,GAAcC,MAAM,CAAChG,EAAiD,CAAC;EACvE,MAAAiG,UAAA,GAAmBN,WAAW,CAACI,KAAK,CAAC;EACrC,IAAI,CAACE,UAAU;IAAA,OAAS,IAAI;EAAA;EAAC,IAAAhG,EAAA;EAAA,IAAAd,CAAA,QAAA8G,UAAA,CAAAb,KAAA,IAAAjG,CAAA,QAAAL,WAAA;IAChBmB,EAAA,GAAAkF,aAAa,CAACc,UAAU,CAAAb,KAAM,EAAEtG,WAAW,CAAC;IAAAK,CAAA,MAAA8G,UAAA,CAAAb,KAAA;IAAAjG,CAAA,MAAAL,WAAA;IAAAK,CAAA,MAAAc,EAAA;EAAA;IAAAA,EAAA,GAAAd,CAAA;EAAA;EAAzD,MAAAsB,IAAA,GAAaR,EAA4C;EACzD,MAAA5B,MAAA,GAAe4H,UAAU,CAAA5H,MAAgB,IAA1B,KAA0B;EACzC,MAAA6H,KAAA,GAAcD,UAAU,CAAAE,WAA0B,IAApC,UAAoC;EAAC,IAAAjG,EAAA;EAAA,IAAAf,CAAA,SAAA8G,UAAA,CAAAG,OAAA;IACzBlG,EAAA,GAAA+F,UAAU,CAAAG,OAAc,EAAA1E,IAAK,CAAJ,GAAG,CAAC;IAAAvC,CAAA,OAAA8G,UAAA,CAAAG,OAAA;IAAAjH,CAAA,OAAAe,EAAA;EAAA;IAAAA,EAAA,GAAAf,CAAA;EAAA;EAAvD,MAAAkH,iBAAA,GAA0BnG,EAA6B;EACvD,MAAAoG,YAAA,GACEL,UAAU,CAAAM,MAA4B,IAAtCF,iBAEmB,GAFnB,GACOJ,UAAU,CAAAM,MAA4B,IAAtCF,iBAAsC,IAAIhI,MAAM,EACpC,GAFnB,QAEY0H,KAAK,EAAE;EAAC,IAAAS,EAAA;EAAA,IAAAvI,KAAA;EAAA,IAAAyC,EAAA;EAAA,IAAAG,EAAA;EAAA,IAAA1B,CAAA,SAAAd,MAAA,IAAAc,CAAA,SAAAmH,YAAA,IAAAnH,CAAA,SAAAyG,OAAA,IAAAzG,CAAA,SAAAuG,IAAA,CAAApI,IAAA,CAAA2E,EAAA,IAAA9C,CAAA,SAAAuG,IAAA,CAAAnF,IAAA,IAAApB,CAAA,SAAAY,OAAA,IAAAZ,CAAA,SAAA+G,KAAA;IAAA,IAAAnF,EAAA;IAAA,IAAA5B,CAAA,SAAAuG,IAAA,CAAApI,IAAA,CAAA2E,EAAA;MACalB,EAAA,GAAA0F,MAAA,IAAYA,MAAM,CAAAf,IAAK,KAAKA,IAAI,CAAApI,IAAK,CAAA2E,EAAG;MAAA9C,CAAA,OAAAuG,IAAA,CAAApI,IAAA,CAAA2E,EAAA;MAAA9C,CAAA,OAAA4B,EAAA;IAAA;MAAAA,EAAA,GAAA5B,CAAA;IAAA;IAA3E,MAAAuH,WAAA,GAAoBd,OAAO,CAAA9H,MAAO,CAACiD,EAAwC,CAAC;IAC5E,CAAA9C,KAAA,IAAgByH,IAAI,CAAAnF,IAAK;IAEtBiG,EAAA,GAAA1K,MAAM,CAAAkI,CAAE;IAAA,IAAA7E,CAAA,SAAAY,OAAA;MAAQW,EAAA;QAAAX;MAAU,CAAC;MAAAZ,CAAA,OAAAY,OAAA;MAAAZ,CAAA,OAAAuB,EAAA;IAAA;MAAAA,EAAA,GAAAvB,CAAA;IAAA;IAAA,IAAA8B,GAAA;IAAA,IAAA9B,CAAA,SAAAd,MAAA,IAAAc,CAAA,SAAAmH,YAAA,IAAAnH,CAAA,SAAA+G,KAAA;MACTjF,GAAA,GAAAA,CAAA0F,QAAA,EAAAC,WAAA;QACf,MAAAC,KAAA,GAAc;UAAA,kCACsBP,YAAY;UAAA,yCACLG,QAAM,CAAAF,MAAO;UAAA,yCACblI,MAAM;UAAA,wCACPuI,WAAW;UAAA,wCACXV;QAC1C,CAAC;QACD,MAAAY,IAAA,GAAaL,QAAM,CAAAM,MAAO,CAAAC,EAAG,CAAC,CAAC,CAAC;QAChC,MAAAC,EAAA,GAAWR,QAAM,CAAAM,MAAO,CAAAC,EAAG,CAAC,EAAE,CAAC;QAC/B,IAAIP,QAAM,CAAAM,MAAO,CAAAjB,MAAO,GAAG,CAAU,IAAjC,CAA6BgB,IAAW,IAAxC,CAAsCG,EAAE;UAAA,oBAExClK,IAAA;YAAA,GAEM8J,KAAK;YACNK,CAAQ,EAART,QAAM,CAAAS,CAAE;YACNzG,IAAM,EAAN,MAAM;YACHrE,MAAe,EAAfA,eAAe;YACVqG,WAAC,EAAD,CAAC;YACAC,aAAO,EAAP,OAAO;YACNE,cAAO,EAAP;UAAO,GAPjB,GAAG6D,QAAM,CAAAF,MAAO,IAAIK,WAAW,EAQrC,CAAC;QAAA;QAEL,oBAEC7J,IAAA;UAAA,GAEM8J,KAAK;UACLxE,EAAM,EAANyE,IAAI,CAAA5I,CAAE;UACNoE,EAAM,EAANwE,IAAI,CAAA3I,CAAE;UACNoE,EAAI,EAAJ0E,EAAE,CAAA/I,CAAE;UACJsE,EAAI,EAAJyE,EAAE,CAAA9I,CAAE;UACA/B,MAAe,EAAfA,eAAe;UACVqG,WAAC,EAAD,CAAC;UACAC,aAAO,EAAP;QAAO,GARhB,GAAG+D,QAAM,CAAAF,MAAO,IAAIK,WAAW,EASrC,CAAC;MAAA,CAEL;MAAAzH,CAAA,OAAAd,MAAA;MAAAc,CAAA,OAAAmH,YAAA;MAAAnH,CAAA,OAAA+G,KAAA;MAAA/G,CAAA,OAAA8B,GAAA;IAAA;MAAAA,GAAA,GAAA9B,CAAA;IAAA;IArCA0B,EAAA,GAAA6F,WAAW,CAAAnF,GAAI,CAACN,GAqChB,CAAC;IAAA9B,CAAA,OAAAd,MAAA;IAAAc,CAAA,OAAAmH,YAAA;IAAAnH,CAAA,OAAAyG,OAAA;IAAAzG,CAAA,OAAAuG,IAAA,CAAApI,IAAA,CAAA2E,EAAA;IAAA9C,CAAA,OAAAuG,IAAA,CAAAnF,IAAA;IAAApB,CAAA,OAAAY,OAAA;IAAAZ,CAAA,OAAA+G,KAAA;IAAA/G,CAAA,OAAAqH,EAAA;IAAArH,CAAA,OAAAlB,KAAA;IAAAkB,CAAA,OAAAuB,EAAA;IAAAvB,CAAA,OAAA0B,EAAA;EAAA;IAAA2F,EAAA,GAAArH,CAAA;IAAAlB,KAAA,GAAAkB,CAAA;IAAAuB,EAAA,GAAAvB,CAAA;IAAA0B,EAAA,GAAA1B,CAAA;EAAA;EAAA,IAAA4B,EAAA;EAAA,IAAA5B,CAAA,SAAA8G,UAAA,CAAA5H,MAAA,IAAAc,CAAA,SAAA8G,UAAA,CAAAkB,KAAA,IAAAhI,CAAA,SAAA8G,UAAA,CAAAmB,OAAA,IAAAjI,CAAA,SAAA8G,UAAA,CAAAM,MAAA,IAAApH,CAAA,SAAA8G,UAAA,CAAAG,OAAA,IAAAjH,CAAA,SAAAmH,YAAA,IAAAnH,CAAA,SAAAsB,IAAA,IAAAtB,CAAA,SAAAlB,KAAA,IAAAkB,CAAA,SAAAuG,IAAA,CAAAnF,IAAA;IACDQ,EAAA,GAAA9C,KAaA,iBAbAlB,IAAA;MAE4BuJ,0BAAA,CAAAA,YAAY;MACL,kCAAAL,UAAU,CAAAM,MAAO;MAChB,mCAAAN,UAAU,CAAAG,OAAc,EAAA1E,IAAK,CAAJ,GAAG,CAAC;MAC9B,kCAAAuE,UAAU,CAAA5H,MAAO;MAClB,iCAAA4H,UAAU,CAAAkB,KAAM;MACb,oCAAAlB,UAAU,CAAAmB,OAAQ;MAAA,GAChDpJ,SAAS,CAACC,KAAK,CAAC;MACdwC,IAAI,EAAJA,IAAI;MAAA2B,QAAA,eAEVrF,IAAA,CAACF,QAAQ;QAAO2I,IAAS,EAATE,IAAI,CAAAnF;MAAK,CAAG;IAAC,CAEjC,CAAC;IAAApB,CAAA,OAAA8G,UAAA,CAAA5H,MAAA;IAAAc,CAAA,OAAA8G,UAAA,CAAAkB,KAAA;IAAAhI,CAAA,OAAA8G,UAAA,CAAAmB,OAAA;IAAAjI,CAAA,OAAA8G,UAAA,CAAAM,MAAA;IAAApH,CAAA,OAAA8G,UAAA,CAAAG,OAAA;IAAAjH,CAAA,OAAAmH,YAAA;IAAAnH,CAAA,OAAAsB,IAAA;IAAAtB,CAAA,OAAAlB,KAAA;IAAAkB,CAAA,OAAAuG,IAAA,CAAAnF,IAAA;IAAApB,CAAA,OAAA4B,EAAA;EAAA;IAAAA,EAAA,GAAA5B,CAAA;EAAA;EAAA,IAAA8B,GAAA;EAAA,IAAA9B,CAAA,SAAAqH,EAAA,IAAArH,CAAA,SAAAuB,EAAA,IAAAvB,CAAA,SAAA0B,EAAA,IAAA1B,CAAA,SAAA4B,EAAA;IApDHE,GAAA,gBAAAhE,KAAA,CAACuJ,EAAQ;MAAQvC,KAAW,EAAXvD,EAAW;MAAA0B,QAAA,GACzBvB,EAqCC,EACDE,EAaA;IAAA,CACO,CAAC;IAAA5B,CAAA,OAAAqH,EAAA;IAAArH,CAAA,OAAAuB,EAAA;IAAAvB,CAAA,OAAA0B,EAAA;IAAA1B,CAAA,OAAA4B,EAAA;IAAA5B,CAAA,OAAA8B,GAAA;EAAA;IAAAA,GAAA,GAAA9B,CAAA;EAAA;EAAA,OArDX8B,GAqDW;AAAA","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"node-parts.js","names":["motion","useTransform","FONT_FAMILY","DIAGRAM_BG","DIAGRAM_DIM","DIAGRAM_NEUTRAL","DIAGRAM_TEXT","resolveDiagramToneFill","useDiagramTheme","DiagramNodeIcon","PortMarkers","accentToneStroke","nodeTextFill","textureFill","RunSpans","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","NOTE_REVEAL_START","isSpecialNode","node","kind","undefined","isNote","layout","splitNotes","nodes","graphNodes","filter","notes","textAttrs","first","x","y","textAnchor","anchor","fontFamily","font","face","fontSize","size","fontWeight","weight","junctionFillColor","themeAccent","accent","tone","SpecialNode","t0","$","_c","progress","start","end","ids","t1","t2","t3","Symbol","for","clamp","opacity","t4","t5","t6","translateY","box","radius","icon","text","appliance","fill","t7","bb0","frame","t8","applianceStroke","t9","applianceFill","t10","texture","t11","applianceTexture","t12","body","map","_temp","bodyPath","join","faceFrom","faceTo","rod","mast","antenna","t13","id","t14","t15","children","x1","y1","x2","y2","strokeWidth","strokeLinecap","t16","strokeLinejoin","t17","pointerEvents","t18","t19","jacks","t20","jack","i_0","i","width","w","height","h","rx","t21","t22","NodePorts","NodeCaption","t23","g","style","connectorStroke","connectorFill","connectorTexture","markerStroke","stroke","junctionStroke","junctionFill","point","NodeStackFrames","frames","level","reverse","ports","ownerId","declared","textColorFill","color","caption","captionColor","framed","runs","NoteText","note","leaders","leader","leader_0","target","d"],"sources":["../../../../src/lib/renderers/shared/node-parts.tsx"],"sourcesContent":["import { type MotionValue, motion, useTransform } from 'motion/react';\n\nimport type {\n LeaderLayout,\n NodeLayout,\n TextRun,\n} from '../../layouts/graph/graph-layout-result.ts';\nimport { FONT_FAMILY } from '../../layouts/text/font.ts';\nimport type { DiagramNode, DiagramTextColor } from '../../model/diagram-ir.ts';\nimport {\n DIAGRAM_BG,\n DIAGRAM_DIM,\n DIAGRAM_NEUTRAL,\n DIAGRAM_TEXT,\n resolveDiagramToneFill,\n useDiagramTheme,\n} from '../../react/chrome/index.ts';\nimport {\n DiagramNodeIcon,\n PortMarkers,\n accentToneStroke,\n nodeTextFill,\n textureFill,\n} from './graph-parts.tsx';\nimport { RunSpans } from './run-spans.tsx';\n\nexport const NOTE_REVEAL_START = 0.85;\n\nexport function isSpecialNode(node: DiagramNode) {\n return node.kind !== undefined && node.kind !== 'node';\n}\n\nfunction isNote(layout: NodeLayout) {\n return layout.node.kind === 'note';\n}\n\n/** Splits the framed nodes from the notes, which draw last, over the edges. */\nexport function splitNotes(nodes: NodeLayout[]) {\n return {\n graphNodes: nodes.filter((layout) => !isNote(layout)),\n notes: nodes.filter(isNote),\n };\n}\n\nfunction textAttrs(first: TextRun) {\n return {\n x: first.x,\n y: first.y,\n textAnchor: first.anchor,\n fontFamily: FONT_FAMILY[first.font.face],\n fontSize: first.font.size,\n fontWeight: first.font.weight,\n };\n}\n\nfunction junctionFillColor(node: DiagramNode, themeAccent: string) {\n if (node.accent) return themeAccent;\n if (node.tone) return resolveDiagramToneFill(node.tone);\n return DIAGRAM_BG;\n}\n\nexport function SpecialNode({\n layout,\n progress,\n start,\n end,\n}: {\n layout: NodeLayout;\n progress: MotionValue<number>;\n start: number;\n end: number;\n}) {\n const { accent: themeAccent, ids } = useDiagramTheme();\n const opacity = useTransform(progress, [start, end], [0, 1], {\n clamp: true,\n });\n const translateY = useTransform(progress, [start, end], [-10, 0], {\n clamp: true,\n });\n const { node, box, radius, icon, text, appliance } = layout;\n const fill = nodeTextFill(node, node.frame ?? 'solid', themeAccent);\n const [first] = text;\n if (node.kind === 'appliance' && appliance) {\n const applianceStroke = accentToneStroke(\n node,\n themeAccent,\n DIAGRAM_NEUTRAL,\n );\n const applianceFill = node.tone\n ? resolveDiagramToneFill(node.tone)\n : DIAGRAM_BG;\n const applianceTexture = textureFill(node.texture ?? 'none', ids);\n const bodyPath = [\n ...appliance.body.map(\n (point, i) => `${i === 0 ? 'M' : 'L'} ${point.x} ${point.y}`,\n ),\n 'Z',\n ].join(' ');\n const [faceFrom, faceTo] = appliance.face;\n const [rod, mast] = appliance.antenna;\n\n return (\n <motion.g\n data-diagram-appliance={node.id}\n style={{ opacity, y: translateY }}\n >\n {rod && mast && (\n <g data-diagram-appliance-antenna={node.id}>\n <line\n x1={rod[0].x}\n y1={rod[0].y}\n x2={rod[1].x}\n y2={rod[1].y}\n stroke={applianceStroke}\n strokeWidth={1.5}\n strokeLinecap=\"round\"\n />\n <line\n x1={mast[0].x}\n y1={mast[0].y}\n x2={mast[1].x}\n y2={mast[1].y}\n stroke={applianceStroke}\n strokeWidth={1}\n strokeLinecap=\"round\"\n />\n </g>\n )}\n <path\n data-diagram-node={node.id}\n data-diagram-node-tone={node.tone}\n data-diagram-appliance-body={node.id}\n d={bodyPath}\n fill={applianceFill}\n stroke={applianceStroke}\n strokeWidth={1.5}\n strokeLinejoin=\"round\"\n />\n {applianceTexture && (\n <path\n data-diagram-node-texture={`${node.id}:${node.texture ?? 'none'}`}\n d={bodyPath}\n fill={applianceTexture}\n pointerEvents=\"none\"\n />\n )}\n <line\n data-diagram-appliance-face={node.id}\n x1={faceFrom.x}\n y1={faceFrom.y}\n x2={faceTo.x}\n y2={faceTo.y}\n stroke={applianceStroke}\n strokeWidth={1}\n strokeLinecap=\"round\"\n opacity={0.85}\n />\n {appliance.jacks.map((jack, i) => (\n <rect\n key={i}\n data-diagram-appliance-port={`${node.id}:${i}`}\n x={jack.x}\n y={jack.y}\n width={jack.w}\n height={jack.h}\n rx={1}\n fill={DIAGRAM_BG}\n stroke={applianceStroke}\n strokeWidth={1}\n />\n ))}\n {first && (\n <text\n data-diagram-appliance-label={node.id}\n {...textAttrs(first)}\n fill={fill}\n >\n <RunSpans runs={text} fill={fill} accent={themeAccent} />\n </text>\n )}\n <NodePorts layout={layout} />\n <NodeCaption layout={layout} />\n </motion.g>\n );\n }\n if (node.kind === 'connector') {\n const connectorStroke = accentToneStroke(\n node,\n themeAccent,\n DIAGRAM_NEUTRAL,\n );\n const connectorFill = node.tone\n ? resolveDiagramToneFill(node.tone)\n : DIAGRAM_BG;\n const connectorTexture = textureFill(\n node.texture ?? (node.tone ? 'dots' : 'none'),\n ids,\n );\n\n return (\n <motion.g style={{ opacity, y: translateY }}>\n <rect\n data-diagram-node={node.id}\n data-diagram-connector={node.id}\n data-diagram-node-tone={node.tone}\n x={box.x}\n y={box.y}\n width={box.w}\n height={box.h}\n rx={radius}\n fill={connectorFill}\n stroke={connectorStroke}\n strokeWidth={1.25}\n />\n {connectorTexture && (\n <rect\n data-diagram-node-texture={`${node.id}:${node.texture ?? 'dots'}`}\n x={box.x}\n y={box.y}\n width={box.w}\n height={box.h}\n rx={radius}\n fill={connectorTexture}\n pointerEvents=\"none\"\n />\n )}\n {node.icon && icon && (\n <DiagramNodeIcon\n icon={node.icon}\n x={icon.x}\n y={icon.y}\n size={icon.size}\n color={fill}\n />\n )}\n {first && (\n <text\n data-diagram-connector-label={node.id}\n {...textAttrs(first)}\n fill={fill}\n >\n <RunSpans runs={text} fill={fill} accent={themeAccent} />\n </text>\n )}\n <NodePorts layout={layout} />\n <NodeCaption layout={layout} />\n </motion.g>\n );\n }\n if (node.kind === 'marker' && icon) {\n const markerStroke = accentToneStroke(node, themeAccent, fill);\n\n return (\n <motion.g\n data-diagram-marker={node.id}\n style={{ opacity, y: translateY }}\n >\n <rect\n data-diagram-node={node.id}\n data-diagram-marker-bounds={node.id}\n x={box.x}\n y={box.y}\n width={box.w}\n height={box.h}\n rx={radius}\n fill=\"transparent\"\n stroke=\"none\"\n />\n <DiagramNodeIcon\n icon={node.icon ?? 'ellipsis'}\n x={icon.x}\n y={icon.y}\n size={icon.size}\n color={markerStroke}\n />\n {first && (\n <text\n data-diagram-marker-label={node.id}\n {...textAttrs(first)}\n fill={fill}\n >\n <RunSpans runs={text} fill={fill} accent={themeAccent} />\n </text>\n )}\n <NodePorts layout={layout} />\n <NodeCaption layout={layout} />\n </motion.g>\n );\n }\n if (node.kind === 'junction') {\n const junctionStroke = accentToneStroke(node, themeAccent, DIAGRAM_NEUTRAL);\n const junctionFill = junctionFillColor(node, themeAccent);\n return (\n <motion.g style={{ opacity, y: translateY }}>\n <rect\n data-diagram-junction={node.id}\n x={box.x}\n y={box.y}\n width={box.w}\n height={box.h}\n rx={radius}\n fill={junctionFill}\n stroke={junctionStroke}\n strokeWidth={1.5}\n />\n {first && (\n <text\n data-diagram-junction-label={node.id}\n {...textAttrs(first)}\n fill={fill}\n >\n <RunSpans runs={text} />\n </text>\n )}\n <NodeCaption layout={layout} />\n </motion.g>\n );\n }\n return null;\n}\n\nexport function NodeStackFrames({\n layout,\n fill,\n stroke,\n strokeWidth,\n}: {\n layout: NodeLayout;\n fill: string;\n stroke: string;\n strokeWidth: number;\n}) {\n const { node, frames, radius } = layout;\n return frames\n .map((frame, i) => ({ frame, level: i + 1 }))\n .reverse()\n .map(({ frame, level }) => (\n <rect\n key={`stack-${level}`}\n data-diagram-node-stack={`${node.id}:${level}`}\n x={frame.x}\n y={frame.y}\n width={frame.w}\n height={frame.h}\n rx={radius}\n fill={fill}\n stroke={stroke}\n strokeWidth={strokeWidth}\n />\n ));\n}\n\nexport function NodePorts({ layout }: { layout: NodeLayout }) {\n return (\n <PortMarkers\n ownerId={layout.node.id}\n ports={layout.ports}\n declared={layout.node.ports}\n />\n );\n}\n\nfunction textColorFill(color: DiagramTextColor | undefined, accent: string) {\n if (color === 'accent') return accent;\n if (color === 'dim') return DIAGRAM_DIM;\n return DIAGRAM_TEXT;\n}\n\nexport function NodeCaption({ layout }: { layout: NodeLayout }) {\n const { accent: themeAccent } = useDiagramTheme();\n const { node, caption } = layout;\n const [first] = caption?.text ?? [];\n if (!caption || !first) return null;\n const fill = textColorFill(node.captionColor, themeAccent);\n const frame = caption.framed ? caption.box : null;\n return (\n <>\n {frame && (\n <rect\n data-diagram-node-caption-frame={node.id}\n x={frame.x}\n y={frame.y}\n width={frame.w}\n height={frame.h}\n rx={frame.h / 2}\n fill={DIAGRAM_BG}\n stroke={fill}\n strokeWidth={1}\n />\n )}\n <text\n data-diagram-node-caption={node.id}\n {...textAttrs(first)}\n fill={fill}\n >\n <RunSpans runs={caption.text} />\n </text>\n </>\n );\n}\n\nexport function NoteText({\n note,\n leaders,\n progress,\n start,\n end,\n}: {\n note: NodeLayout;\n leaders: LeaderLayout[];\n progress: MotionValue<number>;\n start: number;\n end: number;\n}) {\n const { accent: themeAccent } = useDiagramTheme();\n const opacity = useTransform(progress, [start, end], [0, 1], { clamp: true });\n const { node, text } = note;\n const [first] = text;\n return (\n <motion.g style={{ opacity }}>\n {leaders\n .filter((leader) => leader.note === node.id)\n .map((leader) => (\n <path\n key={leader.target}\n data-diagram-note-leader={node.id}\n data-diagram-note-leader-target={leader.target}\n d={leader.d}\n fill=\"none\"\n stroke={DIAGRAM_NEUTRAL}\n strokeWidth={1}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n ))}\n {first && (\n <text\n data-diagram-note={node.id}\n data-diagram-note-target={node.target}\n {...textAttrs(first)}\n fill={DIAGRAM_TEXT}\n >\n <RunSpans runs={text} fill={DIAGRAM_TEXT} accent={themeAccent} />\n </text>\n )}\n </motion.g>\n );\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { runFill } from "./text-runs.js";
|
|
2
2
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
3
|
export function RunSpans({
|
|
4
4
|
runs,
|
|
@@ -7,7 +7,7 @@ export function RunSpans({
|
|
|
7
7
|
}) {
|
|
8
8
|
return runs.map((run, i) => /*#__PURE__*/_jsx("tspan", {
|
|
9
9
|
x: run.x,
|
|
10
|
-
|
|
10
|
+
y: run.y,
|
|
11
11
|
...(fill === undefined ? {} : {
|
|
12
12
|
fill: runFill(run, fill, accent ?? fill),
|
|
13
13
|
fontWeight: run.font.weight
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-spans.js","names":["
|
|
1
|
+
{"version":3,"file":"run-spans.js","names":["runFill","jsx","_jsx","RunSpans","runs","fill","accent","map","run","i","x","y","undefined","fontWeight","font","weight","children","text"],"sources":["../../../../src/lib/renderers/shared/run-spans.tsx"],"sourcesContent":["import type { TextRun } from '../../layouts/graph/graph-layout-result.ts';\nimport { runFill } from './text-runs.ts';\n\nexport function RunSpans({\n runs,\n fill,\n accent,\n}: {\n runs: TextRun[];\n /** Set it to give each line its own fill and weight. */\n fill?: string;\n accent?: string;\n}) {\n return runs.map((run, i) => (\n <tspan\n key={i}\n x={run.x}\n y={run.y}\n {...(fill === undefined\n ? {}\n : {\n fill: runFill(run, fill, accent ?? fill),\n fontWeight: run.font.weight,\n })}\n >\n {run.text}\n </tspan>\n ));\n}\n"],"mappings":"AACA,SAASA,OAAO,QAAQ,gBAAgB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAEzC,OAAO,SAASC,QAAQA,CAAC;EACvBC,IAAI;EACJC,IAAI;EACJC;AAMF,CAAC,EAAE;EACD,OAAOF,IAAI,CAACG,GAAG,CAAC,CAACC,GAAG,EAAEC,CAAC,kBACrBP,IAAA;IAEEQ,CAAC,EAAEF,GAAG,CAACE,CAAE;IACTC,CAAC,EAAEH,GAAG,CAACG,CAAE;IAAA,IACJN,IAAI,KAAKO,SAAS,GACnB,CAAC,CAAC,GACF;MACEP,IAAI,EAAEL,OAAO,CAACQ,GAAG,EAAEH,IAAI,EAAEC,MAAM,IAAID,IAAI,CAAC;MACxCQ,UAAU,EAAEL,GAAG,CAACM,IAAI,CAACC;IACvB,CAAC;IAAAC,QAAA,EAEJR,GAAG,CAACS;EAAI,GAVJR,CAWA,CACR,CAAC;AACJ","ignoreList":[]}
|