@cardenelabs/cdl 0.58.0 → 0.59.1
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 +43 -1
- package/dist/index.cjs +457 -237
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +458 -238
- package/dist/index.js.map +1 -1
- package/dist/react.cjs +413 -193
- package/dist/react.cjs.map +1 -1
- package/dist/react.js +414 -194
- package/dist/react.js.map +1 -1
- package/package.json +1 -1
- package/src/kinds/row-align.ts +30 -0
- package/src/lang.ts +224 -0
- package/src/render/interactive-panel.tsx +202 -126
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,83 @@ function textWidth(s, size, \u5B57\u9001\u308A = 0) {
|
|
|
1379
1591
|
}
|
|
1380
1592
|
return \u5E45 * size + \u5B57\u9001\u308A * \u5B57\u6570;
|
|
1381
1593
|
}
|
|
1594
|
+
|
|
1595
|
+
// src/kinds/row-align.ts
|
|
1596
|
+
var GENERIC_ROW_LEFT_SIZE_PX = 18;
|
|
1597
|
+
var GENERIC_ROW_RIGHT_SIZE_PX = 21;
|
|
1598
|
+
var MONO_ADVANCE_RATIO = 0.6;
|
|
1599
|
+
var STORAGE_CHAR_ADVANCE_PX = 26 * MONO_ADVANCE_RATIO;
|
|
1600
|
+
var ROW_PAD_X_PX = 26;
|
|
1601
|
+
var ROW_COL_GAP_PX = 16;
|
|
1602
|
+
var STORAGE_COL_GAP_PX = 32;
|
|
1603
|
+
var ROW_RIGHT_PAD_PX = 26;
|
|
1604
|
+
var DELIMITERS = [" -> ", " \u2192 ", " = ", ": ", ":"];
|
|
1605
|
+
function splitRow(row) {
|
|
1606
|
+
for (const d of DELIMITERS) {
|
|
1607
|
+
const idx = row.indexOf(d);
|
|
1608
|
+
if (idx > 0) {
|
|
1609
|
+
return {
|
|
1610
|
+
left: row.slice(0, idx).trim(),
|
|
1611
|
+
right: row.slice(idx + d.length).trim(),
|
|
1612
|
+
split: true
|
|
1613
|
+
};
|
|
1614
|
+
}
|
|
1615
|
+
}
|
|
1616
|
+
return { left: row.trim(), right: "", split: false };
|
|
1617
|
+
}
|
|
1618
|
+
function rowColumnWidth(text, size, mono) {
|
|
1619
|
+
return mono ? displayWidth(text) * size * MONO_ADVANCE_RATIO : textWidth(text, size);
|
|
1620
|
+
}
|
|
1621
|
+
function displayWidth(text) {
|
|
1622
|
+
let w = 0;
|
|
1623
|
+
for (const ch of text) {
|
|
1624
|
+
const code = ch.codePointAt(0) ?? 0;
|
|
1625
|
+
w += code >= 32 && code <= 126 ? 1 : 2;
|
|
1626
|
+
}
|
|
1627
|
+
return w;
|
|
1628
|
+
}
|
|
1629
|
+
function \u6841\u3067\u5272\u308B(text, \u6841) {
|
|
1630
|
+
let w = 0;
|
|
1631
|
+
let \u53D6\u3063\u305F = "";
|
|
1632
|
+
for (const ch of text) {
|
|
1633
|
+
const code = ch.codePointAt(0) ?? 0;
|
|
1634
|
+
const \u5B57\u306E\u6841 = code >= 32 && code <= 126 ? 1 : 2;
|
|
1635
|
+
if (w + \u5B57\u306E\u6841 > \u6841) break;
|
|
1636
|
+
w += \u5B57\u306E\u6841;
|
|
1637
|
+
\u53D6\u3063\u305F += ch;
|
|
1638
|
+
}
|
|
1639
|
+
return [\u53D6\u3063\u305F, text.slice(\u53D6\u3063\u305F.length)];
|
|
1640
|
+
}
|
|
1641
|
+
function \u6841\u3067\u7701\u304F(text, \u4E0A\u9650) {
|
|
1642
|
+
if (displayWidth(text) <= \u4E0A\u9650) return text;
|
|
1643
|
+
return `${\u6841\u3067\u5272\u308B(text, \u4E0A\u9650 - 1)[0]}\u2026`;
|
|
1644
|
+
}
|
|
1645
|
+
function requiredRowsWidth(rows, kind) {
|
|
1646
|
+
if (!rows || rows.length === 0) return 0;
|
|
1647
|
+
const splits = rows.map(splitRow);
|
|
1648
|
+
const \u4E00\u756A\u5E83\u3044 = (\u53D6\u308B) => splits.reduce((m, s) => Math.max(m, \u53D6\u308B(s)), 0);
|
|
1649
|
+
const storage = ROW_PAD_X_PX + \u4E00\u756A\u5E83\u3044((s) => rowColumnWidth(s.left, 26, true)) + STORAGE_COL_GAP_PX + \u4E00\u756A\u5E83\u3044((s) => rowColumnWidth(s.right, 26, true)) + ROW_RIGHT_PAD_PX;
|
|
1650
|
+
const generic = ROW_PAD_X_PX + \u4E00\u756A\u5E83\u3044((s) => rowColumnWidth(s.left, GENERIC_ROW_LEFT_SIZE_PX, false)) + ROW_COL_GAP_PX + \u4E00\u756A\u5E83\u3044((s) => rowColumnWidth(s.right, GENERIC_ROW_RIGHT_SIZE_PX, true)) + ROW_RIGHT_PAD_PX;
|
|
1651
|
+
if (kind === void 0) return Math.ceil(Math.max(storage, generic));
|
|
1652
|
+
return Math.ceil(kind === "storage" ? storage : generic);
|
|
1653
|
+
}
|
|
1654
|
+
var \u64CD\u4F5C\u90E8\u306E\u8A00\u8A9E = react.createContext("en");
|
|
1655
|
+
function use\u5B57\u5F15() {
|
|
1656
|
+
const lang = react.useContext(\u64CD\u4F5C\u90E8\u306E\u8A00\u8A9E);
|
|
1657
|
+
return (key, values) => values ? \u5B57\u3092\u5DEE\u3057\u8FBC\u3080(CDL_TEXT[lang][key], values) : CDL_TEXT[lang][key];
|
|
1658
|
+
}
|
|
1659
|
+
function \u5B57({ k, v }) {
|
|
1660
|
+
const \u5F15\u304F = use\u5B57\u5F15();
|
|
1661
|
+
return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: \u5F15\u304F(k, v) });
|
|
1662
|
+
}
|
|
1663
|
+
function \u5B57\u306E\u898B\u51FA\u3057({
|
|
1664
|
+
k,
|
|
1665
|
+
v,
|
|
1666
|
+
\u524D = ""
|
|
1667
|
+
}) {
|
|
1668
|
+
const \u5F15\u304F = use\u5B57\u5F15();
|
|
1669
|
+
return /* @__PURE__ */ jsxRuntime.jsx("title", { children: k === void 0 ? "" : `${\u524D}${\u5F15\u304F(k, v)}` });
|
|
1670
|
+
}
|
|
1382
1671
|
function createInteractiveSignalsAccessor(diagram2, signals, formula, scroll) {
|
|
1383
1672
|
const kindByInputId = /* @__PURE__ */ new Map();
|
|
1384
1673
|
for (const inp of diagram2.inputs ?? []) {
|
|
@@ -1693,20 +1982,23 @@ function useInteractiveIntegration(diagram2, options = {}) {
|
|
|
1693
1982
|
const readouts = diagram2.readouts ?? [];
|
|
1694
1983
|
if (inputs.length === 0 && scrolls.length === 0 && formulasList.length === 0 && readouts.length === 0)
|
|
1695
1984
|
return null;
|
|
1696
|
-
return
|
|
1697
|
-
|
|
1698
|
-
|
|
1699
|
-
|
|
1700
|
-
{
|
|
1701
|
-
|
|
1702
|
-
|
|
1703
|
-
|
|
1704
|
-
|
|
1705
|
-
|
|
1706
|
-
|
|
1707
|
-
|
|
1708
|
-
|
|
1709
|
-
|
|
1985
|
+
return (
|
|
1986
|
+
// 操作部の中の読み出しと入力欄へ、図の言語を届ける (#849)。 型の外の値は英語に落ちる
|
|
1987
|
+
/* @__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: [
|
|
1988
|
+
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)) }),
|
|
1989
|
+
formulasList.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "cdl-ip-group", children: formulasList.map((f) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1990
|
+
FormulaReadout,
|
|
1991
|
+
{
|
|
1992
|
+
id: f.id,
|
|
1993
|
+
expression: f.expression,
|
|
1994
|
+
value: stateOverrides[f.id]
|
|
1995
|
+
},
|
|
1996
|
+
f.id
|
|
1997
|
+
)) }),
|
|
1998
|
+
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)) }),
|
|
1999
|
+
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)) })
|
|
2000
|
+
] }) })
|
|
2001
|
+
);
|
|
1710
2002
|
}, [diagram2, signals, stateOverrides, mergedStateValues]);
|
|
1711
2003
|
return { stateOverrides, panel, svgRef, containerRef };
|
|
1712
2004
|
}
|
|
@@ -3567,7 +3859,7 @@ function SparklineReadout({
|
|
|
3567
3859
|
if (points.length < 2) {
|
|
3568
3860
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-sparkline", "data-cdl-readout": id, children: [
|
|
3569
3861
|
/* @__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" }),
|
|
3862
|
+
/* @__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
3863
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-sparkline-value", children: Number.isFinite(value) ? value : "\u2014" })
|
|
3572
3864
|
] });
|
|
3573
3865
|
}
|
|
@@ -3830,27 +4122,24 @@ function TimelineWidget({
|
|
|
3830
4122
|
className: "cdl-ip-timeline-scrubber"
|
|
3831
4123
|
}
|
|
3832
4124
|
),
|
|
3833
|
-
/* @__PURE__ */ jsxRuntime.
|
|
4125
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3834
4126
|
"button",
|
|
3835
4127
|
{
|
|
3836
4128
|
type: "button",
|
|
3837
4129
|
className: "cdl-ip-timeline-btn cdl-ip-timeline-speed",
|
|
3838
4130
|
onClick: cycleSpeed,
|
|
3839
4131
|
"aria-label": "speed",
|
|
3840
|
-
children:
|
|
3841
|
-
speed,
|
|
3842
|
-
"x"
|
|
3843
|
-
]
|
|
4132
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: "input.timeline.speed", v: { speed } })
|
|
3844
4133
|
}
|
|
3845
4134
|
)
|
|
3846
4135
|
] }),
|
|
3847
|
-
/* @__PURE__ */ jsxRuntime.
|
|
3848
|
-
|
|
3849
|
-
|
|
3850
|
-
|
|
3851
|
-
|
|
3852
|
-
|
|
3853
|
-
|
|
4136
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-timeline-time", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
4137
|
+
\u5B57,
|
|
4138
|
+
{
|
|
4139
|
+
k: "input.timeline.time",
|
|
4140
|
+
v: { t: (progress * (input.duration / 1e3)).toFixed(1), d: (input.duration / 1e3).toFixed(1) }
|
|
4141
|
+
}
|
|
4142
|
+
) })
|
|
3854
4143
|
] });
|
|
3855
4144
|
}
|
|
3856
4145
|
function RangeWidget({
|
|
@@ -4088,7 +4377,7 @@ function ArrayBarReadout({
|
|
|
4088
4377
|
const range = max - min || 1;
|
|
4089
4378
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-array-bar", "data-cdl-readout": id, children: [
|
|
4090
4379
|
/* @__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) => {
|
|
4380
|
+
/* @__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
4381
|
const h = Math.max(0, Math.min(1, (v - min) / range));
|
|
4093
4382
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
4094
4383
|
"span",
|
|
@@ -4165,7 +4454,7 @@ function StackedBarReadout({
|
|
|
4165
4454
|
const range = max - min || 1;
|
|
4166
4455
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-stacked-bar", "data-cdl-readout": id, children: [
|
|
4167
4456
|
/* @__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) => {
|
|
4457
|
+
/* @__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
4458
|
const va = arrA[i] ?? 0;
|
|
4170
4459
|
const vb = arrB[i] ?? 0;
|
|
4171
4460
|
const hA = Math.max(0, Math.min(1, (va - min) / range));
|
|
@@ -4260,7 +4549,7 @@ function MatrixReadout({
|
|
|
4260
4549
|
};
|
|
4261
4550
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-matrix", "data-cdl-readout": id, children: [
|
|
4262
4551
|
/* @__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(
|
|
4552
|
+
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
4553
|
"svg",
|
|
4265
4554
|
{
|
|
4266
4555
|
className: "cdl-ip-readout-matrix-svg",
|
|
@@ -4318,7 +4607,7 @@ function ProgressGroupReadout({
|
|
|
4318
4607
|
const labelArr = labels ? safeParseArray(labels).map(String) : [];
|
|
4319
4608
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-progress-group", "data-cdl-readout": id, children: [
|
|
4320
4609
|
/* @__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) => {
|
|
4610
|
+
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
4611
|
const pct = Math.max(0, Math.min(100, v / (max || 1) * 100));
|
|
4323
4612
|
const rowLabel = labelArr[i] ?? String(i + 1);
|
|
4324
4613
|
return /* @__PURE__ */ jsxRuntime.jsxs("li", { className: "cdl-ip-readout-progress-group-row", children: [
|
|
@@ -4380,7 +4669,7 @@ function SequenceTimelineReadout({
|
|
|
4380
4669
|
const xFor = (t) => pad + (Math.max(min, Math.min(max, t)) - min) / range * (viewW - pad * 2);
|
|
4381
4670
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-sequence-timeline", "data-cdl-readout": id, children: [
|
|
4382
4671
|
/* @__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(
|
|
4672
|
+
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
4673
|
"svg",
|
|
4385
4674
|
{
|
|
4386
4675
|
className: "cdl-ip-readout-sequence-timeline-svg",
|
|
@@ -4394,7 +4683,7 @@ function SequenceTimelineReadout({
|
|
|
4394
4683
|
events.map((e, i) => {
|
|
4395
4684
|
const x = xFor(e.t);
|
|
4396
4685
|
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", {
|
|
4686
|
+
/* @__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
4687
|
/* @__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
4688
|
/* @__PURE__ */ jsxRuntime.jsx("text", { x, y: trackY + 18, textAnchor: "middle", fontSize: 9, fill: "var(--v4-mute, #64748b)", children: e.t })
|
|
4400
4689
|
] }, i);
|
|
@@ -4437,7 +4726,7 @@ function RadarReadout({
|
|
|
4437
4726
|
const polygon = points.length ? points.map((p) => `${p.x.toFixed(1)},${p.y.toFixed(1)}`).join(" ") : "";
|
|
4438
4727
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-radar", "data-cdl-readout": id, children: [
|
|
4439
4728
|
/* @__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: [
|
|
4729
|
+
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
4730
|
[0.33, 0.66, 1].map((t) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
4442
4731
|
"polygon",
|
|
4443
4732
|
{
|
|
@@ -4499,14 +4788,14 @@ function BubbleChartReadout({
|
|
|
4499
4788
|
const maxCircleR = 18;
|
|
4500
4789
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-bubble-chart", "data-cdl-readout": id, children: [
|
|
4501
4790
|
/* @__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: [
|
|
4791
|
+
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
4792
|
/* @__PURE__ */ jsxRuntime.jsx("line", { x1: pad, x2: viewW - pad, y1: viewH - pad, y2: viewH - pad, stroke: "rgba(148,163,184,0.4)" }),
|
|
4504
4793
|
/* @__PURE__ */ jsxRuntime.jsx("line", { x1: pad, x2: pad, y1: pad, y2: viewH - pad, stroke: "rgba(148,163,184,0.4)" }),
|
|
4505
4794
|
bubbles.map((b, i) => {
|
|
4506
4795
|
const cx = pad + (Math.max(xMin, Math.min(xMax, b.x)) - xMin) / xRange * w;
|
|
4507
4796
|
const cy = viewH - pad - (Math.max(yMin, Math.min(yMax, b.y)) - yMin) / yRange * h;
|
|
4508
4797
|
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", {
|
|
4798
|
+
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
4799
|
})
|
|
4511
4800
|
] })
|
|
4512
4801
|
] });
|
|
@@ -4529,7 +4818,7 @@ function DonutReadout({
|
|
|
4529
4818
|
let acc = 0;
|
|
4530
4819
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-donut", "data-cdl-readout": id, children: [
|
|
4531
4820
|
/* @__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) => {
|
|
4821
|
+
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
4822
|
const from = acc;
|
|
4534
4823
|
const to = acc + v / total;
|
|
4535
4824
|
acc = to;
|
|
@@ -4590,7 +4879,7 @@ function CalendarHeatmapReadout({
|
|
|
4590
4879
|
height: cellSize,
|
|
4591
4880
|
rx: 2,
|
|
4592
4881
|
fill,
|
|
4593
|
-
children: /* @__PURE__ */ jsxRuntime.jsx("title",
|
|
4882
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57\u306E\u898B\u51FA\u3057, { k: "readout.calendarHeatmap.title", v: { i, v } })
|
|
4594
4883
|
},
|
|
4595
4884
|
i
|
|
4596
4885
|
);
|
|
@@ -4710,7 +4999,7 @@ function CandlestickReadout({
|
|
|
4710
4999
|
const candleW = candles.length === 0 ? 0 : Math.max(3, (w - (candles.length - 1) * 3) / candles.length);
|
|
4711
5000
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-candlestick", "data-cdl-readout": id, children: [
|
|
4712
5001
|
/* @__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) => {
|
|
5002
|
+
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
5003
|
const cx = pad + i * (candleW + 3) + candleW / 2;
|
|
4715
5004
|
const yHigh = yFor(cd.h);
|
|
4716
5005
|
const yLow = yFor(cd.l);
|
|
@@ -4731,7 +5020,7 @@ function CandlestickReadout({
|
|
|
4731
5020
|
height: bodyH,
|
|
4732
5021
|
fill: isUp ? color : color,
|
|
4733
5022
|
fillOpacity: isUp ? 1 : 0.85,
|
|
4734
|
-
children: /* @__PURE__ */ jsxRuntime.jsx("title", {
|
|
5023
|
+
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
5024
|
}
|
|
4736
5025
|
)
|
|
4737
5026
|
] }, i);
|
|
@@ -4765,7 +5054,7 @@ function VennReadout({
|
|
|
4765
5054
|
const cxB = viewW / 2 + gap / 2;
|
|
4766
5055
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-venn", "data-cdl-readout": id, children: [
|
|
4767
5056
|
/* @__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: [
|
|
5057
|
+
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
5058
|
/* @__PURE__ */ jsxRuntime.jsx("circle", { cx: cxA, cy, r: rA, fill: colorA, fillOpacity: 0.4, stroke: colorA, strokeWidth: 1.5 }),
|
|
4770
5059
|
/* @__PURE__ */ jsxRuntime.jsx("circle", { cx: cxB, cy, r: rB, fill: colorB, fillOpacity: 0.4, stroke: colorB, strokeWidth: 1.5 }),
|
|
4771
5060
|
/* @__PURE__ */ jsxRuntime.jsx("text", { x: cxA - rA + 8, y: cy - 4, fontSize: 11, fill: "var(--v4-ink, #1a1f2a)", fontWeight: 600, children: labelA }),
|
|
@@ -4816,11 +5105,11 @@ function SlopeReadout({
|
|
|
4816
5105
|
const yFor = (v) => pad + (1 - (Math.max(min, Math.min(max, v)) - min) / range) * h;
|
|
4817
5106
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-slope", "data-cdl-readout": id, children: [
|
|
4818
5107
|
/* @__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: [
|
|
5108
|
+
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
5109
|
/* @__PURE__ */ jsxRuntime.jsx("line", { x1: xL, x2: xL, y1: pad - 4, y2: viewH - pad + 4, stroke: "rgba(148,163,184,0.4)" }),
|
|
4821
5110
|
/* @__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" }),
|
|
5111
|
+
/* @__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" }) }),
|
|
5112
|
+
/* @__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
5113
|
slopes.map((s, i) => {
|
|
4825
5114
|
const yB = yFor(s.before);
|
|
4826
5115
|
const yA = yFor(s.after);
|
|
@@ -4867,7 +5156,7 @@ function FunnelReadout({
|
|
|
4867
5156
|
const [bR, bG, bB] = hexToRgb(colorBottom);
|
|
4868
5157
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-funnel", "data-cdl-readout": id, children: [
|
|
4869
5158
|
/* @__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) => {
|
|
5159
|
+
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
5160
|
const ratio = i / Math.max(1, stages.length - 1);
|
|
4872
5161
|
const w = maxCount > 0 ? s.count / maxCount * (viewW - 12) : 0;
|
|
4873
5162
|
const yTop = i * stageH + 2;
|
|
@@ -4929,7 +5218,7 @@ function GanttReadout({
|
|
|
4929
5218
|
const xFor = (v) => labelW + (Math.max(min, Math.min(max, v)) - min) / range * (viewW - labelW - pad);
|
|
4930
5219
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-gantt", "data-cdl-readout": id, children: [
|
|
4931
5220
|
/* @__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) => {
|
|
5221
|
+
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
5222
|
const y = pad + i * rowH;
|
|
4934
5223
|
const x1 = xFor(t.start);
|
|
4935
5224
|
const x2 = xFor(t.start + t.duration);
|
|
@@ -5020,7 +5309,7 @@ function TreemapReadout({
|
|
|
5020
5309
|
}
|
|
5021
5310
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-treemap", "data-cdl-readout": id, children: [
|
|
5022
5311
|
/* @__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: [
|
|
5312
|
+
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
5313
|
/* @__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
5314
|
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
5315
|
] }, i)) })
|
|
@@ -5086,7 +5375,7 @@ function SankeyReadout({
|
|
|
5086
5375
|
const rightUsed = {};
|
|
5087
5376
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-sankey", "data-cdl-readout": id, children: [
|
|
5088
5377
|
/* @__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: [
|
|
5378
|
+
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
5379
|
leftNodes.map((n, i) => {
|
|
5091
5380
|
const p = leftPos[n.name];
|
|
5092
5381
|
return /* @__PURE__ */ jsxRuntime.jsxs("g", { children: [
|
|
@@ -5148,7 +5437,7 @@ function PolarAreaReadout({
|
|
|
5148
5437
|
const maxR = Math.min(cx, cy) - 20;
|
|
5149
5438
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-polar-area", "data-cdl-readout": id, children: [
|
|
5150
5439
|
/* @__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: [
|
|
5440
|
+
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
5441
|
[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
5442
|
arr.map((v, i) => {
|
|
5154
5443
|
const ratio = Math.sqrt(Math.max(0, Math.min(max, v)) / (max || 1));
|
|
@@ -5194,7 +5483,7 @@ function StepIndicatorReadout({
|
|
|
5194
5483
|
const cy = viewH / 2 - 2;
|
|
5195
5484
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-step-indicator", "data-cdl-readout": id, children: [
|
|
5196
5485
|
/* @__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: [
|
|
5486
|
+
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
5487
|
n > 1 ? Array.from({ length: n - 1 }).map((_, i) => {
|
|
5199
5488
|
const x1 = pad + i * step;
|
|
5200
5489
|
const x2 = pad + (i + 1) * step;
|
|
@@ -5284,8 +5573,8 @@ function BulletChartReadout({
|
|
|
5284
5573
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: pad, y: pad, width: badX - pad, height: trackH, fill: "rgba(239,68,68,0.25)", rx: 2 }),
|
|
5285
5574
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: badX, y: pad, width: avgX - badX, height: trackH, fill: "rgba(234,179,8,0.25)" }),
|
|
5286
5575
|
/* @__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(
|
|
5576
|
+
/* @__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 } }) }),
|
|
5577
|
+
/* @__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
5578
|
] })
|
|
5290
5579
|
] });
|
|
5291
5580
|
}
|
|
@@ -5340,7 +5629,7 @@ function LeaderboardReadout({
|
|
|
5340
5629
|
const medals = ["#eab308", "#94a3b8", "#c2410c"];
|
|
5341
5630
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-leaderboard", "data-cdl-readout": id, children: [
|
|
5342
5631
|
/* @__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) => {
|
|
5632
|
+
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
5633
|
const pct = topMax > 0 ? it.value / topMax * 100 : 0;
|
|
5345
5634
|
const rankColor = i < medals.length ? medals[i] : "#cbd5e1";
|
|
5346
5635
|
return /* @__PURE__ */ jsxRuntime.jsxs("li", { className: "cdl-ip-readout-leaderboard-row", children: [
|
|
@@ -5391,7 +5680,7 @@ function TrafficLightReadout({
|
|
|
5391
5680
|
style: {
|
|
5392
5681
|
filter: isActive ? `drop-shadow(0 0 6px ${colors[i]})` : void 0
|
|
5393
5682
|
},
|
|
5394
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
5683
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57\u306E\u898B\u51FA\u3057, { k: isActive ? ["readout.trafficLight.red", "readout.trafficLight.yellow", "readout.trafficLight.green"][i] : void 0 })
|
|
5395
5684
|
},
|
|
5396
5685
|
i
|
|
5397
5686
|
);
|
|
@@ -5430,7 +5719,7 @@ function TagCloudReadout({
|
|
|
5430
5719
|
const sizeFor = (w) => minSize + (w - minW) / range * (maxSize - minSize);
|
|
5431
5720
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-tag-cloud", "data-cdl-readout": id, children: [
|
|
5432
5721
|
/* @__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(
|
|
5722
|
+
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
5723
|
"span",
|
|
5435
5724
|
{
|
|
5436
5725
|
className: "cdl-ip-readout-tag-cloud-tag",
|
|
@@ -5467,7 +5756,7 @@ function ActivityFeedReadout({
|
|
|
5467
5756
|
const shown = events.slice(0, max);
|
|
5468
5757
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-activity-feed", "data-cdl-readout": id, children: [
|
|
5469
5758
|
/* @__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: [
|
|
5759
|
+
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
5760
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-activity-feed-bullet", style: { background: color } }),
|
|
5472
5761
|
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "cdl-ip-readout-activity-feed-content", children: [
|
|
5473
5762
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-activity-feed-actor", children: e.actor }),
|
|
@@ -5518,7 +5807,7 @@ function RatingReadout({
|
|
|
5518
5807
|
strokeWidth: 1
|
|
5519
5808
|
}
|
|
5520
5809
|
),
|
|
5521
|
-
isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
5810
|
+
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
5811
|
]
|
|
5523
5812
|
},
|
|
5524
5813
|
i
|
|
@@ -5614,7 +5903,7 @@ function ChatBubbleReadout({
|
|
|
5614
5903
|
const shown = messages.slice(0, max);
|
|
5615
5904
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-chat-bubble", "data-cdl-readout": id, children: [
|
|
5616
5905
|
/* @__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(
|
|
5906
|
+
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
5907
|
"li",
|
|
5619
5908
|
{
|
|
5620
5909
|
className: `cdl-ip-readout-chat-bubble-row ${m.isSelf ? "self" : "other"}`,
|
|
@@ -5706,7 +5995,7 @@ function ChecklistReadout({
|
|
|
5706
5995
|
const pct = items.length === 0 ? 0 : Math.round(done / items.length * 100);
|
|
5707
5996
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-checklist", "data-cdl-readout": id, children: [
|
|
5708
5997
|
/* @__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: [
|
|
5998
|
+
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
5999
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-readout-checklist-progress", children: [
|
|
5711
6000
|
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "cdl-ip-readout-checklist-progress-text", children: [
|
|
5712
6001
|
done,
|
|
@@ -5817,11 +6106,7 @@ function PriceTagReadout({
|
|
|
5817
6106
|
"%"
|
|
5818
6107
|
] }) : null
|
|
5819
6108
|
] }),
|
|
5820
|
-
savings > 0 ? /* @__PURE__ */ jsxRuntime.
|
|
5821
|
-
"You save ",
|
|
5822
|
-
currency,
|
|
5823
|
-
savings
|
|
5824
|
-
] }) : null
|
|
6109
|
+
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
6110
|
] });
|
|
5826
6111
|
}
|
|
5827
6112
|
function SpinnerReadout({
|
|
@@ -5958,6 +6243,11 @@ function StopwatchReadout({
|
|
|
5958
6243
|
}
|
|
5959
6244
|
);
|
|
5960
6245
|
}
|
|
6246
|
+
var \u78BA\u4FE1\u5EA6\u306E\u5E2F\u306E\u5B57 = {
|
|
6247
|
+
low: "readout.confidence.low",
|
|
6248
|
+
mid: "readout.confidence.mid",
|
|
6249
|
+
high: "readout.confidence.high"
|
|
6250
|
+
};
|
|
5961
6251
|
function ConfidenceMeterReadout({
|
|
5962
6252
|
id,
|
|
5963
6253
|
label,
|
|
@@ -5990,7 +6280,7 @@ function ConfidenceMeterReadout({
|
|
|
5990
6280
|
Math.round(safeValue),
|
|
5991
6281
|
"%"
|
|
5992
6282
|
] }),
|
|
5993
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-confidence-meter-band", style: { color: bandColor }, children: bandLabel })
|
|
6283
|
+
/* @__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
6284
|
] }),
|
|
5995
6285
|
/* @__PURE__ */ jsxRuntime.jsxs("svg", { className: "cdl-ip-readout-confidence-meter-svg", viewBox: `0 0 ${viewW} ${viewH}`, width: viewW, height: viewH, children: [
|
|
5996
6286
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: pad, y: pad, width: lowX - pad, height: h, fill: "rgba(239,68,68,0.2)", rx: 2 }),
|
|
@@ -6025,7 +6315,7 @@ function ReactionBarReadout({
|
|
|
6025
6315
|
}
|
|
6026
6316
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-reaction-bar", "data-cdl-readout": id, children: [
|
|
6027
6317
|
/* @__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: [
|
|
6318
|
+
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
6319
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-reaction-bar-emoji", children: r.emoji }),
|
|
6030
6320
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-reaction-bar-count", style: { color }, children: r.count })
|
|
6031
6321
|
] }, i)) })
|
|
@@ -6058,7 +6348,7 @@ function PillGroupReadout({
|
|
|
6058
6348
|
}
|
|
6059
6349
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-pill-group", "data-cdl-readout": id, children: [
|
|
6060
6350
|
/* @__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(
|
|
6351
|
+
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
6352
|
"span",
|
|
6063
6353
|
{
|
|
6064
6354
|
className: "cdl-ip-readout-pill-group-pill",
|
|
@@ -6146,7 +6436,7 @@ function MetricsGridReadout({
|
|
|
6146
6436
|
}
|
|
6147
6437
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-metrics-grid", "data-cdl-readout": id, children: [
|
|
6148
6438
|
/* @__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: [
|
|
6439
|
+
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
6440
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-readout-metrics-grid-value", style: { color }, children: [
|
|
6151
6441
|
m.value,
|
|
6152
6442
|
m.unit ? /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "cdl-ip-readout-metrics-grid-unit", children: [
|
|
@@ -6233,7 +6523,7 @@ function IconTileReadout({
|
|
|
6233
6523
|
}
|
|
6234
6524
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-icon-tile", "data-cdl-readout": id, children: [
|
|
6235
6525
|
/* @__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: [
|
|
6526
|
+
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
6527
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "cdl-ip-readout-icon-tile-icon", style: { background: color }, children: t.icon }),
|
|
6238
6528
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-readout-icon-tile-content", children: [
|
|
6239
6529
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "cdl-ip-readout-icon-tile-value", children: t.value }),
|
|
@@ -6274,7 +6564,7 @@ function TokenListReadout({
|
|
|
6274
6564
|
}
|
|
6275
6565
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-token-list", "data-cdl-readout": id, children: [
|
|
6276
6566
|
/* @__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) => {
|
|
6567
|
+
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
6568
|
const isUp = t.delta >= 0;
|
|
6279
6569
|
const deltaColor = isUp ? colorUp : colorDown;
|
|
6280
6570
|
const arrow = isUp ? "\u25B2" : "\u25BC";
|
|
@@ -6328,7 +6618,7 @@ function MapPinReadout({
|
|
|
6328
6618
|
const yFor = (v) => pad + (Math.max(yMin, Math.min(yMax, v)) - yMin) / yRange * (viewH - pad * 2);
|
|
6329
6619
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-map-pin", "data-cdl-readout": id, children: [
|
|
6330
6620
|
/* @__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: [
|
|
6621
|
+
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
6622
|
/* @__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
6623
|
[0.25, 0.5, 0.75].map((t) => /* @__PURE__ */ jsxRuntime.jsxs("g", { children: [
|
|
6334
6624
|
/* @__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 +6646,9 @@ function PriorityBadgeReadout({
|
|
|
6356
6646
|
if (p === "high" || p === "2") level = "high";
|
|
6357
6647
|
else if (p === "low" || p === "0") level = "low";
|
|
6358
6648
|
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: "
|
|
6649
|
+
high: { icon: "\u25B2", color: "#ef4444", bg: "rgba(239,68,68,0.12)", text: "readout.priority.high" },
|
|
6650
|
+
med: { icon: "\u25CF", color: "#eab308", bg: "rgba(234,179,8,0.12)", text: "readout.priority.med" },
|
|
6651
|
+
low: { icon: "\u25BC", color: "#64748b", bg: "rgba(100,116,139,0.12)", text: "readout.priority.low" }
|
|
6362
6652
|
};
|
|
6363
6653
|
const cur = spec[level];
|
|
6364
6654
|
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 +6661,7 @@ function PriorityBadgeReadout({
|
|
|
6371
6661
|
style: { background: cur.bg, borderColor: cur.color, color: cur.color },
|
|
6372
6662
|
children: [
|
|
6373
6663
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-priority-badge-icon", children: cur.icon }),
|
|
6374
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { children: cur.text })
|
|
6664
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: cur.text }) })
|
|
6375
6665
|
]
|
|
6376
6666
|
}
|
|
6377
6667
|
),
|
|
@@ -6410,7 +6700,7 @@ function PodiumReadout({
|
|
|
6410
6700
|
const order = [1, 0, 2];
|
|
6411
6701
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-podium", "data-cdl-readout": id, children: [
|
|
6412
6702
|
/* @__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) => {
|
|
6703
|
+
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
6704
|
const w = podium[rankIdx];
|
|
6415
6705
|
if (!w) return null;
|
|
6416
6706
|
const x = pad + colIdx * (colW + pad);
|
|
@@ -6453,7 +6743,7 @@ function PollBarReadout({
|
|
|
6453
6743
|
const maxCount = options.length ? Math.max(...options.map((o) => o.count)) : 0;
|
|
6454
6744
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-poll-bar", "data-cdl-readout": id, children: [
|
|
6455
6745
|
/* @__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) => {
|
|
6746
|
+
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
6747
|
const pct = Math.round(o.count / total * 100);
|
|
6458
6748
|
const isWinner = o.count === maxCount && maxCount > 0;
|
|
6459
6749
|
const fillColor = isWinner ? colorWinner : color;
|
|
@@ -6488,6 +6778,7 @@ function UserStackReadout({
|
|
|
6488
6778
|
max,
|
|
6489
6779
|
size
|
|
6490
6780
|
}) {
|
|
6781
|
+
const \u5F15\u304F = use\u5B57\u5F15();
|
|
6491
6782
|
const names = safeParseArray(value).map(String);
|
|
6492
6783
|
const shown = names.slice(0, max);
|
|
6493
6784
|
const overflow = names.length > max;
|
|
@@ -6496,7 +6787,7 @@ function UserStackReadout({
|
|
|
6496
6787
|
const initialsOf = (name) => name.split(/\s+/).filter(Boolean).slice(0, 2).map((w) => w[0]?.toUpperCase() ?? "").join("") || "?";
|
|
6497
6788
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-user-stack", "data-cdl-readout": id, children: [
|
|
6498
6789
|
/* @__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: [
|
|
6790
|
+
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
6791
|
shown.map((name, i) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
6501
6792
|
"span",
|
|
6502
6793
|
{
|
|
@@ -6524,7 +6815,7 @@ function UserStackReadout({
|
|
|
6524
6815
|
fontSize: `${Math.round(size * 0.35)}px`,
|
|
6525
6816
|
marginLeft: `-${size * 0.3}px`
|
|
6526
6817
|
},
|
|
6527
|
-
title:
|
|
6818
|
+
title: \u5F15\u304F("readout.more", { n: overflowCount }),
|
|
6528
6819
|
children: [
|
|
6529
6820
|
"+",
|
|
6530
6821
|
overflowCount
|
|
@@ -6559,7 +6850,7 @@ function CommitListReadout({
|
|
|
6559
6850
|
const shown = commits.slice(0, max);
|
|
6560
6851
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-commit-list", "data-cdl-readout": id, children: [
|
|
6561
6852
|
/* @__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: [
|
|
6853
|
+
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
6854
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-commit-list-sha", style: { color }, children: c.sha }),
|
|
6564
6855
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-commit-list-msg", children: c.msg }),
|
|
6565
6856
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-commit-list-author", children: c.author })
|
|
@@ -6639,7 +6930,7 @@ function EventLogReadout({
|
|
|
6639
6930
|
};
|
|
6640
6931
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-event-log", "data-cdl-readout": id, children: [
|
|
6641
6932
|
/* @__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) => {
|
|
6933
|
+
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
6934
|
const spec = severitySpec[e.severity] ?? severitySpec.info;
|
|
6644
6935
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
6645
6936
|
"li",
|
|
@@ -6682,7 +6973,7 @@ function SearchResultReadout({
|
|
|
6682
6973
|
const shown = hits.slice(0, max);
|
|
6683
6974
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-search-result", "data-cdl-readout": id, children: [
|
|
6684
6975
|
/* @__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: [
|
|
6976
|
+
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
6977
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "cdl-ip-readout-search-result-title", style: { color }, children: h.title }),
|
|
6687
6978
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "cdl-ip-readout-search-result-snippet", children: h.snippet }),
|
|
6688
6979
|
h.url ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "cdl-ip-readout-search-result-url", children: h.url }) : null
|
|
@@ -6715,7 +7006,7 @@ function RoadmapReadout({
|
|
|
6715
7006
|
const colors = ["#2563eb", "#22c55e", "#eab308", "#a855f7"];
|
|
6716
7007
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-roadmap", "data-cdl-readout": id, style: { minWidth: `${viewW}px` }, children: [
|
|
6717
7008
|
/* @__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: [
|
|
7009
|
+
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
7010
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "cdl-ip-readout-roadmap-header", style: { background: colors[i % colors.length] }, children: q.quarter }),
|
|
6720
7011
|
/* @__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
7012
|
] }, i)) })
|
|
@@ -6747,7 +7038,7 @@ function WeatherForecastReadout({
|
|
|
6747
7038
|
}
|
|
6748
7039
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-weather-forecast", "data-cdl-readout": id, children: [
|
|
6749
7040
|
/* @__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: [
|
|
7041
|
+
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
7042
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "cdl-ip-readout-weather-forecast-name", children: d.day }),
|
|
6752
7043
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "cdl-ip-readout-weather-forecast-icon", children: d.icon }),
|
|
6753
7044
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-readout-weather-forecast-high", children: [
|
|
@@ -6791,17 +7082,14 @@ function VideoCardReadout({
|
|
|
6791
7082
|
const shown = videos.slice(0, max);
|
|
6792
7083
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-video-card", "data-cdl-readout": id, children: [
|
|
6793
7084
|
/* @__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: [
|
|
7085
|
+
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
7086
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-readout-video-card-thumb", style: { background: color }, children: [
|
|
6796
7087
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-video-card-thumb-icon", children: v.emoji }),
|
|
6797
7088
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-video-card-duration", children: v.duration })
|
|
6798
7089
|
] }),
|
|
6799
7090
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-readout-video-card-info", children: [
|
|
6800
7091
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "cdl-ip-readout-video-card-title", children: v.title }),
|
|
6801
|
-
/* @__PURE__ */ jsxRuntime.
|
|
6802
|
-
v.views,
|
|
6803
|
-
" views"
|
|
6804
|
-
] })
|
|
7092
|
+
/* @__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
7093
|
] })
|
|
6806
7094
|
] }, i)) })
|
|
6807
7095
|
] });
|
|
@@ -6818,7 +7106,7 @@ function OrderStatusReadout({
|
|
|
6818
7106
|
const safeCurrent = Number.isFinite(current) ? Math.max(0, Math.min(stepArr.length - 1, Math.round(current))) : 0;
|
|
6819
7107
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-order-status", "data-cdl-readout": id, "data-cdl-step": safeCurrent, children: [
|
|
6820
7108
|
/* @__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) => {
|
|
7109
|
+
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
7110
|
const isDone = i < safeCurrent;
|
|
6823
7111
|
const isCurrent = i === safeCurrent;
|
|
6824
7112
|
const isPending = i > safeCurrent;
|
|
@@ -6868,9 +7156,9 @@ function AttendanceGridReadout({
|
|
|
6868
7156
|
const memberArr = safeParseArray(members).map(String);
|
|
6869
7157
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-attendance-grid", "data-cdl-readout": id, children: [
|
|
6870
7158
|
/* @__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: [
|
|
7159
|
+
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
7160
|
/* @__PURE__ */ jsxRuntime.jsx("thead", { children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { children: [
|
|
6873
|
-
/* @__PURE__ */ jsxRuntime.jsx("th", { className: "cdl-ip-readout-attendance-grid-corner", children: "
|
|
7161
|
+
/* @__PURE__ */ jsxRuntime.jsx("th", { className: "cdl-ip-readout-attendance-grid-corner", children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: "readout.attendance.corner" }) }),
|
|
6874
7162
|
memberArr.map((m, i) => /* @__PURE__ */ jsxRuntime.jsx("th", { className: "cdl-ip-readout-attendance-grid-member", children: m }, i))
|
|
6875
7163
|
] }) }),
|
|
6876
7164
|
/* @__PURE__ */ jsxRuntime.jsx("tbody", { children: rows.map((r, i) => /* @__PURE__ */ jsxRuntime.jsxs("tr", { children: [
|
|
@@ -6924,7 +7212,7 @@ function TimezoneClockReadout({
|
|
|
6924
7212
|
}
|
|
6925
7213
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-timezone-clock", "data-cdl-readout": id, children: [
|
|
6926
7214
|
/* @__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: [
|
|
7215
|
+
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
7216
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "cdl-ip-readout-timezone-clock-city", children: c.city }),
|
|
6929
7217
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "cdl-ip-readout-timezone-clock-time", style: { color }, children: c.time }),
|
|
6930
7218
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-readout-timezone-clock-offset", children: [
|
|
@@ -6958,7 +7246,7 @@ function FormSummaryReadout({
|
|
|
6958
7246
|
}
|
|
6959
7247
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-form-summary", "data-cdl-readout": id, children: [
|
|
6960
7248
|
/* @__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: [
|
|
7249
|
+
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
7250
|
/* @__PURE__ */ jsxRuntime.jsx("dt", { className: "cdl-ip-readout-form-summary-key", children: f.name }),
|
|
6963
7251
|
/* @__PURE__ */ jsxRuntime.jsx("dd", { className: "cdl-ip-readout-form-summary-value", style: { color }, children: f.value })
|
|
6964
7252
|
] }, i)) })
|
|
@@ -6991,7 +7279,7 @@ function SongQueueReadout({
|
|
|
6991
7279
|
const safeCurrent = Number.isFinite(current) ? Math.round(current) : -1;
|
|
6992
7280
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-song-queue", "data-cdl-readout": id, "data-cdl-current": safeCurrent, children: [
|
|
6993
7281
|
/* @__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) => {
|
|
7282
|
+
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
7283
|
const isCurrent = i === safeCurrent;
|
|
6996
7284
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
6997
7285
|
"li",
|
|
@@ -7036,12 +7324,20 @@ function CalendarMonthReadout({
|
|
|
7036
7324
|
} catch {
|
|
7037
7325
|
}
|
|
7038
7326
|
}
|
|
7039
|
-
const weekDays = [
|
|
7327
|
+
const weekDays = [
|
|
7328
|
+
"readout.weekday.0",
|
|
7329
|
+
"readout.weekday.1",
|
|
7330
|
+
"readout.weekday.2",
|
|
7331
|
+
"readout.weekday.3",
|
|
7332
|
+
"readout.weekday.4",
|
|
7333
|
+
"readout.weekday.5",
|
|
7334
|
+
"readout.weekday.6"
|
|
7335
|
+
];
|
|
7040
7336
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-calendar-month", "data-cdl-readout": id, children: [
|
|
7041
7337
|
/* @__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: [
|
|
7338
|
+
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
7339
|
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)) }),
|
|
7340
|
+
/* @__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
7341
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "cdl-ip-readout-calendar-month-grid", children: days.map((d, i) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
7046
7342
|
"div",
|
|
7047
7343
|
{
|
|
@@ -7084,7 +7380,7 @@ function TerminalReadout({
|
|
|
7084
7380
|
const shown = lines.slice(0, max);
|
|
7085
7381
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-terminal", "data-cdl-readout": id, children: [
|
|
7086
7382
|
/* @__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: [
|
|
7383
|
+
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
7384
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-readout-terminal-titlebar", children: [
|
|
7089
7385
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-terminal-dot", style: { background: "#ef4444" } }),
|
|
7090
7386
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-readout-terminal-dot", style: { background: "#eab308" } }),
|
|
@@ -7183,10 +7479,11 @@ function KanbanBoardReadout({
|
|
|
7183
7479
|
columnWidth,
|
|
7184
7480
|
max
|
|
7185
7481
|
}) {
|
|
7482
|
+
const \u5F15\u304F = use\u5B57\u5F15();
|
|
7186
7483
|
const buckets = {
|
|
7187
|
-
todo: { key: "todo", label: "
|
|
7188
|
-
inprogress: { key: "inprogress", label: "
|
|
7189
|
-
done: { key: "done", label: "
|
|
7484
|
+
todo: { key: "todo", label: \u5F15\u304F("readout.kanban.todo"), color: "#94a3b8", tasks: [] },
|
|
7485
|
+
inprogress: { key: "inprogress", label: \u5F15\u304F("readout.kanban.inprogress"), color: "#2563eb", tasks: [] },
|
|
7486
|
+
done: { key: "done", label: \u5F15\u304F("readout.kanban.done"), color: "#22c55e", tasks: [] }
|
|
7190
7487
|
};
|
|
7191
7488
|
const trimmed = value.trim();
|
|
7192
7489
|
if (trimmed.startsWith("[") && trimmed.endsWith("]")) {
|
|
@@ -7297,13 +7594,13 @@ function KanbanBoardReadout({
|
|
|
7297
7594
|
style: { userSelect: "none" },
|
|
7298
7595
|
children: [
|
|
7299
7596
|
/* @__PURE__ */ jsxRuntime.jsx("title", { children: task.title }),
|
|
7300
|
-
task.title
|
|
7597
|
+
\u6841\u3067\u7701\u304F(task.title, 18)
|
|
7301
7598
|
]
|
|
7302
7599
|
}
|
|
7303
7600
|
)
|
|
7304
7601
|
] }, ti);
|
|
7305
7602
|
}),
|
|
7306
|
-
overflow > 0 ? /* @__PURE__ */ jsxRuntime.
|
|
7603
|
+
overflow > 0 ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
7307
7604
|
"text",
|
|
7308
7605
|
{
|
|
7309
7606
|
x: x + columnWidth / 2,
|
|
@@ -7312,11 +7609,7 @@ function KanbanBoardReadout({
|
|
|
7312
7609
|
textAnchor: "middle",
|
|
7313
7610
|
fill: "#64748b",
|
|
7314
7611
|
style: { userSelect: "none" },
|
|
7315
|
-
children:
|
|
7316
|
-
"+",
|
|
7317
|
-
overflow,
|
|
7318
|
-
" more"
|
|
7319
|
-
]
|
|
7612
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: "readout.more", v: { n: overflow } })
|
|
7320
7613
|
}
|
|
7321
7614
|
) : null
|
|
7322
7615
|
] }, k);
|
|
@@ -7438,7 +7731,7 @@ function TimelineVerticalReadout({
|
|
|
7438
7731
|
style: { userSelect: "none" },
|
|
7439
7732
|
children: [
|
|
7440
7733
|
/* @__PURE__ */ jsxRuntime.jsx("title", { children: ev.title }),
|
|
7441
|
-
ev.title
|
|
7734
|
+
\u6841\u3067\u7701\u304F(ev.title, 38)
|
|
7442
7735
|
]
|
|
7443
7736
|
}
|
|
7444
7737
|
),
|
|
@@ -7452,7 +7745,7 @@ function TimelineVerticalReadout({
|
|
|
7452
7745
|
style: { userSelect: "none" },
|
|
7453
7746
|
children: [
|
|
7454
7747
|
/* @__PURE__ */ jsxRuntime.jsx("title", { children: ev.description }),
|
|
7455
|
-
ev.description
|
|
7748
|
+
\u6841\u3067\u7701\u304F(ev.description, 44)
|
|
7456
7749
|
]
|
|
7457
7750
|
}
|
|
7458
7751
|
) : null
|
|
@@ -7795,7 +8088,7 @@ function StepProgressReadout({
|
|
|
7795
8088
|
style: { userSelect: "none" },
|
|
7796
8089
|
children: [
|
|
7797
8090
|
/* @__PURE__ */ jsxRuntime.jsx("title", { children: s }),
|
|
7798
|
-
s
|
|
8091
|
+
\u6841\u3067\u7701\u304F(s, 10)
|
|
7799
8092
|
]
|
|
7800
8093
|
}
|
|
7801
8094
|
)
|
|
@@ -7856,7 +8149,7 @@ function UserPresenceReadout({
|
|
|
7856
8149
|
fontWeight: 500,
|
|
7857
8150
|
fill: "#0f172a",
|
|
7858
8151
|
style: { userSelect: "none" },
|
|
7859
|
-
children: u.name
|
|
8152
|
+
children: \u6841\u3067\u7701\u304F(u.name, 24)
|
|
7860
8153
|
}
|
|
7861
8154
|
),
|
|
7862
8155
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -7873,7 +8166,7 @@ function UserPresenceReadout({
|
|
|
7873
8166
|
)
|
|
7874
8167
|
] }, i);
|
|
7875
8168
|
}),
|
|
7876
|
-
overflow > 0 ? /* @__PURE__ */ jsxRuntime.
|
|
8169
|
+
overflow > 0 ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
7877
8170
|
"text",
|
|
7878
8171
|
{
|
|
7879
8172
|
x: width / 2,
|
|
@@ -7882,11 +8175,7 @@ function UserPresenceReadout({
|
|
|
7882
8175
|
textAnchor: "middle",
|
|
7883
8176
|
fill: "#64748b",
|
|
7884
8177
|
style: { userSelect: "none" },
|
|
7885
|
-
children:
|
|
7886
|
-
"+",
|
|
7887
|
-
overflow,
|
|
7888
|
-
" more"
|
|
7889
|
-
]
|
|
8178
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: "readout.more", v: { n: overflow } })
|
|
7890
8179
|
}
|
|
7891
8180
|
) : null
|
|
7892
8181
|
]
|
|
@@ -7937,12 +8226,7 @@ function RatingThumbReadout({
|
|
|
7937
8226
|
"\u25B2 ",
|
|
7938
8227
|
upCount
|
|
7939
8228
|
] }),
|
|
7940
|
-
/* @__PURE__ */ jsxRuntime.
|
|
7941
|
-
upPct,
|
|
7942
|
-
"% up \xB7 ",
|
|
7943
|
-
total,
|
|
7944
|
-
" votes"
|
|
7945
|
-
] }),
|
|
8229
|
+
/* @__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
8230
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
7947
8231
|
"text",
|
|
7948
8232
|
{
|
|
@@ -8027,7 +8311,7 @@ function OrgChartMiniReadout({
|
|
|
8027
8311
|
style: { userSelect: "none" },
|
|
8028
8312
|
children: [
|
|
8029
8313
|
/* @__PURE__ */ jsxRuntime.jsx("title", { children: n.name }),
|
|
8030
|
-
n.name
|
|
8314
|
+
\u6841\u3067\u7701\u304F(n.name, 10)
|
|
8031
8315
|
]
|
|
8032
8316
|
}
|
|
8033
8317
|
),
|
|
@@ -8117,11 +8401,7 @@ function KpiTrendTileReadout({
|
|
|
8117
8401
|
deltaPct.toFixed(1),
|
|
8118
8402
|
"%)"
|
|
8119
8403
|
] }),
|
|
8120
|
-
/* @__PURE__ */ jsxRuntime.
|
|
8121
|
-
"prev ",
|
|
8122
|
-
prev,
|
|
8123
|
-
unit
|
|
8124
|
-
] }),
|
|
8404
|
+
/* @__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
8405
|
history.length > 1 ? /* @__PURE__ */ jsxRuntime.jsx("polyline", { points, fill: "none", stroke: arrowColor, strokeWidth: 2 }) : null
|
|
8126
8406
|
]
|
|
8127
8407
|
}
|
|
@@ -8209,7 +8489,7 @@ function QuickPollEmojiReadout({
|
|
|
8209
8489
|
)
|
|
8210
8490
|
] }, i);
|
|
8211
8491
|
}),
|
|
8212
|
-
/* @__PURE__ */ jsxRuntime.
|
|
8492
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8213
8493
|
"text",
|
|
8214
8494
|
{
|
|
8215
8495
|
x: width - 8,
|
|
@@ -8218,10 +8498,7 @@ function QuickPollEmojiReadout({
|
|
|
8218
8498
|
textAnchor: "end",
|
|
8219
8499
|
fill: "#64748b",
|
|
8220
8500
|
style: { userSelect: "none" },
|
|
8221
|
-
children:
|
|
8222
|
-
"total ",
|
|
8223
|
-
total
|
|
8224
|
-
]
|
|
8501
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: "readout.poll.total", v: { n: total } })
|
|
8225
8502
|
}
|
|
8226
8503
|
)
|
|
8227
8504
|
]
|
|
@@ -8356,14 +8633,8 @@ function ThreadSummaryReadout({
|
|
|
8356
8633
|
height,
|
|
8357
8634
|
children: [
|
|
8358
8635
|
/* @__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
|
-
] }),
|
|
8636
|
+
/* @__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 } }) }),
|
|
8637
|
+
/* @__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
8638
|
/* @__PURE__ */ jsxRuntime.jsx("text", { x: 12, y: 60, fontSize: 10, fill: "#64748b", style: { userSelect: "none" }, children: timeAgo }),
|
|
8368
8639
|
unread > 0 ? /* @__PURE__ */ jsxRuntime.jsxs("g", { "data-cdl-thread-unread": "1", children: [
|
|
8369
8640
|
/* @__PURE__ */ jsxRuntime.jsx("circle", { cx: width - 24, cy: 26, r: 14, fill: colorUnread }),
|
|
@@ -8394,7 +8665,7 @@ function ReadReceiptReadout({
|
|
|
8394
8665
|
colorPending
|
|
8395
8666
|
}) {
|
|
8396
8667
|
const status = Number.isFinite(value) ? Math.max(0, Math.min(2, Math.floor(value))) : 0;
|
|
8397
|
-
const
|
|
8668
|
+
const labelKey = status === 0 ? "readout.readReceipt.sent" : status === 1 ? "readout.readReceipt.delivered" : "readout.readReceipt.read";
|
|
8398
8669
|
const iconColor = status === 2 ? colorRead : colorPending;
|
|
8399
8670
|
const width = 180;
|
|
8400
8671
|
const height = 32;
|
|
@@ -8429,7 +8700,7 @@ function ReadReceiptReadout({
|
|
|
8429
8700
|
}
|
|
8430
8701
|
) : null
|
|
8431
8702
|
] }),
|
|
8432
|
-
/* @__PURE__ */ jsxRuntime.jsx("text", { x: 52, y: height / 2 + 4, fontSize: 11, fontWeight: 600, fill: iconColor, style: { userSelect: "none" }, children:
|
|
8703
|
+
/* @__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
8704
|
]
|
|
8434
8705
|
}
|
|
8435
8706
|
)
|
|
@@ -8443,7 +8714,7 @@ function PasswordStrengthReadout({
|
|
|
8443
8714
|
colorWeak
|
|
8444
8715
|
}) {
|
|
8445
8716
|
const level = Number.isFinite(value) ? Math.max(0, Math.min(4, Math.floor(value))) : 0;
|
|
8446
|
-
const labels = ["
|
|
8717
|
+
const labels = ["readout.password.0", "readout.password.1", "readout.password.2", "readout.password.3", "readout.password.4"];
|
|
8447
8718
|
const colors = [colorWeak, "#f97316", "#eab308", "#84cc16", colorStrong];
|
|
8448
8719
|
const barW = 46;
|
|
8449
8720
|
const gap = 6;
|
|
@@ -8487,7 +8758,7 @@ function PasswordStrengthReadout({
|
|
|
8487
8758
|
textAnchor: "end",
|
|
8488
8759
|
fill: level > 0 ? colors[level] ?? colorStrong : "#94a3b8",
|
|
8489
8760
|
style: { userSelect: "none" },
|
|
8490
|
-
children: labels[level]
|
|
8761
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: labels[level] })
|
|
8491
8762
|
}
|
|
8492
8763
|
)
|
|
8493
8764
|
]
|
|
@@ -8620,9 +8891,9 @@ function FileDropzoneReadout({
|
|
|
8620
8891
|
),
|
|
8621
8892
|
/* @__PURE__ */ jsxRuntime.jsxs("text", { x: 54, y: 34, fontSize: 12, fontWeight: 600, fill: "#0f172a", style: { userSelect: "none" }, children: [
|
|
8622
8893
|
/* @__PURE__ */ jsxRuntime.jsx("title", { children: filename }),
|
|
8623
|
-
filename
|
|
8894
|
+
\u6841\u3067\u7701\u304F(filename, 26)
|
|
8624
8895
|
] }),
|
|
8625
|
-
/* @__PURE__ */ jsxRuntime.jsx("text", { x: 54, y: 50, fontSize: 10, fill: "#64748b", style: { userSelect: "none" }, children: "uploaded" })
|
|
8896
|
+
/* @__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
8897
|
] }) : /* @__PURE__ */ jsxRuntime.jsxs("g", { "data-cdl-dropzone-empty": "1", children: [
|
|
8627
8898
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8628
8899
|
"text",
|
|
@@ -8634,7 +8905,7 @@ function FileDropzoneReadout({
|
|
|
8634
8905
|
textAnchor: "middle",
|
|
8635
8906
|
fill: "#64748b",
|
|
8636
8907
|
style: { userSelect: "none" },
|
|
8637
|
-
children:
|
|
8908
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: "readout.dropzone.drop" })
|
|
8638
8909
|
}
|
|
8639
8910
|
),
|
|
8640
8911
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -8646,7 +8917,7 @@ function FileDropzoneReadout({
|
|
|
8646
8917
|
textAnchor: "middle",
|
|
8647
8918
|
fill: "#94a3b8",
|
|
8648
8919
|
style: { userSelect: "none" },
|
|
8649
|
-
children:
|
|
8920
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: "readout.dropzone.browse" })
|
|
8650
8921
|
}
|
|
8651
8922
|
)
|
|
8652
8923
|
] })
|
|
@@ -8681,7 +8952,7 @@ function LogStreamReadout({
|
|
|
8681
8952
|
}
|
|
8682
8953
|
}
|
|
8683
8954
|
const shown = rows.slice(-5);
|
|
8684
|
-
const levelLabels = ["
|
|
8955
|
+
const levelLabels = ["readout.log.0", "readout.log.1", "readout.log.2", "readout.log.3"];
|
|
8685
8956
|
const levelColors = ["#94a3b8", "#2563eb", "#f97316", "#ef4444"];
|
|
8686
8957
|
const width = 300;
|
|
8687
8958
|
const rowH = 18;
|
|
@@ -8699,7 +8970,7 @@ function LogStreamReadout({
|
|
|
8699
8970
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: 0, y: 0, width, height, fill: "#0f172a", rx: 4 }),
|
|
8700
8971
|
shown.map((r, i) => {
|
|
8701
8972
|
const y = 4 + i * rowH;
|
|
8702
|
-
const displayMsg = r.msg
|
|
8973
|
+
const displayMsg = \u6841\u3067\u7701\u304F(r.msg, 24);
|
|
8703
8974
|
return /* @__PURE__ */ jsxRuntime.jsxs("g", { "data-cdl-log-row": i, children: [
|
|
8704
8975
|
/* @__PURE__ */ jsxRuntime.jsx("text", { x: 6, y: y + 12, fontSize: 9, fill: "#94a3b8", fontFamily: "monospace", style: { userSelect: "none" }, children: r.ts }),
|
|
8705
8976
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: 62, y: y + 3, width: 26, height: 12, fill: levelColors[r.level] ?? "#94a3b8", rx: 2 }),
|
|
@@ -8714,7 +8985,7 @@ function LogStreamReadout({
|
|
|
8714
8985
|
fill: "#ffffff",
|
|
8715
8986
|
fontFamily: "monospace",
|
|
8716
8987
|
style: { userSelect: "none" },
|
|
8717
|
-
children: levelLabels[r.level] ?? "
|
|
8988
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: levelLabels[r.level] ?? "readout.log.1" })
|
|
8718
8989
|
}
|
|
8719
8990
|
),
|
|
8720
8991
|
/* @__PURE__ */ jsxRuntime.jsxs("text", { x: 94, y: y + 12, fontSize: 10, fill: "#e2e8f0", fontFamily: "monospace", style: { userSelect: "none" }, children: [
|
|
@@ -8799,7 +9070,7 @@ function AlertBannerReadout({
|
|
|
8799
9070
|
style: { userSelect: "none" },
|
|
8800
9071
|
children: [
|
|
8801
9072
|
/* @__PURE__ */ jsxRuntime.jsx("title", { children: message }),
|
|
8802
|
-
message
|
|
9073
|
+
\u6841\u3067\u7701\u304F(message, 32)
|
|
8803
9074
|
]
|
|
8804
9075
|
}
|
|
8805
9076
|
)
|
|
@@ -8869,7 +9140,7 @@ function ServiceHealthReadout({
|
|
|
8869
9140
|
style: { userSelect: "none" },
|
|
8870
9141
|
children: [
|
|
8871
9142
|
/* @__PURE__ */ jsxRuntime.jsx("title", { children: s.name }),
|
|
8872
|
-
s.name
|
|
9143
|
+
\u6841\u3067\u7701\u304F(s.name, 10)
|
|
8873
9144
|
]
|
|
8874
9145
|
}
|
|
8875
9146
|
)
|
|
@@ -8908,10 +9179,10 @@ function CartSummaryReadout({
|
|
|
8908
9179
|
if (!Number.isFinite(shipping)) shipping = 0;
|
|
8909
9180
|
if (!Number.isFinite(total)) total = 0;
|
|
8910
9181
|
const rows = [
|
|
8911
|
-
{ l: "
|
|
8912
|
-
{ l: "
|
|
8913
|
-
{ l: "
|
|
8914
|
-
{ l: "
|
|
9182
|
+
{ l: "readout.cart.items", v: `${items}`, bold: false },
|
|
9183
|
+
{ l: "readout.cart.subtotal", v: `${currency}${subtotal.toFixed(2)}`, bold: false },
|
|
9184
|
+
{ l: "readout.cart.shipping", v: `${currency}${shipping.toFixed(2)}`, bold: false },
|
|
9185
|
+
{ l: "readout.cart.total", v: `${currency}${total.toFixed(2)}`, bold: true }
|
|
8915
9186
|
];
|
|
8916
9187
|
const width = 260;
|
|
8917
9188
|
const rowH = 20;
|
|
@@ -8941,7 +9212,7 @@ function CartSummaryReadout({
|
|
|
8941
9212
|
fontWeight: isTotal ? 700 : 500,
|
|
8942
9213
|
fill: isTotal ? colorTotal : "#334155",
|
|
8943
9214
|
style: { userSelect: "none" },
|
|
8944
|
-
children: r.l
|
|
9215
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: r.l })
|
|
8945
9216
|
}
|
|
8946
9217
|
),
|
|
8947
9218
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -8989,6 +9260,8 @@ function PricingTierReadout({
|
|
|
8989
9260
|
}
|
|
8990
9261
|
}
|
|
8991
9262
|
if (!Number.isFinite(price)) price = 0;
|
|
9263
|
+
const \u5F15\u304F = use\u5B57\u5F15();
|
|
9264
|
+
const \u898B\u305B\u308B\u540D\u524D = planName || \u5F15\u304F("readout.pricing.plan");
|
|
8992
9265
|
const width = 240;
|
|
8993
9266
|
const height = 176;
|
|
8994
9267
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-pricing-tier", "data-cdl-readout": id, children: [
|
|
@@ -9013,7 +9286,7 @@ function PricingTierReadout({
|
|
|
9013
9286
|
textAnchor: "middle",
|
|
9014
9287
|
fill: "#ffffff",
|
|
9015
9288
|
style: { userSelect: "none" },
|
|
9016
|
-
children:
|
|
9289
|
+
children: \u898B\u305B\u308B\u540D\u524D
|
|
9017
9290
|
}
|
|
9018
9291
|
),
|
|
9019
9292
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -9041,12 +9314,12 @@ function PricingTierReadout({
|
|
|
9041
9314
|
textAnchor: "middle",
|
|
9042
9315
|
fill: "#64748b",
|
|
9043
9316
|
style: { userSelect: "none" },
|
|
9044
|
-
children: "
|
|
9317
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: "readout.pricing.perMonth" })
|
|
9045
9318
|
}
|
|
9046
9319
|
),
|
|
9047
9320
|
features.slice(0, 3).map((f, i) => {
|
|
9048
9321
|
const y = 96 + i * 18;
|
|
9049
|
-
const displayF = f
|
|
9322
|
+
const displayF = \u6841\u3067\u7701\u304F(f, 24);
|
|
9050
9323
|
return /* @__PURE__ */ jsxRuntime.jsxs("g", { "data-cdl-tier-feature": i, children: [
|
|
9051
9324
|
/* @__PURE__ */ jsxRuntime.jsx("text", { x: 16, y, fontSize: 11, fill: colorAccent, style: { userSelect: "none" }, children: "\u2713" }),
|
|
9052
9325
|
/* @__PURE__ */ jsxRuntime.jsxs("text", { x: 30, y, fontSize: 11, fill: "#0f172a", style: { userSelect: "none" }, children: [
|
|
@@ -9056,7 +9329,7 @@ function PricingTierReadout({
|
|
|
9056
9329
|
] }, i);
|
|
9057
9330
|
}),
|
|
9058
9331
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: 16, y: 150, width: width - 32, height: 20, fill: colorAccent, rx: 4 }),
|
|
9059
|
-
/* @__PURE__ */ jsxRuntime.
|
|
9332
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
9060
9333
|
"text",
|
|
9061
9334
|
{
|
|
9062
9335
|
x: width / 2,
|
|
@@ -9066,10 +9339,7 @@ function PricingTierReadout({
|
|
|
9066
9339
|
textAnchor: "middle",
|
|
9067
9340
|
fill: "#ffffff",
|
|
9068
9341
|
style: { userSelect: "none" },
|
|
9069
|
-
children:
|
|
9070
|
-
"Get ",
|
|
9071
|
-
planName || "Plan"
|
|
9072
|
-
]
|
|
9342
|
+
children: \u5F15\u304F("readout.pricing.get", { name: \u898B\u305B\u308B\u540D\u524D })
|
|
9073
9343
|
}
|
|
9074
9344
|
)
|
|
9075
9345
|
]
|
|
@@ -9135,12 +9405,12 @@ function CouponCodeReadout({
|
|
|
9135
9405
|
fill: applied ? colorApplied : "#94a3b8",
|
|
9136
9406
|
fontFamily: "monospace",
|
|
9137
9407
|
style: { userSelect: "none" },
|
|
9138
|
-
children: code || "
|
|
9408
|
+
children: code || /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: "readout.coupon.placeholder" })
|
|
9139
9409
|
}
|
|
9140
9410
|
),
|
|
9141
9411
|
applied ? /* @__PURE__ */ jsxRuntime.jsxs("g", { "data-cdl-coupon-applied": "1", children: [
|
|
9142
9412
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: boxW + 12, y: 10, width: 90, height: height - 20, fill: colorApplied, rx: 4 }),
|
|
9143
|
-
/* @__PURE__ */ jsxRuntime.
|
|
9413
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
9144
9414
|
"text",
|
|
9145
9415
|
{
|
|
9146
9416
|
x: boxW + 57,
|
|
@@ -9150,11 +9420,7 @@ function CouponCodeReadout({
|
|
|
9150
9420
|
textAnchor: "middle",
|
|
9151
9421
|
fill: "#ffffff",
|
|
9152
9422
|
style: { userSelect: "none" },
|
|
9153
|
-
children:
|
|
9154
|
-
"-",
|
|
9155
|
-
discountPct,
|
|
9156
|
-
"% off"
|
|
9157
|
-
]
|
|
9423
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: "readout.coupon.off", v: { pct: discountPct } })
|
|
9158
9424
|
}
|
|
9159
9425
|
)
|
|
9160
9426
|
] }) : /* @__PURE__ */ jsxRuntime.jsxs("g", { "data-cdl-coupon-empty": "1", children: [
|
|
@@ -9169,7 +9435,7 @@ function CouponCodeReadout({
|
|
|
9169
9435
|
textAnchor: "middle",
|
|
9170
9436
|
fill: "#ffffff",
|
|
9171
9437
|
style: { userSelect: "none" },
|
|
9172
|
-
children: "
|
|
9438
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(\u5B57, { k: "readout.coupon.apply" })
|
|
9173
9439
|
}
|
|
9174
9440
|
)
|
|
9175
9441
|
] })
|
|
@@ -9204,6 +9470,7 @@ function ArticlePreviewReadout({
|
|
|
9204
9470
|
const width = 300;
|
|
9205
9471
|
const height = 116;
|
|
9206
9472
|
const thumbW = 80;
|
|
9473
|
+
const [\u629C\u7C8B\u306E\u4E00\u884C\u76EE, \u629C\u7C8B\u306E\u6B8B\u308A] = \u6841\u3067\u5272\u308B(excerpt, 28);
|
|
9207
9474
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cdl-ip-item cdl-ip-readout-article-preview", "data-cdl-readout": id, children: [
|
|
9208
9475
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cdl-ip-label", children: label }),
|
|
9209
9476
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -9240,19 +9507,16 @@ function ArticlePreviewReadout({
|
|
|
9240
9507
|
style: { userSelect: "none" },
|
|
9241
9508
|
children: [
|
|
9242
9509
|
/* @__PURE__ */ jsxRuntime.jsx("title", { children: title }),
|
|
9243
|
-
title
|
|
9510
|
+
\u6841\u3067\u7701\u304F(title, 26)
|
|
9244
9511
|
]
|
|
9245
9512
|
}
|
|
9246
9513
|
),
|
|
9247
9514
|
/* @__PURE__ */ jsxRuntime.jsxs("text", { x: thumbW + 20, y: 44, fontSize: 10, fill: "#334155", style: { userSelect: "none" }, children: [
|
|
9248
9515
|
/* @__PURE__ */ jsxRuntime.jsx("title", { children: excerpt }),
|
|
9249
|
-
|
|
9250
|
-
] }),
|
|
9251
|
-
/* @__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.jsxs("text", { x: thumbW + 20, y: height - 14, fontSize: 10, fontWeight: 600, fill: "#64748b", style: { userSelect: "none" }, children: [
|
|
9253
|
-
"by ",
|
|
9254
|
-
author
|
|
9516
|
+
\u629C\u7C8B\u306E\u4E00\u884C\u76EE
|
|
9255
9517
|
] }),
|
|
9518
|
+
/* @__PURE__ */ jsxRuntime.jsx("text", { x: thumbW + 20, y: 60, fontSize: 10, fill: "#334155", style: { userSelect: "none" }, children: \u6841\u3067\u7701\u304F(\u629C\u7C8B\u306E\u6B8B\u308A, 28) }),
|
|
9519
|
+
/* @__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
9520
|
/* @__PURE__ */ jsxRuntime.jsx("text", { x: width - 8, y: height - 14, fontSize: 10, textAnchor: "end", fill: "#94a3b8", style: { userSelect: "none" }, children: timeAgo })
|
|
9257
9521
|
]
|
|
9258
9522
|
}
|
|
@@ -9303,7 +9567,7 @@ function TocNavReadout({
|
|
|
9303
9567
|
shown.map((it, i) => {
|
|
9304
9568
|
const y = 4 + i * rowH;
|
|
9305
9569
|
const indent = 12 + it.level * 16;
|
|
9306
|
-
const displayT = it.title
|
|
9570
|
+
const displayT = \u6841\u3067\u7701\u304F(it.title, 30);
|
|
9307
9571
|
return /* @__PURE__ */ jsxRuntime.jsxs("g", { "data-cdl-toc-item": i, children: [
|
|
9308
9572
|
it.active ? /* @__PURE__ */ jsxRuntime.jsx("rect", { x: 4, y, width: 3, height: rowH - 4, fill: colorActive, rx: 1 }) : null,
|
|
9309
9573
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -20612,50 +20876,6 @@ function recomputeContainedLanes(lanes, nodes) {
|
|
|
20612
20876
|
});
|
|
20613
20877
|
}
|
|
20614
20878
|
|
|
20615
|
-
// src/kinds/row-align.ts
|
|
20616
|
-
var GENERIC_ROW_LEFT_SIZE_PX = 18;
|
|
20617
|
-
var GENERIC_ROW_RIGHT_SIZE_PX = 21;
|
|
20618
|
-
var MONO_ADVANCE_RATIO = 0.6;
|
|
20619
|
-
var STORAGE_CHAR_ADVANCE_PX = 26 * MONO_ADVANCE_RATIO;
|
|
20620
|
-
var ROW_PAD_X_PX = 26;
|
|
20621
|
-
var ROW_COL_GAP_PX = 16;
|
|
20622
|
-
var STORAGE_COL_GAP_PX = 32;
|
|
20623
|
-
var ROW_RIGHT_PAD_PX = 26;
|
|
20624
|
-
var DELIMITERS = [" -> ", " \u2192 ", " = ", ": ", ":"];
|
|
20625
|
-
function splitRow(row) {
|
|
20626
|
-
for (const d of DELIMITERS) {
|
|
20627
|
-
const idx = row.indexOf(d);
|
|
20628
|
-
if (idx > 0) {
|
|
20629
|
-
return {
|
|
20630
|
-
left: row.slice(0, idx).trim(),
|
|
20631
|
-
right: row.slice(idx + d.length).trim(),
|
|
20632
|
-
split: true
|
|
20633
|
-
};
|
|
20634
|
-
}
|
|
20635
|
-
}
|
|
20636
|
-
return { left: row.trim(), right: "", split: false };
|
|
20637
|
-
}
|
|
20638
|
-
function rowColumnWidth(text, size, mono) {
|
|
20639
|
-
return mono ? displayWidth(text) * size * MONO_ADVANCE_RATIO : textWidth(text, size);
|
|
20640
|
-
}
|
|
20641
|
-
function displayWidth(text) {
|
|
20642
|
-
let w = 0;
|
|
20643
|
-
for (const ch of text) {
|
|
20644
|
-
const code = ch.codePointAt(0) ?? 0;
|
|
20645
|
-
w += code >= 32 && code <= 126 ? 1 : 2;
|
|
20646
|
-
}
|
|
20647
|
-
return w;
|
|
20648
|
-
}
|
|
20649
|
-
function requiredRowsWidth(rows, kind) {
|
|
20650
|
-
if (!rows || rows.length === 0) return 0;
|
|
20651
|
-
const splits = rows.map(splitRow);
|
|
20652
|
-
const \u4E00\u756A\u5E83\u3044 = (\u53D6\u308B) => splits.reduce((m, s) => Math.max(m, \u53D6\u308B(s)), 0);
|
|
20653
|
-
const storage = ROW_PAD_X_PX + \u4E00\u756A\u5E83\u3044((s) => rowColumnWidth(s.left, 26, true)) + STORAGE_COL_GAP_PX + \u4E00\u756A\u5E83\u3044((s) => rowColumnWidth(s.right, 26, true)) + ROW_RIGHT_PAD_PX;
|
|
20654
|
-
const generic = ROW_PAD_X_PX + \u4E00\u756A\u5E83\u3044((s) => rowColumnWidth(s.left, GENERIC_ROW_LEFT_SIZE_PX, false)) + ROW_COL_GAP_PX + \u4E00\u756A\u5E83\u3044((s) => rowColumnWidth(s.right, GENERIC_ROW_RIGHT_SIZE_PX, true)) + ROW_RIGHT_PAD_PX;
|
|
20655
|
-
if (kind === void 0) return Math.ceil(Math.max(storage, generic));
|
|
20656
|
-
return Math.ceil(kind === "storage" ? storage : generic);
|
|
20657
|
-
}
|
|
20658
|
-
|
|
20659
20879
|
// src/layout/head-label.ts
|
|
20660
20880
|
var \u7AEF\u306E\u5B57\u3092\u623B\u3059\u8DDD\u96E2 = 22;
|
|
20661
20881
|
var \u7AEF\u306E\u5B57\u3068\u7DDA\u306E\u9699\u9593 = 8;
|
|
@@ -23553,12 +23773,12 @@ function \u5272\u308B\u5019\u88DC(text) {
|
|
|
23553
23773
|
\u7A7A\u767D.push([text.slice(0, m.index).trim(), text.slice(m.index + m[0].length).trim()]);
|
|
23554
23774
|
}
|
|
23555
23775
|
if (\u7A7A\u767D.length > 0) return \u7A7A\u767D.filter(\u5165\u3063\u3066\u3044\u308B);
|
|
23556
|
-
const \
|
|
23776
|
+
const \u5B572 = [];
|
|
23557
23777
|
const \u4E26\u3073 = [...text];
|
|
23558
23778
|
for (let i = 1; i < \u4E26\u3073.length; i += 1) {
|
|
23559
|
-
\
|
|
23779
|
+
\u5B572.push([\u4E26\u3073.slice(0, i).join(""), \u4E26\u3073.slice(i).join("")]);
|
|
23560
23780
|
}
|
|
23561
|
-
return \
|
|
23781
|
+
return \u5B572.filter(\u5165\u3063\u3066\u3044\u308B);
|
|
23562
23782
|
}
|
|
23563
23783
|
function \u5165\u3063\u3066\u3044\u308B([\u5DE6, \u53F3]) {
|
|
23564
23784
|
return \u5DE6 !== "" && \u53F3 !== "";
|
|
@@ -25917,9 +26137,9 @@ function \u533A\u753B\u306E\u5272\u4ED8(w, h, \u4EF6\u6570, \u524D\u3092\u51FA\u
|
|
|
25917
26137
|
\u67A0: (idx) => ({ x: \u5E45 * idx, y: 0, w: \u5E45, h })
|
|
25918
26138
|
};
|
|
25919
26139
|
}
|
|
25920
|
-
function \u53CE\u3081\u308B\u7D1A(\
|
|
26140
|
+
function \u53CE\u3081\u308B\u7D1A(\u5B572, \u4F7F\u3048\u308B\u5E452, \u521D\u671F, \u4E0B\u9650) {
|
|
25921
26141
|
let \u7D1A = \u521D\u671F;
|
|
25922
|
-
while (\u7D1A > \u4E0B\u9650 && textWidth(\
|
|
26142
|
+
while (\u7D1A > \u4E0B\u9650 && textWidth(\u5B572, \u7D1A) > \u4F7F\u3048\u308B\u5E452) \u7D1A -= 1;
|
|
25923
26143
|
return \u7D1A;
|
|
25924
26144
|
}
|
|
25925
26145
|
function \u5F27\u306E\u90533(cx, cy, r, \u5272\u5408) {
|