@cardenelabs/cdl 0.107.0 → 0.109.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +59 -1
- package/dist/index.cjs +72 -35
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +72 -35
- package/dist/index.js.map +1 -1
- package/dist/react.cjs +187 -150
- package/dist/react.cjs.map +1 -1
- package/dist/react.js +187 -150
- package/dist/react.js.map +1 -1
- package/package.json +1 -1
- package/src/kinds/shape-basement.tsx +20 -8
- package/src/kinds/shape-blockchain.tsx +17 -10
- package/src/kinds/shape-commerce.tsx +15 -6
- package/src/kinds/shape-finance.tsx +15 -6
- package/src/kinds/shape-hardware.tsx +15 -7
- package/src/kinds/shape-region.tsx +63 -2
- package/src/render/header.tsx +10 -1
- package/src/render.tsx +17 -0
package/dist/index.js
CHANGED
|
@@ -14699,6 +14699,14 @@ function \u5E45\u306E\u500D\u7387(text, size, letterSpacing, \u5E45) {
|
|
|
14699
14699
|
const \u5B9F\u5E45 = textWidth(text, size, letterSpacing);
|
|
14700
14700
|
return \u5B9F\u5E45 > \u5E45 ? \u5E45 / \u5B9F\u5E45 : 1;
|
|
14701
14701
|
}
|
|
14702
|
+
function \u8AAD\u3081\u308B\u4E0B\u9650\u306E\u500D\u7387(\u5927\u304D\u3055) {
|
|
14703
|
+
return \u5927\u304D\u3055 > MIN_TITLE_FONT_SIZE ? MIN_TITLE_FONT_SIZE / \u5927\u304D\u3055 : 0;
|
|
14704
|
+
}
|
|
14705
|
+
function \u5207\u3063\u3066\u53CE\u307E\u308B\u4E0B\u9650(\u984C, \u5927\u304D\u3055, \u5B57\u9593, \u5E45\u4E0A\u9650, \u6E2C\u308B) {
|
|
14706
|
+
const \u4E0B\u9650 = \u8AAD\u3081\u308B\u4E0B\u9650\u306E\u500D\u7387(\u5927\u304D\u3055);
|
|
14707
|
+
if (!(\u4E0B\u9650 > 0) || !(\u5E45\u4E0A\u9650 > 0)) return 0;
|
|
14708
|
+
return \u5E45\u3067\u5207\u308B(\u984C, \u5927\u304D\u3055 * \u4E0B\u9650, \u5E45\u4E0A\u9650, (u, f) => \u6E2C\u308B(u, f, \u5B57\u9593 * \u4E0B\u9650)) === "" ? 0 : \u4E0B\u9650;
|
|
14709
|
+
}
|
|
14702
14710
|
var TITLE_MAX = 18;
|
|
14703
14711
|
var TITLE_MIN = 9;
|
|
14704
14712
|
var TITLE_RATIO = 0.17;
|
|
@@ -14858,16 +14866,19 @@ function bodyBand(node, opt) {
|
|
|
14858
14866
|
const h = Math.max(0, \u7BB1h - \u7E26\u4F59\u767D * ky);
|
|
14859
14867
|
return { x, y, w, h, cx: x + w / 2, cy: y + h / 2, \u53F3: x + w, \u5E95: y + h };
|
|
14860
14868
|
}
|
|
14861
|
-
function fitLabel(band, block, pos) {
|
|
14869
|
+
function fitLabel(band, block, pos, \u6A2A\u306E\u4E0B\u9650 = 0) {
|
|
14862
14870
|
const \u7E26 = block.\u4E0A + block.\u4E0B;
|
|
14863
14871
|
const \u6A2A = Math.max(0, block.\u5E45);
|
|
14864
14872
|
if (!(\u7E26 > 0)) return { k: 1, x: pos.x, y: pos.y };
|
|
14865
14873
|
if (!(band.h > 0) || !(band.w > 0)) return { k: 0, x: band.x + band.w / 2, y: band.y };
|
|
14866
|
-
const
|
|
14874
|
+
const \u6A2A\u3067 = \u6A2A > 0 ? Math.max(band.w / \u6A2A, \u6A2A\u306E\u4E0B\u9650) : 1;
|
|
14875
|
+
const k = Math.min(1, band.h / \u7E26, \u6A2A\u3067);
|
|
14867
14876
|
const \u534A = \u6A2A * k / 2;
|
|
14868
14877
|
return {
|
|
14869
14878
|
k,
|
|
14870
|
-
|
|
14879
|
+
// 下限で止めた塊は帯より広い。 その時は帯の中央に置いて左右へ均等に出す =
|
|
14880
|
+
// 寄せの式をそのまま当てると片側だけに出る (`compact-title.ts` と同じ判断)
|
|
14881
|
+
x: \u534A * 2 > band.w ? band.x + band.w / 2 : Math.max(band.x + \u534A, Math.min(pos.x, band.x + band.w - \u534A)),
|
|
14871
14882
|
y: Math.max(band.y + block.\u4E0A * k, Math.min(pos.y, band.y + band.h - block.\u4E0B * k))
|
|
14872
14883
|
};
|
|
14873
14884
|
}
|
|
@@ -23463,12 +23474,13 @@ function CdlHeader({
|
|
|
23463
23474
|
stateValues,
|
|
23464
23475
|
states,
|
|
23465
23476
|
onJumpPhase,
|
|
23466
|
-
headingLevel = 3
|
|
23477
|
+
headingLevel = 3,
|
|
23478
|
+
showTopic = true
|
|
23467
23479
|
}) {
|
|
23468
23480
|
const HeadingTag = `h${headingLevel}`;
|
|
23469
23481
|
return /* @__PURE__ */ jsxs("div", { className: "border-b border-[var(--cdl-divider,#d4d4d8)]/35 px-7 py-6", children: [
|
|
23470
23482
|
/* @__PURE__ */ jsxs("div", { className: "mb-5 flex items-center gap-3", children: [
|
|
23471
|
-
/* @__PURE__ */ jsx("div", { className: "text-[10px] font-bold uppercase tracking-[0.2em]", style: { color: "var(--cdl-text-accent, #2d6a8f)" }, children: topic }),
|
|
23483
|
+
showTopic && /* @__PURE__ */ jsx("div", { className: "text-[10px] font-bold uppercase tracking-[0.2em]", style: { color: "var(--cdl-text-accent, #2d6a8f)" }, children: topic }),
|
|
23472
23484
|
/* @__PURE__ */ jsxs("div", { className: "ml-auto flex items-center gap-1.5", children: [
|
|
23473
23485
|
phases.map((p, idx) => {
|
|
23474
23486
|
const active = idx === phaseIdx;
|
|
@@ -28707,13 +28719,15 @@ function labelBlock(node, pos, size, band) {
|
|
|
28707
28719
|
node.eyebrow ? textWidth(node.eyebrow, EYEBROW_SIZE2, EYEBROW_TRACKING) : 0,
|
|
28708
28720
|
node.subtitle ? textWidth(node.subtitle, SUB_SIZE) : 0
|
|
28709
28721
|
);
|
|
28710
|
-
const
|
|
28722
|
+
const \u4E0B\u9650 = \u5207\u3063\u3066\u53CE\u307E\u308B\u4E0B\u9650(node.title ?? "", size, 0, band.w, textWidth);
|
|
28723
|
+
const { k, x, y: baseline } = fitLabel(band, { \u4E0A, \u4E0B, \u5E45 }, pos, \u4E0B\u9650);
|
|
28711
28724
|
return { k, x, baseline, \u4E0A\u7AEF: baseline - \u4E0A * k, \u4E0B\u7AEF: baseline + \u4E0B * k };
|
|
28712
28725
|
}
|
|
28713
28726
|
function commonLabel(node, pos, size, band) {
|
|
28714
28727
|
const \u584A = labelBlock(node, pos, size, band);
|
|
28715
28728
|
const k = \u584A.k;
|
|
28716
28729
|
const x = \u584A.x;
|
|
28730
|
+
const \u5207\u308B = (t, \u5927\u304D\u3055, \u5B57\u9593 = 0) => \u5E45\u3067\u5207\u308B(t, \u5927\u304D\u3055 * k, band.w, (u, f) => textWidth(u, f, \u5B57\u9593 * k));
|
|
28717
28731
|
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
28718
28732
|
node.eyebrow && /* @__PURE__ */ jsx(
|
|
28719
28733
|
"text",
|
|
@@ -28725,7 +28739,7 @@ function commonLabel(node, pos, size, band) {
|
|
|
28725
28739
|
letterSpacing: EYEBROW_TRACKING * k,
|
|
28726
28740
|
textAnchor: "middle",
|
|
28727
28741
|
fill: "var(--cdl-tone-accent, #2d6a8f)",
|
|
28728
|
-
children: node.eyebrow
|
|
28742
|
+
children: \u5207\u308B(node.eyebrow, EYEBROW_SIZE2, EYEBROW_TRACKING)
|
|
28729
28743
|
}
|
|
28730
28744
|
),
|
|
28731
28745
|
/* @__PURE__ */ jsx(
|
|
@@ -28738,7 +28752,7 @@ function commonLabel(node, pos, size, band) {
|
|
|
28738
28752
|
fontWeight: 700,
|
|
28739
28753
|
textAnchor: "middle",
|
|
28740
28754
|
fill: "var(--cdl-text, #1a1f2a)",
|
|
28741
|
-
children: node.title
|
|
28755
|
+
children: \u5207\u308B(node.title ?? "", size)
|
|
28742
28756
|
}
|
|
28743
28757
|
),
|
|
28744
28758
|
node.subtitle && /* @__PURE__ */ jsx(
|
|
@@ -28749,7 +28763,7 @@ function commonLabel(node, pos, size, band) {
|
|
|
28749
28763
|
fontSize: SUB_SIZE * k,
|
|
28750
28764
|
textAnchor: "middle",
|
|
28751
28765
|
fill: "var(--cdl-text-dim, #5a6270)",
|
|
28752
|
-
children: node.subtitle
|
|
28766
|
+
children: \u5207\u308B(node.subtitle, SUB_SIZE)
|
|
28753
28767
|
}
|
|
28754
28768
|
)
|
|
28755
28769
|
] });
|
|
@@ -29084,7 +29098,9 @@ function planLabel(node, cx, \u5E45\u4E0A\u9650, plan) {
|
|
|
29084
29098
|
node.eyebrow && plan.\u80A9\u66F8 ? textWidth(node.eyebrow, plan.\u80A9\u66F8.size, EYEBROW_TRACKING) : 0,
|
|
29085
29099
|
node.subtitle && plan.\u8AAC\u660E ? textWidth(node.subtitle, plan.\u8AAC\u660E.size) : 0
|
|
29086
29100
|
);
|
|
29087
|
-
const
|
|
29101
|
+
const \u4E0B\u9650 = \u5207\u3063\u3066\u53CE\u307E\u308B\u4E0B\u9650(node.title ?? "", plan.\u540D\u524D.size, 0, \u5E45\u4E0A\u9650, textWidth);
|
|
29102
|
+
const k = \u5E45 > 0 && \u5E45\u4E0A\u9650 > 0 ? Math.min(1, Math.max(\u5E45\u4E0A\u9650 / \u5E45, \u4E0B\u9650)) : 1;
|
|
29103
|
+
const \u5207\u308B = (t, \u5927\u304D\u3055, \u5B57\u9593 = 0) => \u5E45\u3067\u5207\u308B(t, \u5927\u304D\u3055 * k, \u5E45\u4E0A\u9650, (u, f) => textWidth(u, f, \u5B57\u9593 * k));
|
|
29088
29104
|
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
29089
29105
|
node.eyebrow && plan.\u80A9\u66F8 && /* @__PURE__ */ jsx(
|
|
29090
29106
|
"text",
|
|
@@ -29096,7 +29112,7 @@ function planLabel(node, cx, \u5E45\u4E0A\u9650, plan) {
|
|
|
29096
29112
|
letterSpacing: EYEBROW_TRACKING * k,
|
|
29097
29113
|
textAnchor: "middle",
|
|
29098
29114
|
fill: "var(--cdl-tone-accent, #2d6a8f)",
|
|
29099
|
-
children: node.eyebrow
|
|
29115
|
+
children: \u5207\u308B(node.eyebrow, plan.\u80A9\u66F8.size, EYEBROW_TRACKING)
|
|
29100
29116
|
}
|
|
29101
29117
|
),
|
|
29102
29118
|
/* @__PURE__ */ jsx(
|
|
@@ -29109,7 +29125,7 @@ function planLabel(node, cx, \u5E45\u4E0A\u9650, plan) {
|
|
|
29109
29125
|
fontWeight: 700,
|
|
29110
29126
|
textAnchor: "middle",
|
|
29111
29127
|
fill: "var(--cdl-text, #1a1f2a)",
|
|
29112
|
-
children: node.title
|
|
29128
|
+
children: \u5207\u308B(node.title ?? "", plan.\u540D\u524D.size)
|
|
29113
29129
|
}
|
|
29114
29130
|
),
|
|
29115
29131
|
node.subtitle && plan.\u8AAC\u660E && /* @__PURE__ */ jsx(
|
|
@@ -29120,7 +29136,7 @@ function planLabel(node, cx, \u5E45\u4E0A\u9650, plan) {
|
|
|
29120
29136
|
fontSize: plan.\u8AAC\u660E.size * k,
|
|
29121
29137
|
textAnchor: "middle",
|
|
29122
29138
|
fill: "var(--cdl-text-dim, #5a6270)",
|
|
29123
|
-
children: node.subtitle
|
|
29139
|
+
children: \u5207\u308B(node.subtitle, plan.\u8AAC\u660E.size)
|
|
29124
29140
|
}
|
|
29125
29141
|
)
|
|
29126
29142
|
] });
|
|
@@ -30043,17 +30059,19 @@ var externalLabel = (node, cx, bottomY) => /* @__PURE__ */ jsxs(Fragment, { chil
|
|
|
30043
30059
|
var LABEL_EYEBROW_SPACING = 2;
|
|
30044
30060
|
function \u5E45\u306B\u53CE\u3081\u308B2(\u6587\u5B57\u5217, \u5927\u304D\u3055, \u5B57\u9593, \u7BB1\u5E45) {
|
|
30045
30061
|
const \u5E45 = textWidth(\u6587\u5B57\u5217, \u5927\u304D\u3055, \u5B57\u9593);
|
|
30046
|
-
const \u500D\u7387 = \u5E45 > 0 && \u7BB1\u5E45 > 0 ? Math.min(1, \u7BB1\u5E45 / \u5E45) : 1;
|
|
30047
|
-
|
|
30062
|
+
const \u500D\u7387 = \u5E45 > 0 && \u7BB1\u5E45 > 0 ? Math.min(1, Math.max(\u7BB1\u5E45 / \u5E45, \u5207\u3063\u3066\u53CE\u307E\u308B\u4E0B\u9650(\u6587\u5B57\u5217, \u5927\u304D\u3055, \u5B57\u9593, \u7BB1\u5E45, textWidth))) : 1;
|
|
30063
|
+
const size = \u5927\u304D\u3055 * \u500D\u7387;
|
|
30064
|
+
const spacing = \u5B57\u9593 * \u500D\u7387;
|
|
30065
|
+
return { size, spacing, text: \u5E45\u3067\u5207\u308B(\u6587\u5B57\u5217, size, \u7BB1\u5E45, (u, f) => textWidth(u, f, spacing)) };
|
|
30048
30066
|
}
|
|
30049
30067
|
function bottomLabel(node, cx, plan) {
|
|
30050
30068
|
const \u80A9 = \u5E45\u306B\u53CE\u3081\u308B2(node.eyebrow ?? "", plan.\u80A9\u66F8?.size ?? 0, LABEL_EYEBROW_SPACING, node.w);
|
|
30051
30069
|
const \u540D = \u5E45\u306B\u53CE\u3081\u308B2(node.title ?? "", plan.\u540D\u524D.size, 0, node.w);
|
|
30052
30070
|
const \u8AAC = \u5E45\u306B\u53CE\u3081\u308B2(node.subtitle ?? "", plan.\u8AAC\u660E?.size ?? 0, 0, node.w);
|
|
30053
30071
|
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
30054
|
-
node.eyebrow && plan.\u80A9\u66F8 && /* @__PURE__ */ jsx("text", { x: cx, y: plan.\u80A9\u66F8.y, fontSize: \u80A9.size, fontWeight: 700, letterSpacing: \u80A9.spacing, textAnchor: "middle", fill: "var(--cdl-tone-accent, #2d6a8f)", children:
|
|
30055
|
-
/* @__PURE__ */ jsx("text", { "data-cdl-role": "node-label", x: cx, y: plan.\u540D\u524D.y, fontSize: \u540D.size, fontWeight: 700, textAnchor: "middle", fill: "var(--cdl-text, #1a1f2a)", children:
|
|
30056
|
-
node.subtitle && plan.\u8AAC\u660E && /* @__PURE__ */ jsx("text", { x: cx, y: plan.\u8AAC\u660E.y, fontSize: \u8AAC.size, textAnchor: "middle", fill: "var(--cdl-text-dim, #5a6270)", children:
|
|
30072
|
+
node.eyebrow && plan.\u80A9\u66F8 && /* @__PURE__ */ jsx("text", { x: cx, y: plan.\u80A9\u66F8.y, fontSize: \u80A9.size, fontWeight: 700, letterSpacing: \u80A9.spacing, textAnchor: "middle", fill: "var(--cdl-tone-accent, #2d6a8f)", children: \u80A9.text }),
|
|
30073
|
+
/* @__PURE__ */ jsx("text", { "data-cdl-role": "node-label", x: cx, y: plan.\u540D\u524D.y, fontSize: \u540D.size, fontWeight: 700, textAnchor: "middle", fill: "var(--cdl-text, #1a1f2a)", children: \u540D.text }),
|
|
30074
|
+
node.subtitle && plan.\u8AAC\u660E && /* @__PURE__ */ jsx("text", { x: cx, y: plan.\u8AAC\u660E.y, fontSize: \u8AAC.size, textAnchor: "middle", fill: "var(--cdl-text-dim, #5a6270)", children: \u8AAC.text })
|
|
30057
30075
|
] });
|
|
30058
30076
|
}
|
|
30059
30077
|
var RACK_SLOT_TOP = 20;
|
|
@@ -30848,13 +30866,22 @@ function blockchainNodeExtent(strokeWidth) {
|
|
|
30848
30866
|
return { \u4E0A: \u7E26, \u4E0B: \u7E26, \u5DE6: \u6A2A, \u53F3: \u6A2A };
|
|
30849
30867
|
}
|
|
30850
30868
|
function bottomLabel2(node, cx, plan) {
|
|
30851
|
-
const \
|
|
30852
|
-
|
|
30853
|
-
|
|
30869
|
+
const \u53CE\u3081\u308B = (t, \u5927\u304D\u3055, \u5B57\u9593) => {
|
|
30870
|
+
const \u6E2C\u308B = (u, f, ls) => \u5B57\u306E\u5E45(u, f) + ls * [...u].length;
|
|
30871
|
+
const \u500D\u7387 = Math.max(\u5E45\u306E\u500D\u7387(t, \u5927\u304D\u3055, \u5B57\u9593, node.w), \u5207\u3063\u3066\u53CE\u307E\u308B\u4E0B\u9650(t, \u5927\u304D\u3055, \u5B57\u9593, node.w, \u6E2C\u308B));
|
|
30872
|
+
const size = \u5927\u304D\u3055 * \u500D\u7387;
|
|
30873
|
+
return { \u500D\u7387, text: \u5E45\u3067\u5207\u308B(t, size, node.w, (u, f) => \u5B57\u306E\u5E45(u, f) + \u5B57\u9593 * \u500D\u7387 * [...u].length) };
|
|
30874
|
+
};
|
|
30875
|
+
const \u80A9 = node.eyebrow && plan.\u80A9\u66F8 ? \u53CE\u3081\u308B(node.eyebrow, plan.\u80A9\u66F8.size, 2) : { \u500D\u7387: 1, text: node.eyebrow ?? "" };
|
|
30876
|
+
const \u540D = \u53CE\u3081\u308B(node.title ?? "", plan.\u540D\u524D.size, 0);
|
|
30877
|
+
const \u8AAC = node.subtitle && plan.\u8AAC\u660E ? \u53CE\u3081\u308B(node.subtitle, plan.\u8AAC\u660E.size, 0) : { \u500D\u7387: 1, text: node.subtitle ?? "" };
|
|
30878
|
+
const \u80A9\u66F8\u500D\u7387 = \u80A9.\u500D\u7387;
|
|
30879
|
+
const \u540D\u524D\u500D\u7387 = \u540D.\u500D\u7387;
|
|
30880
|
+
const \u8AAC\u660E\u500D\u7387 = \u8AAC.\u500D\u7387;
|
|
30854
30881
|
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
30855
|
-
node.eyebrow && plan.\u80A9\u66F8 && /* @__PURE__ */ jsx("text", { x: cx, y: plan.\u80A9\u66F8.y, fontSize: plan.\u80A9\u66F8.size * \u80A9\u66F8\u500D\u7387, fontWeight: 700, letterSpacing: 2 * \u80A9\u66F8\u500D\u7387, textAnchor: "middle", fill: "var(--cdl-tone-accent, #2d6a8f)", children:
|
|
30856
|
-
/* @__PURE__ */ jsx("text", { "data-cdl-role": "node-label", x: cx, y: plan.\u540D\u524D.y, fontSize: plan.\u540D\u524D.size * \u540D\u524D\u500D\u7387, fontWeight: 700, textAnchor: "middle", fill: "var(--cdl-text, #1a1f2a)", children:
|
|
30857
|
-
node.subtitle && plan.\u8AAC\u660E && /* @__PURE__ */ jsx("text", { x: cx, y: plan.\u8AAC\u660E.y, fontSize: plan.\u8AAC\u660E.size * \u8AAC\u660E\u500D\u7387, textAnchor: "middle", fill: "var(--cdl-text-dim, #5a6270)", children:
|
|
30882
|
+
node.eyebrow && plan.\u80A9\u66F8 && /* @__PURE__ */ jsx("text", { x: cx, y: plan.\u80A9\u66F8.y, fontSize: plan.\u80A9\u66F8.size * \u80A9\u66F8\u500D\u7387, fontWeight: 700, letterSpacing: 2 * \u80A9\u66F8\u500D\u7387, textAnchor: "middle", fill: "var(--cdl-tone-accent, #2d6a8f)", children: \u80A9.text }),
|
|
30883
|
+
/* @__PURE__ */ jsx("text", { "data-cdl-role": "node-label", x: cx, y: plan.\u540D\u524D.y, fontSize: plan.\u540D\u524D.size * \u540D\u524D\u500D\u7387, fontWeight: 700, textAnchor: "middle", fill: "var(--cdl-text, #1a1f2a)", children: \u540D.text }),
|
|
30884
|
+
node.subtitle && plan.\u8AAC\u660E && /* @__PURE__ */ jsx("text", { x: cx, y: plan.\u8AAC\u660E.y, fontSize: plan.\u8AAC\u660E.size * \u8AAC\u660E\u500D\u7387, textAnchor: "middle", fill: "var(--cdl-text-dim, #5a6270)", children: \u8AAC.text })
|
|
30858
30885
|
] });
|
|
30859
30886
|
}
|
|
30860
30887
|
function EthereumDiamond({ cx, cy, h, colors }) {
|
|
@@ -31463,17 +31490,19 @@ function \u5B57\u5E45(\u6587\u5B57\u5217, \u5927\u304D\u3055, \u5B57\u9593) {
|
|
|
31463
31490
|
}
|
|
31464
31491
|
function \u5E45\u306B\u53CE\u3081\u308B3(\u6587\u5B57\u5217, \u5927\u304D\u3055, \u5B57\u9593, \u7BB1\u5E45) {
|
|
31465
31492
|
const \u5E45 = \u5B57\u5E45(\u6587\u5B57\u5217, \u5927\u304D\u3055, \u5B57\u9593);
|
|
31466
|
-
const \u500D\u7387 = \u5E45 > 0 && \u7BB1\u5E45 > 0 ? Math.min(1, \u7BB1\u5E45 / \u5E45) : 1;
|
|
31467
|
-
|
|
31493
|
+
const \u500D\u7387 = \u5E45 > 0 && \u7BB1\u5E45 > 0 ? Math.min(1, Math.max(\u7BB1\u5E45 / \u5E45, \u5207\u3063\u3066\u53CE\u307E\u308B\u4E0B\u9650(\u6587\u5B57\u5217, \u5927\u304D\u3055, \u5B57\u9593, \u7BB1\u5E45, \u5B57\u5E45))) : 1;
|
|
31494
|
+
const size = \u5927\u304D\u3055 * \u500D\u7387;
|
|
31495
|
+
const spacing = \u5B57\u9593 * \u500D\u7387;
|
|
31496
|
+
return { size, spacing, text: \u5E45\u3067\u5207\u308B(\u6587\u5B57\u5217, size, \u7BB1\u5E45, (u, f) => \u5B57\u5E45(u, f, spacing)) };
|
|
31468
31497
|
}
|
|
31469
31498
|
function bottomLabel3(node, cx, plan) {
|
|
31470
31499
|
const \u80A9 = \u5E45\u306B\u53CE\u3081\u308B3(node.eyebrow ?? "", plan.\u80A9\u66F8?.size ?? 0, LABEL_EYEBROW_SPACING2, node.w);
|
|
31471
31500
|
const \u540D = \u5E45\u306B\u53CE\u3081\u308B3(node.title ?? "", plan.\u540D\u524D.size, 0, node.w);
|
|
31472
31501
|
const \u8AAC = \u5E45\u306B\u53CE\u3081\u308B3(node.subtitle ?? "", plan.\u8AAC\u660E?.size ?? 0, 0, node.w);
|
|
31473
31502
|
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
31474
|
-
node.eyebrow && plan.\u80A9\u66F8 && /* @__PURE__ */ jsx("text", { x: cx, y: plan.\u80A9\u66F8.y, fontSize: \u80A9.size, fontWeight: 700, letterSpacing: \u80A9.spacing, textAnchor: "middle", fill: "var(--cdl-tone-accent, #2d6a8f)", children:
|
|
31475
|
-
/* @__PURE__ */ jsx("text", { "data-cdl-role": "node-label", x: cx, y: plan.\u540D\u524D.y, fontSize: \u540D.size, fontWeight: 700, textAnchor: "middle", fill: "var(--cdl-text, #1a1f2a)", children:
|
|
31476
|
-
node.subtitle && plan.\u8AAC\u660E && /* @__PURE__ */ jsx("text", { x: cx, y: plan.\u8AAC\u660E.y, fontSize: \u8AAC.size, textAnchor: "middle", fill: "var(--cdl-text-dim, #5a6270)", children:
|
|
31503
|
+
node.eyebrow && plan.\u80A9\u66F8 && /* @__PURE__ */ jsx("text", { x: cx, y: plan.\u80A9\u66F8.y, fontSize: \u80A9.size, fontWeight: 700, letterSpacing: \u80A9.spacing, textAnchor: "middle", fill: "var(--cdl-tone-accent, #2d6a8f)", children: \u80A9.text }),
|
|
31504
|
+
/* @__PURE__ */ jsx("text", { "data-cdl-role": "node-label", x: cx, y: plan.\u540D\u524D.y, fontSize: \u540D.size, fontWeight: 700, textAnchor: "middle", fill: "var(--cdl-text, #1a1f2a)", children: \u540D.text }),
|
|
31505
|
+
node.subtitle && plan.\u8AAC\u660E && /* @__PURE__ */ jsx("text", { x: cx, y: plan.\u8AAC\u660E.y, fontSize: \u8AAC.size, textAnchor: "middle", fill: "var(--cdl-text-dim, #5a6270)", children: \u8AAC.text })
|
|
31477
31506
|
] });
|
|
31478
31507
|
}
|
|
31479
31508
|
var BANK_PEDIMENT_H = 44;
|
|
@@ -31946,17 +31975,19 @@ function \u5B57\u5E452(\u6587\u5B57\u5217, \u5927\u304D\u3055, \u5B57\u9593) {
|
|
|
31946
31975
|
}
|
|
31947
31976
|
function \u5E45\u306B\u53CE\u3081\u308B4(\u6587\u5B57\u5217, \u5927\u304D\u3055, \u5B57\u9593, \u7BB1\u5E45) {
|
|
31948
31977
|
const \u5E45 = \u5B57\u5E452(\u6587\u5B57\u5217, \u5927\u304D\u3055, \u5B57\u9593);
|
|
31949
|
-
const \u500D\u7387 = \u5E45 > 0 && \u7BB1\u5E45 > 0 ? Math.min(1, \u7BB1\u5E45 / \u5E45) : 1;
|
|
31950
|
-
|
|
31978
|
+
const \u500D\u7387 = \u5E45 > 0 && \u7BB1\u5E45 > 0 ? Math.min(1, Math.max(\u7BB1\u5E45 / \u5E45, \u5207\u3063\u3066\u53CE\u307E\u308B\u4E0B\u9650(\u6587\u5B57\u5217, \u5927\u304D\u3055, \u5B57\u9593, \u7BB1\u5E45, \u5B57\u5E452))) : 1;
|
|
31979
|
+
const size = \u5927\u304D\u3055 * \u500D\u7387;
|
|
31980
|
+
const spacing = \u5B57\u9593 * \u500D\u7387;
|
|
31981
|
+
return { size, spacing, text: \u5E45\u3067\u5207\u308B(\u6587\u5B57\u5217, size, \u7BB1\u5E45, (u, f) => \u5B57\u5E452(u, f, spacing)) };
|
|
31951
31982
|
}
|
|
31952
31983
|
function bottomLabel4(node, cx, plan) {
|
|
31953
31984
|
const \u80A9 = \u5E45\u306B\u53CE\u3081\u308B4(node.eyebrow ?? "", plan.\u80A9\u66F8?.size ?? 0, LABEL_EYEBROW_SPACING3, node.w);
|
|
31954
31985
|
const \u540D = \u5E45\u306B\u53CE\u3081\u308B4(node.title ?? "", plan.\u540D\u524D.size, 0, node.w);
|
|
31955
31986
|
const \u8AAC = \u5E45\u306B\u53CE\u3081\u308B4(node.subtitle ?? "", plan.\u8AAC\u660E?.size ?? 0, 0, node.w);
|
|
31956
31987
|
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
31957
|
-
node.eyebrow && plan.\u80A9\u66F8 && /* @__PURE__ */ jsx("text", { x: cx, y: plan.\u80A9\u66F8.y, fontSize: \u80A9.size, fontWeight: 700, letterSpacing: \u80A9.spacing, textAnchor: "middle", fill: "var(--cdl-tone-accent, #2d6a8f)", children:
|
|
31958
|
-
/* @__PURE__ */ jsx("text", { "data-cdl-role": "node-label", x: cx, y: plan.\u540D\u524D.y, fontSize: \u540D.size, fontWeight: 700, textAnchor: "middle", fill: "var(--cdl-text, #1a1f2a)", children:
|
|
31959
|
-
node.subtitle && plan.\u8AAC\u660E && /* @__PURE__ */ jsx("text", { x: cx, y: plan.\u8AAC\u660E.y, fontSize: \u8AAC.size, textAnchor: "middle", fill: "var(--cdl-text-dim, #5a6270)", children:
|
|
31988
|
+
node.eyebrow && plan.\u80A9\u66F8 && /* @__PURE__ */ jsx("text", { x: cx, y: plan.\u80A9\u66F8.y, fontSize: \u80A9.size, fontWeight: 700, letterSpacing: \u80A9.spacing, textAnchor: "middle", fill: "var(--cdl-tone-accent, #2d6a8f)", children: \u80A9.text }),
|
|
31989
|
+
/* @__PURE__ */ jsx("text", { "data-cdl-role": "node-label", x: cx, y: plan.\u540D\u524D.y, fontSize: \u540D.size, fontWeight: 700, textAnchor: "middle", fill: "var(--cdl-text, #1a1f2a)", children: \u540D.text }),
|
|
31990
|
+
node.subtitle && plan.\u8AAC\u660E && /* @__PURE__ */ jsx("text", { x: cx, y: plan.\u8AAC\u660E.y, fontSize: \u8AAC.size, textAnchor: "middle", fill: "var(--cdl-text-dim, #5a6270)", children: \u8AAC.text })
|
|
31960
31991
|
] });
|
|
31961
31992
|
}
|
|
31962
31993
|
var DROP_SHADOW_D = 4;
|
|
@@ -33555,6 +33586,11 @@ function CdlDiagramView({ diagram: diagram2, laid: laidProp, hideHeader = false,
|
|
|
33555
33586
|
return mergeStateValues(baseStateValues, interactive.stateOverrides);
|
|
33556
33587
|
}, [isInteractive, baseStateValues, interactive.stateOverrides]);
|
|
33557
33588
|
const \u5024\u306E\u540D\u524D = useMemo(() => \u5024\u306E\u540D\u524D\u306E\u8868\u3092\u4F5C\u308B(diagram2.inputs), [diagram2.inputs]);
|
|
33589
|
+
const \u56F3\u304C\u8A71\u984C\u3092\u63CF\u304F = useMemo(() => {
|
|
33590
|
+
const \u8A71\u984C = laid.topic.trim();
|
|
33591
|
+
if (\u8A71\u984C === "") return false;
|
|
33592
|
+
return laid.nodes.some((n) => drawsFigureTitle(n.kind) && (n.title ?? "").trim() === \u8A71\u984C);
|
|
33593
|
+
}, [laid.nodes, laid.topic]);
|
|
33558
33594
|
return /* @__PURE__ */ jsxs(
|
|
33559
33595
|
"div",
|
|
33560
33596
|
{
|
|
@@ -33579,7 +33615,8 @@ function CdlDiagramView({ diagram: diagram2, laid: laidProp, hideHeader = false,
|
|
|
33579
33615
|
timeline.goto(idx);
|
|
33580
33616
|
timeline.play();
|
|
33581
33617
|
},
|
|
33582
|
-
headingLevel
|
|
33618
|
+
headingLevel,
|
|
33619
|
+
showTopic: !\u56F3\u304C\u8A71\u984C\u3092\u63CF\u304F
|
|
33583
33620
|
}
|
|
33584
33621
|
),
|
|
33585
33622
|
isInteractive && interactive.panel,
|