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