@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/index.cjs
CHANGED
|
@@ -353,6 +353,122 @@ function inputDefaultValue(input) {
|
|
|
353
353
|
}
|
|
354
354
|
}
|
|
355
355
|
|
|
356
|
+
// src/lang.ts
|
|
357
|
+
function resolveLang(value) {
|
|
358
|
+
return value === "ja" ? "ja" : "en";
|
|
359
|
+
}
|
|
360
|
+
var en = {
|
|
361
|
+
/** `shape-terminal` の 2 行目 (命令の出力) */
|
|
362
|
+
"terminal.output": "\u2192 12 chunks in 1.8s",
|
|
363
|
+
/** `shape-code-block` の札の file 名 */
|
|
364
|
+
"codeBlock.fileName": "utils.ts",
|
|
365
|
+
/** `shape-kanban-card` の課題の番号 */
|
|
366
|
+
"kanbanCard.id": "CAR-1111",
|
|
367
|
+
/** `shape-kanban-card` の状態の札 */
|
|
368
|
+
"kanbanCard.status": "IN PROG",
|
|
369
|
+
/** `shape-kanban-card` の題の下の説明 */
|
|
370
|
+
"kanbanCard.task": "shape-driven kind \u5B9F\u88C5",
|
|
371
|
+
/** `shape-kanban-card` の期日 */
|
|
372
|
+
"kanbanCard.due": "Jul 10",
|
|
373
|
+
/** `shape-smart-contract` の契約の本文の 1 行 */
|
|
374
|
+
"smartContract.call": "function execute()",
|
|
375
|
+
/** `shape-blockchain-block` の題を渡さない時の見出し */
|
|
376
|
+
"blockchainBlock.title": "Block #421,873",
|
|
377
|
+
/** `shape-blockchain-block` の 1 行目の名前 (塊を識別する値) */
|
|
378
|
+
"blockchainBlock.hash": "hash",
|
|
379
|
+
/** `shape-blockchain-block` の 2 行目の名前 (1 つ前の塊の識別値) */
|
|
380
|
+
"blockchainBlock.prev": "prev",
|
|
381
|
+
/** `shape-blockchain-block` の 3 行目の名前 (取引をまとめた木の根) */
|
|
382
|
+
"blockchainBlock.merkle": "merkle",
|
|
383
|
+
/** `shape-blockchain-block` の 4 行目の名前 (採掘で試した値) */
|
|
384
|
+
"blockchainBlock.nonce": "nonce",
|
|
385
|
+
/** `shape-blockchain-block` の 5 行目の名前 (取引の件数) */
|
|
386
|
+
"blockchainBlock.tx": "tx",
|
|
387
|
+
/** `shape-blockchain-block` の 5 行目の値 */
|
|
388
|
+
"blockchainBlock.txCount": "142 tx",
|
|
389
|
+
/** `shape-rpc-node` の稼働の札 */
|
|
390
|
+
"rpcNode.status": "RPC ONLINE",
|
|
391
|
+
/** `shape-trust-bank` の看板 */
|
|
392
|
+
"trustBank.sign": "TRUST",
|
|
393
|
+
/** `shape-payment-provider` の看板 */
|
|
394
|
+
"paymentProvider.sign": "PAY",
|
|
395
|
+
/** `shape-payment-provider` の状態の札 */
|
|
396
|
+
"paymentProvider.status": "PROCESSING",
|
|
397
|
+
/** `shape-brokerage` の株価の帯 */
|
|
398
|
+
"brokerage.ticker": "\u25B2NKY 38,240 \u25B2AAPL 194",
|
|
399
|
+
/** `shape-brokerage` の看板 */
|
|
400
|
+
"brokerage.sign": "$ SECURITIES",
|
|
401
|
+
/** `shape-exchange` の看板 */
|
|
402
|
+
"exchange.sign": "EXCHANGE",
|
|
403
|
+
/** `shape-exchange` の看板の下の札 */
|
|
404
|
+
"exchange.sub": "clearing",
|
|
405
|
+
/** `shape-atm` の天井の看板 */
|
|
406
|
+
"atm.sign": "ATM CORNER",
|
|
407
|
+
/** `shape-atm` の画面の案内 */
|
|
408
|
+
"atm.screen": "SELECT AMOUNT",
|
|
409
|
+
/** `shape-atm` の決める鍵 */
|
|
410
|
+
"atm.ok": "OK",
|
|
411
|
+
/** `shape-atm` のカードを入れる口の札 */
|
|
412
|
+
"atm.cardSlot": "CARD SLOT",
|
|
413
|
+
/** `shape-storefront` の看板 */
|
|
414
|
+
"storefront.sign": "SHOP",
|
|
415
|
+
/** `shape-storefront` の扉の札 */
|
|
416
|
+
"storefront.open": "OPEN",
|
|
417
|
+
/** `shape-warehouse` の看板 */
|
|
418
|
+
"warehouse.sign": "WAREHOUSE",
|
|
419
|
+
/** `shape-api-gateway` の看板 */
|
|
420
|
+
"apiGateway.sign": "API GATEWAY",
|
|
421
|
+
/** `shape-api-gateway` の 3 行目の要求の種類 */
|
|
422
|
+
"apiGateway.delete": "DEL",
|
|
423
|
+
/** `shape-api-gateway` の 1 行目の宛先 */
|
|
424
|
+
"apiGateway.users": "/users",
|
|
425
|
+
/** `shape-api-gateway` の 2 行目の宛先 */
|
|
426
|
+
"apiGateway.orders": "/orders",
|
|
427
|
+
/** `shape-api-gateway` の 3 行目の宛先 */
|
|
428
|
+
"apiGateway.session": "/session"
|
|
429
|
+
};
|
|
430
|
+
var ja = {
|
|
431
|
+
"terminal.output": "\u2192 1.8 \u79D2\u3067\u5B8C\u4E86",
|
|
432
|
+
"codeBlock.fileName": "\u5171\u901A.ts",
|
|
433
|
+
"kanbanCard.id": "#1111",
|
|
434
|
+
"kanbanCard.status": "\u9032\u884C\u4E2D",
|
|
435
|
+
"kanbanCard.task": "\u5F62\u3092\u5B9F\u88C5",
|
|
436
|
+
"kanbanCard.due": "7/10",
|
|
437
|
+
"smartContract.call": "\u81EA\u52D5\u3067\u5B9F\u884C\u3059\u308B",
|
|
438
|
+
"blockchainBlock.title": "\u30D6\u30ED\u30C3\u30AF #421,873",
|
|
439
|
+
"blockchainBlock.hash": "\u30CF\u30C3\u30B7\u30E5",
|
|
440
|
+
"blockchainBlock.prev": "\u76F4\u524D",
|
|
441
|
+
"blockchainBlock.merkle": "\u6728\u306E\u6839",
|
|
442
|
+
"blockchainBlock.nonce": "\u30CE\u30F3\u30B9",
|
|
443
|
+
"blockchainBlock.tx": "\u53D6\u5F15",
|
|
444
|
+
"blockchainBlock.txCount": "142 \u4EF6",
|
|
445
|
+
"rpcNode.status": "RPC \u7A3C\u50CD\u4E2D",
|
|
446
|
+
"trustBank.sign": "\u4FE1\u8A17",
|
|
447
|
+
"paymentProvider.sign": "\u6C7A\u6E08",
|
|
448
|
+
"paymentProvider.status": "\u51E6\u7406\u4E2D",
|
|
449
|
+
"brokerage.ticker": "\u25B2\u65E5\u7D4C 38,240 \u25B2\u6771\u8A3C 2,710",
|
|
450
|
+
"brokerage.sign": "\xA5 \u8A3C\u5238",
|
|
451
|
+
"exchange.sign": "\u53D6\u5F15\u6240",
|
|
452
|
+
"exchange.sub": "\u6E05\u7B97",
|
|
453
|
+
"atm.sign": "ATM \u30B3\u30FC\u30CA\u30FC",
|
|
454
|
+
"atm.screen": "\u91D1\u984D\u3092\u9078\u629E",
|
|
455
|
+
"atm.ok": "\u78BA\u5B9A",
|
|
456
|
+
"atm.cardSlot": "\u30AB\u30FC\u30C9\u633F\u5165\u53E3",
|
|
457
|
+
"storefront.sign": "\u5546\u5E97",
|
|
458
|
+
"storefront.open": "\u55B6\u696D",
|
|
459
|
+
"warehouse.sign": "\u5009\u5EAB",
|
|
460
|
+
"apiGateway.sign": "API \u5165\u53E3",
|
|
461
|
+
"apiGateway.delete": "DELETE",
|
|
462
|
+
"apiGateway.users": "/\u5229\u7528\u8005",
|
|
463
|
+
"apiGateway.orders": "/\u6CE8\u6587",
|
|
464
|
+
"apiGateway.session": "/\u63A5\u7D9A"
|
|
465
|
+
};
|
|
466
|
+
var CDL_TEXT = { en, ja };
|
|
467
|
+
function \u5B57\u5F15\u304D\u3092\u4F5C\u308B(lang) {
|
|
468
|
+
const \u8A00\u8A9E = lang ?? "en";
|
|
469
|
+
return (key) => CDL_TEXT[\u8A00\u8A9E][key];
|
|
470
|
+
}
|
|
471
|
+
|
|
356
472
|
// src/formula/ast.ts
|
|
357
473
|
var ALLOWED_MATH_FNS = /* @__PURE__ */ new Set([
|
|
358
474
|
"min",
|
|
@@ -1244,6 +1360,25 @@ function warn(message) {
|
|
|
1244
1360
|
console.warn(`[cdl event-handler] ${message}`);
|
|
1245
1361
|
}
|
|
1246
1362
|
}
|
|
1363
|
+
|
|
1364
|
+
// src/kinds/text-width.ts
|
|
1365
|
+
var WIDE_RATIO = 1.04;
|
|
1366
|
+
var NARROW_RATIO = 0.37;
|
|
1367
|
+
var ASCII_RATIO = 0.86;
|
|
1368
|
+
var WIDE_CHARS = "W@%Mm";
|
|
1369
|
+
var NARROW_CHARS = "ijlI.,:;'! ";
|
|
1370
|
+
function textWidth(s, size, \u5B57\u9001\u308A = 0) {
|
|
1371
|
+
let \u5E45 = 0;
|
|
1372
|
+
let \u5B57\u6570 = 0;
|
|
1373
|
+
for (const c of s) {
|
|
1374
|
+
if (NARROW_CHARS.includes(c)) \u5E45 += NARROW_RATIO;
|
|
1375
|
+
else if (WIDE_CHARS.includes(c)) \u5E45 += WIDE_RATIO;
|
|
1376
|
+
else if ((c.codePointAt(0) ?? 0) < 128) \u5E45 += ASCII_RATIO;
|
|
1377
|
+
else \u5E45 += WIDE_RATIO;
|
|
1378
|
+
\u5B57\u6570 += 1;
|
|
1379
|
+
}
|
|
1380
|
+
return \u5E45 * size + \u5B57\u9001\u308A * \u5B57\u6570;
|
|
1381
|
+
}
|
|
1247
1382
|
function createInteractiveSignalsAccessor(diagram2, signals, formula, scroll) {
|
|
1248
1383
|
const kindByInputId = /* @__PURE__ */ new Map();
|
|
1249
1384
|
for (const inp of diagram2.inputs ?? []) {
|
|
@@ -4203,6 +4338,12 @@ function ProgressGroupReadout({
|
|
|
4203
4338
|
}) })
|
|
4204
4339
|
] });
|
|
4205
4340
|
}
|
|
4341
|
+
function sequenceLabelAnchor(x, name, fontSize, viewW) {
|
|
4342
|
+
const half = textWidth(name, fontSize) / 2;
|
|
4343
|
+
if (x - half < 0) return "start";
|
|
4344
|
+
if (x + half > viewW) return "end";
|
|
4345
|
+
return "middle";
|
|
4346
|
+
}
|
|
4206
4347
|
function SequenceTimelineReadout({
|
|
4207
4348
|
id,
|
|
4208
4349
|
label,
|
|
@@ -4254,7 +4395,7 @@ function SequenceTimelineReadout({
|
|
|
4254
4395
|
const x = xFor(e.t);
|
|
4255
4396
|
return /* @__PURE__ */ jsxRuntime.jsxs("g", { "data-cdl-event-marker": e.name, children: [
|
|
4256
4397
|
/* @__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}` }) }),
|
|
4257
|
-
/* @__PURE__ */ jsxRuntime.jsx("text", { x, y: trackY - 12, textAnchor:
|
|
4398
|
+
/* @__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 }),
|
|
4258
4399
|
/* @__PURE__ */ jsxRuntime.jsx("text", { x, y: trackY + 18, textAnchor: "middle", fontSize: 9, fill: "var(--v4-mute, #64748b)", children: e.t })
|
|
4259
4400
|
] }, i);
|
|
4260
4401
|
})
|
|
@@ -11490,6 +11631,8 @@ function diagram(id, options) {
|
|
|
11490
11631
|
...options.structuredData === "exclude" ? { structuredData: "exclude" } : {},
|
|
11491
11632
|
// 配色の名前は素通しする。 空文字の遮断は `layout` が持つ (後段が必ず通るため)
|
|
11492
11633
|
...options.palette !== void 0 ? { palette: options.palette } : {},
|
|
11634
|
+
// 言語も素通しする。 型の外の値を既定に落とすのは `layout` の 1 箇所に置く
|
|
11635
|
+
...options.lang !== void 0 ? { lang: options.lang } : {},
|
|
11493
11636
|
// 種類の名前も同じ経路で渡し、空文字の扱いを `layout` の 1 箇所に揃える
|
|
11494
11637
|
...options.type !== void 0 ? { type: options.type } : {},
|
|
11495
11638
|
// inputs / formulas / scrollTriggers / eventBindings は空なら省略 (static diagram の JSON 形状維持)
|
|
@@ -13821,25 +13964,6 @@ var EDGE_REVEALS = ["phase", "all"];
|
|
|
13821
13964
|
var RELATION_FOCUSES = ["off", "hover"];
|
|
13822
13965
|
var RELATION_FOCUS_DEFAULT = "off";
|
|
13823
13966
|
var EDGE_REVEAL_DEFAULT = "phase";
|
|
13824
|
-
|
|
13825
|
-
// src/kinds/text-width.ts
|
|
13826
|
-
var WIDE_RATIO = 1.04;
|
|
13827
|
-
var NARROW_RATIO = 0.37;
|
|
13828
|
-
var ASCII_RATIO = 0.86;
|
|
13829
|
-
var WIDE_CHARS = "W@%Mm";
|
|
13830
|
-
var NARROW_CHARS = "ijlI.,:;'! ";
|
|
13831
|
-
function textWidth(s, size, \u5B57\u9001\u308A = 0) {
|
|
13832
|
-
let \u5E45 = 0;
|
|
13833
|
-
let \u5B57\u6570 = 0;
|
|
13834
|
-
for (const c of s) {
|
|
13835
|
-
if (NARROW_CHARS.includes(c)) \u5E45 += NARROW_RATIO;
|
|
13836
|
-
else if (WIDE_CHARS.includes(c)) \u5E45 += WIDE_RATIO;
|
|
13837
|
-
else if ((c.codePointAt(0) ?? 0) < 128) \u5E45 += ASCII_RATIO;
|
|
13838
|
-
else \u5E45 += WIDE_RATIO;
|
|
13839
|
-
\u5B57\u6570 += 1;
|
|
13840
|
-
}
|
|
13841
|
-
return \u5E45 * size + \u5B57\u9001\u308A * \u5B57\u6570;
|
|
13842
|
-
}
|
|
13843
13967
|
var TITLE_MAX = 18;
|
|
13844
13968
|
var TITLE_MIN = 9;
|
|
13845
13969
|
var TITLE_RATIO = 0.17;
|
|
@@ -20942,6 +21066,9 @@ function layout(diag) {
|
|
|
20942
21066
|
// **遮断はここだけに置く**。 描画は必ず組み立てを通り、組み立て API も `er` も
|
|
20943
21067
|
// 素通しにしてある。 上流にも置くと、どの入力でも通らない分岐が残る
|
|
20944
21068
|
...diag.palette ? { palette: diag.palette } : {},
|
|
21069
|
+
// 描画側の固定の字の言語 (#847)。 既定 (`en`) と型の外の値は持たせない = 配置の結果の形を
|
|
21070
|
+
// 変更前と揃え、記法の書き損じで一部の字だけ日本語になる形を作らない
|
|
21071
|
+
...resolveLang(diag.lang) === "ja" ? { lang: "ja" } : {},
|
|
20945
21072
|
// 種類も配色と同じく空の目印を出さない。 遮断をここに揃えると手書きの図にも効く
|
|
20946
21073
|
...diag.type ? { type: diag.type } : {},
|
|
20947
21074
|
bboxes,
|
|
@@ -27771,6 +27898,11 @@ var commonFrame2 = (active) => ({
|
|
|
27771
27898
|
var ASCENT3 = 0.72;
|
|
27772
27899
|
var DESCENT3 = 0.25;
|
|
27773
27900
|
var MONO_ADVANCE = 0.62;
|
|
27901
|
+
function \u7B49\u5E45\u306E\u6841(s) {
|
|
27902
|
+
let \u6841 = 0;
|
|
27903
|
+
for (const c of s) \u6841 += (c.codePointAt(0) ?? 0) >= 11904 ? 2 : 1;
|
|
27904
|
+
return \u6841;
|
|
27905
|
+
}
|
|
27774
27906
|
var LABEL_SUB_RATIO = 11 / 16;
|
|
27775
27907
|
var LABEL_EYE_RATIO = 12 / 16;
|
|
27776
27908
|
var LABEL_EYE_GAP = 8;
|
|
@@ -27868,7 +28000,8 @@ function ShapeWindowNode({ node, active }) {
|
|
|
27868
28000
|
commonLabel2(node, node.cx, \u540D\u524D.y, \u540D\u524D.size)
|
|
27869
28001
|
] });
|
|
27870
28002
|
}
|
|
27871
|
-
function ShapeTerminalNode({ node, active }) {
|
|
28003
|
+
function ShapeTerminalNode({ node, active, lang }) {
|
|
28004
|
+
const \u5B57\u5F15 = \u5B57\u5F15\u304D\u3092\u4F5C\u308B(lang);
|
|
27872
28005
|
const frame = commonFrame2(active);
|
|
27873
28006
|
const \u7DDA = frame.strokeWidth / 2;
|
|
27874
28007
|
const x = node.cx - node.w / 2 + \u7DDA;
|
|
@@ -27889,10 +28022,10 @@ function ShapeTerminalNode({ node, active }) {
|
|
|
27889
28022
|
{ \u5DE6: 16, \u5B57: 12.5, \u8272: "#7cd88f", \u6587: "$" },
|
|
27890
28023
|
{ \u5DE6: 30, \u5B57: 12.5, \u8272: "#e6edf3", \u6587: "pnpm build" }
|
|
27891
28024
|
],
|
|
27892
|
-
[{ \u5DE6: 16, \u5B57: 12, \u8272: "#8b95a5", \u6587: "
|
|
28025
|
+
[{ \u5DE6: 16, \u5B57: 12, \u8272: "#8b95a5", \u6587: \u5B57\u5F15("terminal.output") }],
|
|
27893
28026
|
[{ \u5DE6: 16, \u5B57: 12.5, \u8272: "#7cd88f", \u6587: "$" }]
|
|
27894
28027
|
];
|
|
27895
|
-
const \u81EA\u7136\u5E45 = Math.max(...\u884C.flat().map((
|
|
28028
|
+
const \u81EA\u7136\u5E45 = Math.max(...\u884C.flat().map((c) => c.\u5DE6 + \u7B49\u5E45\u306E\u6841(c.\u6587) * MONO_ADVANCE * c.\u5B57)) + \u4F59\u767D;
|
|
27896
28029
|
const \u81EA\u7136\u9AD8 = \u5E2F + \u5148\u982D + \u884C\u9593 * (\u884C.length - 1) + Math.max(\u30AB\u30FC\u30BD\u30EB.\u4E0B, 12.5 * DESCENT3);
|
|
27897
28030
|
const \u500D = Math.min(1, w / \u81EA\u7136\u5E45, bodyH / \u81EA\u7136\u9AD8);
|
|
27898
28031
|
const barH = \u5E2F * \u500D;
|
|
@@ -28002,7 +28135,8 @@ function ShapeTerminalNode({ node, active }) {
|
|
|
28002
28135
|
)
|
|
28003
28136
|
] });
|
|
28004
28137
|
}
|
|
28005
|
-
function ShapeCodeBlockNode({ node, active }) {
|
|
28138
|
+
function ShapeCodeBlockNode({ node, active, lang }) {
|
|
28139
|
+
const \u5B57\u5F15 = \u5B57\u5F15\u304D\u3092\u4F5C\u308B(lang);
|
|
28006
28140
|
const frame = commonFrame2(active);
|
|
28007
28141
|
const \u7DDA = frame.strokeWidth / 2;
|
|
28008
28142
|
const x = node.cx - node.w / 2 + \u7DDA;
|
|
@@ -28092,7 +28226,7 @@ function ShapeCodeBlockNode({ node, active }) {
|
|
|
28092
28226
|
fontFamily: lineFont,
|
|
28093
28227
|
textAnchor: "middle",
|
|
28094
28228
|
fill: "#e6edf3",
|
|
28095
|
-
children: "
|
|
28229
|
+
children: \u5B57\u5F15("codeBlock.fileName")
|
|
28096
28230
|
}
|
|
28097
28231
|
),
|
|
28098
28232
|
/* @__PURE__ */ jsxRuntime.jsx("circle", { cx: x + tabW - \u4E38, cy: y + tabH / 2, r: 3 * \u500D, fill: "#7cd88f", stroke: "none" }),
|
|
@@ -28168,7 +28302,8 @@ function ShapeCodeBlockNode({ node, active }) {
|
|
|
28168
28302
|
)
|
|
28169
28303
|
] });
|
|
28170
28304
|
}
|
|
28171
|
-
function ShapeKanbanCardNode({ node, active }) {
|
|
28305
|
+
function ShapeKanbanCardNode({ node, active, lang }) {
|
|
28306
|
+
const \u5B57\u5F15 = \u5B57\u5F15\u304D\u3092\u4F5C\u308B(lang);
|
|
28172
28307
|
const frame = commonFrame2(active);
|
|
28173
28308
|
const \u7DDA = frame.strokeWidth / 2;
|
|
28174
28309
|
const \u5F71 = 3;
|
|
@@ -28180,7 +28315,7 @@ function ShapeKanbanCardNode({ node, active }) {
|
|
|
28180
28315
|
const \u5DE6\u53F3\u4F59\u767D = 14;
|
|
28181
28316
|
const \u4E0A\u6BB5\u9699\u9593 = 8;
|
|
28182
28317
|
const \u512A\u5148\u5E2F\u9AD8 = 10;
|
|
28183
|
-
const ID\u6587 = "
|
|
28318
|
+
const ID\u6587 = \u5B57\u5F15("kanbanCard.id");
|
|
28184
28319
|
const ID\u57FA\u6E96 = 30;
|
|
28185
28320
|
const ID\u5B57 = 11;
|
|
28186
28321
|
const ID\u5B57\u9593 = 1;
|
|
@@ -28199,7 +28334,7 @@ function ShapeKanbanCardNode({ node, active }) {
|
|
|
28199
28334
|
const \u4E0B\u5E2F = FOOTER\u4E0B - AVATAR\u4E2D\u5FC3Y + AVATAR\u534A\u5F84 + AVATAR\u67A0 / 2 + \u5E2F\u9593\u4F59\u767D;
|
|
28200
28335
|
const \u4E2D\u5E2F = \u540D\u524D\u5B57 * ASCENT3 + \u540D\u524D\u5B57 * \u8AAC\u660E\u57FA\u6E96\u6BD4 + \u540D\u524D\u5B57 * \u8AAC\u660E\u5B57\u6BD4 * DESCENT3;
|
|
28201
28336
|
const \u81EA\u7136\u9AD8 = \u4E0A\u5E2F + \u4E2D\u5E2F + \u4E0B\u5E2F;
|
|
28202
|
-
const ID\u5E45 = ID\u6587
|
|
28337
|
+
const ID\u5E45 = \u7B49\u5E45\u306E\u6841(ID\u6587) * MONO_ADVANCE * ID\u5B57 + ID\u5B57\u9593 * [...ID\u6587].length;
|
|
28203
28338
|
const \u81EA\u7136\u5E45 = \u5DE6\u53F3\u4F59\u767D + ID\u5E45 + \u4E0A\u6BB5\u9699\u9593 + PILL\u5E45 + \u5DE6\u53F3\u4F59\u767D;
|
|
28204
28339
|
const \u500D = Math.min(1, w / \u81EA\u7136\u5E45, h / \u81EA\u7136\u9AD8);
|
|
28205
28340
|
const priorityBarH = \u512A\u5148\u5E2F\u9AD8 * \u500D;
|
|
@@ -28278,7 +28413,7 @@ function ShapeKanbanCardNode({ node, active }) {
|
|
|
28278
28413
|
textAnchor: "middle",
|
|
28279
28414
|
fill: "#5a4a1a",
|
|
28280
28415
|
fontFamily: "ui-monospace, SFMono-Regular, Menlo, monospace",
|
|
28281
|
-
children: "
|
|
28416
|
+
children: \u5B57\u5F15("kanbanCard.status")
|
|
28282
28417
|
}
|
|
28283
28418
|
),
|
|
28284
28419
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -28302,7 +28437,7 @@ function ShapeKanbanCardNode({ node, active }) {
|
|
|
28302
28437
|
fontSize: \u540D\u524D.size * \u8AAC\u660E\u5B57\u6BD4,
|
|
28303
28438
|
textAnchor: "middle",
|
|
28304
28439
|
fill: "var(--cdl-text-dim, #5a6270)",
|
|
28305
|
-
children:
|
|
28440
|
+
children: \u5B57\u5F15("kanbanCard.task")
|
|
28306
28441
|
}
|
|
28307
28442
|
),
|
|
28308
28443
|
/* @__PURE__ */ jsxRuntime.jsxs("g", { transform: `translate(${x + \u5DE6\u53F3\u4F59\u767D * \u500D}, ${footY})`, children: [
|
|
@@ -28365,7 +28500,7 @@ function ShapeKanbanCardNode({ node, active }) {
|
|
|
28365
28500
|
fontWeight: 600,
|
|
28366
28501
|
textAnchor: "end",
|
|
28367
28502
|
fill: "var(--cdl-text-dim, #5a6270)",
|
|
28368
|
-
children: "
|
|
28503
|
+
children: \u5B57\u5F15("kanbanCard.due")
|
|
28369
28504
|
}
|
|
28370
28505
|
)
|
|
28371
28506
|
] })
|
|
@@ -29409,7 +29544,8 @@ function EthereumDiamond({ cx, cy, h, colors }) {
|
|
|
29409
29544
|
/* @__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" })
|
|
29410
29545
|
] });
|
|
29411
29546
|
}
|
|
29412
|
-
function ShapeSmartContractNode({ node, active }) {
|
|
29547
|
+
function ShapeSmartContractNode({ node, active, lang }) {
|
|
29548
|
+
const \u5B57\u5F15 = \u5B57\u5F15\u304D\u3092\u4F5C\u308B(lang);
|
|
29413
29549
|
const frame = commonFrame4(active);
|
|
29414
29550
|
const r = shapeRegion(node);
|
|
29415
29551
|
const docW = SMART_CONTRACT_W;
|
|
@@ -29445,7 +29581,7 @@ function ShapeSmartContractNode({ node, active }) {
|
|
|
29445
29581
|
/* @__PURE__ */ jsxRuntime.jsx("path", { "data-cdl-role": "node-body", d: path, ...frame, strokeLinejoin: "round" }),
|
|
29446
29582
|
/* @__PURE__ */ jsxRuntime.jsx("path", { d: foldPath, fill: "none", stroke: frame.stroke, strokeWidth: frame.strokeWidth, strokeLinejoin: "round" }),
|
|
29447
29583
|
[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)),
|
|
29448
|
-
/* @__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: "
|
|
29584
|
+
/* @__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") }),
|
|
29449
29585
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
29450
29586
|
"polygon",
|
|
29451
29587
|
{
|
|
@@ -29466,14 +29602,14 @@ function ShapeSmartContractNode({ node, active }) {
|
|
|
29466
29602
|
}
|
|
29467
29603
|
var \u5B57\u306E\u5E45 = (text, size) => Math.max(displayWidth(text) * size * MONO_ADVANCE_RATIO, textWidth(text, size));
|
|
29468
29604
|
var BLOCK_DEFAULT_FIELDS = [
|
|
29469
|
-
{ label: "hash", value: "0xaf31c9d2..." },
|
|
29470
|
-
{ label: "prev", value: "0x7b3f92c1..." },
|
|
29471
|
-
{ label: "merkle", value: "0xc1892f4a..." },
|
|
29472
|
-
{ label: "nonce", value: "82,914" },
|
|
29473
|
-
{ label: "tx", value:
|
|
29605
|
+
{ key: "hash", label: "blockchainBlock.hash", value: { text: "0xaf31c9d2..." } },
|
|
29606
|
+
{ key: "prev", label: "blockchainBlock.prev", value: { text: "0x7b3f92c1..." } },
|
|
29607
|
+
{ key: "merkle", label: "blockchainBlock.merkle", value: { text: "0xc1892f4a..." } },
|
|
29608
|
+
{ key: "nonce", label: "blockchainBlock.nonce", value: { text: "82,914" } },
|
|
29609
|
+
{ key: "tx", label: "blockchainBlock.tx", value: { \u8F9E\u66F8: "blockchainBlock.txCount" } }
|
|
29474
29610
|
];
|
|
29475
|
-
|
|
29476
|
-
|
|
29611
|
+
function ShapeBlockchainBlockNode({ node, active, lang }) {
|
|
29612
|
+
const \u5B57\u5F15 = \u5B57\u5F15\u304D\u3092\u4F5C\u308B(lang);
|
|
29477
29613
|
const frame = commonFrame4(active);
|
|
29478
29614
|
const r = shapeRegion(node);
|
|
29479
29615
|
const bw = BLOCK_W;
|
|
@@ -29483,11 +29619,15 @@ function ShapeBlockchainBlockNode({ node, active }) {
|
|
|
29483
29619
|
const x = cx - bw / 2;
|
|
29484
29620
|
const y = cy - bh / 2;
|
|
29485
29621
|
const \u6E21\u3055\u308C\u305F = (v) => (v ?? "").trim();
|
|
29486
|
-
const \u898B\u51FA\u3057 = \u6E21\u3055\u308C\u305F(node.title) ||
|
|
29487
|
-
const fields = BLOCK_DEFAULT_FIELDS.map((f) =>
|
|
29488
|
-
|
|
29489
|
-
|
|
29490
|
-
|
|
29622
|
+
const \u898B\u51FA\u3057 = \u6E21\u3055\u308C\u305F(node.title) || \u5B57\u5F15("blockchainBlock.title");
|
|
29623
|
+
const fields = BLOCK_DEFAULT_FIELDS.map((f) => {
|
|
29624
|
+
const \u65E2\u5B9A\u5024 = "text" in f.value ? f.value.text : \u5B57\u5F15(f.value.\u8F9E\u66F8);
|
|
29625
|
+
return {
|
|
29626
|
+
key: f.key,
|
|
29627
|
+
label: \u5B57\u5F15(f.label),
|
|
29628
|
+
value: f.key === "hash" ? \u6E21\u3055\u308C\u305F(node.subtitle) || \u65E2\u5B9A\u5024 : \u65E2\u5B9A\u5024
|
|
29629
|
+
};
|
|
29630
|
+
});
|
|
29491
29631
|
const \u898B\u51FA\u3057\u306E\u5E45 = bw - 14 - 30;
|
|
29492
29632
|
const art = /* @__PURE__ */ jsxRuntime.jsxs("g", { children: [
|
|
29493
29633
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: x + 6, y: y + 6, width: bw, height: bh, rx: 8, fill: frame.stroke, opacity: 0.2, stroke: "none" }),
|
|
@@ -29497,7 +29637,7 @@ function ShapeBlockchainBlockNode({ node, active }) {
|
|
|
29497
29637
|
/* @__PURE__ */ jsxRuntime.jsx("circle", { cx: x + bw - 16, cy: y + 16, r: 5.5, fill: "#7cd88f", stroke: "#ffffff", strokeWidth: 1.5 }),
|
|
29498
29638
|
fields.map((f, i) => /* @__PURE__ */ jsxRuntime.jsxs("g", { children: [
|
|
29499
29639
|
/* @__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 }),
|
|
29500
|
-
/* @__PURE__ */ jsxRuntime.jsx("text", { "data-cdl-role": `blockchain-block-${f.
|
|
29640
|
+
/* @__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) }),
|
|
29501
29641
|
/* @__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 })
|
|
29502
29642
|
] }, i)),
|
|
29503
29643
|
/* @__PURE__ */ jsxRuntime.jsxs("g", { transform: `translate(${cx - 32}, ${y + bh - 26})`, children: [
|
|
@@ -29702,7 +29842,8 @@ function ShapeBlockchainNodeNode({ node, active }) {
|
|
|
29702
29842
|
bottomLabel2(node, r.cx, r.label)
|
|
29703
29843
|
] });
|
|
29704
29844
|
}
|
|
29705
|
-
function ShapeRpcNodeNode({ node, active }) {
|
|
29845
|
+
function ShapeRpcNodeNode({ node, active, lang }) {
|
|
29846
|
+
const \u5B57\u5F15 = \u5B57\u5F15\u304D\u3092\u4F5C\u308B(lang);
|
|
29706
29847
|
const frame = commonFrame4(active);
|
|
29707
29848
|
const r = shapeRegion(node);
|
|
29708
29849
|
const cx = r.cx;
|
|
@@ -29715,7 +29856,7 @@ function ShapeRpcNodeNode({ node, active }) {
|
|
|
29715
29856
|
/* @__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 }),
|
|
29716
29857
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x, y, width: bw, height: 30, rx: 10, fill: "#2d3a4f", stroke: "none" }),
|
|
29717
29858
|
/* @__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" }) }),
|
|
29718
|
-
/* @__PURE__ */ jsxRuntime.jsx("text", { x: x + 26, y: y + 20, fontSize: 12, fontFamily: "ui-monospace, SFMono-Regular, Menlo, monospace", fontWeight: 700, fill: "#7cd88f", children: "
|
|
29859
|
+
/* @__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") }),
|
|
29719
29860
|
/* @__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: "{...}" }),
|
|
29720
29861
|
/* @__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" }),
|
|
29721
29862
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: x + 16, y: y + bh - 24, width: bw - 32, height: 8, rx: 4, fill: "#0f1419", stroke: "none" }),
|
|
@@ -30001,7 +30142,8 @@ var TRUST_BASE_H = 14;
|
|
|
30001
30142
|
var TRUST_BODY_OUT = 8;
|
|
30002
30143
|
var TRUST_BLD_W_MIN = 140;
|
|
30003
30144
|
var TRUST_BLD_W_MAX = 280;
|
|
30004
|
-
function ShapeTrustBankNode({ node, active }) {
|
|
30145
|
+
function ShapeTrustBankNode({ node, active, lang }) {
|
|
30146
|
+
const \u5B57\u5F15 = \u5B57\u5F15\u304D\u3092\u4F5C\u308B(lang);
|
|
30005
30147
|
const frame = commonFrame5(active);
|
|
30006
30148
|
const r = shapeRegion(node);
|
|
30007
30149
|
const \u7DDA = frame.strokeWidth / 2;
|
|
@@ -30038,7 +30180,7 @@ function ShapeTrustBankNode({ node, active }) {
|
|
|
30038
30180
|
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);
|
|
30039
30181
|
}),
|
|
30040
30182
|
/* @__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" }),
|
|
30041
|
-
/* @__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: "
|
|
30183
|
+
/* @__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") }),
|
|
30042
30184
|
/* @__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 }),
|
|
30043
30185
|
Array.from({ length: nCols }, (_, i) => i).map((i) => {
|
|
30044
30186
|
const colCx = x + 15 + colGap + i * (colW + colGap) + colW / 2;
|
|
@@ -30057,7 +30199,8 @@ function ShapeTrustBankNode({ node, active }) {
|
|
|
30057
30199
|
bottomLabel3(node, r.cx, r.label)
|
|
30058
30200
|
] });
|
|
30059
30201
|
}
|
|
30060
|
-
function ShapePaymentProviderNode({ node, active }) {
|
|
30202
|
+
function ShapePaymentProviderNode({ node, active, lang }) {
|
|
30203
|
+
const \u5B57\u5F15 = \u5B57\u5F15\u304D\u3092\u4F5C\u308B(lang);
|
|
30061
30204
|
const frame = commonFrame5(active);
|
|
30062
30205
|
const r = shapeRegion(node);
|
|
30063
30206
|
const cx = r.cx;
|
|
@@ -30074,13 +30217,13 @@ function ShapePaymentProviderNode({ node, active }) {
|
|
|
30074
30217
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { "data-cdl-role": "node-body", x, y, width: boxW, height: boxH, rx: 10, fill: "#255a7a", stroke: accentDark, strokeWidth: frame.strokeWidth }),
|
|
30075
30218
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x, y, width: boxW, height: headerH, rx: 10, fill: accentDarker }),
|
|
30076
30219
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x, y: y + headerH - 8, width: boxW, height: 8, fill: accentDarker }),
|
|
30077
|
-
/* @__PURE__ */ jsxRuntime.jsx("text", { x: cx, y: y + 22, fontSize: 16, fontWeight: 700, letterSpacing: 4, textAnchor: "middle", fill: "#e5c07b", children: "
|
|
30220
|
+
/* @__PURE__ */ jsxRuntime.jsx("text", { x: cx, y: y + 22, fontSize: 16, fontWeight: 700, letterSpacing: 4, textAnchor: "middle", fill: "#e5c07b", children: \u5B57\u5F15("paymentProvider.sign") }),
|
|
30078
30221
|
/* @__PURE__ */ jsxRuntime.jsxs("g", { children: [
|
|
30079
30222
|
/* @__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" }) }),
|
|
30080
30223
|
/* @__PURE__ */ jsxRuntime.jsx("circle", { cx, cy: cy + 4, r: 10, fill: "#e5c07b", stroke: accentDarker, strokeWidth: 1.5 }),
|
|
30081
30224
|
/* @__PURE__ */ jsxRuntime.jsx("text", { x: cx, y: cy + 9, fontSize: 13, fontWeight: 700, textAnchor: "middle", fill: accentDarker, fontFamily: "Georgia, serif", children: "$" })
|
|
30082
30225
|
] }),
|
|
30083
|
-
/* @__PURE__ */ jsxRuntime.jsx("text", { x: cx, y: y + boxH - 16, fontSize: 9, fontWeight: 700, letterSpacing: 2, textAnchor: "middle", fill: "#a4b5f2", children: "
|
|
30226
|
+
/* @__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") }),
|
|
30084
30227
|
bottomLabel3(node, r.cx, r.label)
|
|
30085
30228
|
] });
|
|
30086
30229
|
}
|
|
@@ -30128,7 +30271,8 @@ var BROKERAGE_SHADE_OUT = 2;
|
|
|
30128
30271
|
var BROKERAGE_W_MIN = BROKERAGE_COLS * BROKERAGE_CELL_W + (BROKERAGE_COLS - 1) * BROKERAGE_GAP_X + 6;
|
|
30129
30272
|
var BROKERAGE_W_MAX = 140;
|
|
30130
30273
|
var BROKERAGE_H_MIN = BROKERAGE_TICK_H + BROKERAGE_LOGO_H + BROKERAGE_BASE_H;
|
|
30131
|
-
function ShapeBrokerageNode({ node, active }) {
|
|
30274
|
+
function ShapeBrokerageNode({ node, active, lang }) {
|
|
30275
|
+
const \u5B57\u5F15 = \u5B57\u5F15\u304D\u3092\u4F5C\u308B(lang);
|
|
30132
30276
|
const frame = commonFrame5(active);
|
|
30133
30277
|
const r = shapeRegion(node);
|
|
30134
30278
|
const cx = r.cx;
|
|
@@ -30164,9 +30308,9 @@ function ShapeBrokerageNode({ node, active }) {
|
|
|
30164
30308
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: x - BROKERAGE_SHADE_OUT, y, width: BROKERAGE_SHADE_OUT * 2, height: h, fill: accentDarker }),
|
|
30165
30309
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x, y, width: w, height: BROKERAGE_TICK_H, fill: "#0f1830", stroke: "none" }),
|
|
30166
30310
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: x + 2, y: y + 2, width: w - 4, height: 8, fill: "#1a2340", stroke: "none" }),
|
|
30167
|
-
/* @__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:
|
|
30311
|
+
/* @__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") }),
|
|
30168
30312
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x, y: y + BROKERAGE_TICK_H, width: w, height: BROKERAGE_LOGO_H, fill: "#e5c07b", stroke: "none" }),
|
|
30169
|
-
/* @__PURE__ */ jsxRuntime.jsx("text", { x: cx, y: y + 30, fontSize: 12, fontWeight: 700, letterSpacing: 2.5, textAnchor: "middle", fill: "#0f1830", children: "
|
|
30313
|
+
/* @__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") }),
|
|
30170
30314
|
Array.from({ length: rows }).map(
|
|
30171
30315
|
(_, ri) => Array.from({ length: cols }).map((_2, ci) => {
|
|
30172
30316
|
const wx = gridStartX + ci * (cellW + gapX);
|
|
@@ -30187,7 +30331,8 @@ function ShapeBrokerageNode({ node, active }) {
|
|
|
30187
30331
|
bottomLabel3(node, r.cx, r.label)
|
|
30188
30332
|
] });
|
|
30189
30333
|
}
|
|
30190
|
-
function ShapeExchangeNode({ node, active }) {
|
|
30334
|
+
function ShapeExchangeNode({ node, active, lang }) {
|
|
30335
|
+
const \u5B57\u5F15 = \u5B57\u5F15\u304D\u3092\u4F5C\u308B(lang);
|
|
30191
30336
|
const frame = commonFrame5(active);
|
|
30192
30337
|
const r = shapeRegion(node);
|
|
30193
30338
|
const cx = r.cx;
|
|
@@ -30232,9 +30377,9 @@ function ShapeExchangeNode({ node, active }) {
|
|
|
30232
30377
|
] }, `d${i}`);
|
|
30233
30378
|
}),
|
|
30234
30379
|
/* @__PURE__ */ jsxRuntime.jsx("path", { d: hexPath, fill: "#255a7a", stroke: accentDarker, strokeWidth: frame.strokeWidth, strokeLinejoin: "round" }),
|
|
30235
|
-
/* @__PURE__ */ jsxRuntime.jsx("text", { x: cx, y: cy - 8, fontSize: 10, fontWeight: 700, letterSpacing: 2, textAnchor: "middle", fill: "#e5c07b", children: "
|
|
30380
|
+
/* @__PURE__ */ jsxRuntime.jsx("text", { x: cx, y: cy - 8, fontSize: 10, fontWeight: 700, letterSpacing: 2, textAnchor: "middle", fill: "#e5c07b", children: \u5B57\u5F15("exchange.sign") }),
|
|
30236
30381
|
/* @__PURE__ */ jsxRuntime.jsx("text", { "data-cdl-role": "node-body", x: cx, y: cy + 12, fontSize: 22, fontWeight: 700, textAnchor: "middle", fill: "#e5c07b", children: "\u21C4" }),
|
|
30237
|
-
/* @__PURE__ */ jsxRuntime.jsx("text", { x: cx, y: cy + 26, fontSize: 8, fontWeight: 700, textAnchor: "middle", fill: "#a4b5f2", children: "
|
|
30382
|
+
/* @__PURE__ */ jsxRuntime.jsx("text", { x: cx, y: cy + 26, fontSize: 8, fontWeight: 700, textAnchor: "middle", fill: "#a4b5f2", children: \u5B57\u5F15("exchange.sub") }),
|
|
30238
30383
|
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}`))
|
|
30239
30384
|
] });
|
|
30240
30385
|
return /* @__PURE__ */ jsxRuntime.jsxs("g", { children: [
|
|
@@ -30256,7 +30401,8 @@ var ATM_PANEL_H = 146;
|
|
|
30256
30401
|
var ATM_W_MIN = 100;
|
|
30257
30402
|
var ATM_W_MAX = 140;
|
|
30258
30403
|
var ATM_H_MIN = ATM_SIGN_H + ATM_SIGN_GAP + 30 + ATM_FLOOR_RESERVE;
|
|
30259
|
-
function ShapeAtmNode({ node, active }) {
|
|
30404
|
+
function ShapeAtmNode({ node, active, lang }) {
|
|
30405
|
+
const \u5B57\u5F15 = \u5B57\u5F15\u304D\u3092\u4F5C\u308B(lang);
|
|
30260
30406
|
const frame = commonFrame5(active);
|
|
30261
30407
|
const r = shapeRegion(node);
|
|
30262
30408
|
const cx = r.cx;
|
|
@@ -30290,12 +30436,12 @@ function ShapeAtmNode({ node, active }) {
|
|
|
30290
30436
|
const \u7D75 = /* @__PURE__ */ jsxRuntime.jsxs("g", { children: [
|
|
30291
30437
|
/* @__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" }),
|
|
30292
30438
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: centerX - totalW / 2, y: signY, width: totalW, height: signH, fill: accentDarker, stroke: "#000", strokeWidth: ATM_SIGN_SW }),
|
|
30293
|
-
/* @__PURE__ */ jsxRuntime.jsx("text", { x: centerX, y: signY + 17, fontSize: 11, fontWeight: 700, letterSpacing: 2, textAnchor: "middle", fill: "#e5c07b", children: "
|
|
30439
|
+
/* @__PURE__ */ jsxRuntime.jsx("text", { x: centerX, y: signY + 17, fontSize: 11, fontWeight: 700, letterSpacing: 2, textAnchor: "middle", fill: "#e5c07b", children: \u5B57\u5F15("atm.sign") }),
|
|
30294
30440
|
/* @__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 }),
|
|
30295
30441
|
/* @__PURE__ */ jsxRuntime.jsxs("g", { transform: `translate(${centerX} ${atmY}) scale(${\u9762})`, children: [
|
|
30296
30442
|
/* @__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 }),
|
|
30297
30443
|
/* @__PURE__ */ jsxRuntime.jsx("text", { x: 0, y: 30, fontSize: 10, fontWeight: 700, letterSpacing: 1, textAnchor: "middle", fill: "#e5c07b", children: "\u304A\u5F15\u51FA\u3057" }),
|
|
30298
|
-
/* @__PURE__ */ jsxRuntime.jsx("text", { x: 0, y: 44, fontSize: 8, fontWeight: 700, textAnchor: "middle", fill: "#a4b5f2", children: "
|
|
30444
|
+
/* @__PURE__ */ jsxRuntime.jsx("text", { x: 0, y: 44, fontSize: 8, fontWeight: 700, textAnchor: "middle", fill: "#a4b5f2", children: \u5B57\u5F15("atm.screen") }),
|
|
30299
30445
|
/* @__PURE__ */ jsxRuntime.jsx("text", { x: 0, y: 56, fontSize: 10, fontWeight: 700, textAnchor: "middle", fill: "#4ea36a", children: "\xA5 20,000" }),
|
|
30300
30446
|
/* @__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 }),
|
|
30301
30447
|
(() => {
|
|
@@ -30309,7 +30455,7 @@ function ShapeAtmNode({ node, active }) {
|
|
|
30309
30455
|
["5", "#5a6270"],
|
|
30310
30456
|
["6", "#5a6270"],
|
|
30311
30457
|
["0", "#5a6270"],
|
|
30312
|
-
["
|
|
30458
|
+
[\u5B57\u5F15("atm.ok"), "#4ea36a"]
|
|
30313
30459
|
];
|
|
30314
30460
|
const keyW = 18;
|
|
30315
30461
|
const keyH = 10;
|
|
@@ -30322,13 +30468,16 @@ function ShapeAtmNode({ node, active }) {
|
|
|
30322
30468
|
const ky = 74 + row * (keyH + 2);
|
|
30323
30469
|
return /* @__PURE__ */ jsxRuntime.jsxs("g", { children: [
|
|
30324
30470
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: kx, y: ky, width: keyW, height: keyH, fill: k[1], stroke: "#0f1830", strokeWidth: 0.8 }),
|
|
30325
|
-
/* @__PURE__ */ jsxRuntime.jsx("text", { x: kx + keyW / 2, y: ky + 7, fontSize:
|
|
30471
|
+
/* @__PURE__ */ jsxRuntime.jsx("text", { x: kx + keyW / 2, y: ky + 7, fontSize: (
|
|
30472
|
+
/* 決める鍵 (末尾) は 2 字あるので小さく描く。 字は言語で変わるため位置で見分ける */
|
|
30473
|
+
i === keys.length - 1 ? 6 : 7
|
|
30474
|
+
), fontWeight: 700, textAnchor: "middle", fill: "#ffffff", children: k[0] })
|
|
30326
30475
|
] }, `k${i}`);
|
|
30327
30476
|
});
|
|
30328
30477
|
})(),
|
|
30329
30478
|
/* @__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 }),
|
|
30330
30479
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: \u9762\u5DE6 + 15, y: 118, width: ATM_PANEL_W - 30, height: 4, rx: 0.5, fill: "#e5c07b" }),
|
|
30331
|
-
/* @__PURE__ */ jsxRuntime.jsx("text", { x: 0, y: 132, fontSize: 6, fontWeight: 700, letterSpacing: 1, textAnchor: "middle", fill: "#e5c07b", children: "
|
|
30480
|
+
/* @__PURE__ */ jsxRuntime.jsx("text", { x: 0, y: 132, fontSize: 6, fontWeight: 700, letterSpacing: 1, textAnchor: "middle", fill: "#e5c07b", children: \u5B57\u5F15("atm.cardSlot") }),
|
|
30332
30481
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: \u9762\u5DE6 + 12, y: 136, width: ATM_PANEL_W - 24, height: 4, rx: 1, fill: "#0f1830" })
|
|
30333
30482
|
] }),
|
|
30334
30483
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: centerX - totalW / 2, y: floorY, width: totalW, height: 6, fill: "#8b949e", stroke: "none" }),
|
|
@@ -30413,7 +30562,8 @@ function ShapeWebsiteNode({ node, active }) {
|
|
|
30413
30562
|
bottomLabel4(node, r.cx, r.label)
|
|
30414
30563
|
] });
|
|
30415
30564
|
}
|
|
30416
|
-
function ShapeStorefrontNode({ node, active }) {
|
|
30565
|
+
function ShapeStorefrontNode({ node, active, lang }) {
|
|
30566
|
+
const \u5B57\u5F15 = \u5B57\u5F15\u304D\u3092\u4F5C\u308B(lang);
|
|
30417
30567
|
const frame = commonFrame6(active);
|
|
30418
30568
|
const r = shapeRegion(node);
|
|
30419
30569
|
const cx = r.cx;
|
|
@@ -30439,7 +30589,7 @@ function ShapeStorefrontNode({ node, active }) {
|
|
|
30439
30589
|
return /* @__PURE__ */ jsxRuntime.jsxs("g", { children: [
|
|
30440
30590
|
/* @__PURE__ */ jsxRuntime.jsx("ellipse", { cx, cy: y + bh + 8, rx: bw * 0.5, ry: 5, fill: frame.stroke, opacity: 0.2, stroke: "none" }),
|
|
30441
30591
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x, y, width: bw, height: signH, fill: accent, stroke: accentDark, strokeWidth: 2 }),
|
|
30442
|
-
/* @__PURE__ */ jsxRuntime.jsx("text", { x: cx, y: y + 18, fontSize: 16, fontWeight: 900, letterSpacing: 8, textAnchor: "middle", fill: "#ffffff", children: "
|
|
30592
|
+
/* @__PURE__ */ jsxRuntime.jsx("text", { x: cx, y: y + 18, fontSize: 16, fontWeight: 900, letterSpacing: 8, textAnchor: "middle", fill: "#ffffff", children: \u5B57\u5F15("storefront.sign") }),
|
|
30443
30593
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { "data-cdl-role": "node-body", x, y: facadeY, width: bw, height: facadeH, fill: "#e0e4e8", stroke: "#5a6270", strokeWidth: frame.strokeWidth }),
|
|
30444
30594
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: winX, y: winY, width: winW, height: winH, fill: "#a4c5d9", stroke: accentDarker, strokeWidth: 2 }),
|
|
30445
30595
|
/* @__PURE__ */ jsxRuntime.jsx("line", { x1: winX + winW / 2, y1: winY, x2: winX + winW / 2, y2: winY + winH, stroke: accentDarker, strokeWidth: 1 }),
|
|
@@ -30453,7 +30603,7 @@ function ShapeStorefrontNode({ node, active }) {
|
|
|
30453
30603
|
/* @__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 }),
|
|
30454
30604
|
/* @__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 }),
|
|
30455
30605
|
/* @__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 }),
|
|
30456
|
-
/* @__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: "
|
|
30606
|
+
/* @__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") }),
|
|
30457
30607
|
/* @__PURE__ */ jsxRuntime.jsx("circle", { cx: doorX + 6, cy: doorY + doorH * 0.55, r: 1.5, fill: "#c15a4a" }),
|
|
30458
30608
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: x - 6, y: y + bh - 6, width: bw + 12, height: 8, fill: "#5a6270", stroke: "none" }),
|
|
30459
30609
|
bottomLabel4(node, r.cx, r.label)
|
|
@@ -30470,7 +30620,8 @@ var WAREHOUSE_SHADOW_RX_RATIO = 0.5;
|
|
|
30470
30620
|
var WAREHOUSE_H_MIN = WAREHOUSE_ROOF_H + WAREHOUSE_SIGN_H + 68;
|
|
30471
30621
|
var WAREHOUSE_W_MIN = 160;
|
|
30472
30622
|
var WAREHOUSE_W_MAX = 240;
|
|
30473
|
-
function ShapeWarehouseNode({ node, active }) {
|
|
30623
|
+
function ShapeWarehouseNode({ node, active, lang }) {
|
|
30624
|
+
const \u5B57\u5F15 = \u5B57\u5F15\u304D\u3092\u4F5C\u308B(lang);
|
|
30474
30625
|
const frame = commonFrame6(active);
|
|
30475
30626
|
const r = shapeRegion(node);
|
|
30476
30627
|
const cx = r.cx;
|
|
@@ -30499,7 +30650,7 @@ function ShapeWarehouseNode({ node, active }) {
|
|
|
30499
30650
|
/* @__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" }),
|
|
30500
30651
|
/* @__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 }),
|
|
30501
30652
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x, y: y + roofH, width: bw, height: signH, fill: "#c15a4a", stroke: "#8b3f2f", strokeWidth: 1.5 }),
|
|
30502
|
-
/* @__PURE__ */ jsxRuntime.jsx("text", { x: cx, y: y + roofH + 17, fontSize: 12, fontWeight: 900, letterSpacing: 6, textAnchor: "middle", fill: "#ffffff", children: "
|
|
30653
|
+
/* @__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") }),
|
|
30503
30654
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: shutterX, y: shutterY, width: shutterW, height: shutterH, fill: "#8b949e", stroke: accentDarker, strokeWidth: 2 }),
|
|
30504
30655
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: shutterX, y: shutterY, width: shutterW, height: 5, fill: "#5a6270", stroke: "none" }),
|
|
30505
30656
|
Array.from({ length: 10 }, (_, i) => i).map((i) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -30656,7 +30807,8 @@ var API_ROWS = 3;
|
|
|
30656
30807
|
var API_H_MIN = API_ROW_TOP + (API_ROWS - 1) * API_ROW_PITCH_MIN + API_ROW_H + API_ROW_BOTTOM_PAD;
|
|
30657
30808
|
var API_W_MIN = 200;
|
|
30658
30809
|
var API_W_MAX = 300;
|
|
30659
|
-
function ShapeApiGatewayNode({ node, active }) {
|
|
30810
|
+
function ShapeApiGatewayNode({ node, active, lang }) {
|
|
30811
|
+
const \u5B57\u5F15 = \u5B57\u5F15\u304D\u3092\u4F5C\u308B(lang);
|
|
30660
30812
|
const frame = commonFrame6(active);
|
|
30661
30813
|
const r = shapeRegion(node);
|
|
30662
30814
|
const cx = r.cx;
|
|
@@ -30667,6 +30819,7 @@ function ShapeApiGatewayNode({ node, active }) {
|
|
|
30667
30819
|
const x = cx - bw / 2;
|
|
30668
30820
|
const y = r.cy - \u7E26 / 2 + \u4F59\u767D;
|
|
30669
30821
|
const \u5E83\u304C\u308A = { \u4E0A: \u7E26 / 2, \u4E0B: \u7E26 / 2, \u5DE6: bw / 2 + \u4F59\u767D, \u53F3: bw / 2 + \u4F59\u767D };
|
|
30822
|
+
const \u7A2E\u985E\u306E\u5B57 = (s) => Math.min(11, 11 * 48 / Math.max(displayWidth(s) * 11 * MONO_ADVANCE_RATIO, textWidth(s, 11)));
|
|
30670
30823
|
const rowPitch = Math.max(
|
|
30671
30824
|
API_ROW_PITCH_MIN,
|
|
30672
30825
|
(bh - API_ROW_TOP - API_ROW_H - API_ROW_BOTTOM_PAD) / (API_ROWS - 1)
|
|
@@ -30675,15 +30828,15 @@ function ShapeApiGatewayNode({ node, active }) {
|
|
|
30675
30828
|
/* @__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" }),
|
|
30676
30829
|
/* @__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 }),
|
|
30677
30830
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x, y, width: bw, height: 36, rx: 10, fill: "var(--cdl-tone-accent, #2d6a8f)", stroke: "none" }),
|
|
30678
|
-
/* @__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: "
|
|
30831
|
+
/* @__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") }),
|
|
30679
30832
|
[
|
|
30680
|
-
{ method: "GET", path: "
|
|
30681
|
-
{ method: "POST", path: "
|
|
30682
|
-
{ method: "
|
|
30833
|
+
{ method: "GET", path: \u5B57\u5F15("apiGateway.users"), color: "#27c93f" },
|
|
30834
|
+
{ method: "POST", path: \u5B57\u5F15("apiGateway.orders"), color: "#e5c07b" },
|
|
30835
|
+
{ method: \u5B57\u5F15("apiGateway.delete"), path: \u5B57\u5F15("apiGateway.session"), color: "#c9302c" }
|
|
30683
30836
|
].map((e, i) => /* @__PURE__ */ jsxRuntime.jsxs("g", { transform: `translate(${x + 16}, ${y + API_ROW_TOP + i * rowPitch})`, children: [
|
|
30684
30837
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: 0, y: 0, width: bw - 32, height: API_ROW_H, rx: 4, fill: "#0f1419", stroke: "none" }),
|
|
30685
30838
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: 0, y: 0, width: 54, height: API_ROW_H, rx: 4, fill: e.color, stroke: "none" }),
|
|
30686
|
-
/* @__PURE__ */ jsxRuntime.jsx("text", { x: 27, y: 16, fontSize:
|
|
30839
|
+
/* @__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 }),
|
|
30687
30840
|
/* @__PURE__ */ jsxRuntime.jsx("text", { x: 64, y: 16, fontSize: 12, fontFamily: "ui-monospace, SFMono-Regular, Menlo, monospace", fill: "#e6edf3", children: e.path }),
|
|
30688
30841
|
/* @__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" }) })
|
|
30689
30842
|
] }, i))
|
|
@@ -30988,7 +31141,8 @@ function CdlNodeView({
|
|
|
30988
31141
|
stateValues,
|
|
30989
31142
|
currentPhaseId,
|
|
30990
31143
|
chartLineScale,
|
|
30991
|
-
\u95A2\u4FC2\u306E\u53D7\u3051\u53E3
|
|
31144
|
+
\u95A2\u4FC2\u306E\u53D7\u3051\u53E3,
|
|
31145
|
+
lang
|
|
30992
31146
|
}) {
|
|
30993
31147
|
const value = node.value ? interpolate(node.value, stateValues) : void 0;
|
|
30994
31148
|
const rows = (node.rows ?? []).map((r) => interpolate(r, stateValues));
|
|
@@ -31204,11 +31358,11 @@ function CdlNodeView({
|
|
|
31204
31358
|
case "shape-window":
|
|
31205
31359
|
return /* @__PURE__ */ jsxRuntime.jsx(ShapeWindowNode, { node: resolvedNode, active });
|
|
31206
31360
|
case "shape-terminal":
|
|
31207
|
-
return /* @__PURE__ */ jsxRuntime.jsx(ShapeTerminalNode, { node: resolvedNode, active });
|
|
31361
|
+
return /* @__PURE__ */ jsxRuntime.jsx(ShapeTerminalNode, { node: resolvedNode, active, lang });
|
|
31208
31362
|
case "shape-code-block":
|
|
31209
|
-
return /* @__PURE__ */ jsxRuntime.jsx(ShapeCodeBlockNode, { node: resolvedNode, active });
|
|
31363
|
+
return /* @__PURE__ */ jsxRuntime.jsx(ShapeCodeBlockNode, { node: resolvedNode, active, lang });
|
|
31210
31364
|
case "shape-kanban-card":
|
|
31211
|
-
return /* @__PURE__ */ jsxRuntime.jsx(ShapeKanbanCardNode, { node: resolvedNode, active });
|
|
31365
|
+
return /* @__PURE__ */ jsxRuntime.jsx(ShapeKanbanCardNode, { node: resolvedNode, active, lang });
|
|
31212
31366
|
case "shape-message-bubble":
|
|
31213
31367
|
return /* @__PURE__ */ jsxRuntime.jsx(ShapeMessageBubbleNode, { node: resolvedNode, active });
|
|
31214
31368
|
case "shape-gear":
|
|
@@ -31226,11 +31380,11 @@ function CdlNodeView({
|
|
|
31226
31380
|
case "shape-satellite":
|
|
31227
31381
|
return /* @__PURE__ */ jsxRuntime.jsx(ShapeSatelliteNode, { node: resolvedNode, active });
|
|
31228
31382
|
case "shape-smart-contract":
|
|
31229
|
-
return /* @__PURE__ */ jsxRuntime.jsx(ShapeSmartContractNode, { node: resolvedNode, active });
|
|
31383
|
+
return /* @__PURE__ */ jsxRuntime.jsx(ShapeSmartContractNode, { node: resolvedNode, active, lang });
|
|
31230
31384
|
case "shape-blockchain-block":
|
|
31231
|
-
return /* @__PURE__ */ jsxRuntime.jsx(ShapeBlockchainBlockNode, { node: resolvedNode, active });
|
|
31385
|
+
return /* @__PURE__ */ jsxRuntime.jsx(ShapeBlockchainBlockNode, { node: resolvedNode, active, lang });
|
|
31232
31386
|
case "shape-rpc-node":
|
|
31233
|
-
return /* @__PURE__ */ jsxRuntime.jsx(ShapeRpcNodeNode, { node: resolvedNode, active });
|
|
31387
|
+
return /* @__PURE__ */ jsxRuntime.jsx(ShapeRpcNodeNode, { node: resolvedNode, active, lang });
|
|
31234
31388
|
case "shape-wallet":
|
|
31235
31389
|
return /* @__PURE__ */ jsxRuntime.jsx(ShapeWalletNode, { node: resolvedNode, active });
|
|
31236
31390
|
case "shape-nft":
|
|
@@ -31248,29 +31402,29 @@ function CdlNodeView({
|
|
|
31248
31402
|
case "shape-bank":
|
|
31249
31403
|
return /* @__PURE__ */ jsxRuntime.jsx(ShapeBankNode, { node: resolvedNode, active });
|
|
31250
31404
|
case "shape-trust-bank":
|
|
31251
|
-
return /* @__PURE__ */ jsxRuntime.jsx(ShapeTrustBankNode, { node: resolvedNode, active });
|
|
31405
|
+
return /* @__PURE__ */ jsxRuntime.jsx(ShapeTrustBankNode, { node: resolvedNode, active, lang });
|
|
31252
31406
|
case "shape-payment-provider":
|
|
31253
|
-
return /* @__PURE__ */ jsxRuntime.jsx(ShapePaymentProviderNode, { node: resolvedNode, active });
|
|
31407
|
+
return /* @__PURE__ */ jsxRuntime.jsx(ShapePaymentProviderNode, { node: resolvedNode, active, lang });
|
|
31254
31408
|
case "shape-credit-card":
|
|
31255
31409
|
return /* @__PURE__ */ jsxRuntime.jsx(ShapeCreditCardNode, { node: resolvedNode, active });
|
|
31256
31410
|
case "shape-brokerage":
|
|
31257
|
-
return /* @__PURE__ */ jsxRuntime.jsx(ShapeBrokerageNode, { node: resolvedNode, active });
|
|
31411
|
+
return /* @__PURE__ */ jsxRuntime.jsx(ShapeBrokerageNode, { node: resolvedNode, active, lang });
|
|
31258
31412
|
case "shape-exchange":
|
|
31259
|
-
return /* @__PURE__ */ jsxRuntime.jsx(ShapeExchangeNode, { node: resolvedNode, active });
|
|
31413
|
+
return /* @__PURE__ */ jsxRuntime.jsx(ShapeExchangeNode, { node: resolvedNode, active, lang });
|
|
31260
31414
|
case "shape-atm":
|
|
31261
|
-
return /* @__PURE__ */ jsxRuntime.jsx(ShapeAtmNode, { node: resolvedNode, active });
|
|
31415
|
+
return /* @__PURE__ */ jsxRuntime.jsx(ShapeAtmNode, { node: resolvedNode, active, lang });
|
|
31262
31416
|
case "shape-website":
|
|
31263
31417
|
return /* @__PURE__ */ jsxRuntime.jsx(ShapeWebsiteNode, { node: resolvedNode, active });
|
|
31264
31418
|
case "shape-storefront":
|
|
31265
|
-
return /* @__PURE__ */ jsxRuntime.jsx(ShapeStorefrontNode, { node: resolvedNode, active });
|
|
31419
|
+
return /* @__PURE__ */ jsxRuntime.jsx(ShapeStorefrontNode, { node: resolvedNode, active, lang });
|
|
31266
31420
|
case "shape-warehouse":
|
|
31267
|
-
return /* @__PURE__ */ jsxRuntime.jsx(ShapeWarehouseNode, { node: resolvedNode, active });
|
|
31421
|
+
return /* @__PURE__ */ jsxRuntime.jsx(ShapeWarehouseNode, { node: resolvedNode, active, lang });
|
|
31268
31422
|
case "shape-online-shop":
|
|
31269
31423
|
return /* @__PURE__ */ jsxRuntime.jsx(ShapeOnlineShopNode, { node: resolvedNode, active });
|
|
31270
31424
|
case "shape-cdn-edge":
|
|
31271
31425
|
return /* @__PURE__ */ jsxRuntime.jsx(ShapeCdnEdgeNode, { node: resolvedNode, active });
|
|
31272
31426
|
case "shape-api-gateway":
|
|
31273
|
-
return /* @__PURE__ */ jsxRuntime.jsx(ShapeApiGatewayNode, { node: resolvedNode, active });
|
|
31427
|
+
return /* @__PURE__ */ jsxRuntime.jsx(ShapeApiGatewayNode, { node: resolvedNode, active, lang });
|
|
31274
31428
|
case "shape-auditor":
|
|
31275
31429
|
return /* @__PURE__ */ jsxRuntime.jsx(ShapeAuditorNode, { node: resolvedNode, active });
|
|
31276
31430
|
case "shape-regulator":
|
|
@@ -31645,6 +31799,7 @@ function CdlStage({
|
|
|
31645
31799
|
{
|
|
31646
31800
|
node,
|
|
31647
31801
|
active: activeSet.has(node.id),
|
|
31802
|
+
lang: laid.lang,
|
|
31648
31803
|
\u95A2\u4FC2\u306E\u53D7\u3051\u53E3: \u7BB1\u306E\u53D7\u3051\u53E3,
|
|
31649
31804
|
drawing: \u63CF\u304F,
|
|
31650
31805
|
progress: \u63CF\u304F ? \u63CF\u304F\u9032\u307F : progress,
|
|
@@ -33387,6 +33542,7 @@ exports.requiredSpecClearance = requiredSpecClearance;
|
|
|
33387
33542
|
exports.resolveEdgeLabelOverlapsWithChain = resolveEdgeLabelOverlapsWithChain;
|
|
33388
33543
|
exports.resolveEdgeLabelOverlapsWithChainAndPropagate = resolveEdgeLabelOverlapsWithChainAndPropagate;
|
|
33389
33544
|
exports.resolveLabelClearanceAfterPathPasses = resolveLabelClearanceAfterPathPasses;
|
|
33545
|
+
exports.resolveLang = resolveLang;
|
|
33390
33546
|
exports.resolveOverlapsWithChain = resolveOverlapsWithChain;
|
|
33391
33547
|
exports.resolveTarget = resolveTarget;
|
|
33392
33548
|
exports.resolveTargetAll = resolveTargetAll;
|