@cardenelabs/cdl 0.34.0 → 0.36.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 +36 -1
- package/README.md +24 -0
- package/dist/index.cjs +31 -58
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +31 -58
- package/dist/index.js.map +1 -1
- package/dist/react.cjs +31 -58
- package/dist/react.cjs.map +1 -1
- package/dist/react.d.cts +1 -1
- package/dist/react.d.ts +1 -1
- package/dist/react.js +31 -58
- package/dist/react.js.map +1 -1
- package/dist/{render-C2rcAsgk.d.cts → render-R7v2bfyz.d.cts} +18 -1
- package/dist/{render-C2rcAsgk.d.ts → render-R7v2bfyz.d.ts} +18 -1
- package/package.json +1 -1
- package/src/index.ts +1 -0
- package/src/kinds/chart-gauge.tsx +1 -17
- package/src/kinds/chart-number.ts +18 -5
- package/src/kinds/chart-pie.tsx +1 -27
- package/src/kinds/chart-radial.tsx +1 -13
- package/src/kinds/chart-slope.tsx +43 -7
- package/src/kinds/chart-stacked-bar.tsx +1 -13
- package/src/kinds/chart-stat.tsx +1 -13
- package/src/kinds/chart-waffle.tsx +1 -7
- package/src/render/template-fields.ts +2 -0
- package/src/types.ts +18 -0
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,39 @@ CDL (Chainome Diagram Language) の主要変更履歴。
|
|
|
5
5
|
|
|
6
6
|
## [Unreleased]
|
|
7
7
|
|
|
8
|
+
## [0.36.0] - 2026-09-07
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
|
|
12
|
+
- **傾き図の右の列に増減を出す見せ方を足した** (#702)
|
|
13
|
+
|
|
14
|
+
`chartSlopeForm` に `delta` を書くと、右の列が今の値ではなく増減 (`+40` / `-90`) になる。
|
|
15
|
+
欄を書かない図は今までどおり今の値を出す。
|
|
16
|
+
|
|
17
|
+
傾き図は増減を読ませる図なのに、差はどこにも字になっておらず読み手の暗算だった。
|
|
18
|
+
3 つ目の数を足すと名札が縦に衝突するか線を引く幅が縮むため、今の値を増減に置き換える形で
|
|
19
|
+
列を 2 つに保っている。 左の列は前の値のままなので、`前 + 増減 = 今` で今の値は戻せる。
|
|
20
|
+
|
|
21
|
+
増減は `chart-slope-delta` で出す。 今の値とは意味が違い、消費側が増減だけに色を当てられる
|
|
22
|
+
ようにするため。 engine 側では色を分けない = 系列の色を名前に当てているので、増減にも色を
|
|
23
|
+
当てると 1 つの図に 2 つの色の体系が混ざる。 向きは符号が持つ。
|
|
24
|
+
|
|
25
|
+
型の外の値と、前の時点を持たない図は `values` として描く。
|
|
26
|
+
|
|
27
|
+
## [0.35.0] - 2026-09-07
|
|
28
|
+
|
|
29
|
+
### Changed
|
|
30
|
+
|
|
31
|
+
- **傾き図の系列の名前を線と同じ色で描くようにした** (#698)
|
|
32
|
+
|
|
33
|
+
名前も値も同じ淡い色だったため、名前と線を突き合わせるには線を目で辿るしかなかった。
|
|
34
|
+
交差を読ませる図で、交差した先を追う作業が読み手に残っていた。
|
|
35
|
+
|
|
36
|
+
色を持たせるのは名前だけで、値は太字の濃い色のまま。 identity は色が、量は字が担う。
|
|
37
|
+
|
|
38
|
+
併せて時点の軸の縦線を太さ 1 から 2 にした。 淡い罫では柱に見えず、「前」「今」 の見出し
|
|
39
|
+
だけが宙に浮いていた。 系列の線 (2.5) より細いままなので、軸が線の 1 本には見えない。
|
|
40
|
+
|
|
8
41
|
## [0.34.0] - 2026-09-07
|
|
9
42
|
|
|
10
43
|
### Changed
|
|
@@ -1663,7 +1696,9 @@ Initial OSS release.
|
|
|
1663
1696
|
使わない = annotated tag を push しても GitHub Release は作られず、 Release を作っていない版で
|
|
1664
1697
|
行き止まりになる。
|
|
1665
1698
|
|
|
1666
|
-
[Unreleased]: https://github.com/cardene777/cdl/compare/v0.
|
|
1699
|
+
[Unreleased]: https://github.com/cardene777/cdl/compare/v0.36.0...HEAD
|
|
1700
|
+
[0.36.0]: https://github.com/cardene777/cdl/compare/v0.35.0...v0.36.0
|
|
1701
|
+
[0.35.0]: https://github.com/cardene777/cdl/compare/v0.34.0...v0.35.0
|
|
1667
1702
|
[0.34.0]: https://github.com/cardene777/cdl/compare/v0.33.0...v0.34.0
|
|
1668
1703
|
[0.33.0]: https://github.com/cardene777/cdl/compare/v0.32.0...v0.33.0
|
|
1669
1704
|
[0.32.0]: https://github.com/cardene777/cdl/compare/v0.31.1...v0.32.0
|
package/README.md
CHANGED
|
@@ -295,6 +295,30 @@ phase 切替に連動して `status: idle` → `status: running` のように描
|
|
|
295
295
|
|
|
296
296
|
名札の字は値と名前で role が分かれる (`chart-slope-value` / `chart-slope-name`)。
|
|
297
297
|
値だけに字体を当てられるようにするため。
|
|
298
|
+
系列の名前はその線と同じ色で描く。 線を目で辿らずに名前と線の対応が取れる。
|
|
299
|
+
|
|
300
|
+
### 右の列に何を出すか
|
|
301
|
+
|
|
302
|
+
`chart-slope` は `chartSlopeForm` で右の列の中身を選ぶ。 欄を書かない図は `values` と同じ。
|
|
303
|
+
|
|
304
|
+
| 値 | 右の列 | 向くもの |
|
|
305
|
+
|---|---|---|
|
|
306
|
+
| `values` (既定) | 今の値 | 2 時点の水準をそれぞれ読ませたい図 |
|
|
307
|
+
| `delta` | 増減 (`+40` / `-90`) | どれがどれだけ動いたかを読ませたい図 |
|
|
308
|
+
|
|
309
|
+
```ts
|
|
310
|
+
.node("move", { lane: "l", stack: 0, kind: "chart-slope", chartSlopeForm: "delta", chartData: [...] })
|
|
311
|
+
```
|
|
312
|
+
|
|
313
|
+
左の列はどちらでも前の値。 `前 + 増減 = 今` なので `delta` でも今の値は足せば戻る。
|
|
314
|
+
3 つ目の数を足さないので、 名札の高さも線を引く幅も変わらない。
|
|
315
|
+
|
|
316
|
+
`delta` の増減は `chart-slope-delta` で出す。 今の値とは意味が違い、 消費側が増減だけに色を
|
|
317
|
+
当てられるようにするため。 engine 側では色を分けない = 系列の色を名前に当てているので、
|
|
318
|
+
増減にも色を当てると 1 つの図に 2 つの色の体系が混ざる。 向きは符号が持つ。
|
|
319
|
+
|
|
320
|
+
型の外の値を書いた図は `values` として描く。
|
|
321
|
+
前の時点を持たない図も `values` として描く = 引く相手がいないため。
|
|
298
322
|
|
|
299
323
|
## 円グラフの見せ方
|
|
300
324
|
|
package/dist/index.cjs
CHANGED
|
@@ -24338,6 +24338,15 @@ function interpolateColor(template, stateValues, fallback) {
|
|
|
24338
24338
|
if (!template) return fallback;
|
|
24339
24339
|
return interpolate(template, stateValues);
|
|
24340
24340
|
}
|
|
24341
|
+
|
|
24342
|
+
// src/kinds/chart-number.ts
|
|
24343
|
+
function \u5B9F\u5024\u8868\u8A18(v) {
|
|
24344
|
+
return Number.isInteger(v) ? v.toLocaleString("en-US") : v.toLocaleString("en-US", { maximumFractionDigits: 1 });
|
|
24345
|
+
}
|
|
24346
|
+
function \u5272\u5408\u8868\u8A18(frac) {
|
|
24347
|
+
const v = Math.round(frac * 1e3) / 10;
|
|
24348
|
+
return `${Number.isInteger(v) ? v : v.toFixed(1)}%`;
|
|
24349
|
+
}
|
|
24341
24350
|
function ChartPieNode({
|
|
24342
24351
|
node,
|
|
24343
24352
|
active,
|
|
@@ -24785,13 +24794,6 @@ function \u6247\u5F62\u306E\u5207\u308A\u629C\u304D(cx, cy, r, \u958B\u304D) {
|
|
|
24785
24794
|
const d = `M ${cx} ${cy} L ${cx + r * Math.cos(a0)} ${cy + r * Math.sin(a0)} A ${r} ${r} 0 ${large} 1 ${cx + r * Math.cos(a1)} ${cy + r * Math.sin(a1)} Z`;
|
|
24786
24795
|
return /* @__PURE__ */ jsxRuntime.jsx("path", { d });
|
|
24787
24796
|
}
|
|
24788
|
-
function \u5B9F\u5024\u8868\u8A18(v) {
|
|
24789
|
-
return Number.isInteger(v) ? v.toLocaleString("en-US") : v.toLocaleString("en-US", { maximumFractionDigits: 1 });
|
|
24790
|
-
}
|
|
24791
|
-
function \u5272\u5408\u8868\u8A18(frac) {
|
|
24792
|
-
const v = Math.round(frac * 1e3) / 10;
|
|
24793
|
-
return `${Number.isInteger(v) ? v : v.toFixed(1)}%`;
|
|
24794
|
-
}
|
|
24795
24797
|
function sliceColor(tone, idx) {
|
|
24796
24798
|
if (tone) return TONE[tone];
|
|
24797
24799
|
return chartSeriesColor(idx);
|
|
@@ -24832,7 +24834,7 @@ function ChartGaugeNode({
|
|
|
24832
24834
|
const path = `M ${\u59161.x} ${\u59161.y} A ${radius} ${radius} 0 0 1 ${\u59162.x} ${\u59162.y} L ${\u51852.x} ${\u51852.y} A ${\u5185\u534A\u5F84} ${\u5185\u534A\u5F84} 0 0 0 ${\u51851.x} ${\u51851.y} Z`;
|
|
24833
24835
|
return { d, frac, path };
|
|
24834
24836
|
});
|
|
24835
|
-
const \u5408\u8A08\u306E\u6587\u5B57 = \u5B9F\u5024\u8868\
|
|
24837
|
+
const \u5408\u8A08\u306E\u6587\u5B57 = \u5B9F\u5024\u8868\u8A18(Math.round(total));
|
|
24836
24838
|
const \u6A2A\u306E\u4E0A\u9650 = \u5185\u534A\u5F84 * 2 * 0.86;
|
|
24837
24839
|
const \u7D1A\u306E\u5019\u88DC = Math.min(
|
|
24838
24840
|
// 横 = 実際の字幅から逆算する
|
|
@@ -24897,7 +24899,7 @@ function ChartGaugeNode({
|
|
|
24897
24899
|
),
|
|
24898
24900
|
data.map((d, idx) => {
|
|
24899
24901
|
const x = PAD_SIDE + \u5185\u8A33\u306E\u5E45 * idx;
|
|
24900
|
-
const \u6570\u5024 = `${\u5B9F\u5024\u8868\
|
|
24902
|
+
const \u6570\u5024 = `${\u5B9F\u5024\u8868\u8A18(d.value)} ${\u5272\u5408\u8868\u8A18(d.value / total)}`;
|
|
24901
24903
|
return /* @__PURE__ */ jsxRuntime.jsxs("g", { "data-cdl-role": "chart-gauge-item", children: [
|
|
24902
24904
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x, y: \u5185\u8A33\u306Ey, width: 30, height: 4, rx: 2, fill: arcColor(d.tone, idx) }),
|
|
24903
24905
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -24929,13 +24931,6 @@ function \u5207\u308A\u8A70\u3081\u308B(s, \u4E0A\u9650, \u7D1A) {
|
|
|
24929
24931
|
}
|
|
24930
24932
|
return `${out}\u2026`;
|
|
24931
24933
|
}
|
|
24932
|
-
function \u5B9F\u5024\u8868\u8A182(v) {
|
|
24933
|
-
return Number.isInteger(v) ? v.toLocaleString("en-US") : v.toLocaleString("en-US", { maximumFractionDigits: 1 });
|
|
24934
|
-
}
|
|
24935
|
-
function \u5272\u5408\u8868\u8A182(frac) {
|
|
24936
|
-
const v = Math.round(frac * 1e3) / 10;
|
|
24937
|
-
return `${Number.isInteger(v) ? v : v.toFixed(1)}%`;
|
|
24938
|
-
}
|
|
24939
24934
|
function arcColor(tone, idx) {
|
|
24940
24935
|
if (tone) return TONE[tone];
|
|
24941
24936
|
return chartSeriesColor(idx);
|
|
@@ -24955,7 +24950,7 @@ function ChartRadialNode({
|
|
|
24955
24950
|
const \u6570\u5024\u306E\u7D1A = 13;
|
|
24956
24951
|
const \u884C\u306E\u9AD8\u3055 = 42;
|
|
24957
24952
|
const \u4E00\u89A7\u3068\u5F27\u306E\u9593 = 28;
|
|
24958
|
-
const \u6570\u5024\u306E\u6587\u5B57 = data.map((d) => `${\u5B9F\u5024\u8868\
|
|
24953
|
+
const \u6570\u5024\u306E\u6587\u5B57 = data.map((d) => `${\u5B9F\u5024\u8868\u8A18(d.value)} ${\u5272\u5408\u8868\u8A18(d.value / total)}`);
|
|
24959
24954
|
const \u4E00\u89A7\u306E\u5E45 = \u5370\u306E\u5E45 + Math.max(
|
|
24960
24955
|
0,
|
|
24961
24956
|
...data.map(
|
|
@@ -25058,13 +25053,6 @@ function \u5F27\u306E\u90532(cx, cy, \u4E2D\u5FC3\u534A\u5F84, \u5E45, \u5272\u5
|
|
|
25058
25053
|
const p = (r, a) => `${cx + r * Math.cos(a)} ${cy + r * Math.sin(a)}`;
|
|
25059
25054
|
return `M ${p(\u5916, a0)} A ${\u5916} ${\u5916} 0 ${large} 1 ${p(\u5916, a1)} L ${p(\u5185, a1)} A ${\u5185} ${\u5185} 0 ${large} 0 ${p(\u5185, a0)} Z`;
|
|
25060
25055
|
}
|
|
25061
|
-
function \u5B9F\u5024\u8868\u8A183(v) {
|
|
25062
|
-
return Number.isInteger(v) ? v.toLocaleString("en-US") : v.toLocaleString("en-US", { maximumFractionDigits: 1 });
|
|
25063
|
-
}
|
|
25064
|
-
function \u5272\u5408\u8868\u8A183(frac) {
|
|
25065
|
-
const v = Math.round(frac * 1e3) / 10;
|
|
25066
|
-
return `${Number.isInteger(v) ? v : v.toFixed(1)}%`;
|
|
25067
|
-
}
|
|
25068
25056
|
function arcColor2(tone, idx) {
|
|
25069
25057
|
if (tone) return TONE[tone];
|
|
25070
25058
|
return chartSeriesColor(idx);
|
|
@@ -25098,7 +25086,7 @@ function ChartStatNode({
|
|
|
25098
25086
|
const \u67A02 = \u533A\u753B.\u67A0(idx);
|
|
25099
25087
|
const frac = total > 0 ? d.value / total : 0;
|
|
25100
25088
|
const \u8272 = \u5370\u306E\u8272(d.tone, idx);
|
|
25101
|
-
const \u6570\u5024 = \u5B9F\u5024\u8868\
|
|
25089
|
+
const \u6570\u5024 = \u5B9F\u5024\u8868\u8A18(d.value);
|
|
25102
25090
|
const \u6570\u5024\u306E\u7D1A = \u53CE\u3081\u308B\u7D1A(\u6570\u5024, \u67A02.w - \u533A\u753B.\u4F59\u767D * 2, \u533A\u753B.\u6570\u5024\u306E\u7D1A, \u533A\u753B.\u540D\u524D\u306E\u7D1A + 1);
|
|
25103
25091
|
return /* @__PURE__ */ jsxRuntime.jsxs("g", { "data-cdl-role": "chart-stat-item", transform: `translate(${\u67A02.x} ${\u67A02.y})`, children: [
|
|
25104
25092
|
idx > 0 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -25173,7 +25161,7 @@ function ChartStatNode({
|
|
|
25173
25161
|
fontSize: \u533A\u753B.\u5272\u5408\u306E\u7D1A,
|
|
25174
25162
|
textAnchor: "middle",
|
|
25175
25163
|
fill: "var(--cdl-text-dim, #5a6270)",
|
|
25176
|
-
children: \u5272\u5408\u8868\
|
|
25164
|
+
children: \u5272\u5408\u8868\u8A18(frac)
|
|
25177
25165
|
}
|
|
25178
25166
|
)
|
|
25179
25167
|
] }, `stat-${idx}`);
|
|
@@ -25220,13 +25208,6 @@ function \u5F27\u306E\u90533(cx, cy, r, \u5272\u5408) {
|
|
|
25220
25208
|
const p = (a) => `${cx + r * Math.cos(a)} ${cy + r * Math.sin(a)}`;
|
|
25221
25209
|
return `M ${p(a0)} A ${r} ${r} 0 ${large} 1 ${p(a1)}`;
|
|
25222
25210
|
}
|
|
25223
|
-
function \u5B9F\u5024\u8868\u8A184(v) {
|
|
25224
|
-
return Number.isInteger(v) ? v.toLocaleString("en-US") : v.toLocaleString("en-US", { maximumFractionDigits: 1 });
|
|
25225
|
-
}
|
|
25226
|
-
function \u5272\u5408\u8868\u8A184(frac) {
|
|
25227
|
-
const v = Math.round(frac * 1e3) / 10;
|
|
25228
|
-
return `${Number.isInteger(v) ? v : v.toFixed(1)}%`;
|
|
25229
|
-
}
|
|
25230
25211
|
function \u5370\u306E\u8272(tone, idx) {
|
|
25231
25212
|
if (tone) return TONE[tone];
|
|
25232
25213
|
return chartSeriesColor(idx);
|
|
@@ -25262,7 +25243,7 @@ function ChartWaffleNode({
|
|
|
25262
25243
|
const \u884C\u306E\u9AD8\u3055 = 40;
|
|
25263
25244
|
const \u4E00\u89A7\u3068\u683C\u5B50\u306E\u9593 = 28;
|
|
25264
25245
|
const \u5370\u306E\u5E452 = 18;
|
|
25265
|
-
const \u6570\u5024\u306E\u6587\u5B57 = data.map((d, i) => `${\u5B9F\u5024\u8868\
|
|
25246
|
+
const \u6570\u5024\u306E\u6587\u5B57 = data.map((d, i) => `${\u5B9F\u5024\u8868\u8A18(d.value)} ${\u914D\u5206[i] ?? 0}%`);
|
|
25266
25247
|
const \u4E00\u89A7\u306E\u5E45 = \u5370\u306E\u5E452 + Math.max(
|
|
25267
25248
|
0,
|
|
25268
25249
|
...data.map(
|
|
@@ -25346,9 +25327,6 @@ function ChartWaffleNode({
|
|
|
25346
25327
|
})
|
|
25347
25328
|
] });
|
|
25348
25329
|
}
|
|
25349
|
-
function \u5B9F\u5024\u8868\u8A185(v) {
|
|
25350
|
-
return Number.isInteger(v) ? v.toLocaleString("en-US") : v.toLocaleString("en-US", { maximumFractionDigits: 1 });
|
|
25351
|
-
}
|
|
25352
25330
|
function \u5370\u306E\u82722(tone, idx) {
|
|
25353
25331
|
if (tone) return TONE[tone];
|
|
25354
25332
|
return chartSeriesColor(idx);
|
|
@@ -25435,7 +25413,7 @@ function ChartStackedBarNode({
|
|
|
25435
25413
|
fontWeight: 700,
|
|
25436
25414
|
textAnchor: "middle",
|
|
25437
25415
|
fill: "#ffffff",
|
|
25438
|
-
children: \u5272\u5408\u8868\
|
|
25416
|
+
children: \u5272\u5408\u8868\u8A18(s.\u5272\u5408)
|
|
25439
25417
|
}
|
|
25440
25418
|
),
|
|
25441
25419
|
w >= SLICE_MIN_W_FOR_VALUE && /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -25448,7 +25426,7 @@ function ChartStackedBarNode({
|
|
|
25448
25426
|
textAnchor: "middle",
|
|
25449
25427
|
fill: "#ffffff",
|
|
25450
25428
|
fillOpacity: 0.85,
|
|
25451
|
-
children: \u5B9F\u5024\u8868\
|
|
25429
|
+
children: \u5B9F\u5024\u8868\u8A18(s.\u5B9F\u5024)
|
|
25452
25430
|
}
|
|
25453
25431
|
)
|
|
25454
25432
|
] }, `slice-${idx}`);
|
|
@@ -25493,13 +25471,6 @@ function \u5E2F\u3092\u7D44\u3080(\u540D\u524D, data, \u53D6\u308B) {
|
|
|
25493
25471
|
}))
|
|
25494
25472
|
};
|
|
25495
25473
|
}
|
|
25496
|
-
function \u5B9F\u5024\u8868\u8A186(v) {
|
|
25497
|
-
return Number.isInteger(v) ? v.toLocaleString("en-US") : v.toLocaleString("en-US", { maximumFractionDigits: 1 });
|
|
25498
|
-
}
|
|
25499
|
-
function \u5272\u5408\u8868\u8A185(frac) {
|
|
25500
|
-
const v = Math.round(frac * 1e3) / 10;
|
|
25501
|
-
return `${Number.isInteger(v) ? v : v.toFixed(1)}%`;
|
|
25502
|
-
}
|
|
25503
25474
|
function \u5370\u306E\u82723(tone, idx) {
|
|
25504
25475
|
if (tone) return TONE[tone];
|
|
25505
25476
|
return chartSeriesColor(idx);
|
|
@@ -25521,11 +25492,6 @@ function \u4E00\u89A7\u306E\u4E26\u3073(data, \u5DE6, \u53F3\u7AEF, \u7D1A) {
|
|
|
25521
25492
|
});
|
|
25522
25493
|
return out;
|
|
25523
25494
|
}
|
|
25524
|
-
|
|
25525
|
-
// src/kinds/chart-number.ts
|
|
25526
|
-
function \u5B9F\u5024\u8868\u8A187(v) {
|
|
25527
|
-
return Number.isInteger(v) ? v.toLocaleString("en-US") : v.toLocaleString("en-US", { maximumFractionDigits: 1 });
|
|
25528
|
-
}
|
|
25529
25495
|
var \u7DDA\u306E\u6700\u5C0F\u5E45 = 120;
|
|
25530
25496
|
function ChartSlopeNode({
|
|
25531
25497
|
node,
|
|
@@ -25561,8 +25527,15 @@ function ChartSlopeNode({
|
|
|
25561
25527
|
const \u4E0A\u7AEF = PAD + (\u524D\u3042\u308A ? \u6642\u70B9\u306E\u7D1A + 12 : 0) + 6;
|
|
25562
25528
|
const \u4E0B\u7AEF = Math.max(\u4E0A\u7AEF + 10, node.h - PAD - 6);
|
|
25563
25529
|
const y\u3092\u53D6\u308B = (v) => \u5C3A\u306E\u5E45 > 0 ? \u4E0B\u7AEF - (v - \u6700\u5C0F) / \u5C3A\u306E\u5E45 * (\u4E0B\u7AEF - \u4E0A\u7AEF) : (\u4E0A\u7AEF + \u4E0B\u7AEF) / 2;
|
|
25564
|
-
const \
|
|
25565
|
-
const \
|
|
25530
|
+
const \u5F62 = \u524D\u3042\u308A && node.chartSlopeForm === "delta" ? "delta" : "values";
|
|
25531
|
+
const \u5897\u6E1B\u8868\u8A18 = (\u524D, \u4ECA) => {
|
|
25532
|
+
const \u5DEE = \u4ECA - \u524D;
|
|
25533
|
+
return \u5DEE > 0 ? `+${\u5B9F\u5024\u8868\u8A18(\u5DEE)}` : \u5B9F\u5024\u8868\u8A18(\u5DEE);
|
|
25534
|
+
};
|
|
25535
|
+
const \u5DE6\u306E\u5B57 = \u7CFB\u5217\u305F\u3061.map((s) => \u5B9F\u5024\u8868\u8A18(s.\u524D));
|
|
25536
|
+
const \u53F3\u306E\u5B57 = \u7CFB\u5217\u305F\u3061.map(
|
|
25537
|
+
(s) => \u5F62 === "delta" ? \u5897\u6E1B\u8868\u8A18(s.\u524D, s.\u4ECA) : \u5B9F\u5024\u8868\u8A18(s.\u4ECA)
|
|
25538
|
+
);
|
|
25566
25539
|
const \u5DE6\u5024\u5E45 = Math.max(0, ...\u5DE6\u306E\u5B57.map((t) => textWidth(t, \u5024\u306E\u7D1A)));
|
|
25567
25540
|
const \u53F3\u5024\u5E45 = Math.max(0, ...\u53F3\u306E\u5B57.map((t) => textWidth(t, \u5024\u306E\u7D1A)));
|
|
25568
25541
|
const \u540D\u524D\u306B\u4F7F\u3048\u308B = Math.max(
|
|
@@ -25604,7 +25577,7 @@ function ChartSlopeNode({
|
|
|
25604
25577
|
x2: x,
|
|
25605
25578
|
y2: \u4E0B\u7AEF + 6,
|
|
25606
25579
|
stroke: "var(--cdl-divider, #d4d4d8)",
|
|
25607
|
-
strokeWidth:
|
|
25580
|
+
strokeWidth: 2
|
|
25608
25581
|
},
|
|
25609
25582
|
`axis-${i}`
|
|
25610
25583
|
)),
|
|
@@ -25698,7 +25671,7 @@ function ChartSlopeNode({
|
|
|
25698
25671
|
y: \u5DE6y + 5,
|
|
25699
25672
|
textAnchor: "end",
|
|
25700
25673
|
fontSize: \u540D\u524D\u306E\u7D1A,
|
|
25701
|
-
fill:
|
|
25674
|
+
fill: s.\u8272,
|
|
25702
25675
|
children: s.\u540D\u524D
|
|
25703
25676
|
}
|
|
25704
25677
|
)
|
|
@@ -25710,7 +25683,7 @@ function ChartSlopeNode({
|
|
|
25710
25683
|
y: \u53F3y + 5,
|
|
25711
25684
|
textAnchor: "end",
|
|
25712
25685
|
fontSize: \u540D\u524D\u306E\u7D1A,
|
|
25713
|
-
fill:
|
|
25686
|
+
fill: s.\u8272,
|
|
25714
25687
|
children: s.\u540D\u524D
|
|
25715
25688
|
}
|
|
25716
25689
|
),
|
|
@@ -25718,7 +25691,7 @@ function ChartSlopeNode({
|
|
|
25718
25691
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
25719
25692
|
"text",
|
|
25720
25693
|
{
|
|
25721
|
-
"data-cdl-role": "chart-slope-value",
|
|
25694
|
+
"data-cdl-role": \u5F62 === "delta" ? "chart-slope-delta" : "chart-slope-value",
|
|
25722
25695
|
x: \u53F3\u8EF8x + \u8EF8\u304B\u3089\u5024\u307E\u3067,
|
|
25723
25696
|
y: \u53F3y + 5,
|
|
25724
25697
|
fontSize: \u5024\u306E\u7D1A,
|
|
@@ -25734,7 +25707,7 @@ function ChartSlopeNode({
|
|
|
25734
25707
|
x: \u53F3\u8EF8x + \u8EF8\u304B\u3089\u5024\u307E\u3067 + \u53F3\u5024\u5E45 + \u5024\u304B\u3089\u540D\u524D\u307E\u3067,
|
|
25735
25708
|
y: \u53F3y + 5,
|
|
25736
25709
|
fontSize: \u540D\u524D\u306E\u7D1A,
|
|
25737
|
-
fill:
|
|
25710
|
+
fill: s.\u8272,
|
|
25738
25711
|
children: s.\u540D\u524D
|
|
25739
25712
|
}
|
|
25740
25713
|
)
|