@cardenelabs/cdl 0.13.0 → 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 +22 -1
- package/dist/index.cjs +39 -29
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +39 -29
- package/dist/index.js.map +1 -1
- package/dist/react.cjs +39 -29
- package/dist/react.cjs.map +1 -1
- package/dist/react.js +39 -29
- package/dist/react.js.map +1 -1
- 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 +10 -5
- package/src/kinds/tree.tsx +12 -7
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,26 @@ CDL (Chainome Diagram Language) の主要変更履歴。
|
|
|
7
7
|
|
|
8
8
|
予定 ... feedback を反映した patch / minor。
|
|
9
9
|
|
|
10
|
+
## [0.13.1] - 2026-08-22
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
|
|
14
|
+
- **入りきらない名前を、切る前に字を小さくして収めるようにした** (#534)
|
|
15
|
+
|
|
16
|
+
`#526` で放射と木の箱に幅を見る処理を入れたが、入れたのは **切る方だけ** だった。 中心の
|
|
17
|
+
箱は幅 120 の固定で、使える幅 104 に全角 6 文字しか入らない。 全角 7 文字の名前
|
|
18
|
+
(`新プロジェクト`) が `新プロジェ…` になり、何の箱か読めなかった。
|
|
19
|
+
|
|
20
|
+
同じ描画側の `compact-title.ts` は入りきらない時に字を 1 ずつ小さくして収めている
|
|
21
|
+
(`fitTextSize`)。 放射と木の箱だけが縮めずに切っており、扱いが揃っていなかった。
|
|
22
|
+
|
|
23
|
+
幅に入るまで 1px ずつ小さくし、下限 (11px、 `compact-title.ts` の `MIN_SIZE` と同じ値) まで
|
|
24
|
+
縮めても入らない時だけ切る。 縮めるのは入るところまでで、一律に下限へは落とさない。
|
|
25
|
+
|
|
26
|
+
元の大きさで入る名前は字も文字も変わらない = 収まっていた図の見え方は動かない。
|
|
27
|
+
|
|
28
|
+
**箱の大きさは変えない**。 配置の計算が箱幅から出ているため。
|
|
29
|
+
|
|
10
30
|
## [0.13.0] - 2026-08-22
|
|
11
31
|
|
|
12
32
|
### Added
|
|
@@ -531,7 +551,8 @@ Initial OSS release.
|
|
|
531
551
|
使わない = annotated tag を push しても GitHub Release は作られず、 Release を作っていない版で
|
|
532
552
|
行き止まりになる。
|
|
533
553
|
|
|
534
|
-
[Unreleased]: https://github.com/cardene777/cdl/compare/v0.13.
|
|
554
|
+
[Unreleased]: https://github.com/cardene777/cdl/compare/v0.13.1...HEAD
|
|
555
|
+
[0.13.1]: https://github.com/cardene777/cdl/compare/v0.13.0...v0.13.1
|
|
535
556
|
[0.13.0]: https://github.com/cardene777/cdl/compare/v0.12.1...v0.13.0
|
|
536
557
|
[0.12.1]: https://github.com/cardene777/cdl/compare/v0.12.0...v0.12.1
|
|
537
558
|
[0.12.0]: https://github.com/cardene777/cdl/compare/v0.11.0...v0.12.0
|
package/dist/index.cjs
CHANGED
|
@@ -20268,10 +20268,10 @@ function fitTextSize(text, maxWidth, targetSize, minSize) {
|
|
|
20268
20268
|
}
|
|
20269
20269
|
var COMPACT_MAX_H = 100;
|
|
20270
20270
|
var COMPACT_PADDING_X = 16;
|
|
20271
|
-
var
|
|
20271
|
+
var MIN_TEXT_SIZE = 11;
|
|
20272
20272
|
var ASCENT2 = 0.72;
|
|
20273
20273
|
var DESCENT2 = 0.25;
|
|
20274
|
-
var MIN_BAND_H =
|
|
20274
|
+
var MIN_BAND_H = MIN_TEXT_SIZE * (ASCENT2 + DESCENT2);
|
|
20275
20275
|
var EYEBROW_BASELINE = 38;
|
|
20276
20276
|
var EYEBROW_SIZE = 18;
|
|
20277
20277
|
var EYEBROW_GAP = 8;
|
|
@@ -20293,10 +20293,10 @@ function titlePlacement(node, \u901A\u5E38, opts = {}) {
|
|
|
20293
20293
|
node.title,
|
|
20294
20294
|
Math.max(0, node.w - COMPACT_PADDING_X),
|
|
20295
20295
|
\u901A\u5E38.size,
|
|
20296
|
-
|
|
20296
|
+
MIN_TEXT_SIZE
|
|
20297
20297
|
);
|
|
20298
20298
|
const \u5E2F\u3067 = Math.floor(\u5E2F / (ASCENT2 + DESCENT2));
|
|
20299
|
-
const size = Math.max(
|
|
20299
|
+
const size = Math.max(MIN_TEXT_SIZE, Math.min(\u5E45\u3067, \u5E2F\u3067));
|
|
20300
20300
|
const \u5B57\u9AD8 = size * (ASCENT2 + DESCENT2);
|
|
20301
20301
|
const y = \u5B57\u9AD8 <= \u5E2F ? \u4E0A + \u5E2F / 2 + size * (ASCENT2 - DESCENT2) / 2 : \u4E0A > 0 ? \u4E0A + size * ASCENT2 : (\u9AD8\u3055 - \u5B57\u9AD8) / 2 + size * ASCENT2;
|
|
20302
20302
|
return { x: node.w / 2, y, size, anchor: "middle" };
|
|
@@ -22026,6 +22026,12 @@ function \u5E45\u3067\u5207\u308B(text, fontSize, \u4F7F\u3048\u308B\u5E452, \u6
|
|
|
22026
22026
|
}
|
|
22027
22027
|
return `${\u51FA}${\u7701\u7565}`;
|
|
22028
22028
|
}
|
|
22029
|
+
var \u7E2E\u3081\u306E\u4E0B\u9650 = MIN_TEXT_SIZE;
|
|
22030
|
+
function \u5E45\u306B\u53CE\u3081\u308B(text, fontSize, \u4F7F\u3048\u308B\u5E452, \u6E2C\u308B = textWidth) {
|
|
22031
|
+
let size = fontSize;
|
|
22032
|
+
while (size > \u7E2E\u3081\u306E\u4E0B\u9650 && \u6E2C\u308B(text, size) > \u4F7F\u3048\u308B\u5E452) size -= 1;
|
|
22033
|
+
return { text: \u5E45\u3067\u5207\u308B(text, size, \u4F7F\u3048\u308B\u5E452, \u6E2C\u308B), fontSize: size };
|
|
22034
|
+
}
|
|
22029
22035
|
function \u66F8\u8A18\u7D20\u306B\u5206\u3051\u308B(text) {
|
|
22030
22036
|
const \u533A\u5207\u308A = Intl.Segmenter;
|
|
22031
22037
|
if (typeof \u533A\u5207\u308A !== "function") return [...text];
|
|
@@ -22039,12 +22045,13 @@ function \u7BB1\u306B\u7A4D\u3080(\u884C, \u7BB1\u306E\u5E45, \u7BB1\u306E\u9AD8
|
|
|
22039
22045
|
const \u6B8B\u3059 = [...\u5019\u88DC];
|
|
22040
22046
|
while (\u6B8B\u3059.length > 1 && \u9AD8\u3055(\u6B8B\u3059) > \u4F7F\u3048\u308B\u9AD8\u3055) \u6B8B\u3059.pop();
|
|
22041
22047
|
const \u5E45 = \u4F7F\u3048\u308B\u5E45(\u7BB1\u306E\u5E45);
|
|
22042
|
-
const \
|
|
22048
|
+
const \u53CE\u3081\u305F = \u6B8B\u3059.map((r) => ({ ...r, ...\u5E45\u306B\u53CE\u3081\u308B(r.text, r.fontSize, \u5E45) }));
|
|
22049
|
+
const \u7DCF\u9AD8 = \u9AD8\u3055(\u53CE\u3081\u305F);
|
|
22043
22050
|
let \u7A4D\u307F = -\u7DCF\u9AD8 / 2;
|
|
22044
|
-
return \
|
|
22051
|
+
return \u53CE\u3081\u305F.map((r) => {
|
|
22045
22052
|
const dy = \u7A4D\u307F + (\u884C\u9001\u308A\u306E\u6BD4 + \u5B57\u306E\u9AD8\u3055\u306E\u6BD4) / 2 * r.fontSize;
|
|
22046
22053
|
\u7A4D\u307F += r.fontSize * \u884C\u9001\u308A\u306E\u6BD4;
|
|
22047
|
-
return { ...r,
|
|
22054
|
+
return { ...r, dy };
|
|
22048
22055
|
});
|
|
22049
22056
|
}
|
|
22050
22057
|
var MIND_TONES = ["accent", "teal", "success", "warning", "info", "error"];
|
|
@@ -22112,6 +22119,7 @@ function MindMapNode({
|
|
|
22112
22119
|
n.h
|
|
22113
22120
|
);
|
|
22114
22121
|
const \u88DC\u8DB3\u3042\u308A = (n.subtitle ?? "").trim() !== "";
|
|
22122
|
+
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));
|
|
22115
22123
|
const \u6587\u5B57\u306E\u8272 = n.isRoot ? "var(--cdl-text-on-tone, #ffffff)" : "var(--cdl-chip-text, #1a1f2a)";
|
|
22116
22124
|
return /* @__PURE__ */ jsxRuntime.jsxs("g", { "data-cdl-unresolved": n.unresolved ? "true" : void 0, children: [
|
|
22117
22125
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -22127,7 +22135,7 @@ function MindMapNode({
|
|
|
22127
22135
|
strokeWidth: n.isRoot ? 2 : 1.75
|
|
22128
22136
|
}
|
|
22129
22137
|
),
|
|
22130
|
-
\
|
|
22138
|
+
\u53CE\u3081\u305F\u540D\u524D === void 0 ? \u884C.map((r) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
22131
22139
|
"text",
|
|
22132
22140
|
{
|
|
22133
22141
|
"data-cdl-role": r.\u5F79\u5272 === "subtitle" ? "mind-node-subtitle" : void 0,
|
|
@@ -22144,17 +22152,18 @@ function MindMapNode({
|
|
|
22144
22152
|
)) : (
|
|
22145
22153
|
// 補足が無くても **幅に収める** (#526)。 `箱に積む` を通らないこの経路だけが
|
|
22146
22154
|
// 幅を見ておらず、長い名前がそのまま箱の外へ出て枝の線と重なっていた
|
|
22147
|
-
// (実測 = 中心の箱で文字 163px に対し箱 120px)
|
|
22155
|
+
// (実測 = 中心の箱で文字 163px に対し箱 120px)。
|
|
22156
|
+
// 収める手段は縮めるのが先で、切るのは下限まで縮めても入らない時だけ (#534)
|
|
22148
22157
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
22149
22158
|
"text",
|
|
22150
22159
|
{
|
|
22151
22160
|
x: n.x,
|
|
22152
22161
|
y: n.y + 5,
|
|
22153
|
-
fontSize:
|
|
22162
|
+
fontSize: \u53CE\u3081\u305F\u540D\u524D.fontSize,
|
|
22154
22163
|
fontWeight: n.isRoot ? 700 : 600,
|
|
22155
22164
|
textAnchor: "middle",
|
|
22156
22165
|
fill: \u6587\u5B57\u306E\u8272,
|
|
22157
|
-
children: \
|
|
22166
|
+
children: \u53CE\u3081\u305F\u540D\u524D.text
|
|
22158
22167
|
}
|
|
22159
22168
|
)
|
|
22160
22169
|
)
|
|
@@ -22750,6 +22759,7 @@ function TreeNode({
|
|
|
22750
22759
|
n.h
|
|
22751
22760
|
);
|
|
22752
22761
|
const \u88DC\u8DB3\u3042\u308A = (n.subtitle ?? "").trim() !== "";
|
|
22762
|
+
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));
|
|
22753
22763
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
22754
22764
|
"g",
|
|
22755
22765
|
{
|
|
@@ -22768,7 +22778,7 @@ function TreeNode({
|
|
|
22768
22778
|
fill: `url(#${gradientId})`
|
|
22769
22779
|
}
|
|
22770
22780
|
),
|
|
22771
|
-
\
|
|
22781
|
+
\u53CE\u3081\u305F\u540D\u524D === void 0 ? \u7BB1\u306E\u6587\u5B57({
|
|
22772
22782
|
\u884C,
|
|
22773
22783
|
x: n.w / 2,
|
|
22774
22784
|
\u7BB1\u306E\u9AD8\u3055: n.h,
|
|
@@ -22782,11 +22792,11 @@ function TreeNode({
|
|
|
22782
22792
|
{
|
|
22783
22793
|
x: n.w / 2,
|
|
22784
22794
|
y: n.h / 2 + 5,
|
|
22785
|
-
fontSize:
|
|
22795
|
+
fontSize: \u53CE\u3081\u305F\u540D\u524D.fontSize,
|
|
22786
22796
|
fontWeight: 700,
|
|
22787
22797
|
textAnchor: "middle",
|
|
22788
22798
|
fill: "var(--cdl-text-on-tone, #ffffff)",
|
|
22789
|
-
children: \
|
|
22799
|
+
children: \u53CE\u3081\u305F\u540D\u524D.text
|
|
22790
22800
|
}
|
|
22791
22801
|
)
|
|
22792
22802
|
)
|
|
@@ -22806,7 +22816,7 @@ function TreeNode({
|
|
|
22806
22816
|
}
|
|
22807
22817
|
),
|
|
22808
22818
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: 0, y: 0, width: 4, height: n.h, rx: 2, fill: accent }),
|
|
22809
|
-
\
|
|
22819
|
+
\u53CE\u3081\u305F\u540D\u524D === void 0 ? \u7BB1\u306E\u6587\u5B57({
|
|
22810
22820
|
\u884C,
|
|
22811
22821
|
x: n.w / 2 + 2,
|
|
22812
22822
|
\u7BB1\u306E\u9AD8\u3055: n.h,
|
|
@@ -22817,11 +22827,11 @@ function TreeNode({
|
|
|
22817
22827
|
{
|
|
22818
22828
|
x: n.w / 2 + 2,
|
|
22819
22829
|
y: n.h / 2 + 4,
|
|
22820
|
-
fontSize:
|
|
22830
|
+
fontSize: \u53CE\u3081\u305F\u540D\u524D.fontSize,
|
|
22821
22831
|
fontWeight: 600,
|
|
22822
22832
|
textAnchor: "middle",
|
|
22823
22833
|
fill: "var(--cdl-chip-text, #1a1f2a)",
|
|
22824
|
-
children: \
|
|
22834
|
+
children: \u53CE\u3081\u305F\u540D\u524D.text
|
|
22825
22835
|
}
|
|
22826
22836
|
)
|
|
22827
22837
|
] })
|
|
@@ -24526,15 +24536,15 @@ var externalLabel = (node, cx, bottomY) => /* @__PURE__ */ jsxRuntime.jsxs(jsxRu
|
|
|
24526
24536
|
)
|
|
24527
24537
|
] });
|
|
24528
24538
|
var LABEL_EYEBROW_SPACING = 2;
|
|
24529
|
-
function \u5E45\u306B\u53CE\u3081\
|
|
24539
|
+
function \u5E45\u306B\u53CE\u3081\u308B2(\u6587\u5B57\u5217, \u5927\u304D\u3055, \u5B57\u9593, \u7BB1\u5E45) {
|
|
24530
24540
|
const \u5E45 = textWidth(\u6587\u5B57\u5217, \u5927\u304D\u3055, \u5B57\u9593);
|
|
24531
24541
|
const \u500D\u7387 = \u5E45 > 0 && \u7BB1\u5E45 > 0 ? Math.min(1, \u7BB1\u5E45 / \u5E45) : 1;
|
|
24532
24542
|
return { size: \u5927\u304D\u3055 * \u500D\u7387, spacing: \u5B57\u9593 * \u500D\u7387 };
|
|
24533
24543
|
}
|
|
24534
24544
|
function bottomLabel(node, cx, plan) {
|
|
24535
|
-
const \u80A9 = \u5E45\u306B\u53CE\u3081\
|
|
24536
|
-
const \u540D = \u5E45\u306B\u53CE\u3081\
|
|
24537
|
-
const \u8AAC = \u5E45\u306B\u53CE\u3081\
|
|
24545
|
+
const \u80A9 = \u5E45\u306B\u53CE\u3081\u308B2(node.eyebrow ?? "", plan.\u80A9\u66F8?.size ?? 0, LABEL_EYEBROW_SPACING, node.w);
|
|
24546
|
+
const \u540D = \u5E45\u306B\u53CE\u3081\u308B2(node.title ?? "", plan.\u540D\u524D.size, 0, node.w);
|
|
24547
|
+
const \u8AAC = \u5E45\u306B\u53CE\u3081\u308B2(node.subtitle ?? "", plan.\u8AAC\u660E?.size ?? 0, 0, node.w);
|
|
24538
24548
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
24539
24549
|
node.eyebrow && plan.\u80A9\u66F8 && /* @__PURE__ */ jsxRuntime.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 }),
|
|
24540
24550
|
/* @__PURE__ */ jsxRuntime.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 }),
|
|
@@ -25851,15 +25861,15 @@ function \u5B57\u5E45(\u6587\u5B57\u5217, \u5927\u304D\u3055, \u5B57\u9593) {
|
|
|
25851
25861
|
}
|
|
25852
25862
|
return \u5E45 + \u5B57\u9593 * \u5B57\u6570;
|
|
25853
25863
|
}
|
|
25854
|
-
function \u5E45\u306B\u53CE\u3081\
|
|
25864
|
+
function \u5E45\u306B\u53CE\u3081\u308B3(\u6587\u5B57\u5217, \u5927\u304D\u3055, \u5B57\u9593, \u7BB1\u5E45) {
|
|
25855
25865
|
const \u5E45 = \u5B57\u5E45(\u6587\u5B57\u5217, \u5927\u304D\u3055, \u5B57\u9593);
|
|
25856
25866
|
const \u500D\u7387 = \u5E45 > 0 && \u7BB1\u5E45 > 0 ? Math.min(1, \u7BB1\u5E45 / \u5E45) : 1;
|
|
25857
25867
|
return { size: \u5927\u304D\u3055 * \u500D\u7387, spacing: \u5B57\u9593 * \u500D\u7387 };
|
|
25858
25868
|
}
|
|
25859
25869
|
function bottomLabel3(node, cx, plan) {
|
|
25860
|
-
const \u80A9 = \u5E45\u306B\u53CE\u3081\
|
|
25861
|
-
const \u540D = \u5E45\u306B\u53CE\u3081\
|
|
25862
|
-
const \u8AAC = \u5E45\u306B\u53CE\u3081\
|
|
25870
|
+
const \u80A9 = \u5E45\u306B\u53CE\u3081\u308B3(node.eyebrow ?? "", plan.\u80A9\u66F8?.size ?? 0, LABEL_EYEBROW_SPACING2, node.w);
|
|
25871
|
+
const \u540D = \u5E45\u306B\u53CE\u3081\u308B3(node.title ?? "", plan.\u540D\u524D.size, 0, node.w);
|
|
25872
|
+
const \u8AAC = \u5E45\u306B\u53CE\u3081\u308B3(node.subtitle ?? "", plan.\u8AAC\u660E?.size ?? 0, 0, node.w);
|
|
25863
25873
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
25864
25874
|
node.eyebrow && plan.\u80A9\u66F8 && /* @__PURE__ */ jsxRuntime.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 }),
|
|
25865
25875
|
/* @__PURE__ */ jsxRuntime.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 }),
|
|
@@ -26300,15 +26310,15 @@ function \u5B57\u5E452(\u6587\u5B57\u5217, \u5927\u304D\u3055, \u5B57\u9593) {
|
|
|
26300
26310
|
}
|
|
26301
26311
|
return \u5E45 + \u5B57\u9593 * \u5B57\u6570;
|
|
26302
26312
|
}
|
|
26303
|
-
function \u5E45\u306B\u53CE\u3081\
|
|
26313
|
+
function \u5E45\u306B\u53CE\u3081\u308B4(\u6587\u5B57\u5217, \u5927\u304D\u3055, \u5B57\u9593, \u7BB1\u5E45) {
|
|
26304
26314
|
const \u5E45 = \u5B57\u5E452(\u6587\u5B57\u5217, \u5927\u304D\u3055, \u5B57\u9593);
|
|
26305
26315
|
const \u500D\u7387 = \u5E45 > 0 && \u7BB1\u5E45 > 0 ? Math.min(1, \u7BB1\u5E45 / \u5E45) : 1;
|
|
26306
26316
|
return { size: \u5927\u304D\u3055 * \u500D\u7387, spacing: \u5B57\u9593 * \u500D\u7387 };
|
|
26307
26317
|
}
|
|
26308
26318
|
function bottomLabel4(node, cx, plan) {
|
|
26309
|
-
const \u80A9 = \u5E45\u306B\u53CE\u3081\
|
|
26310
|
-
const \u540D = \u5E45\u306B\u53CE\u3081\
|
|
26311
|
-
const \u8AAC = \u5E45\u306B\u53CE\u3081\
|
|
26319
|
+
const \u80A9 = \u5E45\u306B\u53CE\u3081\u308B4(node.eyebrow ?? "", plan.\u80A9\u66F8?.size ?? 0, LABEL_EYEBROW_SPACING3, node.w);
|
|
26320
|
+
const \u540D = \u5E45\u306B\u53CE\u3081\u308B4(node.title ?? "", plan.\u540D\u524D.size, 0, node.w);
|
|
26321
|
+
const \u8AAC = \u5E45\u306B\u53CE\u3081\u308B4(node.subtitle ?? "", plan.\u8AAC\u660E?.size ?? 0, 0, node.w);
|
|
26312
26322
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
26313
26323
|
node.eyebrow && plan.\u80A9\u66F8 && /* @__PURE__ */ jsxRuntime.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 }),
|
|
26314
26324
|
/* @__PURE__ */ jsxRuntime.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 }),
|