@cardenelabs/cdl 0.76.0 → 0.77.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -357,7 +357,14 @@ function resolveLang(value) {
357
357
  }
358
358
  var en = {
359
359
  /** `shape-terminal` の 2 行目 (命令の出力) */
360
- "terminal.output": "\u2192 12 chunks in 1.8s",
360
+ /*
361
+ * `shape-terminal` の出力の行。
362
+ *
363
+ * **いちばん長い行が絵の倍率を決める** (#891)。 端末の中身は自分の座標で組んでから箱へ
364
+ * 収めるので、この行が長いほど全部の字が小さくなる。 120x110 の箱では 20 字の版で
365
+ * 7.71 world まで落ちていた。
366
+ */
367
+ "terminal.output": "\u2192 12 chunks",
361
368
  /** `shape-code-block` の札の file 名 */
362
369
  "codeBlock.fileName": "utils.ts",
363
370
  /** `shape-kanban-card` の課題の番号 */
@@ -584,7 +591,7 @@ var en = {
584
591
  "readout.trafficLight.green": "green"
585
592
  };
586
593
  var ja = {
587
- "terminal.output": "\u2192 1.8 \u79D2\u3067\u5B8C\u4E86",
594
+ "terminal.output": "\u2192 12 \u500B\u3092\u7D50\u5408",
588
595
  "codeBlock.fileName": "\u5171\u901A.ts",
589
596
  "kanbanCard.id": "#1111",
590
597
  "kanbanCard.status": "\u9032\u884C\u4E2D",
@@ -1659,6 +1666,7 @@ function textWidth(s, size, \u5B57\u9001\u308A = 0) {
1659
1666
  }
1660
1667
  return \u5E45 * size + \u5B57\u9001\u308A * \u5B57\u6570;
1661
1668
  }
1669
+ var \u7E2E\u3093\u3060\u7D75\u306E\u5B57\u306E\u4E0B\u9650 = 8;
1662
1670
 
1663
1671
  // src/kinds/row-align.ts
1664
1672
  var GENERIC_ROW_LEFT_SIZE_PX = 18;
@@ -25258,6 +25266,11 @@ function \u5272\u5408\u8868\u8A18(frac) {
25258
25266
  const v = Math.round(frac * 1e3) / 10;
25259
25267
  return `${Number.isInteger(v) ? v : v.toFixed(1)}%`;
25260
25268
  }
25269
+ var \u7A74\u306B\u5BFE\u3059\u308B\u4E0A\u9650 = 0.8;
25270
+ function \u4E2D\u592E\u306E\u5B57(\u6BD4\u4F8B\u3057\u305F\u5927\u304D\u3055, \u7A74\u306E\u534A\u5F84, \u6587) {
25271
+ const \u5165\u308B\u5927\u304D\u3055 = \u7A74\u306E\u534A\u5F84 * 2 * \u7A74\u306B\u5BFE\u3059\u308B\u4E0A\u9650 / Math.max(textWidth(\u6587, 1), 1e-6);
25272
+ return Math.min(Math.max(\u6BD4\u4F8B\u3057\u305F\u5927\u304D\u3055, \u7E2E\u3093\u3060\u7D75\u306E\u5B57\u306E\u4E0B\u9650), \u5165\u308B\u5927\u304D\u3055);
25273
+ }
25261
25274
  function ChartPieNode({
25262
25275
  node,
25263
25276
  active,
@@ -25315,6 +25328,11 @@ function ChartPieNode({
25315
25328
  const cx = node.w / 2;
25316
25329
  const cy = PAD_TOP2 + chartAreaH / 2;
25317
25330
  const \u524D\u306Eslices = \u524D\u3042\u308A ? \u8F2A\u3092\u7D44\u3080(data, cx, cy, \u524D\u306E\u5916\u534A\u5F84, \u524D\u306E\u5185\u534A\u5F84, \u524D\u306E\u5272\u5408) : [];
25331
+ const \u7A74 = \u524D\u3042\u308A ? \u524D\u306E\u5185\u534A\u5F84 : \u5916\u306E\u5185\u534A\u5F84;
25332
+ const \u5408\u8A08\u306E\u6587 = \u5B9F\u5024\u8868\u8A18(Math.round(\u524D\u3042\u308A ? \u4ECA\u306E\u5408\u8A08 : total));
25333
+ const \u5408\u8A08\u306E\u5B57 = \u4E2D\u592E\u306E\u5B57(Math.round(radius * 0.26), \u7A74, \u5408\u8A08\u306E\u6587);
25334
+ const \u898B\u51FA\u3057\u306E\u5B572 = \u4E2D\u592E\u306E\u5B57(Math.round(radius * 0.12), \u7A74, "\u5408\u8A08");
25335
+ const \u5408\u8A08\u306E\u4E0B = Math.max(Math.round(radius * 0.2), \u5408\u8A08\u306E\u5B57 * 0.25 + \u898B\u51FA\u3057\u306E\u5B572 * 0.8);
25318
25336
  const slices = \u8F2A\u3092\u7D44\u3080(data, cx, cy, radius, \u5916\u306E\u5185\u534A\u5F84, \u4ECA\u306E\u5272\u5408);
25319
25337
  const \u958B\u304D = \u9032\u307F\u3092\u7573\u3080(drawing, progress);
25320
25338
  const \u5207\u308A\u629C\u304Did = `cdl-pie-draw-${instanceId}`;
@@ -25393,19 +25411,19 @@ function ChartPieNode({
25393
25411
  x: cx,
25394
25412
  y: cy - 2,
25395
25413
  textAnchor: "middle",
25396
- fontSize: Math.round(radius * 0.26),
25414
+ fontSize: \u5408\u8A08\u306E\u5B57,
25397
25415
  fontWeight: 600,
25398
25416
  fill: "var(--cdl-text, #1a1f2a)",
25399
- children: \u5B9F\u5024\u8868\u8A18(Math.round(\u524D\u3042\u308A ? \u4ECA\u306E\u5408\u8A08 : total))
25417
+ children: \u5408\u8A08\u306E\u6587
25400
25418
  }
25401
25419
  ),
25402
25420
  /* @__PURE__ */ jsx(
25403
25421
  "text",
25404
25422
  {
25405
25423
  x: cx,
25406
- y: cy + Math.round(radius * 0.2),
25424
+ y: cy + \u5408\u8A08\u306E\u4E0B,
25407
25425
  textAnchor: "middle",
25408
- fontSize: Math.round(radius * 0.12),
25426
+ fontSize: \u898B\u51FA\u3057\u306E\u5B572,
25409
25427
  fill: "var(--cdl-text-dim, #5a6270)",
25410
25428
  children: "\u5408\u8A08"
25411
25429
  }
@@ -25608,6 +25626,10 @@ function \u8868\u306E\u5F62({ node, active, data, \u5272\u5408, x0, y0, drawing,
25608
25626
  const \u5185\u534A\u5F84 = R * 0.58;
25609
25627
  const cx = PAD + R;
25610
25628
  const cy = node.h / 2;
25629
+ const \u5408\u8A08\u306E\u6587 = \u5B9F\u5024\u8868\u8A18(Math.round(data.reduce((acc, d) => acc + d.value, 0)));
25630
+ const \u5408\u8A08\u306E\u5B57 = \u4E2D\u592E\u306E\u5B57(Math.round(R * 0.26), \u5185\u534A\u5F84, \u5408\u8A08\u306E\u6587);
25631
+ const \u898B\u51FA\u3057\u306E\u5B572 = \u4E2D\u592E\u306E\u5B57(Math.round(R * 0.12), \u5185\u534A\u5F84, "\u5408\u8A08");
25632
+ const \u5408\u8A08\u306E\u4E0B = Math.max(Math.round(R * 0.2), \u5408\u8A08\u306E\u5B57 * 0.25 + \u898B\u51FA\u3057\u306E\u5B572 * 0.8);
25611
25633
  const \u8868\u5DE6 = node.w - PAD - \u8868\u5E45;
25612
25634
  const \u53F3\u7AEF = node.w - PAD;
25613
25635
  const \u5272\u5408\u53F3 = \u53F3\u7AEF - \u5B9F\u6570\u5E45 - 24;
@@ -25649,19 +25671,19 @@ function \u8868\u306E\u5F62({ node, active, data, \u5272\u5408, x0, y0, drawing,
25649
25671
  x: cx,
25650
25672
  y: cy - 2,
25651
25673
  textAnchor: "middle",
25652
- fontSize: Math.round(R * 0.26),
25674
+ fontSize: \u5408\u8A08\u306E\u5B57,
25653
25675
  fontWeight: 600,
25654
25676
  fill: "var(--cdl-text, #1a1f2a)",
25655
- children: \u5B9F\u5024\u8868\u8A18(Math.round(data.reduce((acc, d) => acc + d.value, 0)))
25677
+ children: \u5408\u8A08\u306E\u6587
25656
25678
  }
25657
25679
  ),
25658
25680
  /* @__PURE__ */ jsx(
25659
25681
  "text",
25660
25682
  {
25661
25683
  x: cx,
25662
- y: cy + Math.round(R * 0.2),
25684
+ y: cy + \u5408\u8A08\u306E\u4E0B,
25663
25685
  textAnchor: "middle",
25664
- fontSize: Math.round(R * 0.12),
25686
+ fontSize: \u898B\u51FA\u3057\u306E\u5B572,
25665
25687
  fill: "var(--cdl-text-dim, #5a6270)",
25666
25688
  children: "\u5408\u8A08"
25667
25689
  }
@@ -28438,6 +28460,7 @@ function ShapeTerminalNode({ node, active, lang }) {
28438
28460
  const lineFont = "ui-monospace, SFMono-Regular, Menlo, monospace";
28439
28461
  const \u4F59\u767D = 16;
28440
28462
  const \u5E2F = 28;
28463
+ const \u5E2F\u306E\u5B57 = 12.5;
28441
28464
  const \u89D2 = 10;
28442
28465
  const \u5148\u982D = 26;
28443
28466
  const \u884C\u9593 = 22;
@@ -28447,7 +28470,7 @@ function ShapeTerminalNode({ node, active, lang }) {
28447
28470
  { \u5DE6: 16, \u5B57: 12.5, \u8272: "#7cd88f", \u6587: "$" },
28448
28471
  { \u5DE6: 30, \u5B57: 12.5, \u8272: "#e6edf3", \u6587: "pnpm build" }
28449
28472
  ],
28450
- [{ \u5DE6: 16, \u5B57: 12, \u8272: "#8b95a5", \u6587: \u5B57\u5F15("terminal.output") }],
28473
+ [{ \u5DE6: 16, \u5B57: 12.5, \u8272: "#8b95a5", \u6587: \u5B57\u5F15("terminal.output") }],
28451
28474
  [{ \u5DE6: 16, \u5B57: 12.5, \u8272: "#7cd88f", \u6587: "$" }]
28452
28475
  ];
28453
28476
  const \u81EA\u7136\u5E45 = Math.max(...\u884C.flat().map((c) => c.\u5DE6 + \u7B49\u5E45\u306E\u6841(c.\u6587) * MONO_ADVANCE * c.\u5B57)) + \u4F59\u767D;
@@ -28489,7 +28512,7 @@ function ShapeTerminalNode({ node, active, lang }) {
28489
28512
  {
28490
28513
  x: x + w / 2,
28491
28514
  y: y + barH / 2 + 4 * \u500D,
28492
- fontSize: 11 * \u500D,
28515
+ fontSize: \u5E2F\u306E\u5B57 * \u500D,
28493
28516
  fontFamily: lineFont,
28494
28517
  textAnchor: "middle",
28495
28518
  fill: "#7a8290",
@@ -28580,6 +28603,7 @@ function ShapeCodeBlockNode({ node, active, lang }) {
28580
28603
  const \u592A\u3055 = 9;
28581
28604
  const \u9699\u9593 = 6;
28582
28605
  const \u6301\u3061\u4E0A\u3052 = 8;
28606
+ const \u884C\u756A\u53F7\u306E\u5B57 = 11;
28583
28607
  const lines = [
28584
28608
  [
28585
28609
  { c: "#c678dd", w: 40 },
@@ -28602,14 +28626,13 @@ function ShapeCodeBlockNode({ node, active, lang }) {
28602
28626
  { c: "#e6edf3", w: 40 }
28603
28627
  ]
28604
28628
  ];
28605
- const \u6700\u9577 = Math.max(
28606
- ...lines.map(
28607
- (tokens) => tokens.reduce((sum, token) => sum + token.w, 0) + \u9699\u9593 * (tokens.length - 1)
28608
- )
28609
- );
28610
- const \u81EA\u7136\u5E45 = \u6E9D + \u5B57\u4E0B\u3052 + \u6700\u9577 + \u4F59\u767D;
28611
- const \u81EA\u7136\u9AD8 = \u30BF\u30D6\u9AD8 + \u884C\u982D + \u884C\u9593 * (lines.length - 1) + Math.max(\u592A\u3055 - \u6301\u3061\u4E0A\u3052, 10.5 * DESCENT3);
28612
- const \u500D = Math.min(1, w / \u81EA\u7136\u5E45, bodyH / \u81EA\u7136\u9AD8);
28629
+ const \u81EA\u7136\u9AD8 = \u30BF\u30D6\u9AD8 + \u884C\u982D + \u884C\u9593 * (lines.length - 1) + Math.max(\u592A\u3055 - \u6301\u3061\u4E0A\u3052, \u884C\u756A\u53F7\u306E\u5B57 * DESCENT3);
28630
+ const \u500D = Math.min(1, bodyH / \u81EA\u7136\u9AD8);
28631
+ const \u6253\u3061\u6D88\u3059\u5B57\u3089 = [
28632
+ { text: \u5B57\u5F15("codeBlock.fileName"), size: 11, \u5E2F: { \u5E45: \u30BF\u30D6\u5E45, \u9AD8\u3055: \u30BF\u30D6\u9AD8 } },
28633
+ { text: "1", size: \u884C\u756A\u53F7\u306E\u5B57, \u5E2F: { \u5E45: \u6E9D - \u6301\u3061\u4E0A\u3052, \u9AD8\u3055: \u884C\u9593 } }
28634
+ ];
28635
+ const \u500D\u8FD4\u3057 = \u6253\u3061\u6D88\u3057\u306E\u500D\u7387(\u500D, \u6253\u3061\u6D88\u3059\u5B57\u3089);
28613
28636
  const tabW = \u30BF\u30D6\u5E45 * \u500D;
28614
28637
  const tabH = \u30BF\u30D6\u9AD8 * \u500D;
28615
28638
  const \u4E38 = \u89D2 * \u500D;
@@ -28645,9 +28668,10 @@ function ShapeCodeBlockNode({ node, active, lang }) {
28645
28668
  /* @__PURE__ */ jsx(
28646
28669
  "text",
28647
28670
  {
28671
+ "data-cdl-counter-scaled": "1",
28648
28672
  x: x + tabW / 2,
28649
28673
  y: y + tabH / 2 + 4 * \u500D,
28650
- fontSize: 11 * \u500D,
28674
+ fontSize: 11 * \u500D * \u500D\u8FD4\u3057,
28651
28675
  fontFamily: lineFont,
28652
28676
  textAnchor: "middle",
28653
28677
  fill: "#e6edf3",
@@ -28669,9 +28693,10 @@ function ShapeCodeBlockNode({ node, active, lang }) {
28669
28693
  /* @__PURE__ */ jsx(
28670
28694
  "text",
28671
28695
  {
28696
+ "data-cdl-counter-scaled": "1",
28672
28697
  x: x + gutterW - \u6301\u3061\u4E0A\u3052 * \u500D,
28673
28698
  y: codeY0 + i * lineH,
28674
- fontSize: 10.5 * \u500D,
28699
+ fontSize: \u884C\u756A\u53F7\u306E\u5B57 * \u500D * \u500D\u8FD4\u3057,
28675
28700
  fontFamily: lineFont,
28676
28701
  textAnchor: "end",
28677
28702
  fill: "#4a5266",
@@ -28679,12 +28704,13 @@ function ShapeCodeBlockNode({ node, active, lang }) {
28679
28704
  }
28680
28705
  ),
28681
28706
  toks.map((t, j) => {
28682
- const rect = /* @__PURE__ */ jsx(
28707
+ const \u63CF\u304F\u5E45 = Math.min(t.w * \u500D, x + w - \u4F59\u767D * \u500D - cursor);
28708
+ const rect = \u63CF\u304F\u5E45 > 0 ? /* @__PURE__ */ jsx(
28683
28709
  "rect",
28684
28710
  {
28685
28711
  x: cursor,
28686
28712
  y: codeY0 + i * lineH - \u6301\u3061\u4E0A\u3052 * \u500D,
28687
- width: t.w * \u500D,
28713
+ width: \u63CF\u304F\u5E45,
28688
28714
  height: \u592A\u3055 * \u500D,
28689
28715
  rx: 2 * \u500D,
28690
28716
  fill: t.c,
@@ -28692,7 +28718,7 @@ function ShapeCodeBlockNode({ node, active, lang }) {
28692
28718
  stroke: "none"
28693
28719
  },
28694
28720
  j
28695
- );
28721
+ ) : null;
28696
28722
  cursor += (t.w + \u9699\u9593) * \u500D;
28697
28723
  return rect;
28698
28724
  })
@@ -28737,21 +28763,23 @@ function ShapeKanbanCardNode({ node, active, lang }) {
28737
28763
  const w = Math.max(0, node.w - \u7DDA * 2 - \u5F71);
28738
28764
  const h = Math.max(0, node.h - \u7DDA * 2 - \u5F71);
28739
28765
  const \u5E2F\u9593\u4F59\u767D = 4;
28740
- const \u5DE6\u53F3\u4F59\u767D = 14;
28741
- const \u4E0A\u6BB5\u9699\u9593 = 8;
28766
+ const \u5DE6\u53F3\u4F59\u767D = 12;
28767
+ const \u4E0A\u6BB5\u9699\u9593 = 6;
28742
28768
  const \u512A\u5148\u5E2F\u9AD8 = 10;
28743
28769
  const ID\u6587 = \u5B57\u5F15("kanbanCard.id");
28744
28770
  const ID\u57FA\u6E96 = 30;
28745
28771
  const ID\u5B57 = 11;
28746
28772
  const ID\u5B57\u9593 = 1;
28747
28773
  const PILL\u4E0A = 20;
28748
- const PILL\u5E45 = 70;
28774
+ const PILL\u5E45 = 62;
28749
28775
  const PILL\u9AD8 = 16;
28750
28776
  const PILL\u5B57 = 11;
28777
+ const PILL\u5B57\u9593 = 0;
28751
28778
  const FOOTER\u4E0B = 22;
28752
28779
  const AVATAR\u4E2D\u5FC3Y = 4;
28753
28780
  const AVATAR\u534A\u5F84 = 9;
28754
28781
  const AVATAR\u67A0 = 1.5;
28782
+ const AVATAR\u5B57 = 11;
28755
28783
  const \u540D\u524D\u5B57 = 17;
28756
28784
  const \u8AAC\u660E\u57FA\u6E96\u6BD4 = 20 / 17;
28757
28785
  const \u8AAC\u660E\u5B57\u6BD4 = 12 / 17;
@@ -28834,7 +28862,7 @@ function ShapeKanbanCardNode({ node, active, lang }) {
28834
28862
  y: pillY + 12 * \u500D,
28835
28863
  fontSize: PILL\u5B57 * \u500D,
28836
28864
  fontWeight: 700,
28837
- letterSpacing: 1 * \u500D,
28865
+ letterSpacing: PILL\u5B57\u9593 * \u500D,
28838
28866
  textAnchor: "middle",
28839
28867
  fill: "#5a4a1a",
28840
28868
  fontFamily: "ui-monospace, SFMono-Regular, Menlo, monospace",
@@ -28882,7 +28910,7 @@ function ShapeKanbanCardNode({ node, active, lang }) {
28882
28910
  {
28883
28911
  x: 9 * \u500D,
28884
28912
  y: 8 * \u500D,
28885
- fontSize: 10 * \u500D,
28913
+ fontSize: AVATAR\u5B57 * \u500D,
28886
28914
  fontWeight: 700,
28887
28915
  textAnchor: "middle",
28888
28916
  fill: "#ffffff",
@@ -28906,7 +28934,7 @@ function ShapeKanbanCardNode({ node, active, lang }) {
28906
28934
  {
28907
28935
  x: 23 * \u500D,
28908
28936
  y: 8 * \u500D,
28909
- fontSize: 10 * \u500D,
28937
+ fontSize: AVATAR\u5B57 * \u500D,
28910
28938
  fontWeight: 700,
28911
28939
  textAnchor: "middle",
28912
28940
  fill: "#ffffff",