@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/index.cjs
CHANGED
|
@@ -394,8 +394,14 @@ var en = {
|
|
|
394
394
|
"paymentProvider.sign": "PAY",
|
|
395
395
|
/** `shape-payment-provider` の状態の札 */
|
|
396
396
|
"paymentProvider.status": "PROCESSING",
|
|
397
|
-
/**
|
|
398
|
-
|
|
397
|
+
/**
|
|
398
|
+
* `shape-brokerage` の株価の帯。
|
|
399
|
+
*
|
|
400
|
+
* **1 銘柄に絞る** (#888)。 電光掲示板の内側は幅 136 しか無く、2 銘柄を指定 11 で描くと
|
|
401
|
+
* 幅 181 になってビルの外へ出る。 板が流れている雰囲気は帯そのもの (黒地に緑の等幅) が
|
|
402
|
+
* 担うので、銘柄を減らしても絵は変わらない。
|
|
403
|
+
*/
|
|
404
|
+
"brokerage.ticker": "\u25B2NKY 38,240",
|
|
399
405
|
/** `shape-brokerage` の看板 */
|
|
400
406
|
"brokerage.sign": "$ SECURITIES",
|
|
401
407
|
/** `shape-exchange` の看板 */
|
|
@@ -598,7 +604,7 @@ var ja = {
|
|
|
598
604
|
"trustBank.sign": "\u4FE1\u8A17",
|
|
599
605
|
"paymentProvider.sign": "\u6C7A\u6E08",
|
|
600
606
|
"paymentProvider.status": "\u51E6\u7406\u4E2D",
|
|
601
|
-
"brokerage.ticker": "\u25B2\u65E5\u7D4C 38,240
|
|
607
|
+
"brokerage.ticker": "\u25B2\u65E5\u7D4C 38,240",
|
|
602
608
|
"brokerage.sign": "\xA5 \u8A3C\u5238",
|
|
603
609
|
"exchange.sign": "\u53D6\u5F15\u6240",
|
|
604
610
|
"exchange.sub": "\u6E05\u7B97",
|
|
@@ -28741,9 +28747,9 @@ function ShapeKanbanCardNode({ node, active, lang }) {
|
|
|
28741
28747
|
const ID\u5B57 = 11;
|
|
28742
28748
|
const ID\u5B57\u9593 = 1;
|
|
28743
28749
|
const PILL\u4E0A = 20;
|
|
28744
|
-
const PILL\u5E45 =
|
|
28750
|
+
const PILL\u5E45 = 70;
|
|
28745
28751
|
const PILL\u9AD8 = 16;
|
|
28746
|
-
const PILL\u5B57 =
|
|
28752
|
+
const PILL\u5B57 = 11;
|
|
28747
28753
|
const FOOTER\u4E0B = 22;
|
|
28748
28754
|
const AVATAR\u4E2D\u5FC3Y = 4;
|
|
28749
28755
|
const AVATAR\u534A\u5F84 = 9;
|
|
@@ -29876,7 +29882,7 @@ var SMART_CONTRACT_H = 220;
|
|
|
29876
29882
|
var BLOCK_W = 240;
|
|
29877
29883
|
var BLOCK_H = 220;
|
|
29878
29884
|
var \u898B\u51FA\u3057\u306E\u5B57 = 13;
|
|
29879
|
-
var \u540D\u306E\u5B57 =
|
|
29885
|
+
var \u540D\u306E\u5B57 = 11;
|
|
29880
29886
|
var \u5024\u306E\u5B57 = 11;
|
|
29881
29887
|
var \u884C\u306E\u9593\u9694 = 22;
|
|
29882
29888
|
var \u898B\u51FA\u3057\u306E\u5E2F = 32;
|
|
@@ -29890,6 +29896,15 @@ var CHAIN_BLOCK_H = 66;
|
|
|
29890
29896
|
var CHAIN_LINK_W = 12;
|
|
29891
29897
|
var CHAIN_SHADOW = 3;
|
|
29892
29898
|
var CHAIN_BLOCK_SW = 2.5;
|
|
29899
|
+
var CHAIN_HEAD_H = 16;
|
|
29900
|
+
var CHAIN_TEXT_W = CHAIN_BLOCK_W - 8;
|
|
29901
|
+
var CHAIN_ROW_GAP = 14;
|
|
29902
|
+
var CHAIN_NO_SIZE = 11;
|
|
29903
|
+
var CONTRACT_CALL_SIZE = 11;
|
|
29904
|
+
var NFT_ID_SIZE = 15;
|
|
29905
|
+
var CHAIN_HASH_SIZE = 11;
|
|
29906
|
+
var BTC_NO_SIZE = 11;
|
|
29907
|
+
var ETH_NO_SIZE = 11;
|
|
29893
29908
|
var NODE_HEX_R = 44;
|
|
29894
29909
|
var NODE_PEER_R = 12;
|
|
29895
29910
|
var NODE_PEER_GAP = 22;
|
|
@@ -30003,24 +30018,34 @@ function ShapeSmartContractNode({ node, active, lang }) {
|
|
|
30003
30018
|
gearPts.push(`${gearCx + Math.cos(a3) * gearTipR},${gearCy + Math.sin(a3) * gearTipR}`);
|
|
30004
30019
|
gearPts.push(`${gearCx + Math.cos(a4) * gearBodyR},${gearCy + Math.sin(a4) * gearBodyR}`);
|
|
30005
30020
|
}
|
|
30006
|
-
const
|
|
30007
|
-
|
|
30008
|
-
|
|
30009
|
-
|
|
30010
|
-
|
|
30011
|
-
|
|
30012
|
-
|
|
30013
|
-
|
|
30014
|
-
|
|
30015
|
-
|
|
30016
|
-
|
|
30017
|
-
|
|
30018
|
-
|
|
30019
|
-
|
|
30020
|
-
|
|
30021
|
-
|
|
30022
|
-
|
|
30023
|
-
|
|
30021
|
+
const \u6253\u3061\u6D88\u3059\u5B57\u3089 = [
|
|
30022
|
+
{
|
|
30023
|
+
text: \u5B57\u5F15("smartContract.call"),
|
|
30024
|
+
size: CONTRACT_CALL_SIZE,
|
|
30025
|
+
\u5E2F: { \u5E45: docW - 32, \u9AD8\u3055: 18 }
|
|
30026
|
+
}
|
|
30027
|
+
];
|
|
30028
|
+
const art = (\u500D\u7387) => {
|
|
30029
|
+
const \u500D = \u6253\u3061\u6D88\u3057\u306E\u500D\u7387(\u500D\u7387, \u6253\u3061\u6D88\u3059\u5B57\u3089);
|
|
30030
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("g", { children: [
|
|
30031
|
+
/* @__PURE__ */ jsxRuntime.jsx("path", { "data-cdl-role": "node-body", d: path, ...frame, strokeLinejoin: "round" }),
|
|
30032
|
+
/* @__PURE__ */ jsxRuntime.jsx("path", { d: foldPath, fill: "none", stroke: frame.stroke, strokeWidth: frame.strokeWidth, strokeLinejoin: "round" }),
|
|
30033
|
+
[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)),
|
|
30034
|
+
/* @__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") }),
|
|
30035
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
30036
|
+
"polygon",
|
|
30037
|
+
{
|
|
30038
|
+
points: gearPts.join(" "),
|
|
30039
|
+
fill: "var(--cdl-tone-accent, #2d6a8f)",
|
|
30040
|
+
stroke: frame.stroke,
|
|
30041
|
+
strokeWidth: 1.2,
|
|
30042
|
+
strokeLinejoin: "round",
|
|
30043
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("animateTransform", { attributeName: "transform", type: "rotate", from: `0 ${gearCx} ${gearCy}`, to: `360 ${gearCx} ${gearCy}`, dur: "8s", repeatCount: "indefinite" })
|
|
30044
|
+
}
|
|
30045
|
+
),
|
|
30046
|
+
/* @__PURE__ */ jsxRuntime.jsx("circle", { cx: gearCx, cy: gearCy, r: gearBodyR * 0.4, fill: "var(--cdl-node-fill, #ffffff)", stroke: "none" })
|
|
30047
|
+
] });
|
|
30048
|
+
};
|
|
30024
30049
|
return /* @__PURE__ */ jsxRuntime.jsxs("g", { children: [
|
|
30025
30050
|
fitArt(r, smartContractExtent(frame.strokeWidth), art),
|
|
30026
30051
|
bottomLabel2(node, r.cx, r.label)
|
|
@@ -30102,38 +30127,45 @@ function ShapeBlockchainNode({ node, active }) {
|
|
|
30102
30127
|
const linkW = CHAIN_LINK_W;
|
|
30103
30128
|
const totalW = blockCount * blockW + (blockCount - 1) * linkW;
|
|
30104
30129
|
const startX = cx - totalW / 2;
|
|
30105
|
-
const
|
|
30106
|
-
|
|
30107
|
-
|
|
30108
|
-
|
|
30109
|
-
|
|
30110
|
-
|
|
30111
|
-
|
|
30112
|
-
|
|
30113
|
-
|
|
30114
|
-
/* @__PURE__ */ jsxRuntime.
|
|
30115
|
-
"
|
|
30116
|
-
|
|
30117
|
-
"
|
|
30118
|
-
|
|
30119
|
-
|
|
30120
|
-
|
|
30121
|
-
|
|
30122
|
-
|
|
30123
|
-
|
|
30124
|
-
|
|
30125
|
-
|
|
30126
|
-
|
|
30127
|
-
|
|
30128
|
-
|
|
30129
|
-
|
|
30130
|
-
|
|
30131
|
-
|
|
30132
|
-
|
|
30133
|
-
|
|
30134
|
-
|
|
30135
|
-
|
|
30136
|
-
|
|
30130
|
+
const \u6253\u3061\u6D88\u3059\u5B57\u3089 = [
|
|
30131
|
+
{ text: "#420", size: CHAIN_NO_SIZE, \u5E2F: { \u5E45: CHAIN_TEXT_W, \u9AD8\u3055: CHAIN_HEAD_H } },
|
|
30132
|
+
{ text: "0x\u2026", size: CHAIN_HASH_SIZE, \u5E2F: { \u5E45: CHAIN_TEXT_W, \u9AD8\u3055: CHAIN_ROW_GAP } }
|
|
30133
|
+
];
|
|
30134
|
+
const art = (\u500D\u7387) => {
|
|
30135
|
+
const \u500D = \u6253\u3061\u6D88\u3057\u306E\u500D\u7387(\u500D\u7387, \u6253\u3061\u6D88\u3059\u5B57\u3089);
|
|
30136
|
+
return /* @__PURE__ */ jsxRuntime.jsx("g", { children: Array.from({ length: blockCount }, (_, i) => i).map((i) => {
|
|
30137
|
+
const bx = startX + i * (blockW + linkW);
|
|
30138
|
+
const isCurrent = i === blockCount - 1;
|
|
30139
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("g", { children: [
|
|
30140
|
+
i > 0 && /* @__PURE__ */ jsxRuntime.jsxs("g", { children: [
|
|
30141
|
+
/* @__PURE__ */ jsxRuntime.jsx("line", { x1: bx - linkW, y1: cy, x2: bx, y2: cy, stroke: frame.stroke, strokeWidth: 3, strokeLinecap: "round" }),
|
|
30142
|
+
/* @__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" }) })
|
|
30143
|
+
] }),
|
|
30144
|
+
/* @__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" }),
|
|
30145
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
30146
|
+
"rect",
|
|
30147
|
+
{
|
|
30148
|
+
"data-cdl-role": i === 0 ? "node-body" : void 0,
|
|
30149
|
+
x: bx,
|
|
30150
|
+
y: cy - blockH / 2,
|
|
30151
|
+
width: blockW,
|
|
30152
|
+
height: blockH,
|
|
30153
|
+
rx: 4,
|
|
30154
|
+
fill: isCurrent ? "var(--cdl-tone-accent, #2d6a8f)" : "var(--cdl-node-fill, #ffffff)",
|
|
30155
|
+
stroke: frame.stroke,
|
|
30156
|
+
strokeWidth: isCurrent ? 2.5 : 1.5
|
|
30157
|
+
}
|
|
30158
|
+
),
|
|
30159
|
+
/* @__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" }),
|
|
30160
|
+
/* @__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: [
|
|
30161
|
+
"#",
|
|
30162
|
+
420 + i
|
|
30163
|
+
] }),
|
|
30164
|
+
/* @__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: "#" }),
|
|
30165
|
+
/* @__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" })
|
|
30166
|
+
] }, i);
|
|
30167
|
+
}) });
|
|
30168
|
+
};
|
|
30137
30169
|
return /* @__PURE__ */ jsxRuntime.jsxs("g", { children: [
|
|
30138
30170
|
fitArt(r, chainExtent(), art),
|
|
30139
30171
|
bottomLabel2(node, r.cx, r.label)
|
|
@@ -30151,33 +30183,39 @@ function ShapeBitcoinChainNode({ node, active }) {
|
|
|
30151
30183
|
const linkW = CHAIN_LINK_W;
|
|
30152
30184
|
const totalW = blockCount * blockW + (blockCount - 1) * linkW;
|
|
30153
30185
|
const startX = cx - totalW / 2;
|
|
30154
|
-
const
|
|
30155
|
-
|
|
30156
|
-
|
|
30157
|
-
|
|
30158
|
-
|
|
30159
|
-
|
|
30160
|
-
|
|
30161
|
-
|
|
30162
|
-
|
|
30163
|
-
|
|
30164
|
-
|
|
30165
|
-
|
|
30166
|
-
|
|
30167
|
-
|
|
30168
|
-
|
|
30169
|
-
|
|
30170
|
-
|
|
30171
|
-
|
|
30172
|
-
|
|
30173
|
-
|
|
30174
|
-
|
|
30175
|
-
|
|
30176
|
-
|
|
30177
|
-
|
|
30178
|
-
|
|
30179
|
-
|
|
30180
|
-
|
|
30186
|
+
const \u6253\u3061\u6D88\u3059\u5B57\u3089 = [
|
|
30187
|
+
{ text: "#820", size: BTC_NO_SIZE, \u5E2F: { \u5E45: CHAIN_TEXT_W, \u9AD8\u3055: 20 } }
|
|
30188
|
+
];
|
|
30189
|
+
const art = (\u500D\u7387) => {
|
|
30190
|
+
const \u500D = \u6253\u3061\u6D88\u3057\u306E\u500D\u7387(\u500D\u7387, \u6253\u3061\u6D88\u3059\u5B57\u3089);
|
|
30191
|
+
return /* @__PURE__ */ jsxRuntime.jsx("g", { children: Array.from({ length: blockCount }, (_, i) => i).map((i) => {
|
|
30192
|
+
const bx = startX + i * (blockW + linkW);
|
|
30193
|
+
const isCurrent = i === blockCount - 1;
|
|
30194
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("g", { children: [
|
|
30195
|
+
i > 0 && /* @__PURE__ */ jsxRuntime.jsx("line", { x1: bx - linkW, y1: cy, x2: bx, y2: cy, stroke: btcOrange, strokeWidth: 3.5, strokeLinecap: "round" }),
|
|
30196
|
+
/* @__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" }),
|
|
30197
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
30198
|
+
"rect",
|
|
30199
|
+
{
|
|
30200
|
+
"data-cdl-role": i === 0 ? "node-body" : void 0,
|
|
30201
|
+
x: bx,
|
|
30202
|
+
y: cy - blockH / 2,
|
|
30203
|
+
width: blockW,
|
|
30204
|
+
height: blockH,
|
|
30205
|
+
rx: 4,
|
|
30206
|
+
fill: isCurrent ? btcOrange : "var(--cdl-node-fill, #ffffff)",
|
|
30207
|
+
stroke: btcOrange,
|
|
30208
|
+
strokeWidth: isCurrent ? 2.5 : 1.5
|
|
30209
|
+
}
|
|
30210
|
+
),
|
|
30211
|
+
/* @__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" }),
|
|
30212
|
+
/* @__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: [
|
|
30213
|
+
"#",
|
|
30214
|
+
820 + i
|
|
30215
|
+
] })
|
|
30216
|
+
] }, i);
|
|
30217
|
+
}) });
|
|
30218
|
+
};
|
|
30181
30219
|
return /* @__PURE__ */ jsxRuntime.jsxs("g", { children: [
|
|
30182
30220
|
fitArt(r, chainExtent(), art),
|
|
30183
30221
|
bottomLabel2(node, r.cx, r.label)
|
|
@@ -30195,34 +30233,40 @@ function ShapeEthereumChainNode({ node, active }) {
|
|
|
30195
30233
|
const linkW = CHAIN_LINK_W;
|
|
30196
30234
|
const totalW = blockCount * blockW + (blockCount - 1) * linkW;
|
|
30197
30235
|
const startX = cx - totalW / 2;
|
|
30198
|
-
const
|
|
30199
|
-
|
|
30200
|
-
|
|
30201
|
-
|
|
30202
|
-
|
|
30203
|
-
|
|
30204
|
-
|
|
30205
|
-
|
|
30206
|
-
|
|
30207
|
-
|
|
30208
|
-
|
|
30209
|
-
|
|
30210
|
-
|
|
30211
|
-
|
|
30212
|
-
|
|
30213
|
-
|
|
30214
|
-
|
|
30215
|
-
|
|
30216
|
-
|
|
30217
|
-
|
|
30218
|
-
|
|
30219
|
-
|
|
30220
|
-
|
|
30221
|
-
|
|
30222
|
-
|
|
30223
|
-
|
|
30224
|
-
|
|
30225
|
-
|
|
30236
|
+
const \u6253\u3061\u6D88\u3059\u5B57\u3089 = [
|
|
30237
|
+
{ text: "#214", size: ETH_NO_SIZE, \u5E2F: { \u5E45: CHAIN_TEXT_W, \u9AD8\u3055: 20 } }
|
|
30238
|
+
];
|
|
30239
|
+
const art = (\u500D\u7387) => {
|
|
30240
|
+
const \u500D = \u6253\u3061\u6D88\u3057\u306E\u500D\u7387(\u500D\u7387, \u6253\u3061\u6D88\u3059\u5B57\u3089);
|
|
30241
|
+
return /* @__PURE__ */ jsxRuntime.jsx("g", { children: Array.from({ length: blockCount }, (_, i) => i).map((i) => {
|
|
30242
|
+
const bx = startX + i * (blockW + linkW);
|
|
30243
|
+
const isCurrent = i === blockCount - 1;
|
|
30244
|
+
const iconColors = isCurrent ? { light: "#ffffff", medium: "#e5e5f5", dark: "#c9c9e0", darker: "#a4a4c9", stroke: "#ffffff" } : { light: "#8a92b2", medium: "#62688f", dark: "#454a75", darker: "#3c3c3b", stroke: ethPurple };
|
|
30245
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("g", { children: [
|
|
30246
|
+
i > 0 && /* @__PURE__ */ jsxRuntime.jsx("line", { x1: bx - linkW, y1: cy, x2: bx, y2: cy, stroke: ethPurple, strokeWidth: 3.5, strokeLinecap: "round" }),
|
|
30247
|
+
/* @__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" }),
|
|
30248
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
30249
|
+
"rect",
|
|
30250
|
+
{
|
|
30251
|
+
"data-cdl-role": i === 0 ? "node-body" : void 0,
|
|
30252
|
+
x: bx,
|
|
30253
|
+
y: cy - blockH / 2,
|
|
30254
|
+
width: blockW,
|
|
30255
|
+
height: blockH,
|
|
30256
|
+
rx: 4,
|
|
30257
|
+
fill: isCurrent ? ethPurple : "var(--cdl-node-fill, #ffffff)",
|
|
30258
|
+
stroke: ethPurple,
|
|
30259
|
+
strokeWidth: isCurrent ? 2.5 : 1.5
|
|
30260
|
+
}
|
|
30261
|
+
),
|
|
30262
|
+
/* @__PURE__ */ jsxRuntime.jsx(EthereumDiamond, { cx: bx + blockW / 2, cy: cy - 6, h: 16, colors: iconColors }),
|
|
30263
|
+
/* @__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: [
|
|
30264
|
+
"#",
|
|
30265
|
+
214 + i
|
|
30266
|
+
] })
|
|
30267
|
+
] }, i);
|
|
30268
|
+
}) });
|
|
30269
|
+
};
|
|
30226
30270
|
return /* @__PURE__ */ jsxRuntime.jsxs("g", { children: [
|
|
30227
30271
|
fitArt(r, chainExtent(), art),
|
|
30228
30272
|
bottomLabel2(node, r.cx, r.label)
|
|
@@ -30396,39 +30440,46 @@ function ShapeNftNode({ node, active }) {
|
|
|
30396
30440
|
const artH = cardH * 0.72;
|
|
30397
30441
|
const artCx = x + cardW / 2;
|
|
30398
30442
|
const artCy = y + artH / 2;
|
|
30399
|
-
const
|
|
30400
|
-
|
|
30401
|
-
|
|
30402
|
-
|
|
30403
|
-
|
|
30404
|
-
|
|
30405
|
-
|
|
30406
|
-
|
|
30407
|
-
|
|
30408
|
-
|
|
30409
|
-
|
|
30410
|
-
|
|
30411
|
-
|
|
30412
|
-
|
|
30413
|
-
|
|
30414
|
-
|
|
30415
|
-
|
|
30416
|
-
|
|
30417
|
-
|
|
30418
|
-
|
|
30419
|
-
|
|
30420
|
-
|
|
30421
|
-
|
|
30422
|
-
|
|
30423
|
-
|
|
30424
|
-
|
|
30425
|
-
|
|
30426
|
-
|
|
30427
|
-
|
|
30428
|
-
|
|
30429
|
-
|
|
30430
|
-
|
|
30431
|
-
|
|
30443
|
+
const \u6253\u3061\u6D88\u3059\u5B57\u3089 = [
|
|
30444
|
+
{ text: "#1024", size: NFT_ID_SIZE, \u5E2F: { \u5E45: cardW - 16 - 34, \u9AD8\u3055: cardH - artH } }
|
|
30445
|
+
];
|
|
30446
|
+
const art = (\u500D\u7387) => {
|
|
30447
|
+
const \u500D = \u6253\u3061\u6D88\u3057\u306E\u500D\u7387(\u500D\u7387, \u6253\u3061\u6D88\u3059\u5B57\u3089);
|
|
30448
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("g", { children: [
|
|
30449
|
+
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: x + 4, y: y + 4, width: cardW, height: cardH, rx: 14, fill: frame.stroke, opacity: 0.2, stroke: "none" }),
|
|
30450
|
+
/* @__PURE__ */ jsxRuntime.jsx("rect", { "data-cdl-role": "node-body", x, y, width: cardW, height: cardH, rx: 14, ...frame }),
|
|
30451
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
30452
|
+
"path",
|
|
30453
|
+
{
|
|
30454
|
+
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`,
|
|
30455
|
+
fill: "var(--cdl-tone-accent, #2d6a8f)",
|
|
30456
|
+
fillOpacity: 0.15,
|
|
30457
|
+
stroke: "none"
|
|
30458
|
+
}
|
|
30459
|
+
),
|
|
30460
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
30461
|
+
"text",
|
|
30462
|
+
{
|
|
30463
|
+
"data-cdl-counter-scaled": "0",
|
|
30464
|
+
x: artCx,
|
|
30465
|
+
y: artCy + 24,
|
|
30466
|
+
fontSize: 68,
|
|
30467
|
+
fontWeight: 900,
|
|
30468
|
+
letterSpacing: 4,
|
|
30469
|
+
textAnchor: "middle",
|
|
30470
|
+
fill: "var(--cdl-tone-accent, #2d6a8f)",
|
|
30471
|
+
fontFamily: "Georgia, serif",
|
|
30472
|
+
children: "NFT"
|
|
30473
|
+
}
|
|
30474
|
+
),
|
|
30475
|
+
/* @__PURE__ */ jsxRuntime.jsx("line", { x1: x, y1: y + artH, x2: x + cardW, y2: y + artH, stroke: frame.stroke, strokeWidth: 1, opacity: 0.5 }),
|
|
30476
|
+
/* @__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" }),
|
|
30477
|
+
/* @__PURE__ */ jsxRuntime.jsxs("g", { transform: `translate(${x + cardW - 20}, ${y + artH + 22})`, children: [
|
|
30478
|
+
/* @__PURE__ */ jsxRuntime.jsx("circle", { cx: 0, cy: 0, r: 10, fill: "#27c93f", stroke: "#ffffff", strokeWidth: 2 }),
|
|
30479
|
+
/* @__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" })
|
|
30480
|
+
] })
|
|
30481
|
+
] });
|
|
30482
|
+
};
|
|
30432
30483
|
return /* @__PURE__ */ jsxRuntime.jsxs("g", { children: [
|
|
30433
30484
|
fitArt(r, nftExtent(frame.strokeWidth), art),
|
|
30434
30485
|
bottomLabel2(node, r.cx, r.label)
|
|
@@ -30557,7 +30608,7 @@ function ShapeBankNode({ node, active }) {
|
|
|
30557
30608
|
}),
|
|
30558
30609
|
/* @__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" }),
|
|
30559
30610
|
/* @__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 }),
|
|
30560
|
-
/* @__PURE__ */ jsxRuntime.jsx("text", { x: r.cx, y: y + pedimentH / 2 + 10, fontSize: 18, fontWeight: 700, textAnchor: "middle", fill: "#ffffff", fontFamily: "Georgia, serif", children: "$" }),
|
|
30611
|
+
/* @__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: "$" }),
|
|
30561
30612
|
/* @__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 }),
|
|
30562
30613
|
Array.from({ length: nCols }, (_, i) => i).map((i) => {
|
|
30563
30614
|
const colCx = x + 12 + colGap + i * (colW + colGap) + colW / 2;
|
|
@@ -30623,7 +30674,7 @@ function ShapeTrustBankNode({ node, active, lang }) {
|
|
|
30623
30674
|
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);
|
|
30624
30675
|
}),
|
|
30625
30676
|
/* @__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" }),
|
|
30626
|
-
/* @__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") }),
|
|
30677
|
+
/* @__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") }),
|
|
30627
30678
|
/* @__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 }),
|
|
30628
30679
|
Array.from({ length: nCols }, (_, i) => i).map((i) => {
|
|
30629
30680
|
const colCx = x + 15 + colGap + i * (colW + colGap) + colW / 2;
|
|
@@ -30666,7 +30717,7 @@ function ShapePaymentProviderNode({ node, active, lang }) {
|
|
|
30666
30717
|
/* @__PURE__ */ jsxRuntime.jsx("circle", { cx, cy: cy + 4, r: 10, fill: "#e5c07b", stroke: accentDarker, strokeWidth: 1.5 }),
|
|
30667
30718
|
/* @__PURE__ */ jsxRuntime.jsx("text", { x: cx, y: cy + 9, fontSize: 13, fontWeight: 700, textAnchor: "middle", fill: accentDarker, fontFamily: "Georgia, serif", children: "$" })
|
|
30668
30719
|
] }),
|
|
30669
|
-
/* @__PURE__ */ jsxRuntime.jsx("text", { x: cx, y: y + boxH - 16, fontSize:
|
|
30720
|
+
/* @__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") }),
|
|
30670
30721
|
bottomLabel3(node, r.cx, r.label)
|
|
30671
30722
|
] });
|
|
30672
30723
|
}
|
|
@@ -30695,9 +30746,12 @@ function ShapeCreditCardNode({ node, active }) {
|
|
|
30695
30746
|
bottomLabel3(node, r.cx, r.label)
|
|
30696
30747
|
] });
|
|
30697
30748
|
}
|
|
30698
|
-
var BROKERAGE_TICK_H =
|
|
30749
|
+
var BROKERAGE_TICK_H = 18;
|
|
30699
30750
|
var BROKERAGE_LOGO_H = 26;
|
|
30700
|
-
var
|
|
30751
|
+
var BROKERAGE_TICKER_SIZE = 11;
|
|
30752
|
+
var BROKERAGE_TICK_INNER_H = 14;
|
|
30753
|
+
var BROKERAGE_SIGN_SIZE = 12;
|
|
30754
|
+
var BROKERAGE_GRID_TOP = 68;
|
|
30701
30755
|
var BROKERAGE_CELL_W = 14;
|
|
30702
30756
|
var BROKERAGE_CELL_H = 18;
|
|
30703
30757
|
var BROKERAGE_GAP_X = 8;
|
|
@@ -30745,35 +30799,47 @@ function ShapeBrokerageNode({ node, active, lang }) {
|
|
|
30745
30799
|
);
|
|
30746
30800
|
const gridStartX = x + (w - (cols * cellW + (cols - 1) * gapX)) / 2;
|
|
30747
30801
|
const goldCells = /* @__PURE__ */ new Set([`0,1`, `0,4`, `1,2`, `2,3`, `3,5`]);
|
|
30748
|
-
const \
|
|
30749
|
-
|
|
30750
|
-
|
|
30751
|
-
|
|
30752
|
-
|
|
30753
|
-
|
|
30754
|
-
|
|
30755
|
-
|
|
30756
|
-
|
|
30757
|
-
|
|
30758
|
-
|
|
30759
|
-
|
|
30760
|
-
|
|
30761
|
-
|
|
30762
|
-
|
|
30763
|
-
})
|
|
30764
|
-
|
|
30765
|
-
|
|
30766
|
-
|
|
30767
|
-
|
|
30768
|
-
|
|
30769
|
-
|
|
30770
|
-
|
|
30771
|
-
|
|
30802
|
+
const \u6253\u3061\u6D88\u3059\u5B57\u3089 = [
|
|
30803
|
+
{
|
|
30804
|
+
text: \u5B57\u5F15("brokerage.ticker"),
|
|
30805
|
+
size: BROKERAGE_TICKER_SIZE,
|
|
30806
|
+
\u5E2F: { \u5E45: w - 4, \u9AD8\u3055: BROKERAGE_TICK_INNER_H }
|
|
30807
|
+
}
|
|
30808
|
+
];
|
|
30809
|
+
const \u7D75 = (\u500D\u7387) => {
|
|
30810
|
+
const \u500D = \u6253\u3061\u6D88\u3057\u306E\u500D\u7387(\u500D\u7387, \u6253\u3061\u6D88\u3059\u5B57\u3089);
|
|
30811
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("g", { children: [
|
|
30812
|
+
/* @__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" }),
|
|
30813
|
+
/* @__PURE__ */ jsxRuntime.jsx("rect", { "data-cdl-role": "node-body", x, y, width: w, height: h, fill: "#255a7a", stroke: accentDarker, strokeWidth: frame.strokeWidth }),
|
|
30814
|
+
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: x - BROKERAGE_SHADE_OUT, y, width: BROKERAGE_SHADE_OUT * 2, height: h, fill: accentDarker }),
|
|
30815
|
+
/* @__PURE__ */ jsxRuntime.jsx("rect", { x, y, width: w, height: BROKERAGE_TICK_H, fill: "#0f1830", stroke: "none" }),
|
|
30816
|
+
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: x + 2, y: y + 2, width: w - 4, height: BROKERAGE_TICK_INNER_H, fill: "#1a2340", stroke: "none" }),
|
|
30817
|
+
/* @__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") }),
|
|
30818
|
+
/* @__PURE__ */ jsxRuntime.jsx("rect", { x, y: y + BROKERAGE_TICK_H, width: w, height: BROKERAGE_LOGO_H, fill: "#e5c07b", stroke: "none" }),
|
|
30819
|
+
/* @__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") }),
|
|
30820
|
+
Array.from({ length: rows }).map(
|
|
30821
|
+
(_, ri) => Array.from({ length: cols }).map((_2, ci) => {
|
|
30822
|
+
const wx = gridStartX + ci * (cellW + gapX);
|
|
30823
|
+
const wy = gridStartY + ri * (cellH + gapY);
|
|
30824
|
+
const isGold = goldCells.has(`${ri},${ci}`);
|
|
30825
|
+
return /* @__PURE__ */ jsxRuntime.jsx("rect", { x: wx, y: wy, width: cellW, height: cellH, fill: isGold ? "#e5c07b" : accentDarker }, `w${ri}${ci}`);
|
|
30826
|
+
})
|
|
30827
|
+
),
|
|
30828
|
+
/* @__PURE__ */ jsxRuntime.jsx("rect", { x, y: y + h - BROKERAGE_BASE_H, width: w, height: 12, fill: accentDarker }),
|
|
30829
|
+
/* @__PURE__ */ jsxRuntime.jsx("circle", { cx, cy: y + h - 8, r: 12, fill: "#a89d8f", stroke: accentDarker, strokeWidth: 1.5 }),
|
|
30830
|
+
/* @__PURE__ */ jsxRuntime.jsx("circle", { cx, cy: y + h - 8, r: 9, fill: "#8b949e", stroke: accentDarker, strokeWidth: 1 }),
|
|
30831
|
+
/* @__PURE__ */ jsxRuntime.jsx("line", { x1: cx - 9, y1: y + h - 8, x2: cx + 9, y2: y + h - 8, stroke: accentDarker, strokeWidth: 0.8 }),
|
|
30832
|
+
/* @__PURE__ */ jsxRuntime.jsx("line", { x1: cx, y1: y + h - 17, x2: cx, y2: y + h - 1, stroke: accentDarker, strokeWidth: 0.8 }),
|
|
30833
|
+
/* @__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" })
|
|
30834
|
+
] });
|
|
30835
|
+
};
|
|
30772
30836
|
return /* @__PURE__ */ jsxRuntime.jsxs("g", { children: [
|
|
30773
30837
|
fitArt(r, \u5E83\u304C\u308A, \u7D75),
|
|
30774
30838
|
bottomLabel3(node, r.cx, r.label)
|
|
30775
30839
|
] });
|
|
30776
30840
|
}
|
|
30841
|
+
var EXCHANGE_SUB_SIZE = 11;
|
|
30842
|
+
var EXCHANGE_HEX_R = 52;
|
|
30777
30843
|
function ShapeExchangeNode({ node, active, lang }) {
|
|
30778
30844
|
const \u5B57\u5F15 = \u5B57\u5F15\u304D\u3092\u4F5C\u308B(lang);
|
|
30779
30845
|
const frame = commonFrame5(active);
|
|
@@ -30793,7 +30859,8 @@ function ShapeExchangeNode({ node, active, lang }) {
|
|
|
30793
30859
|
idx: i
|
|
30794
30860
|
};
|
|
30795
30861
|
});
|
|
30796
|
-
const hexR =
|
|
30862
|
+
const hexR = EXCHANGE_HEX_R;
|
|
30863
|
+
const \u516D\u89D2\u306E\u6A2A\u5E45 = (d) => hexR * Math.sqrt(3) * Math.min(1, Math.max(0, (hexR - Math.abs(d)) / (hexR / 2)));
|
|
30797
30864
|
const hexPoints = [-90, -30, 30, 90, 150, 210].map((deg) => {
|
|
30798
30865
|
const rad = deg * Math.PI / 180;
|
|
30799
30866
|
return { x: cx + Math.cos(rad) * hexR, y: cy + Math.sin(rad) * hexR };
|
|
@@ -30801,7 +30868,7 @@ function ShapeExchangeNode({ node, active, lang }) {
|
|
|
30801
30868
|
const hexPath = hexPoints.map((p, i) => `${i === 0 ? "M" : "L"} ${p.x} ${p.y}`).join(" ") + " Z";
|
|
30802
30869
|
const \u7BC0\u70B9 = Math.max(0, nodeR) + 8 + 1.5 / 2;
|
|
30803
30870
|
const \u516D\u89D2 = hexR + frame.strokeWidth / 2;
|
|
30804
|
-
const \u5B57\u4E0B =
|
|
30871
|
+
const \u5B57\u4E0B = 28 + EXCHANGE_SUB_SIZE * 0.25;
|
|
30805
30872
|
const \u5916 = Math.max(\u7BC0\u70B9, \u516D\u89D2);
|
|
30806
30873
|
const \u305A\u308C = cy - r.cy;
|
|
30807
30874
|
const \u5E83\u304C\u308A = {
|
|
@@ -30810,21 +30877,31 @@ function ShapeExchangeNode({ node, active, lang }) {
|
|
|
30810
30877
|
\u5DE6: \u5916,
|
|
30811
30878
|
\u53F3: \u5916
|
|
30812
30879
|
};
|
|
30813
|
-
const \
|
|
30814
|
-
|
|
30815
|
-
|
|
30816
|
-
|
|
30817
|
-
|
|
30818
|
-
|
|
30819
|
-
|
|
30820
|
-
|
|
30821
|
-
|
|
30822
|
-
/* @__PURE__ */ jsxRuntime.
|
|
30823
|
-
|
|
30824
|
-
|
|
30825
|
-
|
|
30826
|
-
|
|
30827
|
-
|
|
30880
|
+
const \u6253\u3061\u6D88\u3059\u5B57\u3089 = [
|
|
30881
|
+
{
|
|
30882
|
+
text: \u5B57\u5F15("exchange.sub"),
|
|
30883
|
+
size: EXCHANGE_SUB_SIZE,
|
|
30884
|
+
\u5E2F: { \u5E45: \u516D\u89D2\u306E\u6A2A\u5E45(\u5B57\u4E0B), \u9AD8\u3055: 14 }
|
|
30885
|
+
}
|
|
30886
|
+
];
|
|
30887
|
+
const \u7D75 = (\u500D\u7387) => {
|
|
30888
|
+
const \u500D = \u6253\u3061\u6D88\u3057\u306E\u500D\u7387(\u500D\u7387, \u6253\u3061\u6D88\u3059\u5B57\u3089);
|
|
30889
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("g", { children: [
|
|
30890
|
+
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}`)),
|
|
30891
|
+
nodes.map((n, i) => {
|
|
30892
|
+
const isGreen = i % 2 === 0;
|
|
30893
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("circle", { r: 4, fill: isGreen ? "#4ea36a" : "#c15a4a", stroke: "none", children: [
|
|
30894
|
+
/* @__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` }),
|
|
30895
|
+
/* @__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` })
|
|
30896
|
+
] }, `d${i}`);
|
|
30897
|
+
}),
|
|
30898
|
+
/* @__PURE__ */ jsxRuntime.jsx("path", { d: hexPath, fill: "#255a7a", stroke: accentDarker, strokeWidth: frame.strokeWidth, strokeLinejoin: "round" }),
|
|
30899
|
+
/* @__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") }),
|
|
30900
|
+
/* @__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" }),
|
|
30901
|
+
/* @__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") }),
|
|
30902
|
+
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}`))
|
|
30903
|
+
] });
|
|
30904
|
+
};
|
|
30828
30905
|
return /* @__PURE__ */ jsxRuntime.jsxs("g", { children: [
|
|
30829
30906
|
fitArt(r, \u5E83\u304C\u308A, \u7D75),
|
|
30830
30907
|
bottomLabel3(node, r.cx, r.label)
|
|
@@ -30839,10 +30916,10 @@ var ATM_SHADOW_RX_RATIO = 0.6;
|
|
|
30839
30916
|
var ATM_FLOOR_UP = 6;
|
|
30840
30917
|
var ATM_FLOOR_H = 10;
|
|
30841
30918
|
var ATM_FLOOR_RESERVE = 12;
|
|
30842
|
-
var ATM_PANEL_W =
|
|
30919
|
+
var ATM_PANEL_W = 152;
|
|
30843
30920
|
var ATM_PANEL_H = 146;
|
|
30844
30921
|
var ATM_W_MIN = 100;
|
|
30845
|
-
var ATM_W_MAX =
|
|
30922
|
+
var ATM_W_MAX = ATM_PANEL_W;
|
|
30846
30923
|
var ATM_H_MIN = ATM_SIGN_H + ATM_SIGN_GAP + 30 + ATM_FLOOR_RESERVE;
|
|
30847
30924
|
function ShapeAtmNode({ node, active, lang }) {
|
|
30848
30925
|
const \u5B57\u5F15 = \u5B57\u5F15\u304D\u3092\u4F5C\u308B(lang);
|
|
@@ -30879,13 +30956,13 @@ function ShapeAtmNode({ node, active, lang }) {
|
|
|
30879
30956
|
const \u7D75 = /* @__PURE__ */ jsxRuntime.jsxs("g", { children: [
|
|
30880
30957
|
/* @__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" }),
|
|
30881
30958
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: centerX - totalW / 2, y: signY, width: totalW, height: signH, fill: accentDarker, stroke: "#000", strokeWidth: ATM_SIGN_SW }),
|
|
30882
|
-
/* @__PURE__ */ jsxRuntime.jsx("text", { x: centerX, y: signY + 17, fontSize: 11, fontWeight: 700, letterSpacing: 2, textAnchor: "middle", fill: "#e5c07b", children: \u5B57\u5F15("atm.sign") }),
|
|
30959
|
+
/* @__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") }),
|
|
30883
30960
|
/* @__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 }),
|
|
30884
30961
|
/* @__PURE__ */ jsxRuntime.jsxs("g", { transform: `translate(${centerX} ${atmY}) scale(${\u9762})`, children: [
|
|
30885
30962
|
/* @__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 }),
|
|
30886
|
-
/* @__PURE__ */ jsxRuntime.jsx("text", { x: 0, y:
|
|
30887
|
-
/* @__PURE__ */ jsxRuntime.jsx("text", { x: 0, y:
|
|
30888
|
-
/* @__PURE__ */ jsxRuntime.jsx("text", { x: 0, y: 56, fontSize:
|
|
30963
|
+
/* @__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" }),
|
|
30964
|
+
/* @__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") }),
|
|
30965
|
+
/* @__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" }),
|
|
30889
30966
|
/* @__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 }),
|
|
30890
30967
|
(() => {
|
|
30891
30968
|
const keys = [
|
|
@@ -30903,7 +30980,7 @@ function ShapeAtmNode({ node, active, lang }) {
|
|
|
30903
30980
|
const keyW = 18;
|
|
30904
30981
|
const keyH = 10;
|
|
30905
30982
|
const keyGap = 4;
|
|
30906
|
-
const startX = \u9762\u5DE6 +
|
|
30983
|
+
const startX = \u9762\u5DE6 + (ATM_PANEL_W - (5 * keyW + 4 * keyGap)) / 2;
|
|
30907
30984
|
return keys.map((k, i) => {
|
|
30908
30985
|
const row = Math.floor(i / 5);
|
|
30909
30986
|
const col = i % 5;
|
|
@@ -30911,7 +30988,7 @@ function ShapeAtmNode({ node, active, lang }) {
|
|
|
30911
30988
|
const ky = 74 + row * (keyH + 2);
|
|
30912
30989
|
return /* @__PURE__ */ jsxRuntime.jsxs("g", { children: [
|
|
30913
30990
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: kx, y: ky, width: keyW, height: keyH, fill: k[1], stroke: "#0f1830", strokeWidth: 0.8 }),
|
|
30914
|
-
/* @__PURE__ */ jsxRuntime.jsx("text", { x: kx + keyW / 2, y: ky + 7, fontSize: (
|
|
30991
|
+
/* @__PURE__ */ jsxRuntime.jsx("text", { "data-cdl-counter-scaled": "0", x: kx + keyW / 2, y: ky + 7, fontSize: (
|
|
30915
30992
|
/* 決める鍵 (末尾) は 2 字あるので小さく描く。 字は言語で変わるため位置で見分ける */
|
|
30916
30993
|
i === keys.length - 1 ? 6 : 7
|
|
30917
30994
|
), fontWeight: 700, textAnchor: "middle", fill: "#ffffff", children: k[0] })
|
|
@@ -30920,7 +30997,7 @@ function ShapeAtmNode({ node, active, lang }) {
|
|
|
30920
30997
|
})(),
|
|
30921
30998
|
/* @__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 }),
|
|
30922
30999
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: \u9762\u5DE6 + 15, y: 118, width: ATM_PANEL_W - 30, height: 4, rx: 0.5, fill: "#e5c07b" }),
|
|
30923
|
-
/* @__PURE__ */ jsxRuntime.jsx("text", { x: 0, y: 132, fontSize:
|
|
31000
|
+
/* @__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") }),
|
|
30924
31001
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: \u9762\u5DE6 + 12, y: 136, width: ATM_PANEL_W - 24, height: 4, rx: 1, fill: "#0f1830" })
|
|
30925
31002
|
] }),
|
|
30926
31003
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: centerX - totalW / 2, y: floorY, width: totalW, height: 6, fill: "#8b949e", stroke: "none" }),
|
|
@@ -31029,6 +31106,7 @@ function ShapeStorefrontNode({ node, active, lang }) {
|
|
|
31029
31106
|
const doorH = facadeH - 30;
|
|
31030
31107
|
const doorX = x + bw - doorW - 12;
|
|
31031
31108
|
const doorY = facadeY + 20;
|
|
31109
|
+
const \u672D\u5E45 = Math.min(doorW - 6, 50);
|
|
31032
31110
|
return /* @__PURE__ */ jsxRuntime.jsxs("g", { children: [
|
|
31033
31111
|
/* @__PURE__ */ jsxRuntime.jsx("ellipse", { cx, cy: y + bh + 8, rx: bw * 0.5, ry: 5, fill: frame.stroke, opacity: 0.2, stroke: "none" }),
|
|
31034
31112
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x, y, width: bw, height: signH, fill: accent, stroke: accentDark, strokeWidth: 2 }),
|
|
@@ -31045,8 +31123,8 @@ function ShapeStorefrontNode({ node, active, lang }) {
|
|
|
31045
31123
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: doorX + 4, y: doorY + 4, width: doorW - 8, height: doorH - 8, fill: "#8b949e", stroke: accentDarker, strokeWidth: 1.5 }),
|
|
31046
31124
|
/* @__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 }),
|
|
31047
31125
|
/* @__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 }),
|
|
31048
|
-
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: doorX + doorW / 2 -
|
|
31049
|
-
/* @__PURE__ */ jsxRuntime.jsx("text", { x: doorX + doorW / 2, y: doorY + doorH * 0.85 +
|
|
31126
|
+
/* @__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 }),
|
|
31127
|
+
/* @__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") }),
|
|
31050
31128
|
/* @__PURE__ */ jsxRuntime.jsx("circle", { cx: doorX + 6, cy: doorY + doorH * 0.55, r: 1.5, fill: "#c15a4a" }),
|
|
31051
31129
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: x - 6, y: y + bh - 6, width: bw + 12, height: 8, fill: "#5a6270", stroke: "none" }),
|
|
31052
31130
|
bottomLabel4(node, r.cx, r.label)
|
|
@@ -31093,7 +31171,7 @@ function ShapeWarehouseNode({ node, active, lang }) {
|
|
|
31093
31171
|
/* @__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" }),
|
|
31094
31172
|
/* @__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 }),
|
|
31095
31173
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x, y: y + roofH, width: bw, height: signH, fill: "#c15a4a", stroke: "#8b3f2f", strokeWidth: 1.5 }),
|
|
31096
|
-
/* @__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") }),
|
|
31174
|
+
/* @__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") }),
|
|
31097
31175
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: shutterX, y: shutterY, width: shutterW, height: shutterH, fill: "#8b949e", stroke: accentDarker, strokeWidth: 2 }),
|
|
31098
31176
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: shutterX, y: shutterY, width: shutterW, height: 5, fill: "#5a6270", stroke: "none" }),
|
|
31099
31177
|
Array.from({ length: 10 }, (_, i) => i).map((i) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -31248,6 +31326,10 @@ var API_ROW_PITCH_MIN = 30;
|
|
|
31248
31326
|
var API_ROW_BOTTOM_PAD = 12;
|
|
31249
31327
|
var API_ROWS = 3;
|
|
31250
31328
|
var API_H_MIN = API_ROW_TOP + (API_ROWS - 1) * API_ROW_PITCH_MIN + API_ROW_H + API_ROW_BOTTOM_PAD;
|
|
31329
|
+
var API_PATH_SIZE = 12;
|
|
31330
|
+
var API_SIGN_SIZE = 14;
|
|
31331
|
+
var API_METHOD_BOX_W = 54;
|
|
31332
|
+
var API_METHOD_TEXT_W = 48;
|
|
31251
31333
|
var API_W_MIN = 200;
|
|
31252
31334
|
var API_W_MAX = 300;
|
|
31253
31335
|
function ShapeApiGatewayNode({ node, active, lang }) {
|
|
@@ -31262,28 +31344,37 @@ function ShapeApiGatewayNode({ node, active, lang }) {
|
|
|
31262
31344
|
const x = cx - bw / 2;
|
|
31263
31345
|
const y = r.cy - \u7E26 / 2 + \u4F59\u767D;
|
|
31264
31346
|
const \u5E83\u304C\u308A = { \u4E0A: \u7E26 / 2, \u4E0B: \u7E26 / 2, \u5DE6: bw / 2 + \u4F59\u767D, \u53F3: bw / 2 + \u4F59\u767D };
|
|
31265
|
-
const \u7A2E\u985E\u306E\u5B57 = (s) => Math.min(11, 11 *
|
|
31347
|
+
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)));
|
|
31266
31348
|
const rowPitch = Math.max(
|
|
31267
31349
|
API_ROW_PITCH_MIN,
|
|
31268
31350
|
(bh - API_ROW_TOP - API_ROW_H - API_ROW_BOTTOM_PAD) / (API_ROWS - 1)
|
|
31269
31351
|
);
|
|
31270
|
-
const \
|
|
31271
|
-
|
|
31272
|
-
|
|
31273
|
-
|
|
31274
|
-
|
|
31275
|
-
|
|
31276
|
-
|
|
31277
|
-
|
|
31278
|
-
|
|
31279
|
-
|
|
31280
|
-
|
|
31281
|
-
|
|
31282
|
-
|
|
31283
|
-
/* @__PURE__ */ jsxRuntime.jsx("
|
|
31284
|
-
/* @__PURE__ */ jsxRuntime.jsx("
|
|
31285
|
-
|
|
31286
|
-
|
|
31352
|
+
const \u884C\u3089 = [
|
|
31353
|
+
{ method: "GET", path: \u5B57\u5F15("apiGateway.users"), color: "#27c93f" },
|
|
31354
|
+
{ method: "POST", path: \u5B57\u5F15("apiGateway.orders"), color: "#e5c07b" },
|
|
31355
|
+
{ method: \u5B57\u5F15("apiGateway.delete"), path: \u5B57\u5F15("apiGateway.session"), color: "#c9302c" }
|
|
31356
|
+
];
|
|
31357
|
+
const \u6253\u3061\u6D88\u3059\u5B57\u3089 = \u884C\u3089.map((e) => ({
|
|
31358
|
+
text: e.path,
|
|
31359
|
+
size: API_PATH_SIZE,
|
|
31360
|
+
\u5E2F: { \u5E45: bw - 32 - 64 - 16, \u9AD8\u3055: API_ROW_H }
|
|
31361
|
+
}));
|
|
31362
|
+
const \u7D75 = (\u500D\u7387) => {
|
|
31363
|
+
const \u500D = \u6253\u3061\u6D88\u3057\u306E\u500D\u7387(\u500D\u7387, \u6253\u3061\u6D88\u3059\u5B57\u3089);
|
|
31364
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("g", { children: [
|
|
31365
|
+
/* @__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" }),
|
|
31366
|
+
/* @__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 }),
|
|
31367
|
+
/* @__PURE__ */ jsxRuntime.jsx("rect", { x, y, width: bw, height: 36, rx: 10, fill: "var(--cdl-tone-accent, #2d6a8f)", stroke: "none" }),
|
|
31368
|
+
/* @__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") }),
|
|
31369
|
+
\u884C\u3089.map((e, i) => /* @__PURE__ */ jsxRuntime.jsxs("g", { transform: `translate(${x + 16}, ${y + API_ROW_TOP + i * rowPitch})`, children: [
|
|
31370
|
+
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: 0, y: 0, width: bw - 32, height: API_ROW_H, rx: 4, fill: "#0f1419", stroke: "none" }),
|
|
31371
|
+
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: 0, y: 0, width: API_METHOD_BOX_W, height: API_ROW_H, rx: 4, fill: e.color, stroke: "none" }),
|
|
31372
|
+
/* @__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 }),
|
|
31373
|
+
/* @__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 }),
|
|
31374
|
+
/* @__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" }) })
|
|
31375
|
+
] }, i))
|
|
31376
|
+
] });
|
|
31377
|
+
};
|
|
31287
31378
|
return /* @__PURE__ */ jsxRuntime.jsxs("g", { children: [
|
|
31288
31379
|
fitArt(r, \u5E83\u304C\u308A, \u7D75),
|
|
31289
31380
|
bottomLabel4(node, r.cx, r.label)
|
|
@@ -31503,11 +31594,11 @@ function ShapeNotaryNode({ node, active }) {
|
|
|
31503
31594
|
/* @__PURE__ */ jsxRuntime.jsx("line", { x1: chestX - 14, y1: chestY + 14, x2: chestX + 14, y2: chestY + 14, stroke: "#8b949e", strokeWidth: 1 }),
|
|
31504
31595
|
/* @__PURE__ */ jsxRuntime.jsx("line", { x1: chestX - 14, y1: chestY + 22, x2: chestX + 8, y2: chestY + 22, stroke: "#8b949e", strokeWidth: 1 }),
|
|
31505
31596
|
/* @__PURE__ */ jsxRuntime.jsx("line", { x1: chestX - 14, y1: chestY + 34, x2: chestX + 2, y2: chestY + 34, stroke: "#0f3450", strokeWidth: 1.5 }),
|
|
31506
|
-
/* @__PURE__ */ jsxRuntime.jsx("text", { x: chestX + 6, y: chestY + 37, fontSize: 8, fill: "#0f3450", fontFamily: "cursive", fontStyle: "italic", children: "\u2713" }),
|
|
31597
|
+
/* @__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" }),
|
|
31507
31598
|
haloBadge(bx, by, `nt-halo-${node.id}`, "#c15a4a", /* @__PURE__ */ jsxRuntime.jsxs("g", { children: [
|
|
31508
31599
|
/* @__PURE__ */ jsxRuntime.jsx("circle", { cx: 0, cy: 0, r: 12, fill: "#c15a4a", stroke: "none" }),
|
|
31509
31600
|
/* @__PURE__ */ jsxRuntime.jsx("circle", { cx: 0, cy: 0, r: 8, fill: "none", stroke: "#ffffff", strokeWidth: 1.2 }),
|
|
31510
|
-
/* @__PURE__ */ jsxRuntime.jsx("text", { x: 0, y: 4, fontFamily: "Georgia, serif", fontSize: 10, fontWeight: 700, fill: "#ffffff", textAnchor: "middle", children: "\u5370" })
|
|
31601
|
+
/* @__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" })
|
|
31511
31602
|
] }))
|
|
31512
31603
|
] })),
|
|
31513
31604
|
bottomLabel5(node, r.cx, r.label)
|
|
@@ -31566,7 +31657,7 @@ function ShapeCustomerServiceNode({ node, active }) {
|
|
|
31566
31657
|
p.render,
|
|
31567
31658
|
collarV(cx, cy, p.strokeColor),
|
|
31568
31659
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: chestX - 22, y: chestY + 5, width: 44, height: 22, rx: 11, fill: "#e5c07b", stroke: "#a67c00", strokeWidth: 2 }),
|
|
31569
|
-
/* @__PURE__ */ jsxRuntime.jsx("text", { x: chestX, y: chestY + 20, fontSize: 12, fontWeight: 900, fill: "#5a3a10", textAnchor: "middle", letterSpacing: 2, children: "24H" }),
|
|
31660
|
+
/* @__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" }),
|
|
31570
31661
|
haloBadge(bx, by, `cs-halo-${node.id}`, "#a67c00", /* @__PURE__ */ jsxRuntime.jsxs("g", { children: [
|
|
31571
31662
|
/* @__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" }),
|
|
31572
31663
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: -13, y: 2, width: 6, height: 11, rx: 1.5, fill: "#e5c07b", stroke: "#a67c00", strokeWidth: 1.5 }),
|