@cardenelabs/cdl 0.107.0 → 0.108.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 +34 -1
- package/dist/index.cjs +62 -32
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +62 -32
- package/dist/index.js.map +1 -1
- package/dist/react.cjs +177 -147
- package/dist/react.cjs.map +1 -1
- package/dist/react.js +177 -147
- 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/dist/react.js
CHANGED
|
@@ -3192,6 +3192,111 @@ function requiredRowsWidth(rows, kind) {
|
|
|
3192
3192
|
if (kind === void 0) return Math.ceil(Math.max(storage, generic));
|
|
3193
3193
|
return Math.ceil(kind === "storage" ? storage : generic);
|
|
3194
3194
|
}
|
|
3195
|
+
|
|
3196
|
+
// src/kinds/compact-title.ts
|
|
3197
|
+
function estimateTextWidth(text, fontSize) {
|
|
3198
|
+
let w = 0;
|
|
3199
|
+
for (const ch of text) {
|
|
3200
|
+
const isFullWidth = /[\u3000-\u9FFF\uFF00-\uFFEF]/.test(ch);
|
|
3201
|
+
w += fontSize * (isFullWidth ? 1.05 : 0.62);
|
|
3202
|
+
}
|
|
3203
|
+
return w;
|
|
3204
|
+
}
|
|
3205
|
+
function fitTextSize(text, maxWidth, targetSize, minSize) {
|
|
3206
|
+
let size = targetSize;
|
|
3207
|
+
while (size > minSize && estimateTextWidth(text, size) > maxWidth) {
|
|
3208
|
+
size -= 1;
|
|
3209
|
+
}
|
|
3210
|
+
return size;
|
|
3211
|
+
}
|
|
3212
|
+
var COMPACT_MAX_H = 100;
|
|
3213
|
+
var COMPACT_PADDING_X = 16;
|
|
3214
|
+
var MIN_TEXT_SIZE = 11;
|
|
3215
|
+
var ASCENT = 0.72;
|
|
3216
|
+
var DESCENT = 0.25;
|
|
3217
|
+
var MIN_BAND_H = MIN_TEXT_SIZE * (ASCENT + DESCENT);
|
|
3218
|
+
var EYEBROW_BASELINE = 38;
|
|
3219
|
+
var EYEBROW_SIZE = 18;
|
|
3220
|
+
var EYEBROW_GAP = 8;
|
|
3221
|
+
var BOTTOM_INSET = 4;
|
|
3222
|
+
var eyebrowBottom = () => EYEBROW_BASELINE + EYEBROW_SIZE * DESCENT;
|
|
3223
|
+
var titleBandTop = (hasEyebrow) => eyebrowBottom() + EYEBROW_GAP ;
|
|
3224
|
+
var isCompactBox = (h) => h < COMPACT_MAX_H;
|
|
3225
|
+
function titlePlacement(node, \u901A\u5E38, opts = {}) {
|
|
3226
|
+
if (!isCompactBox(node.h)) {
|
|
3227
|
+
return { x: \u901A\u5E38.x, y: \u901A\u5E38.y, size: \u901A\u5E38.size, anchor: "start" };
|
|
3228
|
+
}
|
|
3229
|
+
const \u9AD8\u3055 = Math.max(0, node.h);
|
|
3230
|
+
const \u76EE\u5370\u3042\u308A = opts.hasEyebrow === true;
|
|
3231
|
+
const \u4E0A = \u76EE\u5370\u3042\u308A && \u9AD8\u3055 >= eyebrowBottom() ? titleBandTop() : 0;
|
|
3232
|
+
const \u751F\u306E\u5E2F = Math.max(0, \u9AD8\u3055 - \u4E0A);
|
|
3233
|
+
const \u4E0B\u4F59\u767D = \u751F\u306E\u5E2F >= MIN_BAND_H + BOTTOM_INSET ? BOTTOM_INSET : 0;
|
|
3234
|
+
const \u5E2F = \u751F\u306E\u5E2F - \u4E0B\u4F59\u767D;
|
|
3235
|
+
const \u5E45\u3067 = fitTextSize(
|
|
3236
|
+
node.title,
|
|
3237
|
+
Math.max(0, node.w - COMPACT_PADDING_X),
|
|
3238
|
+
\u901A\u5E38.size,
|
|
3239
|
+
MIN_TEXT_SIZE
|
|
3240
|
+
);
|
|
3241
|
+
const \u5E2F\u3067 = Math.floor(\u5E2F / (ASCENT + DESCENT));
|
|
3242
|
+
const size = Math.max(MIN_TEXT_SIZE, Math.min(\u5E45\u3067, \u5E2F\u3067));
|
|
3243
|
+
const \u5B57\u9AD8 = size * (ASCENT + DESCENT);
|
|
3244
|
+
const y = \u5B57\u9AD8 <= \u5E2F ? \u4E0A + \u5E2F / 2 + size * (ASCENT - DESCENT) / 2 : \u4E0A > 0 ? \u4E0A + size * ASCENT : (\u9AD8\u3055 - \u5B57\u9AD8) / 2 + size * ASCENT;
|
|
3245
|
+
return { x: node.w / 2, y, size, anchor: "middle" };
|
|
3246
|
+
}
|
|
3247
|
+
|
|
3248
|
+
// src/kinds/box-lines.ts
|
|
3249
|
+
var \u884C\u9001\u308A\u306E\u6BD4 = 1.15;
|
|
3250
|
+
var \u5B57\u306E\u9AD8\u3055\u306E\u6BD4 = 0.72;
|
|
3251
|
+
var \u4E0A\u4E0B\u306E\u4F59\u767D = 2;
|
|
3252
|
+
var \u5DE6\u53F3\u306E\u4F59\u767D = 8;
|
|
3253
|
+
function \u4F7F\u3048\u308B\u5E45(\u7BB1\u306E\u5E45) {
|
|
3254
|
+
return \u7BB1\u306E\u5E45 - \u5DE6\u53F3\u306E\u4F59\u767D * 2;
|
|
3255
|
+
}
|
|
3256
|
+
function \u5E45\u3067\u5207\u308B(text, fontSize, \u4F7F\u3048\u308B\u5E452, \u6E2C\u308B = textWidth) {
|
|
3257
|
+
if (\u4F7F\u3048\u308B\u5E452 <= 0) return "";
|
|
3258
|
+
if (\u6E2C\u308B(text, fontSize) <= \u4F7F\u3048\u308B\u5E452) return text;
|
|
3259
|
+
const \u7701\u7565 = "\u2026";
|
|
3260
|
+
const \u7701\u7565\u306E\u5E45 = \u6E2C\u308B(\u7701\u7565, fontSize);
|
|
3261
|
+
if (\u7701\u7565\u306E\u5E45 > \u4F7F\u3048\u308B\u5E452) return "";
|
|
3262
|
+
let \u51FA = "";
|
|
3263
|
+
let \u5E45 = 0;
|
|
3264
|
+
for (const c of \u66F8\u8A18\u7D20\u306B\u5206\u3051\u308B(text)) {
|
|
3265
|
+
const \u5B57\u306E\u5E452 = \u6E2C\u308B(c, fontSize);
|
|
3266
|
+
if (\u5E45 + \u5B57\u306E\u5E452 + \u7701\u7565\u306E\u5E45 > \u4F7F\u3048\u308B\u5E452) break;
|
|
3267
|
+
\u5E45 += \u5B57\u306E\u5E452;
|
|
3268
|
+
\u51FA += c;
|
|
3269
|
+
}
|
|
3270
|
+
return `${\u51FA}${\u7701\u7565}`;
|
|
3271
|
+
}
|
|
3272
|
+
var \u7E2E\u3081\u306E\u4E0B\u9650 = MIN_TEXT_SIZE;
|
|
3273
|
+
function \u5E45\u306B\u53CE\u3081\u308B(text, fontSize, \u4F7F\u3048\u308B\u5E452, \u6E2C\u308B = textWidth) {
|
|
3274
|
+
let size = fontSize;
|
|
3275
|
+
while (size > \u7E2E\u3081\u306E\u4E0B\u9650 && \u6E2C\u308B(text, size) > \u4F7F\u3048\u308B\u5E452) size -= 1;
|
|
3276
|
+
return { text: \u5E45\u3067\u5207\u308B(text, size, \u4F7F\u3048\u308B\u5E452, \u6E2C\u308B), fontSize: size };
|
|
3277
|
+
}
|
|
3278
|
+
function \u66F8\u8A18\u7D20\u306B\u5206\u3051\u308B(text) {
|
|
3279
|
+
const \u533A\u5207\u308A = Intl.Segmenter;
|
|
3280
|
+
if (typeof \u533A\u5207\u308A !== "function") return [...text];
|
|
3281
|
+
return [...new \u533A\u5207\u308A(void 0, { granularity: "grapheme" }).segment(text)].map((g) => g.segment);
|
|
3282
|
+
}
|
|
3283
|
+
function \u7BB1\u306B\u7A4D\u3080(\u884C, \u7BB1\u306E\u5E45, \u7BB1\u306E\u9AD8\u30553) {
|
|
3284
|
+
const \u5019\u88DC = \u884C.filter((r, i) => i === 0 || r.text.trim() !== "");
|
|
3285
|
+
if (\u5019\u88DC.length === 0) return [];
|
|
3286
|
+
const \u4F7F\u3048\u308B\u9AD8\u3055 = \u7BB1\u306E\u9AD8\u30553 - \u4E0A\u4E0B\u306E\u4F59\u767D * 2;
|
|
3287
|
+
const \u9AD8\u3055 = (rs) => rs.reduce((a, r) => a + r.fontSize * \u884C\u9001\u308A\u306E\u6BD4, 0);
|
|
3288
|
+
const \u6B8B\u3059 = [...\u5019\u88DC];
|
|
3289
|
+
while (\u6B8B\u3059.length > 1 && \u9AD8\u3055(\u6B8B\u3059) > \u4F7F\u3048\u308B\u9AD8\u3055) \u6B8B\u3059.pop();
|
|
3290
|
+
const \u5E45 = \u4F7F\u3048\u308B\u5E45(\u7BB1\u306E\u5E45);
|
|
3291
|
+
const \u53CE\u3081\u305F = \u6B8B\u3059.map((r) => ({ ...r, ...\u5E45\u306B\u53CE\u3081\u308B(r.text, r.fontSize, \u5E45) }));
|
|
3292
|
+
const \u7DCF\u9AD8 = \u9AD8\u3055(\u53CE\u3081\u305F);
|
|
3293
|
+
let \u7A4D\u307F = -\u7DCF\u9AD8 / 2;
|
|
3294
|
+
return \u53CE\u3081\u305F.map((r) => {
|
|
3295
|
+
const dy = \u7A4D\u307F + (\u884C\u9001\u308A\u306E\u6BD4 + \u5B57\u306E\u9AD8\u3055\u306E\u6BD4) / 2 * r.fontSize;
|
|
3296
|
+
\u7A4D\u307F += r.fontSize * \u884C\u9001\u308A\u306E\u6BD4;
|
|
3297
|
+
return { ...r, dy };
|
|
3298
|
+
});
|
|
3299
|
+
}
|
|
3195
3300
|
function \u66F8\u3044\u305F\u5024\u304B\u63A7\u3048(\u66F8\u3044\u305F, \u63A7\u3048) {
|
|
3196
3301
|
const v = (\u66F8\u3044\u305F ?? "").trim();
|
|
3197
3302
|
return v === "" ? \u63A7\u3048 : v;
|
|
@@ -3201,14 +3306,22 @@ function \u5E45\u306E\u500D\u7387(text, size, letterSpacing, \u5E45) {
|
|
|
3201
3306
|
const \u5B9F\u5E45 = textWidth(text, size, letterSpacing);
|
|
3202
3307
|
return \u5B9F\u5E45 > \u5E45 ? \u5E45 / \u5B9F\u5E45 : 1;
|
|
3203
3308
|
}
|
|
3309
|
+
function \u8AAD\u3081\u308B\u4E0B\u9650\u306E\u500D\u7387(\u5927\u304D\u3055) {
|
|
3310
|
+
return \u5927\u304D\u3055 > MIN_TITLE_FONT_SIZE ? MIN_TITLE_FONT_SIZE / \u5927\u304D\u3055 : 0;
|
|
3311
|
+
}
|
|
3312
|
+
function \u5207\u3063\u3066\u53CE\u307E\u308B\u4E0B\u9650(\u984C, \u5927\u304D\u3055, \u5B57\u9593, \u5E45\u4E0A\u9650, \u6E2C\u308B) {
|
|
3313
|
+
const \u4E0B\u9650 = \u8AAD\u3081\u308B\u4E0B\u9650\u306E\u500D\u7387(\u5927\u304D\u3055);
|
|
3314
|
+
if (!(\u4E0B\u9650 > 0) || !(\u5E45\u4E0A\u9650 > 0)) return 0;
|
|
3315
|
+
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;
|
|
3316
|
+
}
|
|
3204
3317
|
var TITLE_MAX = 18;
|
|
3205
3318
|
var TITLE_MIN = 9;
|
|
3206
3319
|
var TITLE_RATIO = 0.17;
|
|
3207
3320
|
var SUB_RATIO = 0.72;
|
|
3208
3321
|
var LINE_GAP = 3;
|
|
3209
3322
|
var BOTTOM_PAD = 4;
|
|
3210
|
-
var
|
|
3211
|
-
var
|
|
3323
|
+
var ASCENT2 = 0.72;
|
|
3324
|
+
var DESCENT2 = 0.25;
|
|
3212
3325
|
var ART_GAP = 4;
|
|
3213
3326
|
var ART_MIN_BAND = 45;
|
|
3214
3327
|
var \u843D\u3068\u3057\u3066\u3082\u63CF\u304F\u7A2E\u5225 = {
|
|
@@ -3273,9 +3386,9 @@ function labelPlan(node) {
|
|
|
3273
3386
|
y -= \u540D\u524D\u5927 + LINE_GAP;
|
|
3274
3387
|
const \u80A9\u66F8 = \u80A9\u66F8\u3042\u308A2 ? { y, size: \u5C0F\u3055\u3044\u5B57 } : null;
|
|
3275
3388
|
const \u4E0A\u306E\u884C = \u80A9\u66F8 ?? \u540D\u524D;
|
|
3276
|
-
return { \u540D\u524D, \u8AAC\u660E, \u80A9\u66F8, \u4E0A\u7AEF: \u4E0A\u306E\u884C.y - \u4E0A\u306E\u884C.size *
|
|
3389
|
+
return { \u540D\u524D, \u8AAC\u660E, \u80A9\u66F8, \u4E0A\u7AEF: \u4E0A\u306E\u884C.y - \u4E0A\u306E\u884C.size * ASCENT2 };
|
|
3277
3390
|
};
|
|
3278
|
-
const \u5165\u308B = (\u8AAC\u660E\u3042\u308A2, \u80A9\u66F8\u3042\u308A2) => \u7A4D\u3080(1, \u8AAC\u660E\u3042\u308A2, \u80A9\u66F8\u3042\u308A2, 1 *
|
|
3391
|
+
const \u5165\u308B = (\u8AAC\u660E\u3042\u308A2, \u80A9\u66F8\u3042\u308A2) => \u7A4D\u3080(1, \u8AAC\u660E\u3042\u308A2, \u80A9\u66F8\u3042\u308A2, 1 * DESCENT2).\u4E0A\u7AEF >= \u5929;
|
|
3279
3392
|
let \u8AAC\u660E\u3042\u308A = Boolean(node.subtitle);
|
|
3280
3393
|
let \u80A9\u66F8\u3042\u308A = Boolean(node.eyebrow);
|
|
3281
3394
|
const \u843D\u3068\u3057\u305F = [];
|
|
@@ -3293,14 +3406,14 @@ function labelPlan(node) {
|
|
|
3293
3406
|
for (let size = \u4E0A\u9650; size >= 1; size--) {
|
|
3294
3407
|
const \u5C0F\u3055\u3044\u5B572 = Math.max(1, Math.round(size * SUB_RATIO));
|
|
3295
3408
|
const \u4E0B\u306E\u884C\u5927 = \u8AAC\u660E\u3042\u308A2 ? \u5C0F\u3055\u3044\u5B572 : size;
|
|
3296
|
-
if (\u7A4D\u3080(size, \u8AAC\u660E\u3042\u308A2, \u80A9\u66F8\u3042\u308A2, \u4E0B\u306E\u884C\u5927 *
|
|
3409
|
+
if (\u7A4D\u3080(size, \u8AAC\u660E\u3042\u308A2, \u80A9\u66F8\u3042\u308A2, \u4E0B\u306E\u884C\u5927 * DESCENT2).\u4E0A\u7AEF >= \u5929) {
|
|
3297
3410
|
\u540D\u524D\u5927 = size;
|
|
3298
3411
|
break;
|
|
3299
3412
|
}
|
|
3300
3413
|
}
|
|
3301
|
-
if (\u540D\u524D\u5927 === 0) \u540D\u524D\u5927 = \u9AD8\u3055 / (
|
|
3414
|
+
if (\u540D\u524D\u5927 === 0) \u540D\u524D\u5927 = \u9AD8\u3055 / (ASCENT2 + DESCENT2);
|
|
3302
3415
|
const \u5C0F\u3055\u3044\u5B57 = Math.max(1, Math.round(\u540D\u524D\u5927 * SUB_RATIO));
|
|
3303
|
-
const \u5F35\u308A\u51FA\u3057 = (\u8AAC\u660E\u3042\u308A2 ? \u5C0F\u3055\u3044\u5B57 : \u540D\u524D\u5927) *
|
|
3416
|
+
const \u5F35\u308A\u51FA\u3057 = (\u8AAC\u660E\u3042\u308A2 ? \u5C0F\u3055\u3044\u5B57 : \u540D\u524D\u5927) * DESCENT2;
|
|
3304
3417
|
const \u4F59\u308A = Math.max(0, \u7A4D\u3080(\u540D\u524D\u5927, \u8AAC\u660E\u3042\u308A2, \u80A9\u66F8\u3042\u308A2, \u5F35\u308A\u51FA\u3057).\u4E0A\u7AEF - \u5929);
|
|
3305
3418
|
const \u4E0B\u4F59\u767D = Math.min(Math.max(BOTTOM_PAD, \u5F35\u308A\u51FA\u3057), \u5F35\u308A\u51FA\u3057 + \u4F59\u308A);
|
|
3306
3419
|
return \u7A4D\u3080(\u540D\u524D\u5927, \u8AAC\u660E\u3042\u308A2, \u80A9\u66F8\u3042\u308A2, \u4E0B\u4F59\u767D);
|
|
@@ -3360,16 +3473,19 @@ function bodyBand(node, opt) {
|
|
|
3360
3473
|
const h = Math.max(0, \u7BB1h - \u7E26\u4F59\u767D * ky);
|
|
3361
3474
|
return { x, y, w, h, cx: x + w / 2, cy: y + h / 2, \u53F3: x + w, \u5E95: y + h };
|
|
3362
3475
|
}
|
|
3363
|
-
function fitLabel(band, block, pos) {
|
|
3476
|
+
function fitLabel(band, block, pos, \u6A2A\u306E\u4E0B\u9650 = 0) {
|
|
3364
3477
|
const \u7E26 = block.\u4E0A + block.\u4E0B;
|
|
3365
3478
|
const \u6A2A = Math.max(0, block.\u5E45);
|
|
3366
3479
|
if (!(\u7E26 > 0)) return { k: 1, x: pos.x, y: pos.y };
|
|
3367
3480
|
if (!(band.h > 0) || !(band.w > 0)) return { k: 0, x: band.x + band.w / 2, y: band.y };
|
|
3368
|
-
const
|
|
3481
|
+
const \u6A2A\u3067 = \u6A2A > 0 ? Math.max(band.w / \u6A2A, \u6A2A\u306E\u4E0B\u9650) : 1;
|
|
3482
|
+
const k = Math.min(1, band.h / \u7E26, \u6A2A\u3067);
|
|
3369
3483
|
const \u534A = \u6A2A * k / 2;
|
|
3370
3484
|
return {
|
|
3371
3485
|
k,
|
|
3372
|
-
|
|
3486
|
+
// 下限で止めた塊は帯より広い。 その時は帯の中央に置いて左右へ均等に出す =
|
|
3487
|
+
// 寄せの式をそのまま当てると片側だけに出る (`compact-title.ts` と同じ判断)
|
|
3488
|
+
x: \u534A * 2 > band.w ? band.x + band.w / 2 : Math.max(band.x + \u534A, Math.min(pos.x, band.x + band.w - \u534A)),
|
|
3373
3489
|
y: Math.max(band.y + block.\u4E0A * k, Math.min(pos.y, band.y + band.h - block.\u4E0B * k))
|
|
3374
3490
|
};
|
|
3375
3491
|
}
|
|
@@ -3422,111 +3538,6 @@ function \u6253\u3061\u6D88\u3057\u306E\u500D\u7387(\u500D\u7387, \u5B57\u3089)
|
|
|
3422
3538
|
return Math.max(1, Math.min(\u623B\u3057, \u4E0A\u9650));
|
|
3423
3539
|
}
|
|
3424
3540
|
|
|
3425
|
-
// src/kinds/compact-title.ts
|
|
3426
|
-
function estimateTextWidth(text, fontSize) {
|
|
3427
|
-
let w = 0;
|
|
3428
|
-
for (const ch of text) {
|
|
3429
|
-
const isFullWidth = /[\u3000-\u9FFF\uFF00-\uFFEF]/.test(ch);
|
|
3430
|
-
w += fontSize * (isFullWidth ? 1.05 : 0.62);
|
|
3431
|
-
}
|
|
3432
|
-
return w;
|
|
3433
|
-
}
|
|
3434
|
-
function fitTextSize(text, maxWidth, targetSize, minSize) {
|
|
3435
|
-
let size = targetSize;
|
|
3436
|
-
while (size > minSize && estimateTextWidth(text, size) > maxWidth) {
|
|
3437
|
-
size -= 1;
|
|
3438
|
-
}
|
|
3439
|
-
return size;
|
|
3440
|
-
}
|
|
3441
|
-
var COMPACT_MAX_H = 100;
|
|
3442
|
-
var COMPACT_PADDING_X = 16;
|
|
3443
|
-
var MIN_TEXT_SIZE = 11;
|
|
3444
|
-
var ASCENT2 = 0.72;
|
|
3445
|
-
var DESCENT2 = 0.25;
|
|
3446
|
-
var MIN_BAND_H = MIN_TEXT_SIZE * (ASCENT2 + DESCENT2);
|
|
3447
|
-
var EYEBROW_BASELINE = 38;
|
|
3448
|
-
var EYEBROW_SIZE = 18;
|
|
3449
|
-
var EYEBROW_GAP = 8;
|
|
3450
|
-
var BOTTOM_INSET = 4;
|
|
3451
|
-
var eyebrowBottom = () => EYEBROW_BASELINE + EYEBROW_SIZE * DESCENT2;
|
|
3452
|
-
var titleBandTop = (hasEyebrow) => eyebrowBottom() + EYEBROW_GAP ;
|
|
3453
|
-
var isCompactBox = (h) => h < COMPACT_MAX_H;
|
|
3454
|
-
function titlePlacement(node, \u901A\u5E38, opts = {}) {
|
|
3455
|
-
if (!isCompactBox(node.h)) {
|
|
3456
|
-
return { x: \u901A\u5E38.x, y: \u901A\u5E38.y, size: \u901A\u5E38.size, anchor: "start" };
|
|
3457
|
-
}
|
|
3458
|
-
const \u9AD8\u3055 = Math.max(0, node.h);
|
|
3459
|
-
const \u76EE\u5370\u3042\u308A = opts.hasEyebrow === true;
|
|
3460
|
-
const \u4E0A = \u76EE\u5370\u3042\u308A && \u9AD8\u3055 >= eyebrowBottom() ? titleBandTop() : 0;
|
|
3461
|
-
const \u751F\u306E\u5E2F = Math.max(0, \u9AD8\u3055 - \u4E0A);
|
|
3462
|
-
const \u4E0B\u4F59\u767D = \u751F\u306E\u5E2F >= MIN_BAND_H + BOTTOM_INSET ? BOTTOM_INSET : 0;
|
|
3463
|
-
const \u5E2F = \u751F\u306E\u5E2F - \u4E0B\u4F59\u767D;
|
|
3464
|
-
const \u5E45\u3067 = fitTextSize(
|
|
3465
|
-
node.title,
|
|
3466
|
-
Math.max(0, node.w - COMPACT_PADDING_X),
|
|
3467
|
-
\u901A\u5E38.size,
|
|
3468
|
-
MIN_TEXT_SIZE
|
|
3469
|
-
);
|
|
3470
|
-
const \u5E2F\u3067 = Math.floor(\u5E2F / (ASCENT2 + DESCENT2));
|
|
3471
|
-
const size = Math.max(MIN_TEXT_SIZE, Math.min(\u5E45\u3067, \u5E2F\u3067));
|
|
3472
|
-
const \u5B57\u9AD8 = size * (ASCENT2 + DESCENT2);
|
|
3473
|
-
const y = \u5B57\u9AD8 <= \u5E2F ? \u4E0A + \u5E2F / 2 + size * (ASCENT2 - DESCENT2) / 2 : \u4E0A > 0 ? \u4E0A + size * ASCENT2 : (\u9AD8\u3055 - \u5B57\u9AD8) / 2 + size * ASCENT2;
|
|
3474
|
-
return { x: node.w / 2, y, size, anchor: "middle" };
|
|
3475
|
-
}
|
|
3476
|
-
|
|
3477
|
-
// src/kinds/box-lines.ts
|
|
3478
|
-
var \u884C\u9001\u308A\u306E\u6BD4 = 1.15;
|
|
3479
|
-
var \u5B57\u306E\u9AD8\u3055\u306E\u6BD4 = 0.72;
|
|
3480
|
-
var \u4E0A\u4E0B\u306E\u4F59\u767D = 2;
|
|
3481
|
-
var \u5DE6\u53F3\u306E\u4F59\u767D = 8;
|
|
3482
|
-
function \u4F7F\u3048\u308B\u5E45(\u7BB1\u306E\u5E45) {
|
|
3483
|
-
return \u7BB1\u306E\u5E45 - \u5DE6\u53F3\u306E\u4F59\u767D * 2;
|
|
3484
|
-
}
|
|
3485
|
-
function \u5E45\u3067\u5207\u308B(text, fontSize, \u4F7F\u3048\u308B\u5E452, \u6E2C\u308B = textWidth) {
|
|
3486
|
-
if (\u4F7F\u3048\u308B\u5E452 <= 0) return "";
|
|
3487
|
-
if (\u6E2C\u308B(text, fontSize) <= \u4F7F\u3048\u308B\u5E452) return text;
|
|
3488
|
-
const \u7701\u7565 = "\u2026";
|
|
3489
|
-
const \u7701\u7565\u306E\u5E45 = \u6E2C\u308B(\u7701\u7565, fontSize);
|
|
3490
|
-
if (\u7701\u7565\u306E\u5E45 > \u4F7F\u3048\u308B\u5E452) return "";
|
|
3491
|
-
let \u51FA = "";
|
|
3492
|
-
let \u5E45 = 0;
|
|
3493
|
-
for (const c of \u66F8\u8A18\u7D20\u306B\u5206\u3051\u308B(text)) {
|
|
3494
|
-
const \u5B57\u306E\u5E452 = \u6E2C\u308B(c, fontSize);
|
|
3495
|
-
if (\u5E45 + \u5B57\u306E\u5E452 + \u7701\u7565\u306E\u5E45 > \u4F7F\u3048\u308B\u5E452) break;
|
|
3496
|
-
\u5E45 += \u5B57\u306E\u5E452;
|
|
3497
|
-
\u51FA += c;
|
|
3498
|
-
}
|
|
3499
|
-
return `${\u51FA}${\u7701\u7565}`;
|
|
3500
|
-
}
|
|
3501
|
-
var \u7E2E\u3081\u306E\u4E0B\u9650 = MIN_TEXT_SIZE;
|
|
3502
|
-
function \u5E45\u306B\u53CE\u3081\u308B(text, fontSize, \u4F7F\u3048\u308B\u5E452, \u6E2C\u308B = textWidth) {
|
|
3503
|
-
let size = fontSize;
|
|
3504
|
-
while (size > \u7E2E\u3081\u306E\u4E0B\u9650 && \u6E2C\u308B(text, size) > \u4F7F\u3048\u308B\u5E452) size -= 1;
|
|
3505
|
-
return { text: \u5E45\u3067\u5207\u308B(text, size, \u4F7F\u3048\u308B\u5E452, \u6E2C\u308B), fontSize: size };
|
|
3506
|
-
}
|
|
3507
|
-
function \u66F8\u8A18\u7D20\u306B\u5206\u3051\u308B(text) {
|
|
3508
|
-
const \u533A\u5207\u308A = Intl.Segmenter;
|
|
3509
|
-
if (typeof \u533A\u5207\u308A !== "function") return [...text];
|
|
3510
|
-
return [...new \u533A\u5207\u308A(void 0, { granularity: "grapheme" }).segment(text)].map((g) => g.segment);
|
|
3511
|
-
}
|
|
3512
|
-
function \u7BB1\u306B\u7A4D\u3080(\u884C, \u7BB1\u306E\u5E45, \u7BB1\u306E\u9AD8\u30553) {
|
|
3513
|
-
const \u5019\u88DC = \u884C.filter((r, i) => i === 0 || r.text.trim() !== "");
|
|
3514
|
-
if (\u5019\u88DC.length === 0) return [];
|
|
3515
|
-
const \u4F7F\u3048\u308B\u9AD8\u3055 = \u7BB1\u306E\u9AD8\u30553 - \u4E0A\u4E0B\u306E\u4F59\u767D * 2;
|
|
3516
|
-
const \u9AD8\u3055 = (rs) => rs.reduce((a, r) => a + r.fontSize * \u884C\u9001\u308A\u306E\u6BD4, 0);
|
|
3517
|
-
const \u6B8B\u3059 = [...\u5019\u88DC];
|
|
3518
|
-
while (\u6B8B\u3059.length > 1 && \u9AD8\u3055(\u6B8B\u3059) > \u4F7F\u3048\u308B\u9AD8\u3055) \u6B8B\u3059.pop();
|
|
3519
|
-
const \u5E45 = \u4F7F\u3048\u308B\u5E45(\u7BB1\u306E\u5E45);
|
|
3520
|
-
const \u53CE\u3081\u305F = \u6B8B\u3059.map((r) => ({ ...r, ...\u5E45\u306B\u53CE\u3081\u308B(r.text, r.fontSize, \u5E45) }));
|
|
3521
|
-
const \u7DCF\u9AD8 = \u9AD8\u3055(\u53CE\u3081\u305F);
|
|
3522
|
-
let \u7A4D\u307F = -\u7DCF\u9AD8 / 2;
|
|
3523
|
-
return \u53CE\u3081\u305F.map((r) => {
|
|
3524
|
-
const dy = \u7A4D\u307F + (\u884C\u9001\u308A\u306E\u6BD4 + \u5B57\u306E\u9AD8\u3055\u306E\u6BD4) / 2 * r.fontSize;
|
|
3525
|
-
\u7A4D\u307F += r.fontSize * \u884C\u9001\u308A\u306E\u6BD4;
|
|
3526
|
-
return { ...r, dy };
|
|
3527
|
-
});
|
|
3528
|
-
}
|
|
3529
|
-
|
|
3530
3541
|
// src/render/tone.ts
|
|
3531
3542
|
var TONE = {
|
|
3532
3543
|
accent: "var(--cdl-tone-accent, #2d6a8f)",
|
|
@@ -11839,7 +11850,7 @@ function CardNode({ node, active }) {
|
|
|
11839
11850
|
const textAnchor = compact ? "middle" : "start";
|
|
11840
11851
|
const subtitleY = 124 - \u305A\u3089\u3057;
|
|
11841
11852
|
const \u6700\u5927\u306E\u884C\u9001\u308A = SUBTITLE_SIZE * \u884C\u9001\u308A\u306E\u500D\u7387;
|
|
11842
|
-
const \u4E8C\u884C\u304C\u5165\u308B = !compact && subtitleY - \u6700\u5927\u306E\u884C\u9001\u308A / 2 - SUBTITLE_SIZE *
|
|
11853
|
+
const \u4E8C\u884C\u304C\u5165\u308B = !compact && subtitleY - \u6700\u5927\u306E\u884C\u9001\u308A / 2 - SUBTITLE_SIZE * ASCENT > titleY + titleSize * DESCENT && subtitleY + \u6700\u5927\u306E\u884C\u9001\u308A / 2 + SUBTITLE_SIZE * DESCENT <= node.h - 4;
|
|
11843
11854
|
const \u8AAC\u660E = node.subtitle ? \u8AAC\u660E\u6587\u3092\u5272\u308A\u4ED8\u3051\u308B(node.subtitle, availableW, { \u4E8C\u884C\u307E\u3067: \u4E8C\u884C\u304C\u5165\u308B }) : void 0;
|
|
11844
11855
|
const subtitleSize = \u8AAC\u660E?.size ?? 21;
|
|
11845
11856
|
const \u884C\u9001\u308A = subtitleSize * \u884C\u9001\u308A\u306E\u500D\u7387;
|
|
@@ -16136,20 +16147,22 @@ var EYEBROW_TRACKING = 2;
|
|
|
16136
16147
|
var SUB_SIZE = 11;
|
|
16137
16148
|
var SUB_GAP = 4;
|
|
16138
16149
|
function labelBlock(node, pos, size, band) {
|
|
16139
|
-
const \u4E0A = node.eyebrow ? size + EYEBROW_GAP2 + EYEBROW_SIZE2 *
|
|
16140
|
-
const \u4E0B = node.subtitle ? size + SUB_GAP + SUB_SIZE *
|
|
16150
|
+
const \u4E0A = node.eyebrow ? size + EYEBROW_GAP2 + EYEBROW_SIZE2 * ASCENT2 : size * ASCENT2;
|
|
16151
|
+
const \u4E0B = node.subtitle ? size + SUB_GAP + SUB_SIZE * DESCENT2 : size * DESCENT2;
|
|
16141
16152
|
const \u5E45 = Math.max(
|
|
16142
16153
|
textWidth(node.title ?? "", size),
|
|
16143
16154
|
node.eyebrow ? textWidth(node.eyebrow, EYEBROW_SIZE2, EYEBROW_TRACKING) : 0,
|
|
16144
16155
|
node.subtitle ? textWidth(node.subtitle, SUB_SIZE) : 0
|
|
16145
16156
|
);
|
|
16146
|
-
const
|
|
16157
|
+
const \u4E0B\u9650 = \u5207\u3063\u3066\u53CE\u307E\u308B\u4E0B\u9650(node.title ?? "", size, 0, band.w, textWidth);
|
|
16158
|
+
const { k, x, y: baseline } = fitLabel(band, { \u4E0A, \u4E0B, \u5E45 }, pos, \u4E0B\u9650);
|
|
16147
16159
|
return { k, x, baseline, \u4E0A\u7AEF: baseline - \u4E0A * k, \u4E0B\u7AEF: baseline + \u4E0B * k };
|
|
16148
16160
|
}
|
|
16149
16161
|
function commonLabel(node, pos, size, band) {
|
|
16150
16162
|
const \u584A = labelBlock(node, pos, size, band);
|
|
16151
16163
|
const k = \u584A.k;
|
|
16152
16164
|
const x = \u584A.x;
|
|
16165
|
+
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));
|
|
16153
16166
|
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
16154
16167
|
node.eyebrow && /* @__PURE__ */ jsx(
|
|
16155
16168
|
"text",
|
|
@@ -16161,7 +16174,7 @@ function commonLabel(node, pos, size, band) {
|
|
|
16161
16174
|
letterSpacing: EYEBROW_TRACKING * k,
|
|
16162
16175
|
textAnchor: "middle",
|
|
16163
16176
|
fill: "var(--cdl-tone-accent, #2d6a8f)",
|
|
16164
|
-
children: node.eyebrow
|
|
16177
|
+
children: \u5207\u308B(node.eyebrow, EYEBROW_SIZE2, EYEBROW_TRACKING)
|
|
16165
16178
|
}
|
|
16166
16179
|
),
|
|
16167
16180
|
/* @__PURE__ */ jsx(
|
|
@@ -16174,7 +16187,7 @@ function commonLabel(node, pos, size, band) {
|
|
|
16174
16187
|
fontWeight: 700,
|
|
16175
16188
|
textAnchor: "middle",
|
|
16176
16189
|
fill: "var(--cdl-text, #1a1f2a)",
|
|
16177
|
-
children: node.title
|
|
16190
|
+
children: \u5207\u308B(node.title ?? "", size)
|
|
16178
16191
|
}
|
|
16179
16192
|
),
|
|
16180
16193
|
node.subtitle && /* @__PURE__ */ jsx(
|
|
@@ -16185,7 +16198,7 @@ function commonLabel(node, pos, size, band) {
|
|
|
16185
16198
|
fontSize: SUB_SIZE * k,
|
|
16186
16199
|
textAnchor: "middle",
|
|
16187
16200
|
fill: "var(--cdl-text-dim, #5a6270)",
|
|
16188
|
-
children: node.subtitle
|
|
16201
|
+
children: \u5207\u308B(node.subtitle, SUB_SIZE)
|
|
16189
16202
|
}
|
|
16190
16203
|
)
|
|
16191
16204
|
] });
|
|
@@ -16520,7 +16533,9 @@ function planLabel(node, cx, \u5E45\u4E0A\u9650, plan) {
|
|
|
16520
16533
|
node.eyebrow && plan.\u80A9\u66F8 ? textWidth(node.eyebrow, plan.\u80A9\u66F8.size, EYEBROW_TRACKING) : 0,
|
|
16521
16534
|
node.subtitle && plan.\u8AAC\u660E ? textWidth(node.subtitle, plan.\u8AAC\u660E.size) : 0
|
|
16522
16535
|
);
|
|
16523
|
-
const
|
|
16536
|
+
const \u4E0B\u9650 = \u5207\u3063\u3066\u53CE\u307E\u308B\u4E0B\u9650(node.title ?? "", plan.\u540D\u524D.size, 0, \u5E45\u4E0A\u9650, textWidth);
|
|
16537
|
+
const k = \u5E45 > 0 && \u5E45\u4E0A\u9650 > 0 ? Math.min(1, Math.max(\u5E45\u4E0A\u9650 / \u5E45, \u4E0B\u9650)) : 1;
|
|
16538
|
+
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));
|
|
16524
16539
|
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
16525
16540
|
node.eyebrow && plan.\u80A9\u66F8 && /* @__PURE__ */ jsx(
|
|
16526
16541
|
"text",
|
|
@@ -16532,7 +16547,7 @@ function planLabel(node, cx, \u5E45\u4E0A\u9650, plan) {
|
|
|
16532
16547
|
letterSpacing: EYEBROW_TRACKING * k,
|
|
16533
16548
|
textAnchor: "middle",
|
|
16534
16549
|
fill: "var(--cdl-tone-accent, #2d6a8f)",
|
|
16535
|
-
children: node.eyebrow
|
|
16550
|
+
children: \u5207\u308B(node.eyebrow, plan.\u80A9\u66F8.size, EYEBROW_TRACKING)
|
|
16536
16551
|
}
|
|
16537
16552
|
),
|
|
16538
16553
|
/* @__PURE__ */ jsx(
|
|
@@ -16545,7 +16560,7 @@ function planLabel(node, cx, \u5E45\u4E0A\u9650, plan) {
|
|
|
16545
16560
|
fontWeight: 700,
|
|
16546
16561
|
textAnchor: "middle",
|
|
16547
16562
|
fill: "var(--cdl-text, #1a1f2a)",
|
|
16548
|
-
children: node.title
|
|
16563
|
+
children: \u5207\u308B(node.title ?? "", plan.\u540D\u524D.size)
|
|
16549
16564
|
}
|
|
16550
16565
|
),
|
|
16551
16566
|
node.subtitle && plan.\u8AAC\u660E && /* @__PURE__ */ jsx(
|
|
@@ -16556,7 +16571,7 @@ function planLabel(node, cx, \u5E45\u4E0A\u9650, plan) {
|
|
|
16556
16571
|
fontSize: plan.\u8AAC\u660E.size * k,
|
|
16557
16572
|
textAnchor: "middle",
|
|
16558
16573
|
fill: "var(--cdl-text-dim, #5a6270)",
|
|
16559
|
-
children: node.subtitle
|
|
16574
|
+
children: \u5207\u308B(node.subtitle, plan.\u8AAC\u660E.size)
|
|
16560
16575
|
}
|
|
16561
16576
|
)
|
|
16562
16577
|
] });
|
|
@@ -17479,17 +17494,19 @@ var externalLabel = (node, cx, bottomY) => /* @__PURE__ */ jsxs(Fragment, { chil
|
|
|
17479
17494
|
var LABEL_EYEBROW_SPACING = 2;
|
|
17480
17495
|
function \u5E45\u306B\u53CE\u3081\u308B2(\u6587\u5B57\u5217, \u5927\u304D\u3055, \u5B57\u9593, \u7BB1\u5E45) {
|
|
17481
17496
|
const \u5E45 = textWidth(\u6587\u5B57\u5217, \u5927\u304D\u3055, \u5B57\u9593);
|
|
17482
|
-
const \u500D\u7387 = \u5E45 > 0 && \u7BB1\u5E45 > 0 ? Math.min(1, \u7BB1\u5E45 / \u5E45) : 1;
|
|
17483
|
-
|
|
17497
|
+
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;
|
|
17498
|
+
const size = \u5927\u304D\u3055 * \u500D\u7387;
|
|
17499
|
+
const spacing = \u5B57\u9593 * \u500D\u7387;
|
|
17500
|
+
return { size, spacing, text: \u5E45\u3067\u5207\u308B(\u6587\u5B57\u5217, size, \u7BB1\u5E45, (u, f) => textWidth(u, f, spacing)) };
|
|
17484
17501
|
}
|
|
17485
17502
|
function bottomLabel(node, cx, plan) {
|
|
17486
17503
|
const \u80A9 = \u5E45\u306B\u53CE\u3081\u308B2(node.eyebrow ?? "", plan.\u80A9\u66F8?.size ?? 0, LABEL_EYEBROW_SPACING, node.w);
|
|
17487
17504
|
const \u540D = \u5E45\u306B\u53CE\u3081\u308B2(node.title ?? "", plan.\u540D\u524D.size, 0, node.w);
|
|
17488
17505
|
const \u8AAC = \u5E45\u306B\u53CE\u3081\u308B2(node.subtitle ?? "", plan.\u8AAC\u660E?.size ?? 0, 0, node.w);
|
|
17489
17506
|
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
17490
|
-
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:
|
|
17491
|
-
/* @__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:
|
|
17492
|
-
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:
|
|
17507
|
+
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 }),
|
|
17508
|
+
/* @__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 }),
|
|
17509
|
+
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 })
|
|
17493
17510
|
] });
|
|
17494
17511
|
}
|
|
17495
17512
|
var RACK_SLOT_TOP = 20;
|
|
@@ -18284,13 +18301,22 @@ function blockchainNodeExtent(strokeWidth) {
|
|
|
18284
18301
|
return { \u4E0A: \u7E26, \u4E0B: \u7E26, \u5DE6: \u6A2A, \u53F3: \u6A2A };
|
|
18285
18302
|
}
|
|
18286
18303
|
function bottomLabel2(node, cx, plan) {
|
|
18287
|
-
const \
|
|
18288
|
-
|
|
18289
|
-
|
|
18304
|
+
const \u53CE\u3081\u308B = (t, \u5927\u304D\u3055, \u5B57\u9593) => {
|
|
18305
|
+
const \u6E2C\u308B = (u, f, ls) => \u5B57\u306E\u5E45(u, f) + ls * [...u].length;
|
|
18306
|
+
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));
|
|
18307
|
+
const size = \u5927\u304D\u3055 * \u500D\u7387;
|
|
18308
|
+
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) };
|
|
18309
|
+
};
|
|
18310
|
+
const \u80A9 = node.eyebrow && plan.\u80A9\u66F8 ? \u53CE\u3081\u308B(node.eyebrow, plan.\u80A9\u66F8.size, 2) : { \u500D\u7387: 1, text: node.eyebrow ?? "" };
|
|
18311
|
+
const \u540D = \u53CE\u3081\u308B(node.title ?? "", plan.\u540D\u524D.size, 0);
|
|
18312
|
+
const \u8AAC = node.subtitle && plan.\u8AAC\u660E ? \u53CE\u3081\u308B(node.subtitle, plan.\u8AAC\u660E.size, 0) : { \u500D\u7387: 1, text: node.subtitle ?? "" };
|
|
18313
|
+
const \u80A9\u66F8\u500D\u7387 = \u80A9.\u500D\u7387;
|
|
18314
|
+
const \u540D\u524D\u500D\u7387 = \u540D.\u500D\u7387;
|
|
18315
|
+
const \u8AAC\u660E\u500D\u7387 = \u8AAC.\u500D\u7387;
|
|
18290
18316
|
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
18291
|
-
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:
|
|
18292
|
-
/* @__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:
|
|
18293
|
-
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:
|
|
18317
|
+
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 }),
|
|
18318
|
+
/* @__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 }),
|
|
18319
|
+
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 })
|
|
18294
18320
|
] });
|
|
18295
18321
|
}
|
|
18296
18322
|
function EthereumDiamond({ cx, cy, h, colors }) {
|
|
@@ -18899,17 +18925,19 @@ function \u5B57\u5E45(\u6587\u5B57\u5217, \u5927\u304D\u3055, \u5B57\u9593) {
|
|
|
18899
18925
|
}
|
|
18900
18926
|
function \u5E45\u306B\u53CE\u3081\u308B3(\u6587\u5B57\u5217, \u5927\u304D\u3055, \u5B57\u9593, \u7BB1\u5E45) {
|
|
18901
18927
|
const \u5E45 = \u5B57\u5E45(\u6587\u5B57\u5217, \u5927\u304D\u3055, \u5B57\u9593);
|
|
18902
|
-
const \u500D\u7387 = \u5E45 > 0 && \u7BB1\u5E45 > 0 ? Math.min(1, \u7BB1\u5E45 / \u5E45) : 1;
|
|
18903
|
-
|
|
18928
|
+
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;
|
|
18929
|
+
const size = \u5927\u304D\u3055 * \u500D\u7387;
|
|
18930
|
+
const spacing = \u5B57\u9593 * \u500D\u7387;
|
|
18931
|
+
return { size, spacing, text: \u5E45\u3067\u5207\u308B(\u6587\u5B57\u5217, size, \u7BB1\u5E45, (u, f) => \u5B57\u5E45(u, f, spacing)) };
|
|
18904
18932
|
}
|
|
18905
18933
|
function bottomLabel3(node, cx, plan) {
|
|
18906
18934
|
const \u80A9 = \u5E45\u306B\u53CE\u3081\u308B3(node.eyebrow ?? "", plan.\u80A9\u66F8?.size ?? 0, LABEL_EYEBROW_SPACING2, node.w);
|
|
18907
18935
|
const \u540D = \u5E45\u306B\u53CE\u3081\u308B3(node.title ?? "", plan.\u540D\u524D.size, 0, node.w);
|
|
18908
18936
|
const \u8AAC = \u5E45\u306B\u53CE\u3081\u308B3(node.subtitle ?? "", plan.\u8AAC\u660E?.size ?? 0, 0, node.w);
|
|
18909
18937
|
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
18910
|
-
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:
|
|
18911
|
-
/* @__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:
|
|
18912
|
-
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:
|
|
18938
|
+
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 }),
|
|
18939
|
+
/* @__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 }),
|
|
18940
|
+
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 })
|
|
18913
18941
|
] });
|
|
18914
18942
|
}
|
|
18915
18943
|
var BANK_PEDIMENT_H = 44;
|
|
@@ -19382,17 +19410,19 @@ function \u5B57\u5E452(\u6587\u5B57\u5217, \u5927\u304D\u3055, \u5B57\u9593) {
|
|
|
19382
19410
|
}
|
|
19383
19411
|
function \u5E45\u306B\u53CE\u3081\u308B4(\u6587\u5B57\u5217, \u5927\u304D\u3055, \u5B57\u9593, \u7BB1\u5E45) {
|
|
19384
19412
|
const \u5E45 = \u5B57\u5E452(\u6587\u5B57\u5217, \u5927\u304D\u3055, \u5B57\u9593);
|
|
19385
|
-
const \u500D\u7387 = \u5E45 > 0 && \u7BB1\u5E45 > 0 ? Math.min(1, \u7BB1\u5E45 / \u5E45) : 1;
|
|
19386
|
-
|
|
19413
|
+
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;
|
|
19414
|
+
const size = \u5927\u304D\u3055 * \u500D\u7387;
|
|
19415
|
+
const spacing = \u5B57\u9593 * \u500D\u7387;
|
|
19416
|
+
return { size, spacing, text: \u5E45\u3067\u5207\u308B(\u6587\u5B57\u5217, size, \u7BB1\u5E45, (u, f) => \u5B57\u5E452(u, f, spacing)) };
|
|
19387
19417
|
}
|
|
19388
19418
|
function bottomLabel4(node, cx, plan) {
|
|
19389
19419
|
const \u80A9 = \u5E45\u306B\u53CE\u3081\u308B4(node.eyebrow ?? "", plan.\u80A9\u66F8?.size ?? 0, LABEL_EYEBROW_SPACING3, node.w);
|
|
19390
19420
|
const \u540D = \u5E45\u306B\u53CE\u3081\u308B4(node.title ?? "", plan.\u540D\u524D.size, 0, node.w);
|
|
19391
19421
|
const \u8AAC = \u5E45\u306B\u53CE\u3081\u308B4(node.subtitle ?? "", plan.\u8AAC\u660E?.size ?? 0, 0, node.w);
|
|
19392
19422
|
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
19393
|
-
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:
|
|
19394
|
-
/* @__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:
|
|
19395
|
-
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:
|
|
19423
|
+
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 }),
|
|
19424
|
+
/* @__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 }),
|
|
19425
|
+
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 })
|
|
19396
19426
|
] });
|
|
19397
19427
|
}
|
|
19398
19428
|
var DROP_SHADOW_D = 4;
|