@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/CHANGELOG.md +35 -1
- package/dist/index.cjs +59 -31
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +59 -31
- package/dist/index.js.map +1 -1
- package/dist/react.cjs +59 -31
- package/dist/react.cjs.map +1 -1
- package/dist/react.js +59 -31
- package/dist/react.js.map +1 -1
- package/package.json +1 -1
- package/src/kinds/chart-pie.tsx +38 -9
- package/src/kinds/shape-software.tsx +72 -36
- package/src/kinds/text-width.ts +12 -0
- package/src/lang.ts +9 -2
package/dist/index.js
CHANGED
|
@@ -357,7 +357,14 @@ function resolveLang(value) {
|
|
|
357
357
|
}
|
|
358
358
|
var en = {
|
|
359
359
|
/** `shape-terminal` の 2 行目 (命令の出力) */
|
|
360
|
-
|
|
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
|
|
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:
|
|
25414
|
+
fontSize: \u5408\u8A08\u306E\u5B57,
|
|
25397
25415
|
fontWeight: 600,
|
|
25398
25416
|
fill: "var(--cdl-text, #1a1f2a)",
|
|
25399
|
-
children: \
|
|
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 +
|
|
25424
|
+
y: cy + \u5408\u8A08\u306E\u4E0B,
|
|
25407
25425
|
textAnchor: "middle",
|
|
25408
|
-
fontSize:
|
|
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:
|
|
25674
|
+
fontSize: \u5408\u8A08\u306E\u5B57,
|
|
25653
25675
|
fontWeight: 600,
|
|
25654
25676
|
fill: "var(--cdl-text, #1a1f2a)",
|
|
25655
|
-
children: \
|
|
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 +
|
|
25684
|
+
y: cy + \u5408\u8A08\u306E\u4E0B,
|
|
25663
25685
|
textAnchor: "middle",
|
|
25664
|
-
fontSize:
|
|
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:
|
|
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 \
|
|
28606
|
-
|
|
28607
|
-
|
|
28608
|
-
)
|
|
28609
|
-
|
|
28610
|
-
|
|
28611
|
-
const \
|
|
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:
|
|
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
|
|
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:
|
|
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 =
|
|
28741
|
-
const \u4E0A\u6BB5\u9699\u9593 =
|
|
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 =
|
|
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:
|
|
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:
|
|
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:
|
|
28937
|
+
fontSize: AVATAR\u5B57 * \u500D,
|
|
28910
28938
|
fontWeight: 700,
|
|
28911
28939
|
textAnchor: "middle",
|
|
28912
28940
|
fill: "#ffffff",
|