@cardenelabs/cdl 0.74.0 → 0.75.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 +38 -1
- package/dist/index.cjs +253 -181
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +253 -181
- package/dist/index.js.map +1 -1
- package/dist/react.cjs +253 -181
- package/dist/react.cjs.map +1 -1
- package/dist/react.js +253 -181
- package/dist/react.js.map +1 -1
- package/package.json +1 -1
- package/src/kinds/shape-blockchain.tsx +94 -17
- package/src/kinds/shape-commerce.tsx +45 -14
- package/src/kinds/shape-finance.tsx +73 -19
- package/src/kinds/shape-people.tsx +3 -3
package/dist/index.js
CHANGED
|
@@ -29888,6 +29888,15 @@ var CHAIN_BLOCK_H = 66;
|
|
|
29888
29888
|
var CHAIN_LINK_W = 12;
|
|
29889
29889
|
var CHAIN_SHADOW = 3;
|
|
29890
29890
|
var CHAIN_BLOCK_SW = 2.5;
|
|
29891
|
+
var CHAIN_HEAD_H = 16;
|
|
29892
|
+
var CHAIN_TEXT_W = CHAIN_BLOCK_W - 8;
|
|
29893
|
+
var CHAIN_ROW_GAP = 14;
|
|
29894
|
+
var CHAIN_NO_SIZE = 10;
|
|
29895
|
+
var CONTRACT_CALL_SIZE = 11;
|
|
29896
|
+
var NFT_ID_SIZE = 15;
|
|
29897
|
+
var CHAIN_HASH_SIZE = 7;
|
|
29898
|
+
var BTC_NO_SIZE = 9;
|
|
29899
|
+
var ETH_NO_SIZE = 9;
|
|
29891
29900
|
var NODE_HEX_R = 44;
|
|
29892
29901
|
var NODE_PEER_R = 12;
|
|
29893
29902
|
var NODE_PEER_GAP = 22;
|
|
@@ -30001,24 +30010,34 @@ function ShapeSmartContractNode({ node, active, lang }) {
|
|
|
30001
30010
|
gearPts.push(`${gearCx + Math.cos(a3) * gearTipR},${gearCy + Math.sin(a3) * gearTipR}`);
|
|
30002
30011
|
gearPts.push(`${gearCx + Math.cos(a4) * gearBodyR},${gearCy + Math.sin(a4) * gearBodyR}`);
|
|
30003
30012
|
}
|
|
30004
|
-
const
|
|
30005
|
-
|
|
30006
|
-
|
|
30007
|
-
|
|
30008
|
-
|
|
30009
|
-
|
|
30010
|
-
|
|
30011
|
-
|
|
30012
|
-
|
|
30013
|
-
|
|
30014
|
-
|
|
30015
|
-
|
|
30016
|
-
|
|
30017
|
-
|
|
30018
|
-
|
|
30019
|
-
|
|
30020
|
-
|
|
30021
|
-
|
|
30013
|
+
const \u6253\u3061\u6D88\u3059\u5B57\u3089 = [
|
|
30014
|
+
{
|
|
30015
|
+
text: \u5B57\u5F15("smartContract.call"),
|
|
30016
|
+
size: CONTRACT_CALL_SIZE,
|
|
30017
|
+
\u5E2F: { \u5E45: docW - 32, \u9AD8\u3055: 18 }
|
|
30018
|
+
}
|
|
30019
|
+
];
|
|
30020
|
+
const art = (\u500D\u7387) => {
|
|
30021
|
+
const \u500D = \u6253\u3061\u6D88\u3057\u306E\u500D\u7387(\u500D\u7387, \u6253\u3061\u6D88\u3059\u5B57\u3089);
|
|
30022
|
+
return /* @__PURE__ */ jsxs("g", { children: [
|
|
30023
|
+
/* @__PURE__ */ jsx("path", { "data-cdl-role": "node-body", d: path, ...frame, strokeLinejoin: "round" }),
|
|
30024
|
+
/* @__PURE__ */ jsx("path", { d: foldPath, fill: "none", stroke: frame.stroke, strokeWidth: frame.strokeWidth, strokeLinejoin: "round" }),
|
|
30025
|
+
[y + 40, y + 58, y + 76, y + 94].map((ly, i) => /* @__PURE__ */ jsx("rect", { x: x + 16, y: ly - 3, width: docW - 32 - i * 22, height: 5, rx: 1, fill: "var(--cdl-divider, #d4d4d8)", fillOpacity: 0.7, stroke: "none" }, i)),
|
|
30026
|
+
/* @__PURE__ */ jsx("text", { "data-cdl-counter-scaled": "1", x: x + 16, y: y + docH - 46, fontSize: CONTRACT_CALL_SIZE * \u500D, fontFamily: "ui-monospace, SFMono-Regular, Menlo, monospace", fill: "var(--cdl-tone-accent, #2d6a8f)", children: \u5B57\u5F15("smartContract.call") }),
|
|
30027
|
+
/* @__PURE__ */ jsx(
|
|
30028
|
+
"polygon",
|
|
30029
|
+
{
|
|
30030
|
+
points: gearPts.join(" "),
|
|
30031
|
+
fill: "var(--cdl-tone-accent, #2d6a8f)",
|
|
30032
|
+
stroke: frame.stroke,
|
|
30033
|
+
strokeWidth: 1.2,
|
|
30034
|
+
strokeLinejoin: "round",
|
|
30035
|
+
children: /* @__PURE__ */ jsx("animateTransform", { attributeName: "transform", type: "rotate", from: `0 ${gearCx} ${gearCy}`, to: `360 ${gearCx} ${gearCy}`, dur: "8s", repeatCount: "indefinite" })
|
|
30036
|
+
}
|
|
30037
|
+
),
|
|
30038
|
+
/* @__PURE__ */ jsx("circle", { cx: gearCx, cy: gearCy, r: gearBodyR * 0.4, fill: "var(--cdl-node-fill, #ffffff)", stroke: "none" })
|
|
30039
|
+
] });
|
|
30040
|
+
};
|
|
30022
30041
|
return /* @__PURE__ */ jsxs("g", { children: [
|
|
30023
30042
|
fitArt(r, smartContractExtent(frame.strokeWidth), art),
|
|
30024
30043
|
bottomLabel2(node, r.cx, r.label)
|
|
@@ -30100,38 +30119,45 @@ function ShapeBlockchainNode({ node, active }) {
|
|
|
30100
30119
|
const linkW = CHAIN_LINK_W;
|
|
30101
30120
|
const totalW = blockCount * blockW + (blockCount - 1) * linkW;
|
|
30102
30121
|
const startX = cx - totalW / 2;
|
|
30103
|
-
const
|
|
30104
|
-
|
|
30105
|
-
|
|
30106
|
-
|
|
30107
|
-
|
|
30108
|
-
|
|
30109
|
-
|
|
30110
|
-
|
|
30111
|
-
|
|
30112
|
-
/* @__PURE__ */
|
|
30113
|
-
"
|
|
30114
|
-
|
|
30115
|
-
"
|
|
30116
|
-
|
|
30117
|
-
|
|
30118
|
-
|
|
30119
|
-
|
|
30120
|
-
|
|
30121
|
-
|
|
30122
|
-
|
|
30123
|
-
|
|
30124
|
-
|
|
30125
|
-
|
|
30126
|
-
|
|
30127
|
-
|
|
30128
|
-
|
|
30129
|
-
|
|
30130
|
-
|
|
30131
|
-
|
|
30132
|
-
|
|
30133
|
-
|
|
30134
|
-
|
|
30122
|
+
const \u6253\u3061\u6D88\u3059\u5B57\u3089 = [
|
|
30123
|
+
{ text: "#420", size: CHAIN_NO_SIZE, \u5E2F: { \u5E45: CHAIN_TEXT_W, \u9AD8\u3055: CHAIN_HEAD_H } },
|
|
30124
|
+
{ text: "0x\u2026", size: CHAIN_HASH_SIZE, \u5E2F: { \u5E45: CHAIN_TEXT_W, \u9AD8\u3055: CHAIN_ROW_GAP } }
|
|
30125
|
+
];
|
|
30126
|
+
const art = (\u500D\u7387) => {
|
|
30127
|
+
const \u500D = \u6253\u3061\u6D88\u3057\u306E\u500D\u7387(\u500D\u7387, \u6253\u3061\u6D88\u3059\u5B57\u3089);
|
|
30128
|
+
return /* @__PURE__ */ jsx("g", { children: Array.from({ length: blockCount }, (_, i) => i).map((i) => {
|
|
30129
|
+
const bx = startX + i * (blockW + linkW);
|
|
30130
|
+
const isCurrent = i === blockCount - 1;
|
|
30131
|
+
return /* @__PURE__ */ jsxs("g", { children: [
|
|
30132
|
+
i > 0 && /* @__PURE__ */ jsxs("g", { children: [
|
|
30133
|
+
/* @__PURE__ */ jsx("line", { x1: bx - linkW, y1: cy, x2: bx, y2: cy, stroke: frame.stroke, strokeWidth: 3, strokeLinecap: "round" }),
|
|
30134
|
+
/* @__PURE__ */ jsx("circle", { cx: bx - linkW / 2, cy, r: 2.5, fill: "var(--cdl-tone-accent, #2d6a8f)", stroke: "none", children: /* @__PURE__ */ jsx("animate", { attributeName: "opacity", values: "0.3;1;0.3", dur: `${1 + i * 0.2}s`, repeatCount: "indefinite" }) })
|
|
30135
|
+
] }),
|
|
30136
|
+
/* @__PURE__ */ jsx("rect", { x: bx + 3, y: cy - blockH / 2 + 3, width: blockW, height: blockH, rx: 4, fill: frame.stroke, opacity: 0.18, stroke: "none" }),
|
|
30137
|
+
/* @__PURE__ */ jsx(
|
|
30138
|
+
"rect",
|
|
30139
|
+
{
|
|
30140
|
+
"data-cdl-role": i === 0 ? "node-body" : void 0,
|
|
30141
|
+
x: bx,
|
|
30142
|
+
y: cy - blockH / 2,
|
|
30143
|
+
width: blockW,
|
|
30144
|
+
height: blockH,
|
|
30145
|
+
rx: 4,
|
|
30146
|
+
fill: isCurrent ? "var(--cdl-tone-accent, #2d6a8f)" : "var(--cdl-node-fill, #ffffff)",
|
|
30147
|
+
stroke: frame.stroke,
|
|
30148
|
+
strokeWidth: isCurrent ? 2.5 : 1.5
|
|
30149
|
+
}
|
|
30150
|
+
),
|
|
30151
|
+
/* @__PURE__ */ jsx("rect", { x: bx, y: cy - blockH / 2, width: blockW, height: CHAIN_HEAD_H, rx: 4, fill: isCurrent ? "#1a4a68" : "var(--cdl-divider, #d4d4d8)", fillOpacity: isCurrent ? 1 : 0.4, stroke: "none" }),
|
|
30152
|
+
/* @__PURE__ */ jsxs("text", { "data-cdl-counter-scaled": "1", x: bx + blockW / 2, y: cy - blockH / 2 + 12, fontSize: CHAIN_NO_SIZE * \u500D, fontFamily: "ui-monospace, SFMono-Regular, Menlo, monospace", fontWeight: 700, textAnchor: "middle", fill: isCurrent ? "#ffffff" : "var(--cdl-text-dim, #5a6270)", children: [
|
|
30153
|
+
"#",
|
|
30154
|
+
420 + i
|
|
30155
|
+
] }),
|
|
30156
|
+
/* @__PURE__ */ jsx("text", { "data-cdl-counter-scaled": "0", x: bx + blockW / 2, y: cy + 8, fontSize: 14, fontWeight: 700, textAnchor: "middle", fill: isCurrent ? "#ffffff" : "var(--cdl-tone-accent, #2d6a8f)", fontFamily: "Georgia, serif", children: "#" }),
|
|
30157
|
+
/* @__PURE__ */ jsx("text", { "data-cdl-counter-scaled": "1", x: bx + blockW / 2, y: cy + 22, fontSize: CHAIN_HASH_SIZE * \u500D, fontFamily: "ui-monospace, SFMono-Regular, Menlo, monospace", textAnchor: "middle", fill: isCurrent ? "#ffffff" : "var(--cdl-text-dim, #5a6270)", opacity: 0.9, children: "0x\u2026" })
|
|
30158
|
+
] }, i);
|
|
30159
|
+
}) });
|
|
30160
|
+
};
|
|
30135
30161
|
return /* @__PURE__ */ jsxs("g", { children: [
|
|
30136
30162
|
fitArt(r, chainExtent(), art),
|
|
30137
30163
|
bottomLabel2(node, r.cx, r.label)
|
|
@@ -30149,33 +30175,39 @@ function ShapeBitcoinChainNode({ node, active }) {
|
|
|
30149
30175
|
const linkW = CHAIN_LINK_W;
|
|
30150
30176
|
const totalW = blockCount * blockW + (blockCount - 1) * linkW;
|
|
30151
30177
|
const startX = cx - totalW / 2;
|
|
30152
|
-
const
|
|
30153
|
-
|
|
30154
|
-
|
|
30155
|
-
|
|
30156
|
-
|
|
30157
|
-
|
|
30158
|
-
|
|
30159
|
-
|
|
30160
|
-
|
|
30161
|
-
|
|
30162
|
-
|
|
30163
|
-
|
|
30164
|
-
|
|
30165
|
-
|
|
30166
|
-
|
|
30167
|
-
|
|
30168
|
-
|
|
30169
|
-
|
|
30170
|
-
|
|
30171
|
-
|
|
30172
|
-
|
|
30173
|
-
|
|
30174
|
-
|
|
30175
|
-
|
|
30176
|
-
|
|
30177
|
-
|
|
30178
|
-
|
|
30178
|
+
const \u6253\u3061\u6D88\u3059\u5B57\u3089 = [
|
|
30179
|
+
{ text: "#820", size: BTC_NO_SIZE, \u5E2F: { \u5E45: CHAIN_TEXT_W, \u9AD8\u3055: 20 } }
|
|
30180
|
+
];
|
|
30181
|
+
const art = (\u500D\u7387) => {
|
|
30182
|
+
const \u500D = \u6253\u3061\u6D88\u3057\u306E\u500D\u7387(\u500D\u7387, \u6253\u3061\u6D88\u3059\u5B57\u3089);
|
|
30183
|
+
return /* @__PURE__ */ jsx("g", { children: Array.from({ length: blockCount }, (_, i) => i).map((i) => {
|
|
30184
|
+
const bx = startX + i * (blockW + linkW);
|
|
30185
|
+
const isCurrent = i === blockCount - 1;
|
|
30186
|
+
return /* @__PURE__ */ jsxs("g", { children: [
|
|
30187
|
+
i > 0 && /* @__PURE__ */ jsx("line", { x1: bx - linkW, y1: cy, x2: bx, y2: cy, stroke: btcOrange, strokeWidth: 3.5, strokeLinecap: "round" }),
|
|
30188
|
+
/* @__PURE__ */ jsx("rect", { x: bx + 3, y: cy - blockH / 2 + 3, width: blockW, height: blockH, rx: 4, fill: frame.stroke, opacity: 0.18, stroke: "none" }),
|
|
30189
|
+
/* @__PURE__ */ jsx(
|
|
30190
|
+
"rect",
|
|
30191
|
+
{
|
|
30192
|
+
"data-cdl-role": i === 0 ? "node-body" : void 0,
|
|
30193
|
+
x: bx,
|
|
30194
|
+
y: cy - blockH / 2,
|
|
30195
|
+
width: blockW,
|
|
30196
|
+
height: blockH,
|
|
30197
|
+
rx: 4,
|
|
30198
|
+
fill: isCurrent ? btcOrange : "var(--cdl-node-fill, #ffffff)",
|
|
30199
|
+
stroke: btcOrange,
|
|
30200
|
+
strokeWidth: isCurrent ? 2.5 : 1.5
|
|
30201
|
+
}
|
|
30202
|
+
),
|
|
30203
|
+
/* @__PURE__ */ jsx("text", { "data-cdl-counter-scaled": "0", x: bx + blockW / 2, y: cy - 4, fontSize: 30, fontWeight: 700, textAnchor: "middle", fill: isCurrent ? "#ffffff" : btcOrange, fontFamily: "Georgia, serif", children: "\u20BF" }),
|
|
30204
|
+
/* @__PURE__ */ jsxs("text", { "data-cdl-counter-scaled": "1", x: bx + blockW / 2, y: cy + 16, fontSize: BTC_NO_SIZE * \u500D, fontFamily: "ui-monospace, SFMono-Regular, Menlo, monospace", fontWeight: 700, textAnchor: "middle", fill: isCurrent ? "#ffffff" : "var(--cdl-text-dim, #5a6270)", children: [
|
|
30205
|
+
"#",
|
|
30206
|
+
820 + i
|
|
30207
|
+
] })
|
|
30208
|
+
] }, i);
|
|
30209
|
+
}) });
|
|
30210
|
+
};
|
|
30179
30211
|
return /* @__PURE__ */ jsxs("g", { children: [
|
|
30180
30212
|
fitArt(r, chainExtent(), art),
|
|
30181
30213
|
bottomLabel2(node, r.cx, r.label)
|
|
@@ -30215,7 +30247,7 @@ function ShapeEthereumChainNode({ node, active }) {
|
|
|
30215
30247
|
}
|
|
30216
30248
|
),
|
|
30217
30249
|
/* @__PURE__ */ jsx(EthereumDiamond, { cx: bx + blockW / 2, cy: cy - 6, h: 16, colors: iconColors }),
|
|
30218
|
-
/* @__PURE__ */ jsxs("text", { x: bx + blockW / 2, y: cy + 22, fontSize:
|
|
30250
|
+
/* @__PURE__ */ jsxs("text", { "data-cdl-counter-scaled": "0", x: bx + blockW / 2, y: cy + 22, fontSize: ETH_NO_SIZE, fontFamily: "ui-monospace, SFMono-Regular, Menlo, monospace", fontWeight: 700, textAnchor: "middle", fill: isCurrent ? "#ffffff" : "var(--cdl-text-dim, #5a6270)", children: [
|
|
30219
30251
|
"#",
|
|
30220
30252
|
21400 + i
|
|
30221
30253
|
] })
|
|
@@ -30394,39 +30426,46 @@ function ShapeNftNode({ node, active }) {
|
|
|
30394
30426
|
const artH = cardH * 0.72;
|
|
30395
30427
|
const artCx = x + cardW / 2;
|
|
30396
30428
|
const artCy = y + artH / 2;
|
|
30397
|
-
const
|
|
30398
|
-
|
|
30399
|
-
|
|
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
|
-
|
|
30429
|
+
const \u6253\u3061\u6D88\u3059\u5B57\u3089 = [
|
|
30430
|
+
{ text: "#1024", size: NFT_ID_SIZE, \u5E2F: { \u5E45: cardW - 16 - 34, \u9AD8\u3055: cardH - artH } }
|
|
30431
|
+
];
|
|
30432
|
+
const art = (\u500D\u7387) => {
|
|
30433
|
+
const \u500D = \u6253\u3061\u6D88\u3057\u306E\u500D\u7387(\u500D\u7387, \u6253\u3061\u6D88\u3059\u5B57\u3089);
|
|
30434
|
+
return /* @__PURE__ */ jsxs("g", { children: [
|
|
30435
|
+
/* @__PURE__ */ jsx("rect", { x: x + 4, y: y + 4, width: cardW, height: cardH, rx: 14, fill: frame.stroke, opacity: 0.2, stroke: "none" }),
|
|
30436
|
+
/* @__PURE__ */ jsx("rect", { "data-cdl-role": "node-body", x, y, width: cardW, height: cardH, rx: 14, ...frame }),
|
|
30437
|
+
/* @__PURE__ */ jsx(
|
|
30438
|
+
"path",
|
|
30439
|
+
{
|
|
30440
|
+
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`,
|
|
30441
|
+
fill: "var(--cdl-tone-accent, #2d6a8f)",
|
|
30442
|
+
fillOpacity: 0.15,
|
|
30443
|
+
stroke: "none"
|
|
30444
|
+
}
|
|
30445
|
+
),
|
|
30446
|
+
/* @__PURE__ */ jsx(
|
|
30447
|
+
"text",
|
|
30448
|
+
{
|
|
30449
|
+
"data-cdl-counter-scaled": "0",
|
|
30450
|
+
x: artCx,
|
|
30451
|
+
y: artCy + 24,
|
|
30452
|
+
fontSize: 68,
|
|
30453
|
+
fontWeight: 900,
|
|
30454
|
+
letterSpacing: 4,
|
|
30455
|
+
textAnchor: "middle",
|
|
30456
|
+
fill: "var(--cdl-tone-accent, #2d6a8f)",
|
|
30457
|
+
fontFamily: "Georgia, serif",
|
|
30458
|
+
children: "NFT"
|
|
30459
|
+
}
|
|
30460
|
+
),
|
|
30461
|
+
/* @__PURE__ */ jsx("line", { x1: x, y1: y + artH, x2: x + cardW, y2: y + artH, stroke: frame.stroke, strokeWidth: 1, opacity: 0.5 }),
|
|
30462
|
+
/* @__PURE__ */ jsx("text", { "data-cdl-counter-scaled": "1", x: x + 16, y: y + artH + 30, fontSize: NFT_ID_SIZE * \u500D, fontWeight: 700, fill: "var(--cdl-text, #1a1f2a)", fontFamily: "ui-monospace, SFMono-Regular, Menlo, monospace", children: "#1024" }),
|
|
30463
|
+
/* @__PURE__ */ jsxs("g", { transform: `translate(${x + cardW - 20}, ${y + artH + 22})`, children: [
|
|
30464
|
+
/* @__PURE__ */ jsx("circle", { cx: 0, cy: 0, r: 10, fill: "#27c93f", stroke: "#ffffff", strokeWidth: 2 }),
|
|
30465
|
+
/* @__PURE__ */ jsx("path", { d: "M -4 0 L -1 3 L 4 -3", fill: "none", stroke: "#ffffff", strokeWidth: 2.5, strokeLinecap: "round", strokeLinejoin: "round" })
|
|
30466
|
+
] })
|
|
30467
|
+
] });
|
|
30468
|
+
};
|
|
30430
30469
|
return /* @__PURE__ */ jsxs("g", { children: [
|
|
30431
30470
|
fitArt(r, nftExtent(frame.strokeWidth), art),
|
|
30432
30471
|
bottomLabel2(node, r.cx, r.label)
|
|
@@ -30555,7 +30594,7 @@ function ShapeBankNode({ node, active }) {
|
|
|
30555
30594
|
}),
|
|
30556
30595
|
/* @__PURE__ */ jsx("path", { d: `M ${x - BANK_BODY_OUT} ${y + pedimentH} L ${r.cx} ${y - BANK_PEDIMENT_RISE} L ${x + bldW + BANK_BODY_OUT} ${y + pedimentH} Z`, fill: "var(--cdl-node-fill, #ffffff)", stroke: frame.stroke, strokeWidth: frame.strokeWidth, strokeLinejoin: "round" }),
|
|
30557
30596
|
/* @__PURE__ */ jsx("circle", { cx: r.cx, cy: y + pedimentH / 2 + 4, r: 14, fill: "var(--cdl-tone-accent, #2d6a8f)", stroke: frame.stroke, strokeWidth: 1.5 }),
|
|
30558
|
-
/* @__PURE__ */ jsx("text", { x: r.cx, y: y + pedimentH / 2 + 10, fontSize: 18, fontWeight: 700, textAnchor: "middle", fill: "#ffffff", fontFamily: "Georgia, serif", children: "$" }),
|
|
30597
|
+
/* @__PURE__ */ jsx("text", { "data-cdl-counter-scaled": "0", x: r.cx, y: y + pedimentH / 2 + 10, fontSize: 18, fontWeight: 700, textAnchor: "middle", fill: "#ffffff", fontFamily: "Georgia, serif", children: "$" }),
|
|
30559
30598
|
/* @__PURE__ */ jsx("rect", { x: x - 4, y: y + pedimentH, width: bldW + 8, height: architraveH, fill: "var(--cdl-divider, #d4d4d8)", fillOpacity: 0.4, stroke: frame.stroke, strokeWidth: frame.strokeWidth }),
|
|
30560
30599
|
Array.from({ length: nCols }, (_, i) => i).map((i) => {
|
|
30561
30600
|
const colCx = x + 12 + colGap + i * (colW + colGap) + colW / 2;
|
|
@@ -30621,7 +30660,7 @@ function ShapeTrustBankNode({ node, active, lang }) {
|
|
|
30621
30660
|
return /* @__PURE__ */ jsx("rect", { x: r.cx - w / 2, y: y + bldH + i * BANK_STEP_DY, width: w, height: BANK_STEP_H, fill: "var(--cdl-divider, #d4d4d8)", fillOpacity: 0.5 + i * 0.15, stroke: frame.stroke, strokeWidth: BANK_STEP_SW }, i);
|
|
30622
30661
|
}),
|
|
30623
30662
|
/* @__PURE__ */ jsx("path", { d: `M ${x - 6} ${y + pedimentH} L ${r.cx} ${y + 2} L ${x + bldW + 6} ${y + pedimentH} Z`, fill: "var(--cdl-node-fill, #ffffff)", stroke: frame.stroke, strokeWidth: frame.strokeWidth, strokeLinejoin: "round" }),
|
|
30624
|
-
/* @__PURE__ */ jsx("text", { x: r.cx, y: y + pedimentH - 8, fontSize: 15, fontWeight: 700, letterSpacing: 2, textAnchor: "middle", fill: "var(--cdl-tone-accent, #2d6a8f)", fontFamily: "Georgia, serif", children: \u5B57\u5F15("trustBank.sign") }),
|
|
30663
|
+
/* @__PURE__ */ jsx("text", { "data-cdl-counter-scaled": "0", x: r.cx, y: y + pedimentH - 8, fontSize: 15, fontWeight: 700, letterSpacing: 2, textAnchor: "middle", fill: "var(--cdl-tone-accent, #2d6a8f)", fontFamily: "Georgia, serif", children: \u5B57\u5F15("trustBank.sign") }),
|
|
30625
30664
|
/* @__PURE__ */ jsx("rect", { x: x - 4, y: y + pedimentH, width: bldW + 8, height: architraveH, fill: "var(--cdl-divider, #d4d4d8)", fillOpacity: 0.4, stroke: frame.stroke, strokeWidth: frame.strokeWidth }),
|
|
30626
30665
|
Array.from({ length: nCols }, (_, i) => i).map((i) => {
|
|
30627
30666
|
const colCx = x + 15 + colGap + i * (colW + colGap) + colW / 2;
|
|
@@ -30695,6 +30734,9 @@ function ShapeCreditCardNode({ node, active }) {
|
|
|
30695
30734
|
}
|
|
30696
30735
|
var BROKERAGE_TICK_H = 12;
|
|
30697
30736
|
var BROKERAGE_LOGO_H = 26;
|
|
30737
|
+
var BROKERAGE_TICK_INNER_H = 8;
|
|
30738
|
+
var BROKERAGE_TICKER_SIZE = 5.5;
|
|
30739
|
+
var BROKERAGE_SIGN_SIZE = 12;
|
|
30698
30740
|
var BROKERAGE_GRID_TOP = 62;
|
|
30699
30741
|
var BROKERAGE_CELL_W = 14;
|
|
30700
30742
|
var BROKERAGE_CELL_H = 18;
|
|
@@ -30743,35 +30785,46 @@ function ShapeBrokerageNode({ node, active, lang }) {
|
|
|
30743
30785
|
);
|
|
30744
30786
|
const gridStartX = x + (w - (cols * cellW + (cols - 1) * gapX)) / 2;
|
|
30745
30787
|
const goldCells = /* @__PURE__ */ new Set([`0,1`, `0,4`, `1,2`, `2,3`, `3,5`]);
|
|
30746
|
-
const \
|
|
30747
|
-
|
|
30748
|
-
|
|
30749
|
-
|
|
30750
|
-
|
|
30751
|
-
|
|
30752
|
-
|
|
30753
|
-
|
|
30754
|
-
|
|
30755
|
-
|
|
30756
|
-
|
|
30757
|
-
|
|
30758
|
-
|
|
30759
|
-
|
|
30760
|
-
|
|
30761
|
-
})
|
|
30762
|
-
|
|
30763
|
-
|
|
30764
|
-
|
|
30765
|
-
|
|
30766
|
-
|
|
30767
|
-
|
|
30768
|
-
|
|
30769
|
-
|
|
30788
|
+
const \u6253\u3061\u6D88\u3059\u5B57\u3089 = [
|
|
30789
|
+
{
|
|
30790
|
+
text: \u5B57\u5F15("brokerage.ticker"),
|
|
30791
|
+
size: BROKERAGE_TICKER_SIZE,
|
|
30792
|
+
\u5E2F: { \u5E45: w - 4, \u9AD8\u3055: BROKERAGE_TICK_INNER_H }
|
|
30793
|
+
}
|
|
30794
|
+
];
|
|
30795
|
+
const \u7D75 = (\u500D\u7387) => {
|
|
30796
|
+
const \u500D = \u6253\u3061\u6D88\u3057\u306E\u500D\u7387(\u500D\u7387, \u6253\u3061\u6D88\u3059\u5B57\u3089);
|
|
30797
|
+
return /* @__PURE__ */ jsxs("g", { children: [
|
|
30798
|
+
/* @__PURE__ */ jsx("ellipse", { cx, cy: y + h + BROKERAGE_SHADOW_DY, rx: w * BROKERAGE_SHADOW_RX_RATIO, ry: BROKERAGE_SHADOW_RY, fill: frame.stroke, opacity: 0.2, stroke: "none" }),
|
|
30799
|
+
/* @__PURE__ */ jsx("rect", { "data-cdl-role": "node-body", x, y, width: w, height: h, fill: "#255a7a", stroke: accentDarker, strokeWidth: frame.strokeWidth }),
|
|
30800
|
+
/* @__PURE__ */ jsx("rect", { x: x - BROKERAGE_SHADE_OUT, y, width: BROKERAGE_SHADE_OUT * 2, height: h, fill: accentDarker }),
|
|
30801
|
+
/* @__PURE__ */ jsx("rect", { x, y, width: w, height: BROKERAGE_TICK_H, fill: "#0f1830", stroke: "none" }),
|
|
30802
|
+
/* @__PURE__ */ jsx("rect", { x: x + 2, y: y + 2, width: w - 4, height: 8, fill: "#1a2340", stroke: "none" }),
|
|
30803
|
+
/* @__PURE__ */ jsx("text", { "data-cdl-counter-scaled": "1", x: cx, y: y + 9, fontSize: BROKERAGE_TICKER_SIZE * \u500D, fontWeight: 700, textAnchor: "middle", fill: "#4ea36a", fontFamily: "ui-monospace, SFMono-Regular, Menlo, monospace", children: \u5B57\u5F15("brokerage.ticker") }),
|
|
30804
|
+
/* @__PURE__ */ jsx("rect", { x, y: y + BROKERAGE_TICK_H, width: w, height: BROKERAGE_LOGO_H, fill: "#e5c07b", stroke: "none" }),
|
|
30805
|
+
/* @__PURE__ */ jsx("text", { "data-cdl-counter-scaled": "0", x: cx, y: y + 30, fontSize: BROKERAGE_SIGN_SIZE, fontWeight: 700, letterSpacing: 2.5, textAnchor: "middle", fill: "#0f1830", children: \u5B57\u5F15("brokerage.sign") }),
|
|
30806
|
+
Array.from({ length: rows }).map(
|
|
30807
|
+
(_, ri) => Array.from({ length: cols }).map((_2, ci) => {
|
|
30808
|
+
const wx = gridStartX + ci * (cellW + gapX);
|
|
30809
|
+
const wy = gridStartY + ri * (cellH + gapY);
|
|
30810
|
+
const isGold = goldCells.has(`${ri},${ci}`);
|
|
30811
|
+
return /* @__PURE__ */ jsx("rect", { x: wx, y: wy, width: cellW, height: cellH, fill: isGold ? "#e5c07b" : accentDarker }, `w${ri}${ci}`);
|
|
30812
|
+
})
|
|
30813
|
+
),
|
|
30814
|
+
/* @__PURE__ */ jsx("rect", { x, y: y + h - BROKERAGE_BASE_H, width: w, height: 12, fill: accentDarker }),
|
|
30815
|
+
/* @__PURE__ */ jsx("circle", { cx, cy: y + h - 8, r: 12, fill: "#a89d8f", stroke: accentDarker, strokeWidth: 1.5 }),
|
|
30816
|
+
/* @__PURE__ */ jsx("circle", { cx, cy: y + h - 8, r: 9, fill: "#8b949e", stroke: accentDarker, strokeWidth: 1 }),
|
|
30817
|
+
/* @__PURE__ */ jsx("line", { x1: cx - 9, y1: y + h - 8, x2: cx + 9, y2: y + h - 8, stroke: accentDarker, strokeWidth: 0.8 }),
|
|
30818
|
+
/* @__PURE__ */ jsx("line", { x1: cx, y1: y + h - 17, x2: cx, y2: y + h - 1, stroke: accentDarker, strokeWidth: 0.8 }),
|
|
30819
|
+
/* @__PURE__ */ jsx("rect", { x: x - BROKERAGE_FLOOR_OUT, y: y + h + BROKERAGE_FLOOR_DY, width: w + BROKERAGE_FLOOR_OUT * 2, height: BROKERAGE_FLOOR_H, fill: "#5a6270", stroke: "none" })
|
|
30820
|
+
] });
|
|
30821
|
+
};
|
|
30770
30822
|
return /* @__PURE__ */ jsxs("g", { children: [
|
|
30771
30823
|
fitArt(r, \u5E83\u304C\u308A, \u7D75),
|
|
30772
30824
|
bottomLabel3(node, r.cx, r.label)
|
|
30773
30825
|
] });
|
|
30774
30826
|
}
|
|
30827
|
+
var EXCHANGE_SUB_SIZE = 8;
|
|
30775
30828
|
function ShapeExchangeNode({ node, active, lang }) {
|
|
30776
30829
|
const \u5B57\u5F15 = \u5B57\u5F15\u304D\u3092\u4F5C\u308B(lang);
|
|
30777
30830
|
const frame = commonFrame5(active);
|
|
@@ -30799,7 +30852,7 @@ function ShapeExchangeNode({ node, active, lang }) {
|
|
|
30799
30852
|
const hexPath = hexPoints.map((p, i) => `${i === 0 ? "M" : "L"} ${p.x} ${p.y}`).join(" ") + " Z";
|
|
30800
30853
|
const \u7BC0\u70B9 = Math.max(0, nodeR) + 8 + 1.5 / 2;
|
|
30801
30854
|
const \u516D\u89D2 = hexR + frame.strokeWidth / 2;
|
|
30802
|
-
const \u5B57\u4E0B = 26 +
|
|
30855
|
+
const \u5B57\u4E0B = 26 + EXCHANGE_SUB_SIZE * 0.25;
|
|
30803
30856
|
const \u5916 = Math.max(\u7BC0\u70B9, \u516D\u89D2);
|
|
30804
30857
|
const \u305A\u308C = cy - r.cy;
|
|
30805
30858
|
const \u5E83\u304C\u308A = {
|
|
@@ -30808,21 +30861,27 @@ function ShapeExchangeNode({ node, active, lang }) {
|
|
|
30808
30861
|
\u5DE6: \u5916,
|
|
30809
30862
|
\u53F3: \u5916
|
|
30810
30863
|
};
|
|
30811
|
-
const \
|
|
30812
|
-
|
|
30813
|
-
|
|
30814
|
-
|
|
30815
|
-
|
|
30816
|
-
|
|
30817
|
-
|
|
30818
|
-
|
|
30819
|
-
|
|
30820
|
-
|
|
30821
|
-
|
|
30822
|
-
|
|
30823
|
-
|
|
30824
|
-
|
|
30825
|
-
|
|
30864
|
+
const \u6253\u3061\u6D88\u3059\u5B57\u3089 = [
|
|
30865
|
+
{ text: \u5B57\u5F15("exchange.sub"), size: EXCHANGE_SUB_SIZE, \u5E2F: { \u5E45: \u5916 * 2, \u9AD8\u3055: 14 } }
|
|
30866
|
+
];
|
|
30867
|
+
const \u7D75 = (\u500D\u7387) => {
|
|
30868
|
+
const \u500D = \u6253\u3061\u6D88\u3057\u306E\u500D\u7387(\u500D\u7387, \u6253\u3061\u6D88\u3059\u5B57\u3089);
|
|
30869
|
+
return /* @__PURE__ */ jsxs("g", { children: [
|
|
30870
|
+
nodes.map((n, i) => /* @__PURE__ */ jsx("line", { x1: cx, y1: cy, x2: n.cx, y2: n.cy, stroke: accentDarker, strokeWidth: 1.5, strokeDasharray: "3 2" }, `l${i}`)),
|
|
30871
|
+
nodes.map((n, i) => {
|
|
30872
|
+
const isGreen = i % 2 === 0;
|
|
30873
|
+
return /* @__PURE__ */ jsxs("circle", { r: 4, fill: isGreen ? "#4ea36a" : "#c15a4a", stroke: "none", children: [
|
|
30874
|
+
/* @__PURE__ */ jsx("animate", { attributeName: "cx", values: isGreen ? `${n.cx};${cx};${n.cx}` : `${cx};${n.cx};${cx}`, dur: `${1.5 + i % 3 * 0.3}s`, repeatCount: "indefinite", begin: `${i * 0.15}s` }),
|
|
30875
|
+
/* @__PURE__ */ jsx("animate", { attributeName: "cy", values: isGreen ? `${n.cy};${cy};${n.cy}` : `${cy};${n.cy};${cy}`, dur: `${1.5 + i % 3 * 0.3}s`, repeatCount: "indefinite", begin: `${i * 0.15}s` })
|
|
30876
|
+
] }, `d${i}`);
|
|
30877
|
+
}),
|
|
30878
|
+
/* @__PURE__ */ jsx("path", { d: hexPath, fill: "#255a7a", stroke: accentDarker, strokeWidth: frame.strokeWidth, strokeLinejoin: "round" }),
|
|
30879
|
+
/* @__PURE__ */ jsx("text", { "data-cdl-counter-scaled": "0", x: cx, y: cy - 8, fontSize: 10, fontWeight: 700, letterSpacing: 2, textAnchor: "middle", fill: "#e5c07b", children: \u5B57\u5F15("exchange.sign") }),
|
|
30880
|
+
/* @__PURE__ */ jsx("text", { "data-cdl-counter-scaled": "0", "data-cdl-role": "node-body", x: cx, y: cy + 12, fontSize: 22, fontWeight: 700, textAnchor: "middle", fill: "#e5c07b", children: "\u21C4" }),
|
|
30881
|
+
/* @__PURE__ */ jsx("text", { "data-cdl-counter-scaled": "1", x: cx, y: cy + 26, fontSize: EXCHANGE_SUB_SIZE * \u500D, fontWeight: 700, textAnchor: "middle", fill: "#a4b5f2", children: \u5B57\u5F15("exchange.sub") }),
|
|
30882
|
+
nodes.map((n, i) => /* @__PURE__ */ jsx("circle", { cx: n.cx, cy: n.cy, r: 8, fill: n.fill, stroke: accentDarker, strokeWidth: 1.5 }, `n${i}`))
|
|
30883
|
+
] });
|
|
30884
|
+
};
|
|
30826
30885
|
return /* @__PURE__ */ jsxs("g", { children: [
|
|
30827
30886
|
fitArt(r, \u5E83\u304C\u308A, \u7D75),
|
|
30828
30887
|
bottomLabel3(node, r.cx, r.label)
|
|
@@ -30877,13 +30936,13 @@ function ShapeAtmNode({ node, active, lang }) {
|
|
|
30877
30936
|
const \u7D75 = /* @__PURE__ */ jsxs("g", { children: [
|
|
30878
30937
|
/* @__PURE__ */ jsx("ellipse", { cx, cy: y + totalH + ATM_SHADOW_DY, rx: totalW * ATM_SHADOW_RX_RATIO, ry: ATM_SHADOW_RY, fill: frame.stroke, opacity: 0.15, stroke: "none" }),
|
|
30879
30938
|
/* @__PURE__ */ jsx("rect", { x: centerX - totalW / 2, y: signY, width: totalW, height: signH, fill: accentDarker, stroke: "#000", strokeWidth: ATM_SIGN_SW }),
|
|
30880
|
-
/* @__PURE__ */ jsx("text", { x: centerX, y: signY + 17, fontSize: 11, fontWeight: 700, letterSpacing: 2, textAnchor: "middle", fill: "#e5c07b", children: \u5B57\u5F15("atm.sign") }),
|
|
30939
|
+
/* @__PURE__ */ jsx("text", { "data-cdl-counter-scaled": "0", x: centerX, y: signY + 17, fontSize: 11, fontWeight: 700, letterSpacing: 2, textAnchor: "middle", fill: "#e5c07b", children: \u5B57\u5F15("atm.sign") }),
|
|
30881
30940
|
/* @__PURE__ */ jsx("rect", { "data-cdl-role": "node-body", x: atmX, y: atmY, width: atmW, height: atmH, rx: 6, fill: "#255a7a", stroke: accentDarker, strokeWidth: frame.strokeWidth }),
|
|
30882
30941
|
/* @__PURE__ */ jsxs("g", { transform: `translate(${centerX} ${atmY}) scale(${\u9762})`, children: [
|
|
30883
30942
|
/* @__PURE__ */ jsx("rect", { x: \u9762\u5DE6 + 8, y: 10, width: ATM_PANEL_W - 16, height: 52, rx: 3, fill: "#0f1830", stroke: "#000", strokeWidth: 1.5 }),
|
|
30884
|
-
/* @__PURE__ */ jsx("text", { x: 0, y: 30, fontSize: 10, fontWeight: 700, letterSpacing: 1, textAnchor: "middle", fill: "#e5c07b", children: "\u304A\u5F15\u51FA\u3057" }),
|
|
30885
|
-
/* @__PURE__ */ jsx("text", { x: 0, y: 44, fontSize: 8, fontWeight: 700, textAnchor: "middle", fill: "#a4b5f2", children: \u5B57\u5F15("atm.screen") }),
|
|
30886
|
-
/* @__PURE__ */ jsx("text", { x: 0, y: 56, fontSize: 10, fontWeight: 700, textAnchor: "middle", fill: "#4ea36a", children: "\xA5 20,000" }),
|
|
30943
|
+
/* @__PURE__ */ jsx("text", { "data-cdl-counter-scaled": "0", x: 0, y: 30, fontSize: 10, fontWeight: 700, letterSpacing: 1, textAnchor: "middle", fill: "#e5c07b", children: "\u304A\u5F15\u51FA\u3057" }),
|
|
30944
|
+
/* @__PURE__ */ jsx("text", { "data-cdl-counter-scaled": "0", x: 0, y: 44, fontSize: 8, fontWeight: 700, textAnchor: "middle", fill: "#a4b5f2", children: \u5B57\u5F15("atm.screen") }),
|
|
30945
|
+
/* @__PURE__ */ jsx("text", { "data-cdl-counter-scaled": "0", x: 0, y: 56, fontSize: 10, fontWeight: 700, textAnchor: "middle", fill: "#4ea36a", children: "\xA5 20,000" }),
|
|
30887
30946
|
/* @__PURE__ */ jsx("rect", { x: \u9762\u5DE6 + 8, y: 68, width: ATM_PANEL_W - 16, height: 42, rx: 2, fill: "#8b949e", stroke: "#5a6270", strokeWidth: 1 }),
|
|
30888
30947
|
(() => {
|
|
30889
30948
|
const keys = [
|
|
@@ -30909,7 +30968,7 @@ function ShapeAtmNode({ node, active, lang }) {
|
|
|
30909
30968
|
const ky = 74 + row * (keyH + 2);
|
|
30910
30969
|
return /* @__PURE__ */ jsxs("g", { children: [
|
|
30911
30970
|
/* @__PURE__ */ jsx("rect", { x: kx, y: ky, width: keyW, height: keyH, fill: k[1], stroke: "#0f1830", strokeWidth: 0.8 }),
|
|
30912
|
-
/* @__PURE__ */ jsx("text", { x: kx + keyW / 2, y: ky + 7, fontSize: (
|
|
30971
|
+
/* @__PURE__ */ jsx("text", { "data-cdl-counter-scaled": "0", x: kx + keyW / 2, y: ky + 7, fontSize: (
|
|
30913
30972
|
/* 決める鍵 (末尾) は 2 字あるので小さく描く。 字は言語で変わるため位置で見分ける */
|
|
30914
30973
|
i === keys.length - 1 ? 6 : 7
|
|
30915
30974
|
), fontWeight: 700, textAnchor: "middle", fill: "#ffffff", children: k[0] })
|
|
@@ -30918,7 +30977,7 @@ function ShapeAtmNode({ node, active, lang }) {
|
|
|
30918
30977
|
})(),
|
|
30919
30978
|
/* @__PURE__ */ jsx("rect", { x: \u9762\u5DE6 + 12, y: 116, width: ATM_PANEL_W - 24, height: 8, rx: 1.5, fill: "#0f1830", stroke: accentDarker, strokeWidth: 1 }),
|
|
30920
30979
|
/* @__PURE__ */ jsx("rect", { x: \u9762\u5DE6 + 15, y: 118, width: ATM_PANEL_W - 30, height: 4, rx: 0.5, fill: "#e5c07b" }),
|
|
30921
|
-
/* @__PURE__ */ jsx("text", { x: 0, y: 132, fontSize: 6, fontWeight: 700, letterSpacing: 1, textAnchor: "middle", fill: "#e5c07b", children: \u5B57\u5F15("atm.cardSlot") }),
|
|
30980
|
+
/* @__PURE__ */ jsx("text", { "data-cdl-counter-scaled": "0", x: 0, y: 132, fontSize: 6, fontWeight: 700, letterSpacing: 1, textAnchor: "middle", fill: "#e5c07b", children: \u5B57\u5F15("atm.cardSlot") }),
|
|
30922
30981
|
/* @__PURE__ */ jsx("rect", { x: \u9762\u5DE6 + 12, y: 136, width: ATM_PANEL_W - 24, height: 4, rx: 1, fill: "#0f1830" })
|
|
30923
30982
|
] }),
|
|
30924
30983
|
/* @__PURE__ */ jsx("rect", { x: centerX - totalW / 2, y: floorY, width: totalW, height: 6, fill: "#8b949e", stroke: "none" }),
|
|
@@ -31091,7 +31150,7 @@ function ShapeWarehouseNode({ node, active, lang }) {
|
|
|
31091
31150
|
/* @__PURE__ */ jsx("path", { d: `M ${x - WAREHOUSE_ROOF_OUT} ${y + roofH} L ${x + 12} ${y + 2} L ${x + bw - 12} ${y + 2} L ${x + bw + WAREHOUSE_ROOF_OUT} ${y + roofH} Z`, fill: "#5a6270", stroke: accentDarker, strokeWidth: WAREHOUSE_ROOF_SW, strokeLinejoin: "round" }),
|
|
31092
31151
|
/* @__PURE__ */ jsx("rect", { "data-cdl-role": "node-body", x, y: y + roofH, width: bw, height: bh - roofH - 12, fill: "#a89d8f", stroke: "#5a6270", strokeWidth: frame.strokeWidth }),
|
|
31093
31152
|
/* @__PURE__ */ jsx("rect", { x, y: y + roofH, width: bw, height: signH, fill: "#c15a4a", stroke: "#8b3f2f", strokeWidth: 1.5 }),
|
|
31094
|
-
/* @__PURE__ */ jsx("text", { x: cx, y: y + roofH + 17, fontSize: 12, fontWeight: 900, letterSpacing: 6, textAnchor: "middle", fill: "#ffffff", children: \u5B57\u5F15("warehouse.sign") }),
|
|
31153
|
+
/* @__PURE__ */ jsx("text", { "data-cdl-counter-scaled": "0", x: cx, y: y + roofH + 17, fontSize: 12, fontWeight: 900, letterSpacing: 6, textAnchor: "middle", fill: "#ffffff", children: \u5B57\u5F15("warehouse.sign") }),
|
|
31095
31154
|
/* @__PURE__ */ jsx("rect", { x: shutterX, y: shutterY, width: shutterW, height: shutterH, fill: "#8b949e", stroke: accentDarker, strokeWidth: 2 }),
|
|
31096
31155
|
/* @__PURE__ */ jsx("rect", { x: shutterX, y: shutterY, width: shutterW, height: 5, fill: "#5a6270", stroke: "none" }),
|
|
31097
31156
|
Array.from({ length: 10 }, (_, i) => i).map((i) => /* @__PURE__ */ jsx(
|
|
@@ -31246,6 +31305,10 @@ var API_ROW_PITCH_MIN = 30;
|
|
|
31246
31305
|
var API_ROW_BOTTOM_PAD = 12;
|
|
31247
31306
|
var API_ROWS = 3;
|
|
31248
31307
|
var API_H_MIN = API_ROW_TOP + (API_ROWS - 1) * API_ROW_PITCH_MIN + API_ROW_H + API_ROW_BOTTOM_PAD;
|
|
31308
|
+
var API_PATH_SIZE = 12;
|
|
31309
|
+
var API_SIGN_SIZE = 14;
|
|
31310
|
+
var API_METHOD_BOX_W = 54;
|
|
31311
|
+
var API_METHOD_TEXT_W = 48;
|
|
31249
31312
|
var API_W_MIN = 200;
|
|
31250
31313
|
var API_W_MAX = 300;
|
|
31251
31314
|
function ShapeApiGatewayNode({ node, active, lang }) {
|
|
@@ -31260,28 +31323,37 @@ function ShapeApiGatewayNode({ node, active, lang }) {
|
|
|
31260
31323
|
const x = cx - bw / 2;
|
|
31261
31324
|
const y = r.cy - \u7E26 / 2 + \u4F59\u767D;
|
|
31262
31325
|
const \u5E83\u304C\u308A = { \u4E0A: \u7E26 / 2, \u4E0B: \u7E26 / 2, \u5DE6: bw / 2 + \u4F59\u767D, \u53F3: bw / 2 + \u4F59\u767D };
|
|
31263
|
-
const \u7A2E\u985E\u306E\u5B57 = (s) => Math.min(11, 11 *
|
|
31326
|
+
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)));
|
|
31264
31327
|
const rowPitch = Math.max(
|
|
31265
31328
|
API_ROW_PITCH_MIN,
|
|
31266
31329
|
(bh - API_ROW_TOP - API_ROW_H - API_ROW_BOTTOM_PAD) / (API_ROWS - 1)
|
|
31267
31330
|
);
|
|
31268
|
-
const \
|
|
31269
|
-
|
|
31270
|
-
|
|
31271
|
-
|
|
31272
|
-
|
|
31273
|
-
|
|
31274
|
-
|
|
31275
|
-
|
|
31276
|
-
|
|
31277
|
-
|
|
31278
|
-
|
|
31279
|
-
|
|
31280
|
-
|
|
31281
|
-
/* @__PURE__ */ jsx("
|
|
31282
|
-
/* @__PURE__ */ jsx("
|
|
31283
|
-
|
|
31284
|
-
|
|
31331
|
+
const \u884C\u3089 = [
|
|
31332
|
+
{ method: "GET", path: \u5B57\u5F15("apiGateway.users"), color: "#27c93f" },
|
|
31333
|
+
{ method: "POST", path: \u5B57\u5F15("apiGateway.orders"), color: "#e5c07b" },
|
|
31334
|
+
{ method: \u5B57\u5F15("apiGateway.delete"), path: \u5B57\u5F15("apiGateway.session"), color: "#c9302c" }
|
|
31335
|
+
];
|
|
31336
|
+
const \u6253\u3061\u6D88\u3059\u5B57\u3089 = \u884C\u3089.map((e) => ({
|
|
31337
|
+
text: e.path,
|
|
31338
|
+
size: API_PATH_SIZE,
|
|
31339
|
+
\u5E2F: { \u5E45: bw - 32 - 64 - 16, \u9AD8\u3055: API_ROW_H }
|
|
31340
|
+
}));
|
|
31341
|
+
const \u7D75 = (\u500D\u7387) => {
|
|
31342
|
+
const \u500D = \u6253\u3061\u6D88\u3057\u306E\u500D\u7387(\u500D\u7387, \u6253\u3061\u6D88\u3059\u5B57\u3089);
|
|
31343
|
+
return /* @__PURE__ */ jsxs("g", { children: [
|
|
31344
|
+
/* @__PURE__ */ jsx("rect", { x: x + DROP_SHADOW_D, y: y + DROP_SHADOW_D, width: bw, height: bh, rx: 10, fill: frame.stroke, opacity: 0.2, stroke: "none" }),
|
|
31345
|
+
/* @__PURE__ */ jsx("rect", { "data-cdl-role": "node-body", x, y, width: bw, height: bh, rx: 10, fill: "#1a2332", stroke: frame.stroke, strokeWidth: frame.strokeWidth }),
|
|
31346
|
+
/* @__PURE__ */ jsx("rect", { x, y, width: bw, height: 36, rx: 10, fill: "var(--cdl-tone-accent, #2d6a8f)", stroke: "none" }),
|
|
31347
|
+
/* @__PURE__ */ jsx("text", { "data-cdl-counter-scaled": "0", x: cx, y: y + 24, fontSize: API_SIGN_SIZE, fontWeight: 700, letterSpacing: 3, textAnchor: "middle", fill: "#ffffff", fontFamily: "ui-monospace, SFMono-Regular, Menlo, monospace", children: \u5B57\u5F15("apiGateway.sign") }),
|
|
31348
|
+
\u884C\u3089.map((e, i) => /* @__PURE__ */ jsxs("g", { transform: `translate(${x + 16}, ${y + API_ROW_TOP + i * rowPitch})`, children: [
|
|
31349
|
+
/* @__PURE__ */ jsx("rect", { x: 0, y: 0, width: bw - 32, height: API_ROW_H, rx: 4, fill: "#0f1419", stroke: "none" }),
|
|
31350
|
+
/* @__PURE__ */ jsx("rect", { x: 0, y: 0, width: API_METHOD_BOX_W, height: API_ROW_H, rx: 4, fill: e.color, stroke: "none" }),
|
|
31351
|
+
/* @__PURE__ */ jsx("text", { "data-cdl-counter-scaled": "0", x: 27, y: 16, fontSize: \u7A2E\u985E\u306E\u5B57(e.method), fontWeight: 700, textAnchor: "middle", fill: "#ffffff", fontFamily: "ui-monospace, SFMono-Regular, Menlo, monospace", children: e.method }),
|
|
31352
|
+
/* @__PURE__ */ jsx("text", { "data-cdl-counter-scaled": "1", x: 64, y: 16, fontSize: API_PATH_SIZE * \u500D, fontFamily: "ui-monospace, SFMono-Regular, Menlo, monospace", fill: "#e6edf3", children: e.path }),
|
|
31353
|
+
/* @__PURE__ */ jsx("circle", { cx: bw - 44, cy: 12, r: 4, fill: "#27c93f", stroke: "none", children: /* @__PURE__ */ jsx("animate", { attributeName: "opacity", values: "0.4;1;0.4", dur: `${1.2 + i * 0.3}s`, repeatCount: "indefinite" }) })
|
|
31354
|
+
] }, i))
|
|
31355
|
+
] });
|
|
31356
|
+
};
|
|
31285
31357
|
return /* @__PURE__ */ jsxs("g", { children: [
|
|
31286
31358
|
fitArt(r, \u5E83\u304C\u308A, \u7D75),
|
|
31287
31359
|
bottomLabel4(node, r.cx, r.label)
|
|
@@ -31501,11 +31573,11 @@ function ShapeNotaryNode({ node, active }) {
|
|
|
31501
31573
|
/* @__PURE__ */ jsx("line", { x1: chestX - 14, y1: chestY + 14, x2: chestX + 14, y2: chestY + 14, stroke: "#8b949e", strokeWidth: 1 }),
|
|
31502
31574
|
/* @__PURE__ */ jsx("line", { x1: chestX - 14, y1: chestY + 22, x2: chestX + 8, y2: chestY + 22, stroke: "#8b949e", strokeWidth: 1 }),
|
|
31503
31575
|
/* @__PURE__ */ jsx("line", { x1: chestX - 14, y1: chestY + 34, x2: chestX + 2, y2: chestY + 34, stroke: "#0f3450", strokeWidth: 1.5 }),
|
|
31504
|
-
/* @__PURE__ */ jsx("text", { x: chestX + 6, y: chestY + 37, fontSize: 8, fill: "#0f3450", fontFamily: "cursive", fontStyle: "italic", children: "\u2713" }),
|
|
31576
|
+
/* @__PURE__ */ jsx("text", { "data-cdl-counter-scaled": "0", x: chestX + 6, y: chestY + 37, fontSize: 8, fill: "#0f3450", fontFamily: "cursive", fontStyle: "italic", children: "\u2713" }),
|
|
31505
31577
|
haloBadge(bx, by, `nt-halo-${node.id}`, "#c15a4a", /* @__PURE__ */ jsxs("g", { children: [
|
|
31506
31578
|
/* @__PURE__ */ jsx("circle", { cx: 0, cy: 0, r: 12, fill: "#c15a4a", stroke: "none" }),
|
|
31507
31579
|
/* @__PURE__ */ jsx("circle", { cx: 0, cy: 0, r: 8, fill: "none", stroke: "#ffffff", strokeWidth: 1.2 }),
|
|
31508
|
-
/* @__PURE__ */ jsx("text", { x: 0, y: 4, fontFamily: "Georgia, serif", fontSize: 10, fontWeight: 700, fill: "#ffffff", textAnchor: "middle", children: "\u5370" })
|
|
31580
|
+
/* @__PURE__ */ jsx("text", { "data-cdl-counter-scaled": "0", x: 0, y: 4, fontFamily: "Georgia, serif", fontSize: 10, fontWeight: 700, fill: "#ffffff", textAnchor: "middle", children: "\u5370" })
|
|
31509
31581
|
] }))
|
|
31510
31582
|
] })),
|
|
31511
31583
|
bottomLabel5(node, r.cx, r.label)
|
|
@@ -31564,7 +31636,7 @@ function ShapeCustomerServiceNode({ node, active }) {
|
|
|
31564
31636
|
p.render,
|
|
31565
31637
|
collarV(cx, cy, p.strokeColor),
|
|
31566
31638
|
/* @__PURE__ */ jsx("rect", { x: chestX - 22, y: chestY + 5, width: 44, height: 22, rx: 11, fill: "#e5c07b", stroke: "#a67c00", strokeWidth: 2 }),
|
|
31567
|
-
/* @__PURE__ */ jsx("text", { x: chestX, y: chestY + 20, fontSize: 12, fontWeight: 900, fill: "#5a3a10", textAnchor: "middle", letterSpacing: 2, children: "24H" }),
|
|
31639
|
+
/* @__PURE__ */ jsx("text", { "data-cdl-counter-scaled": "0", x: chestX, y: chestY + 20, fontSize: 12, fontWeight: 900, fill: "#5a3a10", textAnchor: "middle", letterSpacing: 2, children: "24H" }),
|
|
31568
31640
|
haloBadge(bx, by, `cs-halo-${node.id}`, "#a67c00", /* @__PURE__ */ jsxs("g", { children: [
|
|
31569
31641
|
/* @__PURE__ */ jsx("path", { d: "M -11 4 C -11 -10, -6 -12, 0 -12 C 6 -12, 11 -10, 11 4", fill: "none", stroke: "#a67c00", strokeWidth: 2.5, strokeLinecap: "round" }),
|
|
31570
31642
|
/* @__PURE__ */ jsx("rect", { x: -13, y: 2, width: 6, height: 11, rx: 1.5, fill: "#e5c07b", stroke: "#a67c00", strokeWidth: 1.5 }),
|