@cardenelabs/cdl 0.57.1 → 0.59.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 +46 -1
- package/dist/index.cjs +600 -247
- 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 +601 -249
- package/dist/index.js.map +1 -1
- package/dist/react.cjs +597 -247
- 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 +598 -248
- 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 +1 -1
- 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 +392 -0
- package/src/layout.ts +4 -0
- package/src/render/interactive-panel.tsx +183 -111
- 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,334 @@ 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
|
+
// 読み出し (`readout.*`) と入力欄の固定の字 (#849)。
|
|
435
|
+
// `{名前}` は描く時に値を差し込む位置 (`字を差し込む`)。 語順が言語で変わるので、位置ごと辞書に持つ
|
|
436
|
+
/** 配列を描く読み出しで、値が空の時の字 */
|
|
437
|
+
"readout.empty": "empty",
|
|
438
|
+
/** `sparkline` で点がまだ無い時の字 */
|
|
439
|
+
"readout.sparkline.waiting": "waiting",
|
|
440
|
+
/** 時の流れの入力欄の速さ */
|
|
441
|
+
"input.timeline.speed": "{speed}x",
|
|
442
|
+
/** 時の流れの入力欄の経過と長さ (秒) */
|
|
443
|
+
"input.timeline.time": "{t}s / {d}s",
|
|
444
|
+
/** `sequence-timeline` の点の見出し */
|
|
445
|
+
"readout.sequenceTimeline.title": "{name}: t={t}",
|
|
446
|
+
/** `bubble-chart` の泡の見出し */
|
|
447
|
+
"readout.bubbleChart.title": "({x}, {y}) r={r}",
|
|
448
|
+
/** `calendar-heatmap` の升目の見出し (`i` は 0 から) */
|
|
449
|
+
"readout.calendarHeatmap.title": "day {i}: {v}",
|
|
450
|
+
/** `candlestick` の足の見出し (始値 / 高値 / 安値 / 終値) */
|
|
451
|
+
"readout.candlestick.title": "O:{o} H:{h} L:{l} C:{c}",
|
|
452
|
+
/** `slope` の左の目盛 */
|
|
453
|
+
"readout.slope.before": "before",
|
|
454
|
+
/** `slope` の右の目盛 */
|
|
455
|
+
"readout.slope.after": "after",
|
|
456
|
+
/** `bullet-chart` の実績の見出し */
|
|
457
|
+
"readout.bulletChart.actual": "actual: {v}",
|
|
458
|
+
/** `bullet-chart` の目標の見出し */
|
|
459
|
+
"readout.bulletChart.target": "target: {v}",
|
|
460
|
+
/** `rating` の塗った星の見出し */
|
|
461
|
+
"readout.rating.full": "full",
|
|
462
|
+
/** `rating` の半分塗った星の見出し */
|
|
463
|
+
"readout.rating.half": "half",
|
|
464
|
+
/** `rating` の塗っていない星の見出し */
|
|
465
|
+
"readout.rating.empty": "empty",
|
|
466
|
+
/** `price-tag` の割引額 */
|
|
467
|
+
"readout.priceTag.save": "You save {amount}",
|
|
468
|
+
/** `confidence-meter` の低い帯の名前 */
|
|
469
|
+
"readout.confidence.low": "low",
|
|
470
|
+
/** `confidence-meter` の中ほどの帯の名前 */
|
|
471
|
+
"readout.confidence.mid": "mid",
|
|
472
|
+
/** `confidence-meter` の高い帯の名前 */
|
|
473
|
+
"readout.confidence.high": "high",
|
|
474
|
+
/** 並べきれなかった件数 (`user-stack` / `kanban-board` / `user-presence`) */
|
|
475
|
+
"readout.more": "+{n} more",
|
|
476
|
+
/** `video-card` の再生数 */
|
|
477
|
+
"readout.videoCard.views": "{v} views",
|
|
478
|
+
/** `attendance-grid` の角の見出し */
|
|
479
|
+
"readout.attendance.corner": "day",
|
|
480
|
+
/** `calendar-month` の曜日 (日曜) */
|
|
481
|
+
"readout.weekday.0": "Sun",
|
|
482
|
+
/** `calendar-month` の曜日 (月曜) */
|
|
483
|
+
"readout.weekday.1": "Mon",
|
|
484
|
+
/** `calendar-month` の曜日 (火曜) */
|
|
485
|
+
"readout.weekday.2": "Tue",
|
|
486
|
+
/** `calendar-month` の曜日 (水曜) */
|
|
487
|
+
"readout.weekday.3": "Wed",
|
|
488
|
+
/** `calendar-month` の曜日 (木曜) */
|
|
489
|
+
"readout.weekday.4": "Thu",
|
|
490
|
+
/** `calendar-month` の曜日 (金曜) */
|
|
491
|
+
"readout.weekday.5": "Fri",
|
|
492
|
+
/** `calendar-month` の曜日 (土曜) */
|
|
493
|
+
"readout.weekday.6": "Sat",
|
|
494
|
+
/** `rating-thumb` の賛成の割合と票数 */
|
|
495
|
+
"readout.ratingThumb.summary": "{pct}% up \xB7 {total} votes",
|
|
496
|
+
/** `kpi-trend-tile` の前の期間の値 */
|
|
497
|
+
"readout.kpiTrend.prev": "prev {v}",
|
|
498
|
+
/** `quick-poll-emoji` の票の合計 */
|
|
499
|
+
"readout.poll.total": "total {n}",
|
|
500
|
+
/** `thread-summary` の参加者の数 */
|
|
501
|
+
"readout.thread.participants": "{n} participants",
|
|
502
|
+
/** `thread-summary` の最後に書いた人 */
|
|
503
|
+
"readout.thread.last": "last: {name}",
|
|
504
|
+
/** `read-receipt` の送信した段 */
|
|
505
|
+
"readout.readReceipt.sent": "sent",
|
|
506
|
+
/** `read-receipt` の相手に届いた段 */
|
|
507
|
+
"readout.readReceipt.delivered": "delivered",
|
|
508
|
+
/** `read-receipt` の読まれた段 */
|
|
509
|
+
"readout.readReceipt.read": "read",
|
|
510
|
+
/** `password-strength` の段階 0 */
|
|
511
|
+
"readout.password.0": "too weak",
|
|
512
|
+
/** `password-strength` の段階 1 */
|
|
513
|
+
"readout.password.1": "weak",
|
|
514
|
+
/** `password-strength` の段階 2 */
|
|
515
|
+
"readout.password.2": "fair",
|
|
516
|
+
/** `password-strength` の段階 3 */
|
|
517
|
+
"readout.password.3": "good",
|
|
518
|
+
/** `password-strength` の段階 4 */
|
|
519
|
+
"readout.password.4": "strong",
|
|
520
|
+
/** `file-dropzone` で取り込んだ後の字 */
|
|
521
|
+
"readout.dropzone.uploaded": "uploaded",
|
|
522
|
+
/** `file-dropzone` の空の時の 1 行目 */
|
|
523
|
+
"readout.dropzone.drop": "\u2B06 Drop file here",
|
|
524
|
+
/** `file-dropzone` の空の時の 2 行目 */
|
|
525
|
+
"readout.dropzone.browse": "or click to browse",
|
|
526
|
+
/** `log-stream` の重さ 0 (調べるための詳細) */
|
|
527
|
+
"readout.log.0": "DBG",
|
|
528
|
+
/** `log-stream` の重さ 1 (知らせ) */
|
|
529
|
+
"readout.log.1": "INF",
|
|
530
|
+
/** `log-stream` の重さ 2 (警告) */
|
|
531
|
+
"readout.log.2": "WRN",
|
|
532
|
+
/** `log-stream` の重さ 3 (異常) */
|
|
533
|
+
"readout.log.3": "ERR",
|
|
534
|
+
/** `cart-summary` の点数 */
|
|
535
|
+
"readout.cart.items": "Items",
|
|
536
|
+
/** `cart-summary` の小計 */
|
|
537
|
+
"readout.cart.subtotal": "Subtotal",
|
|
538
|
+
/** `cart-summary` の送料 */
|
|
539
|
+
"readout.cart.shipping": "Shipping",
|
|
540
|
+
/** `cart-summary` の合計 */
|
|
541
|
+
"readout.cart.total": "Total",
|
|
542
|
+
/** `pricing-tier` で名前が空の時の名前 */
|
|
543
|
+
"readout.pricing.plan": "Plan",
|
|
544
|
+
/** `pricing-tier` の価格の後ろ */
|
|
545
|
+
"readout.pricing.perMonth": "per month",
|
|
546
|
+
/** `pricing-tier` の押す札 */
|
|
547
|
+
"readout.pricing.get": "Get {name}",
|
|
548
|
+
/** `coupon-code` で番号が空の時の字 */
|
|
549
|
+
"readout.coupon.placeholder": "ENTER CODE",
|
|
550
|
+
/** `coupon-code` の割引の割合 */
|
|
551
|
+
"readout.coupon.off": "-{pct}% off",
|
|
552
|
+
/** `coupon-code` の押す札 */
|
|
553
|
+
"readout.coupon.apply": "Apply",
|
|
554
|
+
/** `article-preview` の書いた人 */
|
|
555
|
+
"readout.article.by": "by {author}",
|
|
556
|
+
/** `priority-badge` の高い優先度の表示 (値は `high` / `2` で読む) */
|
|
557
|
+
"readout.priority.high": "HIGH",
|
|
558
|
+
/** `priority-badge` の中ほどの優先度の表示 */
|
|
559
|
+
"readout.priority.med": "MED",
|
|
560
|
+
/** `priority-badge` の低い優先度の表示 (値は `low` / `0` で読む) */
|
|
561
|
+
"readout.priority.low": "LOW",
|
|
562
|
+
/** `kanban-board` の列の見出し (値は `todo` で読む) */
|
|
563
|
+
"readout.kanban.todo": "Todo",
|
|
564
|
+
/** `kanban-board` の列の見出し (値は `inprogress` で読む) */
|
|
565
|
+
"readout.kanban.inprogress": "In Progress",
|
|
566
|
+
/** `kanban-board` の列の見出し (値は `done` で読む) */
|
|
567
|
+
"readout.kanban.done": "Done",
|
|
568
|
+
/** `traffic-light` の赤の灯の見出し (値は `red` で読む) */
|
|
569
|
+
"readout.trafficLight.red": "red",
|
|
570
|
+
/** `traffic-light` の黄の灯の見出し (値は `yellow` / `amber` で読む) */
|
|
571
|
+
"readout.trafficLight.yellow": "yellow",
|
|
572
|
+
/** `traffic-light` の緑の灯の見出し (値は `green` で読む) */
|
|
573
|
+
"readout.trafficLight.green": "green"
|
|
574
|
+
};
|
|
575
|
+
var ja = {
|
|
576
|
+
"terminal.output": "\u2192 1.8 \u79D2\u3067\u5B8C\u4E86",
|
|
577
|
+
"codeBlock.fileName": "\u5171\u901A.ts",
|
|
578
|
+
"kanbanCard.id": "#1111",
|
|
579
|
+
"kanbanCard.status": "\u9032\u884C\u4E2D",
|
|
580
|
+
"kanbanCard.task": "\u5F62\u3092\u5B9F\u88C5",
|
|
581
|
+
"kanbanCard.due": "7/10",
|
|
582
|
+
"smartContract.call": "\u81EA\u52D5\u3067\u5B9F\u884C\u3059\u308B",
|
|
583
|
+
"blockchainBlock.title": "\u30D6\u30ED\u30C3\u30AF #421,873",
|
|
584
|
+
"blockchainBlock.hash": "\u30CF\u30C3\u30B7\u30E5",
|
|
585
|
+
"blockchainBlock.prev": "\u76F4\u524D",
|
|
586
|
+
"blockchainBlock.merkle": "\u6728\u306E\u6839",
|
|
587
|
+
"blockchainBlock.nonce": "\u30CE\u30F3\u30B9",
|
|
588
|
+
"blockchainBlock.tx": "\u53D6\u5F15",
|
|
589
|
+
"blockchainBlock.txCount": "142 \u4EF6",
|
|
590
|
+
"rpcNode.status": "RPC \u7A3C\u50CD\u4E2D",
|
|
591
|
+
"trustBank.sign": "\u4FE1\u8A17",
|
|
592
|
+
"paymentProvider.sign": "\u6C7A\u6E08",
|
|
593
|
+
"paymentProvider.status": "\u51E6\u7406\u4E2D",
|
|
594
|
+
"brokerage.ticker": "\u25B2\u65E5\u7D4C 38,240 \u25B2\u6771\u8A3C 2,710",
|
|
595
|
+
"brokerage.sign": "\xA5 \u8A3C\u5238",
|
|
596
|
+
"exchange.sign": "\u53D6\u5F15\u6240",
|
|
597
|
+
"exchange.sub": "\u6E05\u7B97",
|
|
598
|
+
"atm.sign": "ATM \u30B3\u30FC\u30CA\u30FC",
|
|
599
|
+
"atm.screen": "\u91D1\u984D\u3092\u9078\u629E",
|
|
600
|
+
"atm.ok": "\u78BA\u5B9A",
|
|
601
|
+
"atm.cardSlot": "\u30AB\u30FC\u30C9\u633F\u5165\u53E3",
|
|
602
|
+
"storefront.sign": "\u5546\u5E97",
|
|
603
|
+
"storefront.open": "\u55B6\u696D",
|
|
604
|
+
"warehouse.sign": "\u5009\u5EAB",
|
|
605
|
+
"apiGateway.sign": "API \u5165\u53E3",
|
|
606
|
+
"apiGateway.delete": "DELETE",
|
|
607
|
+
"apiGateway.users": "/\u5229\u7528\u8005",
|
|
608
|
+
"apiGateway.orders": "/\u6CE8\u6587",
|
|
609
|
+
"apiGateway.session": "/\u63A5\u7D9A",
|
|
610
|
+
"readout.empty": "\u306A\u3057",
|
|
611
|
+
"readout.sparkline.waiting": "\u5F85\u6A5F\u4E2D",
|
|
612
|
+
"input.timeline.speed": "{speed}\u500D",
|
|
613
|
+
"input.timeline.time": "{t}\u79D2 / {d}\u79D2",
|
|
614
|
+
"readout.sequenceTimeline.title": "{name}: \u6642\u523B {t}",
|
|
615
|
+
"readout.bubbleChart.title": "({x}, {y}) \u534A\u5F84 {r}",
|
|
616
|
+
"readout.calendarHeatmap.title": "{i} \u65E5\u76EE: {v}",
|
|
617
|
+
"readout.candlestick.title": "\u59CB {o} \u9AD8 {h} \u5B89 {l} \u7D42 {c}",
|
|
618
|
+
"readout.slope.before": "\u524D",
|
|
619
|
+
"readout.slope.after": "\u5F8C",
|
|
620
|
+
"readout.bulletChart.actual": "\u5B9F\u7E3E: {v}",
|
|
621
|
+
"readout.bulletChart.target": "\u76EE\u6A19: {v}",
|
|
622
|
+
"readout.rating.full": "\u6E80",
|
|
623
|
+
"readout.rating.half": "\u534A\u5206",
|
|
624
|
+
"readout.rating.empty": "\u7A7A",
|
|
625
|
+
"readout.priceTag.save": "{amount} \u304A\u5F97",
|
|
626
|
+
"readout.confidence.low": "\u4F4E",
|
|
627
|
+
"readout.confidence.mid": "\u4E2D",
|
|
628
|
+
"readout.confidence.high": "\u9AD8",
|
|
629
|
+
"readout.more": "\u307B\u304B {n}",
|
|
630
|
+
"readout.videoCard.views": "{v} \u56DE\u8996\u8074",
|
|
631
|
+
"readout.attendance.corner": "\u65E5",
|
|
632
|
+
"readout.weekday.0": "\u65E5",
|
|
633
|
+
"readout.weekday.1": "\u6708",
|
|
634
|
+
"readout.weekday.2": "\u706B",
|
|
635
|
+
"readout.weekday.3": "\u6C34",
|
|
636
|
+
"readout.weekday.4": "\u6728",
|
|
637
|
+
"readout.weekday.5": "\u91D1",
|
|
638
|
+
"readout.weekday.6": "\u571F",
|
|
639
|
+
"readout.ratingThumb.summary": "\u8CDB\u6210 {pct}% \xB7 {total} \u7968",
|
|
640
|
+
"readout.kpiTrend.prev": "\u524D\u56DE {v}",
|
|
641
|
+
"readout.poll.total": "\u5408\u8A08 {n}",
|
|
642
|
+
"readout.thread.participants": "{n} \u4EBA",
|
|
643
|
+
"readout.thread.last": "\u6700\u5F8C: {name}",
|
|
644
|
+
"readout.readReceipt.sent": "\u9001\u4FE1\u6E08\u307F",
|
|
645
|
+
"readout.readReceipt.delivered": "\u914D\u4FE1\u6E08\u307F",
|
|
646
|
+
"readout.readReceipt.read": "\u65E2\u8AAD",
|
|
647
|
+
"readout.password.0": "\u5F31\u3059\u304E\u308B",
|
|
648
|
+
"readout.password.1": "\u5F31\u3044",
|
|
649
|
+
"readout.password.2": "\u666E\u901A",
|
|
650
|
+
"readout.password.3": "\u826F\u3044",
|
|
651
|
+
"readout.password.4": "\u5F37\u3044",
|
|
652
|
+
"readout.dropzone.uploaded": "\u53D6\u308A\u8FBC\u307F\u6E08\u307F",
|
|
653
|
+
"readout.dropzone.drop": "\u2B06 \u3053\u3053\u306B\u30D5\u30A1\u30A4\u30EB\u3092\u7F6E\u304F",
|
|
654
|
+
"readout.dropzone.browse": "\u307E\u305F\u306F\u62BC\u3057\u3066\u9078\u3076",
|
|
655
|
+
"readout.log.0": "\u8A73\u7D30",
|
|
656
|
+
"readout.log.1": "\u60C5\u5831",
|
|
657
|
+
"readout.log.2": "\u8B66\u544A",
|
|
658
|
+
"readout.log.3": "\u7570\u5E38",
|
|
659
|
+
"readout.cart.items": "\u70B9\u6570",
|
|
660
|
+
"readout.cart.subtotal": "\u5C0F\u8A08",
|
|
661
|
+
"readout.cart.shipping": "\u9001\u6599",
|
|
662
|
+
"readout.cart.total": "\u5408\u8A08",
|
|
663
|
+
"readout.pricing.plan": "\u30D7\u30E9\u30F3",
|
|
664
|
+
"readout.pricing.perMonth": "\u6708\u984D",
|
|
665
|
+
"readout.pricing.get": "{name}\u3092\u9078\u3076",
|
|
666
|
+
"readout.coupon.placeholder": "\u30B3\u30FC\u30C9\u3092\u5165\u529B",
|
|
667
|
+
"readout.coupon.off": "-{pct}% \u5F15\u304D",
|
|
668
|
+
"readout.coupon.apply": "\u9069\u7528",
|
|
669
|
+
"readout.article.by": "\u6587: {author}",
|
|
670
|
+
"readout.priority.high": "\u9AD8",
|
|
671
|
+
"readout.priority.med": "\u4E2D",
|
|
672
|
+
"readout.priority.low": "\u4F4E",
|
|
673
|
+
"readout.kanban.todo": "\u672A\u7740\u624B",
|
|
674
|
+
"readout.kanban.inprogress": "\u9032\u884C\u4E2D",
|
|
675
|
+
"readout.kanban.done": "\u5B8C\u4E86",
|
|
676
|
+
"readout.trafficLight.red": "\u8D64",
|
|
677
|
+
"readout.trafficLight.yellow": "\u9EC4",
|
|
678
|
+
"readout.trafficLight.green": "\u7DD1"
|
|
679
|
+
};
|
|
680
|
+
var CDL_TEXT = { en, ja };
|
|
681
|
+
function \u5B57\u5F15\u304D\u3092\u4F5C\u308B(lang) {
|
|
682
|
+
const \u8A00\u8A9E = lang ?? "en";
|
|
683
|
+
return (key) => CDL_TEXT[\u8A00\u8A9E][key];
|
|
684
|
+
}
|
|
685
|
+
function \u5B57\u3092\u5DEE\u3057\u8FBC\u3080(template, values) {
|
|
686
|
+
return template.replace(/\{(\w+)\}/g, (whole, name) => name in values ? String(values[name]) : whole);
|
|
687
|
+
}
|
|
688
|
+
|
|
361
689
|
// src/layout/clearance-constants.ts
|
|
362
690
|
var CLEARANCE_NODE_LABEL = 32;
|
|
363
691
|
var CLEARANCE_LANE_LABEL = 24;
|
|
@@ -9636,6 +9964,9 @@ function layout(diag) {
|
|
|
9636
9964
|
// **遮断はここだけに置く**。 描画は必ず組み立てを通り、組み立て API も `er` も
|
|
9637
9965
|
// 素通しにしてある。 上流にも置くと、どの入力でも通らない分岐が残る
|
|
9638
9966
|
...diag.palette ? { palette: diag.palette } : {},
|
|
9967
|
+
// 描画側の固定の字の言語 (#847)。 既定 (`en`) と型の外の値は持たせない = 配置の結果の形を
|
|
9968
|
+
// 変更前と揃え、記法の書き損じで一部の字だけ日本語になる形を作らない
|
|
9969
|
+
...resolveLang(diag.lang) === "ja" ? { lang: "ja" } : {},
|
|
9639
9970
|
// 種類も配色と同じく空の目印を出さない。 遮断をここに揃えると手書きの図にも効く
|
|
9640
9971
|
...diag.type ? { type: diag.type } : {},
|
|
9641
9972
|
bboxes,
|
|
@@ -10905,12 +11236,12 @@ function \u5272\u308B\u5019\u88DC(text) {
|
|
|
10905
11236
|
\u7A7A\u767D.push([text.slice(0, m.index).trim(), text.slice(m.index + m[0].length).trim()]);
|
|
10906
11237
|
}
|
|
10907
11238
|
if (\u7A7A\u767D.length > 0) return \u7A7A\u767D.filter(\u5165\u3063\u3066\u3044\u308B);
|
|
10908
|
-
const \
|
|
11239
|
+
const \u5B572 = [];
|
|
10909
11240
|
const \u4E26\u3073 = [...text];
|
|
10910
11241
|
for (let i = 1; i < \u4E26\u3073.length; i += 1) {
|
|
10911
|
-
\
|
|
11242
|
+
\u5B572.push([\u4E26\u3073.slice(0, i).join(""), \u4E26\u3073.slice(i).join("")]);
|
|
10912
11243
|
}
|
|
10913
|
-
return \
|
|
11244
|
+
return \u5B572.filter(\u5165\u3063\u3066\u3044\u308B);
|
|
10914
11245
|
}
|
|
10915
11246
|
function \u5165\u3063\u3066\u3044\u308B([\u5DE6, \u53F3]) {
|
|
10916
11247
|
return \u5DE6 !== "" && \u53F3 !== "";
|
|
@@ -13266,9 +13597,9 @@ function \u533A\u753B\u306E\u5272\u4ED8(w, h, \u4EF6\u6570, \u524D\u3092\u51FA\u
|
|
|
13266
13597
|
\u67A0: (idx) => ({ x: \u5E45 * idx, y: 0, w: \u5E45, h })
|
|
13267
13598
|
};
|
|
13268
13599
|
}
|
|
13269
|
-
function \u53CE\u3081\u308B\u7D1A(\
|
|
13600
|
+
function \u53CE\u3081\u308B\u7D1A(\u5B572, \u4F7F\u3048\u308B\u5E452, \u521D\u671F, \u4E0B\u9650) {
|
|
13270
13601
|
let \u7D1A = \u521D\u671F;
|
|
13271
|
-
while (\u7D1A > \u4E0B\u9650 && textWidth(\
|
|
13602
|
+
while (\u7D1A > \u4E0B\u9650 && textWidth(\u5B572, \u7D1A) > \u4F7F\u3048\u308B\u5E452) \u7D1A -= 1;
|
|
13272
13603
|
return \u7D1A;
|
|
13273
13604
|
}
|
|
13274
13605
|
function \u5F27\u306E\u90533(cx, cy, r, \u5272\u5408) {
|
|
@@ -15247,6 +15578,11 @@ var commonFrame2 = (active) => ({
|
|
|
15247
15578
|
var ASCENT3 = 0.72;
|
|
15248
15579
|
var DESCENT3 = 0.25;
|
|
15249
15580
|
var MONO_ADVANCE = 0.62;
|
|
15581
|
+
function \u7B49\u5E45\u306E\u6841(s) {
|
|
15582
|
+
let \u6841 = 0;
|
|
15583
|
+
for (const c of s) \u6841 += (c.codePointAt(0) ?? 0) >= 11904 ? 2 : 1;
|
|
15584
|
+
return \u6841;
|
|
15585
|
+
}
|
|
15250
15586
|
var LABEL_SUB_RATIO = 11 / 16;
|
|
15251
15587
|
var LABEL_EYE_RATIO = 12 / 16;
|
|
15252
15588
|
var LABEL_EYE_GAP = 8;
|
|
@@ -15344,7 +15680,8 @@ function ShapeWindowNode({ node, active }) {
|
|
|
15344
15680
|
commonLabel2(node, node.cx, \u540D\u524D.y, \u540D\u524D.size)
|
|
15345
15681
|
] });
|
|
15346
15682
|
}
|
|
15347
|
-
function ShapeTerminalNode({ node, active }) {
|
|
15683
|
+
function ShapeTerminalNode({ node, active, lang }) {
|
|
15684
|
+
const \u5B57\u5F15 = \u5B57\u5F15\u304D\u3092\u4F5C\u308B(lang);
|
|
15348
15685
|
const frame = commonFrame2(active);
|
|
15349
15686
|
const \u7DDA = frame.strokeWidth / 2;
|
|
15350
15687
|
const x = node.cx - node.w / 2 + \u7DDA;
|
|
@@ -15365,10 +15702,10 @@ function ShapeTerminalNode({ node, active }) {
|
|
|
15365
15702
|
{ \u5DE6: 16, \u5B57: 12.5, \u8272: "#7cd88f", \u6587: "$" },
|
|
15366
15703
|
{ \u5DE6: 30, \u5B57: 12.5, \u8272: "#e6edf3", \u6587: "pnpm build" }
|
|
15367
15704
|
],
|
|
15368
|
-
[{ \u5DE6: 16, \u5B57: 12, \u8272: "#8b95a5", \u6587: "
|
|
15705
|
+
[{ \u5DE6: 16, \u5B57: 12, \u8272: "#8b95a5", \u6587: \u5B57\u5F15("terminal.output") }],
|
|
15369
15706
|
[{ \u5DE6: 16, \u5B57: 12.5, \u8272: "#7cd88f", \u6587: "$" }]
|
|
15370
15707
|
];
|
|
15371
|
-
const \u81EA\u7136\u5E45 = Math.max(...\u884C.flat().map((
|
|
15708
|
+
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
15709
|
const \u81EA\u7136\u9AD8 = \u5E2F + \u5148\u982D + \u884C\u9593 * (\u884C.length - 1) + Math.max(\u30AB\u30FC\u30BD\u30EB.\u4E0B, 12.5 * DESCENT3);
|
|
15373
15710
|
const \u500D = Math.min(1, w / \u81EA\u7136\u5E45, bodyH / \u81EA\u7136\u9AD8);
|
|
15374
15711
|
const barH = \u5E2F * \u500D;
|
|
@@ -15478,7 +15815,8 @@ function ShapeTerminalNode({ node, active }) {
|
|
|
15478
15815
|
)
|
|
15479
15816
|
] });
|
|
15480
15817
|
}
|
|
15481
|
-
function ShapeCodeBlockNode({ node, active }) {
|
|
15818
|
+
function ShapeCodeBlockNode({ node, active, lang }) {
|
|
15819
|
+
const \u5B57\u5F15 = \u5B57\u5F15\u304D\u3092\u4F5C\u308B(lang);
|
|
15482
15820
|
const frame = commonFrame2(active);
|
|
15483
15821
|
const \u7DDA = frame.strokeWidth / 2;
|
|
15484
15822
|
const x = node.cx - node.w / 2 + \u7DDA;
|
|
@@ -15568,7 +15906,7 @@ function ShapeCodeBlockNode({ node, active }) {
|
|
|
15568
15906
|
fontFamily: lineFont,
|
|
15569
15907
|
textAnchor: "middle",
|
|
15570
15908
|
fill: "#e6edf3",
|
|
15571
|
-
children: "
|
|
15909
|
+
children: \u5B57\u5F15("codeBlock.fileName")
|
|
15572
15910
|
}
|
|
15573
15911
|
),
|
|
15574
15912
|
/* @__PURE__ */ jsxRuntime.jsx("circle", { cx: x + tabW - \u4E38, cy: y + tabH / 2, r: 3 * \u500D, fill: "#7cd88f", stroke: "none" }),
|
|
@@ -15644,7 +15982,8 @@ function ShapeCodeBlockNode({ node, active }) {
|
|
|
15644
15982
|
)
|
|
15645
15983
|
] });
|
|
15646
15984
|
}
|
|
15647
|
-
function ShapeKanbanCardNode({ node, active }) {
|
|
15985
|
+
function ShapeKanbanCardNode({ node, active, lang }) {
|
|
15986
|
+
const \u5B57\u5F15 = \u5B57\u5F15\u304D\u3092\u4F5C\u308B(lang);
|
|
15648
15987
|
const frame = commonFrame2(active);
|
|
15649
15988
|
const \u7DDA = frame.strokeWidth / 2;
|
|
15650
15989
|
const \u5F71 = 3;
|
|
@@ -15656,7 +15995,7 @@ function ShapeKanbanCardNode({ node, active }) {
|
|
|
15656
15995
|
const \u5DE6\u53F3\u4F59\u767D = 14;
|
|
15657
15996
|
const \u4E0A\u6BB5\u9699\u9593 = 8;
|
|
15658
15997
|
const \u512A\u5148\u5E2F\u9AD8 = 10;
|
|
15659
|
-
const ID\u6587 = "
|
|
15998
|
+
const ID\u6587 = \u5B57\u5F15("kanbanCard.id");
|
|
15660
15999
|
const ID\u57FA\u6E96 = 30;
|
|
15661
16000
|
const ID\u5B57 = 11;
|
|
15662
16001
|
const ID\u5B57\u9593 = 1;
|
|
@@ -15675,7 +16014,7 @@ function ShapeKanbanCardNode({ node, active }) {
|
|
|
15675
16014
|
const \u4E0B\u5E2F = FOOTER\u4E0B - AVATAR\u4E2D\u5FC3Y + AVATAR\u534A\u5F84 + AVATAR\u67A0 / 2 + \u5E2F\u9593\u4F59\u767D;
|
|
15676
16015
|
const \u4E2D\u5E2F = \u540D\u524D\u5B57 * ASCENT3 + \u540D\u524D\u5B57 * \u8AAC\u660E\u57FA\u6E96\u6BD4 + \u540D\u524D\u5B57 * \u8AAC\u660E\u5B57\u6BD4 * DESCENT3;
|
|
15677
16016
|
const \u81EA\u7136\u9AD8 = \u4E0A\u5E2F + \u4E2D\u5E2F + \u4E0B\u5E2F;
|
|
15678
|
-
const ID\u5E45 = ID\u6587
|
|
16017
|
+
const ID\u5E45 = \u7B49\u5E45\u306E\u6841(ID\u6587) * MONO_ADVANCE * ID\u5B57 + ID\u5B57\u9593 * [...ID\u6587].length;
|
|
15679
16018
|
const \u81EA\u7136\u5E45 = \u5DE6\u53F3\u4F59\u767D + ID\u5E45 + \u4E0A\u6BB5\u9699\u9593 + PILL\u5E45 + \u5DE6\u53F3\u4F59\u767D;
|
|
15680
16019
|
const \u500D = Math.min(1, w / \u81EA\u7136\u5E45, h / \u81EA\u7136\u9AD8);
|
|
15681
16020
|
const priorityBarH = \u512A\u5148\u5E2F\u9AD8 * \u500D;
|
|
@@ -15754,7 +16093,7 @@ function ShapeKanbanCardNode({ node, active }) {
|
|
|
15754
16093
|
textAnchor: "middle",
|
|
15755
16094
|
fill: "#5a4a1a",
|
|
15756
16095
|
fontFamily: "ui-monospace, SFMono-Regular, Menlo, monospace",
|
|
15757
|
-
children: "
|
|
16096
|
+
children: \u5B57\u5F15("kanbanCard.status")
|
|
15758
16097
|
}
|
|
15759
16098
|
),
|
|
15760
16099
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -15778,7 +16117,7 @@ function ShapeKanbanCardNode({ node, active }) {
|
|
|
15778
16117
|
fontSize: \u540D\u524D.size * \u8AAC\u660E\u5B57\u6BD4,
|
|
15779
16118
|
textAnchor: "middle",
|
|
15780
16119
|
fill: "var(--cdl-text-dim, #5a6270)",
|
|
15781
|
-
children:
|
|
16120
|
+
children: \u5B57\u5F15("kanbanCard.task")
|
|
15782
16121
|
}
|
|
15783
16122
|
),
|
|
15784
16123
|
/* @__PURE__ */ jsxRuntime.jsxs("g", { transform: `translate(${x + \u5DE6\u53F3\u4F59\u767D * \u500D}, ${footY})`, children: [
|
|
@@ -15841,7 +16180,7 @@ function ShapeKanbanCardNode({ node, active }) {
|
|
|
15841
16180
|
fontWeight: 600,
|
|
15842
16181
|
textAnchor: "end",
|
|
15843
16182
|
fill: "var(--cdl-text-dim, #5a6270)",
|
|
15844
|
-
children: "
|
|
16183
|
+
children: \u5B57\u5F15("kanbanCard.due")
|
|
15845
16184
|
}
|
|
15846
16185
|
)
|
|
15847
16186
|
] })
|
|
@@ -16885,7 +17224,8 @@ function EthereumDiamond({ cx, cy, h, colors }) {
|
|
|
16885
17224
|
/* @__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
17225
|
] });
|
|
16887
17226
|
}
|
|
16888
|
-
function ShapeSmartContractNode({ node, active }) {
|
|
17227
|
+
function ShapeSmartContractNode({ node, active, lang }) {
|
|
17228
|
+
const \u5B57\u5F15 = \u5B57\u5F15\u304D\u3092\u4F5C\u308B(lang);
|
|
16889
17229
|
const frame = commonFrame4(active);
|
|
16890
17230
|
const r = shapeRegion(node);
|
|
16891
17231
|
const docW = SMART_CONTRACT_W;
|
|
@@ -16921,7 +17261,7 @@ function ShapeSmartContractNode({ node, active }) {
|
|
|
16921
17261
|
/* @__PURE__ */ jsxRuntime.jsx("path", { "data-cdl-role": "node-body", d: path, ...frame, strokeLinejoin: "round" }),
|
|
16922
17262
|
/* @__PURE__ */ jsxRuntime.jsx("path", { d: foldPath, fill: "none", stroke: frame.stroke, strokeWidth: frame.strokeWidth, strokeLinejoin: "round" }),
|
|
16923
17263
|
[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: "
|
|
17264
|
+
/* @__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
17265
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
16926
17266
|
"polygon",
|
|
16927
17267
|
{
|
|
@@ -16942,14 +17282,14 @@ function ShapeSmartContractNode({ node, active }) {
|
|
|
16942
17282
|
}
|
|
16943
17283
|
var \u5B57\u306E\u5E45 = (text, size) => Math.max(displayWidth(text) * size * MONO_ADVANCE_RATIO, textWidth(text, size));
|
|
16944
17284
|
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:
|
|
17285
|
+
{ key: "hash", label: "blockchainBlock.hash", value: { text: "0xaf31c9d2..." } },
|
|
17286
|
+
{ key: "prev", label: "blockchainBlock.prev", value: { text: "0x7b3f92c1..." } },
|
|
17287
|
+
{ key: "merkle", label: "blockchainBlock.merkle", value: { text: "0xc1892f4a..." } },
|
|
17288
|
+
{ key: "nonce", label: "blockchainBlock.nonce", value: { text: "82,914" } },
|
|
17289
|
+
{ key: "tx", label: "blockchainBlock.tx", value: { \u8F9E\u66F8: "blockchainBlock.txCount" } }
|
|
16950
17290
|
];
|
|
16951
|
-
|
|
16952
|
-
|
|
17291
|
+
function ShapeBlockchainBlockNode({ node, active, lang }) {
|
|
17292
|
+
const \u5B57\u5F15 = \u5B57\u5F15\u304D\u3092\u4F5C\u308B(lang);
|
|
16953
17293
|
const frame = commonFrame4(active);
|
|
16954
17294
|
const r = shapeRegion(node);
|
|
16955
17295
|
const bw = BLOCK_W;
|
|
@@ -16959,11 +17299,15 @@ function ShapeBlockchainBlockNode({ node, active }) {
|
|
|
16959
17299
|
const x = cx - bw / 2;
|
|
16960
17300
|
const y = cy - bh / 2;
|
|
16961
17301
|
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
|
-
|
|
17302
|
+
const \u898B\u51FA\u3057 = \u6E21\u3055\u308C\u305F(node.title) || \u5B57\u5F15("blockchainBlock.title");
|
|
17303
|
+
const fields = BLOCK_DEFAULT_FIELDS.map((f) => {
|
|
17304
|
+
const \u65E2\u5B9A\u5024 = "text" in f.value ? f.value.text : \u5B57\u5F15(f.value.\u8F9E\u66F8);
|
|
17305
|
+
return {
|
|
17306
|
+
key: f.key,
|
|
17307
|
+
label: \u5B57\u5F15(f.label),
|
|
17308
|
+
value: f.key === "hash" ? \u6E21\u3055\u308C\u305F(node.subtitle) || \u65E2\u5B9A\u5024 : \u65E2\u5B9A\u5024
|
|
17309
|
+
};
|
|
17310
|
+
});
|
|
16967
17311
|
const \u898B\u51FA\u3057\u306E\u5E45 = bw - 14 - 30;
|
|
16968
17312
|
const art = /* @__PURE__ */ jsxRuntime.jsxs("g", { children: [
|
|
16969
17313
|
/* @__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 +17317,7 @@ function ShapeBlockchainBlockNode({ node, active }) {
|
|
|
16973
17317
|
/* @__PURE__ */ jsxRuntime.jsx("circle", { cx: x + bw - 16, cy: y + 16, r: 5.5, fill: "#7cd88f", stroke: "#ffffff", strokeWidth: 1.5 }),
|
|
16974
17318
|
fields.map((f, i) => /* @__PURE__ */ jsxRuntime.jsxs("g", { children: [
|
|
16975
17319
|
/* @__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.
|
|
17320
|
+
/* @__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
17321
|
/* @__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
17322
|
] }, i)),
|
|
16979
17323
|
/* @__PURE__ */ jsxRuntime.jsxs("g", { transform: `translate(${cx - 32}, ${y + bh - 26})`, children: [
|
|
@@ -17178,7 +17522,8 @@ function ShapeBlockchainNodeNode({ node, active }) {
|
|
|
17178
17522
|
bottomLabel2(node, r.cx, r.label)
|
|
17179
17523
|
] });
|
|
17180
17524
|
}
|
|
17181
|
-
function ShapeRpcNodeNode({ node, active }) {
|
|
17525
|
+
function ShapeRpcNodeNode({ node, active, lang }) {
|
|
17526
|
+
const \u5B57\u5F15 = \u5B57\u5F15\u304D\u3092\u4F5C\u308B(lang);
|
|
17182
17527
|
const frame = commonFrame4(active);
|
|
17183
17528
|
const r = shapeRegion(node);
|
|
17184
17529
|
const cx = r.cx;
|
|
@@ -17191,7 +17536,7 @@ function ShapeRpcNodeNode({ node, active }) {
|
|
|
17191
17536
|
/* @__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
17537
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x, y, width: bw, height: 30, rx: 10, fill: "#2d3a4f", stroke: "none" }),
|
|
17193
17538
|
/* @__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: "
|
|
17539
|
+
/* @__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
17540
|
/* @__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
17541
|
/* @__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
17542
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: x + 16, y: y + bh - 24, width: bw - 32, height: 8, rx: 4, fill: "#0f1419", stroke: "none" }),
|
|
@@ -17477,7 +17822,8 @@ var TRUST_BASE_H = 14;
|
|
|
17477
17822
|
var TRUST_BODY_OUT = 8;
|
|
17478
17823
|
var TRUST_BLD_W_MIN = 140;
|
|
17479
17824
|
var TRUST_BLD_W_MAX = 280;
|
|
17480
|
-
function ShapeTrustBankNode({ node, active }) {
|
|
17825
|
+
function ShapeTrustBankNode({ node, active, lang }) {
|
|
17826
|
+
const \u5B57\u5F15 = \u5B57\u5F15\u304D\u3092\u4F5C\u308B(lang);
|
|
17481
17827
|
const frame = commonFrame5(active);
|
|
17482
17828
|
const r = shapeRegion(node);
|
|
17483
17829
|
const \u7DDA = frame.strokeWidth / 2;
|
|
@@ -17514,7 +17860,7 @@ function ShapeTrustBankNode({ node, active }) {
|
|
|
17514
17860
|
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
17861
|
}),
|
|
17516
17862
|
/* @__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: "
|
|
17863
|
+
/* @__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
17864
|
/* @__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
17865
|
Array.from({ length: nCols }, (_, i) => i).map((i) => {
|
|
17520
17866
|
const colCx = x + 15 + colGap + i * (colW + colGap) + colW / 2;
|
|
@@ -17533,7 +17879,8 @@ function ShapeTrustBankNode({ node, active }) {
|
|
|
17533
17879
|
bottomLabel3(node, r.cx, r.label)
|
|
17534
17880
|
] });
|
|
17535
17881
|
}
|
|
17536
|
-
function ShapePaymentProviderNode({ node, active }) {
|
|
17882
|
+
function ShapePaymentProviderNode({ node, active, lang }) {
|
|
17883
|
+
const \u5B57\u5F15 = \u5B57\u5F15\u304D\u3092\u4F5C\u308B(lang);
|
|
17537
17884
|
const frame = commonFrame5(active);
|
|
17538
17885
|
const r = shapeRegion(node);
|
|
17539
17886
|
const cx = r.cx;
|
|
@@ -17550,13 +17897,13 @@ function ShapePaymentProviderNode({ node, active }) {
|
|
|
17550
17897
|
/* @__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
17898
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x, y, width: boxW, height: headerH, rx: 10, fill: accentDarker }),
|
|
17552
17899
|
/* @__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: "
|
|
17900
|
+
/* @__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
17901
|
/* @__PURE__ */ jsxRuntime.jsxs("g", { children: [
|
|
17555
17902
|
/* @__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
17903
|
/* @__PURE__ */ jsxRuntime.jsx("circle", { cx, cy: cy + 4, r: 10, fill: "#e5c07b", stroke: accentDarker, strokeWidth: 1.5 }),
|
|
17557
17904
|
/* @__PURE__ */ jsxRuntime.jsx("text", { x: cx, y: cy + 9, fontSize: 13, fontWeight: 700, textAnchor: "middle", fill: accentDarker, fontFamily: "Georgia, serif", children: "$" })
|
|
17558
17905
|
] }),
|
|
17559
|
-
/* @__PURE__ */ jsxRuntime.jsx("text", { x: cx, y: y + boxH - 16, fontSize: 9, fontWeight: 700, letterSpacing: 2, textAnchor: "middle", fill: "#a4b5f2", children: "
|
|
17906
|
+
/* @__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
17907
|
bottomLabel3(node, r.cx, r.label)
|
|
17561
17908
|
] });
|
|
17562
17909
|
}
|
|
@@ -17604,7 +17951,8 @@ var BROKERAGE_SHADE_OUT = 2;
|
|
|
17604
17951
|
var BROKERAGE_W_MIN = BROKERAGE_COLS * BROKERAGE_CELL_W + (BROKERAGE_COLS - 1) * BROKERAGE_GAP_X + 6;
|
|
17605
17952
|
var BROKERAGE_W_MAX = 140;
|
|
17606
17953
|
var BROKERAGE_H_MIN = BROKERAGE_TICK_H + BROKERAGE_LOGO_H + BROKERAGE_BASE_H;
|
|
17607
|
-
function ShapeBrokerageNode({ node, active }) {
|
|
17954
|
+
function ShapeBrokerageNode({ node, active, lang }) {
|
|
17955
|
+
const \u5B57\u5F15 = \u5B57\u5F15\u304D\u3092\u4F5C\u308B(lang);
|
|
17608
17956
|
const frame = commonFrame5(active);
|
|
17609
17957
|
const r = shapeRegion(node);
|
|
17610
17958
|
const cx = r.cx;
|
|
@@ -17640,9 +17988,9 @@ function ShapeBrokerageNode({ node, active }) {
|
|
|
17640
17988
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: x - BROKERAGE_SHADE_OUT, y, width: BROKERAGE_SHADE_OUT * 2, height: h, fill: accentDarker }),
|
|
17641
17989
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x, y, width: w, height: BROKERAGE_TICK_H, fill: "#0f1830", stroke: "none" }),
|
|
17642
17990
|
/* @__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:
|
|
17991
|
+
/* @__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
17992
|
/* @__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: "
|
|
17993
|
+
/* @__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
17994
|
Array.from({ length: rows }).map(
|
|
17647
17995
|
(_, ri) => Array.from({ length: cols }).map((_2, ci) => {
|
|
17648
17996
|
const wx = gridStartX + ci * (cellW + gapX);
|
|
@@ -17663,7 +18011,8 @@ function ShapeBrokerageNode({ node, active }) {
|
|
|
17663
18011
|
bottomLabel3(node, r.cx, r.label)
|
|
17664
18012
|
] });
|
|
17665
18013
|
}
|
|
17666
|
-
function ShapeExchangeNode({ node, active }) {
|
|
18014
|
+
function ShapeExchangeNode({ node, active, lang }) {
|
|
18015
|
+
const \u5B57\u5F15 = \u5B57\u5F15\u304D\u3092\u4F5C\u308B(lang);
|
|
17667
18016
|
const frame = commonFrame5(active);
|
|
17668
18017
|
const r = shapeRegion(node);
|
|
17669
18018
|
const cx = r.cx;
|
|
@@ -17708,9 +18057,9 @@ function ShapeExchangeNode({ node, active }) {
|
|
|
17708
18057
|
] }, `d${i}`);
|
|
17709
18058
|
}),
|
|
17710
18059
|
/* @__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: "
|
|
18060
|
+
/* @__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
18061
|
/* @__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: "
|
|
18062
|
+
/* @__PURE__ */ jsxRuntime.jsx("text", { x: cx, y: cy + 26, fontSize: 8, fontWeight: 700, textAnchor: "middle", fill: "#a4b5f2", children: \u5B57\u5F15("exchange.sub") }),
|
|
17714
18063
|
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
18064
|
] });
|
|
17716
18065
|
return /* @__PURE__ */ jsxRuntime.jsxs("g", { children: [
|
|
@@ -17732,7 +18081,8 @@ var ATM_PANEL_H = 146;
|
|
|
17732
18081
|
var ATM_W_MIN = 100;
|
|
17733
18082
|
var ATM_W_MAX = 140;
|
|
17734
18083
|
var ATM_H_MIN = ATM_SIGN_H + ATM_SIGN_GAP + 30 + ATM_FLOOR_RESERVE;
|
|
17735
|
-
function ShapeAtmNode({ node, active }) {
|
|
18084
|
+
function ShapeAtmNode({ node, active, lang }) {
|
|
18085
|
+
const \u5B57\u5F15 = \u5B57\u5F15\u304D\u3092\u4F5C\u308B(lang);
|
|
17736
18086
|
const frame = commonFrame5(active);
|
|
17737
18087
|
const r = shapeRegion(node);
|
|
17738
18088
|
const cx = r.cx;
|
|
@@ -17766,12 +18116,12 @@ function ShapeAtmNode({ node, active }) {
|
|
|
17766
18116
|
const \u7D75 = /* @__PURE__ */ jsxRuntime.jsxs("g", { children: [
|
|
17767
18117
|
/* @__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
18118
|
/* @__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: "
|
|
18119
|
+
/* @__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
18120
|
/* @__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
18121
|
/* @__PURE__ */ jsxRuntime.jsxs("g", { transform: `translate(${centerX} ${atmY}) scale(${\u9762})`, children: [
|
|
17772
18122
|
/* @__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
18123
|
/* @__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: "
|
|
18124
|
+
/* @__PURE__ */ jsxRuntime.jsx("text", { x: 0, y: 44, fontSize: 8, fontWeight: 700, textAnchor: "middle", fill: "#a4b5f2", children: \u5B57\u5F15("atm.screen") }),
|
|
17775
18125
|
/* @__PURE__ */ jsxRuntime.jsx("text", { x: 0, y: 56, fontSize: 10, fontWeight: 700, textAnchor: "middle", fill: "#4ea36a", children: "\xA5 20,000" }),
|
|
17776
18126
|
/* @__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
18127
|
(() => {
|
|
@@ -17785,7 +18135,7 @@ function ShapeAtmNode({ node, active }) {
|
|
|
17785
18135
|
["5", "#5a6270"],
|
|
17786
18136
|
["6", "#5a6270"],
|
|
17787
18137
|
["0", "#5a6270"],
|
|
17788
|
-
["
|
|
18138
|
+
[\u5B57\u5F15("atm.ok"), "#4ea36a"]
|
|
17789
18139
|
];
|
|
17790
18140
|
const keyW = 18;
|
|
17791
18141
|
const keyH = 10;
|
|
@@ -17798,13 +18148,16 @@ function ShapeAtmNode({ node, active }) {
|
|
|
17798
18148
|
const ky = 74 + row * (keyH + 2);
|
|
17799
18149
|
return /* @__PURE__ */ jsxRuntime.jsxs("g", { children: [
|
|
17800
18150
|
/* @__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:
|
|
18151
|
+
/* @__PURE__ */ jsxRuntime.jsx("text", { x: kx + keyW / 2, y: ky + 7, fontSize: (
|
|
18152
|
+
/* 決める鍵 (末尾) は 2 字あるので小さく描く。 字は言語で変わるため位置で見分ける */
|
|
18153
|
+
i === keys.length - 1 ? 6 : 7
|
|
18154
|
+
), fontWeight: 700, textAnchor: "middle", fill: "#ffffff", children: k[0] })
|
|
17802
18155
|
] }, `k${i}`);
|
|
17803
18156
|
});
|
|
17804
18157
|
})(),
|
|
17805
18158
|
/* @__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
18159
|
/* @__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: "
|
|
18160
|
+
/* @__PURE__ */ jsxRuntime.jsx("text", { x: 0, y: 132, fontSize: 6, fontWeight: 700, letterSpacing: 1, textAnchor: "middle", fill: "#e5c07b", children: \u5B57\u5F15("atm.cardSlot") }),
|
|
17808
18161
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: \u9762\u5DE6 + 12, y: 136, width: ATM_PANEL_W - 24, height: 4, rx: 1, fill: "#0f1830" })
|
|
17809
18162
|
] }),
|
|
17810
18163
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: centerX - totalW / 2, y: floorY, width: totalW, height: 6, fill: "#8b949e", stroke: "none" }),
|
|
@@ -17889,7 +18242,8 @@ function ShapeWebsiteNode({ node, active }) {
|
|
|
17889
18242
|
bottomLabel4(node, r.cx, r.label)
|
|
17890
18243
|
] });
|
|
17891
18244
|
}
|
|
17892
|
-
function ShapeStorefrontNode({ node, active }) {
|
|
18245
|
+
function ShapeStorefrontNode({ node, active, lang }) {
|
|
18246
|
+
const \u5B57\u5F15 = \u5B57\u5F15\u304D\u3092\u4F5C\u308B(lang);
|
|
17893
18247
|
const frame = commonFrame6(active);
|
|
17894
18248
|
const r = shapeRegion(node);
|
|
17895
18249
|
const cx = r.cx;
|
|
@@ -17915,7 +18269,7 @@ function ShapeStorefrontNode({ node, active }) {
|
|
|
17915
18269
|
return /* @__PURE__ */ jsxRuntime.jsxs("g", { children: [
|
|
17916
18270
|
/* @__PURE__ */ jsxRuntime.jsx("ellipse", { cx, cy: y + bh + 8, rx: bw * 0.5, ry: 5, fill: frame.stroke, opacity: 0.2, stroke: "none" }),
|
|
17917
18271
|
/* @__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: "
|
|
18272
|
+
/* @__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
18273
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { "data-cdl-role": "node-body", x, y: facadeY, width: bw, height: facadeH, fill: "#e0e4e8", stroke: "#5a6270", strokeWidth: frame.strokeWidth }),
|
|
17920
18274
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: winX, y: winY, width: winW, height: winH, fill: "#a4c5d9", stroke: accentDarker, strokeWidth: 2 }),
|
|
17921
18275
|
/* @__PURE__ */ jsxRuntime.jsx("line", { x1: winX + winW / 2, y1: winY, x2: winX + winW / 2, y2: winY + winH, stroke: accentDarker, strokeWidth: 1 }),
|
|
@@ -17929,7 +18283,7 @@ function ShapeStorefrontNode({ node, active }) {
|
|
|
17929
18283
|
/* @__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
18284
|
/* @__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
18285
|
/* @__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: "
|
|
18286
|
+
/* @__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
18287
|
/* @__PURE__ */ jsxRuntime.jsx("circle", { cx: doorX + 6, cy: doorY + doorH * 0.55, r: 1.5, fill: "#c15a4a" }),
|
|
17934
18288
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: x - 6, y: y + bh - 6, width: bw + 12, height: 8, fill: "#5a6270", stroke: "none" }),
|
|
17935
18289
|
bottomLabel4(node, r.cx, r.label)
|
|
@@ -17946,7 +18300,8 @@ var WAREHOUSE_SHADOW_RX_RATIO = 0.5;
|
|
|
17946
18300
|
var WAREHOUSE_H_MIN = WAREHOUSE_ROOF_H + WAREHOUSE_SIGN_H + 68;
|
|
17947
18301
|
var WAREHOUSE_W_MIN = 160;
|
|
17948
18302
|
var WAREHOUSE_W_MAX = 240;
|
|
17949
|
-
function ShapeWarehouseNode({ node, active }) {
|
|
18303
|
+
function ShapeWarehouseNode({ node, active, lang }) {
|
|
18304
|
+
const \u5B57\u5F15 = \u5B57\u5F15\u304D\u3092\u4F5C\u308B(lang);
|
|
17950
18305
|
const frame = commonFrame6(active);
|
|
17951
18306
|
const r = shapeRegion(node);
|
|
17952
18307
|
const cx = r.cx;
|
|
@@ -17975,7 +18330,7 @@ function ShapeWarehouseNode({ node, active }) {
|
|
|
17975
18330
|
/* @__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
18331
|
/* @__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
18332
|
/* @__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: "
|
|
18333
|
+
/* @__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
18334
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: shutterX, y: shutterY, width: shutterW, height: shutterH, fill: "#8b949e", stroke: accentDarker, strokeWidth: 2 }),
|
|
17980
18335
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: shutterX, y: shutterY, width: shutterW, height: 5, fill: "#5a6270", stroke: "none" }),
|
|
17981
18336
|
Array.from({ length: 10 }, (_, i) => i).map((i) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -18132,7 +18487,8 @@ var API_ROWS = 3;
|
|
|
18132
18487
|
var API_H_MIN = API_ROW_TOP + (API_ROWS - 1) * API_ROW_PITCH_MIN + API_ROW_H + API_ROW_BOTTOM_PAD;
|
|
18133
18488
|
var API_W_MIN = 200;
|
|
18134
18489
|
var API_W_MAX = 300;
|
|
18135
|
-
function ShapeApiGatewayNode({ node, active }) {
|
|
18490
|
+
function ShapeApiGatewayNode({ node, active, lang }) {
|
|
18491
|
+
const \u5B57\u5F15 = \u5B57\u5F15\u304D\u3092\u4F5C\u308B(lang);
|
|
18136
18492
|
const frame = commonFrame6(active);
|
|
18137
18493
|
const r = shapeRegion(node);
|
|
18138
18494
|
const cx = r.cx;
|
|
@@ -18143,6 +18499,7 @@ function ShapeApiGatewayNode({ node, active }) {
|
|
|
18143
18499
|
const x = cx - bw / 2;
|
|
18144
18500
|
const y = r.cy - \u7E26 / 2 + \u4F59\u767D;
|
|
18145
18501
|
const \u5E83\u304C\u308A = { \u4E0A: \u7E26 / 2, \u4E0B: \u7E26 / 2, \u5DE6: bw / 2 + \u4F59\u767D, \u53F3: bw / 2 + \u4F59\u767D };
|
|
18502
|
+
const \u7A2E\u985E\u306E\u5B57 = (s) => Math.min(11, 11 * 48 / Math.max(displayWidth(s) * 11 * MONO_ADVANCE_RATIO, textWidth(s, 11)));
|
|
18146
18503
|
const rowPitch = Math.max(
|
|
18147
18504
|
API_ROW_PITCH_MIN,
|
|
18148
18505
|
(bh - API_ROW_TOP - API_ROW_H - API_ROW_BOTTOM_PAD) / (API_ROWS - 1)
|
|
@@ -18151,15 +18508,15 @@ function ShapeApiGatewayNode({ node, active }) {
|
|
|
18151
18508
|
/* @__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
18509
|
/* @__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
18510
|
/* @__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: "
|
|
18511
|
+
/* @__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
18512
|
[
|
|
18156
|
-
{ method: "GET", path: "
|
|
18157
|
-
{ method: "POST", path: "
|
|
18158
|
-
{ method: "
|
|
18513
|
+
{ method: "GET", path: \u5B57\u5F15("apiGateway.users"), color: "#27c93f" },
|
|
18514
|
+
{ method: "POST", path: \u5B57\u5F15("apiGateway.orders"), color: "#e5c07b" },
|
|
18515
|
+
{ method: \u5B57\u5F15("apiGateway.delete"), path: \u5B57\u5F15("apiGateway.session"), color: "#c9302c" }
|
|
18159
18516
|
].map((e, i) => /* @__PURE__ */ jsxRuntime.jsxs("g", { transform: `translate(${x + 16}, ${y + API_ROW_TOP + i * rowPitch})`, children: [
|
|
18160
18517
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: 0, y: 0, width: bw - 32, height: API_ROW_H, rx: 4, fill: "#0f1419", stroke: "none" }),
|
|
18161
18518
|
/* @__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:
|
|
18519
|
+
/* @__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
18520
|
/* @__PURE__ */ jsxRuntime.jsx("text", { x: 64, y: 16, fontSize: 12, fontFamily: "ui-monospace, SFMono-Regular, Menlo, monospace", fill: "#e6edf3", children: e.path }),
|
|
18164
18521
|
/* @__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
18522
|
] }, i))
|
|
@@ -18464,7 +18821,8 @@ function CdlNodeView({
|
|
|
18464
18821
|
stateValues,
|
|
18465
18822
|
currentPhaseId,
|
|
18466
18823
|
chartLineScale,
|
|
18467
|
-
\u95A2\u4FC2\u306E\u53D7\u3051\u53E3
|
|
18824
|
+
\u95A2\u4FC2\u306E\u53D7\u3051\u53E3,
|
|
18825
|
+
lang
|
|
18468
18826
|
}) {
|
|
18469
18827
|
const value = node.value ? interpolate(node.value, stateValues) : void 0;
|
|
18470
18828
|
const rows = (node.rows ?? []).map((r) => interpolate(r, stateValues));
|
|
@@ -18680,11 +19038,11 @@ function CdlNodeView({
|
|
|
18680
19038
|
case "shape-window":
|
|
18681
19039
|
return /* @__PURE__ */ jsxRuntime.jsx(ShapeWindowNode, { node: resolvedNode, active });
|
|
18682
19040
|
case "shape-terminal":
|
|
18683
|
-
return /* @__PURE__ */ jsxRuntime.jsx(ShapeTerminalNode, { node: resolvedNode, active });
|
|
19041
|
+
return /* @__PURE__ */ jsxRuntime.jsx(ShapeTerminalNode, { node: resolvedNode, active, lang });
|
|
18684
19042
|
case "shape-code-block":
|
|
18685
|
-
return /* @__PURE__ */ jsxRuntime.jsx(ShapeCodeBlockNode, { node: resolvedNode, active });
|
|
19043
|
+
return /* @__PURE__ */ jsxRuntime.jsx(ShapeCodeBlockNode, { node: resolvedNode, active, lang });
|
|
18686
19044
|
case "shape-kanban-card":
|
|
18687
|
-
return /* @__PURE__ */ jsxRuntime.jsx(ShapeKanbanCardNode, { node: resolvedNode, active });
|
|
19045
|
+
return /* @__PURE__ */ jsxRuntime.jsx(ShapeKanbanCardNode, { node: resolvedNode, active, lang });
|
|
18688
19046
|
case "shape-message-bubble":
|
|
18689
19047
|
return /* @__PURE__ */ jsxRuntime.jsx(ShapeMessageBubbleNode, { node: resolvedNode, active });
|
|
18690
19048
|
case "shape-gear":
|
|
@@ -18702,11 +19060,11 @@ function CdlNodeView({
|
|
|
18702
19060
|
case "shape-satellite":
|
|
18703
19061
|
return /* @__PURE__ */ jsxRuntime.jsx(ShapeSatelliteNode, { node: resolvedNode, active });
|
|
18704
19062
|
case "shape-smart-contract":
|
|
18705
|
-
return /* @__PURE__ */ jsxRuntime.jsx(ShapeSmartContractNode, { node: resolvedNode, active });
|
|
19063
|
+
return /* @__PURE__ */ jsxRuntime.jsx(ShapeSmartContractNode, { node: resolvedNode, active, lang });
|
|
18706
19064
|
case "shape-blockchain-block":
|
|
18707
|
-
return /* @__PURE__ */ jsxRuntime.jsx(ShapeBlockchainBlockNode, { node: resolvedNode, active });
|
|
19065
|
+
return /* @__PURE__ */ jsxRuntime.jsx(ShapeBlockchainBlockNode, { node: resolvedNode, active, lang });
|
|
18708
19066
|
case "shape-rpc-node":
|
|
18709
|
-
return /* @__PURE__ */ jsxRuntime.jsx(ShapeRpcNodeNode, { node: resolvedNode, active });
|
|
19067
|
+
return /* @__PURE__ */ jsxRuntime.jsx(ShapeRpcNodeNode, { node: resolvedNode, active, lang });
|
|
18710
19068
|
case "shape-wallet":
|
|
18711
19069
|
return /* @__PURE__ */ jsxRuntime.jsx(ShapeWalletNode, { node: resolvedNode, active });
|
|
18712
19070
|
case "shape-nft":
|
|
@@ -18724,29 +19082,29 @@ function CdlNodeView({
|
|
|
18724
19082
|
case "shape-bank":
|
|
18725
19083
|
return /* @__PURE__ */ jsxRuntime.jsx(ShapeBankNode, { node: resolvedNode, active });
|
|
18726
19084
|
case "shape-trust-bank":
|
|
18727
|
-
return /* @__PURE__ */ jsxRuntime.jsx(ShapeTrustBankNode, { node: resolvedNode, active });
|
|
19085
|
+
return /* @__PURE__ */ jsxRuntime.jsx(ShapeTrustBankNode, { node: resolvedNode, active, lang });
|
|
18728
19086
|
case "shape-payment-provider":
|
|
18729
|
-
return /* @__PURE__ */ jsxRuntime.jsx(ShapePaymentProviderNode, { node: resolvedNode, active });
|
|
19087
|
+
return /* @__PURE__ */ jsxRuntime.jsx(ShapePaymentProviderNode, { node: resolvedNode, active, lang });
|
|
18730
19088
|
case "shape-credit-card":
|
|
18731
19089
|
return /* @__PURE__ */ jsxRuntime.jsx(ShapeCreditCardNode, { node: resolvedNode, active });
|
|
18732
19090
|
case "shape-brokerage":
|
|
18733
|
-
return /* @__PURE__ */ jsxRuntime.jsx(ShapeBrokerageNode, { node: resolvedNode, active });
|
|
19091
|
+
return /* @__PURE__ */ jsxRuntime.jsx(ShapeBrokerageNode, { node: resolvedNode, active, lang });
|
|
18734
19092
|
case "shape-exchange":
|
|
18735
|
-
return /* @__PURE__ */ jsxRuntime.jsx(ShapeExchangeNode, { node: resolvedNode, active });
|
|
19093
|
+
return /* @__PURE__ */ jsxRuntime.jsx(ShapeExchangeNode, { node: resolvedNode, active, lang });
|
|
18736
19094
|
case "shape-atm":
|
|
18737
|
-
return /* @__PURE__ */ jsxRuntime.jsx(ShapeAtmNode, { node: resolvedNode, active });
|
|
19095
|
+
return /* @__PURE__ */ jsxRuntime.jsx(ShapeAtmNode, { node: resolvedNode, active, lang });
|
|
18738
19096
|
case "shape-website":
|
|
18739
19097
|
return /* @__PURE__ */ jsxRuntime.jsx(ShapeWebsiteNode, { node: resolvedNode, active });
|
|
18740
19098
|
case "shape-storefront":
|
|
18741
|
-
return /* @__PURE__ */ jsxRuntime.jsx(ShapeStorefrontNode, { node: resolvedNode, active });
|
|
19099
|
+
return /* @__PURE__ */ jsxRuntime.jsx(ShapeStorefrontNode, { node: resolvedNode, active, lang });
|
|
18742
19100
|
case "shape-warehouse":
|
|
18743
|
-
return /* @__PURE__ */ jsxRuntime.jsx(ShapeWarehouseNode, { node: resolvedNode, active });
|
|
19101
|
+
return /* @__PURE__ */ jsxRuntime.jsx(ShapeWarehouseNode, { node: resolvedNode, active, lang });
|
|
18744
19102
|
case "shape-online-shop":
|
|
18745
19103
|
return /* @__PURE__ */ jsxRuntime.jsx(ShapeOnlineShopNode, { node: resolvedNode, active });
|
|
18746
19104
|
case "shape-cdn-edge":
|
|
18747
19105
|
return /* @__PURE__ */ jsxRuntime.jsx(ShapeCdnEdgeNode, { node: resolvedNode, active });
|
|
18748
19106
|
case "shape-api-gateway":
|
|
18749
|
-
return /* @__PURE__ */ jsxRuntime.jsx(ShapeApiGatewayNode, { node: resolvedNode, active });
|
|
19107
|
+
return /* @__PURE__ */ jsxRuntime.jsx(ShapeApiGatewayNode, { node: resolvedNode, active, lang });
|
|
18750
19108
|
case "shape-auditor":
|
|
18751
19109
|
return /* @__PURE__ */ jsxRuntime.jsx(ShapeAuditorNode, { node: resolvedNode, active });
|
|
18752
19110
|
case "shape-regulator":
|
|
@@ -19121,6 +19479,7 @@ function CdlStage({
|
|
|
19121
19479
|
{
|
|
19122
19480
|
node,
|
|
19123
19481
|
active: activeSet.has(node.id),
|
|
19482
|
+
lang: laid.lang,
|
|
19124
19483
|
\u95A2\u4FC2\u306E\u53D7\u3051\u53E3: \u7BB1\u306E\u53D7\u3051\u53E3,
|
|
19125
19484
|
drawing: \u63CF\u304F,
|
|
19126
19485
|
progress: \u63CF\u304F ? \u63CF\u304F\u9032\u307F : progress,
|
|
@@ -19863,6 +20222,23 @@ function warn(message) {
|
|
|
19863
20222
|
console.warn(`[cdl event-handler] ${message}`);
|
|
19864
20223
|
}
|
|
19865
20224
|
}
|
|
20225
|
+
var \u64CD\u4F5C\u90E8\u306E\u8A00\u8A9E = react.createContext("en");
|
|
20226
|
+
function use\u5B57\u5F15() {
|
|
20227
|
+
const lang = react.useContext(\u64CD\u4F5C\u90E8\u306E\u8A00\u8A9E);
|
|
20228
|
+
return (key, values) => values ? \u5B57\u3092\u5DEE\u3057\u8FBC\u3080(CDL_TEXT[lang][key], values) : CDL_TEXT[lang][key];
|
|
20229
|
+
}
|
|
20230
|
+
function \u5B57({ k, v }) {
|
|
20231
|
+
const \u5F15\u304F = use\u5B57\u5F15();
|
|
20232
|
+
return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: \u5F15\u304F(k, v) });
|
|
20233
|
+
}
|
|
20234
|
+
function \u5B57\u306E\u898B\u51FA\u3057({
|
|
20235
|
+
k,
|
|
20236
|
+
v,
|
|
20237
|
+
\u524D = ""
|
|
20238
|
+
}) {
|
|
20239
|
+
const \u5F15\u304F = use\u5B57\u5F15();
|
|
20240
|
+
return /* @__PURE__ */ jsxRuntime.jsx("title", { children: k === void 0 ? "" : `${\u524D}${\u5F15\u304F(k, v)}` });
|
|
20241
|
+
}
|
|
19866
20242
|
function createInteractiveSignalsAccessor(diagram, signals, formula, scroll) {
|
|
19867
20243
|
const kindByInputId = /* @__PURE__ */ new Map();
|
|
19868
20244
|
for (const inp of diagram.inputs ?? []) {
|
|
@@ -20177,20 +20553,23 @@ function useInteractiveIntegration(diagram, options = {}) {
|
|
|
20177
20553
|
const readouts = diagram.readouts ?? [];
|
|
20178
20554
|
if (inputs.length === 0 && scrolls.length === 0 && formulasList.length === 0 && readouts.length === 0)
|
|
20179
20555
|
return null;
|
|
20180
|
-
return
|
|
20181
|
-
|
|
20182
|
-
|
|
20183
|
-
|
|
20184
|
-
{
|
|
20185
|
-
|
|
20186
|
-
|
|
20187
|
-
|
|
20188
|
-
|
|
20189
|
-
|
|
20190
|
-
|
|
20191
|
-
|
|
20192
|
-
|
|
20193
|
-
|
|
20556
|
+
return (
|
|
20557
|
+
// 操作部の中の読み出しと入力欄へ、図の言語を届ける (#849)。 型の外の値は英語に落ちる
|
|
20558
|
+
/* @__PURE__ */ jsxRuntime.jsx(\u64CD\u4F5C\u90E8\u306E\u8A00\u8A9E.Provider, { value: resolveLang(diagram.lang), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-root", "data-cdl-interactive-panel": "true", children: [
|
|
20559
|
+
inputs.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "cdl-ip-group", children: inputs.map((input) => /* @__PURE__ */ jsxRuntime.jsx(InputWidget, { input, signal: signals[input.id] }, input.id)) }),
|
|
20560
|
+
formulasList.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "cdl-ip-group", children: formulasList.map((f) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
20561
|
+
FormulaReadout,
|
|
20562
|
+
{
|
|
20563
|
+
id: f.id,
|
|
20564
|
+
expression: f.expression,
|
|
20565
|
+
value: stateOverrides[f.id]
|
|
20566
|
+
},
|
|
20567
|
+
f.id
|
|
20568
|
+
)) }),
|
|
20569
|
+
scrolls.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "cdl-ip-group", children: scrolls.map((s) => /* @__PURE__ */ jsxRuntime.jsx(ScrollReadout, { id: s.id, progress: stateOverrides[s.id] }, s.id)) }),
|
|
20570
|
+
readouts.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "cdl-ip-group", children: readouts.map((r) => /* @__PURE__ */ jsxRuntime.jsx(ReadoutWidget, { readout: r, stateOverrides: mergedStateValues }, r.id)) })
|
|
20571
|
+
] }) })
|
|
20572
|
+
);
|
|
20194
20573
|
}, [diagram, signals, stateOverrides, mergedStateValues]);
|
|
20195
20574
|
return { stateOverrides, panel, svgRef, containerRef };
|
|
20196
20575
|
}
|
|
@@ -22051,7 +22430,7 @@ function SparklineReadout({
|
|
|
22051
22430
|
if (points.length < 2) {
|
|
22052
22431
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-sparkline", "data-cdl-readout": id, children: [
|
|
22053
22432
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
22054
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "cdl-ip-readout-sparkline-empty", style: { width: w, height: h }, children: points.length === 0 ? "waiting" : "\u2014" }),
|
|
22433
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "cdl-ip-readout-sparkline-empty", style: { width: w, height: h }, children: points.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: "readout.sparkline.waiting" }) : "\u2014" }),
|
|
22055
22434
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-sparkline-value", children: Number.isFinite(value) ? value : "\u2014" })
|
|
22056
22435
|
] });
|
|
22057
22436
|
}
|
|
@@ -22314,27 +22693,24 @@ function TimelineWidget({
|
|
|
22314
22693
|
className: "cdl-ip-timeline-scrubber"
|
|
22315
22694
|
}
|
|
22316
22695
|
),
|
|
22317
|
-
/* @__PURE__ */ jsxRuntime.
|
|
22696
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
22318
22697
|
"button",
|
|
22319
22698
|
{
|
|
22320
22699
|
type: "button",
|
|
22321
22700
|
className: "cdl-ip-timeline-btn cdl-ip-timeline-speed",
|
|
22322
22701
|
onClick: cycleSpeed,
|
|
22323
22702
|
"aria-label": "speed",
|
|
22324
|
-
children:
|
|
22325
|
-
speed,
|
|
22326
|
-
"x"
|
|
22327
|
-
]
|
|
22703
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: "input.timeline.speed", v: { speed } })
|
|
22328
22704
|
}
|
|
22329
22705
|
)
|
|
22330
22706
|
] }),
|
|
22331
|
-
/* @__PURE__ */ jsxRuntime.
|
|
22332
|
-
|
|
22333
|
-
|
|
22334
|
-
|
|
22335
|
-
|
|
22336
|
-
|
|
22337
|
-
|
|
22707
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-timeline-time", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
22708
|
+
\u5B57,
|
|
22709
|
+
{
|
|
22710
|
+
k: "input.timeline.time",
|
|
22711
|
+
v: { t: (progress * (input.duration / 1e3)).toFixed(1), d: (input.duration / 1e3).toFixed(1) }
|
|
22712
|
+
}
|
|
22713
|
+
) })
|
|
22338
22714
|
] });
|
|
22339
22715
|
}
|
|
22340
22716
|
function RangeWidget({
|
|
@@ -22572,7 +22948,7 @@ function ArrayBarReadout({
|
|
|
22572
22948
|
const range = max - min || 1;
|
|
22573
22949
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-array-bar", "data-cdl-readout": id, children: [
|
|
22574
22950
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
22575
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "cdl-ip-readout-array-bar-row", children: arr.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: "empty" }) : arr.map((v, i) => {
|
|
22951
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "cdl-ip-readout-array-bar-row", children: arr.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: "readout.empty" }) }) : arr.map((v, i) => {
|
|
22576
22952
|
const h = Math.max(0, Math.min(1, (v - min) / range));
|
|
22577
22953
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
22578
22954
|
"span",
|
|
@@ -22649,7 +23025,7 @@ function StackedBarReadout({
|
|
|
22649
23025
|
const range = max - min || 1;
|
|
22650
23026
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-stacked-bar", "data-cdl-readout": id, children: [
|
|
22651
23027
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
22652
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "cdl-ip-readout-stacked-bar-row", children: n === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: "empty" }) : Array.from({ length: n }).map((_, i) => {
|
|
23028
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "cdl-ip-readout-stacked-bar-row", children: n === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: "readout.empty" }) }) : Array.from({ length: n }).map((_, i) => {
|
|
22653
23029
|
const va = arrA[i] ?? 0;
|
|
22654
23030
|
const vb = arrB[i] ?? 0;
|
|
22655
23031
|
const hA = Math.max(0, Math.min(1, (va - min) / range));
|
|
@@ -22744,7 +23120,7 @@ function MatrixReadout({
|
|
|
22744
23120
|
};
|
|
22745
23121
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-matrix", "data-cdl-readout": id, children: [
|
|
22746
23122
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
22747
|
-
rows === 0 || cols === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: "empty" }) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
23123
|
+
rows === 0 || cols === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: "readout.empty" }) }) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
22748
23124
|
"svg",
|
|
22749
23125
|
{
|
|
22750
23126
|
className: "cdl-ip-readout-matrix-svg",
|
|
@@ -22802,7 +23178,7 @@ function ProgressGroupReadout({
|
|
|
22802
23178
|
const labelArr = labels ? safeParseArray(labels).map(String) : [];
|
|
22803
23179
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-progress-group", "data-cdl-readout": id, children: [
|
|
22804
23180
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
22805
|
-
arr.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: "empty" }) : /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "cdl-ip-readout-progress-group-list", children: arr.map((v, i) => {
|
|
23181
|
+
arr.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: "readout.empty" }) }) : /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "cdl-ip-readout-progress-group-list", children: arr.map((v, i) => {
|
|
22806
23182
|
const pct = Math.max(0, Math.min(100, v / (max || 1) * 100));
|
|
22807
23183
|
const rowLabel = labelArr[i] ?? String(i + 1);
|
|
22808
23184
|
return /* @__PURE__ */ jsxRuntime.jsxs("li", { className: "cdl-ip-readout-progress-group-row", children: [
|
|
@@ -22864,7 +23240,7 @@ function SequenceTimelineReadout({
|
|
|
22864
23240
|
const xFor = (t) => pad + (Math.max(min, Math.min(max, t)) - min) / range * (viewW - pad * 2);
|
|
22865
23241
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-sequence-timeline", "data-cdl-readout": id, children: [
|
|
22866
23242
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
22867
|
-
events.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: "empty" }) : /* @__PURE__ */ jsxRuntime.jsxs(
|
|
23243
|
+
events.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: "readout.empty" }) }) : /* @__PURE__ */ jsxRuntime.jsxs(
|
|
22868
23244
|
"svg",
|
|
22869
23245
|
{
|
|
22870
23246
|
className: "cdl-ip-readout-sequence-timeline-svg",
|
|
@@ -22878,7 +23254,7 @@ function SequenceTimelineReadout({
|
|
|
22878
23254
|
events.map((e, i) => {
|
|
22879
23255
|
const x = xFor(e.t);
|
|
22880
23256
|
return /* @__PURE__ */ jsxRuntime.jsxs("g", { "data-cdl-event-marker": e.name, children: [
|
|
22881
|
-
/* @__PURE__ */ jsxRuntime.jsx("circle", { cx: x, cy: trackY, r: 5, fill: color, stroke: "#fff", strokeWidth: 1.5, children: /* @__PURE__ */ jsxRuntime.jsx("title", {
|
|
23257
|
+
/* @__PURE__ */ jsxRuntime.jsx("circle", { cx: x, cy: trackY, r: 5, fill: color, stroke: "#fff", strokeWidth: 1.5, children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57\u306E\u898B\u51FA\u3057, { k: "readout.sequenceTimeline.title", v: { name: e.name, t: e.t } }) }),
|
|
22882
23258
|
/* @__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 }),
|
|
22883
23259
|
/* @__PURE__ */ jsxRuntime.jsx("text", { x, y: trackY + 18, textAnchor: "middle", fontSize: 9, fill: "var(--v4-mute, #64748b)", children: e.t })
|
|
22884
23260
|
] }, i);
|
|
@@ -22921,7 +23297,7 @@ function RadarReadout({
|
|
|
22921
23297
|
const polygon = points.length ? points.map((p) => `${p.x.toFixed(1)},${p.y.toFixed(1)}`).join(" ") : "";
|
|
22922
23298
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-radar", "data-cdl-readout": id, children: [
|
|
22923
23299
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
22924
|
-
n === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: "empty" }) : /* @__PURE__ */ jsxRuntime.jsxs("svg", { className: "cdl-ip-readout-radar-svg", viewBox: `0 0 ${viewW} ${viewH}`, width: viewW, height: viewH, children: [
|
|
23300
|
+
n === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: "readout.empty" }) }) : /* @__PURE__ */ jsxRuntime.jsxs("svg", { className: "cdl-ip-readout-radar-svg", viewBox: `0 0 ${viewW} ${viewH}`, width: viewW, height: viewH, children: [
|
|
22925
23301
|
[0.33, 0.66, 1].map((t) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
22926
23302
|
"polygon",
|
|
22927
23303
|
{
|
|
@@ -22983,14 +23359,14 @@ function BubbleChartReadout({
|
|
|
22983
23359
|
const maxCircleR = 18;
|
|
22984
23360
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-bubble-chart", "data-cdl-readout": id, children: [
|
|
22985
23361
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
22986
|
-
bubbles.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: "empty" }) : /* @__PURE__ */ jsxRuntime.jsxs("svg", { className: "cdl-ip-readout-bubble-chart-svg", viewBox: `0 0 ${viewW} ${viewH}`, width: viewW, height: viewH, children: [
|
|
23362
|
+
bubbles.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: "readout.empty" }) }) : /* @__PURE__ */ jsxRuntime.jsxs("svg", { className: "cdl-ip-readout-bubble-chart-svg", viewBox: `0 0 ${viewW} ${viewH}`, width: viewW, height: viewH, children: [
|
|
22987
23363
|
/* @__PURE__ */ jsxRuntime.jsx("line", { x1: pad, x2: viewW - pad, y1: viewH - pad, y2: viewH - pad, stroke: "rgba(148,163,184,0.4)" }),
|
|
22988
23364
|
/* @__PURE__ */ jsxRuntime.jsx("line", { x1: pad, x2: pad, y1: pad, y2: viewH - pad, stroke: "rgba(148,163,184,0.4)" }),
|
|
22989
23365
|
bubbles.map((b, i) => {
|
|
22990
23366
|
const cx = pad + (Math.max(xMin, Math.min(xMax, b.x)) - xMin) / xRange * w;
|
|
22991
23367
|
const cy = viewH - pad - (Math.max(yMin, Math.min(yMax, b.y)) - yMin) / yRange * h;
|
|
22992
23368
|
const r = 4 + (Math.max(rMin, Math.min(rMax, b.r)) - rMin) / rRange * (maxCircleR - 4);
|
|
22993
|
-
return /* @__PURE__ */ jsxRuntime.jsx("circle", { cx, cy, r, fill: color, fillOpacity: 0.35, stroke: color, strokeWidth: 1.5, children: /* @__PURE__ */ jsxRuntime.jsx("title", {
|
|
23369
|
+
return /* @__PURE__ */ jsxRuntime.jsx("circle", { cx, cy, r, fill: color, fillOpacity: 0.35, stroke: color, strokeWidth: 1.5, children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57\u306E\u898B\u51FA\u3057, { k: "readout.bubbleChart.title", v: { x: b.x, y: b.y, r: b.r } }) }, i);
|
|
22994
23370
|
})
|
|
22995
23371
|
] })
|
|
22996
23372
|
] });
|
|
@@ -23013,7 +23389,7 @@ function DonutReadout({
|
|
|
23013
23389
|
let acc = 0;
|
|
23014
23390
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-donut", "data-cdl-readout": id, children: [
|
|
23015
23391
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
23016
|
-
arr.length === 0 || total === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: "empty" }) : /* @__PURE__ */ jsxRuntime.jsx("svg", { className: "cdl-ip-readout-donut-svg", viewBox: `0 0 ${viewW} ${viewH}`, width: viewW, height: viewH, children: arr.map((v, i) => {
|
|
23392
|
+
arr.length === 0 || total === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: "readout.empty" }) }) : /* @__PURE__ */ jsxRuntime.jsx("svg", { className: "cdl-ip-readout-donut-svg", viewBox: `0 0 ${viewW} ${viewH}`, width: viewW, height: viewH, children: arr.map((v, i) => {
|
|
23017
23393
|
const from = acc;
|
|
23018
23394
|
const to = acc + v / total;
|
|
23019
23395
|
acc = to;
|
|
@@ -23074,7 +23450,7 @@ function CalendarHeatmapReadout({
|
|
|
23074
23450
|
height: cellSize,
|
|
23075
23451
|
rx: 2,
|
|
23076
23452
|
fill,
|
|
23077
|
-
children: /* @__PURE__ */ jsxRuntime.jsx("title",
|
|
23453
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57\u306E\u898B\u51FA\u3057, { k: "readout.calendarHeatmap.title", v: { i, v } })
|
|
23078
23454
|
},
|
|
23079
23455
|
i
|
|
23080
23456
|
);
|
|
@@ -23194,7 +23570,7 @@ function CandlestickReadout({
|
|
|
23194
23570
|
const candleW = candles.length === 0 ? 0 : Math.max(3, (w - (candles.length - 1) * 3) / candles.length);
|
|
23195
23571
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-candlestick", "data-cdl-readout": id, children: [
|
|
23196
23572
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
23197
|
-
candles.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: "empty" }) : /* @__PURE__ */ jsxRuntime.jsx("svg", { className: "cdl-ip-readout-candlestick-svg", viewBox: `0 0 ${viewW} ${viewH}`, width: viewW, height: viewH, children: candles.map((cd, i) => {
|
|
23573
|
+
candles.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: "readout.empty" }) }) : /* @__PURE__ */ jsxRuntime.jsx("svg", { className: "cdl-ip-readout-candlestick-svg", viewBox: `0 0 ${viewW} ${viewH}`, width: viewW, height: viewH, children: candles.map((cd, i) => {
|
|
23198
23574
|
const cx = pad + i * (candleW + 3) + candleW / 2;
|
|
23199
23575
|
const yHigh = yFor(cd.h);
|
|
23200
23576
|
const yLow = yFor(cd.l);
|
|
@@ -23215,7 +23591,7 @@ function CandlestickReadout({
|
|
|
23215
23591
|
height: bodyH,
|
|
23216
23592
|
fill: isUp ? color : color,
|
|
23217
23593
|
fillOpacity: isUp ? 1 : 0.85,
|
|
23218
|
-
children: /* @__PURE__ */ jsxRuntime.jsx("title", {
|
|
23594
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57\u306E\u898B\u51FA\u3057, { k: "readout.candlestick.title", v: { o: cd.o, h: cd.h, l: cd.l, c: cd.c } })
|
|
23219
23595
|
}
|
|
23220
23596
|
)
|
|
23221
23597
|
] }, i);
|
|
@@ -23249,7 +23625,7 @@ function VennReadout({
|
|
|
23249
23625
|
const cxB = viewW / 2 + gap / 2;
|
|
23250
23626
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-venn", "data-cdl-readout": id, children: [
|
|
23251
23627
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
23252
|
-
sizeA === 0 && sizeB === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: "empty" }) : /* @__PURE__ */ jsxRuntime.jsxs("svg", { className: "cdl-ip-readout-venn-svg", viewBox: `0 0 ${viewW} ${viewH}`, width: viewW, height: viewH, children: [
|
|
23628
|
+
sizeA === 0 && sizeB === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: "readout.empty" }) }) : /* @__PURE__ */ jsxRuntime.jsxs("svg", { className: "cdl-ip-readout-venn-svg", viewBox: `0 0 ${viewW} ${viewH}`, width: viewW, height: viewH, children: [
|
|
23253
23629
|
/* @__PURE__ */ jsxRuntime.jsx("circle", { cx: cxA, cy, r: rA, fill: colorA, fillOpacity: 0.4, stroke: colorA, strokeWidth: 1.5 }),
|
|
23254
23630
|
/* @__PURE__ */ jsxRuntime.jsx("circle", { cx: cxB, cy, r: rB, fill: colorB, fillOpacity: 0.4, stroke: colorB, strokeWidth: 1.5 }),
|
|
23255
23631
|
/* @__PURE__ */ jsxRuntime.jsx("text", { x: cxA - rA + 8, y: cy - 4, fontSize: 11, fill: "var(--v4-ink, #1a1f2a)", fontWeight: 600, children: labelA }),
|
|
@@ -23300,11 +23676,11 @@ function SlopeReadout({
|
|
|
23300
23676
|
const yFor = (v) => pad + (1 - (Math.max(min, Math.min(max, v)) - min) / range) * h;
|
|
23301
23677
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-slope", "data-cdl-readout": id, children: [
|
|
23302
23678
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
23303
|
-
slopes.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: "empty" }) : /* @__PURE__ */ jsxRuntime.jsxs("svg", { className: "cdl-ip-readout-slope-svg", viewBox: `0 0 ${viewW} ${viewH}`, width: viewW, height: viewH, children: [
|
|
23679
|
+
slopes.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: "readout.empty" }) }) : /* @__PURE__ */ jsxRuntime.jsxs("svg", { className: "cdl-ip-readout-slope-svg", viewBox: `0 0 ${viewW} ${viewH}`, width: viewW, height: viewH, children: [
|
|
23304
23680
|
/* @__PURE__ */ jsxRuntime.jsx("line", { x1: xL, x2: xL, y1: pad - 4, y2: viewH - pad + 4, stroke: "rgba(148,163,184,0.4)" }),
|
|
23305
23681
|
/* @__PURE__ */ jsxRuntime.jsx("line", { x1: xR, x2: xR, y1: pad - 4, y2: viewH - pad + 4, stroke: "rgba(148,163,184,0.4)" }),
|
|
23306
|
-
/* @__PURE__ */ jsxRuntime.jsx("text", { x: xL, y: viewH - 4, fontSize: 9, textAnchor: "middle", fill: "var(--v4-mute, #64748b)", children: "before" }),
|
|
23307
|
-
/* @__PURE__ */ jsxRuntime.jsx("text", { x: xR, y: viewH - 4, fontSize: 9, textAnchor: "middle", fill: "var(--v4-mute, #64748b)", children: "after" }),
|
|
23682
|
+
/* @__PURE__ */ jsxRuntime.jsx("text", { x: xL, y: viewH - 4, fontSize: 9, textAnchor: "middle", fill: "var(--v4-mute, #64748b)", children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: "readout.slope.before" }) }),
|
|
23683
|
+
/* @__PURE__ */ jsxRuntime.jsx("text", { x: xR, y: viewH - 4, fontSize: 9, textAnchor: "middle", fill: "var(--v4-mute, #64748b)", children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: "readout.slope.after" }) }),
|
|
23308
23684
|
slopes.map((s, i) => {
|
|
23309
23685
|
const yB = yFor(s.before);
|
|
23310
23686
|
const yA = yFor(s.after);
|
|
@@ -23351,7 +23727,7 @@ function FunnelReadout({
|
|
|
23351
23727
|
const [bR, bG, bB] = hexToRgb2(colorBottom);
|
|
23352
23728
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-funnel", "data-cdl-readout": id, children: [
|
|
23353
23729
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
23354
|
-
stages.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: "empty" }) : /* @__PURE__ */ jsxRuntime.jsx("svg", { className: "cdl-ip-readout-funnel-svg", viewBox: `0 0 ${viewW} ${viewH}`, width: viewW, height: viewH, children: stages.map((s, i) => {
|
|
23730
|
+
stages.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: "readout.empty" }) }) : /* @__PURE__ */ jsxRuntime.jsx("svg", { className: "cdl-ip-readout-funnel-svg", viewBox: `0 0 ${viewW} ${viewH}`, width: viewW, height: viewH, children: stages.map((s, i) => {
|
|
23355
23731
|
const ratio = i / Math.max(1, stages.length - 1);
|
|
23356
23732
|
const w = maxCount > 0 ? s.count / maxCount * (viewW - 12) : 0;
|
|
23357
23733
|
const yTop = i * stageH + 2;
|
|
@@ -23413,7 +23789,7 @@ function GanttReadout({
|
|
|
23413
23789
|
const xFor = (v) => labelW + (Math.max(min, Math.min(max, v)) - min) / range * (viewW - labelW - pad);
|
|
23414
23790
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-gantt", "data-cdl-readout": id, children: [
|
|
23415
23791
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
23416
|
-
tasks.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: "empty" }) : /* @__PURE__ */ jsxRuntime.jsx("svg", { className: "cdl-ip-readout-gantt-svg", viewBox: `0 0 ${viewW} ${viewH}`, width: viewW, height: viewH, children: tasks.map((t, i) => {
|
|
23792
|
+
tasks.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: "readout.empty" }) }) : /* @__PURE__ */ jsxRuntime.jsx("svg", { className: "cdl-ip-readout-gantt-svg", viewBox: `0 0 ${viewW} ${viewH}`, width: viewW, height: viewH, children: tasks.map((t, i) => {
|
|
23417
23793
|
const y = pad + i * rowH;
|
|
23418
23794
|
const x1 = xFor(t.start);
|
|
23419
23795
|
const x2 = xFor(t.start + t.duration);
|
|
@@ -23504,7 +23880,7 @@ function TreemapReadout({
|
|
|
23504
23880
|
}
|
|
23505
23881
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-treemap", "data-cdl-readout": id, children: [
|
|
23506
23882
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
23507
|
-
rects.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: "empty" }) : /* @__PURE__ */ jsxRuntime.jsx("svg", { className: "cdl-ip-readout-treemap-svg", viewBox: `0 0 ${viewW} ${viewH}`, width: viewW, height: viewH, children: rects.map((r, i) => /* @__PURE__ */ jsxRuntime.jsxs("g", { children: [
|
|
23883
|
+
rects.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: "readout.empty" }) }) : /* @__PURE__ */ jsxRuntime.jsx("svg", { className: "cdl-ip-readout-treemap-svg", viewBox: `0 0 ${viewW} ${viewH}`, width: viewW, height: viewH, children: rects.map((r, i) => /* @__PURE__ */ jsxRuntime.jsxs("g", { children: [
|
|
23508
23884
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: r.x + 1, y: r.y + 1, width: Math.max(0, r.w - 2), height: Math.max(0, r.h - 2), fill: colors[i % colors.length] ?? "#94a3b8", rx: 2, children: /* @__PURE__ */ jsxRuntime.jsx("title", { children: `${r.name}: ${r.size}` }) }),
|
|
23509
23885
|
r.w > 40 && r.h > 20 ? /* @__PURE__ */ jsxRuntime.jsx("text", { x: r.x + 6, y: r.y + 14, fontSize: 10, fill: "#fff", fontWeight: 600, children: r.name }) : null
|
|
23510
23886
|
] }, i)) })
|
|
@@ -23570,7 +23946,7 @@ function SankeyReadout({
|
|
|
23570
23946
|
const rightUsed = {};
|
|
23571
23947
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-sankey", "data-cdl-readout": id, children: [
|
|
23572
23948
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
23573
|
-
flows.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: "empty" }) : /* @__PURE__ */ jsxRuntime.jsxs("svg", { className: "cdl-ip-readout-sankey-svg", viewBox: `0 0 ${viewW} ${viewH}`, width: viewW, height: viewH, children: [
|
|
23949
|
+
flows.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: "readout.empty" }) }) : /* @__PURE__ */ jsxRuntime.jsxs("svg", { className: "cdl-ip-readout-sankey-svg", viewBox: `0 0 ${viewW} ${viewH}`, width: viewW, height: viewH, children: [
|
|
23574
23950
|
leftNodes.map((n, i) => {
|
|
23575
23951
|
const p = leftPos[n.name];
|
|
23576
23952
|
return /* @__PURE__ */ jsxRuntime.jsxs("g", { children: [
|
|
@@ -23632,7 +24008,7 @@ function PolarAreaReadout({
|
|
|
23632
24008
|
const maxR = Math.min(cx, cy) - 20;
|
|
23633
24009
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-polar-area", "data-cdl-readout": id, children: [
|
|
23634
24010
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
23635
|
-
n === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: "empty" }) : /* @__PURE__ */ jsxRuntime.jsxs("svg", { className: "cdl-ip-readout-polar-area-svg", viewBox: `0 0 ${viewW} ${viewH}`, width: viewW, height: viewH, children: [
|
|
24011
|
+
n === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: "readout.empty" }) }) : /* @__PURE__ */ jsxRuntime.jsxs("svg", { className: "cdl-ip-readout-polar-area-svg", viewBox: `0 0 ${viewW} ${viewH}`, width: viewW, height: viewH, children: [
|
|
23636
24012
|
[0.33, 0.66, 1].map((t) => /* @__PURE__ */ jsxRuntime.jsx("circle", { cx, cy, r: maxR * t, fill: "none", stroke: "rgba(148,163,184,0.2)", strokeWidth: 1 }, t)),
|
|
23637
24013
|
arr.map((v, i) => {
|
|
23638
24014
|
const ratio = Math.sqrt(Math.max(0, Math.min(max, v)) / (max || 1));
|
|
@@ -23678,7 +24054,7 @@ function StepIndicatorReadout({
|
|
|
23678
24054
|
const cy = viewH / 2 - 2;
|
|
23679
24055
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-step-indicator", "data-cdl-readout": id, children: [
|
|
23680
24056
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
23681
|
-
n === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: "empty" }) : /* @__PURE__ */ jsxRuntime.jsxs("svg", { className: "cdl-ip-readout-step-indicator-svg", viewBox: `0 0 ${viewW} ${viewH}`, width: viewW, height: viewH, children: [
|
|
24057
|
+
n === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: "readout.empty" }) }) : /* @__PURE__ */ jsxRuntime.jsxs("svg", { className: "cdl-ip-readout-step-indicator-svg", viewBox: `0 0 ${viewW} ${viewH}`, width: viewW, height: viewH, children: [
|
|
23682
24058
|
n > 1 ? Array.from({ length: n - 1 }).map((_, i) => {
|
|
23683
24059
|
const x1 = pad + i * step;
|
|
23684
24060
|
const x2 = pad + (i + 1) * step;
|
|
@@ -23768,8 +24144,8 @@ function BulletChartReadout({
|
|
|
23768
24144
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: pad, y: pad, width: badX - pad, height: trackH, fill: "rgba(239,68,68,0.25)", rx: 2 }),
|
|
23769
24145
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: badX, y: pad, width: avgX - badX, height: trackH, fill: "rgba(234,179,8,0.25)" }),
|
|
23770
24146
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: avgX, y: pad, width: pad + w - avgX, height: trackH, fill: "rgba(34,197,94,0.25)" }),
|
|
23771
|
-
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: pad, y: pad + trackH * 0.3, width: actualX - pad, height: trackH * 0.4, fill: colorActual, rx: 2, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
23772
|
-
/* @__PURE__ */ jsxRuntime.jsx("line", { x1: targetX, x2: targetX, y1: pad - 2, y2: pad + trackH + 2, stroke: "#0f172a", strokeWidth: 2, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
24147
|
+
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: pad, y: pad + trackH * 0.3, width: actualX - pad, height: trackH * 0.4, fill: colorActual, rx: 2, children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57\u306E\u898B\u51FA\u3057, { k: "readout.bulletChart.actual", v: { v: safeActual } }) }),
|
|
24148
|
+
/* @__PURE__ */ jsxRuntime.jsx("line", { x1: targetX, x2: targetX, y1: pad - 2, y2: pad + trackH + 2, stroke: "#0f172a", strokeWidth: 2, children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57\u306E\u898B\u51FA\u3057, { k: "readout.bulletChart.target", v: { v: safeTarget } }) })
|
|
23773
24149
|
] })
|
|
23774
24150
|
] });
|
|
23775
24151
|
}
|
|
@@ -23824,7 +24200,7 @@ function LeaderboardReadout({
|
|
|
23824
24200
|
const medals = ["#eab308", "#94a3b8", "#c2410c"];
|
|
23825
24201
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-leaderboard", "data-cdl-readout": id, children: [
|
|
23826
24202
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
23827
|
-
sorted.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: "empty" }) : /* @__PURE__ */ jsxRuntime.jsx("ol", { className: "cdl-ip-readout-leaderboard-list", children: sorted.map((it, i) => {
|
|
24203
|
+
sorted.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: "readout.empty" }) }) : /* @__PURE__ */ jsxRuntime.jsx("ol", { className: "cdl-ip-readout-leaderboard-list", children: sorted.map((it, i) => {
|
|
23828
24204
|
const pct = topMax > 0 ? it.value / topMax * 100 : 0;
|
|
23829
24205
|
const rankColor = i < medals.length ? medals[i] : "#cbd5e1";
|
|
23830
24206
|
return /* @__PURE__ */ jsxRuntime.jsxs("li", { className: "cdl-ip-readout-leaderboard-row", children: [
|
|
@@ -23875,7 +24251,7 @@ function TrafficLightReadout({
|
|
|
23875
24251
|
style: {
|
|
23876
24252
|
filter: isActive ? `drop-shadow(0 0 6px ${colors[i]})` : void 0
|
|
23877
24253
|
},
|
|
23878
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
24254
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57\u306E\u898B\u51FA\u3057, { k: isActive ? ["readout.trafficLight.red", "readout.trafficLight.yellow", "readout.trafficLight.green"][i] : void 0 })
|
|
23879
24255
|
},
|
|
23880
24256
|
i
|
|
23881
24257
|
);
|
|
@@ -23914,7 +24290,7 @@ function TagCloudReadout({
|
|
|
23914
24290
|
const sizeFor = (w) => minSize + (w - minW) / range * (maxSize - minSize);
|
|
23915
24291
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-tag-cloud", "data-cdl-readout": id, children: [
|
|
23916
24292
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
23917
|
-
tags.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: "empty" }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "cdl-ip-readout-tag-cloud-list", children: tags.map((t, i) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
24293
|
+
tags.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: "readout.empty" }) }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "cdl-ip-readout-tag-cloud-list", children: tags.map((t, i) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
23918
24294
|
"span",
|
|
23919
24295
|
{
|
|
23920
24296
|
className: "cdl-ip-readout-tag-cloud-tag",
|
|
@@ -23951,7 +24327,7 @@ function ActivityFeedReadout({
|
|
|
23951
24327
|
const shown = events.slice(0, max);
|
|
23952
24328
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-activity-feed", "data-cdl-readout": id, children: [
|
|
23953
24329
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
23954
|
-
shown.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: "empty" }) : /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "cdl-ip-readout-activity-feed-list", children: shown.map((e, i) => /* @__PURE__ */ jsxRuntime.jsxs("li", { className: "cdl-ip-readout-activity-feed-row", children: [
|
|
24330
|
+
shown.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: "readout.empty" }) }) : /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "cdl-ip-readout-activity-feed-list", children: shown.map((e, i) => /* @__PURE__ */ jsxRuntime.jsxs("li", { className: "cdl-ip-readout-activity-feed-row", children: [
|
|
23955
24331
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-activity-feed-bullet", style: { background: color } }),
|
|
23956
24332
|
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "cdl-ip-readout-activity-feed-content", children: [
|
|
23957
24333
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-activity-feed-actor", children: e.actor }),
|
|
@@ -24002,7 +24378,7 @@ function RatingReadout({
|
|
|
24002
24378
|
strokeWidth: 1
|
|
24003
24379
|
}
|
|
24004
24380
|
),
|
|
24005
|
-
isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
24381
|
+
isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(\u5B57\u306E\u898B\u51FA\u3057, { \u524D: `${i + 1}: `, k: "readout.rating.empty" }) : /* @__PURE__ */ jsxRuntime.jsx(\u5B57\u306E\u898B\u51FA\u3057, { \u524D: `${i + 1}: `, k: isFull ? "readout.rating.full" : "readout.rating.half" })
|
|
24006
24382
|
]
|
|
24007
24383
|
},
|
|
24008
24384
|
i
|
|
@@ -24098,7 +24474,7 @@ function ChatBubbleReadout({
|
|
|
24098
24474
|
const shown = messages.slice(0, max);
|
|
24099
24475
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-chat-bubble", "data-cdl-readout": id, children: [
|
|
24100
24476
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
24101
|
-
shown.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: "empty" }) : /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "cdl-ip-readout-chat-bubble-list", children: shown.map((m, i) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
24477
|
+
shown.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: "readout.empty" }) }) : /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "cdl-ip-readout-chat-bubble-list", children: shown.map((m, i) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
24102
24478
|
"li",
|
|
24103
24479
|
{
|
|
24104
24480
|
className: `cdl-ip-readout-chat-bubble-row ${m.isSelf ? "self" : "other"}`,
|
|
@@ -24190,7 +24566,7 @@ function ChecklistReadout({
|
|
|
24190
24566
|
const pct = items.length === 0 ? 0 : Math.round(done / items.length * 100);
|
|
24191
24567
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-checklist", "data-cdl-readout": id, children: [
|
|
24192
24568
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
24193
|
-
items.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: "empty" }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
24569
|
+
items.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: "readout.empty" }) }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
24194
24570
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-readout-checklist-progress", children: [
|
|
24195
24571
|
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "cdl-ip-readout-checklist-progress-text", children: [
|
|
24196
24572
|
done,
|
|
@@ -24301,11 +24677,7 @@ function PriceTagReadout({
|
|
|
24301
24677
|
"%"
|
|
24302
24678
|
] }) : null
|
|
24303
24679
|
] }),
|
|
24304
|
-
savings > 0 ? /* @__PURE__ */ jsxRuntime.
|
|
24305
|
-
"You save ",
|
|
24306
|
-
currency,
|
|
24307
|
-
savings
|
|
24308
|
-
] }) : null
|
|
24680
|
+
savings > 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-price-tag-savings", children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: "readout.priceTag.save", v: { amount: `${currency}${savings}` } }) }) : null
|
|
24309
24681
|
] });
|
|
24310
24682
|
}
|
|
24311
24683
|
function SpinnerReadout({
|
|
@@ -24442,6 +24814,11 @@ function StopwatchReadout({
|
|
|
24442
24814
|
}
|
|
24443
24815
|
);
|
|
24444
24816
|
}
|
|
24817
|
+
var \u78BA\u4FE1\u5EA6\u306E\u5E2F\u306E\u5B57 = {
|
|
24818
|
+
low: "readout.confidence.low",
|
|
24819
|
+
mid: "readout.confidence.mid",
|
|
24820
|
+
high: "readout.confidence.high"
|
|
24821
|
+
};
|
|
24445
24822
|
function ConfidenceMeterReadout({
|
|
24446
24823
|
id,
|
|
24447
24824
|
label,
|
|
@@ -24474,7 +24851,7 @@ function ConfidenceMeterReadout({
|
|
|
24474
24851
|
Math.round(safeValue),
|
|
24475
24852
|
"%"
|
|
24476
24853
|
] }),
|
|
24477
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-confidence-meter-band", style: { color: bandColor }, children: bandLabel })
|
|
24854
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-confidence-meter-band", style: { color: bandColor }, children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: \u78BA\u4FE1\u5EA6\u306E\u5E2F\u306E\u5B57[bandLabel] }) })
|
|
24478
24855
|
] }),
|
|
24479
24856
|
/* @__PURE__ */ jsxRuntime.jsxs("svg", { className: "cdl-ip-readout-confidence-meter-svg", viewBox: `0 0 ${viewW} ${viewH}`, width: viewW, height: viewH, children: [
|
|
24480
24857
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: pad, y: pad, width: lowX - pad, height: h, fill: "rgba(239,68,68,0.2)", rx: 2 }),
|
|
@@ -24509,7 +24886,7 @@ function ReactionBarReadout({
|
|
|
24509
24886
|
}
|
|
24510
24887
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-reaction-bar", "data-cdl-readout": id, children: [
|
|
24511
24888
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
24512
|
-
reactions.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: "empty" }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "cdl-ip-readout-reaction-bar-row", children: reactions.map((r, i) => /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "cdl-ip-readout-reaction-bar-pill", style: { borderColor: color }, children: [
|
|
24889
|
+
reactions.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: "readout.empty" }) }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "cdl-ip-readout-reaction-bar-row", children: reactions.map((r, i) => /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "cdl-ip-readout-reaction-bar-pill", style: { borderColor: color }, children: [
|
|
24513
24890
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-reaction-bar-emoji", children: r.emoji }),
|
|
24514
24891
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-reaction-bar-count", style: { color }, children: r.count })
|
|
24515
24892
|
] }, i)) })
|
|
@@ -24542,7 +24919,7 @@ function PillGroupReadout({
|
|
|
24542
24919
|
}
|
|
24543
24920
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-pill-group", "data-cdl-readout": id, children: [
|
|
24544
24921
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
24545
|
-
pills.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: "empty" }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "cdl-ip-readout-pill-group-row", children: pills.map((p, i) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
24922
|
+
pills.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: "readout.empty" }) }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "cdl-ip-readout-pill-group-row", children: pills.map((p, i) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
24546
24923
|
"span",
|
|
24547
24924
|
{
|
|
24548
24925
|
className: "cdl-ip-readout-pill-group-pill",
|
|
@@ -24630,7 +25007,7 @@ function MetricsGridReadout({
|
|
|
24630
25007
|
}
|
|
24631
25008
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-metrics-grid", "data-cdl-readout": id, children: [
|
|
24632
25009
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
24633
|
-
items.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: "empty" }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "cdl-ip-readout-metrics-grid-grid", children: items.map((m, i) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-readout-metrics-grid-cell", children: [
|
|
25010
|
+
items.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: "readout.empty" }) }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "cdl-ip-readout-metrics-grid-grid", children: items.map((m, i) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-readout-metrics-grid-cell", children: [
|
|
24634
25011
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-readout-metrics-grid-value", style: { color }, children: [
|
|
24635
25012
|
m.value,
|
|
24636
25013
|
m.unit ? /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "cdl-ip-readout-metrics-grid-unit", children: [
|
|
@@ -24717,7 +25094,7 @@ function IconTileReadout({
|
|
|
24717
25094
|
}
|
|
24718
25095
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-icon-tile", "data-cdl-readout": id, children: [
|
|
24719
25096
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
24720
|
-
tiles.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: "empty" }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "cdl-ip-readout-icon-tile-row", children: tiles.map((t, i) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-readout-icon-tile-cell", children: [
|
|
25097
|
+
tiles.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: "readout.empty" }) }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "cdl-ip-readout-icon-tile-row", children: tiles.map((t, i) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-readout-icon-tile-cell", children: [
|
|
24721
25098
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "cdl-ip-readout-icon-tile-icon", style: { background: color }, children: t.icon }),
|
|
24722
25099
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-readout-icon-tile-content", children: [
|
|
24723
25100
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "cdl-ip-readout-icon-tile-value", children: t.value }),
|
|
@@ -24758,7 +25135,7 @@ function TokenListReadout({
|
|
|
24758
25135
|
}
|
|
24759
25136
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-token-list", "data-cdl-readout": id, children: [
|
|
24760
25137
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
24761
|
-
tokens.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: "empty" }) : /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "cdl-ip-readout-token-list-items", children: tokens.map((t, i) => {
|
|
25138
|
+
tokens.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: "readout.empty" }) }) : /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "cdl-ip-readout-token-list-items", children: tokens.map((t, i) => {
|
|
24762
25139
|
const isUp = t.delta >= 0;
|
|
24763
25140
|
const deltaColor = isUp ? colorUp : colorDown;
|
|
24764
25141
|
const arrow = isUp ? "\u25B2" : "\u25BC";
|
|
@@ -24812,7 +25189,7 @@ function MapPinReadout({
|
|
|
24812
25189
|
const yFor = (v) => pad + (Math.max(yMin, Math.min(yMax, v)) - yMin) / yRange * (viewH - pad * 2);
|
|
24813
25190
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-map-pin", "data-cdl-readout": id, children: [
|
|
24814
25191
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
24815
|
-
pins.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: "empty" }) : /* @__PURE__ */ jsxRuntime.jsxs("svg", { className: "cdl-ip-readout-map-pin-svg", viewBox: `0 0 ${viewW} ${viewH}`, width: viewW, height: viewH, children: [
|
|
25192
|
+
pins.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: "readout.empty" }) }) : /* @__PURE__ */ jsxRuntime.jsxs("svg", { className: "cdl-ip-readout-map-pin-svg", viewBox: `0 0 ${viewW} ${viewH}`, width: viewW, height: viewH, children: [
|
|
24816
25193
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: 0, y: 0, width: viewW, height: viewH, fill: "rgba(148,163,184,0.08)", stroke: "rgba(148,163,184,0.3)", strokeWidth: 1, rx: 4 }),
|
|
24817
25194
|
[0.25, 0.5, 0.75].map((t) => /* @__PURE__ */ jsxRuntime.jsxs("g", { children: [
|
|
24818
25195
|
/* @__PURE__ */ jsxRuntime.jsx("line", { x1: pad + (viewW - pad * 2) * t, x2: pad + (viewW - pad * 2) * t, y1: pad, y2: viewH - pad, stroke: "rgba(148,163,184,0.15)" }),
|
|
@@ -24840,9 +25217,9 @@ function PriorityBadgeReadout({
|
|
|
24840
25217
|
if (p === "high" || p === "2") level = "high";
|
|
24841
25218
|
else if (p === "low" || p === "0") level = "low";
|
|
24842
25219
|
const spec = {
|
|
24843
|
-
high: { icon: "\u25B2", color: "#ef4444", bg: "rgba(239,68,68,0.12)", text: "
|
|
24844
|
-
med: { icon: "\u25CF", color: "#eab308", bg: "rgba(234,179,8,0.12)", text: "
|
|
24845
|
-
low: { icon: "\u25BC", color: "#64748b", bg: "rgba(100,116,139,0.12)", text: "
|
|
25220
|
+
high: { icon: "\u25B2", color: "#ef4444", bg: "rgba(239,68,68,0.12)", text: "readout.priority.high" },
|
|
25221
|
+
med: { icon: "\u25CF", color: "#eab308", bg: "rgba(234,179,8,0.12)", text: "readout.priority.med" },
|
|
25222
|
+
low: { icon: "\u25BC", color: "#64748b", bg: "rgba(100,116,139,0.12)", text: "readout.priority.low" }
|
|
24846
25223
|
};
|
|
24847
25224
|
const cur = spec[level];
|
|
24848
25225
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-priority-badge", "data-cdl-readout": id, "data-cdl-priority": level, children: [
|
|
@@ -24855,7 +25232,7 @@ function PriorityBadgeReadout({
|
|
|
24855
25232
|
style: { background: cur.bg, borderColor: cur.color, color: cur.color },
|
|
24856
25233
|
children: [
|
|
24857
25234
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-priority-badge-icon", children: cur.icon }),
|
|
24858
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { children: cur.text })
|
|
25235
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: cur.text }) })
|
|
24859
25236
|
]
|
|
24860
25237
|
}
|
|
24861
25238
|
),
|
|
@@ -24894,7 +25271,7 @@ function PodiumReadout({
|
|
|
24894
25271
|
const order = [1, 0, 2];
|
|
24895
25272
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-podium", "data-cdl-readout": id, children: [
|
|
24896
25273
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
24897
|
-
podium.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: "empty" }) : /* @__PURE__ */ jsxRuntime.jsx("svg", { className: "cdl-ip-readout-podium-svg", viewBox: `0 0 ${viewW} ${viewH}`, width: viewW, height: viewH, children: order.map((rankIdx, colIdx) => {
|
|
25274
|
+
podium.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: "readout.empty" }) }) : /* @__PURE__ */ jsxRuntime.jsx("svg", { className: "cdl-ip-readout-podium-svg", viewBox: `0 0 ${viewW} ${viewH}`, width: viewW, height: viewH, children: order.map((rankIdx, colIdx) => {
|
|
24898
25275
|
const w = podium[rankIdx];
|
|
24899
25276
|
if (!w) return null;
|
|
24900
25277
|
const x = pad + colIdx * (colW + pad);
|
|
@@ -24937,7 +25314,7 @@ function PollBarReadout({
|
|
|
24937
25314
|
const maxCount = options.length ? Math.max(...options.map((o) => o.count)) : 0;
|
|
24938
25315
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-poll-bar", "data-cdl-readout": id, children: [
|
|
24939
25316
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
24940
|
-
options.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: "empty" }) : /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "cdl-ip-readout-poll-bar-list", children: options.map((o, i) => {
|
|
25317
|
+
options.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: "readout.empty" }) }) : /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "cdl-ip-readout-poll-bar-list", children: options.map((o, i) => {
|
|
24941
25318
|
const pct = Math.round(o.count / total * 100);
|
|
24942
25319
|
const isWinner = o.count === maxCount && maxCount > 0;
|
|
24943
25320
|
const fillColor = isWinner ? colorWinner : color;
|
|
@@ -24972,6 +25349,7 @@ function UserStackReadout({
|
|
|
24972
25349
|
max,
|
|
24973
25350
|
size
|
|
24974
25351
|
}) {
|
|
25352
|
+
const \u5F15\u304F = use\u5B57\u5F15();
|
|
24975
25353
|
const names = safeParseArray(value).map(String);
|
|
24976
25354
|
const shown = names.slice(0, max);
|
|
24977
25355
|
const overflow = names.length > max;
|
|
@@ -24980,7 +25358,7 @@ function UserStackReadout({
|
|
|
24980
25358
|
const initialsOf = (name) => name.split(/\s+/).filter(Boolean).slice(0, 2).map((w) => w[0]?.toUpperCase() ?? "").join("") || "?";
|
|
24981
25359
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-user-stack", "data-cdl-readout": id, children: [
|
|
24982
25360
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
24983
|
-
shown.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: "empty" }) : /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-readout-user-stack-row", children: [
|
|
25361
|
+
shown.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: "readout.empty" }) }) : /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-readout-user-stack-row", children: [
|
|
24984
25362
|
shown.map((name, i) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
24985
25363
|
"span",
|
|
24986
25364
|
{
|
|
@@ -25008,7 +25386,7 @@ function UserStackReadout({
|
|
|
25008
25386
|
fontSize: `${Math.round(size * 0.35)}px`,
|
|
25009
25387
|
marginLeft: `-${size * 0.3}px`
|
|
25010
25388
|
},
|
|
25011
|
-
title:
|
|
25389
|
+
title: \u5F15\u304F("readout.more", { n: overflowCount }),
|
|
25012
25390
|
children: [
|
|
25013
25391
|
"+",
|
|
25014
25392
|
overflowCount
|
|
@@ -25043,7 +25421,7 @@ function CommitListReadout({
|
|
|
25043
25421
|
const shown = commits.slice(0, max);
|
|
25044
25422
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-commit-list", "data-cdl-readout": id, children: [
|
|
25045
25423
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
25046
|
-
shown.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: "empty" }) : /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "cdl-ip-readout-commit-list-items", children: shown.map((c, i) => /* @__PURE__ */ jsxRuntime.jsxs("li", { className: "cdl-ip-readout-commit-list-row", children: [
|
|
25424
|
+
shown.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: "readout.empty" }) }) : /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "cdl-ip-readout-commit-list-items", children: shown.map((c, i) => /* @__PURE__ */ jsxRuntime.jsxs("li", { className: "cdl-ip-readout-commit-list-row", children: [
|
|
25047
25425
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-commit-list-sha", style: { color }, children: c.sha }),
|
|
25048
25426
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-commit-list-msg", children: c.msg }),
|
|
25049
25427
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-commit-list-author", children: c.author })
|
|
@@ -25123,7 +25501,7 @@ function EventLogReadout({
|
|
|
25123
25501
|
};
|
|
25124
25502
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-event-log", "data-cdl-readout": id, children: [
|
|
25125
25503
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
25126
|
-
shown.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: "empty" }) : /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "cdl-ip-readout-event-log-items", children: shown.map((e, i) => {
|
|
25504
|
+
shown.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: "readout.empty" }) }) : /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "cdl-ip-readout-event-log-items", children: shown.map((e, i) => {
|
|
25127
25505
|
const spec = severitySpec[e.severity] ?? severitySpec.info;
|
|
25128
25506
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
25129
25507
|
"li",
|
|
@@ -25166,7 +25544,7 @@ function SearchResultReadout({
|
|
|
25166
25544
|
const shown = hits.slice(0, max);
|
|
25167
25545
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-search-result", "data-cdl-readout": id, children: [
|
|
25168
25546
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
25169
|
-
shown.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: "empty" }) : /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "cdl-ip-readout-search-result-items", children: shown.map((h, i) => /* @__PURE__ */ jsxRuntime.jsxs("li", { className: "cdl-ip-readout-search-result-row", children: [
|
|
25547
|
+
shown.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: "readout.empty" }) }) : /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "cdl-ip-readout-search-result-items", children: shown.map((h, i) => /* @__PURE__ */ jsxRuntime.jsxs("li", { className: "cdl-ip-readout-search-result-row", children: [
|
|
25170
25548
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "cdl-ip-readout-search-result-title", style: { color }, children: h.title }),
|
|
25171
25549
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "cdl-ip-readout-search-result-snippet", children: h.snippet }),
|
|
25172
25550
|
h.url ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "cdl-ip-readout-search-result-url", children: h.url }) : null
|
|
@@ -25199,7 +25577,7 @@ function RoadmapReadout({
|
|
|
25199
25577
|
const colors = ["#2563eb", "#22c55e", "#eab308", "#a855f7"];
|
|
25200
25578
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-roadmap", "data-cdl-readout": id, style: { minWidth: `${viewW}px` }, children: [
|
|
25201
25579
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
25202
|
-
quarters.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: "empty" }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "cdl-ip-readout-roadmap-row", style: { minHeight: `${viewH}px` }, children: quarters.map((q, i) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-readout-roadmap-column", children: [
|
|
25580
|
+
quarters.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: "readout.empty" }) }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "cdl-ip-readout-roadmap-row", style: { minHeight: `${viewH}px` }, children: quarters.map((q, i) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-readout-roadmap-column", children: [
|
|
25203
25581
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "cdl-ip-readout-roadmap-header", style: { background: colors[i % colors.length] }, children: q.quarter }),
|
|
25204
25582
|
/* @__PURE__ */ jsxRuntime.jsx("ul", { className: "cdl-ip-readout-roadmap-items", children: q.items.map((it, j) => /* @__PURE__ */ jsxRuntime.jsx("li", { className: "cdl-ip-readout-roadmap-item", children: it }, j)) })
|
|
25205
25583
|
] }, i)) })
|
|
@@ -25231,7 +25609,7 @@ function WeatherForecastReadout({
|
|
|
25231
25609
|
}
|
|
25232
25610
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-weather-forecast", "data-cdl-readout": id, children: [
|
|
25233
25611
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
25234
|
-
days.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: "empty" }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "cdl-ip-readout-weather-forecast-row", children: days.map((d, i) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-readout-weather-forecast-day", children: [
|
|
25612
|
+
days.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: "readout.empty" }) }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "cdl-ip-readout-weather-forecast-row", children: days.map((d, i) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-readout-weather-forecast-day", children: [
|
|
25235
25613
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "cdl-ip-readout-weather-forecast-name", children: d.day }),
|
|
25236
25614
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "cdl-ip-readout-weather-forecast-icon", children: d.icon }),
|
|
25237
25615
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-readout-weather-forecast-high", children: [
|
|
@@ -25275,17 +25653,14 @@ function VideoCardReadout({
|
|
|
25275
25653
|
const shown = videos.slice(0, max);
|
|
25276
25654
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-video-card", "data-cdl-readout": id, children: [
|
|
25277
25655
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
25278
|
-
shown.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: "empty" }) : /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "cdl-ip-readout-video-card-list", children: shown.map((v, i) => /* @__PURE__ */ jsxRuntime.jsxs("li", { className: "cdl-ip-readout-video-card-row", children: [
|
|
25656
|
+
shown.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: "readout.empty" }) }) : /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "cdl-ip-readout-video-card-list", children: shown.map((v, i) => /* @__PURE__ */ jsxRuntime.jsxs("li", { className: "cdl-ip-readout-video-card-row", children: [
|
|
25279
25657
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-readout-video-card-thumb", style: { background: color }, children: [
|
|
25280
25658
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-video-card-thumb-icon", children: v.emoji }),
|
|
25281
25659
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-video-card-duration", children: v.duration })
|
|
25282
25660
|
] }),
|
|
25283
25661
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-readout-video-card-info", children: [
|
|
25284
25662
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "cdl-ip-readout-video-card-title", children: v.title }),
|
|
25285
|
-
/* @__PURE__ */ jsxRuntime.
|
|
25286
|
-
v.views,
|
|
25287
|
-
" views"
|
|
25288
|
-
] })
|
|
25663
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "cdl-ip-readout-video-card-views", children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: "readout.videoCard.views", v: { v: v.views } }) })
|
|
25289
25664
|
] })
|
|
25290
25665
|
] }, i)) })
|
|
25291
25666
|
] });
|
|
@@ -25302,7 +25677,7 @@ function OrderStatusReadout({
|
|
|
25302
25677
|
const safeCurrent = Number.isFinite(current) ? Math.max(0, Math.min(stepArr.length - 1, Math.round(current))) : 0;
|
|
25303
25678
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-order-status", "data-cdl-readout": id, "data-cdl-step": safeCurrent, children: [
|
|
25304
25679
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
25305
|
-
stepArr.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: "empty" }) : /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "cdl-ip-readout-order-status-list", children: stepArr.map((s, i) => {
|
|
25680
|
+
stepArr.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: "readout.empty" }) }) : /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "cdl-ip-readout-order-status-list", children: stepArr.map((s, i) => {
|
|
25306
25681
|
const isDone = i < safeCurrent;
|
|
25307
25682
|
const isCurrent = i === safeCurrent;
|
|
25308
25683
|
const isPending = i > safeCurrent;
|
|
@@ -25352,9 +25727,9 @@ function AttendanceGridReadout({
|
|
|
25352
25727
|
const memberArr = safeParseArray(members).map(String);
|
|
25353
25728
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-attendance-grid", "data-cdl-readout": id, children: [
|
|
25354
25729
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
25355
|
-
rows.length === 0 || memberArr.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: "empty" }) : /* @__PURE__ */ jsxRuntime.jsxs("table", { className: "cdl-ip-readout-attendance-grid-table", children: [
|
|
25730
|
+
rows.length === 0 || memberArr.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: "readout.empty" }) }) : /* @__PURE__ */ jsxRuntime.jsxs("table", { className: "cdl-ip-readout-attendance-grid-table", children: [
|
|
25356
25731
|
/* @__PURE__ */ jsxRuntime.jsx("thead", { children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { children: [
|
|
25357
|
-
/* @__PURE__ */ jsxRuntime.jsx("th", { className: "cdl-ip-readout-attendance-grid-corner", children: "
|
|
25732
|
+
/* @__PURE__ */ jsxRuntime.jsx("th", { className: "cdl-ip-readout-attendance-grid-corner", children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: "readout.attendance.corner" }) }),
|
|
25358
25733
|
memberArr.map((m, i) => /* @__PURE__ */ jsxRuntime.jsx("th", { className: "cdl-ip-readout-attendance-grid-member", children: m }, i))
|
|
25359
25734
|
] }) }),
|
|
25360
25735
|
/* @__PURE__ */ jsxRuntime.jsx("tbody", { children: rows.map((r, i) => /* @__PURE__ */ jsxRuntime.jsxs("tr", { children: [
|
|
@@ -25408,7 +25783,7 @@ function TimezoneClockReadout({
|
|
|
25408
25783
|
}
|
|
25409
25784
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-timezone-clock", "data-cdl-readout": id, children: [
|
|
25410
25785
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
25411
|
-
clocks.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: "empty" }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "cdl-ip-readout-timezone-clock-row", children: clocks.map((c, i) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-readout-timezone-clock-cell", children: [
|
|
25786
|
+
clocks.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: "readout.empty" }) }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "cdl-ip-readout-timezone-clock-row", children: clocks.map((c, i) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-readout-timezone-clock-cell", children: [
|
|
25412
25787
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "cdl-ip-readout-timezone-clock-city", children: c.city }),
|
|
25413
25788
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "cdl-ip-readout-timezone-clock-time", style: { color }, children: c.time }),
|
|
25414
25789
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-readout-timezone-clock-offset", children: [
|
|
@@ -25442,7 +25817,7 @@ function FormSummaryReadout({
|
|
|
25442
25817
|
}
|
|
25443
25818
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-form-summary", "data-cdl-readout": id, children: [
|
|
25444
25819
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
25445
|
-
fields.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: "empty" }) : /* @__PURE__ */ jsxRuntime.jsx("dl", { className: "cdl-ip-readout-form-summary-list", children: fields.map((f, i) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-readout-form-summary-row", children: [
|
|
25820
|
+
fields.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: "readout.empty" }) }) : /* @__PURE__ */ jsxRuntime.jsx("dl", { className: "cdl-ip-readout-form-summary-list", children: fields.map((f, i) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-readout-form-summary-row", children: [
|
|
25446
25821
|
/* @__PURE__ */ jsxRuntime.jsx("dt", { className: "cdl-ip-readout-form-summary-key", children: f.name }),
|
|
25447
25822
|
/* @__PURE__ */ jsxRuntime.jsx("dd", { className: "cdl-ip-readout-form-summary-value", style: { color }, children: f.value })
|
|
25448
25823
|
] }, i)) })
|
|
@@ -25475,7 +25850,7 @@ function SongQueueReadout({
|
|
|
25475
25850
|
const safeCurrent = Number.isFinite(current) ? Math.round(current) : -1;
|
|
25476
25851
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-song-queue", "data-cdl-readout": id, "data-cdl-current": safeCurrent, children: [
|
|
25477
25852
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
25478
|
-
shown.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: "empty" }) : /* @__PURE__ */ jsxRuntime.jsx("ol", { className: "cdl-ip-readout-song-queue-list", children: shown.map((s, i) => {
|
|
25853
|
+
shown.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: "readout.empty" }) }) : /* @__PURE__ */ jsxRuntime.jsx("ol", { className: "cdl-ip-readout-song-queue-list", children: shown.map((s, i) => {
|
|
25479
25854
|
const isCurrent = i === safeCurrent;
|
|
25480
25855
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
25481
25856
|
"li",
|
|
@@ -25520,12 +25895,20 @@ function CalendarMonthReadout({
|
|
|
25520
25895
|
} catch {
|
|
25521
25896
|
}
|
|
25522
25897
|
}
|
|
25523
|
-
const weekDays = [
|
|
25898
|
+
const weekDays = [
|
|
25899
|
+
"readout.weekday.0",
|
|
25900
|
+
"readout.weekday.1",
|
|
25901
|
+
"readout.weekday.2",
|
|
25902
|
+
"readout.weekday.3",
|
|
25903
|
+
"readout.weekday.4",
|
|
25904
|
+
"readout.weekday.5",
|
|
25905
|
+
"readout.weekday.6"
|
|
25906
|
+
];
|
|
25524
25907
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-calendar-month", "data-cdl-readout": id, children: [
|
|
25525
25908
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
25526
|
-
days.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: "empty" }) : /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-readout-calendar-month-widget", children: [
|
|
25909
|
+
days.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: "readout.empty" }) }) : /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-readout-calendar-month-widget", children: [
|
|
25527
25910
|
monthName ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "cdl-ip-readout-calendar-month-header", children: monthName }) : null,
|
|
25528
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "cdl-ip-readout-calendar-month-weekdays", children: weekDays.map((w) => /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-calendar-month-weekday", children: w }, w)) }),
|
|
25911
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "cdl-ip-readout-calendar-month-weekdays", children: weekDays.map((w) => /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-calendar-month-weekday", children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: w }) }, w)) }),
|
|
25529
25912
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "cdl-ip-readout-calendar-month-grid", children: days.map((d, i) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
25530
25913
|
"div",
|
|
25531
25914
|
{
|
|
@@ -25568,7 +25951,7 @@ function TerminalReadout({
|
|
|
25568
25951
|
const shown = lines.slice(0, max);
|
|
25569
25952
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-terminal", "data-cdl-readout": id, children: [
|
|
25570
25953
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
25571
|
-
shown.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: "empty" }) : /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-readout-terminal-window", children: [
|
|
25954
|
+
shown.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: "readout.empty" }) }) : /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-readout-terminal-window", children: [
|
|
25572
25955
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-readout-terminal-titlebar", children: [
|
|
25573
25956
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-terminal-dot", style: { background: "#ef4444" } }),
|
|
25574
25957
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-terminal-dot", style: { background: "#eab308" } }),
|
|
@@ -25667,10 +26050,11 @@ function KanbanBoardReadout({
|
|
|
25667
26050
|
columnWidth,
|
|
25668
26051
|
max
|
|
25669
26052
|
}) {
|
|
26053
|
+
const \u5F15\u304F = use\u5B57\u5F15();
|
|
25670
26054
|
const buckets = {
|
|
25671
|
-
todo: { key: "todo", label: "
|
|
25672
|
-
inprogress: { key: "inprogress", label: "
|
|
25673
|
-
done: { key: "done", label: "
|
|
26055
|
+
todo: { key: "todo", label: \u5F15\u304F("readout.kanban.todo"), color: "#94a3b8", tasks: [] },
|
|
26056
|
+
inprogress: { key: "inprogress", label: \u5F15\u304F("readout.kanban.inprogress"), color: "#2563eb", tasks: [] },
|
|
26057
|
+
done: { key: "done", label: \u5F15\u304F("readout.kanban.done"), color: "#22c55e", tasks: [] }
|
|
25674
26058
|
};
|
|
25675
26059
|
const trimmed = value.trim();
|
|
25676
26060
|
if (trimmed.startsWith("[") && trimmed.endsWith("]")) {
|
|
@@ -25787,7 +26171,7 @@ function KanbanBoardReadout({
|
|
|
25787
26171
|
)
|
|
25788
26172
|
] }, ti);
|
|
25789
26173
|
}),
|
|
25790
|
-
overflow > 0 ? /* @__PURE__ */ jsxRuntime.
|
|
26174
|
+
overflow > 0 ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
25791
26175
|
"text",
|
|
25792
26176
|
{
|
|
25793
26177
|
x: x + columnWidth / 2,
|
|
@@ -25796,11 +26180,7 @@ function KanbanBoardReadout({
|
|
|
25796
26180
|
textAnchor: "middle",
|
|
25797
26181
|
fill: "#64748b",
|
|
25798
26182
|
style: { userSelect: "none" },
|
|
25799
|
-
children:
|
|
25800
|
-
"+",
|
|
25801
|
-
overflow,
|
|
25802
|
-
" more"
|
|
25803
|
-
]
|
|
26183
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: "readout.more", v: { n: overflow } })
|
|
25804
26184
|
}
|
|
25805
26185
|
) : null
|
|
25806
26186
|
] }, k);
|
|
@@ -26357,7 +26737,7 @@ function UserPresenceReadout({
|
|
|
26357
26737
|
)
|
|
26358
26738
|
] }, i);
|
|
26359
26739
|
}),
|
|
26360
|
-
overflow > 0 ? /* @__PURE__ */ jsxRuntime.
|
|
26740
|
+
overflow > 0 ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
26361
26741
|
"text",
|
|
26362
26742
|
{
|
|
26363
26743
|
x: width / 2,
|
|
@@ -26366,11 +26746,7 @@ function UserPresenceReadout({
|
|
|
26366
26746
|
textAnchor: "middle",
|
|
26367
26747
|
fill: "#64748b",
|
|
26368
26748
|
style: { userSelect: "none" },
|
|
26369
|
-
children:
|
|
26370
|
-
"+",
|
|
26371
|
-
overflow,
|
|
26372
|
-
" more"
|
|
26373
|
-
]
|
|
26749
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: "readout.more", v: { n: overflow } })
|
|
26374
26750
|
}
|
|
26375
26751
|
) : null
|
|
26376
26752
|
]
|
|
@@ -26421,12 +26797,7 @@ function RatingThumbReadout({
|
|
|
26421
26797
|
"\u25B2 ",
|
|
26422
26798
|
upCount
|
|
26423
26799
|
] }),
|
|
26424
|
-
/* @__PURE__ */ jsxRuntime.
|
|
26425
|
-
upPct,
|
|
26426
|
-
"% up \xB7 ",
|
|
26427
|
-
total,
|
|
26428
|
-
" votes"
|
|
26429
|
-
] }),
|
|
26800
|
+
/* @__PURE__ */ jsxRuntime.jsx("text", { x: width / 2, y: 20, fontSize: 11, textAnchor: "middle", fill: "#64748b", style: { userSelect: "none" }, children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: "readout.ratingThumb.summary", v: { pct: upPct, total } }) }),
|
|
26430
26801
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
26431
26802
|
"text",
|
|
26432
26803
|
{
|
|
@@ -26601,11 +26972,7 @@ function KpiTrendTileReadout({
|
|
|
26601
26972
|
deltaPct.toFixed(1),
|
|
26602
26973
|
"%)"
|
|
26603
26974
|
] }),
|
|
26604
|
-
/* @__PURE__ */ jsxRuntime.
|
|
26605
|
-
"prev ",
|
|
26606
|
-
prev,
|
|
26607
|
-
unit
|
|
26608
|
-
] }),
|
|
26975
|
+
/* @__PURE__ */ jsxRuntime.jsx("text", { x: 12, y: 78, fontSize: 10, fill: "#64748b", style: { userSelect: "none" }, children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: "readout.kpiTrend.prev", v: { v: `${prev}${unit}` } }) }),
|
|
26609
26976
|
history.length > 1 ? /* @__PURE__ */ jsxRuntime.jsx("polyline", { points, fill: "none", stroke: arrowColor, strokeWidth: 2 }) : null
|
|
26610
26977
|
]
|
|
26611
26978
|
}
|
|
@@ -26693,7 +27060,7 @@ function QuickPollEmojiReadout({
|
|
|
26693
27060
|
)
|
|
26694
27061
|
] }, i);
|
|
26695
27062
|
}),
|
|
26696
|
-
/* @__PURE__ */ jsxRuntime.
|
|
27063
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
26697
27064
|
"text",
|
|
26698
27065
|
{
|
|
26699
27066
|
x: width - 8,
|
|
@@ -26702,10 +27069,7 @@ function QuickPollEmojiReadout({
|
|
|
26702
27069
|
textAnchor: "end",
|
|
26703
27070
|
fill: "#64748b",
|
|
26704
27071
|
style: { userSelect: "none" },
|
|
26705
|
-
children:
|
|
26706
|
-
"total ",
|
|
26707
|
-
total
|
|
26708
|
-
]
|
|
27072
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: "readout.poll.total", v: { n: total } })
|
|
26709
27073
|
}
|
|
26710
27074
|
)
|
|
26711
27075
|
]
|
|
@@ -26840,14 +27204,8 @@ function ThreadSummaryReadout({
|
|
|
26840
27204
|
height,
|
|
26841
27205
|
children: [
|
|
26842
27206
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: 0, y: 0, width, height, fill: "#f8fafc", rx: 6 }),
|
|
26843
|
-
/* @__PURE__ */ jsxRuntime.
|
|
26844
|
-
|
|
26845
|
-
" participants"
|
|
26846
|
-
] }),
|
|
26847
|
-
/* @__PURE__ */ jsxRuntime.jsxs("text", { x: 12, y: 42, fontSize: 11, fill: "#334155", style: { userSelect: "none" }, children: [
|
|
26848
|
-
"last: ",
|
|
26849
|
-
lastAuthor
|
|
26850
|
-
] }),
|
|
27207
|
+
/* @__PURE__ */ jsxRuntime.jsx("text", { x: 12, y: 22, fontSize: 12, fontWeight: 600, fill: "#0f172a", style: { userSelect: "none" }, children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: "readout.thread.participants", v: { n: participants } }) }),
|
|
27208
|
+
/* @__PURE__ */ jsxRuntime.jsx("text", { x: 12, y: 42, fontSize: 11, fill: "#334155", style: { userSelect: "none" }, children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: "readout.thread.last", v: { name: lastAuthor } }) }),
|
|
26851
27209
|
/* @__PURE__ */ jsxRuntime.jsx("text", { x: 12, y: 60, fontSize: 10, fill: "#64748b", style: { userSelect: "none" }, children: timeAgo }),
|
|
26852
27210
|
unread > 0 ? /* @__PURE__ */ jsxRuntime.jsxs("g", { "data-cdl-thread-unread": "1", children: [
|
|
26853
27211
|
/* @__PURE__ */ jsxRuntime.jsx("circle", { cx: width - 24, cy: 26, r: 14, fill: colorUnread }),
|
|
@@ -26878,7 +27236,7 @@ function ReadReceiptReadout({
|
|
|
26878
27236
|
colorPending
|
|
26879
27237
|
}) {
|
|
26880
27238
|
const status = Number.isFinite(value) ? Math.max(0, Math.min(2, Math.floor(value))) : 0;
|
|
26881
|
-
const
|
|
27239
|
+
const labelKey = status === 0 ? "readout.readReceipt.sent" : status === 1 ? "readout.readReceipt.delivered" : "readout.readReceipt.read";
|
|
26882
27240
|
const iconColor = status === 2 ? colorRead : colorPending;
|
|
26883
27241
|
const width = 180;
|
|
26884
27242
|
const height = 32;
|
|
@@ -26913,7 +27271,7 @@ function ReadReceiptReadout({
|
|
|
26913
27271
|
}
|
|
26914
27272
|
) : null
|
|
26915
27273
|
] }),
|
|
26916
|
-
/* @__PURE__ */ jsxRuntime.jsx("text", { x: 52, y: height / 2 + 4, fontSize: 11, fontWeight: 600, fill: iconColor, style: { userSelect: "none" }, children:
|
|
27274
|
+
/* @__PURE__ */ jsxRuntime.jsx("text", { x: 52, y: height / 2 + 4, fontSize: 11, fontWeight: 600, fill: iconColor, style: { userSelect: "none" }, children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: labelKey }) })
|
|
26917
27275
|
]
|
|
26918
27276
|
}
|
|
26919
27277
|
)
|
|
@@ -26927,7 +27285,7 @@ function PasswordStrengthReadout({
|
|
|
26927
27285
|
colorWeak
|
|
26928
27286
|
}) {
|
|
26929
27287
|
const level = Number.isFinite(value) ? Math.max(0, Math.min(4, Math.floor(value))) : 0;
|
|
26930
|
-
const labels = ["
|
|
27288
|
+
const labels = ["readout.password.0", "readout.password.1", "readout.password.2", "readout.password.3", "readout.password.4"];
|
|
26931
27289
|
const colors = [colorWeak, "#f97316", "#eab308", "#84cc16", colorStrong];
|
|
26932
27290
|
const barW = 46;
|
|
26933
27291
|
const gap = 6;
|
|
@@ -26971,7 +27329,7 @@ function PasswordStrengthReadout({
|
|
|
26971
27329
|
textAnchor: "end",
|
|
26972
27330
|
fill: level > 0 ? colors[level] ?? colorStrong : "#94a3b8",
|
|
26973
27331
|
style: { userSelect: "none" },
|
|
26974
|
-
children: labels[level]
|
|
27332
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: labels[level] })
|
|
26975
27333
|
}
|
|
26976
27334
|
)
|
|
26977
27335
|
]
|
|
@@ -27106,7 +27464,7 @@ function FileDropzoneReadout({
|
|
|
27106
27464
|
/* @__PURE__ */ jsxRuntime.jsx("title", { children: filename }),
|
|
27107
27465
|
filename.length > 26 ? `${filename.slice(0, 25)}\u2026` : filename
|
|
27108
27466
|
] }),
|
|
27109
|
-
/* @__PURE__ */ jsxRuntime.jsx("text", { x: 54, y: 50, fontSize: 10, fill: "#64748b", style: { userSelect: "none" }, children: "uploaded" })
|
|
27467
|
+
/* @__PURE__ */ jsxRuntime.jsx("text", { x: 54, y: 50, fontSize: 10, fill: "#64748b", style: { userSelect: "none" }, children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: "readout.dropzone.uploaded" }) })
|
|
27110
27468
|
] }) : /* @__PURE__ */ jsxRuntime.jsxs("g", { "data-cdl-dropzone-empty": "1", children: [
|
|
27111
27469
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
27112
27470
|
"text",
|
|
@@ -27118,7 +27476,7 @@ function FileDropzoneReadout({
|
|
|
27118
27476
|
textAnchor: "middle",
|
|
27119
27477
|
fill: "#64748b",
|
|
27120
27478
|
style: { userSelect: "none" },
|
|
27121
|
-
children:
|
|
27479
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: "readout.dropzone.drop" })
|
|
27122
27480
|
}
|
|
27123
27481
|
),
|
|
27124
27482
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -27130,7 +27488,7 @@ function FileDropzoneReadout({
|
|
|
27130
27488
|
textAnchor: "middle",
|
|
27131
27489
|
fill: "#94a3b8",
|
|
27132
27490
|
style: { userSelect: "none" },
|
|
27133
|
-
children:
|
|
27491
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: "readout.dropzone.browse" })
|
|
27134
27492
|
}
|
|
27135
27493
|
)
|
|
27136
27494
|
] })
|
|
@@ -27165,7 +27523,7 @@ function LogStreamReadout({
|
|
|
27165
27523
|
}
|
|
27166
27524
|
}
|
|
27167
27525
|
const shown = rows.slice(-5);
|
|
27168
|
-
const levelLabels = ["
|
|
27526
|
+
const levelLabels = ["readout.log.0", "readout.log.1", "readout.log.2", "readout.log.3"];
|
|
27169
27527
|
const levelColors = ["#94a3b8", "#2563eb", "#f97316", "#ef4444"];
|
|
27170
27528
|
const width = 300;
|
|
27171
27529
|
const rowH = 18;
|
|
@@ -27198,7 +27556,7 @@ function LogStreamReadout({
|
|
|
27198
27556
|
fill: "#ffffff",
|
|
27199
27557
|
fontFamily: "monospace",
|
|
27200
27558
|
style: { userSelect: "none" },
|
|
27201
|
-
children: levelLabels[r.level] ?? "
|
|
27559
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: levelLabels[r.level] ?? "readout.log.1" })
|
|
27202
27560
|
}
|
|
27203
27561
|
),
|
|
27204
27562
|
/* @__PURE__ */ jsxRuntime.jsxs("text", { x: 94, y: y + 12, fontSize: 10, fill: "#e2e8f0", fontFamily: "monospace", style: { userSelect: "none" }, children: [
|
|
@@ -27392,10 +27750,10 @@ function CartSummaryReadout({
|
|
|
27392
27750
|
if (!Number.isFinite(shipping)) shipping = 0;
|
|
27393
27751
|
if (!Number.isFinite(total)) total = 0;
|
|
27394
27752
|
const rows = [
|
|
27395
|
-
{ l: "
|
|
27396
|
-
{ l: "
|
|
27397
|
-
{ l: "
|
|
27398
|
-
{ l: "
|
|
27753
|
+
{ l: "readout.cart.items", v: `${items}`, bold: false },
|
|
27754
|
+
{ l: "readout.cart.subtotal", v: `${currency}${subtotal.toFixed(2)}`, bold: false },
|
|
27755
|
+
{ l: "readout.cart.shipping", v: `${currency}${shipping.toFixed(2)}`, bold: false },
|
|
27756
|
+
{ l: "readout.cart.total", v: `${currency}${total.toFixed(2)}`, bold: true }
|
|
27399
27757
|
];
|
|
27400
27758
|
const width = 260;
|
|
27401
27759
|
const rowH = 20;
|
|
@@ -27425,7 +27783,7 @@ function CartSummaryReadout({
|
|
|
27425
27783
|
fontWeight: isTotal ? 700 : 500,
|
|
27426
27784
|
fill: isTotal ? colorTotal : "#334155",
|
|
27427
27785
|
style: { userSelect: "none" },
|
|
27428
|
-
children: r.l
|
|
27786
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: r.l })
|
|
27429
27787
|
}
|
|
27430
27788
|
),
|
|
27431
27789
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -27473,6 +27831,8 @@ function PricingTierReadout({
|
|
|
27473
27831
|
}
|
|
27474
27832
|
}
|
|
27475
27833
|
if (!Number.isFinite(price)) price = 0;
|
|
27834
|
+
const \u5F15\u304F = use\u5B57\u5F15();
|
|
27835
|
+
const \u898B\u305B\u308B\u540D\u524D = planName || \u5F15\u304F("readout.pricing.plan");
|
|
27476
27836
|
const width = 240;
|
|
27477
27837
|
const height = 176;
|
|
27478
27838
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-pricing-tier", "data-cdl-readout": id, children: [
|
|
@@ -27497,7 +27857,7 @@ function PricingTierReadout({
|
|
|
27497
27857
|
textAnchor: "middle",
|
|
27498
27858
|
fill: "#ffffff",
|
|
27499
27859
|
style: { userSelect: "none" },
|
|
27500
|
-
children:
|
|
27860
|
+
children: \u898B\u305B\u308B\u540D\u524D
|
|
27501
27861
|
}
|
|
27502
27862
|
),
|
|
27503
27863
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -27525,7 +27885,7 @@ function PricingTierReadout({
|
|
|
27525
27885
|
textAnchor: "middle",
|
|
27526
27886
|
fill: "#64748b",
|
|
27527
27887
|
style: { userSelect: "none" },
|
|
27528
|
-
children: "
|
|
27888
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: "readout.pricing.perMonth" })
|
|
27529
27889
|
}
|
|
27530
27890
|
),
|
|
27531
27891
|
features.slice(0, 3).map((f, i) => {
|
|
@@ -27540,7 +27900,7 @@ function PricingTierReadout({
|
|
|
27540
27900
|
] }, i);
|
|
27541
27901
|
}),
|
|
27542
27902
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: 16, y: 150, width: width - 32, height: 20, fill: colorAccent, rx: 4 }),
|
|
27543
|
-
/* @__PURE__ */ jsxRuntime.
|
|
27903
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
27544
27904
|
"text",
|
|
27545
27905
|
{
|
|
27546
27906
|
x: width / 2,
|
|
@@ -27550,10 +27910,7 @@ function PricingTierReadout({
|
|
|
27550
27910
|
textAnchor: "middle",
|
|
27551
27911
|
fill: "#ffffff",
|
|
27552
27912
|
style: { userSelect: "none" },
|
|
27553
|
-
children:
|
|
27554
|
-
"Get ",
|
|
27555
|
-
planName || "Plan"
|
|
27556
|
-
]
|
|
27913
|
+
children: \u5F15\u304F("readout.pricing.get", { name: \u898B\u305B\u308B\u540D\u524D })
|
|
27557
27914
|
}
|
|
27558
27915
|
)
|
|
27559
27916
|
]
|
|
@@ -27619,12 +27976,12 @@ function CouponCodeReadout({
|
|
|
27619
27976
|
fill: applied ? colorApplied : "#94a3b8",
|
|
27620
27977
|
fontFamily: "monospace",
|
|
27621
27978
|
style: { userSelect: "none" },
|
|
27622
|
-
children: code || "
|
|
27979
|
+
children: code || /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: "readout.coupon.placeholder" })
|
|
27623
27980
|
}
|
|
27624
27981
|
),
|
|
27625
27982
|
applied ? /* @__PURE__ */ jsxRuntime.jsxs("g", { "data-cdl-coupon-applied": "1", children: [
|
|
27626
27983
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: boxW + 12, y: 10, width: 90, height: height - 20, fill: colorApplied, rx: 4 }),
|
|
27627
|
-
/* @__PURE__ */ jsxRuntime.
|
|
27984
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
27628
27985
|
"text",
|
|
27629
27986
|
{
|
|
27630
27987
|
x: boxW + 57,
|
|
@@ -27634,11 +27991,7 @@ function CouponCodeReadout({
|
|
|
27634
27991
|
textAnchor: "middle",
|
|
27635
27992
|
fill: "#ffffff",
|
|
27636
27993
|
style: { userSelect: "none" },
|
|
27637
|
-
children:
|
|
27638
|
-
"-",
|
|
27639
|
-
discountPct,
|
|
27640
|
-
"% off"
|
|
27641
|
-
]
|
|
27994
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: "readout.coupon.off", v: { pct: discountPct } })
|
|
27642
27995
|
}
|
|
27643
27996
|
)
|
|
27644
27997
|
] }) : /* @__PURE__ */ jsxRuntime.jsxs("g", { "data-cdl-coupon-empty": "1", children: [
|
|
@@ -27653,7 +28006,7 @@ function CouponCodeReadout({
|
|
|
27653
28006
|
textAnchor: "middle",
|
|
27654
28007
|
fill: "#ffffff",
|
|
27655
28008
|
style: { userSelect: "none" },
|
|
27656
|
-
children: "
|
|
28009
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: "readout.coupon.apply" })
|
|
27657
28010
|
}
|
|
27658
28011
|
)
|
|
27659
28012
|
] })
|
|
@@ -27733,10 +28086,7 @@ function ArticlePreviewReadout({
|
|
|
27733
28086
|
excerpt.length > 28 ? `${excerpt.slice(0, 27)}\u2026` : excerpt
|
|
27734
28087
|
] }),
|
|
27735
28088
|
/* @__PURE__ */ jsxRuntime.jsx("text", { x: thumbW + 20, y: 60, fontSize: 10, fill: "#334155", style: { userSelect: "none" }, children: excerpt.length > 56 ? `${excerpt.slice(28, 55)}\u2026` : excerpt.slice(28, 56) }),
|
|
27736
|
-
/* @__PURE__ */ jsxRuntime.
|
|
27737
|
-
"by ",
|
|
27738
|
-
author
|
|
27739
|
-
] }),
|
|
28089
|
+
/* @__PURE__ */ jsxRuntime.jsx("text", { x: thumbW + 20, y: height - 14, fontSize: 10, fontWeight: 600, fill: "#64748b", style: { userSelect: "none" }, children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: "readout.article.by", v: { author } }) }),
|
|
27740
28090
|
/* @__PURE__ */ jsxRuntime.jsx("text", { x: width - 8, y: height - 14, fontSize: 10, textAnchor: "end", fill: "#94a3b8", style: { userSelect: "none" }, children: timeAgo })
|
|
27741
28091
|
]
|
|
27742
28092
|
}
|