@cardenelabs/cdl 0.58.0 → 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 +24 -1
- package/dist/index.cjs +381 -178
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +382 -179
- package/dist/index.js.map +1 -1
- package/dist/react.cjs +381 -178
- package/dist/react.cjs.map +1 -1
- package/dist/react.js +382 -179
- package/dist/react.js.map +1 -1
- package/package.json +1 -1
- package/src/lang.ts +224 -0
- package/src/render/interactive-panel.tsx +183 -111
package/dist/index.cjs
CHANGED
|
@@ -425,7 +425,147 @@ var en = {
|
|
|
425
425
|
/** `shape-api-gateway` の 2 行目の宛先 */
|
|
426
426
|
"apiGateway.orders": "/orders",
|
|
427
427
|
/** `shape-api-gateway` の 3 行目の宛先 */
|
|
428
|
-
"apiGateway.session": "/session"
|
|
428
|
+
"apiGateway.session": "/session",
|
|
429
|
+
// 読み出し (`readout.*`) と入力欄の固定の字 (#849)。
|
|
430
|
+
// `{名前}` は描く時に値を差し込む位置 (`字を差し込む`)。 語順が言語で変わるので、位置ごと辞書に持つ
|
|
431
|
+
/** 配列を描く読み出しで、値が空の時の字 */
|
|
432
|
+
"readout.empty": "empty",
|
|
433
|
+
/** `sparkline` で点がまだ無い時の字 */
|
|
434
|
+
"readout.sparkline.waiting": "waiting",
|
|
435
|
+
/** 時の流れの入力欄の速さ */
|
|
436
|
+
"input.timeline.speed": "{speed}x",
|
|
437
|
+
/** 時の流れの入力欄の経過と長さ (秒) */
|
|
438
|
+
"input.timeline.time": "{t}s / {d}s",
|
|
439
|
+
/** `sequence-timeline` の点の見出し */
|
|
440
|
+
"readout.sequenceTimeline.title": "{name}: t={t}",
|
|
441
|
+
/** `bubble-chart` の泡の見出し */
|
|
442
|
+
"readout.bubbleChart.title": "({x}, {y}) r={r}",
|
|
443
|
+
/** `calendar-heatmap` の升目の見出し (`i` は 0 から) */
|
|
444
|
+
"readout.calendarHeatmap.title": "day {i}: {v}",
|
|
445
|
+
/** `candlestick` の足の見出し (始値 / 高値 / 安値 / 終値) */
|
|
446
|
+
"readout.candlestick.title": "O:{o} H:{h} L:{l} C:{c}",
|
|
447
|
+
/** `slope` の左の目盛 */
|
|
448
|
+
"readout.slope.before": "before",
|
|
449
|
+
/** `slope` の右の目盛 */
|
|
450
|
+
"readout.slope.after": "after",
|
|
451
|
+
/** `bullet-chart` の実績の見出し */
|
|
452
|
+
"readout.bulletChart.actual": "actual: {v}",
|
|
453
|
+
/** `bullet-chart` の目標の見出し */
|
|
454
|
+
"readout.bulletChart.target": "target: {v}",
|
|
455
|
+
/** `rating` の塗った星の見出し */
|
|
456
|
+
"readout.rating.full": "full",
|
|
457
|
+
/** `rating` の半分塗った星の見出し */
|
|
458
|
+
"readout.rating.half": "half",
|
|
459
|
+
/** `rating` の塗っていない星の見出し */
|
|
460
|
+
"readout.rating.empty": "empty",
|
|
461
|
+
/** `price-tag` の割引額 */
|
|
462
|
+
"readout.priceTag.save": "You save {amount}",
|
|
463
|
+
/** `confidence-meter` の低い帯の名前 */
|
|
464
|
+
"readout.confidence.low": "low",
|
|
465
|
+
/** `confidence-meter` の中ほどの帯の名前 */
|
|
466
|
+
"readout.confidence.mid": "mid",
|
|
467
|
+
/** `confidence-meter` の高い帯の名前 */
|
|
468
|
+
"readout.confidence.high": "high",
|
|
469
|
+
/** 並べきれなかった件数 (`user-stack` / `kanban-board` / `user-presence`) */
|
|
470
|
+
"readout.more": "+{n} more",
|
|
471
|
+
/** `video-card` の再生数 */
|
|
472
|
+
"readout.videoCard.views": "{v} views",
|
|
473
|
+
/** `attendance-grid` の角の見出し */
|
|
474
|
+
"readout.attendance.corner": "day",
|
|
475
|
+
/** `calendar-month` の曜日 (日曜) */
|
|
476
|
+
"readout.weekday.0": "Sun",
|
|
477
|
+
/** `calendar-month` の曜日 (月曜) */
|
|
478
|
+
"readout.weekday.1": "Mon",
|
|
479
|
+
/** `calendar-month` の曜日 (火曜) */
|
|
480
|
+
"readout.weekday.2": "Tue",
|
|
481
|
+
/** `calendar-month` の曜日 (水曜) */
|
|
482
|
+
"readout.weekday.3": "Wed",
|
|
483
|
+
/** `calendar-month` の曜日 (木曜) */
|
|
484
|
+
"readout.weekday.4": "Thu",
|
|
485
|
+
/** `calendar-month` の曜日 (金曜) */
|
|
486
|
+
"readout.weekday.5": "Fri",
|
|
487
|
+
/** `calendar-month` の曜日 (土曜) */
|
|
488
|
+
"readout.weekday.6": "Sat",
|
|
489
|
+
/** `rating-thumb` の賛成の割合と票数 */
|
|
490
|
+
"readout.ratingThumb.summary": "{pct}% up \xB7 {total} votes",
|
|
491
|
+
/** `kpi-trend-tile` の前の期間の値 */
|
|
492
|
+
"readout.kpiTrend.prev": "prev {v}",
|
|
493
|
+
/** `quick-poll-emoji` の票の合計 */
|
|
494
|
+
"readout.poll.total": "total {n}",
|
|
495
|
+
/** `thread-summary` の参加者の数 */
|
|
496
|
+
"readout.thread.participants": "{n} participants",
|
|
497
|
+
/** `thread-summary` の最後に書いた人 */
|
|
498
|
+
"readout.thread.last": "last: {name}",
|
|
499
|
+
/** `read-receipt` の送信した段 */
|
|
500
|
+
"readout.readReceipt.sent": "sent",
|
|
501
|
+
/** `read-receipt` の相手に届いた段 */
|
|
502
|
+
"readout.readReceipt.delivered": "delivered",
|
|
503
|
+
/** `read-receipt` の読まれた段 */
|
|
504
|
+
"readout.readReceipt.read": "read",
|
|
505
|
+
/** `password-strength` の段階 0 */
|
|
506
|
+
"readout.password.0": "too weak",
|
|
507
|
+
/** `password-strength` の段階 1 */
|
|
508
|
+
"readout.password.1": "weak",
|
|
509
|
+
/** `password-strength` の段階 2 */
|
|
510
|
+
"readout.password.2": "fair",
|
|
511
|
+
/** `password-strength` の段階 3 */
|
|
512
|
+
"readout.password.3": "good",
|
|
513
|
+
/** `password-strength` の段階 4 */
|
|
514
|
+
"readout.password.4": "strong",
|
|
515
|
+
/** `file-dropzone` で取り込んだ後の字 */
|
|
516
|
+
"readout.dropzone.uploaded": "uploaded",
|
|
517
|
+
/** `file-dropzone` の空の時の 1 行目 */
|
|
518
|
+
"readout.dropzone.drop": "\u2B06 Drop file here",
|
|
519
|
+
/** `file-dropzone` の空の時の 2 行目 */
|
|
520
|
+
"readout.dropzone.browse": "or click to browse",
|
|
521
|
+
/** `log-stream` の重さ 0 (調べるための詳細) */
|
|
522
|
+
"readout.log.0": "DBG",
|
|
523
|
+
/** `log-stream` の重さ 1 (知らせ) */
|
|
524
|
+
"readout.log.1": "INF",
|
|
525
|
+
/** `log-stream` の重さ 2 (警告) */
|
|
526
|
+
"readout.log.2": "WRN",
|
|
527
|
+
/** `log-stream` の重さ 3 (異常) */
|
|
528
|
+
"readout.log.3": "ERR",
|
|
529
|
+
/** `cart-summary` の点数 */
|
|
530
|
+
"readout.cart.items": "Items",
|
|
531
|
+
/** `cart-summary` の小計 */
|
|
532
|
+
"readout.cart.subtotal": "Subtotal",
|
|
533
|
+
/** `cart-summary` の送料 */
|
|
534
|
+
"readout.cart.shipping": "Shipping",
|
|
535
|
+
/** `cart-summary` の合計 */
|
|
536
|
+
"readout.cart.total": "Total",
|
|
537
|
+
/** `pricing-tier` で名前が空の時の名前 */
|
|
538
|
+
"readout.pricing.plan": "Plan",
|
|
539
|
+
/** `pricing-tier` の価格の後ろ */
|
|
540
|
+
"readout.pricing.perMonth": "per month",
|
|
541
|
+
/** `pricing-tier` の押す札 */
|
|
542
|
+
"readout.pricing.get": "Get {name}",
|
|
543
|
+
/** `coupon-code` で番号が空の時の字 */
|
|
544
|
+
"readout.coupon.placeholder": "ENTER CODE",
|
|
545
|
+
/** `coupon-code` の割引の割合 */
|
|
546
|
+
"readout.coupon.off": "-{pct}% off",
|
|
547
|
+
/** `coupon-code` の押す札 */
|
|
548
|
+
"readout.coupon.apply": "Apply",
|
|
549
|
+
/** `article-preview` の書いた人 */
|
|
550
|
+
"readout.article.by": "by {author}",
|
|
551
|
+
/** `priority-badge` の高い優先度の表示 (値は `high` / `2` で読む) */
|
|
552
|
+
"readout.priority.high": "HIGH",
|
|
553
|
+
/** `priority-badge` の中ほどの優先度の表示 */
|
|
554
|
+
"readout.priority.med": "MED",
|
|
555
|
+
/** `priority-badge` の低い優先度の表示 (値は `low` / `0` で読む) */
|
|
556
|
+
"readout.priority.low": "LOW",
|
|
557
|
+
/** `kanban-board` の列の見出し (値は `todo` で読む) */
|
|
558
|
+
"readout.kanban.todo": "Todo",
|
|
559
|
+
/** `kanban-board` の列の見出し (値は `inprogress` で読む) */
|
|
560
|
+
"readout.kanban.inprogress": "In Progress",
|
|
561
|
+
/** `kanban-board` の列の見出し (値は `done` で読む) */
|
|
562
|
+
"readout.kanban.done": "Done",
|
|
563
|
+
/** `traffic-light` の赤の灯の見出し (値は `red` で読む) */
|
|
564
|
+
"readout.trafficLight.red": "red",
|
|
565
|
+
/** `traffic-light` の黄の灯の見出し (値は `yellow` / `amber` で読む) */
|
|
566
|
+
"readout.trafficLight.yellow": "yellow",
|
|
567
|
+
/** `traffic-light` の緑の灯の見出し (値は `green` で読む) */
|
|
568
|
+
"readout.trafficLight.green": "green"
|
|
429
569
|
};
|
|
430
570
|
var ja = {
|
|
431
571
|
"terminal.output": "\u2192 1.8 \u79D2\u3067\u5B8C\u4E86",
|
|
@@ -461,13 +601,85 @@ var ja = {
|
|
|
461
601
|
"apiGateway.delete": "DELETE",
|
|
462
602
|
"apiGateway.users": "/\u5229\u7528\u8005",
|
|
463
603
|
"apiGateway.orders": "/\u6CE8\u6587",
|
|
464
|
-
"apiGateway.session": "/\u63A5\u7D9A"
|
|
604
|
+
"apiGateway.session": "/\u63A5\u7D9A",
|
|
605
|
+
"readout.empty": "\u306A\u3057",
|
|
606
|
+
"readout.sparkline.waiting": "\u5F85\u6A5F\u4E2D",
|
|
607
|
+
"input.timeline.speed": "{speed}\u500D",
|
|
608
|
+
"input.timeline.time": "{t}\u79D2 / {d}\u79D2",
|
|
609
|
+
"readout.sequenceTimeline.title": "{name}: \u6642\u523B {t}",
|
|
610
|
+
"readout.bubbleChart.title": "({x}, {y}) \u534A\u5F84 {r}",
|
|
611
|
+
"readout.calendarHeatmap.title": "{i} \u65E5\u76EE: {v}",
|
|
612
|
+
"readout.candlestick.title": "\u59CB {o} \u9AD8 {h} \u5B89 {l} \u7D42 {c}",
|
|
613
|
+
"readout.slope.before": "\u524D",
|
|
614
|
+
"readout.slope.after": "\u5F8C",
|
|
615
|
+
"readout.bulletChart.actual": "\u5B9F\u7E3E: {v}",
|
|
616
|
+
"readout.bulletChart.target": "\u76EE\u6A19: {v}",
|
|
617
|
+
"readout.rating.full": "\u6E80",
|
|
618
|
+
"readout.rating.half": "\u534A\u5206",
|
|
619
|
+
"readout.rating.empty": "\u7A7A",
|
|
620
|
+
"readout.priceTag.save": "{amount} \u304A\u5F97",
|
|
621
|
+
"readout.confidence.low": "\u4F4E",
|
|
622
|
+
"readout.confidence.mid": "\u4E2D",
|
|
623
|
+
"readout.confidence.high": "\u9AD8",
|
|
624
|
+
"readout.more": "\u307B\u304B {n}",
|
|
625
|
+
"readout.videoCard.views": "{v} \u56DE\u8996\u8074",
|
|
626
|
+
"readout.attendance.corner": "\u65E5",
|
|
627
|
+
"readout.weekday.0": "\u65E5",
|
|
628
|
+
"readout.weekday.1": "\u6708",
|
|
629
|
+
"readout.weekday.2": "\u706B",
|
|
630
|
+
"readout.weekday.3": "\u6C34",
|
|
631
|
+
"readout.weekday.4": "\u6728",
|
|
632
|
+
"readout.weekday.5": "\u91D1",
|
|
633
|
+
"readout.weekday.6": "\u571F",
|
|
634
|
+
"readout.ratingThumb.summary": "\u8CDB\u6210 {pct}% \xB7 {total} \u7968",
|
|
635
|
+
"readout.kpiTrend.prev": "\u524D\u56DE {v}",
|
|
636
|
+
"readout.poll.total": "\u5408\u8A08 {n}",
|
|
637
|
+
"readout.thread.participants": "{n} \u4EBA",
|
|
638
|
+
"readout.thread.last": "\u6700\u5F8C: {name}",
|
|
639
|
+
"readout.readReceipt.sent": "\u9001\u4FE1\u6E08\u307F",
|
|
640
|
+
"readout.readReceipt.delivered": "\u914D\u4FE1\u6E08\u307F",
|
|
641
|
+
"readout.readReceipt.read": "\u65E2\u8AAD",
|
|
642
|
+
"readout.password.0": "\u5F31\u3059\u304E\u308B",
|
|
643
|
+
"readout.password.1": "\u5F31\u3044",
|
|
644
|
+
"readout.password.2": "\u666E\u901A",
|
|
645
|
+
"readout.password.3": "\u826F\u3044",
|
|
646
|
+
"readout.password.4": "\u5F37\u3044",
|
|
647
|
+
"readout.dropzone.uploaded": "\u53D6\u308A\u8FBC\u307F\u6E08\u307F",
|
|
648
|
+
"readout.dropzone.drop": "\u2B06 \u3053\u3053\u306B\u30D5\u30A1\u30A4\u30EB\u3092\u7F6E\u304F",
|
|
649
|
+
"readout.dropzone.browse": "\u307E\u305F\u306F\u62BC\u3057\u3066\u9078\u3076",
|
|
650
|
+
"readout.log.0": "\u8A73\u7D30",
|
|
651
|
+
"readout.log.1": "\u60C5\u5831",
|
|
652
|
+
"readout.log.2": "\u8B66\u544A",
|
|
653
|
+
"readout.log.3": "\u7570\u5E38",
|
|
654
|
+
"readout.cart.items": "\u70B9\u6570",
|
|
655
|
+
"readout.cart.subtotal": "\u5C0F\u8A08",
|
|
656
|
+
"readout.cart.shipping": "\u9001\u6599",
|
|
657
|
+
"readout.cart.total": "\u5408\u8A08",
|
|
658
|
+
"readout.pricing.plan": "\u30D7\u30E9\u30F3",
|
|
659
|
+
"readout.pricing.perMonth": "\u6708\u984D",
|
|
660
|
+
"readout.pricing.get": "{name}\u3092\u9078\u3076",
|
|
661
|
+
"readout.coupon.placeholder": "\u30B3\u30FC\u30C9\u3092\u5165\u529B",
|
|
662
|
+
"readout.coupon.off": "-{pct}% \u5F15\u304D",
|
|
663
|
+
"readout.coupon.apply": "\u9069\u7528",
|
|
664
|
+
"readout.article.by": "\u6587: {author}",
|
|
665
|
+
"readout.priority.high": "\u9AD8",
|
|
666
|
+
"readout.priority.med": "\u4E2D",
|
|
667
|
+
"readout.priority.low": "\u4F4E",
|
|
668
|
+
"readout.kanban.todo": "\u672A\u7740\u624B",
|
|
669
|
+
"readout.kanban.inprogress": "\u9032\u884C\u4E2D",
|
|
670
|
+
"readout.kanban.done": "\u5B8C\u4E86",
|
|
671
|
+
"readout.trafficLight.red": "\u8D64",
|
|
672
|
+
"readout.trafficLight.yellow": "\u9EC4",
|
|
673
|
+
"readout.trafficLight.green": "\u7DD1"
|
|
465
674
|
};
|
|
466
675
|
var CDL_TEXT = { en, ja };
|
|
467
676
|
function \u5B57\u5F15\u304D\u3092\u4F5C\u308B(lang) {
|
|
468
677
|
const \u8A00\u8A9E = lang ?? "en";
|
|
469
678
|
return (key) => CDL_TEXT[\u8A00\u8A9E][key];
|
|
470
679
|
}
|
|
680
|
+
function \u5B57\u3092\u5DEE\u3057\u8FBC\u3080(template, values) {
|
|
681
|
+
return template.replace(/\{(\w+)\}/g, (whole, name) => name in values ? String(values[name]) : whole);
|
|
682
|
+
}
|
|
471
683
|
|
|
472
684
|
// src/formula/ast.ts
|
|
473
685
|
var ALLOWED_MATH_FNS = /* @__PURE__ */ new Set([
|
|
@@ -1379,6 +1591,23 @@ function textWidth(s, size, \u5B57\u9001\u308A = 0) {
|
|
|
1379
1591
|
}
|
|
1380
1592
|
return \u5E45 * size + \u5B57\u9001\u308A * \u5B57\u6570;
|
|
1381
1593
|
}
|
|
1594
|
+
var \u64CD\u4F5C\u90E8\u306E\u8A00\u8A9E = react.createContext("en");
|
|
1595
|
+
function use\u5B57\u5F15() {
|
|
1596
|
+
const lang = react.useContext(\u64CD\u4F5C\u90E8\u306E\u8A00\u8A9E);
|
|
1597
|
+
return (key, values) => values ? \u5B57\u3092\u5DEE\u3057\u8FBC\u3080(CDL_TEXT[lang][key], values) : CDL_TEXT[lang][key];
|
|
1598
|
+
}
|
|
1599
|
+
function \u5B57({ k, v }) {
|
|
1600
|
+
const \u5F15\u304F = use\u5B57\u5F15();
|
|
1601
|
+
return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: \u5F15\u304F(k, v) });
|
|
1602
|
+
}
|
|
1603
|
+
function \u5B57\u306E\u898B\u51FA\u3057({
|
|
1604
|
+
k,
|
|
1605
|
+
v,
|
|
1606
|
+
\u524D = ""
|
|
1607
|
+
}) {
|
|
1608
|
+
const \u5F15\u304F = use\u5B57\u5F15();
|
|
1609
|
+
return /* @__PURE__ */ jsxRuntime.jsx("title", { children: k === void 0 ? "" : `${\u524D}${\u5F15\u304F(k, v)}` });
|
|
1610
|
+
}
|
|
1382
1611
|
function createInteractiveSignalsAccessor(diagram2, signals, formula, scroll) {
|
|
1383
1612
|
const kindByInputId = /* @__PURE__ */ new Map();
|
|
1384
1613
|
for (const inp of diagram2.inputs ?? []) {
|
|
@@ -1693,20 +1922,23 @@ function useInteractiveIntegration(diagram2, options = {}) {
|
|
|
1693
1922
|
const readouts = diagram2.readouts ?? [];
|
|
1694
1923
|
if (inputs.length === 0 && scrolls.length === 0 && formulasList.length === 0 && readouts.length === 0)
|
|
1695
1924
|
return null;
|
|
1696
|
-
return
|
|
1697
|
-
|
|
1698
|
-
|
|
1699
|
-
|
|
1700
|
-
{
|
|
1701
|
-
|
|
1702
|
-
|
|
1703
|
-
|
|
1704
|
-
|
|
1705
|
-
|
|
1706
|
-
|
|
1707
|
-
|
|
1708
|
-
|
|
1709
|
-
|
|
1925
|
+
return (
|
|
1926
|
+
// 操作部の中の読み出しと入力欄へ、図の言語を届ける (#849)。 型の外の値は英語に落ちる
|
|
1927
|
+
/* @__PURE__ */ jsxRuntime.jsx(\u64CD\u4F5C\u90E8\u306E\u8A00\u8A9E.Provider, { value: resolveLang(diagram2.lang), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-root", "data-cdl-interactive-panel": "true", children: [
|
|
1928
|
+
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)) }),
|
|
1929
|
+
formulasList.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "cdl-ip-group", children: formulasList.map((f) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1930
|
+
FormulaReadout,
|
|
1931
|
+
{
|
|
1932
|
+
id: f.id,
|
|
1933
|
+
expression: f.expression,
|
|
1934
|
+
value: stateOverrides[f.id]
|
|
1935
|
+
},
|
|
1936
|
+
f.id
|
|
1937
|
+
)) }),
|
|
1938
|
+
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)) }),
|
|
1939
|
+
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)) })
|
|
1940
|
+
] }) })
|
|
1941
|
+
);
|
|
1710
1942
|
}, [diagram2, signals, stateOverrides, mergedStateValues]);
|
|
1711
1943
|
return { stateOverrides, panel, svgRef, containerRef };
|
|
1712
1944
|
}
|
|
@@ -3567,7 +3799,7 @@ function SparklineReadout({
|
|
|
3567
3799
|
if (points.length < 2) {
|
|
3568
3800
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-sparkline", "data-cdl-readout": id, children: [
|
|
3569
3801
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
3570
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "cdl-ip-readout-sparkline-empty", style: { width: w, height: h }, children: points.length === 0 ? "waiting" : "\u2014" }),
|
|
3802
|
+
/* @__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" }),
|
|
3571
3803
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-sparkline-value", children: Number.isFinite(value) ? value : "\u2014" })
|
|
3572
3804
|
] });
|
|
3573
3805
|
}
|
|
@@ -3830,27 +4062,24 @@ function TimelineWidget({
|
|
|
3830
4062
|
className: "cdl-ip-timeline-scrubber"
|
|
3831
4063
|
}
|
|
3832
4064
|
),
|
|
3833
|
-
/* @__PURE__ */ jsxRuntime.
|
|
4065
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3834
4066
|
"button",
|
|
3835
4067
|
{
|
|
3836
4068
|
type: "button",
|
|
3837
4069
|
className: "cdl-ip-timeline-btn cdl-ip-timeline-speed",
|
|
3838
4070
|
onClick: cycleSpeed,
|
|
3839
4071
|
"aria-label": "speed",
|
|
3840
|
-
children:
|
|
3841
|
-
speed,
|
|
3842
|
-
"x"
|
|
3843
|
-
]
|
|
4072
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: "input.timeline.speed", v: { speed } })
|
|
3844
4073
|
}
|
|
3845
4074
|
)
|
|
3846
4075
|
] }),
|
|
3847
|
-
/* @__PURE__ */ jsxRuntime.
|
|
3848
|
-
|
|
3849
|
-
|
|
3850
|
-
|
|
3851
|
-
|
|
3852
|
-
|
|
3853
|
-
|
|
4076
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-timeline-time", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
4077
|
+
\u5B57,
|
|
4078
|
+
{
|
|
4079
|
+
k: "input.timeline.time",
|
|
4080
|
+
v: { t: (progress * (input.duration / 1e3)).toFixed(1), d: (input.duration / 1e3).toFixed(1) }
|
|
4081
|
+
}
|
|
4082
|
+
) })
|
|
3854
4083
|
] });
|
|
3855
4084
|
}
|
|
3856
4085
|
function RangeWidget({
|
|
@@ -4088,7 +4317,7 @@ function ArrayBarReadout({
|
|
|
4088
4317
|
const range = max - min || 1;
|
|
4089
4318
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-array-bar", "data-cdl-readout": id, children: [
|
|
4090
4319
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
4091
|
-
/* @__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) => {
|
|
4320
|
+
/* @__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) => {
|
|
4092
4321
|
const h = Math.max(0, Math.min(1, (v - min) / range));
|
|
4093
4322
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
4094
4323
|
"span",
|
|
@@ -4165,7 +4394,7 @@ function StackedBarReadout({
|
|
|
4165
4394
|
const range = max - min || 1;
|
|
4166
4395
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-stacked-bar", "data-cdl-readout": id, children: [
|
|
4167
4396
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
4168
|
-
/* @__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) => {
|
|
4397
|
+
/* @__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) => {
|
|
4169
4398
|
const va = arrA[i] ?? 0;
|
|
4170
4399
|
const vb = arrB[i] ?? 0;
|
|
4171
4400
|
const hA = Math.max(0, Math.min(1, (va - min) / range));
|
|
@@ -4260,7 +4489,7 @@ function MatrixReadout({
|
|
|
4260
4489
|
};
|
|
4261
4490
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-matrix", "data-cdl-readout": id, children: [
|
|
4262
4491
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
4263
|
-
rows === 0 || cols === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: "empty" }) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
4492
|
+
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(
|
|
4264
4493
|
"svg",
|
|
4265
4494
|
{
|
|
4266
4495
|
className: "cdl-ip-readout-matrix-svg",
|
|
@@ -4318,7 +4547,7 @@ function ProgressGroupReadout({
|
|
|
4318
4547
|
const labelArr = labels ? safeParseArray(labels).map(String) : [];
|
|
4319
4548
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-progress-group", "data-cdl-readout": id, children: [
|
|
4320
4549
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
4321
|
-
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) => {
|
|
4550
|
+
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) => {
|
|
4322
4551
|
const pct = Math.max(0, Math.min(100, v / (max || 1) * 100));
|
|
4323
4552
|
const rowLabel = labelArr[i] ?? String(i + 1);
|
|
4324
4553
|
return /* @__PURE__ */ jsxRuntime.jsxs("li", { className: "cdl-ip-readout-progress-group-row", children: [
|
|
@@ -4380,7 +4609,7 @@ function SequenceTimelineReadout({
|
|
|
4380
4609
|
const xFor = (t) => pad + (Math.max(min, Math.min(max, t)) - min) / range * (viewW - pad * 2);
|
|
4381
4610
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-sequence-timeline", "data-cdl-readout": id, children: [
|
|
4382
4611
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
4383
|
-
events.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: "empty" }) : /* @__PURE__ */ jsxRuntime.jsxs(
|
|
4612
|
+
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(
|
|
4384
4613
|
"svg",
|
|
4385
4614
|
{
|
|
4386
4615
|
className: "cdl-ip-readout-sequence-timeline-svg",
|
|
@@ -4394,7 +4623,7 @@ function SequenceTimelineReadout({
|
|
|
4394
4623
|
events.map((e, i) => {
|
|
4395
4624
|
const x = xFor(e.t);
|
|
4396
4625
|
return /* @__PURE__ */ jsxRuntime.jsxs("g", { "data-cdl-event-marker": e.name, children: [
|
|
4397
|
-
/* @__PURE__ */ jsxRuntime.jsx("circle", { cx: x, cy: trackY, r: 5, fill: color, stroke: "#fff", strokeWidth: 1.5, children: /* @__PURE__ */ jsxRuntime.jsx("title", {
|
|
4626
|
+
/* @__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 } }) }),
|
|
4398
4627
|
/* @__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 }),
|
|
4399
4628
|
/* @__PURE__ */ jsxRuntime.jsx("text", { x, y: trackY + 18, textAnchor: "middle", fontSize: 9, fill: "var(--v4-mute, #64748b)", children: e.t })
|
|
4400
4629
|
] }, i);
|
|
@@ -4437,7 +4666,7 @@ function RadarReadout({
|
|
|
4437
4666
|
const polygon = points.length ? points.map((p) => `${p.x.toFixed(1)},${p.y.toFixed(1)}`).join(" ") : "";
|
|
4438
4667
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-radar", "data-cdl-readout": id, children: [
|
|
4439
4668
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
4440
|
-
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: [
|
|
4669
|
+
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: [
|
|
4441
4670
|
[0.33, 0.66, 1].map((t) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
4442
4671
|
"polygon",
|
|
4443
4672
|
{
|
|
@@ -4499,14 +4728,14 @@ function BubbleChartReadout({
|
|
|
4499
4728
|
const maxCircleR = 18;
|
|
4500
4729
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-bubble-chart", "data-cdl-readout": id, children: [
|
|
4501
4730
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
4502
|
-
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: [
|
|
4731
|
+
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: [
|
|
4503
4732
|
/* @__PURE__ */ jsxRuntime.jsx("line", { x1: pad, x2: viewW - pad, y1: viewH - pad, y2: viewH - pad, stroke: "rgba(148,163,184,0.4)" }),
|
|
4504
4733
|
/* @__PURE__ */ jsxRuntime.jsx("line", { x1: pad, x2: pad, y1: pad, y2: viewH - pad, stroke: "rgba(148,163,184,0.4)" }),
|
|
4505
4734
|
bubbles.map((b, i) => {
|
|
4506
4735
|
const cx = pad + (Math.max(xMin, Math.min(xMax, b.x)) - xMin) / xRange * w;
|
|
4507
4736
|
const cy = viewH - pad - (Math.max(yMin, Math.min(yMax, b.y)) - yMin) / yRange * h;
|
|
4508
4737
|
const r = 4 + (Math.max(rMin, Math.min(rMax, b.r)) - rMin) / rRange * (maxCircleR - 4);
|
|
4509
|
-
return /* @__PURE__ */ jsxRuntime.jsx("circle", { cx, cy, r, fill: color, fillOpacity: 0.35, stroke: color, strokeWidth: 1.5, children: /* @__PURE__ */ jsxRuntime.jsx("title", {
|
|
4738
|
+
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);
|
|
4510
4739
|
})
|
|
4511
4740
|
] })
|
|
4512
4741
|
] });
|
|
@@ -4529,7 +4758,7 @@ function DonutReadout({
|
|
|
4529
4758
|
let acc = 0;
|
|
4530
4759
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-donut", "data-cdl-readout": id, children: [
|
|
4531
4760
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
4532
|
-
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) => {
|
|
4761
|
+
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) => {
|
|
4533
4762
|
const from = acc;
|
|
4534
4763
|
const to = acc + v / total;
|
|
4535
4764
|
acc = to;
|
|
@@ -4590,7 +4819,7 @@ function CalendarHeatmapReadout({
|
|
|
4590
4819
|
height: cellSize,
|
|
4591
4820
|
rx: 2,
|
|
4592
4821
|
fill,
|
|
4593
|
-
children: /* @__PURE__ */ jsxRuntime.jsx("title",
|
|
4822
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57\u306E\u898B\u51FA\u3057, { k: "readout.calendarHeatmap.title", v: { i, v } })
|
|
4594
4823
|
},
|
|
4595
4824
|
i
|
|
4596
4825
|
);
|
|
@@ -4710,7 +4939,7 @@ function CandlestickReadout({
|
|
|
4710
4939
|
const candleW = candles.length === 0 ? 0 : Math.max(3, (w - (candles.length - 1) * 3) / candles.length);
|
|
4711
4940
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-candlestick", "data-cdl-readout": id, children: [
|
|
4712
4941
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
4713
|
-
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) => {
|
|
4942
|
+
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) => {
|
|
4714
4943
|
const cx = pad + i * (candleW + 3) + candleW / 2;
|
|
4715
4944
|
const yHigh = yFor(cd.h);
|
|
4716
4945
|
const yLow = yFor(cd.l);
|
|
@@ -4731,7 +4960,7 @@ function CandlestickReadout({
|
|
|
4731
4960
|
height: bodyH,
|
|
4732
4961
|
fill: isUp ? color : color,
|
|
4733
4962
|
fillOpacity: isUp ? 1 : 0.85,
|
|
4734
|
-
children: /* @__PURE__ */ jsxRuntime.jsx("title", {
|
|
4963
|
+
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 } })
|
|
4735
4964
|
}
|
|
4736
4965
|
)
|
|
4737
4966
|
] }, i);
|
|
@@ -4765,7 +4994,7 @@ function VennReadout({
|
|
|
4765
4994
|
const cxB = viewW / 2 + gap / 2;
|
|
4766
4995
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-venn", "data-cdl-readout": id, children: [
|
|
4767
4996
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
4768
|
-
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: [
|
|
4997
|
+
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: [
|
|
4769
4998
|
/* @__PURE__ */ jsxRuntime.jsx("circle", { cx: cxA, cy, r: rA, fill: colorA, fillOpacity: 0.4, stroke: colorA, strokeWidth: 1.5 }),
|
|
4770
4999
|
/* @__PURE__ */ jsxRuntime.jsx("circle", { cx: cxB, cy, r: rB, fill: colorB, fillOpacity: 0.4, stroke: colorB, strokeWidth: 1.5 }),
|
|
4771
5000
|
/* @__PURE__ */ jsxRuntime.jsx("text", { x: cxA - rA + 8, y: cy - 4, fontSize: 11, fill: "var(--v4-ink, #1a1f2a)", fontWeight: 600, children: labelA }),
|
|
@@ -4816,11 +5045,11 @@ function SlopeReadout({
|
|
|
4816
5045
|
const yFor = (v) => pad + (1 - (Math.max(min, Math.min(max, v)) - min) / range) * h;
|
|
4817
5046
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-slope", "data-cdl-readout": id, children: [
|
|
4818
5047
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
4819
|
-
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: [
|
|
5048
|
+
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: [
|
|
4820
5049
|
/* @__PURE__ */ jsxRuntime.jsx("line", { x1: xL, x2: xL, y1: pad - 4, y2: viewH - pad + 4, stroke: "rgba(148,163,184,0.4)" }),
|
|
4821
5050
|
/* @__PURE__ */ jsxRuntime.jsx("line", { x1: xR, x2: xR, y1: pad - 4, y2: viewH - pad + 4, stroke: "rgba(148,163,184,0.4)" }),
|
|
4822
|
-
/* @__PURE__ */ jsxRuntime.jsx("text", { x: xL, y: viewH - 4, fontSize: 9, textAnchor: "middle", fill: "var(--v4-mute, #64748b)", children: "before" }),
|
|
4823
|
-
/* @__PURE__ */ jsxRuntime.jsx("text", { x: xR, y: viewH - 4, fontSize: 9, textAnchor: "middle", fill: "var(--v4-mute, #64748b)", children: "after" }),
|
|
5051
|
+
/* @__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" }) }),
|
|
5052
|
+
/* @__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" }) }),
|
|
4824
5053
|
slopes.map((s, i) => {
|
|
4825
5054
|
const yB = yFor(s.before);
|
|
4826
5055
|
const yA = yFor(s.after);
|
|
@@ -4867,7 +5096,7 @@ function FunnelReadout({
|
|
|
4867
5096
|
const [bR, bG, bB] = hexToRgb(colorBottom);
|
|
4868
5097
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-funnel", "data-cdl-readout": id, children: [
|
|
4869
5098
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
4870
|
-
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) => {
|
|
5099
|
+
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) => {
|
|
4871
5100
|
const ratio = i / Math.max(1, stages.length - 1);
|
|
4872
5101
|
const w = maxCount > 0 ? s.count / maxCount * (viewW - 12) : 0;
|
|
4873
5102
|
const yTop = i * stageH + 2;
|
|
@@ -4929,7 +5158,7 @@ function GanttReadout({
|
|
|
4929
5158
|
const xFor = (v) => labelW + (Math.max(min, Math.min(max, v)) - min) / range * (viewW - labelW - pad);
|
|
4930
5159
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-gantt", "data-cdl-readout": id, children: [
|
|
4931
5160
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
4932
|
-
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) => {
|
|
5161
|
+
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) => {
|
|
4933
5162
|
const y = pad + i * rowH;
|
|
4934
5163
|
const x1 = xFor(t.start);
|
|
4935
5164
|
const x2 = xFor(t.start + t.duration);
|
|
@@ -5020,7 +5249,7 @@ function TreemapReadout({
|
|
|
5020
5249
|
}
|
|
5021
5250
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-treemap", "data-cdl-readout": id, children: [
|
|
5022
5251
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
5023
|
-
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: [
|
|
5252
|
+
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: [
|
|
5024
5253
|
/* @__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}` }) }),
|
|
5025
5254
|
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
|
|
5026
5255
|
] }, i)) })
|
|
@@ -5086,7 +5315,7 @@ function SankeyReadout({
|
|
|
5086
5315
|
const rightUsed = {};
|
|
5087
5316
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-sankey", "data-cdl-readout": id, children: [
|
|
5088
5317
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
5089
|
-
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: [
|
|
5318
|
+
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: [
|
|
5090
5319
|
leftNodes.map((n, i) => {
|
|
5091
5320
|
const p = leftPos[n.name];
|
|
5092
5321
|
return /* @__PURE__ */ jsxRuntime.jsxs("g", { children: [
|
|
@@ -5148,7 +5377,7 @@ function PolarAreaReadout({
|
|
|
5148
5377
|
const maxR = Math.min(cx, cy) - 20;
|
|
5149
5378
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-polar-area", "data-cdl-readout": id, children: [
|
|
5150
5379
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
5151
|
-
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: [
|
|
5380
|
+
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: [
|
|
5152
5381
|
[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)),
|
|
5153
5382
|
arr.map((v, i) => {
|
|
5154
5383
|
const ratio = Math.sqrt(Math.max(0, Math.min(max, v)) / (max || 1));
|
|
@@ -5194,7 +5423,7 @@ function StepIndicatorReadout({
|
|
|
5194
5423
|
const cy = viewH / 2 - 2;
|
|
5195
5424
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-step-indicator", "data-cdl-readout": id, children: [
|
|
5196
5425
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
5197
|
-
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: [
|
|
5426
|
+
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: [
|
|
5198
5427
|
n > 1 ? Array.from({ length: n - 1 }).map((_, i) => {
|
|
5199
5428
|
const x1 = pad + i * step;
|
|
5200
5429
|
const x2 = pad + (i + 1) * step;
|
|
@@ -5284,8 +5513,8 @@ function BulletChartReadout({
|
|
|
5284
5513
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: pad, y: pad, width: badX - pad, height: trackH, fill: "rgba(239,68,68,0.25)", rx: 2 }),
|
|
5285
5514
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: badX, y: pad, width: avgX - badX, height: trackH, fill: "rgba(234,179,8,0.25)" }),
|
|
5286
5515
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: avgX, y: pad, width: pad + w - avgX, height: trackH, fill: "rgba(34,197,94,0.25)" }),
|
|
5287
|
-
/* @__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(
|
|
5288
|
-
/* @__PURE__ */ jsxRuntime.jsx("line", { x1: targetX, x2: targetX, y1: pad - 2, y2: pad + trackH + 2, stroke: "#0f172a", strokeWidth: 2, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
5516
|
+
/* @__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 } }) }),
|
|
5517
|
+
/* @__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 } }) })
|
|
5289
5518
|
] })
|
|
5290
5519
|
] });
|
|
5291
5520
|
}
|
|
@@ -5340,7 +5569,7 @@ function LeaderboardReadout({
|
|
|
5340
5569
|
const medals = ["#eab308", "#94a3b8", "#c2410c"];
|
|
5341
5570
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-leaderboard", "data-cdl-readout": id, children: [
|
|
5342
5571
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
5343
|
-
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) => {
|
|
5572
|
+
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) => {
|
|
5344
5573
|
const pct = topMax > 0 ? it.value / topMax * 100 : 0;
|
|
5345
5574
|
const rankColor = i < medals.length ? medals[i] : "#cbd5e1";
|
|
5346
5575
|
return /* @__PURE__ */ jsxRuntime.jsxs("li", { className: "cdl-ip-readout-leaderboard-row", children: [
|
|
@@ -5391,7 +5620,7 @@ function TrafficLightReadout({
|
|
|
5391
5620
|
style: {
|
|
5392
5621
|
filter: isActive ? `drop-shadow(0 0 6px ${colors[i]})` : void 0
|
|
5393
5622
|
},
|
|
5394
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
5623
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57\u306E\u898B\u51FA\u3057, { k: isActive ? ["readout.trafficLight.red", "readout.trafficLight.yellow", "readout.trafficLight.green"][i] : void 0 })
|
|
5395
5624
|
},
|
|
5396
5625
|
i
|
|
5397
5626
|
);
|
|
@@ -5430,7 +5659,7 @@ function TagCloudReadout({
|
|
|
5430
5659
|
const sizeFor = (w) => minSize + (w - minW) / range * (maxSize - minSize);
|
|
5431
5660
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-tag-cloud", "data-cdl-readout": id, children: [
|
|
5432
5661
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
5433
|
-
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(
|
|
5662
|
+
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(
|
|
5434
5663
|
"span",
|
|
5435
5664
|
{
|
|
5436
5665
|
className: "cdl-ip-readout-tag-cloud-tag",
|
|
@@ -5467,7 +5696,7 @@ function ActivityFeedReadout({
|
|
|
5467
5696
|
const shown = events.slice(0, max);
|
|
5468
5697
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-activity-feed", "data-cdl-readout": id, children: [
|
|
5469
5698
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
5470
|
-
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: [
|
|
5699
|
+
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: [
|
|
5471
5700
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-activity-feed-bullet", style: { background: color } }),
|
|
5472
5701
|
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "cdl-ip-readout-activity-feed-content", children: [
|
|
5473
5702
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-activity-feed-actor", children: e.actor }),
|
|
@@ -5518,7 +5747,7 @@ function RatingReadout({
|
|
|
5518
5747
|
strokeWidth: 1
|
|
5519
5748
|
}
|
|
5520
5749
|
),
|
|
5521
|
-
isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
5750
|
+
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" })
|
|
5522
5751
|
]
|
|
5523
5752
|
},
|
|
5524
5753
|
i
|
|
@@ -5614,7 +5843,7 @@ function ChatBubbleReadout({
|
|
|
5614
5843
|
const shown = messages.slice(0, max);
|
|
5615
5844
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-chat-bubble", "data-cdl-readout": id, children: [
|
|
5616
5845
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
5617
|
-
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(
|
|
5846
|
+
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(
|
|
5618
5847
|
"li",
|
|
5619
5848
|
{
|
|
5620
5849
|
className: `cdl-ip-readout-chat-bubble-row ${m.isSelf ? "self" : "other"}`,
|
|
@@ -5706,7 +5935,7 @@ function ChecklistReadout({
|
|
|
5706
5935
|
const pct = items.length === 0 ? 0 : Math.round(done / items.length * 100);
|
|
5707
5936
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-checklist", "data-cdl-readout": id, children: [
|
|
5708
5937
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
5709
|
-
items.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-array-bar-empty", children: "empty" }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
5938
|
+
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: [
|
|
5710
5939
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-readout-checklist-progress", children: [
|
|
5711
5940
|
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "cdl-ip-readout-checklist-progress-text", children: [
|
|
5712
5941
|
done,
|
|
@@ -5817,11 +6046,7 @@ function PriceTagReadout({
|
|
|
5817
6046
|
"%"
|
|
5818
6047
|
] }) : null
|
|
5819
6048
|
] }),
|
|
5820
|
-
savings > 0 ? /* @__PURE__ */ jsxRuntime.
|
|
5821
|
-
"You save ",
|
|
5822
|
-
currency,
|
|
5823
|
-
savings
|
|
5824
|
-
] }) : null
|
|
6049
|
+
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
|
|
5825
6050
|
] });
|
|
5826
6051
|
}
|
|
5827
6052
|
function SpinnerReadout({
|
|
@@ -5958,6 +6183,11 @@ function StopwatchReadout({
|
|
|
5958
6183
|
}
|
|
5959
6184
|
);
|
|
5960
6185
|
}
|
|
6186
|
+
var \u78BA\u4FE1\u5EA6\u306E\u5E2F\u306E\u5B57 = {
|
|
6187
|
+
low: "readout.confidence.low",
|
|
6188
|
+
mid: "readout.confidence.mid",
|
|
6189
|
+
high: "readout.confidence.high"
|
|
6190
|
+
};
|
|
5961
6191
|
function ConfidenceMeterReadout({
|
|
5962
6192
|
id,
|
|
5963
6193
|
label,
|
|
@@ -5990,7 +6220,7 @@ function ConfidenceMeterReadout({
|
|
|
5990
6220
|
Math.round(safeValue),
|
|
5991
6221
|
"%"
|
|
5992
6222
|
] }),
|
|
5993
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-confidence-meter-band", style: { color: bandColor }, children: bandLabel })
|
|
6223
|
+
/* @__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] }) })
|
|
5994
6224
|
] }),
|
|
5995
6225
|
/* @__PURE__ */ jsxRuntime.jsxs("svg", { className: "cdl-ip-readout-confidence-meter-svg", viewBox: `0 0 ${viewW} ${viewH}`, width: viewW, height: viewH, children: [
|
|
5996
6226
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: pad, y: pad, width: lowX - pad, height: h, fill: "rgba(239,68,68,0.2)", rx: 2 }),
|
|
@@ -6025,7 +6255,7 @@ function ReactionBarReadout({
|
|
|
6025
6255
|
}
|
|
6026
6256
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-reaction-bar", "data-cdl-readout": id, children: [
|
|
6027
6257
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
6028
|
-
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: [
|
|
6258
|
+
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: [
|
|
6029
6259
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-reaction-bar-emoji", children: r.emoji }),
|
|
6030
6260
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-reaction-bar-count", style: { color }, children: r.count })
|
|
6031
6261
|
] }, i)) })
|
|
@@ -6058,7 +6288,7 @@ function PillGroupReadout({
|
|
|
6058
6288
|
}
|
|
6059
6289
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-pill-group", "data-cdl-readout": id, children: [
|
|
6060
6290
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
6061
|
-
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(
|
|
6291
|
+
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(
|
|
6062
6292
|
"span",
|
|
6063
6293
|
{
|
|
6064
6294
|
className: "cdl-ip-readout-pill-group-pill",
|
|
@@ -6146,7 +6376,7 @@ function MetricsGridReadout({
|
|
|
6146
6376
|
}
|
|
6147
6377
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-metrics-grid", "data-cdl-readout": id, children: [
|
|
6148
6378
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
6149
|
-
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: [
|
|
6379
|
+
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: [
|
|
6150
6380
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-readout-metrics-grid-value", style: { color }, children: [
|
|
6151
6381
|
m.value,
|
|
6152
6382
|
m.unit ? /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "cdl-ip-readout-metrics-grid-unit", children: [
|
|
@@ -6233,7 +6463,7 @@ function IconTileReadout({
|
|
|
6233
6463
|
}
|
|
6234
6464
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-icon-tile", "data-cdl-readout": id, children: [
|
|
6235
6465
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
6236
|
-
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: [
|
|
6466
|
+
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: [
|
|
6237
6467
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "cdl-ip-readout-icon-tile-icon", style: { background: color }, children: t.icon }),
|
|
6238
6468
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-readout-icon-tile-content", children: [
|
|
6239
6469
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "cdl-ip-readout-icon-tile-value", children: t.value }),
|
|
@@ -6274,7 +6504,7 @@ function TokenListReadout({
|
|
|
6274
6504
|
}
|
|
6275
6505
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-token-list", "data-cdl-readout": id, children: [
|
|
6276
6506
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
6277
|
-
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) => {
|
|
6507
|
+
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) => {
|
|
6278
6508
|
const isUp = t.delta >= 0;
|
|
6279
6509
|
const deltaColor = isUp ? colorUp : colorDown;
|
|
6280
6510
|
const arrow = isUp ? "\u25B2" : "\u25BC";
|
|
@@ -6328,7 +6558,7 @@ function MapPinReadout({
|
|
|
6328
6558
|
const yFor = (v) => pad + (Math.max(yMin, Math.min(yMax, v)) - yMin) / yRange * (viewH - pad * 2);
|
|
6329
6559
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-map-pin", "data-cdl-readout": id, children: [
|
|
6330
6560
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
6331
|
-
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: [
|
|
6561
|
+
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: [
|
|
6332
6562
|
/* @__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 }),
|
|
6333
6563
|
[0.25, 0.5, 0.75].map((t) => /* @__PURE__ */ jsxRuntime.jsxs("g", { children: [
|
|
6334
6564
|
/* @__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)" }),
|
|
@@ -6356,9 +6586,9 @@ function PriorityBadgeReadout({
|
|
|
6356
6586
|
if (p === "high" || p === "2") level = "high";
|
|
6357
6587
|
else if (p === "low" || p === "0") level = "low";
|
|
6358
6588
|
const spec = {
|
|
6359
|
-
high: { icon: "\u25B2", color: "#ef4444", bg: "rgba(239,68,68,0.12)", text: "
|
|
6360
|
-
med: { icon: "\u25CF", color: "#eab308", bg: "rgba(234,179,8,0.12)", text: "
|
|
6361
|
-
low: { icon: "\u25BC", color: "#64748b", bg: "rgba(100,116,139,0.12)", text: "
|
|
6589
|
+
high: { icon: "\u25B2", color: "#ef4444", bg: "rgba(239,68,68,0.12)", text: "readout.priority.high" },
|
|
6590
|
+
med: { icon: "\u25CF", color: "#eab308", bg: "rgba(234,179,8,0.12)", text: "readout.priority.med" },
|
|
6591
|
+
low: { icon: "\u25BC", color: "#64748b", bg: "rgba(100,116,139,0.12)", text: "readout.priority.low" }
|
|
6362
6592
|
};
|
|
6363
6593
|
const cur = spec[level];
|
|
6364
6594
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-priority-badge", "data-cdl-readout": id, "data-cdl-priority": level, children: [
|
|
@@ -6371,7 +6601,7 @@ function PriorityBadgeReadout({
|
|
|
6371
6601
|
style: { background: cur.bg, borderColor: cur.color, color: cur.color },
|
|
6372
6602
|
children: [
|
|
6373
6603
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-priority-badge-icon", children: cur.icon }),
|
|
6374
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { children: cur.text })
|
|
6604
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: cur.text }) })
|
|
6375
6605
|
]
|
|
6376
6606
|
}
|
|
6377
6607
|
),
|
|
@@ -6410,7 +6640,7 @@ function PodiumReadout({
|
|
|
6410
6640
|
const order = [1, 0, 2];
|
|
6411
6641
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-podium", "data-cdl-readout": id, children: [
|
|
6412
6642
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
6413
|
-
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) => {
|
|
6643
|
+
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) => {
|
|
6414
6644
|
const w = podium[rankIdx];
|
|
6415
6645
|
if (!w) return null;
|
|
6416
6646
|
const x = pad + colIdx * (colW + pad);
|
|
@@ -6453,7 +6683,7 @@ function PollBarReadout({
|
|
|
6453
6683
|
const maxCount = options.length ? Math.max(...options.map((o) => o.count)) : 0;
|
|
6454
6684
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-poll-bar", "data-cdl-readout": id, children: [
|
|
6455
6685
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
6456
|
-
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) => {
|
|
6686
|
+
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) => {
|
|
6457
6687
|
const pct = Math.round(o.count / total * 100);
|
|
6458
6688
|
const isWinner = o.count === maxCount && maxCount > 0;
|
|
6459
6689
|
const fillColor = isWinner ? colorWinner : color;
|
|
@@ -6488,6 +6718,7 @@ function UserStackReadout({
|
|
|
6488
6718
|
max,
|
|
6489
6719
|
size
|
|
6490
6720
|
}) {
|
|
6721
|
+
const \u5F15\u304F = use\u5B57\u5F15();
|
|
6491
6722
|
const names = safeParseArray(value).map(String);
|
|
6492
6723
|
const shown = names.slice(0, max);
|
|
6493
6724
|
const overflow = names.length > max;
|
|
@@ -6496,7 +6727,7 @@ function UserStackReadout({
|
|
|
6496
6727
|
const initialsOf = (name) => name.split(/\s+/).filter(Boolean).slice(0, 2).map((w) => w[0]?.toUpperCase() ?? "").join("") || "?";
|
|
6497
6728
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-user-stack", "data-cdl-readout": id, children: [
|
|
6498
6729
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
6499
|
-
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: [
|
|
6730
|
+
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: [
|
|
6500
6731
|
shown.map((name, i) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
6501
6732
|
"span",
|
|
6502
6733
|
{
|
|
@@ -6524,7 +6755,7 @@ function UserStackReadout({
|
|
|
6524
6755
|
fontSize: `${Math.round(size * 0.35)}px`,
|
|
6525
6756
|
marginLeft: `-${size * 0.3}px`
|
|
6526
6757
|
},
|
|
6527
|
-
title:
|
|
6758
|
+
title: \u5F15\u304F("readout.more", { n: overflowCount }),
|
|
6528
6759
|
children: [
|
|
6529
6760
|
"+",
|
|
6530
6761
|
overflowCount
|
|
@@ -6559,7 +6790,7 @@ function CommitListReadout({
|
|
|
6559
6790
|
const shown = commits.slice(0, max);
|
|
6560
6791
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-commit-list", "data-cdl-readout": id, children: [
|
|
6561
6792
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
6562
|
-
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: [
|
|
6793
|
+
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: [
|
|
6563
6794
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-commit-list-sha", style: { color }, children: c.sha }),
|
|
6564
6795
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-commit-list-msg", children: c.msg }),
|
|
6565
6796
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-commit-list-author", children: c.author })
|
|
@@ -6639,7 +6870,7 @@ function EventLogReadout({
|
|
|
6639
6870
|
};
|
|
6640
6871
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-event-log", "data-cdl-readout": id, children: [
|
|
6641
6872
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
6642
|
-
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) => {
|
|
6873
|
+
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) => {
|
|
6643
6874
|
const spec = severitySpec[e.severity] ?? severitySpec.info;
|
|
6644
6875
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
6645
6876
|
"li",
|
|
@@ -6682,7 +6913,7 @@ function SearchResultReadout({
|
|
|
6682
6913
|
const shown = hits.slice(0, max);
|
|
6683
6914
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-search-result", "data-cdl-readout": id, children: [
|
|
6684
6915
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
6685
|
-
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: [
|
|
6916
|
+
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: [
|
|
6686
6917
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "cdl-ip-readout-search-result-title", style: { color }, children: h.title }),
|
|
6687
6918
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "cdl-ip-readout-search-result-snippet", children: h.snippet }),
|
|
6688
6919
|
h.url ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "cdl-ip-readout-search-result-url", children: h.url }) : null
|
|
@@ -6715,7 +6946,7 @@ function RoadmapReadout({
|
|
|
6715
6946
|
const colors = ["#2563eb", "#22c55e", "#eab308", "#a855f7"];
|
|
6716
6947
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-roadmap", "data-cdl-readout": id, style: { minWidth: `${viewW}px` }, children: [
|
|
6717
6948
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
6718
|
-
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: [
|
|
6949
|
+
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: [
|
|
6719
6950
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "cdl-ip-readout-roadmap-header", style: { background: colors[i % colors.length] }, children: q.quarter }),
|
|
6720
6951
|
/* @__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)) })
|
|
6721
6952
|
] }, i)) })
|
|
@@ -6747,7 +6978,7 @@ function WeatherForecastReadout({
|
|
|
6747
6978
|
}
|
|
6748
6979
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-weather-forecast", "data-cdl-readout": id, children: [
|
|
6749
6980
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
6750
|
-
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: [
|
|
6981
|
+
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: [
|
|
6751
6982
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "cdl-ip-readout-weather-forecast-name", children: d.day }),
|
|
6752
6983
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "cdl-ip-readout-weather-forecast-icon", children: d.icon }),
|
|
6753
6984
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-readout-weather-forecast-high", children: [
|
|
@@ -6791,17 +7022,14 @@ function VideoCardReadout({
|
|
|
6791
7022
|
const shown = videos.slice(0, max);
|
|
6792
7023
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-video-card", "data-cdl-readout": id, children: [
|
|
6793
7024
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
6794
|
-
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: [
|
|
7025
|
+
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: [
|
|
6795
7026
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-readout-video-card-thumb", style: { background: color }, children: [
|
|
6796
7027
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-video-card-thumb-icon", children: v.emoji }),
|
|
6797
7028
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-video-card-duration", children: v.duration })
|
|
6798
7029
|
] }),
|
|
6799
7030
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-readout-video-card-info", children: [
|
|
6800
7031
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "cdl-ip-readout-video-card-title", children: v.title }),
|
|
6801
|
-
/* @__PURE__ */ jsxRuntime.
|
|
6802
|
-
v.views,
|
|
6803
|
-
" views"
|
|
6804
|
-
] })
|
|
7032
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "cdl-ip-readout-video-card-views", children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: "readout.videoCard.views", v: { v: v.views } }) })
|
|
6805
7033
|
] })
|
|
6806
7034
|
] }, i)) })
|
|
6807
7035
|
] });
|
|
@@ -6818,7 +7046,7 @@ function OrderStatusReadout({
|
|
|
6818
7046
|
const safeCurrent = Number.isFinite(current) ? Math.max(0, Math.min(stepArr.length - 1, Math.round(current))) : 0;
|
|
6819
7047
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-order-status", "data-cdl-readout": id, "data-cdl-step": safeCurrent, children: [
|
|
6820
7048
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
6821
|
-
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) => {
|
|
7049
|
+
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) => {
|
|
6822
7050
|
const isDone = i < safeCurrent;
|
|
6823
7051
|
const isCurrent = i === safeCurrent;
|
|
6824
7052
|
const isPending = i > safeCurrent;
|
|
@@ -6868,9 +7096,9 @@ function AttendanceGridReadout({
|
|
|
6868
7096
|
const memberArr = safeParseArray(members).map(String);
|
|
6869
7097
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-attendance-grid", "data-cdl-readout": id, children: [
|
|
6870
7098
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
6871
|
-
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: [
|
|
7099
|
+
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: [
|
|
6872
7100
|
/* @__PURE__ */ jsxRuntime.jsx("thead", { children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { children: [
|
|
6873
|
-
/* @__PURE__ */ jsxRuntime.jsx("th", { className: "cdl-ip-readout-attendance-grid-corner", children: "
|
|
7101
|
+
/* @__PURE__ */ jsxRuntime.jsx("th", { className: "cdl-ip-readout-attendance-grid-corner", children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: "readout.attendance.corner" }) }),
|
|
6874
7102
|
memberArr.map((m, i) => /* @__PURE__ */ jsxRuntime.jsx("th", { className: "cdl-ip-readout-attendance-grid-member", children: m }, i))
|
|
6875
7103
|
] }) }),
|
|
6876
7104
|
/* @__PURE__ */ jsxRuntime.jsx("tbody", { children: rows.map((r, i) => /* @__PURE__ */ jsxRuntime.jsxs("tr", { children: [
|
|
@@ -6924,7 +7152,7 @@ function TimezoneClockReadout({
|
|
|
6924
7152
|
}
|
|
6925
7153
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-timezone-clock", "data-cdl-readout": id, children: [
|
|
6926
7154
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
6927
|
-
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: [
|
|
7155
|
+
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: [
|
|
6928
7156
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "cdl-ip-readout-timezone-clock-city", children: c.city }),
|
|
6929
7157
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "cdl-ip-readout-timezone-clock-time", style: { color }, children: c.time }),
|
|
6930
7158
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-readout-timezone-clock-offset", children: [
|
|
@@ -6958,7 +7186,7 @@ function FormSummaryReadout({
|
|
|
6958
7186
|
}
|
|
6959
7187
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-form-summary", "data-cdl-readout": id, children: [
|
|
6960
7188
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
6961
|
-
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: [
|
|
7189
|
+
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: [
|
|
6962
7190
|
/* @__PURE__ */ jsxRuntime.jsx("dt", { className: "cdl-ip-readout-form-summary-key", children: f.name }),
|
|
6963
7191
|
/* @__PURE__ */ jsxRuntime.jsx("dd", { className: "cdl-ip-readout-form-summary-value", style: { color }, children: f.value })
|
|
6964
7192
|
] }, i)) })
|
|
@@ -6991,7 +7219,7 @@ function SongQueueReadout({
|
|
|
6991
7219
|
const safeCurrent = Number.isFinite(current) ? Math.round(current) : -1;
|
|
6992
7220
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-song-queue", "data-cdl-readout": id, "data-cdl-current": safeCurrent, children: [
|
|
6993
7221
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
6994
|
-
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) => {
|
|
7222
|
+
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) => {
|
|
6995
7223
|
const isCurrent = i === safeCurrent;
|
|
6996
7224
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
6997
7225
|
"li",
|
|
@@ -7036,12 +7264,20 @@ function CalendarMonthReadout({
|
|
|
7036
7264
|
} catch {
|
|
7037
7265
|
}
|
|
7038
7266
|
}
|
|
7039
|
-
const weekDays = [
|
|
7267
|
+
const weekDays = [
|
|
7268
|
+
"readout.weekday.0",
|
|
7269
|
+
"readout.weekday.1",
|
|
7270
|
+
"readout.weekday.2",
|
|
7271
|
+
"readout.weekday.3",
|
|
7272
|
+
"readout.weekday.4",
|
|
7273
|
+
"readout.weekday.5",
|
|
7274
|
+
"readout.weekday.6"
|
|
7275
|
+
];
|
|
7040
7276
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-calendar-month", "data-cdl-readout": id, children: [
|
|
7041
7277
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
7042
|
-
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: [
|
|
7278
|
+
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: [
|
|
7043
7279
|
monthName ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "cdl-ip-readout-calendar-month-header", children: monthName }) : null,
|
|
7044
|
-
/* @__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)) }),
|
|
7280
|
+
/* @__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)) }),
|
|
7045
7281
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "cdl-ip-readout-calendar-month-grid", children: days.map((d, i) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
7046
7282
|
"div",
|
|
7047
7283
|
{
|
|
@@ -7084,7 +7320,7 @@ function TerminalReadout({
|
|
|
7084
7320
|
const shown = lines.slice(0, max);
|
|
7085
7321
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-terminal", "data-cdl-readout": id, children: [
|
|
7086
7322
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
7087
|
-
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: [
|
|
7323
|
+
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: [
|
|
7088
7324
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-readout-terminal-titlebar", children: [
|
|
7089
7325
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-terminal-dot", style: { background: "#ef4444" } }),
|
|
7090
7326
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-terminal-dot", style: { background: "#eab308" } }),
|
|
@@ -7183,10 +7419,11 @@ function KanbanBoardReadout({
|
|
|
7183
7419
|
columnWidth,
|
|
7184
7420
|
max
|
|
7185
7421
|
}) {
|
|
7422
|
+
const \u5F15\u304F = use\u5B57\u5F15();
|
|
7186
7423
|
const buckets = {
|
|
7187
|
-
todo: { key: "todo", label: "
|
|
7188
|
-
inprogress: { key: "inprogress", label: "
|
|
7189
|
-
done: { key: "done", label: "
|
|
7424
|
+
todo: { key: "todo", label: \u5F15\u304F("readout.kanban.todo"), color: "#94a3b8", tasks: [] },
|
|
7425
|
+
inprogress: { key: "inprogress", label: \u5F15\u304F("readout.kanban.inprogress"), color: "#2563eb", tasks: [] },
|
|
7426
|
+
done: { key: "done", label: \u5F15\u304F("readout.kanban.done"), color: "#22c55e", tasks: [] }
|
|
7190
7427
|
};
|
|
7191
7428
|
const trimmed = value.trim();
|
|
7192
7429
|
if (trimmed.startsWith("[") && trimmed.endsWith("]")) {
|
|
@@ -7303,7 +7540,7 @@ function KanbanBoardReadout({
|
|
|
7303
7540
|
)
|
|
7304
7541
|
] }, ti);
|
|
7305
7542
|
}),
|
|
7306
|
-
overflow > 0 ? /* @__PURE__ */ jsxRuntime.
|
|
7543
|
+
overflow > 0 ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
7307
7544
|
"text",
|
|
7308
7545
|
{
|
|
7309
7546
|
x: x + columnWidth / 2,
|
|
@@ -7312,11 +7549,7 @@ function KanbanBoardReadout({
|
|
|
7312
7549
|
textAnchor: "middle",
|
|
7313
7550
|
fill: "#64748b",
|
|
7314
7551
|
style: { userSelect: "none" },
|
|
7315
|
-
children:
|
|
7316
|
-
"+",
|
|
7317
|
-
overflow,
|
|
7318
|
-
" more"
|
|
7319
|
-
]
|
|
7552
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: "readout.more", v: { n: overflow } })
|
|
7320
7553
|
}
|
|
7321
7554
|
) : null
|
|
7322
7555
|
] }, k);
|
|
@@ -7873,7 +8106,7 @@ function UserPresenceReadout({
|
|
|
7873
8106
|
)
|
|
7874
8107
|
] }, i);
|
|
7875
8108
|
}),
|
|
7876
|
-
overflow > 0 ? /* @__PURE__ */ jsxRuntime.
|
|
8109
|
+
overflow > 0 ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
7877
8110
|
"text",
|
|
7878
8111
|
{
|
|
7879
8112
|
x: width / 2,
|
|
@@ -7882,11 +8115,7 @@ function UserPresenceReadout({
|
|
|
7882
8115
|
textAnchor: "middle",
|
|
7883
8116
|
fill: "#64748b",
|
|
7884
8117
|
style: { userSelect: "none" },
|
|
7885
|
-
children:
|
|
7886
|
-
"+",
|
|
7887
|
-
overflow,
|
|
7888
|
-
" more"
|
|
7889
|
-
]
|
|
8118
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: "readout.more", v: { n: overflow } })
|
|
7890
8119
|
}
|
|
7891
8120
|
) : null
|
|
7892
8121
|
]
|
|
@@ -7937,12 +8166,7 @@ function RatingThumbReadout({
|
|
|
7937
8166
|
"\u25B2 ",
|
|
7938
8167
|
upCount
|
|
7939
8168
|
] }),
|
|
7940
|
-
/* @__PURE__ */ jsxRuntime.
|
|
7941
|
-
upPct,
|
|
7942
|
-
"% up \xB7 ",
|
|
7943
|
-
total,
|
|
7944
|
-
" votes"
|
|
7945
|
-
] }),
|
|
8169
|
+
/* @__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 } }) }),
|
|
7946
8170
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
7947
8171
|
"text",
|
|
7948
8172
|
{
|
|
@@ -8117,11 +8341,7 @@ function KpiTrendTileReadout({
|
|
|
8117
8341
|
deltaPct.toFixed(1),
|
|
8118
8342
|
"%)"
|
|
8119
8343
|
] }),
|
|
8120
|
-
/* @__PURE__ */ jsxRuntime.
|
|
8121
|
-
"prev ",
|
|
8122
|
-
prev,
|
|
8123
|
-
unit
|
|
8124
|
-
] }),
|
|
8344
|
+
/* @__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}` } }) }),
|
|
8125
8345
|
history.length > 1 ? /* @__PURE__ */ jsxRuntime.jsx("polyline", { points, fill: "none", stroke: arrowColor, strokeWidth: 2 }) : null
|
|
8126
8346
|
]
|
|
8127
8347
|
}
|
|
@@ -8209,7 +8429,7 @@ function QuickPollEmojiReadout({
|
|
|
8209
8429
|
)
|
|
8210
8430
|
] }, i);
|
|
8211
8431
|
}),
|
|
8212
|
-
/* @__PURE__ */ jsxRuntime.
|
|
8432
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8213
8433
|
"text",
|
|
8214
8434
|
{
|
|
8215
8435
|
x: width - 8,
|
|
@@ -8218,10 +8438,7 @@ function QuickPollEmojiReadout({
|
|
|
8218
8438
|
textAnchor: "end",
|
|
8219
8439
|
fill: "#64748b",
|
|
8220
8440
|
style: { userSelect: "none" },
|
|
8221
|
-
children:
|
|
8222
|
-
"total ",
|
|
8223
|
-
total
|
|
8224
|
-
]
|
|
8441
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: "readout.poll.total", v: { n: total } })
|
|
8225
8442
|
}
|
|
8226
8443
|
)
|
|
8227
8444
|
]
|
|
@@ -8356,14 +8573,8 @@ function ThreadSummaryReadout({
|
|
|
8356
8573
|
height,
|
|
8357
8574
|
children: [
|
|
8358
8575
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: 0, y: 0, width, height, fill: "#f8fafc", rx: 6 }),
|
|
8359
|
-
/* @__PURE__ */ jsxRuntime.
|
|
8360
|
-
|
|
8361
|
-
" participants"
|
|
8362
|
-
] }),
|
|
8363
|
-
/* @__PURE__ */ jsxRuntime.jsxs("text", { x: 12, y: 42, fontSize: 11, fill: "#334155", style: { userSelect: "none" }, children: [
|
|
8364
|
-
"last: ",
|
|
8365
|
-
lastAuthor
|
|
8366
|
-
] }),
|
|
8576
|
+
/* @__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 } }) }),
|
|
8577
|
+
/* @__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 } }) }),
|
|
8367
8578
|
/* @__PURE__ */ jsxRuntime.jsx("text", { x: 12, y: 60, fontSize: 10, fill: "#64748b", style: { userSelect: "none" }, children: timeAgo }),
|
|
8368
8579
|
unread > 0 ? /* @__PURE__ */ jsxRuntime.jsxs("g", { "data-cdl-thread-unread": "1", children: [
|
|
8369
8580
|
/* @__PURE__ */ jsxRuntime.jsx("circle", { cx: width - 24, cy: 26, r: 14, fill: colorUnread }),
|
|
@@ -8394,7 +8605,7 @@ function ReadReceiptReadout({
|
|
|
8394
8605
|
colorPending
|
|
8395
8606
|
}) {
|
|
8396
8607
|
const status = Number.isFinite(value) ? Math.max(0, Math.min(2, Math.floor(value))) : 0;
|
|
8397
|
-
const
|
|
8608
|
+
const labelKey = status === 0 ? "readout.readReceipt.sent" : status === 1 ? "readout.readReceipt.delivered" : "readout.readReceipt.read";
|
|
8398
8609
|
const iconColor = status === 2 ? colorRead : colorPending;
|
|
8399
8610
|
const width = 180;
|
|
8400
8611
|
const height = 32;
|
|
@@ -8429,7 +8640,7 @@ function ReadReceiptReadout({
|
|
|
8429
8640
|
}
|
|
8430
8641
|
) : null
|
|
8431
8642
|
] }),
|
|
8432
|
-
/* @__PURE__ */ jsxRuntime.jsx("text", { x: 52, y: height / 2 + 4, fontSize: 11, fontWeight: 600, fill: iconColor, style: { userSelect: "none" }, children:
|
|
8643
|
+
/* @__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 }) })
|
|
8433
8644
|
]
|
|
8434
8645
|
}
|
|
8435
8646
|
)
|
|
@@ -8443,7 +8654,7 @@ function PasswordStrengthReadout({
|
|
|
8443
8654
|
colorWeak
|
|
8444
8655
|
}) {
|
|
8445
8656
|
const level = Number.isFinite(value) ? Math.max(0, Math.min(4, Math.floor(value))) : 0;
|
|
8446
|
-
const labels = ["
|
|
8657
|
+
const labels = ["readout.password.0", "readout.password.1", "readout.password.2", "readout.password.3", "readout.password.4"];
|
|
8447
8658
|
const colors = [colorWeak, "#f97316", "#eab308", "#84cc16", colorStrong];
|
|
8448
8659
|
const barW = 46;
|
|
8449
8660
|
const gap = 6;
|
|
@@ -8487,7 +8698,7 @@ function PasswordStrengthReadout({
|
|
|
8487
8698
|
textAnchor: "end",
|
|
8488
8699
|
fill: level > 0 ? colors[level] ?? colorStrong : "#94a3b8",
|
|
8489
8700
|
style: { userSelect: "none" },
|
|
8490
|
-
children: labels[level]
|
|
8701
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: labels[level] })
|
|
8491
8702
|
}
|
|
8492
8703
|
)
|
|
8493
8704
|
]
|
|
@@ -8622,7 +8833,7 @@ function FileDropzoneReadout({
|
|
|
8622
8833
|
/* @__PURE__ */ jsxRuntime.jsx("title", { children: filename }),
|
|
8623
8834
|
filename.length > 26 ? `${filename.slice(0, 25)}\u2026` : filename
|
|
8624
8835
|
] }),
|
|
8625
|
-
/* @__PURE__ */ jsxRuntime.jsx("text", { x: 54, y: 50, fontSize: 10, fill: "#64748b", style: { userSelect: "none" }, children: "uploaded" })
|
|
8836
|
+
/* @__PURE__ */ jsxRuntime.jsx("text", { x: 54, y: 50, fontSize: 10, fill: "#64748b", style: { userSelect: "none" }, children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: "readout.dropzone.uploaded" }) })
|
|
8626
8837
|
] }) : /* @__PURE__ */ jsxRuntime.jsxs("g", { "data-cdl-dropzone-empty": "1", children: [
|
|
8627
8838
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8628
8839
|
"text",
|
|
@@ -8634,7 +8845,7 @@ function FileDropzoneReadout({
|
|
|
8634
8845
|
textAnchor: "middle",
|
|
8635
8846
|
fill: "#64748b",
|
|
8636
8847
|
style: { userSelect: "none" },
|
|
8637
|
-
children:
|
|
8848
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: "readout.dropzone.drop" })
|
|
8638
8849
|
}
|
|
8639
8850
|
),
|
|
8640
8851
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -8646,7 +8857,7 @@ function FileDropzoneReadout({
|
|
|
8646
8857
|
textAnchor: "middle",
|
|
8647
8858
|
fill: "#94a3b8",
|
|
8648
8859
|
style: { userSelect: "none" },
|
|
8649
|
-
children:
|
|
8860
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: "readout.dropzone.browse" })
|
|
8650
8861
|
}
|
|
8651
8862
|
)
|
|
8652
8863
|
] })
|
|
@@ -8681,7 +8892,7 @@ function LogStreamReadout({
|
|
|
8681
8892
|
}
|
|
8682
8893
|
}
|
|
8683
8894
|
const shown = rows.slice(-5);
|
|
8684
|
-
const levelLabels = ["
|
|
8895
|
+
const levelLabels = ["readout.log.0", "readout.log.1", "readout.log.2", "readout.log.3"];
|
|
8685
8896
|
const levelColors = ["#94a3b8", "#2563eb", "#f97316", "#ef4444"];
|
|
8686
8897
|
const width = 300;
|
|
8687
8898
|
const rowH = 18;
|
|
@@ -8714,7 +8925,7 @@ function LogStreamReadout({
|
|
|
8714
8925
|
fill: "#ffffff",
|
|
8715
8926
|
fontFamily: "monospace",
|
|
8716
8927
|
style: { userSelect: "none" },
|
|
8717
|
-
children: levelLabels[r.level] ?? "
|
|
8928
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: levelLabels[r.level] ?? "readout.log.1" })
|
|
8718
8929
|
}
|
|
8719
8930
|
),
|
|
8720
8931
|
/* @__PURE__ */ jsxRuntime.jsxs("text", { x: 94, y: y + 12, fontSize: 10, fill: "#e2e8f0", fontFamily: "monospace", style: { userSelect: "none" }, children: [
|
|
@@ -8908,10 +9119,10 @@ function CartSummaryReadout({
|
|
|
8908
9119
|
if (!Number.isFinite(shipping)) shipping = 0;
|
|
8909
9120
|
if (!Number.isFinite(total)) total = 0;
|
|
8910
9121
|
const rows = [
|
|
8911
|
-
{ l: "
|
|
8912
|
-
{ l: "
|
|
8913
|
-
{ l: "
|
|
8914
|
-
{ l: "
|
|
9122
|
+
{ l: "readout.cart.items", v: `${items}`, bold: false },
|
|
9123
|
+
{ l: "readout.cart.subtotal", v: `${currency}${subtotal.toFixed(2)}`, bold: false },
|
|
9124
|
+
{ l: "readout.cart.shipping", v: `${currency}${shipping.toFixed(2)}`, bold: false },
|
|
9125
|
+
{ l: "readout.cart.total", v: `${currency}${total.toFixed(2)}`, bold: true }
|
|
8915
9126
|
];
|
|
8916
9127
|
const width = 260;
|
|
8917
9128
|
const rowH = 20;
|
|
@@ -8941,7 +9152,7 @@ function CartSummaryReadout({
|
|
|
8941
9152
|
fontWeight: isTotal ? 700 : 500,
|
|
8942
9153
|
fill: isTotal ? colorTotal : "#334155",
|
|
8943
9154
|
style: { userSelect: "none" },
|
|
8944
|
-
children: r.l
|
|
9155
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: r.l })
|
|
8945
9156
|
}
|
|
8946
9157
|
),
|
|
8947
9158
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -8989,6 +9200,8 @@ function PricingTierReadout({
|
|
|
8989
9200
|
}
|
|
8990
9201
|
}
|
|
8991
9202
|
if (!Number.isFinite(price)) price = 0;
|
|
9203
|
+
const \u5F15\u304F = use\u5B57\u5F15();
|
|
9204
|
+
const \u898B\u305B\u308B\u540D\u524D = planName || \u5F15\u304F("readout.pricing.plan");
|
|
8992
9205
|
const width = 240;
|
|
8993
9206
|
const height = 176;
|
|
8994
9207
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-pricing-tier", "data-cdl-readout": id, children: [
|
|
@@ -9013,7 +9226,7 @@ function PricingTierReadout({
|
|
|
9013
9226
|
textAnchor: "middle",
|
|
9014
9227
|
fill: "#ffffff",
|
|
9015
9228
|
style: { userSelect: "none" },
|
|
9016
|
-
children:
|
|
9229
|
+
children: \u898B\u305B\u308B\u540D\u524D
|
|
9017
9230
|
}
|
|
9018
9231
|
),
|
|
9019
9232
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -9041,7 +9254,7 @@ function PricingTierReadout({
|
|
|
9041
9254
|
textAnchor: "middle",
|
|
9042
9255
|
fill: "#64748b",
|
|
9043
9256
|
style: { userSelect: "none" },
|
|
9044
|
-
children: "
|
|
9257
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: "readout.pricing.perMonth" })
|
|
9045
9258
|
}
|
|
9046
9259
|
),
|
|
9047
9260
|
features.slice(0, 3).map((f, i) => {
|
|
@@ -9056,7 +9269,7 @@ function PricingTierReadout({
|
|
|
9056
9269
|
] }, i);
|
|
9057
9270
|
}),
|
|
9058
9271
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: 16, y: 150, width: width - 32, height: 20, fill: colorAccent, rx: 4 }),
|
|
9059
|
-
/* @__PURE__ */ jsxRuntime.
|
|
9272
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
9060
9273
|
"text",
|
|
9061
9274
|
{
|
|
9062
9275
|
x: width / 2,
|
|
@@ -9066,10 +9279,7 @@ function PricingTierReadout({
|
|
|
9066
9279
|
textAnchor: "middle",
|
|
9067
9280
|
fill: "#ffffff",
|
|
9068
9281
|
style: { userSelect: "none" },
|
|
9069
|
-
children:
|
|
9070
|
-
"Get ",
|
|
9071
|
-
planName || "Plan"
|
|
9072
|
-
]
|
|
9282
|
+
children: \u5F15\u304F("readout.pricing.get", { name: \u898B\u305B\u308B\u540D\u524D })
|
|
9073
9283
|
}
|
|
9074
9284
|
)
|
|
9075
9285
|
]
|
|
@@ -9135,12 +9345,12 @@ function CouponCodeReadout({
|
|
|
9135
9345
|
fill: applied ? colorApplied : "#94a3b8",
|
|
9136
9346
|
fontFamily: "monospace",
|
|
9137
9347
|
style: { userSelect: "none" },
|
|
9138
|
-
children: code || "
|
|
9348
|
+
children: code || /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: "readout.coupon.placeholder" })
|
|
9139
9349
|
}
|
|
9140
9350
|
),
|
|
9141
9351
|
applied ? /* @__PURE__ */ jsxRuntime.jsxs("g", { "data-cdl-coupon-applied": "1", children: [
|
|
9142
9352
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: boxW + 12, y: 10, width: 90, height: height - 20, fill: colorApplied, rx: 4 }),
|
|
9143
|
-
/* @__PURE__ */ jsxRuntime.
|
|
9353
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
9144
9354
|
"text",
|
|
9145
9355
|
{
|
|
9146
9356
|
x: boxW + 57,
|
|
@@ -9150,11 +9360,7 @@ function CouponCodeReadout({
|
|
|
9150
9360
|
textAnchor: "middle",
|
|
9151
9361
|
fill: "#ffffff",
|
|
9152
9362
|
style: { userSelect: "none" },
|
|
9153
|
-
children:
|
|
9154
|
-
"-",
|
|
9155
|
-
discountPct,
|
|
9156
|
-
"% off"
|
|
9157
|
-
]
|
|
9363
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: "readout.coupon.off", v: { pct: discountPct } })
|
|
9158
9364
|
}
|
|
9159
9365
|
)
|
|
9160
9366
|
] }) : /* @__PURE__ */ jsxRuntime.jsxs("g", { "data-cdl-coupon-empty": "1", children: [
|
|
@@ -9169,7 +9375,7 @@ function CouponCodeReadout({
|
|
|
9169
9375
|
textAnchor: "middle",
|
|
9170
9376
|
fill: "#ffffff",
|
|
9171
9377
|
style: { userSelect: "none" },
|
|
9172
|
-
children: "
|
|
9378
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: "readout.coupon.apply" })
|
|
9173
9379
|
}
|
|
9174
9380
|
)
|
|
9175
9381
|
] })
|
|
@@ -9249,10 +9455,7 @@ function ArticlePreviewReadout({
|
|
|
9249
9455
|
excerpt.length > 28 ? `${excerpt.slice(0, 27)}\u2026` : excerpt
|
|
9250
9456
|
] }),
|
|
9251
9457
|
/* @__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) }),
|
|
9252
|
-
/* @__PURE__ */ jsxRuntime.
|
|
9253
|
-
"by ",
|
|
9254
|
-
author
|
|
9255
|
-
] }),
|
|
9458
|
+
/* @__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 } }) }),
|
|
9256
9459
|
/* @__PURE__ */ jsxRuntime.jsx("text", { x: width - 8, y: height - 14, fontSize: 10, textAnchor: "end", fill: "#94a3b8", style: { userSelect: "none" }, children: timeAgo })
|
|
9257
9460
|
]
|
|
9258
9461
|
}
|
|
@@ -23553,12 +23756,12 @@ function \u5272\u308B\u5019\u88DC(text) {
|
|
|
23553
23756
|
\u7A7A\u767D.push([text.slice(0, m.index).trim(), text.slice(m.index + m[0].length).trim()]);
|
|
23554
23757
|
}
|
|
23555
23758
|
if (\u7A7A\u767D.length > 0) return \u7A7A\u767D.filter(\u5165\u3063\u3066\u3044\u308B);
|
|
23556
|
-
const \
|
|
23759
|
+
const \u5B572 = [];
|
|
23557
23760
|
const \u4E26\u3073 = [...text];
|
|
23558
23761
|
for (let i = 1; i < \u4E26\u3073.length; i += 1) {
|
|
23559
|
-
\
|
|
23762
|
+
\u5B572.push([\u4E26\u3073.slice(0, i).join(""), \u4E26\u3073.slice(i).join("")]);
|
|
23560
23763
|
}
|
|
23561
|
-
return \
|
|
23764
|
+
return \u5B572.filter(\u5165\u3063\u3066\u3044\u308B);
|
|
23562
23765
|
}
|
|
23563
23766
|
function \u5165\u3063\u3066\u3044\u308B([\u5DE6, \u53F3]) {
|
|
23564
23767
|
return \u5DE6 !== "" && \u53F3 !== "";
|
|
@@ -25917,9 +26120,9 @@ function \u533A\u753B\u306E\u5272\u4ED8(w, h, \u4EF6\u6570, \u524D\u3092\u51FA\u
|
|
|
25917
26120
|
\u67A0: (idx) => ({ x: \u5E45 * idx, y: 0, w: \u5E45, h })
|
|
25918
26121
|
};
|
|
25919
26122
|
}
|
|
25920
|
-
function \u53CE\u3081\u308B\u7D1A(\
|
|
26123
|
+
function \u53CE\u3081\u308B\u7D1A(\u5B572, \u4F7F\u3048\u308B\u5E452, \u521D\u671F, \u4E0B\u9650) {
|
|
25921
26124
|
let \u7D1A = \u521D\u671F;
|
|
25922
|
-
while (\u7D1A > \u4E0B\u9650 && textWidth(\
|
|
26125
|
+
while (\u7D1A > \u4E0B\u9650 && textWidth(\u5B572, \u7D1A) > \u4F7F\u3048\u308B\u5E452) \u7D1A -= 1;
|
|
25923
26126
|
return \u7D1A;
|
|
25924
26127
|
}
|
|
25925
26128
|
function \u5F27\u306E\u90533(cx, cy, r, \u5272\u5408) {
|