@cardenelabs/cdl 0.12.1 → 0.13.1
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 +38 -1
- package/dist/index.cjs +52 -32
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +4 -2
- package/dist/index.d.ts +4 -2
- package/dist/index.js +52 -32
- package/dist/index.js.map +1 -1
- package/dist/react.cjs +51 -32
- package/dist/react.cjs.map +1 -1
- package/dist/react.d.cts +1 -1
- package/dist/react.d.ts +1 -1
- package/dist/react.js +51 -32
- package/dist/react.js.map +1 -1
- package/dist/{render-C7FKvMqq.d.cts → render-B5JHcUrb.d.cts} +8 -0
- package/dist/{render-C7FKvMqq.d.ts → render-B5JHcUrb.d.ts} +8 -0
- package/package.json +1 -1
- package/src/kinds/box-lines.ts +45 -4
- package/src/kinds/compact-title.ts +6 -6
- package/src/kinds/mind-map.tsx +14 -7
- package/src/kinds/tree.tsx +12 -7
- package/src/presets.ts +3 -0
- package/src/render/payload-binding.ts +14 -4
- package/src/render/template-fields.ts +1 -0
- package/src/types.ts +8 -0
package/dist/react.d.cts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import 'react';
|
|
2
|
-
export { n as CdlDiagramView, j as CdlDiagramViewProps } from './render-
|
|
2
|
+
export { n as CdlDiagramView, j as CdlDiagramViewProps } from './render-B5JHcUrb.cjs';
|
package/dist/react.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import 'react';
|
|
2
|
-
export { n as CdlDiagramView, j as CdlDiagramViewProps } from './render-
|
|
2
|
+
export { n as CdlDiagramView, j as CdlDiagramViewProps } from './render-B5JHcUrb.js';
|
package/dist/react.js
CHANGED
|
@@ -4857,6 +4857,7 @@ function payloadTexts(node) {
|
|
|
4857
4857
|
}
|
|
4858
4858
|
if (node.mindData) {
|
|
4859
4859
|
\u8DB3\u3059(node.mindData.rootTitle);
|
|
4860
|
+
\u8DB3\u3059(node.mindData.rootSubtitle);
|
|
4860
4861
|
for (const b of node.mindData.branches) {
|
|
4861
4862
|
\u8DB3\u3059(b.title);
|
|
4862
4863
|
\u8DB3\u3059(b.subtitle);
|
|
@@ -5567,10 +5568,10 @@ function fitTextSize(text, maxWidth, targetSize, minSize) {
|
|
|
5567
5568
|
}
|
|
5568
5569
|
var COMPACT_MAX_H = 100;
|
|
5569
5570
|
var COMPACT_PADDING_X = 16;
|
|
5570
|
-
var
|
|
5571
|
+
var MIN_TEXT_SIZE = 11;
|
|
5571
5572
|
var ASCENT = 0.72;
|
|
5572
5573
|
var DESCENT = 0.25;
|
|
5573
|
-
var MIN_BAND_H =
|
|
5574
|
+
var MIN_BAND_H = MIN_TEXT_SIZE * (ASCENT + DESCENT);
|
|
5574
5575
|
var EYEBROW_BASELINE = 38;
|
|
5575
5576
|
var EYEBROW_SIZE = 18;
|
|
5576
5577
|
var EYEBROW_GAP = 8;
|
|
@@ -5592,10 +5593,10 @@ function titlePlacement(node, \u901A\u5E38, opts = {}) {
|
|
|
5592
5593
|
node.title,
|
|
5593
5594
|
Math.max(0, node.w - COMPACT_PADDING_X),
|
|
5594
5595
|
\u901A\u5E38.size,
|
|
5595
|
-
|
|
5596
|
+
MIN_TEXT_SIZE
|
|
5596
5597
|
);
|
|
5597
5598
|
const \u5E2F\u3067 = Math.floor(\u5E2F / (ASCENT + DESCENT));
|
|
5598
|
-
const size = Math.max(
|
|
5599
|
+
const size = Math.max(MIN_TEXT_SIZE, Math.min(\u5E45\u3067, \u5E2F\u3067));
|
|
5599
5600
|
const \u5B57\u9AD8 = size * (ASCENT + DESCENT);
|
|
5600
5601
|
const y = \u5B57\u9AD8 <= \u5E2F ? \u4E0A + \u5E2F / 2 + size * (ASCENT - DESCENT) / 2 : \u4E0A > 0 ? \u4E0A + size * ASCENT : (\u9AD8\u3055 - \u5B57\u9AD8) / 2 + size * ASCENT;
|
|
5601
5602
|
return { x: node.w / 2, y, size, anchor: "middle" };
|
|
@@ -6575,9 +6576,10 @@ function resolveTreeData(nodes, values) {
|
|
|
6575
6576
|
});
|
|
6576
6577
|
}
|
|
6577
6578
|
function resolveMindData(data, values) {
|
|
6578
|
-
const \u8AAD\u3080 = data.rootTitle.includes("{") || data.branches.some((b) => b.title.includes("{") || (b.subtitle?.includes("{") ?? false));
|
|
6579
|
+
const \u8AAD\u3080 = data.rootTitle.includes("{") || (data.rootSubtitle?.includes("{") ?? false) || data.branches.some((b) => b.title.includes("{") || (b.subtitle?.includes("{") ?? false));
|
|
6579
6580
|
if (!\u8AAD\u3080) return data;
|
|
6580
6581
|
const root = resolveBoundText(data.rootTitle, values);
|
|
6582
|
+
const rootSubtitle = data.rootSubtitle === void 0 ? void 0 : resolveBoundText(data.rootSubtitle, values);
|
|
6581
6583
|
const branches = data.branches.map((b) => {
|
|
6582
6584
|
const title = resolveBoundText(b.title, values);
|
|
6583
6585
|
const subtitle = b.subtitle === void 0 ? void 0 : resolveBoundText(b.subtitle, values);
|
|
@@ -6588,8 +6590,13 @@ function resolveMindData(data, values) {
|
|
|
6588
6590
|
};
|
|
6589
6591
|
return title.ok && (subtitle?.ok ?? true) ? \u89E3\u6C7A\u5F8C2 : { ...\u89E3\u6C7A\u5F8C2, unresolved: true };
|
|
6590
6592
|
});
|
|
6591
|
-
const \u89E3\u6C7A\u5F8C = {
|
|
6592
|
-
|
|
6593
|
+
const \u89E3\u6C7A\u5F8C = {
|
|
6594
|
+
...data,
|
|
6595
|
+
rootTitle: root.value,
|
|
6596
|
+
...rootSubtitle ? { rootSubtitle: rootSubtitle.value } : {},
|
|
6597
|
+
branches
|
|
6598
|
+
};
|
|
6599
|
+
return root.ok && (rootSubtitle?.ok ?? true) ? \u89E3\u6C7A\u5F8C : { ...\u89E3\u6C7A\u5F8C, unresolved: true };
|
|
6593
6600
|
}
|
|
6594
6601
|
|
|
6595
6602
|
// src/kinds/draw-progress.ts
|
|
@@ -7319,6 +7326,12 @@ function \u5E45\u3067\u5207\u308B(text, fontSize, \u4F7F\u3048\u308B\u5E452, \u6
|
|
|
7319
7326
|
}
|
|
7320
7327
|
return `${\u51FA}${\u7701\u7565}`;
|
|
7321
7328
|
}
|
|
7329
|
+
var \u7E2E\u3081\u306E\u4E0B\u9650 = MIN_TEXT_SIZE;
|
|
7330
|
+
function \u5E45\u306B\u53CE\u3081\u308B(text, fontSize, \u4F7F\u3048\u308B\u5E452, \u6E2C\u308B = textWidth) {
|
|
7331
|
+
let size = fontSize;
|
|
7332
|
+
while (size > \u7E2E\u3081\u306E\u4E0B\u9650 && \u6E2C\u308B(text, size) > \u4F7F\u3048\u308B\u5E452) size -= 1;
|
|
7333
|
+
return { text: \u5E45\u3067\u5207\u308B(text, size, \u4F7F\u3048\u308B\u5E452, \u6E2C\u308B), fontSize: size };
|
|
7334
|
+
}
|
|
7322
7335
|
function \u66F8\u8A18\u7D20\u306B\u5206\u3051\u308B(text) {
|
|
7323
7336
|
const \u533A\u5207\u308A = Intl.Segmenter;
|
|
7324
7337
|
if (typeof \u533A\u5207\u308A !== "function") return [...text];
|
|
@@ -7332,12 +7345,13 @@ function \u7BB1\u306B\u7A4D\u3080(\u884C, \u7BB1\u306E\u5E45, \u7BB1\u306E\u9AD8
|
|
|
7332
7345
|
const \u6B8B\u3059 = [...\u5019\u88DC];
|
|
7333
7346
|
while (\u6B8B\u3059.length > 1 && \u9AD8\u3055(\u6B8B\u3059) > \u4F7F\u3048\u308B\u9AD8\u3055) \u6B8B\u3059.pop();
|
|
7334
7347
|
const \u5E45 = \u4F7F\u3048\u308B\u5E45(\u7BB1\u306E\u5E45);
|
|
7335
|
-
const \
|
|
7348
|
+
const \u53CE\u3081\u305F = \u6B8B\u3059.map((r) => ({ ...r, ...\u5E45\u306B\u53CE\u3081\u308B(r.text, r.fontSize, \u5E45) }));
|
|
7349
|
+
const \u7DCF\u9AD8 = \u9AD8\u3055(\u53CE\u3081\u305F);
|
|
7336
7350
|
let \u7A4D\u307F = -\u7DCF\u9AD8 / 2;
|
|
7337
|
-
return \
|
|
7351
|
+
return \u53CE\u3081\u305F.map((r) => {
|
|
7338
7352
|
const dy = \u7A4D\u307F + (\u884C\u9001\u308A\u306E\u6BD4 + \u5B57\u306E\u9AD8\u3055\u306E\u6BD4) / 2 * r.fontSize;
|
|
7339
7353
|
\u7A4D\u307F += r.fontSize * \u884C\u9001\u308A\u306E\u6BD4;
|
|
7340
|
-
return { ...r,
|
|
7354
|
+
return { ...r, dy };
|
|
7341
7355
|
});
|
|
7342
7356
|
}
|
|
7343
7357
|
var MIND_TONES = ["accent", "teal", "success", "warning", "info", "error"];
|
|
@@ -7405,6 +7419,7 @@ function MindMapNode({
|
|
|
7405
7419
|
n.h
|
|
7406
7420
|
);
|
|
7407
7421
|
const \u88DC\u8DB3\u3042\u308A = (n.subtitle ?? "").trim() !== "";
|
|
7422
|
+
const \u53CE\u3081\u305F\u540D\u524D = \u88DC\u8DB3\u3042\u308A ? void 0 : \u5E45\u306B\u53CE\u3081\u308B(n.title, n.isRoot ? 15 : 13, \u4F7F\u3048\u308B\u5E45(n.w));
|
|
7408
7423
|
const \u6587\u5B57\u306E\u8272 = n.isRoot ? "var(--cdl-text-on-tone, #ffffff)" : "var(--cdl-chip-text, #1a1f2a)";
|
|
7409
7424
|
return /* @__PURE__ */ jsxs("g", { "data-cdl-unresolved": n.unresolved ? "true" : void 0, children: [
|
|
7410
7425
|
/* @__PURE__ */ jsx(
|
|
@@ -7420,7 +7435,7 @@ function MindMapNode({
|
|
|
7420
7435
|
strokeWidth: n.isRoot ? 2 : 1.75
|
|
7421
7436
|
}
|
|
7422
7437
|
),
|
|
7423
|
-
\
|
|
7438
|
+
\u53CE\u3081\u305F\u540D\u524D === void 0 ? \u884C.map((r) => /* @__PURE__ */ jsx(
|
|
7424
7439
|
"text",
|
|
7425
7440
|
{
|
|
7426
7441
|
"data-cdl-role": r.\u5F79\u5272 === "subtitle" ? "mind-node-subtitle" : void 0,
|
|
@@ -7437,17 +7452,18 @@ function MindMapNode({
|
|
|
7437
7452
|
)) : (
|
|
7438
7453
|
// 補足が無くても **幅に収める** (#526)。 `箱に積む` を通らないこの経路だけが
|
|
7439
7454
|
// 幅を見ておらず、長い名前がそのまま箱の外へ出て枝の線と重なっていた
|
|
7440
|
-
// (実測 = 中心の箱で文字 163px に対し箱 120px)
|
|
7455
|
+
// (実測 = 中心の箱で文字 163px に対し箱 120px)。
|
|
7456
|
+
// 収める手段は縮めるのが先で、切るのは下限まで縮めても入らない時だけ (#534)
|
|
7441
7457
|
/* @__PURE__ */ jsx(
|
|
7442
7458
|
"text",
|
|
7443
7459
|
{
|
|
7444
7460
|
x: n.x,
|
|
7445
7461
|
y: n.y + 5,
|
|
7446
|
-
fontSize:
|
|
7462
|
+
fontSize: \u53CE\u3081\u305F\u540D\u524D.fontSize,
|
|
7447
7463
|
fontWeight: n.isRoot ? 700 : 600,
|
|
7448
7464
|
textAnchor: "middle",
|
|
7449
7465
|
fill: \u6587\u5B57\u306E\u8272,
|
|
7450
|
-
children: \
|
|
7466
|
+
children: \u53CE\u3081\u305F\u540D\u524D.text
|
|
7451
7467
|
}
|
|
7452
7468
|
)
|
|
7453
7469
|
)
|
|
@@ -7463,6 +7479,8 @@ function computeMindMapLayout(mindData, cx, cy, canvasW, canvasH) {
|
|
|
7463
7479
|
nodes.push({
|
|
7464
7480
|
id: mindData.rootId,
|
|
7465
7481
|
title: mindData.rootTitle,
|
|
7482
|
+
// 中心も枝と同じく 2 行に積める (#530)。 高さ 52 に 15px + 9px の 2 行が入る
|
|
7483
|
+
...mindData.rootSubtitle === void 0 ? {} : { subtitle: mindData.rootSubtitle },
|
|
7466
7484
|
x: cx,
|
|
7467
7485
|
y: cy,
|
|
7468
7486
|
w: rootW,
|
|
@@ -8041,6 +8059,7 @@ function TreeNode({
|
|
|
8041
8059
|
n.h
|
|
8042
8060
|
);
|
|
8043
8061
|
const \u88DC\u8DB3\u3042\u308A = (n.subtitle ?? "").trim() !== "";
|
|
8062
|
+
const \u53CE\u3081\u305F\u540D\u524D = \u88DC\u8DB3\u3042\u308A ? void 0 : \u5E45\u306B\u53CE\u3081\u308B(n.title, isRoot ? 13 : 12, \u4F7F\u3048\u308B\u5E45(n.w));
|
|
8044
8063
|
return /* @__PURE__ */ jsx(
|
|
8045
8064
|
"g",
|
|
8046
8065
|
{
|
|
@@ -8059,7 +8078,7 @@ function TreeNode({
|
|
|
8059
8078
|
fill: `url(#${gradientId})`
|
|
8060
8079
|
}
|
|
8061
8080
|
),
|
|
8062
|
-
\
|
|
8081
|
+
\u53CE\u3081\u305F\u540D\u524D === void 0 ? \u7BB1\u306E\u6587\u5B57({
|
|
8063
8082
|
\u884C,
|
|
8064
8083
|
x: n.w / 2,
|
|
8065
8084
|
\u7BB1\u306E\u9AD8\u3055: n.h,
|
|
@@ -8073,11 +8092,11 @@ function TreeNode({
|
|
|
8073
8092
|
{
|
|
8074
8093
|
x: n.w / 2,
|
|
8075
8094
|
y: n.h / 2 + 5,
|
|
8076
|
-
fontSize:
|
|
8095
|
+
fontSize: \u53CE\u3081\u305F\u540D\u524D.fontSize,
|
|
8077
8096
|
fontWeight: 700,
|
|
8078
8097
|
textAnchor: "middle",
|
|
8079
8098
|
fill: "var(--cdl-text-on-tone, #ffffff)",
|
|
8080
|
-
children: \
|
|
8099
|
+
children: \u53CE\u3081\u305F\u540D\u524D.text
|
|
8081
8100
|
}
|
|
8082
8101
|
)
|
|
8083
8102
|
)
|
|
@@ -8097,7 +8116,7 @@ function TreeNode({
|
|
|
8097
8116
|
}
|
|
8098
8117
|
),
|
|
8099
8118
|
/* @__PURE__ */ jsx("rect", { x: 0, y: 0, width: 4, height: n.h, rx: 2, fill: accent }),
|
|
8100
|
-
\
|
|
8119
|
+
\u53CE\u3081\u305F\u540D\u524D === void 0 ? \u7BB1\u306E\u6587\u5B57({
|
|
8101
8120
|
\u884C,
|
|
8102
8121
|
x: n.w / 2 + 2,
|
|
8103
8122
|
\u7BB1\u306E\u9AD8\u3055: n.h,
|
|
@@ -8108,11 +8127,11 @@ function TreeNode({
|
|
|
8108
8127
|
{
|
|
8109
8128
|
x: n.w / 2 + 2,
|
|
8110
8129
|
y: n.h / 2 + 4,
|
|
8111
|
-
fontSize:
|
|
8130
|
+
fontSize: \u53CE\u3081\u305F\u540D\u524D.fontSize,
|
|
8112
8131
|
fontWeight: 600,
|
|
8113
8132
|
textAnchor: "middle",
|
|
8114
8133
|
fill: "var(--cdl-chip-text, #1a1f2a)",
|
|
8115
|
-
children: \
|
|
8134
|
+
children: \u53CE\u3081\u305F\u540D\u524D.text
|
|
8116
8135
|
}
|
|
8117
8136
|
)
|
|
8118
8137
|
] })
|
|
@@ -9998,15 +10017,15 @@ var externalLabel = (node, cx, bottomY) => /* @__PURE__ */ jsxs(Fragment, { chil
|
|
|
9998
10017
|
)
|
|
9999
10018
|
] });
|
|
10000
10019
|
var LABEL_EYEBROW_SPACING = 2;
|
|
10001
|
-
function \u5E45\u306B\u53CE\u3081\
|
|
10020
|
+
function \u5E45\u306B\u53CE\u3081\u308B2(\u6587\u5B57\u5217, \u5927\u304D\u3055, \u5B57\u9593, \u7BB1\u5E45) {
|
|
10002
10021
|
const \u5E45 = textWidth(\u6587\u5B57\u5217, \u5927\u304D\u3055, \u5B57\u9593);
|
|
10003
10022
|
const \u500D\u7387 = \u5E45 > 0 && \u7BB1\u5E45 > 0 ? Math.min(1, \u7BB1\u5E45 / \u5E45) : 1;
|
|
10004
10023
|
return { size: \u5927\u304D\u3055 * \u500D\u7387, spacing: \u5B57\u9593 * \u500D\u7387 };
|
|
10005
10024
|
}
|
|
10006
10025
|
function bottomLabel(node, cx, plan) {
|
|
10007
|
-
const \u80A9 = \u5E45\u306B\u53CE\u3081\
|
|
10008
|
-
const \u540D = \u5E45\u306B\u53CE\u3081\
|
|
10009
|
-
const \u8AAC = \u5E45\u306B\u53CE\u3081\
|
|
10026
|
+
const \u80A9 = \u5E45\u306B\u53CE\u3081\u308B2(node.eyebrow ?? "", plan.\u80A9\u66F8?.size ?? 0, LABEL_EYEBROW_SPACING, node.w);
|
|
10027
|
+
const \u540D = \u5E45\u306B\u53CE\u3081\u308B2(node.title ?? "", plan.\u540D\u524D.size, 0, node.w);
|
|
10028
|
+
const \u8AAC = \u5E45\u306B\u53CE\u3081\u308B2(node.subtitle ?? "", plan.\u8AAC\u660E?.size ?? 0, 0, node.w);
|
|
10010
10029
|
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
10011
10030
|
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: node.eyebrow }),
|
|
10012
10031
|
/* @__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: node.title }),
|
|
@@ -11323,15 +11342,15 @@ function \u5B57\u5E45(\u6587\u5B57\u5217, \u5927\u304D\u3055, \u5B57\u9593) {
|
|
|
11323
11342
|
}
|
|
11324
11343
|
return \u5E45 + \u5B57\u9593 * \u5B57\u6570;
|
|
11325
11344
|
}
|
|
11326
|
-
function \u5E45\u306B\u53CE\u3081\
|
|
11345
|
+
function \u5E45\u306B\u53CE\u3081\u308B3(\u6587\u5B57\u5217, \u5927\u304D\u3055, \u5B57\u9593, \u7BB1\u5E45) {
|
|
11327
11346
|
const \u5E45 = \u5B57\u5E45(\u6587\u5B57\u5217, \u5927\u304D\u3055, \u5B57\u9593);
|
|
11328
11347
|
const \u500D\u7387 = \u5E45 > 0 && \u7BB1\u5E45 > 0 ? Math.min(1, \u7BB1\u5E45 / \u5E45) : 1;
|
|
11329
11348
|
return { size: \u5927\u304D\u3055 * \u500D\u7387, spacing: \u5B57\u9593 * \u500D\u7387 };
|
|
11330
11349
|
}
|
|
11331
11350
|
function bottomLabel3(node, cx, plan) {
|
|
11332
|
-
const \u80A9 = \u5E45\u306B\u53CE\u3081\
|
|
11333
|
-
const \u540D = \u5E45\u306B\u53CE\u3081\
|
|
11334
|
-
const \u8AAC = \u5E45\u306B\u53CE\u3081\
|
|
11351
|
+
const \u80A9 = \u5E45\u306B\u53CE\u3081\u308B3(node.eyebrow ?? "", plan.\u80A9\u66F8?.size ?? 0, LABEL_EYEBROW_SPACING2, node.w);
|
|
11352
|
+
const \u540D = \u5E45\u306B\u53CE\u3081\u308B3(node.title ?? "", plan.\u540D\u524D.size, 0, node.w);
|
|
11353
|
+
const \u8AAC = \u5E45\u306B\u53CE\u3081\u308B3(node.subtitle ?? "", plan.\u8AAC\u660E?.size ?? 0, 0, node.w);
|
|
11335
11354
|
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
11336
11355
|
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: node.eyebrow }),
|
|
11337
11356
|
/* @__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: node.title }),
|
|
@@ -11772,15 +11791,15 @@ function \u5B57\u5E452(\u6587\u5B57\u5217, \u5927\u304D\u3055, \u5B57\u9593) {
|
|
|
11772
11791
|
}
|
|
11773
11792
|
return \u5E45 + \u5B57\u9593 * \u5B57\u6570;
|
|
11774
11793
|
}
|
|
11775
|
-
function \u5E45\u306B\u53CE\u3081\
|
|
11794
|
+
function \u5E45\u306B\u53CE\u3081\u308B4(\u6587\u5B57\u5217, \u5927\u304D\u3055, \u5B57\u9593, \u7BB1\u5E45) {
|
|
11776
11795
|
const \u5E45 = \u5B57\u5E452(\u6587\u5B57\u5217, \u5927\u304D\u3055, \u5B57\u9593);
|
|
11777
11796
|
const \u500D\u7387 = \u5E45 > 0 && \u7BB1\u5E45 > 0 ? Math.min(1, \u7BB1\u5E45 / \u5E45) : 1;
|
|
11778
11797
|
return { size: \u5927\u304D\u3055 * \u500D\u7387, spacing: \u5B57\u9593 * \u500D\u7387 };
|
|
11779
11798
|
}
|
|
11780
11799
|
function bottomLabel4(node, cx, plan) {
|
|
11781
|
-
const \u80A9 = \u5E45\u306B\u53CE\u3081\
|
|
11782
|
-
const \u540D = \u5E45\u306B\u53CE\u3081\
|
|
11783
|
-
const \u8AAC = \u5E45\u306B\u53CE\u3081\
|
|
11800
|
+
const \u80A9 = \u5E45\u306B\u53CE\u3081\u308B4(node.eyebrow ?? "", plan.\u80A9\u66F8?.size ?? 0, LABEL_EYEBROW_SPACING3, node.w);
|
|
11801
|
+
const \u540D = \u5E45\u306B\u53CE\u3081\u308B4(node.title ?? "", plan.\u540D\u524D.size, 0, node.w);
|
|
11802
|
+
const \u8AAC = \u5E45\u306B\u53CE\u3081\u308B4(node.subtitle ?? "", plan.\u8AAC\u660E?.size ?? 0, 0, node.w);
|
|
11784
11803
|
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
11785
11804
|
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: node.eyebrow }),
|
|
11786
11805
|
/* @__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: node.title }),
|