@cardenelabs/cdl 0.39.0 → 0.40.1
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 +44 -1
- package/SPEC.md +1 -0
- package/dist/index.cjs +67 -12
- 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 +67 -12
- package/dist/index.js.map +1 -1
- package/dist/react.cjs +67 -12
- 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 +67 -12
- package/dist/react.js.map +1 -1
- package/dist/{render-B1ArenZ7.d.cts → render-UGswDfAh.d.cts} +1 -0
- package/dist/{render-B1ArenZ7.d.ts → render-UGswDfAh.d.ts} +1 -0
- package/package.json +1 -1
- package/src/kinds/chart-slope.tsx +100 -8
- package/src/kinds/chart-waffle.tsx +32 -2
- package/src/render/nodes.tsx +10 -2
- package/src/types.ts +1 -0
- package/src/validate.ts +2 -0
package/dist/react.cjs
CHANGED
|
@@ -9529,7 +9529,8 @@ var DRAW_KINDS = /* @__PURE__ */ new Set([
|
|
|
9529
9529
|
"funnel-stages",
|
|
9530
9530
|
"chart-gauge",
|
|
9531
9531
|
"chart-radial",
|
|
9532
|
-
"chart-stacked-bar"
|
|
9532
|
+
"chart-stacked-bar",
|
|
9533
|
+
"chart-waffle"
|
|
9533
9534
|
]);
|
|
9534
9535
|
var KINDS = new Set(NODE_KINDS);
|
|
9535
9536
|
var ENG_BANNED = /\b(FUNCTION|STORAGE|EVENT LOG|BALANCES MAPPING|READ|WRITE|EMIT|CALL)\b/;
|
|
@@ -12763,7 +12764,9 @@ function \u5370\u306E\u5272\u4ED8(\u5024) {
|
|
|
12763
12764
|
function ChartWaffleNode({
|
|
12764
12765
|
node,
|
|
12765
12766
|
active,
|
|
12766
|
-
stateValues = {}
|
|
12767
|
+
stateValues = {},
|
|
12768
|
+
drawing = false,
|
|
12769
|
+
progress = 1
|
|
12767
12770
|
}) {
|
|
12768
12771
|
const x0 = node.cx - node.w / 2;
|
|
12769
12772
|
const y0 = node.cy - node.h / 2;
|
|
@@ -12792,6 +12795,7 @@ function ChartWaffleNode({
|
|
|
12792
12795
|
\u914D\u5206.forEach((n, idx) => {
|
|
12793
12796
|
for (let k = 0; k < n; k++) \u6301\u3061\u4E3B.push(idx);
|
|
12794
12797
|
});
|
|
12798
|
+
const \u57CB\u307E\u3063\u305F = Math.round(\u9032\u307F\u3092\u7573\u3080(drawing, progress) * WAFFLE_TOTAL);
|
|
12795
12799
|
const \u4E00\u89A7\u306E\u59CB\u307E\u308A = PAD + (\u4F7F\u3048\u308B\u9AD8\u3055 - \u884C\u306E\u9AD8\u3055 * data.length) / 2 + \u884C\u306E\u9AD8\u3055 / 2;
|
|
12796
12800
|
return /* @__PURE__ */ jsxRuntime.jsxs("g", { transform: `translate(${x0} ${y0})`, children: [
|
|
12797
12801
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -12812,6 +12816,7 @@ function ChartWaffleNode({
|
|
|
12812
12816
|
const \u884C = Math.floor(k / WAFFLE_COLS);
|
|
12813
12817
|
const \u5217 = k % WAFFLE_COLS;
|
|
12814
12818
|
const owner = \u6301\u3061\u4E3B[k];
|
|
12819
|
+
const \u57CB\u307E\u3063\u3066\u3044\u308B = owner !== void 0 && k < \u57CB\u307E\u3063\u305F;
|
|
12815
12820
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
12816
12821
|
"rect",
|
|
12817
12822
|
{
|
|
@@ -12822,8 +12827,8 @@ function ChartWaffleNode({
|
|
|
12822
12827
|
width: \u5370,
|
|
12823
12828
|
height: \u5370,
|
|
12824
12829
|
rx: 2,
|
|
12825
|
-
fill:
|
|
12826
|
-
fillOpacity:
|
|
12830
|
+
fill: \u57CB\u307E\u3063\u3066\u3044\u308B ? \u5370\u306E\u82722(data[owner].tone, owner) : "var(--cdl-divider, #d4d4d8)",
|
|
12831
|
+
fillOpacity: \u57CB\u307E\u3063\u3066\u3044\u308B ? 1 : 0.35
|
|
12827
12832
|
},
|
|
12828
12833
|
`cell-${k}`
|
|
12829
12834
|
);
|
|
@@ -13024,6 +13029,36 @@ function \u4E00\u89A7\u306E\u4E26\u3073(data, \u5DE6, \u53F3\u7AEF, \u7D1A) {
|
|
|
13024
13029
|
return out;
|
|
13025
13030
|
}
|
|
13026
13031
|
var \u7DDA\u306E\u6700\u5C0F\u5E45 = 120;
|
|
13032
|
+
function \u540D\u672D\u306E\u6BB5\u3092\u307B\u3069\u304F(\u771F\u306Ey, \u9593\u9694, \u4E0A\u9650, \u4E0B\u9650) {
|
|
13033
|
+
const \u4EF6\u6570 = \u771F\u306Ey.length;
|
|
13034
|
+
if (\u4EF6\u6570 === 0) return [];
|
|
13035
|
+
const \u4E26\u3073 = \u771F\u306Ey.map((y, i) => ({ y, i })).sort((a, b) => a.y - b.y || a.i - b.i);
|
|
13036
|
+
const \u7D50\u679C = new Array(\u4EF6\u6570);
|
|
13037
|
+
if (\u9593\u9694 * (\u4EF6\u6570 - 1) > \u4E0B\u9650 - \u4E0A\u9650) {
|
|
13038
|
+
\u4E26\u3073.forEach((e, k) => {
|
|
13039
|
+
\u7D50\u679C[e.i] = \u4EF6\u6570 > 1 ? \u4E0A\u9650 + (\u4E0B\u9650 - \u4E0A\u9650) / (\u4EF6\u6570 - 1) * k : (\u4E0A\u9650 + \u4E0B\u9650) / 2;
|
|
13040
|
+
});
|
|
13041
|
+
return \u7D50\u679C;
|
|
13042
|
+
}
|
|
13043
|
+
const \u584A\u305F\u3061 = [];
|
|
13044
|
+
\u4E26\u3073.forEach((e, k) => {
|
|
13045
|
+
\u584A\u305F\u3061.push({ \u5408\u8A08: e.y - \u9593\u9694 * k, \u4EF6\u6570: 1 });
|
|
13046
|
+
while (\u584A\u305F\u3061.length >= 2) {
|
|
13047
|
+
const \u5F8C = \u584A\u305F\u3061[\u584A\u305F\u3061.length - 1];
|
|
13048
|
+
const \u524D = \u584A\u305F\u3061[\u584A\u305F\u3061.length - 2];
|
|
13049
|
+
if (\u524D.\u5408\u8A08 / \u524D.\u4EF6\u6570 <= \u5F8C.\u5408\u8A08 / \u5F8C.\u4EF6\u6570) break;
|
|
13050
|
+
\u584A\u305F\u3061.splice(\u584A\u305F\u3061.length - 2, 2, { \u5408\u8A08: \u524D.\u5408\u8A08 + \u5F8C.\u5408\u8A08, \u4EF6\u6570: \u524D.\u4EF6\u6570 + \u5F8C.\u4EF6\u6570 });
|
|
13051
|
+
}
|
|
13052
|
+
});
|
|
13053
|
+
const \u307B\u3069\u3044\u305F = [];
|
|
13054
|
+
\u584A\u305F\u3061.forEach((\u584A) => {
|
|
13055
|
+
const \u5E73\u5747 = \u584A.\u5408\u8A08 / \u584A.\u4EF6\u6570;
|
|
13056
|
+
for (let j = 0; j < \u584A.\u4EF6\u6570; j++) \u307B\u3069\u3044\u305F.push(\u5E73\u5747 + \u9593\u9694 * \u307B\u3069\u3044\u305F.length);
|
|
13057
|
+
});
|
|
13058
|
+
const \u305A\u308C = Math.max(0, \u4E0A\u9650 - \u307B\u3069\u3044\u305F[0]) - Math.max(0, \u307B\u3069\u3044\u305F[\u4EF6\u6570 - 1] - \u4E0B\u9650);
|
|
13059
|
+
\u4E26\u3073.forEach((e, k) => \u7D50\u679C[e.i] = \u307B\u3069\u3044\u305F[k] + \u305A\u308C);
|
|
13060
|
+
return \u7D50\u679C;
|
|
13061
|
+
}
|
|
13027
13062
|
function ChartSlopeNode({
|
|
13028
13063
|
node,
|
|
13029
13064
|
active,
|
|
@@ -13089,6 +13124,15 @@ function ChartSlopeNode({
|
|
|
13089
13124
|
const \u53F3\u8EF8x = \u524D\u3042\u308A ? Math.min(node.w - PAD, Math.max(node.w - PAD - \u53F3\u306E\u4F59\u767D, node.w / 2 + \u7DDA\u306E\u6700\u5C0F\u5E45 / 2)) : \u5DE6\u8EF8x;
|
|
13090
13125
|
const \u4F38\u3073 = \u9032\u307F\u3092\u7573\u3080(drawing, progress);
|
|
13091
13126
|
const \u53F3\u3092\u51FA\u3059 = !drawing || \u4F38\u3073 >= 1;
|
|
13127
|
+
const \u5DE6\u306E\u70B9y = \u7CFB\u5217\u305F\u3061.map(
|
|
13128
|
+
(s, i) => \u5F62 === "rank" ? \u6BB5\u306Ey\u3092\u53D6\u308B(\u524D\u306E\u9806\u4F4D[i]) : y\u3092\u53D6\u308B(s.\u524D)
|
|
13129
|
+
);
|
|
13130
|
+
const \u53F3\u306E\u70B9y = \u7CFB\u5217\u305F\u3061.map(
|
|
13131
|
+
(s, i) => \u5F62 === "rank" ? \u6BB5\u306Ey\u3092\u53D6\u308B(\u4ECA\u306E\u9806\u4F4D[i]) : y\u3092\u53D6\u308B(s.\u4ECA)
|
|
13132
|
+
);
|
|
13133
|
+
const \u540D\u672D\u306E\u884C = Math.max(\u5024\u306E\u7D1A, \u540D\u524D\u306E\u7D1A) + 4;
|
|
13134
|
+
const \u5DE6\u306E\u540D\u672Dy = \u524D\u3042\u308A ? \u540D\u672D\u306E\u6BB5\u3092\u307B\u3069\u304F(\u5DE6\u306E\u70B9y, \u540D\u672D\u306E\u884C, \u4E0A\u7AEF, \u4E0B\u7AEF) : \u5DE6\u306E\u70B9y;
|
|
13135
|
+
const \u53F3\u306E\u540D\u672Dy = \u540D\u672D\u306E\u6BB5\u3092\u307B\u3069\u304F(\u53F3\u306E\u70B9y, \u540D\u672D\u306E\u884C, \u4E0A\u7AEF, \u4E0B\u7AEF);
|
|
13092
13136
|
return /* @__PURE__ */ jsxRuntime.jsxs("g", { transform: `translate(${x0} ${y0})`, children: [
|
|
13093
13137
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
13094
13138
|
"rect",
|
|
@@ -13146,8 +13190,10 @@ function ChartSlopeNode({
|
|
|
13146
13190
|
)
|
|
13147
13191
|
] }),
|
|
13148
13192
|
\u7CFB\u5217\u305F\u3061.map((s, i) => {
|
|
13149
|
-
const \u5DE6y = \
|
|
13150
|
-
const \u53F3y = \
|
|
13193
|
+
const \u5DE6y = \u5DE6\u306E\u70B9y[i];
|
|
13194
|
+
const \u53F3y = \u53F3\u306E\u70B9y[i];
|
|
13195
|
+
const \u5DE6\u672Dy = \u5DE6\u306E\u540D\u672Dy[i];
|
|
13196
|
+
const \u53F3\u672Dy = \u53F3\u306E\u540D\u672Dy[i];
|
|
13151
13197
|
const \u672A\u89E3\u6C7A = s.\u672A\u89E3\u6C7A ? "true" : void 0;
|
|
13152
13198
|
return /* @__PURE__ */ jsxRuntime.jsxs("g", { children: [
|
|
13153
13199
|
\u524D\u3042\u308A && /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -13191,7 +13237,7 @@ function ChartSlopeNode({
|
|
|
13191
13237
|
{
|
|
13192
13238
|
"data-cdl-role": "chart-slope-value",
|
|
13193
13239
|
x: \u5DE6\u8EF8x - \u8EF8\u304B\u3089\u5024\u307E\u3067,
|
|
13194
|
-
y: \
|
|
13240
|
+
y: \u5DE6\u672Dy + 5,
|
|
13195
13241
|
textAnchor: "end",
|
|
13196
13242
|
fontSize: \u5024\u306E\u7D1A,
|
|
13197
13243
|
fontWeight: 600,
|
|
@@ -13204,7 +13250,7 @@ function ChartSlopeNode({
|
|
|
13204
13250
|
{
|
|
13205
13251
|
"data-cdl-role": "chart-slope-name",
|
|
13206
13252
|
x: \u5DE6\u8EF8x - \u8EF8\u304B\u3089\u5024\u307E\u3067 - \u5DE6\u5024\u5E45 - \u5024\u304B\u3089\u540D\u524D\u307E\u3067,
|
|
13207
|
-
y: \
|
|
13253
|
+
y: \u5DE6\u672Dy + 5,
|
|
13208
13254
|
textAnchor: "end",
|
|
13209
13255
|
fontSize: \u540D\u524D\u306E\u7D1A,
|
|
13210
13256
|
fill: s.\u8272,
|
|
@@ -13216,7 +13262,7 @@ function ChartSlopeNode({
|
|
|
13216
13262
|
{
|
|
13217
13263
|
"data-cdl-role": "chart-slope-name",
|
|
13218
13264
|
x: \u5DE6\u8EF8x - \u8EF8\u304B\u3089\u5024\u307E\u3067,
|
|
13219
|
-
y: \
|
|
13265
|
+
y: \u53F3\u672Dy + 5,
|
|
13220
13266
|
textAnchor: "end",
|
|
13221
13267
|
fontSize: \u540D\u524D\u306E\u7D1A,
|
|
13222
13268
|
fill: s.\u8272,
|
|
@@ -13229,7 +13275,7 @@ function ChartSlopeNode({
|
|
|
13229
13275
|
{
|
|
13230
13276
|
"data-cdl-role": \u5F62 === "delta" ? "chart-slope-delta" : "chart-slope-value",
|
|
13231
13277
|
x: \u53F3\u8EF8x + \u8EF8\u304B\u3089\u5024\u307E\u3067,
|
|
13232
|
-
y: \
|
|
13278
|
+
y: \u53F3\u672Dy + 5,
|
|
13233
13279
|
fontSize: \u5024\u306E\u7D1A,
|
|
13234
13280
|
fontWeight: 600,
|
|
13235
13281
|
fill: "var(--cdl-text, #1a1f2a)",
|
|
@@ -13241,7 +13287,7 @@ function ChartSlopeNode({
|
|
|
13241
13287
|
{
|
|
13242
13288
|
"data-cdl-role": "chart-slope-name",
|
|
13243
13289
|
x: \u53F3\u8EF8x + \u8EF8\u304B\u3089\u5024\u307E\u3067 + \u53F3\u5024\u5E45 + \u5024\u304B\u3089\u540D\u524D\u307E\u3067,
|
|
13244
|
-
y: \
|
|
13290
|
+
y: \u53F3\u672Dy + 5,
|
|
13245
13291
|
fontSize: \u540D\u524D\u306E\u7D1A,
|
|
13246
13292
|
fill: s.\u8272,
|
|
13247
13293
|
children: s.\u540D\u524D
|
|
@@ -17971,7 +18017,16 @@ function CdlNodeView({
|
|
|
17971
18017
|
}
|
|
17972
18018
|
);
|
|
17973
18019
|
case "chart-waffle":
|
|
17974
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
18020
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
18021
|
+
ChartWaffleNode,
|
|
18022
|
+
{
|
|
18023
|
+
node: resolvedNode,
|
|
18024
|
+
active,
|
|
18025
|
+
stateValues,
|
|
18026
|
+
drawing,
|
|
18027
|
+
progress
|
|
18028
|
+
}
|
|
18029
|
+
);
|
|
17975
18030
|
case "chart-stat":
|
|
17976
18031
|
return /* @__PURE__ */ jsxRuntime.jsx(ChartStatNode, { node: resolvedNode, active, stateValues });
|
|
17977
18032
|
case "chart-radial":
|