@cardenelabs/cdl 0.40.9 → 0.40.11

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 CHANGED
@@ -5,6 +5,65 @@ CDL (Chainome Diagram Language) の主要変更履歴。
5
5
 
6
6
  ## [Unreleased]
7
7
 
8
+ ## [0.40.11] - 2026-09-09
9
+
10
+ ### Fixed
11
+
12
+ - **棒 / 弧 / 半円 が受け取った前の時点の値を描くようにした** (#767)
13
+
14
+ `previous` を読むのは円 / 内訳の帯 / 2 時点の線 / 数値ひとつの図の 4 種だけで、残る
15
+ 3 種は **受け取っておきながら 1 度も読んでいなかった**。 数値ひとつの図で同じ抜けを
16
+ 直したのが `#763` で、そちらは画面に出る文字の数の記録が落ちて初めて見つかっている。
17
+
18
+ 下流の見本帳が 49 組を描き比べて残りを洗い出した。
19
+
20
+ | 種別 | 置き方 | 役割名 |
21
+ |---|---|---|
22
+ | 棒 | 棒の上に、前の高さを指す印を 1 本引く | `chart-bar-previous` |
23
+ | 弧 | 弧の帯を横切る印を、前の割合の角度に置く | `chart-radial-previous` |
24
+ | 半円 | 内側に前の内訳の輪を 1 本足す | `chart-gauge-previous` |
25
+
26
+ **薄い色で後ろに重ねる形は採らない**。 前が今より小さい件で今の形に完全に隠れ、1 px も
27
+ 見えなくなる。 棒と弧は 1 件が 1 本なので印を引き、半円は件を積んで合計を出す図
28
+ (半分の円グラフ) なので円グラフ (`#679`) と同じく内側の輪にする。
29
+
30
+ 棒は縦軸の天井を前の時点まで含めて決めるようにした。 含めないと、前が今より大きい件で
31
+ 印が枠の外へ出る。
32
+
33
+ 書かない図では役割を 1 つも出さず、半円の輪の太さも変わらない。
34
+
35
+ 対象外が 4 つある。 折れ線の `previous` (横軸そのものが時の流れで、点ごとの前の時点は
36
+ 線の中に既にある)、100 個の印の `previous` (印が 200 個になり 100 個で読む前提が崩れる)、
37
+ 折れ線の `tone` (線は 1 本 1 色)、棒の `tone` (`#747` が 1 色 + 濃さと決めた形)。
38
+
39
+ ## [0.40.10] - 2026-09-08
40
+
41
+ ### Fixed
42
+
43
+ - **`chart-stat` が受け取った前の時点の値を描くようにした** (#763)
44
+
45
+ 記法は datum に `previous` を書けて解決の処理も通していたのに、数値を主役にする図だけが
46
+ 読んでいなかった。 書き手からは「前の値も見せたくて書いた」 のに、絵は何も変わらなかった。
47
+
48
+ 数値の下に 1 行添える。 呼び方は積み上げの帯 (`chart-stacked-bar`) と揃えた。
49
+
50
+ ```
51
+ 解約率 <- 名前
52
+ 24 <- 数値 (主役)
53
+ 前 38 <- 足した行
54
+ ```
55
+
56
+ | 図 | 前の行 | 縦の位置 |
57
+ |---|---|---|
58
+ | `previous` を書いた | 出る (`chart-stat-previous`) | 行のぶん中身が高くなる |
59
+ | 書いていない | 出さない | 変わらない |
60
+
61
+ **`0` は値として描く**。 `undefined` と同じに扱うと、前が 0 だった件だけ黙って消える。
62
+ 一部の件だけ前を持つ図では、行の位置を件ごとにずらさず揃える。
63
+
64
+ 字は名前と同じ級までにする。 数値より大きくすると「数値が主役」 というこの種別の中身が
65
+ 入れ替わる。
66
+
8
67
  ## [0.40.9] - 2026-09-08
9
68
 
10
69
  ### Fixed
@@ -2004,7 +2063,9 @@ Initial OSS release.
2004
2063
  使わない = annotated tag を push しても GitHub Release は作られず、 Release を作っていない版で
2005
2064
  行き止まりになる。
2006
2065
 
2007
- [Unreleased]: https://github.com/cardene777/cdl/compare/v0.40.9...HEAD
2066
+ [Unreleased]: https://github.com/cardene777/cdl/compare/v0.40.11...HEAD
2067
+ [0.40.11]: https://github.com/cardene777/cdl/compare/v0.40.10...v0.40.11
2068
+ [0.40.10]: https://github.com/cardene777/cdl/compare/v0.40.9...v0.40.10
2008
2069
  [0.40.9]: https://github.com/cardene777/cdl/compare/v0.40.8...v0.40.9
2009
2070
  [0.40.8]: https://github.com/cardene777/cdl/compare/v0.40.7...v0.40.8
2010
2071
  [0.40.7]: https://github.com/cardene777/cdl/compare/v0.40.6...v0.40.7
package/dist/index.cjs CHANGED
@@ -24961,18 +24961,35 @@ function ChartGaugeNode({
24961
24961
  const \u5185\u534A\u5F84 = radius * 0.62;
24962
24962
  const cx = node.w / 2;
24963
24963
  const cy = PAD_TOP2 + radius;
24964
+ const \u524D\u3042\u308A = \u51FA\u3059\u4EF6\u305F\u3061.some((d) => d.previous !== void 0);
24965
+ const \u524D\u306E\u5024 = \u51FA\u3059\u4EF6\u305F\u3061.map((d) => Math.max(0, d.previous ?? 0));
24966
+ const \u524D\u306E\u5408\u8A08 = \u524D\u306E\u5024.reduce((acc, v) => acc + v, 0);
24967
+ const \u5E2F = radius - \u5185\u534A\u5F84;
24968
+ const \u4ECA\u306E\u5185\u534A\u5F84 = \u524D\u3042\u308A ? \u5185\u534A\u5F84 + \u5E2F * 0.42 : \u5185\u534A\u5F84;
24969
+ const \u524D\u306E\u5185\u534A\u5F84 = \u5185\u534A\u5F84;
24970
+ const \u524D\u306E\u5916\u534A\u5F84 = \u5185\u534A\u5F84 + \u5E2F * 0.32;
24971
+ const \u6247\u306E\u9053 = (a0, a1, \u5185, \u5916) => {
24972
+ const \u59161 = \u6975(cx, cy, \u5916, a0);
24973
+ const \u59162 = \u6975(cx, cy, \u5916, a1);
24974
+ const \u51852 = \u6975(cx, cy, \u5185, a1);
24975
+ const \u51851 = \u6975(cx, cy, \u5185, a0);
24976
+ return `M ${\u59161.x} ${\u59161.y} A ${\u5916} ${\u5916} 0 0 1 ${\u59162.x} ${\u59162.y} L ${\u51852.x} ${\u51852.y} A ${\u5185} ${\u5185} 0 0 0 ${\u51851.x} ${\u51851.y} Z`;
24977
+ };
24964
24978
  let cumFrac = 0;
24965
24979
  const slices = \u51FA\u3059\u4EF6\u305F\u3061.map((d) => {
24966
24980
  const frac = d.value / total;
24967
24981
  const a0 = Math.PI + cumFrac * Math.PI;
24968
24982
  const a1 = a0 + frac * Math.PI;
24969
24983
  cumFrac += frac;
24970
- const \u59161 = \u6975(cx, cy, radius, a0);
24971
- const \u59162 = \u6975(cx, cy, radius, a1);
24972
- const \u51852 = \u6975(cx, cy, \u5185\u534A\u5F84, a1);
24973
- const \u51851 = \u6975(cx, cy, \u5185\u534A\u5F84, a0);
24974
- 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`;
24975
- return { d, frac, path };
24984
+ return { d, frac, path: \u6247\u306E\u9053(a0, a1, \u4ECA\u306E\u5185\u534A\u5F84, radius) };
24985
+ });
24986
+ let \u524D\u306Ecum = 0;
24987
+ const \u524D\u306E\u6247\u305F\u3061 = \u51FA\u3059\u4EF6\u305F\u3061.map((d, idx) => {
24988
+ const frac = \u524D\u306E\u5408\u8A08 > 0 ? (\u524D\u306E\u5024[idx] ?? 0) / \u524D\u306E\u5408\u8A08 : 0;
24989
+ const a0 = Math.PI + \u524D\u306Ecum * Math.PI;
24990
+ const a1 = a0 + frac * Math.PI;
24991
+ \u524D\u306Ecum += frac;
24992
+ return { d, frac, path: \u6247\u306E\u9053(a0, a1, \u524D\u306E\u5185\u534A\u5F84, \u524D\u306E\u5916\u534A\u5F84) };
24976
24993
  });
24977
24994
  const \u5408\u8A08\u306E\u6587\u5B57 = \u5B9F\u5024\u8868\u8A18(Math.round(total));
24978
24995
  const \u5358\u4F4D\u5E45 = Math.max(textWidth(\u5408\u8A08\u306E\u6587\u5B57, 100), 1) / 100;
@@ -25001,6 +25018,20 @@ function ChartGaugeNode({
25001
25018
  },
25002
25019
  `arc-${idx}`
25003
25020
  ));
25021
+ const \u524D\u306E\u5F27\u305F\u3061 = \u524D\u3042\u308A ? \u524D\u306E\u6247\u305F\u3061.map((s, idx) => /* @__PURE__ */ jsxRuntime.jsx(
25022
+ "path",
25023
+ {
25024
+ "data-cdl-role": "chart-gauge-previous",
25025
+ "data-cdl-unresolved": s.d.unresolved ? "true" : void 0,
25026
+ d: s.path,
25027
+ fill: arcColor(s.d.tone, idx),
25028
+ fillOpacity: 0.45,
25029
+ stroke: "var(--cdl-node-fill, #ffffff)",
25030
+ strokeWidth: 1.5,
25031
+ strokeLinejoin: "round"
25032
+ },
25033
+ `prev-arc-${idx}`
25034
+ )) : null;
25004
25035
  return /* @__PURE__ */ jsxRuntime.jsxs("g", { transform: `translate(${x0} ${y0})`, children: [
25005
25036
  /* @__PURE__ */ jsxRuntime.jsx(
25006
25037
  "rect",
@@ -25017,7 +25048,13 @@ function ChartGaugeNode({
25017
25048
  }
25018
25049
  ),
25019
25050
  drawing && /* @__PURE__ */ jsxRuntime.jsx("defs", { children: /* @__PURE__ */ jsxRuntime.jsx("clipPath", { id: \u5207\u308A\u629C\u304Did, children: \u6247\u5F62\u306E\u5207\u308A\u629C\u304D(cx, cy, radius + 2, \u4F38\u3073, Math.PI, Math.PI) }) }),
25020
- drawing ? /* @__PURE__ */ jsxRuntime.jsx("g", { clipPath: `url(#${\u5207\u308A\u629C\u304Did})`, children: \u5F27\u305F\u3061 }) : \u5F27\u305F\u3061,
25051
+ drawing ? /* @__PURE__ */ jsxRuntime.jsxs("g", { clipPath: `url(#${\u5207\u308A\u629C\u304Did})`, children: [
25052
+ \u524D\u306E\u5F27\u305F\u3061,
25053
+ \u5F27\u305F\u3061
25054
+ ] }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
25055
+ \u524D\u306E\u5F27\u305F\u3061,
25056
+ \u5F27\u305F\u3061
25057
+ ] }),
25021
25058
  /* @__PURE__ */ jsxRuntime.jsx(
25022
25059
  "text",
25023
25060
  {
@@ -25126,9 +25163,11 @@ function ChartRadialNode({
25126
25163
  const rings = data.map((d, idx) => {
25127
25164
  const frac = d.value / total;
25128
25165
  const \u4E2D\u5FC3\u534A\u5F84 = \u5916\u534A\u5F84 - \u5E2F1\u672C * idx - \u5E2F1\u672C / 2;
25166
+ const \u524D\u306E\u5272\u5408 = d.previous === void 0 ? null : Math.max(0, d.previous) / total;
25129
25167
  return {
25130
25168
  d,
25131
25169
  frac,
25170
+ \u524D\u306E\u5272\u5408,
25132
25171
  \u4E2D\u5FC3\u534A\u5F84,
25133
25172
  // 軌道は全周。 1 周ちょうどは弧で表せないので、 わずかに欠かして描く
25134
25173
  \u8ECC\u9053: \u5F27\u306E\u90532(\u5F27\u306Ecx, cy, \u4E2D\u5FC3\u534A\u5F84, \u5E2F\u306E\u5E45, 0.9999),
@@ -25177,6 +25216,20 @@ function ChartRadialNode({
25177
25216
  )),
25178
25217
  drawing && /* @__PURE__ */ jsxRuntime.jsx("defs", { children: /* @__PURE__ */ jsxRuntime.jsx("clipPath", { id: \u5207\u308A\u629C\u304Did, children: \u6247\u5F62\u306E\u5207\u308A\u629C\u304D(\u5F27\u306Ecx, cy, \u5916\u534A\u5F84 + \u5E2F\u306E\u5E45, \u958B\u304D) }) }),
25179
25218
  drawing ? /* @__PURE__ */ jsxRuntime.jsx("g", { clipPath: `url(#${\u5207\u308A\u629C\u304Did})`, children: \u53D6\u308A\u5206\u305F\u3061 }) : \u53D6\u308A\u5206\u305F\u3061,
25219
+ rings.map(
25220
+ (r, idx) => r.\u524D\u306E\u5272\u5408 === null ? null : /* @__PURE__ */ jsxRuntime.jsx(
25221
+ "line",
25222
+ {
25223
+ "data-cdl-role": "chart-radial-previous",
25224
+ "data-cdl-unresolved": r.d.unresolved ? "true" : void 0,
25225
+ ...\u5E2F\u3092\u6A2A\u5207\u308B\u5370(\u5F27\u306Ecx, cy, r.\u4E2D\u5FC3\u534A\u5F84, \u5E2F\u306E\u5E45, Math.min(r.\u524D\u306E\u5272\u5408, 0.9999)),
25226
+ stroke: "var(--cdl-text-mute, #8a8678)",
25227
+ strokeWidth: 2,
25228
+ strokeLinecap: "round"
25229
+ },
25230
+ `prev-${idx}`
25231
+ )
25232
+ ),
25180
25233
  data.map((d, idx) => {
25181
25234
  const y = \u4E00\u89A7\u306E\u59CB\u307E\u308A + \u884C\u306E\u9AD8\u3055 * idx;
25182
25235
  return /* @__PURE__ */ jsxRuntime.jsxs("g", { "data-cdl-role": "chart-radial-item", children: [
@@ -25216,6 +25269,18 @@ function \u5F27\u306E\u90532(cx, cy, \u4E2D\u5FC3\u534A\u5F84, \u5E45, \u5272\u5
25216
25269
  const p = (r, a) => `${cx + r * Math.cos(a)} ${cy + r * Math.sin(a)}`;
25217
25270
  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`;
25218
25271
  }
25272
+ function \u5E2F\u3092\u6A2A\u5207\u308B\u5370(cx, cy, \u4E2D\u5FC3\u534A\u5F84, \u5E45, \u5272\u5408) {
25273
+ const \u306F\u307F\u51FA\u3057 = Math.min(\u5E45 * 0.3, 5);
25274
+ const \u5916 = \u4E2D\u5FC3\u534A\u5F84 + \u5E45 / 2 + \u306F\u307F\u51FA\u3057;
25275
+ const \u5185 = Math.max(0.5, \u4E2D\u5FC3\u534A\u5F84 - \u5E45 / 2 - \u306F\u307F\u51FA\u3057);
25276
+ const a = -Math.PI / 2 + \u5272\u5408 * Math.PI * 2;
25277
+ return {
25278
+ x1: cx + \u5185 * Math.cos(a),
25279
+ y1: cy + \u5185 * Math.sin(a),
25280
+ x2: cx + \u5916 * Math.cos(a),
25281
+ y2: cy + \u5916 * Math.sin(a)
25282
+ };
25283
+ }
25219
25284
  function arcColor2(tone, idx) {
25220
25285
  if (tone) return TONE[tone];
25221
25286
  return chartSeriesColor(idx);
@@ -25229,7 +25294,8 @@ function ChartStatNode({
25229
25294
  const y0 = node.cy - node.h / 2;
25230
25295
  const data = resolveChartData(node.chartData ?? [], stateValues);
25231
25296
  const total = data.reduce((acc, d) => acc + d.value, 0) || 1;
25232
- const \u533A\u753B = \u533A\u753B\u306E\u5272\u4ED8(node.w, node.h, data.length);
25297
+ const \u524D\u3092\u51FA\u3059 = data.some((d) => d.previous !== void 0);
25298
+ const \u533A\u753B = \u533A\u753B\u306E\u5272\u4ED8(node.w, node.h, data.length, \u524D\u3092\u51FA\u3059);
25233
25299
  const \u5272\u5408\u3092\u51FA\u3059 = data.length > 1;
25234
25300
  return /* @__PURE__ */ jsxRuntime.jsxs("g", { transform: `translate(${x0} ${y0})`, children: [
25235
25301
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -25297,6 +25363,24 @@ function ChartStatNode({
25297
25363
  children: \u6570\u5024
25298
25364
  }
25299
25365
  ),
25366
+ d.previous !== void 0 && /* @__PURE__ */ jsxRuntime.jsx(
25367
+ "text",
25368
+ {
25369
+ "data-cdl-role": "chart-stat-previous",
25370
+ "data-cdl-unresolved": d.unresolved ? "true" : void 0,
25371
+ x: \u67A02.w / 2,
25372
+ y: \u533A\u753B.\u524D\u306Ey,
25373
+ fontSize: \u53CE\u3081\u308B\u7D1A(
25374
+ `\u524D ${\u5B9F\u5024\u8868\u8A18(d.previous)}`,
25375
+ \u67A02.w - \u533A\u753B.\u4F59\u767D * 2,
25376
+ \u533A\u753B.\u524D\u306E\u7D1A,
25377
+ 8
25378
+ ),
25379
+ textAnchor: "middle",
25380
+ fill: "var(--cdl-text-dim, #5a6270)",
25381
+ children: `\u524D ${\u5B9F\u5024\u8868\u8A18(d.previous)}`
25382
+ }
25383
+ ),
25300
25384
  \u5272\u5408\u3092\u51FA\u3059 && /* @__PURE__ */ jsxRuntime.jsx(
25301
25385
  "circle",
25302
25386
  {
@@ -25340,29 +25424,34 @@ function ChartStatNode({
25340
25424
  })
25341
25425
  ] });
25342
25426
  }
25343
- function \u533A\u753B\u306E\u5272\u4ED8(w, h, \u4EF6\u6570) {
25427
+ function \u533A\u753B\u306E\u5272\u4ED8(w, h, \u4EF6\u6570, \u524D\u3092\u51FA\u3059) {
25344
25428
  const \u4F59\u767D = 20;
25345
25429
  const \u5E45 = \u4EF6\u6570 > 0 ? w / \u4EF6\u6570 : w;
25346
25430
  const \u540D\u524D\u306E\u7D1A = 14;
25347
25431
  const \u6570\u5024\u306E\u7D1A = 40;
25432
+ const \u524D\u306E\u7D1A = \u540D\u524D\u306E\u7D1A;
25348
25433
  const \u5272\u5408\u306E\u7D1A = 12;
25349
25434
  const \u5F27\u306E\u534A\u5F84 = 20;
25350
25435
  const \u5F27\u306E\u592A\u3055 = 4;
25351
- const \u4E2D\u8EAB\u306E\u9AD8\u3055 = \u540D\u524D\u306E\u7D1A + 12 + \u6570\u5024\u306E\u7D1A + 16 + \u5F27\u306E\u534A\u5F84 * 2 + 8 + \u5272\u5408\u306E\u7D1A;
25436
+ const \u524D\u306E\u9AD8\u3055 = \u524D\u3092\u51FA\u3059 ? 8 + \u524D\u306E\u7D1A : 0;
25437
+ 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
25438
  const \u4E0A\u7AEF = Math.max(\u4F59\u767D, (h - \u4E2D\u8EAB\u306E\u9AD8\u3055) / 2);
25353
25439
  const \u540D\u524D\u306Ey = \u4E0A\u7AEF + \u540D\u524D\u306E\u7D1A;
25354
25440
  const \u6570\u5024\u306Ey = \u540D\u524D\u306Ey + 12 + \u6570\u5024\u306E\u7D1A * 0.78;
25355
- const \u5F27\u306Ey = \u6570\u5024\u306Ey + 16 + \u5F27\u306E\u534A\u5F84;
25441
+ const \u524D\u306Ey = \u6570\u5024\u306Ey + 8 + \u524D\u306E\u7D1A;
25442
+ const \u5F27\u306Ey = \u6570\u5024\u306Ey + \u524D\u306E\u9AD8\u3055 + 16 + \u5F27\u306E\u534A\u5F84;
25356
25443
  const \u5272\u5408\u306Ey = \u5F27\u306Ey + \u5F27\u306E\u534A\u5F84 + 8 + \u5272\u5408\u306E\u7D1A;
25357
25444
  return {
25358
25445
  \u4F59\u767D,
25359
25446
  \u540D\u524D\u306E\u7D1A,
25360
25447
  \u6570\u5024\u306E\u7D1A,
25448
+ \u524D\u306E\u7D1A,
25361
25449
  \u5272\u5408\u306E\u7D1A,
25362
25450
  \u5F27\u306E\u534A\u5F84,
25363
25451
  \u5F27\u306E\u592A\u3055,
25364
25452
  \u540D\u524D\u306Ey,
25365
25453
  \u6570\u5024\u306Ey,
25454
+ \u524D\u306Ey,
25366
25455
  \u5F27\u306Ey,
25367
25456
  \u5272\u5408\u306Ey,
25368
25457
  \u67A0: (idx) => ({ x: \u5E45 * idx, y: 0, w: \u5E45, h })
@@ -25942,8 +26031,9 @@ function ChartBarNode({
25942
26031
  const canvasW = node.w - PAD_LEFT2 - PAD_RIGHT2;
25943
26032
  const canvasH = node.h - PAD_TOP2 - PAD_BOTTOM2;
25944
26033
  const vMax = data.length > 0 ? Math.max(...data.map((d) => d.value)) : 1;
26034
+ const \u8EF8\u306E\u3082\u3068 = data.length > 0 ? Math.max(vMax, ...data.map((d) => d.previous ?? 0)) : vMax;
25945
26035
  const \u76EE\u76DB\u308A\u306E\u76EE\u5B892 = 4;
25946
- const \u5929\u4E95\u306E\u3082\u3068 = vMax > 0 ? vMax : 1;
26036
+ const \u5929\u4E95\u306E\u3082\u3068 = \u8EF8\u306E\u3082\u3068 > 0 ? \u8EF8\u306E\u3082\u3068 : 1;
25947
26037
  const \u523B\u307F = \u76EE\u76DB\u308A\u306E\u523B\u307F(\u5929\u4E95\u306E\u3082\u3068, \u76EE\u76DB\u308A\u306E\u76EE\u5B892);
25948
26038
  const \u523B\u307F\u306E\u6841 = \u5C0F\u6570\u306E\u6841(\u523B\u307F);
25949
26039
  const \u5929\u4E95 = \u6841\u3067\u4E38\u3081\u308B(Math.ceil(\u5929\u4E95\u306E\u3082\u3068 / \u523B\u307F - 1e-9) * \u523B\u307F, \u523B\u307F\u306E\u6841);
@@ -26036,8 +26126,24 @@ function ChartBarNode({
26036
26126
  fillOpacity: \u6FC3\u3055(d.value)
26037
26127
  }
26038
26128
  );
26129
+ const \u5370\u306E\u306F\u307F\u51FA\u3057 = Math.min(barW * 0.18, 8);
26130
+ const \u524D\u306E\u5370 = d.previous === void 0 ? null : /* @__PURE__ */ jsxRuntime.jsx(
26131
+ "line",
26132
+ {
26133
+ "data-cdl-role": "chart-bar-previous",
26134
+ "data-cdl-unresolved": d.unresolved ? "true" : void 0,
26135
+ x1: bx - \u5370\u306E\u306F\u307F\u51FA\u3057,
26136
+ y1: yAt(Math.max(0, d.previous)),
26137
+ x2: bx + barW + \u5370\u306E\u306F\u307F\u51FA\u3057,
26138
+ y2: yAt(Math.max(0, d.previous)),
26139
+ stroke: "var(--cdl-text-mute, #8a8678)",
26140
+ strokeWidth: 1.5,
26141
+ strokeDasharray: "5 3"
26142
+ }
26143
+ );
26039
26144
  return /* @__PURE__ */ jsxRuntime.jsxs("g", { children: [
26040
26145
  drawing ? /* @__PURE__ */ jsxRuntime.jsx("g", { transform: `translate(0 ${\u6A2A\u8EF8\u306Ey}) scale(1 ${\u4F38\u3073}) translate(0 ${-\u6A2A\u8EF8\u306Ey})`, children: \u68D2 }) : \u68D2,
26146
+ \u524D\u306E\u5370,
26041
26147
  /* @__PURE__ */ jsxRuntime.jsx(
26042
26148
  "text",
26043
26149
  {