@cardenelabs/cdl 0.40.4 → 0.40.6
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 +45 -1
- package/dist/index.cjs +57 -12
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +57 -12
- package/dist/index.js.map +1 -1
- package/dist/react.cjs +57 -12
- package/dist/react.cjs.map +1 -1
- package/dist/react.js +57 -12
- package/dist/react.js.map +1 -1
- package/package.json +1 -1
- package/src/kinds/chart-gauge.tsx +88 -17
- package/src/validate.ts +27 -2
package/dist/react.cjs
CHANGED
|
@@ -9534,6 +9534,18 @@ var DRAW_KINDS = /* @__PURE__ */ new Set([
|
|
|
9534
9534
|
]);
|
|
9535
9535
|
var KINDS = new Set(NODE_KINDS);
|
|
9536
9536
|
var ENG_BANNED = /\b(FUNCTION|STORAGE|EVENT LOG|BALANCES MAPPING|READ|WRITE|EMIT|CALL)\b/;
|
|
9537
|
+
var \u56F3\u8868\u306E\u8377\u306E\u6B04 = [
|
|
9538
|
+
"chartData",
|
|
9539
|
+
"ganttData",
|
|
9540
|
+
"mindData",
|
|
9541
|
+
"funnelData",
|
|
9542
|
+
"quadrantData",
|
|
9543
|
+
"treeData",
|
|
9544
|
+
"journeyData"
|
|
9545
|
+
];
|
|
9546
|
+
function \u56F3\u8868\u306E\u7BC0(n) {
|
|
9547
|
+
return \u56F3\u8868\u306E\u8377\u306E\u6B04.some((\u6B04) => n[\u6B04] !== void 0);
|
|
9548
|
+
}
|
|
9537
9549
|
function validate(diag) {
|
|
9538
9550
|
const errors = [];
|
|
9539
9551
|
const warnings = [];
|
|
@@ -9691,7 +9703,7 @@ function validate(diag) {
|
|
|
9691
9703
|
for (const id of p.activate) allActivated.add(id);
|
|
9692
9704
|
}
|
|
9693
9705
|
for (const n of diag.nodes) {
|
|
9694
|
-
if (!allActivated.has(n.id)) {
|
|
9706
|
+
if (!allActivated.has(n.id) && !\u56F3\u8868\u306E\u7BC0(n)) {
|
|
9695
9707
|
warnings.push(`node "${n.id}" \u304C\u3069\u306E phase \u3067\u3082 activate \u3055\u308C\u3066\u3044\u306A\u3044 (unused\u3001 typo \u306E\u53EF\u80FD\u6027)`);
|
|
9696
9708
|
}
|
|
9697
9709
|
}
|
|
@@ -12393,13 +12405,46 @@ function ChartGaugeNode({
|
|
|
12393
12405
|
const \u5F27\u3068\u5185\u8A33\u306E\u9593 = 16;
|
|
12394
12406
|
const \u5370\u306E\u5E452 = 30;
|
|
12395
12407
|
const \u533A\u753B\u306E\u9593 = 12;
|
|
12396
|
-
const \
|
|
12397
|
-
const \
|
|
12398
|
-
|
|
12399
|
-
|
|
12400
|
-
|
|
12408
|
+
const \u6570\u5024\u306E\u884C = (d) => `${\u5B9F\u5024\u8868\u8A18(d.value)} ${\u5272\u5408\u8868\u8A18(d.value / total)}`;
|
|
12409
|
+
const \u5272\u308A\u4ED8\u3051\u308B = (\u4EF6\u305F\u3061) => {
|
|
12410
|
+
const \u5E45 = Math.max(\u5370\u306E\u5E452, ...\u4EF6\u305F\u3061.map((d) => textWidth(\u6570\u5024\u306E\u884C(d), \u6570\u5024\u306E\u7D1A))) + \u533A\u753B\u306E\u9593;
|
|
12411
|
+
const \u884C\u306E\u4EF6\u65702 = Math.min(
|
|
12412
|
+
Math.max(1, Math.floor(\u4F7F\u3048\u308B\u5E452 / Math.max(\u5E45, 1))),
|
|
12413
|
+
Math.max(\u4EF6\u305F\u3061.length, 1)
|
|
12414
|
+
);
|
|
12415
|
+
return { \u884C\u306E\u4EF6\u6570: \u884C\u306E\u4EF6\u65702, \u6BB5\u6570: Math.ceil(Math.max(\u4EF6\u305F\u3061.length, 1) / \u884C\u306E\u4EF6\u65702) };
|
|
12416
|
+
};
|
|
12417
|
+
const \u5F27\u306B\u6B8B\u3059\u9AD8\u3055 = 48;
|
|
12418
|
+
const \u7F6E\u3051\u308B\u6BB5\u6570 = Math.max(
|
|
12419
|
+
1,
|
|
12420
|
+
Math.floor((\u4F7F\u3048\u308B\u9AD8\u3055 - \u5F27\u306B\u6B8B\u3059\u9AD8\u3055 - \u5F27\u3068\u5185\u8A33\u306E\u9593) / \u6BB5\u306E\u9AD8\u3055)
|
|
12401
12421
|
);
|
|
12402
|
-
const \
|
|
12422
|
+
const \u7573\u3080 = (\u6B8B\u3059\u4EF6\u6570) => {
|
|
12423
|
+
if (\u6B8B\u3059\u4EF6\u6570 >= data.length) return data;
|
|
12424
|
+
const \u524D = data.slice(0, Math.max(0, \u6B8B\u3059\u4EF6\u6570 - 1));
|
|
12425
|
+
const \u6B8B\u308A = data.slice(Math.max(0, \u6B8B\u3059\u4EF6\u6570 - 1));
|
|
12426
|
+
const \u5024 = \u6B8B\u308A.reduce((acc, d) => acc + d.value, 0);
|
|
12427
|
+
const \u8AAD\u3081\u306A\u3044 = \u6B8B\u308A.some((d) => d.unresolved);
|
|
12428
|
+
const \u7573\u3093\u3060 = {
|
|
12429
|
+
...\u6B8B\u308A[0],
|
|
12430
|
+
label: "\u305D\u306E\u4ED6",
|
|
12431
|
+
value: \u5024,
|
|
12432
|
+
previous: void 0,
|
|
12433
|
+
...\u8AAD\u3081\u306A\u3044 ? { unresolved: true } : { unresolved: void 0 }
|
|
12434
|
+
};
|
|
12435
|
+
return [...\u524D, \u7573\u3093\u3060];
|
|
12436
|
+
};
|
|
12437
|
+
const \u51FA\u3059\u4EF6\u305F\u3061 = (() => {
|
|
12438
|
+
let \u4EF6\u305F\u3061 = data;
|
|
12439
|
+
for (let i = 0; i < 4; i++) {
|
|
12440
|
+
const { \u884C\u306E\u4EF6\u6570: \u884C\u306E\u4EF6\u65702, \u6BB5\u6570 } = \u5272\u308A\u4ED8\u3051\u308B(\u4EF6\u305F\u3061);
|
|
12441
|
+
if (\u6BB5\u6570 <= \u7F6E\u3051\u308B\u6BB5\u6570) return \u4EF6\u305F\u3061;
|
|
12442
|
+
\u4EF6\u305F\u3061 = \u7573\u3080(Math.max(1, \u7F6E\u3051\u308B\u6BB5\u6570 * \u884C\u306E\u4EF6\u65702));
|
|
12443
|
+
}
|
|
12444
|
+
return \u4EF6\u305F\u3061;
|
|
12445
|
+
})();
|
|
12446
|
+
const \u5185\u8A33\u306E\u6570\u5024 = \u51FA\u3059\u4EF6\u305F\u3061.map((d) => \u6570\u5024\u306E\u884C(d));
|
|
12447
|
+
const { \u884C\u306E\u4EF6\u6570, \u6BB5\u6570: \u5185\u8A33\u306E\u6BB5\u6570 } = \u5272\u308A\u4ED8\u3051\u308B(\u51FA\u3059\u4EF6\u305F\u3061);
|
|
12403
12448
|
const \u5185\u8A33\u306E\u9AD8\u3055 = \u6BB5\u306E\u9AD8\u3055 * \u5185\u8A33\u306E\u6BB5\u6570;
|
|
12404
12449
|
const \u5F27\u306B\u4F7F\u3048\u308B\u9AD8\u3055 = \u4F7F\u3048\u308B\u9AD8\u3055 - \u5185\u8A33\u306E\u9AD8\u3055 - \u5F27\u3068\u5185\u8A33\u306E\u9593;
|
|
12405
12450
|
const radius = Math.max(24, Math.min(\u5F27\u306B\u4F7F\u3048\u308B\u9AD8\u3055, \u4F7F\u3048\u308B\u5E452 / 2));
|
|
@@ -12407,7 +12452,7 @@ function ChartGaugeNode({
|
|
|
12407
12452
|
const cx = node.w / 2;
|
|
12408
12453
|
const cy = PAD_TOP2 + radius;
|
|
12409
12454
|
let cumFrac = 0;
|
|
12410
|
-
const slices =
|
|
12455
|
+
const slices = \u51FA\u3059\u4EF6\u305F\u3061.map((d) => {
|
|
12411
12456
|
const frac = d.value / total;
|
|
12412
12457
|
const a0 = Math.PI + cumFrac * Math.PI;
|
|
12413
12458
|
const a1 = a0 + frac * Math.PI;
|
|
@@ -12420,10 +12465,10 @@ function ChartGaugeNode({
|
|
|
12420
12465
|
return { d, frac, path };
|
|
12421
12466
|
});
|
|
12422
12467
|
const \u5408\u8A08\u306E\u6587\u5B57 = \u5B9F\u5024\u8868\u8A18(Math.round(total));
|
|
12423
|
-
const \
|
|
12468
|
+
const \u5358\u4F4D\u5E45 = Math.max(textWidth(\u5408\u8A08\u306E\u6587\u5B57, 100), 1) / 100;
|
|
12424
12469
|
const \u7D1A\u306E\u5019\u88DC = Math.min(
|
|
12425
|
-
// 横 =
|
|
12426
|
-
\
|
|
12470
|
+
// 横 = 字の上の角が内側の円に入る大きさ
|
|
12471
|
+
\u5185\u534A\u5F84 / Math.sqrt((\u5358\u4F4D\u5E45 / 2) ** 2 + 1.25 ** 2),
|
|
12427
12472
|
// 縦 = 合計 1 行 + 見出し 1 行が内側の高さに収まる比
|
|
12428
12473
|
\u5185\u534A\u5F84 * 0.52
|
|
12429
12474
|
);
|
|
@@ -12486,7 +12531,7 @@ function ChartGaugeNode({
|
|
|
12486
12531
|
children: "\u5408\u8A08"
|
|
12487
12532
|
}
|
|
12488
12533
|
),
|
|
12489
|
-
|
|
12534
|
+
\u51FA\u3059\u4EF6\u305F\u3061.map((d, idx) => {
|
|
12490
12535
|
const \u5217 = idx % \u884C\u306E\u4EF6\u6570;
|
|
12491
12536
|
const \u6BB5 = Math.floor(idx / \u884C\u306E\u4EF6\u6570);
|
|
12492
12537
|
const x = PAD_SIDE + \u5185\u8A33\u306E\u5E45 * \u5217;
|