@cardenelabs/cdl 0.57.0 → 0.58.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 +247 -91
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +7 -3
- package/dist/index.d.ts +7 -3
- package/dist/index.js +247 -92
- package/dist/index.js.map +1 -1
- package/dist/react.cjs +225 -72
- package/dist/react.cjs.map +1 -1
- package/dist/react.d.cts +1 -1
- package/dist/react.d.ts +1 -1
- package/dist/react.js +225 -72
- package/dist/react.js.map +1 -1
- package/dist/{render-Cp41meYv.d.cts → render-DpwY2hzM.d.cts} +39 -1
- package/dist/{render-Cp41meYv.d.ts → render-DpwY2hzM.d.ts} +39 -1
- package/package.json +9 -12
- package/src/builder.ts +7 -0
- package/src/index.ts +6 -0
- package/src/kinds/shape-blockchain.tsx +40 -22
- package/src/kinds/shape-commerce.tsx +24 -12
- package/src/kinds/shape-finance.tsx +25 -17
- package/src/kinds/shape-software.tsx +30 -11
- package/src/lang.ts +168 -0
- package/src/layout.ts +4 -0
- package/src/render/interactive-panel.tsx +18 -1
- package/src/render/nodes.tsx +18 -14
- package/src/render/stage.tsx +2 -0
- package/src/types.ts +15 -0
package/dist/react.cjs
CHANGED
|
@@ -358,6 +358,122 @@ function useReducedMotion() {
|
|
|
358
358
|
return react.useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);
|
|
359
359
|
}
|
|
360
360
|
|
|
361
|
+
// src/lang.ts
|
|
362
|
+
function resolveLang(value) {
|
|
363
|
+
return value === "ja" ? "ja" : "en";
|
|
364
|
+
}
|
|
365
|
+
var en = {
|
|
366
|
+
/** `shape-terminal` の 2 行目 (命令の出力) */
|
|
367
|
+
"terminal.output": "\u2192 12 chunks in 1.8s",
|
|
368
|
+
/** `shape-code-block` の札の file 名 */
|
|
369
|
+
"codeBlock.fileName": "utils.ts",
|
|
370
|
+
/** `shape-kanban-card` の課題の番号 */
|
|
371
|
+
"kanbanCard.id": "CAR-1111",
|
|
372
|
+
/** `shape-kanban-card` の状態の札 */
|
|
373
|
+
"kanbanCard.status": "IN PROG",
|
|
374
|
+
/** `shape-kanban-card` の題の下の説明 */
|
|
375
|
+
"kanbanCard.task": "shape-driven kind \u5B9F\u88C5",
|
|
376
|
+
/** `shape-kanban-card` の期日 */
|
|
377
|
+
"kanbanCard.due": "Jul 10",
|
|
378
|
+
/** `shape-smart-contract` の契約の本文の 1 行 */
|
|
379
|
+
"smartContract.call": "function execute()",
|
|
380
|
+
/** `shape-blockchain-block` の題を渡さない時の見出し */
|
|
381
|
+
"blockchainBlock.title": "Block #421,873",
|
|
382
|
+
/** `shape-blockchain-block` の 1 行目の名前 (塊を識別する値) */
|
|
383
|
+
"blockchainBlock.hash": "hash",
|
|
384
|
+
/** `shape-blockchain-block` の 2 行目の名前 (1 つ前の塊の識別値) */
|
|
385
|
+
"blockchainBlock.prev": "prev",
|
|
386
|
+
/** `shape-blockchain-block` の 3 行目の名前 (取引をまとめた木の根) */
|
|
387
|
+
"blockchainBlock.merkle": "merkle",
|
|
388
|
+
/** `shape-blockchain-block` の 4 行目の名前 (採掘で試した値) */
|
|
389
|
+
"blockchainBlock.nonce": "nonce",
|
|
390
|
+
/** `shape-blockchain-block` の 5 行目の名前 (取引の件数) */
|
|
391
|
+
"blockchainBlock.tx": "tx",
|
|
392
|
+
/** `shape-blockchain-block` の 5 行目の値 */
|
|
393
|
+
"blockchainBlock.txCount": "142 tx",
|
|
394
|
+
/** `shape-rpc-node` の稼働の札 */
|
|
395
|
+
"rpcNode.status": "RPC ONLINE",
|
|
396
|
+
/** `shape-trust-bank` の看板 */
|
|
397
|
+
"trustBank.sign": "TRUST",
|
|
398
|
+
/** `shape-payment-provider` の看板 */
|
|
399
|
+
"paymentProvider.sign": "PAY",
|
|
400
|
+
/** `shape-payment-provider` の状態の札 */
|
|
401
|
+
"paymentProvider.status": "PROCESSING",
|
|
402
|
+
/** `shape-brokerage` の株価の帯 */
|
|
403
|
+
"brokerage.ticker": "\u25B2NKY 38,240 \u25B2AAPL 194",
|
|
404
|
+
/** `shape-brokerage` の看板 */
|
|
405
|
+
"brokerage.sign": "$ SECURITIES",
|
|
406
|
+
/** `shape-exchange` の看板 */
|
|
407
|
+
"exchange.sign": "EXCHANGE",
|
|
408
|
+
/** `shape-exchange` の看板の下の札 */
|
|
409
|
+
"exchange.sub": "clearing",
|
|
410
|
+
/** `shape-atm` の天井の看板 */
|
|
411
|
+
"atm.sign": "ATM CORNER",
|
|
412
|
+
/** `shape-atm` の画面の案内 */
|
|
413
|
+
"atm.screen": "SELECT AMOUNT",
|
|
414
|
+
/** `shape-atm` の決める鍵 */
|
|
415
|
+
"atm.ok": "OK",
|
|
416
|
+
/** `shape-atm` のカードを入れる口の札 */
|
|
417
|
+
"atm.cardSlot": "CARD SLOT",
|
|
418
|
+
/** `shape-storefront` の看板 */
|
|
419
|
+
"storefront.sign": "SHOP",
|
|
420
|
+
/** `shape-storefront` の扉の札 */
|
|
421
|
+
"storefront.open": "OPEN",
|
|
422
|
+
/** `shape-warehouse` の看板 */
|
|
423
|
+
"warehouse.sign": "WAREHOUSE",
|
|
424
|
+
/** `shape-api-gateway` の看板 */
|
|
425
|
+
"apiGateway.sign": "API GATEWAY",
|
|
426
|
+
/** `shape-api-gateway` の 3 行目の要求の種類 */
|
|
427
|
+
"apiGateway.delete": "DEL",
|
|
428
|
+
/** `shape-api-gateway` の 1 行目の宛先 */
|
|
429
|
+
"apiGateway.users": "/users",
|
|
430
|
+
/** `shape-api-gateway` の 2 行目の宛先 */
|
|
431
|
+
"apiGateway.orders": "/orders",
|
|
432
|
+
/** `shape-api-gateway` の 3 行目の宛先 */
|
|
433
|
+
"apiGateway.session": "/session"
|
|
434
|
+
};
|
|
435
|
+
var ja = {
|
|
436
|
+
"terminal.output": "\u2192 1.8 \u79D2\u3067\u5B8C\u4E86",
|
|
437
|
+
"codeBlock.fileName": "\u5171\u901A.ts",
|
|
438
|
+
"kanbanCard.id": "#1111",
|
|
439
|
+
"kanbanCard.status": "\u9032\u884C\u4E2D",
|
|
440
|
+
"kanbanCard.task": "\u5F62\u3092\u5B9F\u88C5",
|
|
441
|
+
"kanbanCard.due": "7/10",
|
|
442
|
+
"smartContract.call": "\u81EA\u52D5\u3067\u5B9F\u884C\u3059\u308B",
|
|
443
|
+
"blockchainBlock.title": "\u30D6\u30ED\u30C3\u30AF #421,873",
|
|
444
|
+
"blockchainBlock.hash": "\u30CF\u30C3\u30B7\u30E5",
|
|
445
|
+
"blockchainBlock.prev": "\u76F4\u524D",
|
|
446
|
+
"blockchainBlock.merkle": "\u6728\u306E\u6839",
|
|
447
|
+
"blockchainBlock.nonce": "\u30CE\u30F3\u30B9",
|
|
448
|
+
"blockchainBlock.tx": "\u53D6\u5F15",
|
|
449
|
+
"blockchainBlock.txCount": "142 \u4EF6",
|
|
450
|
+
"rpcNode.status": "RPC \u7A3C\u50CD\u4E2D",
|
|
451
|
+
"trustBank.sign": "\u4FE1\u8A17",
|
|
452
|
+
"paymentProvider.sign": "\u6C7A\u6E08",
|
|
453
|
+
"paymentProvider.status": "\u51E6\u7406\u4E2D",
|
|
454
|
+
"brokerage.ticker": "\u25B2\u65E5\u7D4C 38,240 \u25B2\u6771\u8A3C 2,710",
|
|
455
|
+
"brokerage.sign": "\xA5 \u8A3C\u5238",
|
|
456
|
+
"exchange.sign": "\u53D6\u5F15\u6240",
|
|
457
|
+
"exchange.sub": "\u6E05\u7B97",
|
|
458
|
+
"atm.sign": "ATM \u30B3\u30FC\u30CA\u30FC",
|
|
459
|
+
"atm.screen": "\u91D1\u984D\u3092\u9078\u629E",
|
|
460
|
+
"atm.ok": "\u78BA\u5B9A",
|
|
461
|
+
"atm.cardSlot": "\u30AB\u30FC\u30C9\u633F\u5165\u53E3",
|
|
462
|
+
"storefront.sign": "\u5546\u5E97",
|
|
463
|
+
"storefront.open": "\u55B6\u696D",
|
|
464
|
+
"warehouse.sign": "\u5009\u5EAB",
|
|
465
|
+
"apiGateway.sign": "API \u5165\u53E3",
|
|
466
|
+
"apiGateway.delete": "DELETE",
|
|
467
|
+
"apiGateway.users": "/\u5229\u7528\u8005",
|
|
468
|
+
"apiGateway.orders": "/\u6CE8\u6587",
|
|
469
|
+
"apiGateway.session": "/\u63A5\u7D9A"
|
|
470
|
+
};
|
|
471
|
+
var CDL_TEXT = { en, ja };
|
|
472
|
+
function \u5B57\u5F15\u304D\u3092\u4F5C\u308B(lang) {
|
|
473
|
+
const \u8A00\u8A9E = lang ?? "en";
|
|
474
|
+
return (key) => CDL_TEXT[\u8A00\u8A9E][key];
|
|
475
|
+
}
|
|
476
|
+
|
|
361
477
|
// src/layout/clearance-constants.ts
|
|
362
478
|
var CLEARANCE_NODE_LABEL = 32;
|
|
363
479
|
var CLEARANCE_LANE_LABEL = 24;
|
|
@@ -9636,6 +9752,9 @@ function layout(diag) {
|
|
|
9636
9752
|
// **遮断はここだけに置く**。 描画は必ず組み立てを通り、組み立て API も `er` も
|
|
9637
9753
|
// 素通しにしてある。 上流にも置くと、どの入力でも通らない分岐が残る
|
|
9638
9754
|
...diag.palette ? { palette: diag.palette } : {},
|
|
9755
|
+
// 描画側の固定の字の言語 (#847)。 既定 (`en`) と型の外の値は持たせない = 配置の結果の形を
|
|
9756
|
+
// 変更前と揃え、記法の書き損じで一部の字だけ日本語になる形を作らない
|
|
9757
|
+
...resolveLang(diag.lang) === "ja" ? { lang: "ja" } : {},
|
|
9639
9758
|
// 種類も配色と同じく空の目印を出さない。 遮断をここに揃えると手書きの図にも効く
|
|
9640
9759
|
...diag.type ? { type: diag.type } : {},
|
|
9641
9760
|
bboxes,
|
|
@@ -15247,6 +15366,11 @@ var commonFrame2 = (active) => ({
|
|
|
15247
15366
|
var ASCENT3 = 0.72;
|
|
15248
15367
|
var DESCENT3 = 0.25;
|
|
15249
15368
|
var MONO_ADVANCE = 0.62;
|
|
15369
|
+
function \u7B49\u5E45\u306E\u6841(s) {
|
|
15370
|
+
let \u6841 = 0;
|
|
15371
|
+
for (const c of s) \u6841 += (c.codePointAt(0) ?? 0) >= 11904 ? 2 : 1;
|
|
15372
|
+
return \u6841;
|
|
15373
|
+
}
|
|
15250
15374
|
var LABEL_SUB_RATIO = 11 / 16;
|
|
15251
15375
|
var LABEL_EYE_RATIO = 12 / 16;
|
|
15252
15376
|
var LABEL_EYE_GAP = 8;
|
|
@@ -15344,7 +15468,8 @@ function ShapeWindowNode({ node, active }) {
|
|
|
15344
15468
|
commonLabel2(node, node.cx, \u540D\u524D.y, \u540D\u524D.size)
|
|
15345
15469
|
] });
|
|
15346
15470
|
}
|
|
15347
|
-
function ShapeTerminalNode({ node, active }) {
|
|
15471
|
+
function ShapeTerminalNode({ node, active, lang }) {
|
|
15472
|
+
const \u5B57\u5F15 = \u5B57\u5F15\u304D\u3092\u4F5C\u308B(lang);
|
|
15348
15473
|
const frame = commonFrame2(active);
|
|
15349
15474
|
const \u7DDA = frame.strokeWidth / 2;
|
|
15350
15475
|
const x = node.cx - node.w / 2 + \u7DDA;
|
|
@@ -15365,10 +15490,10 @@ function ShapeTerminalNode({ node, active }) {
|
|
|
15365
15490
|
{ \u5DE6: 16, \u5B57: 12.5, \u8272: "#7cd88f", \u6587: "$" },
|
|
15366
15491
|
{ \u5DE6: 30, \u5B57: 12.5, \u8272: "#e6edf3", \u6587: "pnpm build" }
|
|
15367
15492
|
],
|
|
15368
|
-
[{ \u5DE6: 16, \u5B57: 12, \u8272: "#8b95a5", \u6587: "
|
|
15493
|
+
[{ \u5DE6: 16, \u5B57: 12, \u8272: "#8b95a5", \u6587: \u5B57\u5F15("terminal.output") }],
|
|
15369
15494
|
[{ \u5DE6: 16, \u5B57: 12.5, \u8272: "#7cd88f", \u6587: "$" }]
|
|
15370
15495
|
];
|
|
15371
|
-
const \u81EA\u7136\u5E45 = Math.max(...\u884C.flat().map((
|
|
15496
|
+
const \u81EA\u7136\u5E45 = Math.max(...\u884C.flat().map((c) => c.\u5DE6 + \u7B49\u5E45\u306E\u6841(c.\u6587) * MONO_ADVANCE * c.\u5B57)) + \u4F59\u767D;
|
|
15372
15497
|
const \u81EA\u7136\u9AD8 = \u5E2F + \u5148\u982D + \u884C\u9593 * (\u884C.length - 1) + Math.max(\u30AB\u30FC\u30BD\u30EB.\u4E0B, 12.5 * DESCENT3);
|
|
15373
15498
|
const \u500D = Math.min(1, w / \u81EA\u7136\u5E45, bodyH / \u81EA\u7136\u9AD8);
|
|
15374
15499
|
const barH = \u5E2F * \u500D;
|
|
@@ -15478,7 +15603,8 @@ function ShapeTerminalNode({ node, active }) {
|
|
|
15478
15603
|
)
|
|
15479
15604
|
] });
|
|
15480
15605
|
}
|
|
15481
|
-
function ShapeCodeBlockNode({ node, active }) {
|
|
15606
|
+
function ShapeCodeBlockNode({ node, active, lang }) {
|
|
15607
|
+
const \u5B57\u5F15 = \u5B57\u5F15\u304D\u3092\u4F5C\u308B(lang);
|
|
15482
15608
|
const frame = commonFrame2(active);
|
|
15483
15609
|
const \u7DDA = frame.strokeWidth / 2;
|
|
15484
15610
|
const x = node.cx - node.w / 2 + \u7DDA;
|
|
@@ -15568,7 +15694,7 @@ function ShapeCodeBlockNode({ node, active }) {
|
|
|
15568
15694
|
fontFamily: lineFont,
|
|
15569
15695
|
textAnchor: "middle",
|
|
15570
15696
|
fill: "#e6edf3",
|
|
15571
|
-
children: "
|
|
15697
|
+
children: \u5B57\u5F15("codeBlock.fileName")
|
|
15572
15698
|
}
|
|
15573
15699
|
),
|
|
15574
15700
|
/* @__PURE__ */ jsxRuntime.jsx("circle", { cx: x + tabW - \u4E38, cy: y + tabH / 2, r: 3 * \u500D, fill: "#7cd88f", stroke: "none" }),
|
|
@@ -15644,7 +15770,8 @@ function ShapeCodeBlockNode({ node, active }) {
|
|
|
15644
15770
|
)
|
|
15645
15771
|
] });
|
|
15646
15772
|
}
|
|
15647
|
-
function ShapeKanbanCardNode({ node, active }) {
|
|
15773
|
+
function ShapeKanbanCardNode({ node, active, lang }) {
|
|
15774
|
+
const \u5B57\u5F15 = \u5B57\u5F15\u304D\u3092\u4F5C\u308B(lang);
|
|
15648
15775
|
const frame = commonFrame2(active);
|
|
15649
15776
|
const \u7DDA = frame.strokeWidth / 2;
|
|
15650
15777
|
const \u5F71 = 3;
|
|
@@ -15656,7 +15783,7 @@ function ShapeKanbanCardNode({ node, active }) {
|
|
|
15656
15783
|
const \u5DE6\u53F3\u4F59\u767D = 14;
|
|
15657
15784
|
const \u4E0A\u6BB5\u9699\u9593 = 8;
|
|
15658
15785
|
const \u512A\u5148\u5E2F\u9AD8 = 10;
|
|
15659
|
-
const ID\u6587 = "
|
|
15786
|
+
const ID\u6587 = \u5B57\u5F15("kanbanCard.id");
|
|
15660
15787
|
const ID\u57FA\u6E96 = 30;
|
|
15661
15788
|
const ID\u5B57 = 11;
|
|
15662
15789
|
const ID\u5B57\u9593 = 1;
|
|
@@ -15675,7 +15802,7 @@ function ShapeKanbanCardNode({ node, active }) {
|
|
|
15675
15802
|
const \u4E0B\u5E2F = FOOTER\u4E0B - AVATAR\u4E2D\u5FC3Y + AVATAR\u534A\u5F84 + AVATAR\u67A0 / 2 + \u5E2F\u9593\u4F59\u767D;
|
|
15676
15803
|
const \u4E2D\u5E2F = \u540D\u524D\u5B57 * ASCENT3 + \u540D\u524D\u5B57 * \u8AAC\u660E\u57FA\u6E96\u6BD4 + \u540D\u524D\u5B57 * \u8AAC\u660E\u5B57\u6BD4 * DESCENT3;
|
|
15677
15804
|
const \u81EA\u7136\u9AD8 = \u4E0A\u5E2F + \u4E2D\u5E2F + \u4E0B\u5E2F;
|
|
15678
|
-
const ID\u5E45 = ID\u6587
|
|
15805
|
+
const ID\u5E45 = \u7B49\u5E45\u306E\u6841(ID\u6587) * MONO_ADVANCE * ID\u5B57 + ID\u5B57\u9593 * [...ID\u6587].length;
|
|
15679
15806
|
const \u81EA\u7136\u5E45 = \u5DE6\u53F3\u4F59\u767D + ID\u5E45 + \u4E0A\u6BB5\u9699\u9593 + PILL\u5E45 + \u5DE6\u53F3\u4F59\u767D;
|
|
15680
15807
|
const \u500D = Math.min(1, w / \u81EA\u7136\u5E45, h / \u81EA\u7136\u9AD8);
|
|
15681
15808
|
const priorityBarH = \u512A\u5148\u5E2F\u9AD8 * \u500D;
|
|
@@ -15754,7 +15881,7 @@ function ShapeKanbanCardNode({ node, active }) {
|
|
|
15754
15881
|
textAnchor: "middle",
|
|
15755
15882
|
fill: "#5a4a1a",
|
|
15756
15883
|
fontFamily: "ui-monospace, SFMono-Regular, Menlo, monospace",
|
|
15757
|
-
children: "
|
|
15884
|
+
children: \u5B57\u5F15("kanbanCard.status")
|
|
15758
15885
|
}
|
|
15759
15886
|
),
|
|
15760
15887
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -15778,7 +15905,7 @@ function ShapeKanbanCardNode({ node, active }) {
|
|
|
15778
15905
|
fontSize: \u540D\u524D.size * \u8AAC\u660E\u5B57\u6BD4,
|
|
15779
15906
|
textAnchor: "middle",
|
|
15780
15907
|
fill: "var(--cdl-text-dim, #5a6270)",
|
|
15781
|
-
children:
|
|
15908
|
+
children: \u5B57\u5F15("kanbanCard.task")
|
|
15782
15909
|
}
|
|
15783
15910
|
),
|
|
15784
15911
|
/* @__PURE__ */ jsxRuntime.jsxs("g", { transform: `translate(${x + \u5DE6\u53F3\u4F59\u767D * \u500D}, ${footY})`, children: [
|
|
@@ -15841,7 +15968,7 @@ function ShapeKanbanCardNode({ node, active }) {
|
|
|
15841
15968
|
fontWeight: 600,
|
|
15842
15969
|
textAnchor: "end",
|
|
15843
15970
|
fill: "var(--cdl-text-dim, #5a6270)",
|
|
15844
|
-
children: "
|
|
15971
|
+
children: \u5B57\u5F15("kanbanCard.due")
|
|
15845
15972
|
}
|
|
15846
15973
|
)
|
|
15847
15974
|
] })
|
|
@@ -16885,7 +17012,8 @@ function EthereumDiamond({ cx, cy, h, colors }) {
|
|
|
16885
17012
|
/* @__PURE__ */ jsxRuntime.jsx("path", { d: `M ${cx} ${midY} L ${cx + w} ${cy + h * 0.05} L ${cx} ${lowerBotY} Z`, fill: c.dark, stroke: c.stroke, strokeWidth: 0.6, strokeLinejoin: "round" })
|
|
16886
17013
|
] });
|
|
16887
17014
|
}
|
|
16888
|
-
function ShapeSmartContractNode({ node, active }) {
|
|
17015
|
+
function ShapeSmartContractNode({ node, active, lang }) {
|
|
17016
|
+
const \u5B57\u5F15 = \u5B57\u5F15\u304D\u3092\u4F5C\u308B(lang);
|
|
16889
17017
|
const frame = commonFrame4(active);
|
|
16890
17018
|
const r = shapeRegion(node);
|
|
16891
17019
|
const docW = SMART_CONTRACT_W;
|
|
@@ -16921,7 +17049,7 @@ function ShapeSmartContractNode({ node, active }) {
|
|
|
16921
17049
|
/* @__PURE__ */ jsxRuntime.jsx("path", { "data-cdl-role": "node-body", d: path, ...frame, strokeLinejoin: "round" }),
|
|
16922
17050
|
/* @__PURE__ */ jsxRuntime.jsx("path", { d: foldPath, fill: "none", stroke: frame.stroke, strokeWidth: frame.strokeWidth, strokeLinejoin: "round" }),
|
|
16923
17051
|
[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)),
|
|
16924
|
-
/* @__PURE__ */ jsxRuntime.jsx("text", { x: x + 16, y: y + docH - 46, fontSize: 11, fontFamily: "ui-monospace, SFMono-Regular, Menlo, monospace", fill: "var(--cdl-tone-accent, #2d6a8f)", children: "
|
|
17052
|
+
/* @__PURE__ */ jsxRuntime.jsx("text", { x: x + 16, y: y + docH - 46, fontSize: 11, fontFamily: "ui-monospace, SFMono-Regular, Menlo, monospace", fill: "var(--cdl-tone-accent, #2d6a8f)", children: \u5B57\u5F15("smartContract.call") }),
|
|
16925
17053
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
16926
17054
|
"polygon",
|
|
16927
17055
|
{
|
|
@@ -16942,14 +17070,14 @@ function ShapeSmartContractNode({ node, active }) {
|
|
|
16942
17070
|
}
|
|
16943
17071
|
var \u5B57\u306E\u5E45 = (text, size) => Math.max(displayWidth(text) * size * MONO_ADVANCE_RATIO, textWidth(text, size));
|
|
16944
17072
|
var BLOCK_DEFAULT_FIELDS = [
|
|
16945
|
-
{ label: "hash", value: "0xaf31c9d2..." },
|
|
16946
|
-
{ label: "prev", value: "0x7b3f92c1..." },
|
|
16947
|
-
{ label: "merkle", value: "0xc1892f4a..." },
|
|
16948
|
-
{ label: "nonce", value: "82,914" },
|
|
16949
|
-
{ label: "tx", value:
|
|
17073
|
+
{ key: "hash", label: "blockchainBlock.hash", value: { text: "0xaf31c9d2..." } },
|
|
17074
|
+
{ key: "prev", label: "blockchainBlock.prev", value: { text: "0x7b3f92c1..." } },
|
|
17075
|
+
{ key: "merkle", label: "blockchainBlock.merkle", value: { text: "0xc1892f4a..." } },
|
|
17076
|
+
{ key: "nonce", label: "blockchainBlock.nonce", value: { text: "82,914" } },
|
|
17077
|
+
{ key: "tx", label: "blockchainBlock.tx", value: { \u8F9E\u66F8: "blockchainBlock.txCount" } }
|
|
16950
17078
|
];
|
|
16951
|
-
|
|
16952
|
-
|
|
17079
|
+
function ShapeBlockchainBlockNode({ node, active, lang }) {
|
|
17080
|
+
const \u5B57\u5F15 = \u5B57\u5F15\u304D\u3092\u4F5C\u308B(lang);
|
|
16953
17081
|
const frame = commonFrame4(active);
|
|
16954
17082
|
const r = shapeRegion(node);
|
|
16955
17083
|
const bw = BLOCK_W;
|
|
@@ -16959,11 +17087,15 @@ function ShapeBlockchainBlockNode({ node, active }) {
|
|
|
16959
17087
|
const x = cx - bw / 2;
|
|
16960
17088
|
const y = cy - bh / 2;
|
|
16961
17089
|
const \u6E21\u3055\u308C\u305F = (v) => (v ?? "").trim();
|
|
16962
|
-
const \u898B\u51FA\u3057 = \u6E21\u3055\u308C\u305F(node.title) ||
|
|
16963
|
-
const fields = BLOCK_DEFAULT_FIELDS.map((f) =>
|
|
16964
|
-
|
|
16965
|
-
|
|
16966
|
-
|
|
17090
|
+
const \u898B\u51FA\u3057 = \u6E21\u3055\u308C\u305F(node.title) || \u5B57\u5F15("blockchainBlock.title");
|
|
17091
|
+
const fields = BLOCK_DEFAULT_FIELDS.map((f) => {
|
|
17092
|
+
const \u65E2\u5B9A\u5024 = "text" in f.value ? f.value.text : \u5B57\u5F15(f.value.\u8F9E\u66F8);
|
|
17093
|
+
return {
|
|
17094
|
+
key: f.key,
|
|
17095
|
+
label: \u5B57\u5F15(f.label),
|
|
17096
|
+
value: f.key === "hash" ? \u6E21\u3055\u308C\u305F(node.subtitle) || \u65E2\u5B9A\u5024 : \u65E2\u5B9A\u5024
|
|
17097
|
+
};
|
|
17098
|
+
});
|
|
16967
17099
|
const \u898B\u51FA\u3057\u306E\u5E45 = bw - 14 - 30;
|
|
16968
17100
|
const art = /* @__PURE__ */ jsxRuntime.jsxs("g", { children: [
|
|
16969
17101
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: x + 6, y: y + 6, width: bw, height: bh, rx: 8, fill: frame.stroke, opacity: 0.2, stroke: "none" }),
|
|
@@ -16973,7 +17105,7 @@ function ShapeBlockchainBlockNode({ node, active }) {
|
|
|
16973
17105
|
/* @__PURE__ */ jsxRuntime.jsx("circle", { cx: x + bw - 16, cy: y + 16, r: 5.5, fill: "#7cd88f", stroke: "#ffffff", strokeWidth: 1.5 }),
|
|
16974
17106
|
fields.map((f, i) => /* @__PURE__ */ jsxRuntime.jsxs("g", { children: [
|
|
16975
17107
|
/* @__PURE__ */ jsxRuntime.jsx("text", { x: x + 14, y: y + 54 + i * 22, fontSize: 10.5, fontFamily: "ui-monospace, SFMono-Regular, Menlo, monospace", fill: "var(--cdl-text-dim, #5a6270)", children: f.label }),
|
|
16976
|
-
/* @__PURE__ */ jsxRuntime.jsx("text", { "data-cdl-role": `blockchain-block-${f.
|
|
17108
|
+
/* @__PURE__ */ jsxRuntime.jsx("text", { "data-cdl-role": `blockchain-block-${f.key}`, x: x + bw - 14, y: y + 54 + i * 22, fontSize: 11, fontFamily: "ui-monospace, SFMono-Regular, Menlo, monospace", fontWeight: 600, textAnchor: "end", fill: "var(--cdl-text, #1a1f2a)", children: \u5E45\u3067\u5207\u308B(f.value, 11, bw - 28 - \u5B57\u306E\u5E45(f.label, 10.5) - 8, \u5B57\u306E\u5E45) }),
|
|
16977
17109
|
/* @__PURE__ */ jsxRuntime.jsx("line", { x1: x + 14, y1: y + 60 + i * 22, x2: x + bw - 14, y2: y + 60 + i * 22, stroke: "var(--cdl-divider, #d4d4d8)", strokeWidth: 0.5, opacity: 0.5 })
|
|
16978
17110
|
] }, i)),
|
|
16979
17111
|
/* @__PURE__ */ jsxRuntime.jsxs("g", { transform: `translate(${cx - 32}, ${y + bh - 26})`, children: [
|
|
@@ -17178,7 +17310,8 @@ function ShapeBlockchainNodeNode({ node, active }) {
|
|
|
17178
17310
|
bottomLabel2(node, r.cx, r.label)
|
|
17179
17311
|
] });
|
|
17180
17312
|
}
|
|
17181
|
-
function ShapeRpcNodeNode({ node, active }) {
|
|
17313
|
+
function ShapeRpcNodeNode({ node, active, lang }) {
|
|
17314
|
+
const \u5B57\u5F15 = \u5B57\u5F15\u304D\u3092\u4F5C\u308B(lang);
|
|
17182
17315
|
const frame = commonFrame4(active);
|
|
17183
17316
|
const r = shapeRegion(node);
|
|
17184
17317
|
const cx = r.cx;
|
|
@@ -17191,7 +17324,7 @@ function ShapeRpcNodeNode({ node, active }) {
|
|
|
17191
17324
|
/* @__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 }),
|
|
17192
17325
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x, y, width: bw, height: 30, rx: 10, fill: "#2d3a4f", stroke: "none" }),
|
|
17193
17326
|
/* @__PURE__ */ jsxRuntime.jsx("circle", { cx: x + 14, cy: y + 15, r: 5, fill: "#27c93f", stroke: "none", children: /* @__PURE__ */ jsxRuntime.jsx("animate", { attributeName: "opacity", values: "0.4;1;0.4", dur: "1.5s", repeatCount: "indefinite" }) }),
|
|
17194
|
-
/* @__PURE__ */ jsxRuntime.jsx("text", { x: x + 26, y: y + 20, fontSize: 12, fontFamily: "ui-monospace, SFMono-Regular, Menlo, monospace", fontWeight: 700, fill: "#7cd88f", children: "
|
|
17327
|
+
/* @__PURE__ */ jsxRuntime.jsx("text", { x: x + 26, y: y + 20, fontSize: 12, fontFamily: "ui-monospace, SFMono-Regular, Menlo, monospace", fontWeight: 700, fill: "#7cd88f", children: \u5B57\u5F15("rpcNode.status") }),
|
|
17195
17328
|
/* @__PURE__ */ jsxRuntime.jsx("text", { x: cx, y: cy + 6, fontSize: 30, fontWeight: 700, textAnchor: "middle", fill: "#e6edf3", fontFamily: "ui-monospace, SFMono-Regular, Menlo, monospace", children: "{...}" }),
|
|
17196
17329
|
/* @__PURE__ */ jsxRuntime.jsx("text", { x: cx, y: cy + 26, fontSize: 11, textAnchor: "middle", fill: "#7a8290", fontFamily: "ui-monospace, SFMono-Regular, Menlo, monospace", children: "JSON-RPC 2.0" }),
|
|
17197
17330
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: x + 16, y: y + bh - 24, width: bw - 32, height: 8, rx: 4, fill: "#0f1419", stroke: "none" }),
|
|
@@ -17477,7 +17610,8 @@ var TRUST_BASE_H = 14;
|
|
|
17477
17610
|
var TRUST_BODY_OUT = 8;
|
|
17478
17611
|
var TRUST_BLD_W_MIN = 140;
|
|
17479
17612
|
var TRUST_BLD_W_MAX = 280;
|
|
17480
|
-
function ShapeTrustBankNode({ node, active }) {
|
|
17613
|
+
function ShapeTrustBankNode({ node, active, lang }) {
|
|
17614
|
+
const \u5B57\u5F15 = \u5B57\u5F15\u304D\u3092\u4F5C\u308B(lang);
|
|
17481
17615
|
const frame = commonFrame5(active);
|
|
17482
17616
|
const r = shapeRegion(node);
|
|
17483
17617
|
const \u7DDA = frame.strokeWidth / 2;
|
|
@@ -17514,7 +17648,7 @@ function ShapeTrustBankNode({ node, active }) {
|
|
|
17514
17648
|
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);
|
|
17515
17649
|
}),
|
|
17516
17650
|
/* @__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" }),
|
|
17517
|
-
/* @__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: "
|
|
17651
|
+
/* @__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") }),
|
|
17518
17652
|
/* @__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 }),
|
|
17519
17653
|
Array.from({ length: nCols }, (_, i) => i).map((i) => {
|
|
17520
17654
|
const colCx = x + 15 + colGap + i * (colW + colGap) + colW / 2;
|
|
@@ -17533,7 +17667,8 @@ function ShapeTrustBankNode({ node, active }) {
|
|
|
17533
17667
|
bottomLabel3(node, r.cx, r.label)
|
|
17534
17668
|
] });
|
|
17535
17669
|
}
|
|
17536
|
-
function ShapePaymentProviderNode({ node, active }) {
|
|
17670
|
+
function ShapePaymentProviderNode({ node, active, lang }) {
|
|
17671
|
+
const \u5B57\u5F15 = \u5B57\u5F15\u304D\u3092\u4F5C\u308B(lang);
|
|
17537
17672
|
const frame = commonFrame5(active);
|
|
17538
17673
|
const r = shapeRegion(node);
|
|
17539
17674
|
const cx = r.cx;
|
|
@@ -17550,13 +17685,13 @@ function ShapePaymentProviderNode({ node, active }) {
|
|
|
17550
17685
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { "data-cdl-role": "node-body", x, y, width: boxW, height: boxH, rx: 10, fill: "#255a7a", stroke: accentDark, strokeWidth: frame.strokeWidth }),
|
|
17551
17686
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x, y, width: boxW, height: headerH, rx: 10, fill: accentDarker }),
|
|
17552
17687
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x, y: y + headerH - 8, width: boxW, height: 8, fill: accentDarker }),
|
|
17553
|
-
/* @__PURE__ */ jsxRuntime.jsx("text", { x: cx, y: y + 22, fontSize: 16, fontWeight: 700, letterSpacing: 4, textAnchor: "middle", fill: "#e5c07b", children: "
|
|
17688
|
+
/* @__PURE__ */ jsxRuntime.jsx("text", { x: cx, y: y + 22, fontSize: 16, fontWeight: 700, letterSpacing: 4, textAnchor: "middle", fill: "#e5c07b", children: \u5B57\u5F15("paymentProvider.sign") }),
|
|
17554
17689
|
/* @__PURE__ */ jsxRuntime.jsxs("g", { children: [
|
|
17555
17690
|
/* @__PURE__ */ jsxRuntime.jsx("circle", { cx, cy: cy + 4, r: 22, fill: "none", stroke: "#e5c07b", strokeWidth: 3.5, strokeDasharray: "38 24", strokeLinecap: "round", children: /* @__PURE__ */ jsxRuntime.jsx("animateTransform", { attributeName: "transform", type: "rotate", from: `0 ${cx} ${cy + 4}`, to: `360 ${cx} ${cy + 4}`, dur: "2s", repeatCount: "indefinite" }) }),
|
|
17556
17691
|
/* @__PURE__ */ jsxRuntime.jsx("circle", { cx, cy: cy + 4, r: 10, fill: "#e5c07b", stroke: accentDarker, strokeWidth: 1.5 }),
|
|
17557
17692
|
/* @__PURE__ */ jsxRuntime.jsx("text", { x: cx, y: cy + 9, fontSize: 13, fontWeight: 700, textAnchor: "middle", fill: accentDarker, fontFamily: "Georgia, serif", children: "$" })
|
|
17558
17693
|
] }),
|
|
17559
|
-
/* @__PURE__ */ jsxRuntime.jsx("text", { x: cx, y: y + boxH - 16, fontSize: 9, fontWeight: 700, letterSpacing: 2, textAnchor: "middle", fill: "#a4b5f2", children: "
|
|
17694
|
+
/* @__PURE__ */ jsxRuntime.jsx("text", { x: cx, y: y + boxH - 16, fontSize: 9, fontWeight: 700, letterSpacing: 2, textAnchor: "middle", fill: "#a4b5f2", children: \u5B57\u5F15("paymentProvider.status") }),
|
|
17560
17695
|
bottomLabel3(node, r.cx, r.label)
|
|
17561
17696
|
] });
|
|
17562
17697
|
}
|
|
@@ -17604,7 +17739,8 @@ var BROKERAGE_SHADE_OUT = 2;
|
|
|
17604
17739
|
var BROKERAGE_W_MIN = BROKERAGE_COLS * BROKERAGE_CELL_W + (BROKERAGE_COLS - 1) * BROKERAGE_GAP_X + 6;
|
|
17605
17740
|
var BROKERAGE_W_MAX = 140;
|
|
17606
17741
|
var BROKERAGE_H_MIN = BROKERAGE_TICK_H + BROKERAGE_LOGO_H + BROKERAGE_BASE_H;
|
|
17607
|
-
function ShapeBrokerageNode({ node, active }) {
|
|
17742
|
+
function ShapeBrokerageNode({ node, active, lang }) {
|
|
17743
|
+
const \u5B57\u5F15 = \u5B57\u5F15\u304D\u3092\u4F5C\u308B(lang);
|
|
17608
17744
|
const frame = commonFrame5(active);
|
|
17609
17745
|
const r = shapeRegion(node);
|
|
17610
17746
|
const cx = r.cx;
|
|
@@ -17640,9 +17776,9 @@ function ShapeBrokerageNode({ node, active }) {
|
|
|
17640
17776
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: x - BROKERAGE_SHADE_OUT, y, width: BROKERAGE_SHADE_OUT * 2, height: h, fill: accentDarker }),
|
|
17641
17777
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x, y, width: w, height: BROKERAGE_TICK_H, fill: "#0f1830", stroke: "none" }),
|
|
17642
17778
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: x + 2, y: y + 2, width: w - 4, height: 8, fill: "#1a2340", stroke: "none" }),
|
|
17643
|
-
/* @__PURE__ */ jsxRuntime.jsx("text", { x: cx, y: y + 9, fontSize: 5.5, fontWeight: 700, textAnchor: "middle", fill: "#4ea36a", fontFamily: "ui-monospace, SFMono-Regular, Menlo, monospace", children:
|
|
17779
|
+
/* @__PURE__ */ jsxRuntime.jsx("text", { x: cx, y: y + 9, fontSize: 5.5, fontWeight: 700, textAnchor: "middle", fill: "#4ea36a", fontFamily: "ui-monospace, SFMono-Regular, Menlo, monospace", children: \u5B57\u5F15("brokerage.ticker") }),
|
|
17644
17780
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x, y: y + BROKERAGE_TICK_H, width: w, height: BROKERAGE_LOGO_H, fill: "#e5c07b", stroke: "none" }),
|
|
17645
|
-
/* @__PURE__ */ jsxRuntime.jsx("text", { x: cx, y: y + 30, fontSize: 12, fontWeight: 700, letterSpacing: 2.5, textAnchor: "middle", fill: "#0f1830", children: "
|
|
17781
|
+
/* @__PURE__ */ jsxRuntime.jsx("text", { x: cx, y: y + 30, fontSize: 12, fontWeight: 700, letterSpacing: 2.5, textAnchor: "middle", fill: "#0f1830", children: \u5B57\u5F15("brokerage.sign") }),
|
|
17646
17782
|
Array.from({ length: rows }).map(
|
|
17647
17783
|
(_, ri) => Array.from({ length: cols }).map((_2, ci) => {
|
|
17648
17784
|
const wx = gridStartX + ci * (cellW + gapX);
|
|
@@ -17663,7 +17799,8 @@ function ShapeBrokerageNode({ node, active }) {
|
|
|
17663
17799
|
bottomLabel3(node, r.cx, r.label)
|
|
17664
17800
|
] });
|
|
17665
17801
|
}
|
|
17666
|
-
function ShapeExchangeNode({ node, active }) {
|
|
17802
|
+
function ShapeExchangeNode({ node, active, lang }) {
|
|
17803
|
+
const \u5B57\u5F15 = \u5B57\u5F15\u304D\u3092\u4F5C\u308B(lang);
|
|
17667
17804
|
const frame = commonFrame5(active);
|
|
17668
17805
|
const r = shapeRegion(node);
|
|
17669
17806
|
const cx = r.cx;
|
|
@@ -17708,9 +17845,9 @@ function ShapeExchangeNode({ node, active }) {
|
|
|
17708
17845
|
] }, `d${i}`);
|
|
17709
17846
|
}),
|
|
17710
17847
|
/* @__PURE__ */ jsxRuntime.jsx("path", { d: hexPath, fill: "#255a7a", stroke: accentDarker, strokeWidth: frame.strokeWidth, strokeLinejoin: "round" }),
|
|
17711
|
-
/* @__PURE__ */ jsxRuntime.jsx("text", { x: cx, y: cy - 8, fontSize: 10, fontWeight: 700, letterSpacing: 2, textAnchor: "middle", fill: "#e5c07b", children: "
|
|
17848
|
+
/* @__PURE__ */ jsxRuntime.jsx("text", { x: cx, y: cy - 8, fontSize: 10, fontWeight: 700, letterSpacing: 2, textAnchor: "middle", fill: "#e5c07b", children: \u5B57\u5F15("exchange.sign") }),
|
|
17712
17849
|
/* @__PURE__ */ jsxRuntime.jsx("text", { "data-cdl-role": "node-body", x: cx, y: cy + 12, fontSize: 22, fontWeight: 700, textAnchor: "middle", fill: "#e5c07b", children: "\u21C4" }),
|
|
17713
|
-
/* @__PURE__ */ jsxRuntime.jsx("text", { x: cx, y: cy + 26, fontSize: 8, fontWeight: 700, textAnchor: "middle", fill: "#a4b5f2", children: "
|
|
17850
|
+
/* @__PURE__ */ jsxRuntime.jsx("text", { x: cx, y: cy + 26, fontSize: 8, fontWeight: 700, textAnchor: "middle", fill: "#a4b5f2", children: \u5B57\u5F15("exchange.sub") }),
|
|
17714
17851
|
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}`))
|
|
17715
17852
|
] });
|
|
17716
17853
|
return /* @__PURE__ */ jsxRuntime.jsxs("g", { children: [
|
|
@@ -17732,7 +17869,8 @@ var ATM_PANEL_H = 146;
|
|
|
17732
17869
|
var ATM_W_MIN = 100;
|
|
17733
17870
|
var ATM_W_MAX = 140;
|
|
17734
17871
|
var ATM_H_MIN = ATM_SIGN_H + ATM_SIGN_GAP + 30 + ATM_FLOOR_RESERVE;
|
|
17735
|
-
function ShapeAtmNode({ node, active }) {
|
|
17872
|
+
function ShapeAtmNode({ node, active, lang }) {
|
|
17873
|
+
const \u5B57\u5F15 = \u5B57\u5F15\u304D\u3092\u4F5C\u308B(lang);
|
|
17736
17874
|
const frame = commonFrame5(active);
|
|
17737
17875
|
const r = shapeRegion(node);
|
|
17738
17876
|
const cx = r.cx;
|
|
@@ -17766,12 +17904,12 @@ function ShapeAtmNode({ node, active }) {
|
|
|
17766
17904
|
const \u7D75 = /* @__PURE__ */ jsxRuntime.jsxs("g", { children: [
|
|
17767
17905
|
/* @__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" }),
|
|
17768
17906
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: centerX - totalW / 2, y: signY, width: totalW, height: signH, fill: accentDarker, stroke: "#000", strokeWidth: ATM_SIGN_SW }),
|
|
17769
|
-
/* @__PURE__ */ jsxRuntime.jsx("text", { x: centerX, y: signY + 17, fontSize: 11, fontWeight: 700, letterSpacing: 2, textAnchor: "middle", fill: "#e5c07b", children: "
|
|
17907
|
+
/* @__PURE__ */ jsxRuntime.jsx("text", { x: centerX, y: signY + 17, fontSize: 11, fontWeight: 700, letterSpacing: 2, textAnchor: "middle", fill: "#e5c07b", children: \u5B57\u5F15("atm.sign") }),
|
|
17770
17908
|
/* @__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 }),
|
|
17771
17909
|
/* @__PURE__ */ jsxRuntime.jsxs("g", { transform: `translate(${centerX} ${atmY}) scale(${\u9762})`, children: [
|
|
17772
17910
|
/* @__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 }),
|
|
17773
17911
|
/* @__PURE__ */ jsxRuntime.jsx("text", { x: 0, y: 30, fontSize: 10, fontWeight: 700, letterSpacing: 1, textAnchor: "middle", fill: "#e5c07b", children: "\u304A\u5F15\u51FA\u3057" }),
|
|
17774
|
-
/* @__PURE__ */ jsxRuntime.jsx("text", { x: 0, y: 44, fontSize: 8, fontWeight: 700, textAnchor: "middle", fill: "#a4b5f2", children: "
|
|
17912
|
+
/* @__PURE__ */ jsxRuntime.jsx("text", { x: 0, y: 44, fontSize: 8, fontWeight: 700, textAnchor: "middle", fill: "#a4b5f2", children: \u5B57\u5F15("atm.screen") }),
|
|
17775
17913
|
/* @__PURE__ */ jsxRuntime.jsx("text", { x: 0, y: 56, fontSize: 10, fontWeight: 700, textAnchor: "middle", fill: "#4ea36a", children: "\xA5 20,000" }),
|
|
17776
17914
|
/* @__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 }),
|
|
17777
17915
|
(() => {
|
|
@@ -17785,7 +17923,7 @@ function ShapeAtmNode({ node, active }) {
|
|
|
17785
17923
|
["5", "#5a6270"],
|
|
17786
17924
|
["6", "#5a6270"],
|
|
17787
17925
|
["0", "#5a6270"],
|
|
17788
|
-
["
|
|
17926
|
+
[\u5B57\u5F15("atm.ok"), "#4ea36a"]
|
|
17789
17927
|
];
|
|
17790
17928
|
const keyW = 18;
|
|
17791
17929
|
const keyH = 10;
|
|
@@ -17798,13 +17936,16 @@ function ShapeAtmNode({ node, active }) {
|
|
|
17798
17936
|
const ky = 74 + row * (keyH + 2);
|
|
17799
17937
|
return /* @__PURE__ */ jsxRuntime.jsxs("g", { children: [
|
|
17800
17938
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: kx, y: ky, width: keyW, height: keyH, fill: k[1], stroke: "#0f1830", strokeWidth: 0.8 }),
|
|
17801
|
-
/* @__PURE__ */ jsxRuntime.jsx("text", { x: kx + keyW / 2, y: ky + 7, fontSize:
|
|
17939
|
+
/* @__PURE__ */ jsxRuntime.jsx("text", { x: kx + keyW / 2, y: ky + 7, fontSize: (
|
|
17940
|
+
/* 決める鍵 (末尾) は 2 字あるので小さく描く。 字は言語で変わるため位置で見分ける */
|
|
17941
|
+
i === keys.length - 1 ? 6 : 7
|
|
17942
|
+
), fontWeight: 700, textAnchor: "middle", fill: "#ffffff", children: k[0] })
|
|
17802
17943
|
] }, `k${i}`);
|
|
17803
17944
|
});
|
|
17804
17945
|
})(),
|
|
17805
17946
|
/* @__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 }),
|
|
17806
17947
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: \u9762\u5DE6 + 15, y: 118, width: ATM_PANEL_W - 30, height: 4, rx: 0.5, fill: "#e5c07b" }),
|
|
17807
|
-
/* @__PURE__ */ jsxRuntime.jsx("text", { x: 0, y: 132, fontSize: 6, fontWeight: 700, letterSpacing: 1, textAnchor: "middle", fill: "#e5c07b", children: "
|
|
17948
|
+
/* @__PURE__ */ jsxRuntime.jsx("text", { x: 0, y: 132, fontSize: 6, fontWeight: 700, letterSpacing: 1, textAnchor: "middle", fill: "#e5c07b", children: \u5B57\u5F15("atm.cardSlot") }),
|
|
17808
17949
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: \u9762\u5DE6 + 12, y: 136, width: ATM_PANEL_W - 24, height: 4, rx: 1, fill: "#0f1830" })
|
|
17809
17950
|
] }),
|
|
17810
17951
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: centerX - totalW / 2, y: floorY, width: totalW, height: 6, fill: "#8b949e", stroke: "none" }),
|
|
@@ -17889,7 +18030,8 @@ function ShapeWebsiteNode({ node, active }) {
|
|
|
17889
18030
|
bottomLabel4(node, r.cx, r.label)
|
|
17890
18031
|
] });
|
|
17891
18032
|
}
|
|
17892
|
-
function ShapeStorefrontNode({ node, active }) {
|
|
18033
|
+
function ShapeStorefrontNode({ node, active, lang }) {
|
|
18034
|
+
const \u5B57\u5F15 = \u5B57\u5F15\u304D\u3092\u4F5C\u308B(lang);
|
|
17893
18035
|
const frame = commonFrame6(active);
|
|
17894
18036
|
const r = shapeRegion(node);
|
|
17895
18037
|
const cx = r.cx;
|
|
@@ -17915,7 +18057,7 @@ function ShapeStorefrontNode({ node, active }) {
|
|
|
17915
18057
|
return /* @__PURE__ */ jsxRuntime.jsxs("g", { children: [
|
|
17916
18058
|
/* @__PURE__ */ jsxRuntime.jsx("ellipse", { cx, cy: y + bh + 8, rx: bw * 0.5, ry: 5, fill: frame.stroke, opacity: 0.2, stroke: "none" }),
|
|
17917
18059
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x, y, width: bw, height: signH, fill: accent, stroke: accentDark, strokeWidth: 2 }),
|
|
17918
|
-
/* @__PURE__ */ jsxRuntime.jsx("text", { x: cx, y: y + 18, fontSize: 16, fontWeight: 900, letterSpacing: 8, textAnchor: "middle", fill: "#ffffff", children: "
|
|
18060
|
+
/* @__PURE__ */ jsxRuntime.jsx("text", { x: cx, y: y + 18, fontSize: 16, fontWeight: 900, letterSpacing: 8, textAnchor: "middle", fill: "#ffffff", children: \u5B57\u5F15("storefront.sign") }),
|
|
17919
18061
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { "data-cdl-role": "node-body", x, y: facadeY, width: bw, height: facadeH, fill: "#e0e4e8", stroke: "#5a6270", strokeWidth: frame.strokeWidth }),
|
|
17920
18062
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: winX, y: winY, width: winW, height: winH, fill: "#a4c5d9", stroke: accentDarker, strokeWidth: 2 }),
|
|
17921
18063
|
/* @__PURE__ */ jsxRuntime.jsx("line", { x1: winX + winW / 2, y1: winY, x2: winX + winW / 2, y2: winY + winH, stroke: accentDarker, strokeWidth: 1 }),
|
|
@@ -17929,7 +18071,7 @@ function ShapeStorefrontNode({ node, active }) {
|
|
|
17929
18071
|
/* @__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 }),
|
|
17930
18072
|
/* @__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 }),
|
|
17931
18073
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: doorX + doorW / 2 - 20, y: doorY + doorH * 0.85, width: 40, height: 12, fill: "#e5c07b", stroke: "#a67c00", strokeWidth: 1.5 }),
|
|
17932
|
-
/* @__PURE__ */ jsxRuntime.jsx("text", { x: doorX + doorW / 2, y: doorY + doorH * 0.85 + 9, fontSize: 8, fontWeight: 700, letterSpacing: 1, textAnchor: "middle", fill: "#5a3a10", children: "
|
|
18074
|
+
/* @__PURE__ */ jsxRuntime.jsx("text", { x: doorX + doorW / 2, y: doorY + doorH * 0.85 + 9, fontSize: 8, fontWeight: 700, letterSpacing: 1, textAnchor: "middle", fill: "#5a3a10", children: \u5B57\u5F15("storefront.open") }),
|
|
17933
18075
|
/* @__PURE__ */ jsxRuntime.jsx("circle", { cx: doorX + 6, cy: doorY + doorH * 0.55, r: 1.5, fill: "#c15a4a" }),
|
|
17934
18076
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: x - 6, y: y + bh - 6, width: bw + 12, height: 8, fill: "#5a6270", stroke: "none" }),
|
|
17935
18077
|
bottomLabel4(node, r.cx, r.label)
|
|
@@ -17946,7 +18088,8 @@ var WAREHOUSE_SHADOW_RX_RATIO = 0.5;
|
|
|
17946
18088
|
var WAREHOUSE_H_MIN = WAREHOUSE_ROOF_H + WAREHOUSE_SIGN_H + 68;
|
|
17947
18089
|
var WAREHOUSE_W_MIN = 160;
|
|
17948
18090
|
var WAREHOUSE_W_MAX = 240;
|
|
17949
|
-
function ShapeWarehouseNode({ node, active }) {
|
|
18091
|
+
function ShapeWarehouseNode({ node, active, lang }) {
|
|
18092
|
+
const \u5B57\u5F15 = \u5B57\u5F15\u304D\u3092\u4F5C\u308B(lang);
|
|
17950
18093
|
const frame = commonFrame6(active);
|
|
17951
18094
|
const r = shapeRegion(node);
|
|
17952
18095
|
const cx = r.cx;
|
|
@@ -17975,7 +18118,7 @@ function ShapeWarehouseNode({ node, active }) {
|
|
|
17975
18118
|
/* @__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" }),
|
|
17976
18119
|
/* @__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 }),
|
|
17977
18120
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x, y: y + roofH, width: bw, height: signH, fill: "#c15a4a", stroke: "#8b3f2f", strokeWidth: 1.5 }),
|
|
17978
|
-
/* @__PURE__ */ jsxRuntime.jsx("text", { x: cx, y: y + roofH + 17, fontSize: 12, fontWeight: 900, letterSpacing: 6, textAnchor: "middle", fill: "#ffffff", children: "
|
|
18121
|
+
/* @__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") }),
|
|
17979
18122
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: shutterX, y: shutterY, width: shutterW, height: shutterH, fill: "#8b949e", stroke: accentDarker, strokeWidth: 2 }),
|
|
17980
18123
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: shutterX, y: shutterY, width: shutterW, height: 5, fill: "#5a6270", stroke: "none" }),
|
|
17981
18124
|
Array.from({ length: 10 }, (_, i) => i).map((i) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -18132,7 +18275,8 @@ var API_ROWS = 3;
|
|
|
18132
18275
|
var API_H_MIN = API_ROW_TOP + (API_ROWS - 1) * API_ROW_PITCH_MIN + API_ROW_H + API_ROW_BOTTOM_PAD;
|
|
18133
18276
|
var API_W_MIN = 200;
|
|
18134
18277
|
var API_W_MAX = 300;
|
|
18135
|
-
function ShapeApiGatewayNode({ node, active }) {
|
|
18278
|
+
function ShapeApiGatewayNode({ node, active, lang }) {
|
|
18279
|
+
const \u5B57\u5F15 = \u5B57\u5F15\u304D\u3092\u4F5C\u308B(lang);
|
|
18136
18280
|
const frame = commonFrame6(active);
|
|
18137
18281
|
const r = shapeRegion(node);
|
|
18138
18282
|
const cx = r.cx;
|
|
@@ -18143,6 +18287,7 @@ function ShapeApiGatewayNode({ node, active }) {
|
|
|
18143
18287
|
const x = cx - bw / 2;
|
|
18144
18288
|
const y = r.cy - \u7E26 / 2 + \u4F59\u767D;
|
|
18145
18289
|
const \u5E83\u304C\u308A = { \u4E0A: \u7E26 / 2, \u4E0B: \u7E26 / 2, \u5DE6: bw / 2 + \u4F59\u767D, \u53F3: bw / 2 + \u4F59\u767D };
|
|
18290
|
+
const \u7A2E\u985E\u306E\u5B57 = (s) => Math.min(11, 11 * 48 / Math.max(displayWidth(s) * 11 * MONO_ADVANCE_RATIO, textWidth(s, 11)));
|
|
18146
18291
|
const rowPitch = Math.max(
|
|
18147
18292
|
API_ROW_PITCH_MIN,
|
|
18148
18293
|
(bh - API_ROW_TOP - API_ROW_H - API_ROW_BOTTOM_PAD) / (API_ROWS - 1)
|
|
@@ -18151,15 +18296,15 @@ function ShapeApiGatewayNode({ node, active }) {
|
|
|
18151
18296
|
/* @__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" }),
|
|
18152
18297
|
/* @__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 }),
|
|
18153
18298
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x, y, width: bw, height: 36, rx: 10, fill: "var(--cdl-tone-accent, #2d6a8f)", stroke: "none" }),
|
|
18154
|
-
/* @__PURE__ */ jsxRuntime.jsx("text", { x: cx, y: y + 24, fontSize: 14, fontWeight: 700, letterSpacing: 3, textAnchor: "middle", fill: "#ffffff", fontFamily: "ui-monospace, SFMono-Regular, Menlo, monospace", children: "
|
|
18299
|
+
/* @__PURE__ */ jsxRuntime.jsx("text", { x: cx, y: y + 24, fontSize: 14, fontWeight: 700, letterSpacing: 3, textAnchor: "middle", fill: "#ffffff", fontFamily: "ui-monospace, SFMono-Regular, Menlo, monospace", children: \u5B57\u5F15("apiGateway.sign") }),
|
|
18155
18300
|
[
|
|
18156
|
-
{ method: "GET", path: "
|
|
18157
|
-
{ method: "POST", path: "
|
|
18158
|
-
{ method: "
|
|
18301
|
+
{ method: "GET", path: \u5B57\u5F15("apiGateway.users"), color: "#27c93f" },
|
|
18302
|
+
{ method: "POST", path: \u5B57\u5F15("apiGateway.orders"), color: "#e5c07b" },
|
|
18303
|
+
{ method: \u5B57\u5F15("apiGateway.delete"), path: \u5B57\u5F15("apiGateway.session"), color: "#c9302c" }
|
|
18159
18304
|
].map((e, i) => /* @__PURE__ */ jsxRuntime.jsxs("g", { transform: `translate(${x + 16}, ${y + API_ROW_TOP + i * rowPitch})`, children: [
|
|
18160
18305
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: 0, y: 0, width: bw - 32, height: API_ROW_H, rx: 4, fill: "#0f1419", stroke: "none" }),
|
|
18161
18306
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: 0, y: 0, width: 54, height: API_ROW_H, rx: 4, fill: e.color, stroke: "none" }),
|
|
18162
|
-
/* @__PURE__ */ jsxRuntime.jsx("text", { x: 27, y: 16, fontSize:
|
|
18307
|
+
/* @__PURE__ */ jsxRuntime.jsx("text", { x: 27, y: 16, fontSize: \u7A2E\u985E\u306E\u5B57(e.method), fontWeight: 700, textAnchor: "middle", fill: "#ffffff", fontFamily: "ui-monospace, SFMono-Regular, Menlo, monospace", children: e.method }),
|
|
18163
18308
|
/* @__PURE__ */ jsxRuntime.jsx("text", { x: 64, y: 16, fontSize: 12, fontFamily: "ui-monospace, SFMono-Regular, Menlo, monospace", fill: "#e6edf3", children: e.path }),
|
|
18164
18309
|
/* @__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" }) })
|
|
18165
18310
|
] }, i))
|
|
@@ -18464,7 +18609,8 @@ function CdlNodeView({
|
|
|
18464
18609
|
stateValues,
|
|
18465
18610
|
currentPhaseId,
|
|
18466
18611
|
chartLineScale,
|
|
18467
|
-
\u95A2\u4FC2\u306E\u53D7\u3051\u53E3
|
|
18612
|
+
\u95A2\u4FC2\u306E\u53D7\u3051\u53E3,
|
|
18613
|
+
lang
|
|
18468
18614
|
}) {
|
|
18469
18615
|
const value = node.value ? interpolate(node.value, stateValues) : void 0;
|
|
18470
18616
|
const rows = (node.rows ?? []).map((r) => interpolate(r, stateValues));
|
|
@@ -18680,11 +18826,11 @@ function CdlNodeView({
|
|
|
18680
18826
|
case "shape-window":
|
|
18681
18827
|
return /* @__PURE__ */ jsxRuntime.jsx(ShapeWindowNode, { node: resolvedNode, active });
|
|
18682
18828
|
case "shape-terminal":
|
|
18683
|
-
return /* @__PURE__ */ jsxRuntime.jsx(ShapeTerminalNode, { node: resolvedNode, active });
|
|
18829
|
+
return /* @__PURE__ */ jsxRuntime.jsx(ShapeTerminalNode, { node: resolvedNode, active, lang });
|
|
18684
18830
|
case "shape-code-block":
|
|
18685
|
-
return /* @__PURE__ */ jsxRuntime.jsx(ShapeCodeBlockNode, { node: resolvedNode, active });
|
|
18831
|
+
return /* @__PURE__ */ jsxRuntime.jsx(ShapeCodeBlockNode, { node: resolvedNode, active, lang });
|
|
18686
18832
|
case "shape-kanban-card":
|
|
18687
|
-
return /* @__PURE__ */ jsxRuntime.jsx(ShapeKanbanCardNode, { node: resolvedNode, active });
|
|
18833
|
+
return /* @__PURE__ */ jsxRuntime.jsx(ShapeKanbanCardNode, { node: resolvedNode, active, lang });
|
|
18688
18834
|
case "shape-message-bubble":
|
|
18689
18835
|
return /* @__PURE__ */ jsxRuntime.jsx(ShapeMessageBubbleNode, { node: resolvedNode, active });
|
|
18690
18836
|
case "shape-gear":
|
|
@@ -18702,11 +18848,11 @@ function CdlNodeView({
|
|
|
18702
18848
|
case "shape-satellite":
|
|
18703
18849
|
return /* @__PURE__ */ jsxRuntime.jsx(ShapeSatelliteNode, { node: resolvedNode, active });
|
|
18704
18850
|
case "shape-smart-contract":
|
|
18705
|
-
return /* @__PURE__ */ jsxRuntime.jsx(ShapeSmartContractNode, { node: resolvedNode, active });
|
|
18851
|
+
return /* @__PURE__ */ jsxRuntime.jsx(ShapeSmartContractNode, { node: resolvedNode, active, lang });
|
|
18706
18852
|
case "shape-blockchain-block":
|
|
18707
|
-
return /* @__PURE__ */ jsxRuntime.jsx(ShapeBlockchainBlockNode, { node: resolvedNode, active });
|
|
18853
|
+
return /* @__PURE__ */ jsxRuntime.jsx(ShapeBlockchainBlockNode, { node: resolvedNode, active, lang });
|
|
18708
18854
|
case "shape-rpc-node":
|
|
18709
|
-
return /* @__PURE__ */ jsxRuntime.jsx(ShapeRpcNodeNode, { node: resolvedNode, active });
|
|
18855
|
+
return /* @__PURE__ */ jsxRuntime.jsx(ShapeRpcNodeNode, { node: resolvedNode, active, lang });
|
|
18710
18856
|
case "shape-wallet":
|
|
18711
18857
|
return /* @__PURE__ */ jsxRuntime.jsx(ShapeWalletNode, { node: resolvedNode, active });
|
|
18712
18858
|
case "shape-nft":
|
|
@@ -18724,29 +18870,29 @@ function CdlNodeView({
|
|
|
18724
18870
|
case "shape-bank":
|
|
18725
18871
|
return /* @__PURE__ */ jsxRuntime.jsx(ShapeBankNode, { node: resolvedNode, active });
|
|
18726
18872
|
case "shape-trust-bank":
|
|
18727
|
-
return /* @__PURE__ */ jsxRuntime.jsx(ShapeTrustBankNode, { node: resolvedNode, active });
|
|
18873
|
+
return /* @__PURE__ */ jsxRuntime.jsx(ShapeTrustBankNode, { node: resolvedNode, active, lang });
|
|
18728
18874
|
case "shape-payment-provider":
|
|
18729
|
-
return /* @__PURE__ */ jsxRuntime.jsx(ShapePaymentProviderNode, { node: resolvedNode, active });
|
|
18875
|
+
return /* @__PURE__ */ jsxRuntime.jsx(ShapePaymentProviderNode, { node: resolvedNode, active, lang });
|
|
18730
18876
|
case "shape-credit-card":
|
|
18731
18877
|
return /* @__PURE__ */ jsxRuntime.jsx(ShapeCreditCardNode, { node: resolvedNode, active });
|
|
18732
18878
|
case "shape-brokerage":
|
|
18733
|
-
return /* @__PURE__ */ jsxRuntime.jsx(ShapeBrokerageNode, { node: resolvedNode, active });
|
|
18879
|
+
return /* @__PURE__ */ jsxRuntime.jsx(ShapeBrokerageNode, { node: resolvedNode, active, lang });
|
|
18734
18880
|
case "shape-exchange":
|
|
18735
|
-
return /* @__PURE__ */ jsxRuntime.jsx(ShapeExchangeNode, { node: resolvedNode, active });
|
|
18881
|
+
return /* @__PURE__ */ jsxRuntime.jsx(ShapeExchangeNode, { node: resolvedNode, active, lang });
|
|
18736
18882
|
case "shape-atm":
|
|
18737
|
-
return /* @__PURE__ */ jsxRuntime.jsx(ShapeAtmNode, { node: resolvedNode, active });
|
|
18883
|
+
return /* @__PURE__ */ jsxRuntime.jsx(ShapeAtmNode, { node: resolvedNode, active, lang });
|
|
18738
18884
|
case "shape-website":
|
|
18739
18885
|
return /* @__PURE__ */ jsxRuntime.jsx(ShapeWebsiteNode, { node: resolvedNode, active });
|
|
18740
18886
|
case "shape-storefront":
|
|
18741
|
-
return /* @__PURE__ */ jsxRuntime.jsx(ShapeStorefrontNode, { node: resolvedNode, active });
|
|
18887
|
+
return /* @__PURE__ */ jsxRuntime.jsx(ShapeStorefrontNode, { node: resolvedNode, active, lang });
|
|
18742
18888
|
case "shape-warehouse":
|
|
18743
|
-
return /* @__PURE__ */ jsxRuntime.jsx(ShapeWarehouseNode, { node: resolvedNode, active });
|
|
18889
|
+
return /* @__PURE__ */ jsxRuntime.jsx(ShapeWarehouseNode, { node: resolvedNode, active, lang });
|
|
18744
18890
|
case "shape-online-shop":
|
|
18745
18891
|
return /* @__PURE__ */ jsxRuntime.jsx(ShapeOnlineShopNode, { node: resolvedNode, active });
|
|
18746
18892
|
case "shape-cdn-edge":
|
|
18747
18893
|
return /* @__PURE__ */ jsxRuntime.jsx(ShapeCdnEdgeNode, { node: resolvedNode, active });
|
|
18748
18894
|
case "shape-api-gateway":
|
|
18749
|
-
return /* @__PURE__ */ jsxRuntime.jsx(ShapeApiGatewayNode, { node: resolvedNode, active });
|
|
18895
|
+
return /* @__PURE__ */ jsxRuntime.jsx(ShapeApiGatewayNode, { node: resolvedNode, active, lang });
|
|
18750
18896
|
case "shape-auditor":
|
|
18751
18897
|
return /* @__PURE__ */ jsxRuntime.jsx(ShapeAuditorNode, { node: resolvedNode, active });
|
|
18752
18898
|
case "shape-regulator":
|
|
@@ -19121,6 +19267,7 @@ function CdlStage({
|
|
|
19121
19267
|
{
|
|
19122
19268
|
node,
|
|
19123
19269
|
active: activeSet.has(node.id),
|
|
19270
|
+
lang: laid.lang,
|
|
19124
19271
|
\u95A2\u4FC2\u306E\u53D7\u3051\u53E3: \u7BB1\u306E\u53D7\u3051\u53E3,
|
|
19125
19272
|
drawing: \u63CF\u304F,
|
|
19126
19273
|
progress: \u63CF\u304F ? \u63CF\u304F\u9032\u307F : progress,
|
|
@@ -22822,6 +22969,12 @@ function ProgressGroupReadout({
|
|
|
22822
22969
|
}) })
|
|
22823
22970
|
] });
|
|
22824
22971
|
}
|
|
22972
|
+
function sequenceLabelAnchor(x, name, fontSize, viewW) {
|
|
22973
|
+
const half = textWidth(name, fontSize) / 2;
|
|
22974
|
+
if (x - half < 0) return "start";
|
|
22975
|
+
if (x + half > viewW) return "end";
|
|
22976
|
+
return "middle";
|
|
22977
|
+
}
|
|
22825
22978
|
function SequenceTimelineReadout({
|
|
22826
22979
|
id,
|
|
22827
22980
|
label,
|
|
@@ -22873,7 +23026,7 @@ function SequenceTimelineReadout({
|
|
|
22873
23026
|
const x = xFor(e.t);
|
|
22874
23027
|
return /* @__PURE__ */ jsxRuntime.jsxs("g", { "data-cdl-event-marker": e.name, children: [
|
|
22875
23028
|
/* @__PURE__ */ jsxRuntime.jsx("circle", { cx: x, cy: trackY, r: 5, fill: color, stroke: "#fff", strokeWidth: 1.5, children: /* @__PURE__ */ jsxRuntime.jsx("title", { children: `${e.name}: t=${e.t}` }) }),
|
|
22876
|
-
/* @__PURE__ */ jsxRuntime.jsx("text", { x, y: trackY - 12, textAnchor:
|
|
23029
|
+
/* @__PURE__ */ jsxRuntime.jsx("text", { x, y: trackY - 12, textAnchor: sequenceLabelAnchor(x, e.name, 10, viewW), fontSize: 10, fill: "var(--v4-ink, #1a1f2a)", children: e.name }),
|
|
22877
23030
|
/* @__PURE__ */ jsxRuntime.jsx("text", { x, y: trackY + 18, textAnchor: "middle", fontSize: 9, fill: "var(--v4-mute, #64748b)", children: e.t })
|
|
22878
23031
|
] }, i);
|
|
22879
23032
|
})
|