@cardenelabs/cdl 0.74.0 → 0.76.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/dist/react.js CHANGED
@@ -397,8 +397,14 @@ var en = {
397
397
  "paymentProvider.sign": "PAY",
398
398
  /** `shape-payment-provider` の状態の札 */
399
399
  "paymentProvider.status": "PROCESSING",
400
- /** `shape-brokerage` の株価の帯 */
401
- "brokerage.ticker": "\u25B2NKY 38,240 \u25B2AAPL 194",
400
+ /**
401
+ * `shape-brokerage` の株価の帯。
402
+ *
403
+ * **1 銘柄に絞る** (#888)。 電光掲示板の内側は幅 136 しか無く、2 銘柄を指定 11 で描くと
404
+ * 幅 181 になってビルの外へ出る。 板が流れている雰囲気は帯そのもの (黒地に緑の等幅) が
405
+ * 担うので、銘柄を減らしても絵は変わらない。
406
+ */
407
+ "brokerage.ticker": "\u25B2NKY 38,240",
402
408
  /** `shape-brokerage` の看板 */
403
409
  "brokerage.sign": "$ SECURITIES",
404
410
  /** `shape-exchange` の看板 */
@@ -601,7 +607,7 @@ var ja = {
601
607
  "trustBank.sign": "\u4FE1\u8A17",
602
608
  "paymentProvider.sign": "\u6C7A\u6E08",
603
609
  "paymentProvider.status": "\u51E6\u7406\u4E2D",
604
- "brokerage.ticker": "\u25B2\u65E5\u7D4C 38,240 \u25B2\u6771\u8A3C 2,710",
610
+ "brokerage.ticker": "\u25B2\u65E5\u7D4C 38,240",
605
611
  "brokerage.sign": "\xA5 \u8A3C\u5238",
606
612
  "exchange.sign": "\u53D6\u5F15\u6240",
607
613
  "exchange.sub": "\u6E05\u7B97",
@@ -16201,9 +16207,9 @@ function ShapeKanbanCardNode({ node, active, lang }) {
16201
16207
  const ID\u5B57 = 11;
16202
16208
  const ID\u5B57\u9593 = 1;
16203
16209
  const PILL\u4E0A = 20;
16204
- const PILL\u5E45 = 54;
16210
+ const PILL\u5E45 = 70;
16205
16211
  const PILL\u9AD8 = 16;
16206
- const PILL\u5B57 = 9;
16212
+ const PILL\u5B57 = 11;
16207
16213
  const FOOTER\u4E0B = 22;
16208
16214
  const AVATAR\u4E2D\u5FC3Y = 4;
16209
16215
  const AVATAR\u534A\u5F84 = 9;
@@ -17336,7 +17342,7 @@ var SMART_CONTRACT_H = 220;
17336
17342
  var BLOCK_W = 240;
17337
17343
  var BLOCK_H = 220;
17338
17344
  var \u898B\u51FA\u3057\u306E\u5B57 = 13;
17339
- var \u540D\u306E\u5B57 = 10.5;
17345
+ var \u540D\u306E\u5B57 = 11;
17340
17346
  var \u5024\u306E\u5B57 = 11;
17341
17347
  var \u884C\u306E\u9593\u9694 = 22;
17342
17348
  var \u898B\u51FA\u3057\u306E\u5E2F = 32;
@@ -17350,6 +17356,15 @@ var CHAIN_BLOCK_H = 66;
17350
17356
  var CHAIN_LINK_W = 12;
17351
17357
  var CHAIN_SHADOW = 3;
17352
17358
  var CHAIN_BLOCK_SW = 2.5;
17359
+ var CHAIN_HEAD_H = 16;
17360
+ var CHAIN_TEXT_W = CHAIN_BLOCK_W - 8;
17361
+ var CHAIN_ROW_GAP = 14;
17362
+ var CHAIN_NO_SIZE = 11;
17363
+ var CONTRACT_CALL_SIZE = 11;
17364
+ var NFT_ID_SIZE = 15;
17365
+ var CHAIN_HASH_SIZE = 11;
17366
+ var BTC_NO_SIZE = 11;
17367
+ var ETH_NO_SIZE = 11;
17353
17368
  var NODE_HEX_R = 44;
17354
17369
  var NODE_PEER_R = 12;
17355
17370
  var NODE_PEER_GAP = 22;
@@ -17463,24 +17478,34 @@ function ShapeSmartContractNode({ node, active, lang }) {
17463
17478
  gearPts.push(`${gearCx + Math.cos(a3) * gearTipR},${gearCy + Math.sin(a3) * gearTipR}`);
17464
17479
  gearPts.push(`${gearCx + Math.cos(a4) * gearBodyR},${gearCy + Math.sin(a4) * gearBodyR}`);
17465
17480
  }
17466
- const art = /* @__PURE__ */ jsxs("g", { children: [
17467
- /* @__PURE__ */ jsx("path", { "data-cdl-role": "node-body", d: path, ...frame, strokeLinejoin: "round" }),
17468
- /* @__PURE__ */ jsx("path", { d: foldPath, fill: "none", stroke: frame.stroke, strokeWidth: frame.strokeWidth, strokeLinejoin: "round" }),
17469
- [y + 40, y + 58, y + 76, y + 94].map((ly, i) => /* @__PURE__ */ jsx("rect", { x: x + 16, y: ly - 3, width: docW - 32 - i * 22, height: 5, rx: 1, fill: "var(--cdl-divider, #d4d4d8)", fillOpacity: 0.7, stroke: "none" }, i)),
17470
- /* @__PURE__ */ jsx("text", { x: x + 16, y: y + docH - 46, fontSize: 11, fontFamily: "ui-monospace, SFMono-Regular, Menlo, monospace", fill: "var(--cdl-tone-accent, #2d6a8f)", children: \u5B57\u5F15("smartContract.call") }),
17471
- /* @__PURE__ */ jsx(
17472
- "polygon",
17473
- {
17474
- points: gearPts.join(" "),
17475
- fill: "var(--cdl-tone-accent, #2d6a8f)",
17476
- stroke: frame.stroke,
17477
- strokeWidth: 1.2,
17478
- strokeLinejoin: "round",
17479
- children: /* @__PURE__ */ jsx("animateTransform", { attributeName: "transform", type: "rotate", from: `0 ${gearCx} ${gearCy}`, to: `360 ${gearCx} ${gearCy}`, dur: "8s", repeatCount: "indefinite" })
17480
- }
17481
- ),
17482
- /* @__PURE__ */ jsx("circle", { cx: gearCx, cy: gearCy, r: gearBodyR * 0.4, fill: "var(--cdl-node-fill, #ffffff)", stroke: "none" })
17483
- ] });
17481
+ const \u6253\u3061\u6D88\u3059\u5B57\u3089 = [
17482
+ {
17483
+ text: \u5B57\u5F15("smartContract.call"),
17484
+ size: CONTRACT_CALL_SIZE,
17485
+ \u5E2F: { \u5E45: docW - 32, \u9AD8\u3055: 18 }
17486
+ }
17487
+ ];
17488
+ const art = (\u500D\u7387) => {
17489
+ const \u500D = \u6253\u3061\u6D88\u3057\u306E\u500D\u7387(\u500D\u7387, \u6253\u3061\u6D88\u3059\u5B57\u3089);
17490
+ return /* @__PURE__ */ jsxs("g", { children: [
17491
+ /* @__PURE__ */ jsx("path", { "data-cdl-role": "node-body", d: path, ...frame, strokeLinejoin: "round" }),
17492
+ /* @__PURE__ */ jsx("path", { d: foldPath, fill: "none", stroke: frame.stroke, strokeWidth: frame.strokeWidth, strokeLinejoin: "round" }),
17493
+ [y + 40, y + 58, y + 76, y + 94].map((ly, i) => /* @__PURE__ */ jsx("rect", { x: x + 16, y: ly - 3, width: docW - 32 - i * 22, height: 5, rx: 1, fill: "var(--cdl-divider, #d4d4d8)", fillOpacity: 0.7, stroke: "none" }, i)),
17494
+ /* @__PURE__ */ jsx("text", { "data-cdl-counter-scaled": "1", x: x + 16, y: y + docH - 46, fontSize: CONTRACT_CALL_SIZE * \u500D, fontFamily: "ui-monospace, SFMono-Regular, Menlo, monospace", fill: "var(--cdl-tone-accent, #2d6a8f)", children: \u5B57\u5F15("smartContract.call") }),
17495
+ /* @__PURE__ */ jsx(
17496
+ "polygon",
17497
+ {
17498
+ points: gearPts.join(" "),
17499
+ fill: "var(--cdl-tone-accent, #2d6a8f)",
17500
+ stroke: frame.stroke,
17501
+ strokeWidth: 1.2,
17502
+ strokeLinejoin: "round",
17503
+ children: /* @__PURE__ */ jsx("animateTransform", { attributeName: "transform", type: "rotate", from: `0 ${gearCx} ${gearCy}`, to: `360 ${gearCx} ${gearCy}`, dur: "8s", repeatCount: "indefinite" })
17504
+ }
17505
+ ),
17506
+ /* @__PURE__ */ jsx("circle", { cx: gearCx, cy: gearCy, r: gearBodyR * 0.4, fill: "var(--cdl-node-fill, #ffffff)", stroke: "none" })
17507
+ ] });
17508
+ };
17484
17509
  return /* @__PURE__ */ jsxs("g", { children: [
17485
17510
  fitArt(r, smartContractExtent(frame.strokeWidth), art),
17486
17511
  bottomLabel2(node, r.cx, r.label)
@@ -17562,38 +17587,45 @@ function ShapeBlockchainNode({ node, active }) {
17562
17587
  const linkW = CHAIN_LINK_W;
17563
17588
  const totalW = blockCount * blockW + (blockCount - 1) * linkW;
17564
17589
  const startX = cx - totalW / 2;
17565
- const art = /* @__PURE__ */ jsx("g", { children: Array.from({ length: blockCount }, (_, i) => i).map((i) => {
17566
- const bx = startX + i * (blockW + linkW);
17567
- const isCurrent = i === blockCount - 1;
17568
- return /* @__PURE__ */ jsxs("g", { children: [
17569
- i > 0 && /* @__PURE__ */ jsxs("g", { children: [
17570
- /* @__PURE__ */ jsx("line", { x1: bx - linkW, y1: cy, x2: bx, y2: cy, stroke: frame.stroke, strokeWidth: 3, strokeLinecap: "round" }),
17571
- /* @__PURE__ */ jsx("circle", { cx: bx - linkW / 2, cy, r: 2.5, fill: "var(--cdl-tone-accent, #2d6a8f)", stroke: "none", children: /* @__PURE__ */ jsx("animate", { attributeName: "opacity", values: "0.3;1;0.3", dur: `${1 + i * 0.2}s`, repeatCount: "indefinite" }) })
17572
- ] }),
17573
- /* @__PURE__ */ jsx("rect", { x: bx + 3, y: cy - blockH / 2 + 3, width: blockW, height: blockH, rx: 4, fill: frame.stroke, opacity: 0.18, stroke: "none" }),
17574
- /* @__PURE__ */ jsx(
17575
- "rect",
17576
- {
17577
- "data-cdl-role": i === 0 ? "node-body" : void 0,
17578
- x: bx,
17579
- y: cy - blockH / 2,
17580
- width: blockW,
17581
- height: blockH,
17582
- rx: 4,
17583
- fill: isCurrent ? "var(--cdl-tone-accent, #2d6a8f)" : "var(--cdl-node-fill, #ffffff)",
17584
- stroke: frame.stroke,
17585
- strokeWidth: isCurrent ? 2.5 : 1.5
17586
- }
17587
- ),
17588
- /* @__PURE__ */ jsx("rect", { x: bx, y: cy - blockH / 2, width: blockW, height: 16, rx: 4, fill: isCurrent ? "#1a4a68" : "var(--cdl-divider, #d4d4d8)", fillOpacity: isCurrent ? 1 : 0.4, stroke: "none" }),
17589
- /* @__PURE__ */ jsxs("text", { x: bx + blockW / 2, y: cy - blockH / 2 + 12, fontSize: 10, fontFamily: "ui-monospace, SFMono-Regular, Menlo, monospace", fontWeight: 700, textAnchor: "middle", fill: isCurrent ? "#ffffff" : "var(--cdl-text-dim, #5a6270)", children: [
17590
- "#",
17591
- 420 + i
17592
- ] }),
17593
- /* @__PURE__ */ jsx("text", { x: bx + blockW / 2, y: cy + 8, fontSize: 14, fontWeight: 700, textAnchor: "middle", fill: isCurrent ? "#ffffff" : "var(--cdl-tone-accent, #2d6a8f)", fontFamily: "Georgia, serif", children: "#" }),
17594
- /* @__PURE__ */ jsx("text", { x: bx + blockW / 2, y: cy + 22, fontSize: 7, fontFamily: "ui-monospace, SFMono-Regular, Menlo, monospace", textAnchor: "middle", fill: isCurrent ? "#ffffff" : "var(--cdl-text-dim, #5a6270)", opacity: 0.9, children: "0x\u2026" })
17595
- ] }, i);
17596
- }) });
17590
+ const \u6253\u3061\u6D88\u3059\u5B57\u3089 = [
17591
+ { text: "#420", size: CHAIN_NO_SIZE, \u5E2F: { \u5E45: CHAIN_TEXT_W, \u9AD8\u3055: CHAIN_HEAD_H } },
17592
+ { text: "0x\u2026", size: CHAIN_HASH_SIZE, \u5E2F: { \u5E45: CHAIN_TEXT_W, \u9AD8\u3055: CHAIN_ROW_GAP } }
17593
+ ];
17594
+ const art = (\u500D\u7387) => {
17595
+ const \u500D = \u6253\u3061\u6D88\u3057\u306E\u500D\u7387(\u500D\u7387, \u6253\u3061\u6D88\u3059\u5B57\u3089);
17596
+ return /* @__PURE__ */ jsx("g", { children: Array.from({ length: blockCount }, (_, i) => i).map((i) => {
17597
+ const bx = startX + i * (blockW + linkW);
17598
+ const isCurrent = i === blockCount - 1;
17599
+ return /* @__PURE__ */ jsxs("g", { children: [
17600
+ i > 0 && /* @__PURE__ */ jsxs("g", { children: [
17601
+ /* @__PURE__ */ jsx("line", { x1: bx - linkW, y1: cy, x2: bx, y2: cy, stroke: frame.stroke, strokeWidth: 3, strokeLinecap: "round" }),
17602
+ /* @__PURE__ */ jsx("circle", { cx: bx - linkW / 2, cy, r: 2.5, fill: "var(--cdl-tone-accent, #2d6a8f)", stroke: "none", children: /* @__PURE__ */ jsx("animate", { attributeName: "opacity", values: "0.3;1;0.3", dur: `${1 + i * 0.2}s`, repeatCount: "indefinite" }) })
17603
+ ] }),
17604
+ /* @__PURE__ */ jsx("rect", { x: bx + 3, y: cy - blockH / 2 + 3, width: blockW, height: blockH, rx: 4, fill: frame.stroke, opacity: 0.18, stroke: "none" }),
17605
+ /* @__PURE__ */ jsx(
17606
+ "rect",
17607
+ {
17608
+ "data-cdl-role": i === 0 ? "node-body" : void 0,
17609
+ x: bx,
17610
+ y: cy - blockH / 2,
17611
+ width: blockW,
17612
+ height: blockH,
17613
+ rx: 4,
17614
+ fill: isCurrent ? "var(--cdl-tone-accent, #2d6a8f)" : "var(--cdl-node-fill, #ffffff)",
17615
+ stroke: frame.stroke,
17616
+ strokeWidth: isCurrent ? 2.5 : 1.5
17617
+ }
17618
+ ),
17619
+ /* @__PURE__ */ jsx("rect", { x: bx, y: cy - blockH / 2, width: blockW, height: CHAIN_HEAD_H, rx: 4, fill: isCurrent ? "#1a4a68" : "var(--cdl-divider, #d4d4d8)", fillOpacity: isCurrent ? 1 : 0.4, stroke: "none" }),
17620
+ /* @__PURE__ */ jsxs("text", { "data-cdl-counter-scaled": "1", x: bx + blockW / 2, y: cy - blockH / 2 + 12, fontSize: CHAIN_NO_SIZE * \u500D, fontFamily: "ui-monospace, SFMono-Regular, Menlo, monospace", fontWeight: 700, textAnchor: "middle", fill: isCurrent ? "#ffffff" : "var(--cdl-text-dim, #5a6270)", children: [
17621
+ "#",
17622
+ 420 + i
17623
+ ] }),
17624
+ /* @__PURE__ */ jsx("text", { "data-cdl-counter-scaled": "0", x: bx + blockW / 2, y: cy + 8, fontSize: 14, fontWeight: 700, textAnchor: "middle", fill: isCurrent ? "#ffffff" : "var(--cdl-tone-accent, #2d6a8f)", fontFamily: "Georgia, serif", children: "#" }),
17625
+ /* @__PURE__ */ jsx("text", { "data-cdl-counter-scaled": "1", x: bx + blockW / 2, y: cy + 22, fontSize: CHAIN_HASH_SIZE * \u500D, fontFamily: "ui-monospace, SFMono-Regular, Menlo, monospace", textAnchor: "middle", fill: isCurrent ? "#ffffff" : "var(--cdl-text-dim, #5a6270)", opacity: 0.9, children: "0x\u2026" })
17626
+ ] }, i);
17627
+ }) });
17628
+ };
17597
17629
  return /* @__PURE__ */ jsxs("g", { children: [
17598
17630
  fitArt(r, chainExtent(), art),
17599
17631
  bottomLabel2(node, r.cx, r.label)
@@ -17611,33 +17643,39 @@ function ShapeBitcoinChainNode({ node, active }) {
17611
17643
  const linkW = CHAIN_LINK_W;
17612
17644
  const totalW = blockCount * blockW + (blockCount - 1) * linkW;
17613
17645
  const startX = cx - totalW / 2;
17614
- const art = /* @__PURE__ */ jsx("g", { children: Array.from({ length: blockCount }, (_, i) => i).map((i) => {
17615
- const bx = startX + i * (blockW + linkW);
17616
- const isCurrent = i === blockCount - 1;
17617
- return /* @__PURE__ */ jsxs("g", { children: [
17618
- i > 0 && /* @__PURE__ */ jsx("line", { x1: bx - linkW, y1: cy, x2: bx, y2: cy, stroke: btcOrange, strokeWidth: 3.5, strokeLinecap: "round" }),
17619
- /* @__PURE__ */ jsx("rect", { x: bx + 3, y: cy - blockH / 2 + 3, width: blockW, height: blockH, rx: 4, fill: frame.stroke, opacity: 0.18, stroke: "none" }),
17620
- /* @__PURE__ */ jsx(
17621
- "rect",
17622
- {
17623
- "data-cdl-role": i === 0 ? "node-body" : void 0,
17624
- x: bx,
17625
- y: cy - blockH / 2,
17626
- width: blockW,
17627
- height: blockH,
17628
- rx: 4,
17629
- fill: isCurrent ? btcOrange : "var(--cdl-node-fill, #ffffff)",
17630
- stroke: btcOrange,
17631
- strokeWidth: isCurrent ? 2.5 : 1.5
17632
- }
17633
- ),
17634
- /* @__PURE__ */ jsx("text", { x: bx + blockW / 2, y: cy - 4, fontSize: 30, fontWeight: 700, textAnchor: "middle", fill: isCurrent ? "#ffffff" : btcOrange, fontFamily: "Georgia, serif", children: "\u20BF" }),
17635
- /* @__PURE__ */ jsxs("text", { x: bx + blockW / 2, y: cy + 16, fontSize: 9, fontFamily: "ui-monospace, SFMono-Regular, Menlo, monospace", fontWeight: 700, textAnchor: "middle", fill: isCurrent ? "#ffffff" : "var(--cdl-text-dim, #5a6270)", children: [
17636
- "#",
17637
- 820 + i
17638
- ] })
17639
- ] }, i);
17640
- }) });
17646
+ const \u6253\u3061\u6D88\u3059\u5B57\u3089 = [
17647
+ { text: "#820", size: BTC_NO_SIZE, \u5E2F: { \u5E45: CHAIN_TEXT_W, \u9AD8\u3055: 20 } }
17648
+ ];
17649
+ const art = (\u500D\u7387) => {
17650
+ const \u500D = \u6253\u3061\u6D88\u3057\u306E\u500D\u7387(\u500D\u7387, \u6253\u3061\u6D88\u3059\u5B57\u3089);
17651
+ return /* @__PURE__ */ jsx("g", { children: Array.from({ length: blockCount }, (_, i) => i).map((i) => {
17652
+ const bx = startX + i * (blockW + linkW);
17653
+ const isCurrent = i === blockCount - 1;
17654
+ return /* @__PURE__ */ jsxs("g", { children: [
17655
+ i > 0 && /* @__PURE__ */ jsx("line", { x1: bx - linkW, y1: cy, x2: bx, y2: cy, stroke: btcOrange, strokeWidth: 3.5, strokeLinecap: "round" }),
17656
+ /* @__PURE__ */ jsx("rect", { x: bx + 3, y: cy - blockH / 2 + 3, width: blockW, height: blockH, rx: 4, fill: frame.stroke, opacity: 0.18, stroke: "none" }),
17657
+ /* @__PURE__ */ jsx(
17658
+ "rect",
17659
+ {
17660
+ "data-cdl-role": i === 0 ? "node-body" : void 0,
17661
+ x: bx,
17662
+ y: cy - blockH / 2,
17663
+ width: blockW,
17664
+ height: blockH,
17665
+ rx: 4,
17666
+ fill: isCurrent ? btcOrange : "var(--cdl-node-fill, #ffffff)",
17667
+ stroke: btcOrange,
17668
+ strokeWidth: isCurrent ? 2.5 : 1.5
17669
+ }
17670
+ ),
17671
+ /* @__PURE__ */ jsx("text", { "data-cdl-counter-scaled": "0", x: bx + blockW / 2, y: cy - 4, fontSize: 30, fontWeight: 700, textAnchor: "middle", fill: isCurrent ? "#ffffff" : btcOrange, fontFamily: "Georgia, serif", children: "\u20BF" }),
17672
+ /* @__PURE__ */ jsxs("text", { "data-cdl-counter-scaled": "1", x: bx + blockW / 2, y: cy + 16, fontSize: BTC_NO_SIZE * \u500D, fontFamily: "ui-monospace, SFMono-Regular, Menlo, monospace", fontWeight: 700, textAnchor: "middle", fill: isCurrent ? "#ffffff" : "var(--cdl-text-dim, #5a6270)", children: [
17673
+ "#",
17674
+ 820 + i
17675
+ ] })
17676
+ ] }, i);
17677
+ }) });
17678
+ };
17641
17679
  return /* @__PURE__ */ jsxs("g", { children: [
17642
17680
  fitArt(r, chainExtent(), art),
17643
17681
  bottomLabel2(node, r.cx, r.label)
@@ -17655,34 +17693,40 @@ function ShapeEthereumChainNode({ node, active }) {
17655
17693
  const linkW = CHAIN_LINK_W;
17656
17694
  const totalW = blockCount * blockW + (blockCount - 1) * linkW;
17657
17695
  const startX = cx - totalW / 2;
17658
- const art = /* @__PURE__ */ jsx("g", { children: Array.from({ length: blockCount }, (_, i) => i).map((i) => {
17659
- const bx = startX + i * (blockW + linkW);
17660
- const isCurrent = i === blockCount - 1;
17661
- const iconColors = isCurrent ? { light: "#ffffff", medium: "#e5e5f5", dark: "#c9c9e0", darker: "#a4a4c9", stroke: "#ffffff" } : { light: "#8a92b2", medium: "#62688f", dark: "#454a75", darker: "#3c3c3b", stroke: ethPurple };
17662
- return /* @__PURE__ */ jsxs("g", { children: [
17663
- i > 0 && /* @__PURE__ */ jsx("line", { x1: bx - linkW, y1: cy, x2: bx, y2: cy, stroke: ethPurple, strokeWidth: 3.5, strokeLinecap: "round" }),
17664
- /* @__PURE__ */ jsx("rect", { x: bx + 3, y: cy - blockH / 2 + 3, width: blockW, height: blockH, rx: 4, fill: frame.stroke, opacity: 0.18, stroke: "none" }),
17665
- /* @__PURE__ */ jsx(
17666
- "rect",
17667
- {
17668
- "data-cdl-role": i === 0 ? "node-body" : void 0,
17669
- x: bx,
17670
- y: cy - blockH / 2,
17671
- width: blockW,
17672
- height: blockH,
17673
- rx: 4,
17674
- fill: isCurrent ? ethPurple : "var(--cdl-node-fill, #ffffff)",
17675
- stroke: ethPurple,
17676
- strokeWidth: isCurrent ? 2.5 : 1.5
17677
- }
17678
- ),
17679
- /* @__PURE__ */ jsx(EthereumDiamond, { cx: bx + blockW / 2, cy: cy - 6, h: 16, colors: iconColors }),
17680
- /* @__PURE__ */ jsxs("text", { x: bx + blockW / 2, y: cy + 22, fontSize: 9, fontFamily: "ui-monospace, SFMono-Regular, Menlo, monospace", fontWeight: 700, textAnchor: "middle", fill: isCurrent ? "#ffffff" : "var(--cdl-text-dim, #5a6270)", children: [
17681
- "#",
17682
- 21400 + i
17683
- ] })
17684
- ] }, i);
17685
- }) });
17696
+ const \u6253\u3061\u6D88\u3059\u5B57\u3089 = [
17697
+ { text: "#214", size: ETH_NO_SIZE, \u5E2F: { \u5E45: CHAIN_TEXT_W, \u9AD8\u3055: 20 } }
17698
+ ];
17699
+ const art = (\u500D\u7387) => {
17700
+ const \u500D = \u6253\u3061\u6D88\u3057\u306E\u500D\u7387(\u500D\u7387, \u6253\u3061\u6D88\u3059\u5B57\u3089);
17701
+ return /* @__PURE__ */ jsx("g", { children: Array.from({ length: blockCount }, (_, i) => i).map((i) => {
17702
+ const bx = startX + i * (blockW + linkW);
17703
+ const isCurrent = i === blockCount - 1;
17704
+ const iconColors = isCurrent ? { light: "#ffffff", medium: "#e5e5f5", dark: "#c9c9e0", darker: "#a4a4c9", stroke: "#ffffff" } : { light: "#8a92b2", medium: "#62688f", dark: "#454a75", darker: "#3c3c3b", stroke: ethPurple };
17705
+ return /* @__PURE__ */ jsxs("g", { children: [
17706
+ i > 0 && /* @__PURE__ */ jsx("line", { x1: bx - linkW, y1: cy, x2: bx, y2: cy, stroke: ethPurple, strokeWidth: 3.5, strokeLinecap: "round" }),
17707
+ /* @__PURE__ */ jsx("rect", { x: bx + 3, y: cy - blockH / 2 + 3, width: blockW, height: blockH, rx: 4, fill: frame.stroke, opacity: 0.18, stroke: "none" }),
17708
+ /* @__PURE__ */ jsx(
17709
+ "rect",
17710
+ {
17711
+ "data-cdl-role": i === 0 ? "node-body" : void 0,
17712
+ x: bx,
17713
+ y: cy - blockH / 2,
17714
+ width: blockW,
17715
+ height: blockH,
17716
+ rx: 4,
17717
+ fill: isCurrent ? ethPurple : "var(--cdl-node-fill, #ffffff)",
17718
+ stroke: ethPurple,
17719
+ strokeWidth: isCurrent ? 2.5 : 1.5
17720
+ }
17721
+ ),
17722
+ /* @__PURE__ */ jsx(EthereumDiamond, { cx: bx + blockW / 2, cy: cy - 6, h: 16, colors: iconColors }),
17723
+ /* @__PURE__ */ jsxs("text", { "data-cdl-counter-scaled": "1", x: bx + blockW / 2, y: cy + 22, fontSize: ETH_NO_SIZE * \u500D, fontFamily: "ui-monospace, SFMono-Regular, Menlo, monospace", fontWeight: 700, textAnchor: "middle", fill: isCurrent ? "#ffffff" : "var(--cdl-text-dim, #5a6270)", children: [
17724
+ "#",
17725
+ 214 + i
17726
+ ] })
17727
+ ] }, i);
17728
+ }) });
17729
+ };
17686
17730
  return /* @__PURE__ */ jsxs("g", { children: [
17687
17731
  fitArt(r, chainExtent(), art),
17688
17732
  bottomLabel2(node, r.cx, r.label)
@@ -17856,39 +17900,46 @@ function ShapeNftNode({ node, active }) {
17856
17900
  const artH = cardH * 0.72;
17857
17901
  const artCx = x + cardW / 2;
17858
17902
  const artCy = y + artH / 2;
17859
- const art = /* @__PURE__ */ jsxs("g", { children: [
17860
- /* @__PURE__ */ jsx("rect", { x: x + 4, y: y + 4, width: cardW, height: cardH, rx: 14, fill: frame.stroke, opacity: 0.2, stroke: "none" }),
17861
- /* @__PURE__ */ jsx("rect", { "data-cdl-role": "node-body", x, y, width: cardW, height: cardH, rx: 14, ...frame }),
17862
- /* @__PURE__ */ jsx(
17863
- "path",
17864
- {
17865
- d: `M ${x} ${y + artH} L ${x} ${y + 14} Q ${x} ${y}, ${x + 14} ${y} L ${x + cardW - 14} ${y} Q ${x + cardW} ${y}, ${x + cardW} ${y + 14} L ${x + cardW} ${y + artH} Z`,
17866
- fill: "var(--cdl-tone-accent, #2d6a8f)",
17867
- fillOpacity: 0.15,
17868
- stroke: "none"
17869
- }
17870
- ),
17871
- /* @__PURE__ */ jsx(
17872
- "text",
17873
- {
17874
- x: artCx,
17875
- y: artCy + 24,
17876
- fontSize: 68,
17877
- fontWeight: 900,
17878
- letterSpacing: 4,
17879
- textAnchor: "middle",
17880
- fill: "var(--cdl-tone-accent, #2d6a8f)",
17881
- fontFamily: "Georgia, serif",
17882
- children: "NFT"
17883
- }
17884
- ),
17885
- /* @__PURE__ */ jsx("line", { x1: x, y1: y + artH, x2: x + cardW, y2: y + artH, stroke: frame.stroke, strokeWidth: 1, opacity: 0.5 }),
17886
- /* @__PURE__ */ jsx("text", { x: x + 16, y: y + artH + 30, fontSize: 15, fontWeight: 700, fill: "var(--cdl-text, #1a1f2a)", fontFamily: "ui-monospace, SFMono-Regular, Menlo, monospace", children: "#1024" }),
17887
- /* @__PURE__ */ jsxs("g", { transform: `translate(${x + cardW - 20}, ${y + artH + 22})`, children: [
17888
- /* @__PURE__ */ jsx("circle", { cx: 0, cy: 0, r: 10, fill: "#27c93f", stroke: "#ffffff", strokeWidth: 2 }),
17889
- /* @__PURE__ */ jsx("path", { d: "M -4 0 L -1 3 L 4 -3", fill: "none", stroke: "#ffffff", strokeWidth: 2.5, strokeLinecap: "round", strokeLinejoin: "round" })
17890
- ] })
17891
- ] });
17903
+ const \u6253\u3061\u6D88\u3059\u5B57\u3089 = [
17904
+ { text: "#1024", size: NFT_ID_SIZE, \u5E2F: { \u5E45: cardW - 16 - 34, \u9AD8\u3055: cardH - artH } }
17905
+ ];
17906
+ const art = (\u500D\u7387) => {
17907
+ const \u500D = \u6253\u3061\u6D88\u3057\u306E\u500D\u7387(\u500D\u7387, \u6253\u3061\u6D88\u3059\u5B57\u3089);
17908
+ return /* @__PURE__ */ jsxs("g", { children: [
17909
+ /* @__PURE__ */ jsx("rect", { x: x + 4, y: y + 4, width: cardW, height: cardH, rx: 14, fill: frame.stroke, opacity: 0.2, stroke: "none" }),
17910
+ /* @__PURE__ */ jsx("rect", { "data-cdl-role": "node-body", x, y, width: cardW, height: cardH, rx: 14, ...frame }),
17911
+ /* @__PURE__ */ jsx(
17912
+ "path",
17913
+ {
17914
+ d: `M ${x} ${y + artH} L ${x} ${y + 14} Q ${x} ${y}, ${x + 14} ${y} L ${x + cardW - 14} ${y} Q ${x + cardW} ${y}, ${x + cardW} ${y + 14} L ${x + cardW} ${y + artH} Z`,
17915
+ fill: "var(--cdl-tone-accent, #2d6a8f)",
17916
+ fillOpacity: 0.15,
17917
+ stroke: "none"
17918
+ }
17919
+ ),
17920
+ /* @__PURE__ */ jsx(
17921
+ "text",
17922
+ {
17923
+ "data-cdl-counter-scaled": "0",
17924
+ x: artCx,
17925
+ y: artCy + 24,
17926
+ fontSize: 68,
17927
+ fontWeight: 900,
17928
+ letterSpacing: 4,
17929
+ textAnchor: "middle",
17930
+ fill: "var(--cdl-tone-accent, #2d6a8f)",
17931
+ fontFamily: "Georgia, serif",
17932
+ children: "NFT"
17933
+ }
17934
+ ),
17935
+ /* @__PURE__ */ jsx("line", { x1: x, y1: y + artH, x2: x + cardW, y2: y + artH, stroke: frame.stroke, strokeWidth: 1, opacity: 0.5 }),
17936
+ /* @__PURE__ */ jsx("text", { "data-cdl-counter-scaled": "1", x: x + 16, y: y + artH + 30, fontSize: NFT_ID_SIZE * \u500D, fontWeight: 700, fill: "var(--cdl-text, #1a1f2a)", fontFamily: "ui-monospace, SFMono-Regular, Menlo, monospace", children: "#1024" }),
17937
+ /* @__PURE__ */ jsxs("g", { transform: `translate(${x + cardW - 20}, ${y + artH + 22})`, children: [
17938
+ /* @__PURE__ */ jsx("circle", { cx: 0, cy: 0, r: 10, fill: "#27c93f", stroke: "#ffffff", strokeWidth: 2 }),
17939
+ /* @__PURE__ */ jsx("path", { d: "M -4 0 L -1 3 L 4 -3", fill: "none", stroke: "#ffffff", strokeWidth: 2.5, strokeLinecap: "round", strokeLinejoin: "round" })
17940
+ ] })
17941
+ ] });
17942
+ };
17892
17943
  return /* @__PURE__ */ jsxs("g", { children: [
17893
17944
  fitArt(r, nftExtent(frame.strokeWidth), art),
17894
17945
  bottomLabel2(node, r.cx, r.label)
@@ -18017,7 +18068,7 @@ function ShapeBankNode({ node, active }) {
18017
18068
  }),
18018
18069
  /* @__PURE__ */ jsx("path", { d: `M ${x - BANK_BODY_OUT} ${y + pedimentH} L ${r.cx} ${y - BANK_PEDIMENT_RISE} L ${x + bldW + BANK_BODY_OUT} ${y + pedimentH} Z`, fill: "var(--cdl-node-fill, #ffffff)", stroke: frame.stroke, strokeWidth: frame.strokeWidth, strokeLinejoin: "round" }),
18019
18070
  /* @__PURE__ */ jsx("circle", { cx: r.cx, cy: y + pedimentH / 2 + 4, r: 14, fill: "var(--cdl-tone-accent, #2d6a8f)", stroke: frame.stroke, strokeWidth: 1.5 }),
18020
- /* @__PURE__ */ jsx("text", { x: r.cx, y: y + pedimentH / 2 + 10, fontSize: 18, fontWeight: 700, textAnchor: "middle", fill: "#ffffff", fontFamily: "Georgia, serif", children: "$" }),
18071
+ /* @__PURE__ */ jsx("text", { "data-cdl-counter-scaled": "0", x: r.cx, y: y + pedimentH / 2 + 10, fontSize: 18, fontWeight: 700, textAnchor: "middle", fill: "#ffffff", fontFamily: "Georgia, serif", children: "$" }),
18021
18072
  /* @__PURE__ */ jsx("rect", { x: x - 4, y: y + pedimentH, width: bldW + 8, height: architraveH, fill: "var(--cdl-divider, #d4d4d8)", fillOpacity: 0.4, stroke: frame.stroke, strokeWidth: frame.strokeWidth }),
18022
18073
  Array.from({ length: nCols }, (_, i) => i).map((i) => {
18023
18074
  const colCx = x + 12 + colGap + i * (colW + colGap) + colW / 2;
@@ -18083,7 +18134,7 @@ function ShapeTrustBankNode({ node, active, lang }) {
18083
18134
  return /* @__PURE__ */ jsx("rect", { x: r.cx - w / 2, y: y + bldH + i * BANK_STEP_DY, width: w, height: BANK_STEP_H, fill: "var(--cdl-divider, #d4d4d8)", fillOpacity: 0.5 + i * 0.15, stroke: frame.stroke, strokeWidth: BANK_STEP_SW }, i);
18084
18135
  }),
18085
18136
  /* @__PURE__ */ jsx("path", { d: `M ${x - 6} ${y + pedimentH} L ${r.cx} ${y + 2} L ${x + bldW + 6} ${y + pedimentH} Z`, fill: "var(--cdl-node-fill, #ffffff)", stroke: frame.stroke, strokeWidth: frame.strokeWidth, strokeLinejoin: "round" }),
18086
- /* @__PURE__ */ jsx("text", { x: r.cx, y: y + pedimentH - 8, fontSize: 15, fontWeight: 700, letterSpacing: 2, textAnchor: "middle", fill: "var(--cdl-tone-accent, #2d6a8f)", fontFamily: "Georgia, serif", children: \u5B57\u5F15("trustBank.sign") }),
18137
+ /* @__PURE__ */ jsx("text", { "data-cdl-counter-scaled": "0", x: r.cx, y: y + pedimentH - 8, fontSize: 15, fontWeight: 700, letterSpacing: 2, textAnchor: "middle", fill: "var(--cdl-tone-accent, #2d6a8f)", fontFamily: "Georgia, serif", children: \u5B57\u5F15("trustBank.sign") }),
18087
18138
  /* @__PURE__ */ jsx("rect", { x: x - 4, y: y + pedimentH, width: bldW + 8, height: architraveH, fill: "var(--cdl-divider, #d4d4d8)", fillOpacity: 0.4, stroke: frame.stroke, strokeWidth: frame.strokeWidth }),
18088
18139
  Array.from({ length: nCols }, (_, i) => i).map((i) => {
18089
18140
  const colCx = x + 15 + colGap + i * (colW + colGap) + colW / 2;
@@ -18126,7 +18177,7 @@ function ShapePaymentProviderNode({ node, active, lang }) {
18126
18177
  /* @__PURE__ */ jsx("circle", { cx, cy: cy + 4, r: 10, fill: "#e5c07b", stroke: accentDarker, strokeWidth: 1.5 }),
18127
18178
  /* @__PURE__ */ jsx("text", { x: cx, y: cy + 9, fontSize: 13, fontWeight: 700, textAnchor: "middle", fill: accentDarker, fontFamily: "Georgia, serif", children: "$" })
18128
18179
  ] }),
18129
- /* @__PURE__ */ jsx("text", { x: cx, y: y + boxH - 16, fontSize: 9, fontWeight: 700, letterSpacing: 2, textAnchor: "middle", fill: "#a4b5f2", children: \u5B57\u5F15("paymentProvider.status") }),
18180
+ /* @__PURE__ */ jsx("text", { x: cx, y: y + boxH - 16, fontSize: 11, fontWeight: 700, letterSpacing: 2, textAnchor: "middle", fill: "#a4b5f2", children: \u5B57\u5F15("paymentProvider.status") }),
18130
18181
  bottomLabel3(node, r.cx, r.label)
18131
18182
  ] });
18132
18183
  }
@@ -18155,9 +18206,12 @@ function ShapeCreditCardNode({ node, active }) {
18155
18206
  bottomLabel3(node, r.cx, r.label)
18156
18207
  ] });
18157
18208
  }
18158
- var BROKERAGE_TICK_H = 12;
18209
+ var BROKERAGE_TICK_H = 18;
18159
18210
  var BROKERAGE_LOGO_H = 26;
18160
- var BROKERAGE_GRID_TOP = 62;
18211
+ var BROKERAGE_TICKER_SIZE = 11;
18212
+ var BROKERAGE_TICK_INNER_H = 14;
18213
+ var BROKERAGE_SIGN_SIZE = 12;
18214
+ var BROKERAGE_GRID_TOP = 68;
18161
18215
  var BROKERAGE_CELL_W = 14;
18162
18216
  var BROKERAGE_CELL_H = 18;
18163
18217
  var BROKERAGE_GAP_X = 8;
@@ -18205,35 +18259,47 @@ function ShapeBrokerageNode({ node, active, lang }) {
18205
18259
  );
18206
18260
  const gridStartX = x + (w - (cols * cellW + (cols - 1) * gapX)) / 2;
18207
18261
  const goldCells = /* @__PURE__ */ new Set([`0,1`, `0,4`, `1,2`, `2,3`, `3,5`]);
18208
- const \u7D75 = /* @__PURE__ */ jsxs("g", { children: [
18209
- /* @__PURE__ */ jsx("ellipse", { cx, cy: y + h + BROKERAGE_SHADOW_DY, rx: w * BROKERAGE_SHADOW_RX_RATIO, ry: BROKERAGE_SHADOW_RY, fill: frame.stroke, opacity: 0.2, stroke: "none" }),
18210
- /* @__PURE__ */ jsx("rect", { "data-cdl-role": "node-body", x, y, width: w, height: h, fill: "#255a7a", stroke: accentDarker, strokeWidth: frame.strokeWidth }),
18211
- /* @__PURE__ */ jsx("rect", { x: x - BROKERAGE_SHADE_OUT, y, width: BROKERAGE_SHADE_OUT * 2, height: h, fill: accentDarker }),
18212
- /* @__PURE__ */ jsx("rect", { x, y, width: w, height: BROKERAGE_TICK_H, fill: "#0f1830", stroke: "none" }),
18213
- /* @__PURE__ */ jsx("rect", { x: x + 2, y: y + 2, width: w - 4, height: 8, fill: "#1a2340", stroke: "none" }),
18214
- /* @__PURE__ */ jsx("text", { x: cx, y: y + 9, fontSize: 5.5, fontWeight: 700, textAnchor: "middle", fill: "#4ea36a", fontFamily: "ui-monospace, SFMono-Regular, Menlo, monospace", children: \u5B57\u5F15("brokerage.ticker") }),
18215
- /* @__PURE__ */ jsx("rect", { x, y: y + BROKERAGE_TICK_H, width: w, height: BROKERAGE_LOGO_H, fill: "#e5c07b", stroke: "none" }),
18216
- /* @__PURE__ */ jsx("text", { x: cx, y: y + 30, fontSize: 12, fontWeight: 700, letterSpacing: 2.5, textAnchor: "middle", fill: "#0f1830", children: \u5B57\u5F15("brokerage.sign") }),
18217
- Array.from({ length: rows }).map(
18218
- (_, ri) => Array.from({ length: cols }).map((_2, ci) => {
18219
- const wx = gridStartX + ci * (cellW + gapX);
18220
- const wy = gridStartY + ri * (cellH + gapY);
18221
- const isGold = goldCells.has(`${ri},${ci}`);
18222
- return /* @__PURE__ */ jsx("rect", { x: wx, y: wy, width: cellW, height: cellH, fill: isGold ? "#e5c07b" : accentDarker }, `w${ri}${ci}`);
18223
- })
18224
- ),
18225
- /* @__PURE__ */ jsx("rect", { x, y: y + h - BROKERAGE_BASE_H, width: w, height: 12, fill: accentDarker }),
18226
- /* @__PURE__ */ jsx("circle", { cx, cy: y + h - 8, r: 12, fill: "#a89d8f", stroke: accentDarker, strokeWidth: 1.5 }),
18227
- /* @__PURE__ */ jsx("circle", { cx, cy: y + h - 8, r: 9, fill: "#8b949e", stroke: accentDarker, strokeWidth: 1 }),
18228
- /* @__PURE__ */ jsx("line", { x1: cx - 9, y1: y + h - 8, x2: cx + 9, y2: y + h - 8, stroke: accentDarker, strokeWidth: 0.8 }),
18229
- /* @__PURE__ */ jsx("line", { x1: cx, y1: y + h - 17, x2: cx, y2: y + h - 1, stroke: accentDarker, strokeWidth: 0.8 }),
18230
- /* @__PURE__ */ jsx("rect", { x: x - BROKERAGE_FLOOR_OUT, y: y + h + BROKERAGE_FLOOR_DY, width: w + BROKERAGE_FLOOR_OUT * 2, height: BROKERAGE_FLOOR_H, fill: "#5a6270", stroke: "none" })
18231
- ] });
18262
+ const \u6253\u3061\u6D88\u3059\u5B57\u3089 = [
18263
+ {
18264
+ text: \u5B57\u5F15("brokerage.ticker"),
18265
+ size: BROKERAGE_TICKER_SIZE,
18266
+ \u5E2F: { \u5E45: w - 4, \u9AD8\u3055: BROKERAGE_TICK_INNER_H }
18267
+ }
18268
+ ];
18269
+ const \u7D75 = (\u500D\u7387) => {
18270
+ const \u500D = \u6253\u3061\u6D88\u3057\u306E\u500D\u7387(\u500D\u7387, \u6253\u3061\u6D88\u3059\u5B57\u3089);
18271
+ return /* @__PURE__ */ jsxs("g", { children: [
18272
+ /* @__PURE__ */ jsx("ellipse", { cx, cy: y + h + BROKERAGE_SHADOW_DY, rx: w * BROKERAGE_SHADOW_RX_RATIO, ry: BROKERAGE_SHADOW_RY, fill: frame.stroke, opacity: 0.2, stroke: "none" }),
18273
+ /* @__PURE__ */ jsx("rect", { "data-cdl-role": "node-body", x, y, width: w, height: h, fill: "#255a7a", stroke: accentDarker, strokeWidth: frame.strokeWidth }),
18274
+ /* @__PURE__ */ jsx("rect", { x: x - BROKERAGE_SHADE_OUT, y, width: BROKERAGE_SHADE_OUT * 2, height: h, fill: accentDarker }),
18275
+ /* @__PURE__ */ jsx("rect", { x, y, width: w, height: BROKERAGE_TICK_H, fill: "#0f1830", stroke: "none" }),
18276
+ /* @__PURE__ */ jsx("rect", { x: x + 2, y: y + 2, width: w - 4, height: BROKERAGE_TICK_INNER_H, fill: "#1a2340", stroke: "none" }),
18277
+ /* @__PURE__ */ jsx("text", { "data-cdl-counter-scaled": "1", x: cx, y: y + 12, fontSize: BROKERAGE_TICKER_SIZE * \u500D, fontWeight: 700, textAnchor: "middle", fill: "#4ea36a", fontFamily: "ui-monospace, SFMono-Regular, Menlo, monospace", children: \u5B57\u5F15("brokerage.ticker") }),
18278
+ /* @__PURE__ */ jsx("rect", { x, y: y + BROKERAGE_TICK_H, width: w, height: BROKERAGE_LOGO_H, fill: "#e5c07b", stroke: "none" }),
18279
+ /* @__PURE__ */ jsx("text", { "data-cdl-counter-scaled": "0", x: cx, y: y + BROKERAGE_TICK_H + 18, fontSize: BROKERAGE_SIGN_SIZE, fontWeight: 700, letterSpacing: 2.5, textAnchor: "middle", fill: "#0f1830", children: \u5B57\u5F15("brokerage.sign") }),
18280
+ Array.from({ length: rows }).map(
18281
+ (_, ri) => Array.from({ length: cols }).map((_2, ci) => {
18282
+ const wx = gridStartX + ci * (cellW + gapX);
18283
+ const wy = gridStartY + ri * (cellH + gapY);
18284
+ const isGold = goldCells.has(`${ri},${ci}`);
18285
+ return /* @__PURE__ */ jsx("rect", { x: wx, y: wy, width: cellW, height: cellH, fill: isGold ? "#e5c07b" : accentDarker }, `w${ri}${ci}`);
18286
+ })
18287
+ ),
18288
+ /* @__PURE__ */ jsx("rect", { x, y: y + h - BROKERAGE_BASE_H, width: w, height: 12, fill: accentDarker }),
18289
+ /* @__PURE__ */ jsx("circle", { cx, cy: y + h - 8, r: 12, fill: "#a89d8f", stroke: accentDarker, strokeWidth: 1.5 }),
18290
+ /* @__PURE__ */ jsx("circle", { cx, cy: y + h - 8, r: 9, fill: "#8b949e", stroke: accentDarker, strokeWidth: 1 }),
18291
+ /* @__PURE__ */ jsx("line", { x1: cx - 9, y1: y + h - 8, x2: cx + 9, y2: y + h - 8, stroke: accentDarker, strokeWidth: 0.8 }),
18292
+ /* @__PURE__ */ jsx("line", { x1: cx, y1: y + h - 17, x2: cx, y2: y + h - 1, stroke: accentDarker, strokeWidth: 0.8 }),
18293
+ /* @__PURE__ */ jsx("rect", { x: x - BROKERAGE_FLOOR_OUT, y: y + h + BROKERAGE_FLOOR_DY, width: w + BROKERAGE_FLOOR_OUT * 2, height: BROKERAGE_FLOOR_H, fill: "#5a6270", stroke: "none" })
18294
+ ] });
18295
+ };
18232
18296
  return /* @__PURE__ */ jsxs("g", { children: [
18233
18297
  fitArt(r, \u5E83\u304C\u308A, \u7D75),
18234
18298
  bottomLabel3(node, r.cx, r.label)
18235
18299
  ] });
18236
18300
  }
18301
+ var EXCHANGE_SUB_SIZE = 11;
18302
+ var EXCHANGE_HEX_R = 52;
18237
18303
  function ShapeExchangeNode({ node, active, lang }) {
18238
18304
  const \u5B57\u5F15 = \u5B57\u5F15\u304D\u3092\u4F5C\u308B(lang);
18239
18305
  const frame = commonFrame5(active);
@@ -18253,7 +18319,8 @@ function ShapeExchangeNode({ node, active, lang }) {
18253
18319
  idx: i
18254
18320
  };
18255
18321
  });
18256
- const hexR = 45;
18322
+ const hexR = EXCHANGE_HEX_R;
18323
+ const \u516D\u89D2\u306E\u6A2A\u5E45 = (d) => hexR * Math.sqrt(3) * Math.min(1, Math.max(0, (hexR - Math.abs(d)) / (hexR / 2)));
18257
18324
  const hexPoints = [-90, -30, 30, 90, 150, 210].map((deg) => {
18258
18325
  const rad = deg * Math.PI / 180;
18259
18326
  return { x: cx + Math.cos(rad) * hexR, y: cy + Math.sin(rad) * hexR };
@@ -18261,7 +18328,7 @@ function ShapeExchangeNode({ node, active, lang }) {
18261
18328
  const hexPath = hexPoints.map((p, i) => `${i === 0 ? "M" : "L"} ${p.x} ${p.y}`).join(" ") + " Z";
18262
18329
  const \u7BC0\u70B9 = Math.max(0, nodeR) + 8 + 1.5 / 2;
18263
18330
  const \u516D\u89D2 = hexR + frame.strokeWidth / 2;
18264
- const \u5B57\u4E0B = 26 + 8 * 0.25;
18331
+ const \u5B57\u4E0B = 28 + EXCHANGE_SUB_SIZE * 0.25;
18265
18332
  const \u5916 = Math.max(\u7BC0\u70B9, \u516D\u89D2);
18266
18333
  const \u305A\u308C = cy - r.cy;
18267
18334
  const \u5E83\u304C\u308A = {
@@ -18270,21 +18337,31 @@ function ShapeExchangeNode({ node, active, lang }) {
18270
18337
  \u5DE6: \u5916,
18271
18338
  \u53F3: \u5916
18272
18339
  };
18273
- const \u7D75 = /* @__PURE__ */ jsxs("g", { children: [
18274
- nodes.map((n, i) => /* @__PURE__ */ jsx("line", { x1: cx, y1: cy, x2: n.cx, y2: n.cy, stroke: accentDarker, strokeWidth: 1.5, strokeDasharray: "3 2" }, `l${i}`)),
18275
- nodes.map((n, i) => {
18276
- const isGreen = i % 2 === 0;
18277
- return /* @__PURE__ */ jsxs("circle", { r: 4, fill: isGreen ? "#4ea36a" : "#c15a4a", stroke: "none", children: [
18278
- /* @__PURE__ */ jsx("animate", { attributeName: "cx", values: isGreen ? `${n.cx};${cx};${n.cx}` : `${cx};${n.cx};${cx}`, dur: `${1.5 + i % 3 * 0.3}s`, repeatCount: "indefinite", begin: `${i * 0.15}s` }),
18279
- /* @__PURE__ */ jsx("animate", { attributeName: "cy", values: isGreen ? `${n.cy};${cy};${n.cy}` : `${cy};${n.cy};${cy}`, dur: `${1.5 + i % 3 * 0.3}s`, repeatCount: "indefinite", begin: `${i * 0.15}s` })
18280
- ] }, `d${i}`);
18281
- }),
18282
- /* @__PURE__ */ jsx("path", { d: hexPath, fill: "#255a7a", stroke: accentDarker, strokeWidth: frame.strokeWidth, strokeLinejoin: "round" }),
18283
- /* @__PURE__ */ jsx("text", { x: cx, y: cy - 8, fontSize: 10, fontWeight: 700, letterSpacing: 2, textAnchor: "middle", fill: "#e5c07b", children: \u5B57\u5F15("exchange.sign") }),
18284
- /* @__PURE__ */ jsx("text", { "data-cdl-role": "node-body", x: cx, y: cy + 12, fontSize: 22, fontWeight: 700, textAnchor: "middle", fill: "#e5c07b", children: "\u21C4" }),
18285
- /* @__PURE__ */ jsx("text", { x: cx, y: cy + 26, fontSize: 8, fontWeight: 700, textAnchor: "middle", fill: "#a4b5f2", children: \u5B57\u5F15("exchange.sub") }),
18286
- nodes.map((n, i) => /* @__PURE__ */ jsx("circle", { cx: n.cx, cy: n.cy, r: 8, fill: n.fill, stroke: accentDarker, strokeWidth: 1.5 }, `n${i}`))
18287
- ] });
18340
+ const \u6253\u3061\u6D88\u3059\u5B57\u3089 = [
18341
+ {
18342
+ text: \u5B57\u5F15("exchange.sub"),
18343
+ size: EXCHANGE_SUB_SIZE,
18344
+ \u5E2F: { \u5E45: \u516D\u89D2\u306E\u6A2A\u5E45(\u5B57\u4E0B), \u9AD8\u3055: 14 }
18345
+ }
18346
+ ];
18347
+ const \u7D75 = (\u500D\u7387) => {
18348
+ const \u500D = \u6253\u3061\u6D88\u3057\u306E\u500D\u7387(\u500D\u7387, \u6253\u3061\u6D88\u3059\u5B57\u3089);
18349
+ return /* @__PURE__ */ jsxs("g", { children: [
18350
+ nodes.map((n, i) => /* @__PURE__ */ jsx("line", { x1: cx, y1: cy, x2: n.cx, y2: n.cy, stroke: accentDarker, strokeWidth: 1.5, strokeDasharray: "3 2" }, `l${i}`)),
18351
+ nodes.map((n, i) => {
18352
+ const isGreen = i % 2 === 0;
18353
+ return /* @__PURE__ */ jsxs("circle", { r: 4, fill: isGreen ? "#4ea36a" : "#c15a4a", stroke: "none", children: [
18354
+ /* @__PURE__ */ jsx("animate", { attributeName: "cx", values: isGreen ? `${n.cx};${cx};${n.cx}` : `${cx};${n.cx};${cx}`, dur: `${1.5 + i % 3 * 0.3}s`, repeatCount: "indefinite", begin: `${i * 0.15}s` }),
18355
+ /* @__PURE__ */ jsx("animate", { attributeName: "cy", values: isGreen ? `${n.cy};${cy};${n.cy}` : `${cy};${n.cy};${cy}`, dur: `${1.5 + i % 3 * 0.3}s`, repeatCount: "indefinite", begin: `${i * 0.15}s` })
18356
+ ] }, `d${i}`);
18357
+ }),
18358
+ /* @__PURE__ */ jsx("path", { d: hexPath, fill: "#255a7a", stroke: accentDarker, strokeWidth: frame.strokeWidth, strokeLinejoin: "round" }),
18359
+ /* @__PURE__ */ jsx("text", { "data-cdl-counter-scaled": "0", x: cx, y: cy - 10, fontSize: 11, fontWeight: 700, letterSpacing: 1, textAnchor: "middle", fill: "#e5c07b", children: \u5B57\u5F15("exchange.sign") }),
18360
+ /* @__PURE__ */ jsx("text", { "data-cdl-counter-scaled": "0", "data-cdl-role": "node-body", x: cx, y: cy + 12, fontSize: 22, fontWeight: 700, textAnchor: "middle", fill: "#e5c07b", children: "\u21C4" }),
18361
+ /* @__PURE__ */ jsx("text", { "data-cdl-counter-scaled": "1", x: cx, y: cy + 28, fontSize: EXCHANGE_SUB_SIZE * \u500D, fontWeight: 700, textAnchor: "middle", fill: "#a4b5f2", children: \u5B57\u5F15("exchange.sub") }),
18362
+ nodes.map((n, i) => /* @__PURE__ */ jsx("circle", { cx: n.cx, cy: n.cy, r: 8, fill: n.fill, stroke: accentDarker, strokeWidth: 1.5 }, `n${i}`))
18363
+ ] });
18364
+ };
18288
18365
  return /* @__PURE__ */ jsxs("g", { children: [
18289
18366
  fitArt(r, \u5E83\u304C\u308A, \u7D75),
18290
18367
  bottomLabel3(node, r.cx, r.label)
@@ -18299,10 +18376,10 @@ var ATM_SHADOW_RX_RATIO = 0.6;
18299
18376
  var ATM_FLOOR_UP = 6;
18300
18377
  var ATM_FLOOR_H = 10;
18301
18378
  var ATM_FLOOR_RESERVE = 12;
18302
- var ATM_PANEL_W = 140;
18379
+ var ATM_PANEL_W = 152;
18303
18380
  var ATM_PANEL_H = 146;
18304
18381
  var ATM_W_MIN = 100;
18305
- var ATM_W_MAX = 140;
18382
+ var ATM_W_MAX = ATM_PANEL_W;
18306
18383
  var ATM_H_MIN = ATM_SIGN_H + ATM_SIGN_GAP + 30 + ATM_FLOOR_RESERVE;
18307
18384
  function ShapeAtmNode({ node, active, lang }) {
18308
18385
  const \u5B57\u5F15 = \u5B57\u5F15\u304D\u3092\u4F5C\u308B(lang);
@@ -18339,13 +18416,13 @@ function ShapeAtmNode({ node, active, lang }) {
18339
18416
  const \u7D75 = /* @__PURE__ */ jsxs("g", { children: [
18340
18417
  /* @__PURE__ */ jsx("ellipse", { cx, cy: y + totalH + ATM_SHADOW_DY, rx: totalW * ATM_SHADOW_RX_RATIO, ry: ATM_SHADOW_RY, fill: frame.stroke, opacity: 0.15, stroke: "none" }),
18341
18418
  /* @__PURE__ */ jsx("rect", { x: centerX - totalW / 2, y: signY, width: totalW, height: signH, fill: accentDarker, stroke: "#000", strokeWidth: ATM_SIGN_SW }),
18342
- /* @__PURE__ */ jsx("text", { x: centerX, y: signY + 17, fontSize: 11, fontWeight: 700, letterSpacing: 2, textAnchor: "middle", fill: "#e5c07b", children: \u5B57\u5F15("atm.sign") }),
18419
+ /* @__PURE__ */ jsx("text", { "data-cdl-counter-scaled": "0", x: centerX, y: signY + 17, fontSize: 11, fontWeight: 700, letterSpacing: 2, textAnchor: "middle", fill: "#e5c07b", children: \u5B57\u5F15("atm.sign") }),
18343
18420
  /* @__PURE__ */ jsx("rect", { "data-cdl-role": "node-body", x: atmX, y: atmY, width: atmW, height: atmH, rx: 6, fill: "#255a7a", stroke: accentDarker, strokeWidth: frame.strokeWidth }),
18344
18421
  /* @__PURE__ */ jsxs("g", { transform: `translate(${centerX} ${atmY}) scale(${\u9762})`, children: [
18345
18422
  /* @__PURE__ */ jsx("rect", { x: \u9762\u5DE6 + 8, y: 10, width: ATM_PANEL_W - 16, height: 52, rx: 3, fill: "#0f1830", stroke: "#000", strokeWidth: 1.5 }),
18346
- /* @__PURE__ */ jsx("text", { x: 0, y: 30, fontSize: 10, fontWeight: 700, letterSpacing: 1, textAnchor: "middle", fill: "#e5c07b", children: "\u304A\u5F15\u51FA\u3057" }),
18347
- /* @__PURE__ */ jsx("text", { x: 0, y: 44, fontSize: 8, fontWeight: 700, textAnchor: "middle", fill: "#a4b5f2", children: \u5B57\u5F15("atm.screen") }),
18348
- /* @__PURE__ */ jsx("text", { x: 0, y: 56, fontSize: 10, fontWeight: 700, textAnchor: "middle", fill: "#4ea36a", children: "\xA5 20,000" }),
18423
+ /* @__PURE__ */ jsx("text", { "data-cdl-counter-scaled": "0", x: 0, y: 28, fontSize: 11, fontWeight: 700, letterSpacing: 1, textAnchor: "middle", fill: "#e5c07b", children: "\u304A\u5F15\u51FA\u3057" }),
18424
+ /* @__PURE__ */ jsx("text", { "data-cdl-counter-scaled": "0", x: 0, y: 42, fontSize: 11, fontWeight: 700, textAnchor: "middle", fill: "#a4b5f2", children: \u5B57\u5F15("atm.screen") }),
18425
+ /* @__PURE__ */ jsx("text", { "data-cdl-counter-scaled": "0", x: 0, y: 56, fontSize: 11, fontWeight: 700, textAnchor: "middle", fill: "#4ea36a", children: "\xA5 20,000" }),
18349
18426
  /* @__PURE__ */ jsx("rect", { x: \u9762\u5DE6 + 8, y: 68, width: ATM_PANEL_W - 16, height: 42, rx: 2, fill: "#8b949e", stroke: "#5a6270", strokeWidth: 1 }),
18350
18427
  (() => {
18351
18428
  const keys = [
@@ -18363,7 +18440,7 @@ function ShapeAtmNode({ node, active, lang }) {
18363
18440
  const keyW = 18;
18364
18441
  const keyH = 10;
18365
18442
  const keyGap = 4;
18366
- const startX = \u9762\u5DE6 + 14;
18443
+ const startX = \u9762\u5DE6 + (ATM_PANEL_W - (5 * keyW + 4 * keyGap)) / 2;
18367
18444
  return keys.map((k, i) => {
18368
18445
  const row = Math.floor(i / 5);
18369
18446
  const col = i % 5;
@@ -18371,7 +18448,7 @@ function ShapeAtmNode({ node, active, lang }) {
18371
18448
  const ky = 74 + row * (keyH + 2);
18372
18449
  return /* @__PURE__ */ jsxs("g", { children: [
18373
18450
  /* @__PURE__ */ jsx("rect", { x: kx, y: ky, width: keyW, height: keyH, fill: k[1], stroke: "#0f1830", strokeWidth: 0.8 }),
18374
- /* @__PURE__ */ jsx("text", { x: kx + keyW / 2, y: ky + 7, fontSize: (
18451
+ /* @__PURE__ */ jsx("text", { "data-cdl-counter-scaled": "0", x: kx + keyW / 2, y: ky + 7, fontSize: (
18375
18452
  /* 決める鍵 (末尾) は 2 字あるので小さく描く。 字は言語で変わるため位置で見分ける */
18376
18453
  i === keys.length - 1 ? 6 : 7
18377
18454
  ), fontWeight: 700, textAnchor: "middle", fill: "#ffffff", children: k[0] })
@@ -18380,7 +18457,7 @@ function ShapeAtmNode({ node, active, lang }) {
18380
18457
  })(),
18381
18458
  /* @__PURE__ */ jsx("rect", { x: \u9762\u5DE6 + 12, y: 116, width: ATM_PANEL_W - 24, height: 8, rx: 1.5, fill: "#0f1830", stroke: accentDarker, strokeWidth: 1 }),
18382
18459
  /* @__PURE__ */ jsx("rect", { x: \u9762\u5DE6 + 15, y: 118, width: ATM_PANEL_W - 30, height: 4, rx: 0.5, fill: "#e5c07b" }),
18383
- /* @__PURE__ */ jsx("text", { x: 0, y: 132, fontSize: 6, fontWeight: 700, letterSpacing: 1, textAnchor: "middle", fill: "#e5c07b", children: \u5B57\u5F15("atm.cardSlot") }),
18460
+ /* @__PURE__ */ jsx("text", { "data-cdl-counter-scaled": "0", x: 0, y: 132, fontSize: 11, fontWeight: 700, letterSpacing: 1, textAnchor: "middle", fill: "#e5c07b", children: \u5B57\u5F15("atm.cardSlot") }),
18384
18461
  /* @__PURE__ */ jsx("rect", { x: \u9762\u5DE6 + 12, y: 136, width: ATM_PANEL_W - 24, height: 4, rx: 1, fill: "#0f1830" })
18385
18462
  ] }),
18386
18463
  /* @__PURE__ */ jsx("rect", { x: centerX - totalW / 2, y: floorY, width: totalW, height: 6, fill: "#8b949e", stroke: "none" }),
@@ -18489,6 +18566,7 @@ function ShapeStorefrontNode({ node, active, lang }) {
18489
18566
  const doorH = facadeH - 30;
18490
18567
  const doorX = x + bw - doorW - 12;
18491
18568
  const doorY = facadeY + 20;
18569
+ const \u672D\u5E45 = Math.min(doorW - 6, 50);
18492
18570
  return /* @__PURE__ */ jsxs("g", { children: [
18493
18571
  /* @__PURE__ */ jsx("ellipse", { cx, cy: y + bh + 8, rx: bw * 0.5, ry: 5, fill: frame.stroke, opacity: 0.2, stroke: "none" }),
18494
18572
  /* @__PURE__ */ jsx("rect", { x, y, width: bw, height: signH, fill: accent, stroke: accentDark, strokeWidth: 2 }),
@@ -18505,8 +18583,8 @@ function ShapeStorefrontNode({ node, active, lang }) {
18505
18583
  /* @__PURE__ */ jsx("rect", { x: doorX + 4, y: doorY + 4, width: doorW - 8, height: doorH - 8, fill: "#8b949e", stroke: accentDarker, strokeWidth: 1.5 }),
18506
18584
  /* @__PURE__ */ jsx("line", { x1: doorX + 4, y1: doorY + doorH * 0.38, x2: doorX + doorW - 4, y2: doorY + doorH * 0.38, stroke: accentDarker, strokeWidth: 1 }),
18507
18585
  /* @__PURE__ */ jsx("line", { x1: doorX + 4, y1: doorY + doorH * 0.72, x2: doorX + doorW - 4, y2: doorY + doorH * 0.72, stroke: accentDarker, strokeWidth: 1 }),
18508
- /* @__PURE__ */ jsx("rect", { x: doorX + doorW / 2 - 20, y: doorY + doorH * 0.85, width: 40, height: 12, fill: "#e5c07b", stroke: "#a67c00", strokeWidth: 1.5 }),
18509
- /* @__PURE__ */ jsx("text", { x: doorX + doorW / 2, y: doorY + doorH * 0.85 + 9, fontSize: 8, fontWeight: 700, letterSpacing: 1, textAnchor: "middle", fill: "#5a3a10", children: \u5B57\u5F15("storefront.open") }),
18586
+ /* @__PURE__ */ jsx("rect", { x: doorX + doorW / 2 - \u672D\u5E45 / 2, y: doorY + doorH * 0.85, width: \u672D\u5E45, height: 16, fill: "#e5c07b", stroke: "#a67c00", strokeWidth: 1.5 }),
18587
+ /* @__PURE__ */ jsx("text", { x: doorX + doorW / 2, y: doorY + doorH * 0.85 + 11, fontSize: 11, fontWeight: 700, letterSpacing: 1, textAnchor: "middle", fill: "#5a3a10", children: \u5B57\u5F15("storefront.open") }),
18510
18588
  /* @__PURE__ */ jsx("circle", { cx: doorX + 6, cy: doorY + doorH * 0.55, r: 1.5, fill: "#c15a4a" }),
18511
18589
  /* @__PURE__ */ jsx("rect", { x: x - 6, y: y + bh - 6, width: bw + 12, height: 8, fill: "#5a6270", stroke: "none" }),
18512
18590
  bottomLabel4(node, r.cx, r.label)
@@ -18553,7 +18631,7 @@ function ShapeWarehouseNode({ node, active, lang }) {
18553
18631
  /* @__PURE__ */ jsx("path", { d: `M ${x - WAREHOUSE_ROOF_OUT} ${y + roofH} L ${x + 12} ${y + 2} L ${x + bw - 12} ${y + 2} L ${x + bw + WAREHOUSE_ROOF_OUT} ${y + roofH} Z`, fill: "#5a6270", stroke: accentDarker, strokeWidth: WAREHOUSE_ROOF_SW, strokeLinejoin: "round" }),
18554
18632
  /* @__PURE__ */ jsx("rect", { "data-cdl-role": "node-body", x, y: y + roofH, width: bw, height: bh - roofH - 12, fill: "#a89d8f", stroke: "#5a6270", strokeWidth: frame.strokeWidth }),
18555
18633
  /* @__PURE__ */ jsx("rect", { x, y: y + roofH, width: bw, height: signH, fill: "#c15a4a", stroke: "#8b3f2f", strokeWidth: 1.5 }),
18556
- /* @__PURE__ */ jsx("text", { x: cx, y: y + roofH + 17, fontSize: 12, fontWeight: 900, letterSpacing: 6, textAnchor: "middle", fill: "#ffffff", children: \u5B57\u5F15("warehouse.sign") }),
18634
+ /* @__PURE__ */ jsx("text", { "data-cdl-counter-scaled": "0", x: cx, y: y + roofH + 17, fontSize: 12, fontWeight: 900, letterSpacing: 6, textAnchor: "middle", fill: "#ffffff", children: \u5B57\u5F15("warehouse.sign") }),
18557
18635
  /* @__PURE__ */ jsx("rect", { x: shutterX, y: shutterY, width: shutterW, height: shutterH, fill: "#8b949e", stroke: accentDarker, strokeWidth: 2 }),
18558
18636
  /* @__PURE__ */ jsx("rect", { x: shutterX, y: shutterY, width: shutterW, height: 5, fill: "#5a6270", stroke: "none" }),
18559
18637
  Array.from({ length: 10 }, (_, i) => i).map((i) => /* @__PURE__ */ jsx(
@@ -18708,6 +18786,10 @@ var API_ROW_PITCH_MIN = 30;
18708
18786
  var API_ROW_BOTTOM_PAD = 12;
18709
18787
  var API_ROWS = 3;
18710
18788
  var API_H_MIN = API_ROW_TOP + (API_ROWS - 1) * API_ROW_PITCH_MIN + API_ROW_H + API_ROW_BOTTOM_PAD;
18789
+ var API_PATH_SIZE = 12;
18790
+ var API_SIGN_SIZE = 14;
18791
+ var API_METHOD_BOX_W = 54;
18792
+ var API_METHOD_TEXT_W = 48;
18711
18793
  var API_W_MIN = 200;
18712
18794
  var API_W_MAX = 300;
18713
18795
  function ShapeApiGatewayNode({ node, active, lang }) {
@@ -18722,28 +18804,37 @@ function ShapeApiGatewayNode({ node, active, lang }) {
18722
18804
  const x = cx - bw / 2;
18723
18805
  const y = r.cy - \u7E26 / 2 + \u4F59\u767D;
18724
18806
  const \u5E83\u304C\u308A = { \u4E0A: \u7E26 / 2, \u4E0B: \u7E26 / 2, \u5DE6: bw / 2 + \u4F59\u767D, \u53F3: bw / 2 + \u4F59\u767D };
18725
- const \u7A2E\u985E\u306E\u5B57 = (s) => Math.min(11, 11 * 48 / Math.max(displayWidth(s) * 11 * MONO_ADVANCE_RATIO, textWidth(s, 11)));
18807
+ const \u7A2E\u985E\u306E\u5B57 = (s) => Math.min(11, 11 * API_METHOD_TEXT_W / Math.max(displayWidth(s) * 11 * MONO_ADVANCE_RATIO, textWidth(s, 11)));
18726
18808
  const rowPitch = Math.max(
18727
18809
  API_ROW_PITCH_MIN,
18728
18810
  (bh - API_ROW_TOP - API_ROW_H - API_ROW_BOTTOM_PAD) / (API_ROWS - 1)
18729
18811
  );
18730
- const \u7D75 = /* @__PURE__ */ jsxs("g", { children: [
18731
- /* @__PURE__ */ jsx("rect", { x: x + DROP_SHADOW_D, y: y + DROP_SHADOW_D, width: bw, height: bh, rx: 10, fill: frame.stroke, opacity: 0.2, stroke: "none" }),
18732
- /* @__PURE__ */ jsx("rect", { "data-cdl-role": "node-body", x, y, width: bw, height: bh, rx: 10, fill: "#1a2332", stroke: frame.stroke, strokeWidth: frame.strokeWidth }),
18733
- /* @__PURE__ */ jsx("rect", { x, y, width: bw, height: 36, rx: 10, fill: "var(--cdl-tone-accent, #2d6a8f)", stroke: "none" }),
18734
- /* @__PURE__ */ jsx("text", { x: cx, y: y + 24, fontSize: 14, fontWeight: 700, letterSpacing: 3, textAnchor: "middle", fill: "#ffffff", fontFamily: "ui-monospace, SFMono-Regular, Menlo, monospace", children: \u5B57\u5F15("apiGateway.sign") }),
18735
- [
18736
- { method: "GET", path: \u5B57\u5F15("apiGateway.users"), color: "#27c93f" },
18737
- { method: "POST", path: \u5B57\u5F15("apiGateway.orders"), color: "#e5c07b" },
18738
- { method: \u5B57\u5F15("apiGateway.delete"), path: \u5B57\u5F15("apiGateway.session"), color: "#c9302c" }
18739
- ].map((e, i) => /* @__PURE__ */ jsxs("g", { transform: `translate(${x + 16}, ${y + API_ROW_TOP + i * rowPitch})`, children: [
18740
- /* @__PURE__ */ jsx("rect", { x: 0, y: 0, width: bw - 32, height: API_ROW_H, rx: 4, fill: "#0f1419", stroke: "none" }),
18741
- /* @__PURE__ */ jsx("rect", { x: 0, y: 0, width: 54, height: API_ROW_H, rx: 4, fill: e.color, stroke: "none" }),
18742
- /* @__PURE__ */ jsx("text", { x: 27, y: 16, fontSize: \u7A2E\u985E\u306E\u5B57(e.method), fontWeight: 700, textAnchor: "middle", fill: "#ffffff", fontFamily: "ui-monospace, SFMono-Regular, Menlo, monospace", children: e.method }),
18743
- /* @__PURE__ */ jsx("text", { x: 64, y: 16, fontSize: 12, fontFamily: "ui-monospace, SFMono-Regular, Menlo, monospace", fill: "#e6edf3", children: e.path }),
18744
- /* @__PURE__ */ jsx("circle", { cx: bw - 44, cy: 12, r: 4, fill: "#27c93f", stroke: "none", children: /* @__PURE__ */ jsx("animate", { attributeName: "opacity", values: "0.4;1;0.4", dur: `${1.2 + i * 0.3}s`, repeatCount: "indefinite" }) })
18745
- ] }, i))
18746
- ] });
18812
+ const \u884C\u3089 = [
18813
+ { method: "GET", path: \u5B57\u5F15("apiGateway.users"), color: "#27c93f" },
18814
+ { method: "POST", path: \u5B57\u5F15("apiGateway.orders"), color: "#e5c07b" },
18815
+ { method: \u5B57\u5F15("apiGateway.delete"), path: \u5B57\u5F15("apiGateway.session"), color: "#c9302c" }
18816
+ ];
18817
+ const \u6253\u3061\u6D88\u3059\u5B57\u3089 = \u884C\u3089.map((e) => ({
18818
+ text: e.path,
18819
+ size: API_PATH_SIZE,
18820
+ \u5E2F: { \u5E45: bw - 32 - 64 - 16, \u9AD8\u3055: API_ROW_H }
18821
+ }));
18822
+ const \u7D75 = (\u500D\u7387) => {
18823
+ const \u500D = \u6253\u3061\u6D88\u3057\u306E\u500D\u7387(\u500D\u7387, \u6253\u3061\u6D88\u3059\u5B57\u3089);
18824
+ return /* @__PURE__ */ jsxs("g", { children: [
18825
+ /* @__PURE__ */ jsx("rect", { x: x + DROP_SHADOW_D, y: y + DROP_SHADOW_D, width: bw, height: bh, rx: 10, fill: frame.stroke, opacity: 0.2, stroke: "none" }),
18826
+ /* @__PURE__ */ jsx("rect", { "data-cdl-role": "node-body", x, y, width: bw, height: bh, rx: 10, fill: "#1a2332", stroke: frame.stroke, strokeWidth: frame.strokeWidth }),
18827
+ /* @__PURE__ */ jsx("rect", { x, y, width: bw, height: 36, rx: 10, fill: "var(--cdl-tone-accent, #2d6a8f)", stroke: "none" }),
18828
+ /* @__PURE__ */ jsx("text", { "data-cdl-counter-scaled": "0", x: cx, y: y + 24, fontSize: API_SIGN_SIZE, fontWeight: 700, letterSpacing: 3, textAnchor: "middle", fill: "#ffffff", fontFamily: "ui-monospace, SFMono-Regular, Menlo, monospace", children: \u5B57\u5F15("apiGateway.sign") }),
18829
+ \u884C\u3089.map((e, i) => /* @__PURE__ */ jsxs("g", { transform: `translate(${x + 16}, ${y + API_ROW_TOP + i * rowPitch})`, children: [
18830
+ /* @__PURE__ */ jsx("rect", { x: 0, y: 0, width: bw - 32, height: API_ROW_H, rx: 4, fill: "#0f1419", stroke: "none" }),
18831
+ /* @__PURE__ */ jsx("rect", { x: 0, y: 0, width: API_METHOD_BOX_W, height: API_ROW_H, rx: 4, fill: e.color, stroke: "none" }),
18832
+ /* @__PURE__ */ jsx("text", { "data-cdl-counter-scaled": "0", x: 27, y: 16, fontSize: \u7A2E\u985E\u306E\u5B57(e.method), fontWeight: 700, textAnchor: "middle", fill: "#ffffff", fontFamily: "ui-monospace, SFMono-Regular, Menlo, monospace", children: e.method }),
18833
+ /* @__PURE__ */ jsx("text", { "data-cdl-counter-scaled": "1", x: 64, y: 16, fontSize: API_PATH_SIZE * \u500D, fontFamily: "ui-monospace, SFMono-Regular, Menlo, monospace", fill: "#e6edf3", children: e.path }),
18834
+ /* @__PURE__ */ jsx("circle", { cx: bw - 44, cy: 12, r: 4, fill: "#27c93f", stroke: "none", children: /* @__PURE__ */ jsx("animate", { attributeName: "opacity", values: "0.4;1;0.4", dur: `${1.2 + i * 0.3}s`, repeatCount: "indefinite" }) })
18835
+ ] }, i))
18836
+ ] });
18837
+ };
18747
18838
  return /* @__PURE__ */ jsxs("g", { children: [
18748
18839
  fitArt(r, \u5E83\u304C\u308A, \u7D75),
18749
18840
  bottomLabel4(node, r.cx, r.label)
@@ -18963,11 +19054,11 @@ function ShapeNotaryNode({ node, active }) {
18963
19054
  /* @__PURE__ */ jsx("line", { x1: chestX - 14, y1: chestY + 14, x2: chestX + 14, y2: chestY + 14, stroke: "#8b949e", strokeWidth: 1 }),
18964
19055
  /* @__PURE__ */ jsx("line", { x1: chestX - 14, y1: chestY + 22, x2: chestX + 8, y2: chestY + 22, stroke: "#8b949e", strokeWidth: 1 }),
18965
19056
  /* @__PURE__ */ jsx("line", { x1: chestX - 14, y1: chestY + 34, x2: chestX + 2, y2: chestY + 34, stroke: "#0f3450", strokeWidth: 1.5 }),
18966
- /* @__PURE__ */ jsx("text", { x: chestX + 6, y: chestY + 37, fontSize: 8, fill: "#0f3450", fontFamily: "cursive", fontStyle: "italic", children: "\u2713" }),
19057
+ /* @__PURE__ */ jsx("text", { "data-cdl-counter-scaled": "0", x: chestX + 6, y: chestY + 37, fontSize: 8, fill: "#0f3450", fontFamily: "cursive", fontStyle: "italic", children: "\u2713" }),
18967
19058
  haloBadge(bx, by, `nt-halo-${node.id}`, "#c15a4a", /* @__PURE__ */ jsxs("g", { children: [
18968
19059
  /* @__PURE__ */ jsx("circle", { cx: 0, cy: 0, r: 12, fill: "#c15a4a", stroke: "none" }),
18969
19060
  /* @__PURE__ */ jsx("circle", { cx: 0, cy: 0, r: 8, fill: "none", stroke: "#ffffff", strokeWidth: 1.2 }),
18970
- /* @__PURE__ */ jsx("text", { x: 0, y: 4, fontFamily: "Georgia, serif", fontSize: 10, fontWeight: 700, fill: "#ffffff", textAnchor: "middle", children: "\u5370" })
19061
+ /* @__PURE__ */ jsx("text", { "data-cdl-counter-scaled": "0", x: 0, y: 4, fontFamily: "Georgia, serif", fontSize: 10, fontWeight: 700, fill: "#ffffff", textAnchor: "middle", children: "\u5370" })
18971
19062
  ] }))
18972
19063
  ] })),
18973
19064
  bottomLabel5(node, r.cx, r.label)
@@ -19026,7 +19117,7 @@ function ShapeCustomerServiceNode({ node, active }) {
19026
19117
  p.render,
19027
19118
  collarV(cx, cy, p.strokeColor),
19028
19119
  /* @__PURE__ */ jsx("rect", { x: chestX - 22, y: chestY + 5, width: 44, height: 22, rx: 11, fill: "#e5c07b", stroke: "#a67c00", strokeWidth: 2 }),
19029
- /* @__PURE__ */ jsx("text", { x: chestX, y: chestY + 20, fontSize: 12, fontWeight: 900, fill: "#5a3a10", textAnchor: "middle", letterSpacing: 2, children: "24H" }),
19120
+ /* @__PURE__ */ jsx("text", { "data-cdl-counter-scaled": "0", x: chestX, y: chestY + 20, fontSize: 12, fontWeight: 900, fill: "#5a3a10", textAnchor: "middle", letterSpacing: 2, children: "24H" }),
19030
19121
  haloBadge(bx, by, `cs-halo-${node.id}`, "#a67c00", /* @__PURE__ */ jsxs("g", { children: [
19031
19122
  /* @__PURE__ */ jsx("path", { d: "M -11 4 C -11 -10, -6 -12, 0 -12 C 6 -12, 11 -10, 11 4", fill: "none", stroke: "#a67c00", strokeWidth: 2.5, strokeLinecap: "round" }),
19032
19123
  /* @__PURE__ */ jsx("rect", { x: -13, y: 2, width: 6, height: 11, rx: 1.5, fill: "#e5c07b", stroke: "#a67c00", strokeWidth: 1.5 }),