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