@cardenelabs/cdl 0.40.9 → 0.40.10
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 +30 -1
- package/dist/index.cjs +28 -4
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +28 -4
- package/dist/index.js.map +1 -1
- package/dist/react.cjs +28 -4
- package/dist/react.cjs.map +1 -1
- package/dist/react.js +28 -4
- package/dist/react.js.map +1 -1
- package/package.json +1 -1
- package/src/kinds/chart-stat.tsx +56 -7
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,34 @@ CDL (Chainome Diagram Language) の主要変更履歴。
|
|
|
5
5
|
|
|
6
6
|
## [Unreleased]
|
|
7
7
|
|
|
8
|
+
## [0.40.10] - 2026-09-08
|
|
9
|
+
|
|
10
|
+
### Fixed
|
|
11
|
+
|
|
12
|
+
- **`chart-stat` が受け取った前の時点の値を描くようにした** (#763)
|
|
13
|
+
|
|
14
|
+
記法は datum に `previous` を書けて解決の処理も通していたのに、数値を主役にする図だけが
|
|
15
|
+
読んでいなかった。 書き手からは「前の値も見せたくて書いた」 のに、絵は何も変わらなかった。
|
|
16
|
+
|
|
17
|
+
数値の下に 1 行添える。 呼び方は積み上げの帯 (`chart-stacked-bar`) と揃えた。
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
解約率 <- 名前
|
|
21
|
+
24 <- 数値 (主役)
|
|
22
|
+
前 38 <- 足した行
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
| 図 | 前の行 | 縦の位置 |
|
|
26
|
+
|---|---|---|
|
|
27
|
+
| `previous` を書いた | 出る (`chart-stat-previous`) | 行のぶん中身が高くなる |
|
|
28
|
+
| 書いていない | 出さない | 変わらない |
|
|
29
|
+
|
|
30
|
+
**`0` は値として描く**。 `undefined` と同じに扱うと、前が 0 だった件だけ黙って消える。
|
|
31
|
+
一部の件だけ前を持つ図では、行の位置を件ごとにずらさず揃える。
|
|
32
|
+
|
|
33
|
+
字は名前と同じ級までにする。 数値より大きくすると「数値が主役」 というこの種別の中身が
|
|
34
|
+
入れ替わる。
|
|
35
|
+
|
|
8
36
|
## [0.40.9] - 2026-09-08
|
|
9
37
|
|
|
10
38
|
### Fixed
|
|
@@ -2004,7 +2032,8 @@ Initial OSS release.
|
|
|
2004
2032
|
使わない = annotated tag を push しても GitHub Release は作られず、 Release を作っていない版で
|
|
2005
2033
|
行き止まりになる。
|
|
2006
2034
|
|
|
2007
|
-
[Unreleased]: https://github.com/cardene777/cdl/compare/v0.40.
|
|
2035
|
+
[Unreleased]: https://github.com/cardene777/cdl/compare/v0.40.10...HEAD
|
|
2036
|
+
[0.40.10]: https://github.com/cardene777/cdl/compare/v0.40.9...v0.40.10
|
|
2008
2037
|
[0.40.9]: https://github.com/cardene777/cdl/compare/v0.40.8...v0.40.9
|
|
2009
2038
|
[0.40.8]: https://github.com/cardene777/cdl/compare/v0.40.7...v0.40.8
|
|
2010
2039
|
[0.40.7]: https://github.com/cardene777/cdl/compare/v0.40.6...v0.40.7
|
package/dist/index.cjs
CHANGED
|
@@ -25229,7 +25229,8 @@ function ChartStatNode({
|
|
|
25229
25229
|
const y0 = node.cy - node.h / 2;
|
|
25230
25230
|
const data = resolveChartData(node.chartData ?? [], stateValues);
|
|
25231
25231
|
const total = data.reduce((acc, d) => acc + d.value, 0) || 1;
|
|
25232
|
-
const \
|
|
25232
|
+
const \u524D\u3092\u51FA\u3059 = data.some((d) => d.previous !== void 0);
|
|
25233
|
+
const \u533A\u753B = \u533A\u753B\u306E\u5272\u4ED8(node.w, node.h, data.length, \u524D\u3092\u51FA\u3059);
|
|
25233
25234
|
const \u5272\u5408\u3092\u51FA\u3059 = data.length > 1;
|
|
25234
25235
|
return /* @__PURE__ */ jsxRuntime.jsxs("g", { transform: `translate(${x0} ${y0})`, children: [
|
|
25235
25236
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -25297,6 +25298,24 @@ function ChartStatNode({
|
|
|
25297
25298
|
children: \u6570\u5024
|
|
25298
25299
|
}
|
|
25299
25300
|
),
|
|
25301
|
+
d.previous !== void 0 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
25302
|
+
"text",
|
|
25303
|
+
{
|
|
25304
|
+
"data-cdl-role": "chart-stat-previous",
|
|
25305
|
+
"data-cdl-unresolved": d.unresolved ? "true" : void 0,
|
|
25306
|
+
x: \u67A02.w / 2,
|
|
25307
|
+
y: \u533A\u753B.\u524D\u306Ey,
|
|
25308
|
+
fontSize: \u53CE\u3081\u308B\u7D1A(
|
|
25309
|
+
`\u524D ${\u5B9F\u5024\u8868\u8A18(d.previous)}`,
|
|
25310
|
+
\u67A02.w - \u533A\u753B.\u4F59\u767D * 2,
|
|
25311
|
+
\u533A\u753B.\u524D\u306E\u7D1A,
|
|
25312
|
+
8
|
|
25313
|
+
),
|
|
25314
|
+
textAnchor: "middle",
|
|
25315
|
+
fill: "var(--cdl-text-dim, #5a6270)",
|
|
25316
|
+
children: `\u524D ${\u5B9F\u5024\u8868\u8A18(d.previous)}`
|
|
25317
|
+
}
|
|
25318
|
+
),
|
|
25300
25319
|
\u5272\u5408\u3092\u51FA\u3059 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
25301
25320
|
"circle",
|
|
25302
25321
|
{
|
|
@@ -25340,29 +25359,34 @@ function ChartStatNode({
|
|
|
25340
25359
|
})
|
|
25341
25360
|
] });
|
|
25342
25361
|
}
|
|
25343
|
-
function \u533A\u753B\u306E\u5272\u4ED8(w, h, \u4EF6\u6570) {
|
|
25362
|
+
function \u533A\u753B\u306E\u5272\u4ED8(w, h, \u4EF6\u6570, \u524D\u3092\u51FA\u3059) {
|
|
25344
25363
|
const \u4F59\u767D = 20;
|
|
25345
25364
|
const \u5E45 = \u4EF6\u6570 > 0 ? w / \u4EF6\u6570 : w;
|
|
25346
25365
|
const \u540D\u524D\u306E\u7D1A = 14;
|
|
25347
25366
|
const \u6570\u5024\u306E\u7D1A = 40;
|
|
25367
|
+
const \u524D\u306E\u7D1A = \u540D\u524D\u306E\u7D1A;
|
|
25348
25368
|
const \u5272\u5408\u306E\u7D1A = 12;
|
|
25349
25369
|
const \u5F27\u306E\u534A\u5F84 = 20;
|
|
25350
25370
|
const \u5F27\u306E\u592A\u3055 = 4;
|
|
25351
|
-
const \
|
|
25371
|
+
const \u524D\u306E\u9AD8\u3055 = \u524D\u3092\u51FA\u3059 ? 8 + \u524D\u306E\u7D1A : 0;
|
|
25372
|
+
const \u4E2D\u8EAB\u306E\u9AD8\u3055 = \u540D\u524D\u306E\u7D1A + 12 + \u6570\u5024\u306E\u7D1A + \u524D\u306E\u9AD8\u3055 + 16 + \u5F27\u306E\u534A\u5F84 * 2 + 8 + \u5272\u5408\u306E\u7D1A;
|
|
25352
25373
|
const \u4E0A\u7AEF = Math.max(\u4F59\u767D, (h - \u4E2D\u8EAB\u306E\u9AD8\u3055) / 2);
|
|
25353
25374
|
const \u540D\u524D\u306Ey = \u4E0A\u7AEF + \u540D\u524D\u306E\u7D1A;
|
|
25354
25375
|
const \u6570\u5024\u306Ey = \u540D\u524D\u306Ey + 12 + \u6570\u5024\u306E\u7D1A * 0.78;
|
|
25355
|
-
const \
|
|
25376
|
+
const \u524D\u306Ey = \u6570\u5024\u306Ey + 8 + \u524D\u306E\u7D1A;
|
|
25377
|
+
const \u5F27\u306Ey = \u6570\u5024\u306Ey + \u524D\u306E\u9AD8\u3055 + 16 + \u5F27\u306E\u534A\u5F84;
|
|
25356
25378
|
const \u5272\u5408\u306Ey = \u5F27\u306Ey + \u5F27\u306E\u534A\u5F84 + 8 + \u5272\u5408\u306E\u7D1A;
|
|
25357
25379
|
return {
|
|
25358
25380
|
\u4F59\u767D,
|
|
25359
25381
|
\u540D\u524D\u306E\u7D1A,
|
|
25360
25382
|
\u6570\u5024\u306E\u7D1A,
|
|
25383
|
+
\u524D\u306E\u7D1A,
|
|
25361
25384
|
\u5272\u5408\u306E\u7D1A,
|
|
25362
25385
|
\u5F27\u306E\u534A\u5F84,
|
|
25363
25386
|
\u5F27\u306E\u592A\u3055,
|
|
25364
25387
|
\u540D\u524D\u306Ey,
|
|
25365
25388
|
\u6570\u5024\u306Ey,
|
|
25389
|
+
\u524D\u306Ey,
|
|
25366
25390
|
\u5F27\u306Ey,
|
|
25367
25391
|
\u5272\u5408\u306Ey,
|
|
25368
25392
|
\u67A0: (idx) => ({ x: \u5E45 * idx, y: 0, w: \u5E45, h })
|