@cardenelabs/cdl 0.40.4 → 0.40.5
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 +23 -1
- package/dist/index.cjs +44 -11
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +44 -11
- package/dist/index.js.map +1 -1
- package/dist/react.cjs +44 -11
- package/dist/react.cjs.map +1 -1
- package/dist/react.js +44 -11
- package/dist/react.js.map +1 -1
- package/package.json +1 -1
- package/src/kinds/chart-gauge.tsx +88 -17
package/dist/react.cjs
CHANGED
|
@@ -12393,13 +12393,46 @@ function ChartGaugeNode({
|
|
|
12393
12393
|
const \u5F27\u3068\u5185\u8A33\u306E\u9593 = 16;
|
|
12394
12394
|
const \u5370\u306E\u5E452 = 30;
|
|
12395
12395
|
const \u533A\u753B\u306E\u9593 = 12;
|
|
12396
|
-
const \
|
|
12397
|
-
const \
|
|
12398
|
-
|
|
12399
|
-
|
|
12400
|
-
|
|
12396
|
+
const \u6570\u5024\u306E\u884C = (d) => `${\u5B9F\u5024\u8868\u8A18(d.value)} ${\u5272\u5408\u8868\u8A18(d.value / total)}`;
|
|
12397
|
+
const \u5272\u308A\u4ED8\u3051\u308B = (\u4EF6\u305F\u3061) => {
|
|
12398
|
+
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;
|
|
12399
|
+
const \u884C\u306E\u4EF6\u65702 = Math.min(
|
|
12400
|
+
Math.max(1, Math.floor(\u4F7F\u3048\u308B\u5E452 / Math.max(\u5E45, 1))),
|
|
12401
|
+
Math.max(\u4EF6\u305F\u3061.length, 1)
|
|
12402
|
+
);
|
|
12403
|
+
return { \u884C\u306E\u4EF6\u6570: \u884C\u306E\u4EF6\u65702, \u6BB5\u6570: Math.ceil(Math.max(\u4EF6\u305F\u3061.length, 1) / \u884C\u306E\u4EF6\u65702) };
|
|
12404
|
+
};
|
|
12405
|
+
const \u5F27\u306B\u6B8B\u3059\u9AD8\u3055 = 48;
|
|
12406
|
+
const \u7F6E\u3051\u308B\u6BB5\u6570 = Math.max(
|
|
12407
|
+
1,
|
|
12408
|
+
Math.floor((\u4F7F\u3048\u308B\u9AD8\u3055 - \u5F27\u306B\u6B8B\u3059\u9AD8\u3055 - \u5F27\u3068\u5185\u8A33\u306E\u9593) / \u6BB5\u306E\u9AD8\u3055)
|
|
12401
12409
|
);
|
|
12402
|
-
const \
|
|
12410
|
+
const \u7573\u3080 = (\u6B8B\u3059\u4EF6\u6570) => {
|
|
12411
|
+
if (\u6B8B\u3059\u4EF6\u6570 >= data.length) return data;
|
|
12412
|
+
const \u524D = data.slice(0, Math.max(0, \u6B8B\u3059\u4EF6\u6570 - 1));
|
|
12413
|
+
const \u6B8B\u308A = data.slice(Math.max(0, \u6B8B\u3059\u4EF6\u6570 - 1));
|
|
12414
|
+
const \u5024 = \u6B8B\u308A.reduce((acc, d) => acc + d.value, 0);
|
|
12415
|
+
const \u8AAD\u3081\u306A\u3044 = \u6B8B\u308A.some((d) => d.unresolved);
|
|
12416
|
+
const \u7573\u3093\u3060 = {
|
|
12417
|
+
...\u6B8B\u308A[0],
|
|
12418
|
+
label: "\u305D\u306E\u4ED6",
|
|
12419
|
+
value: \u5024,
|
|
12420
|
+
previous: void 0,
|
|
12421
|
+
...\u8AAD\u3081\u306A\u3044 ? { unresolved: true } : { unresolved: void 0 }
|
|
12422
|
+
};
|
|
12423
|
+
return [...\u524D, \u7573\u3093\u3060];
|
|
12424
|
+
};
|
|
12425
|
+
const \u51FA\u3059\u4EF6\u305F\u3061 = (() => {
|
|
12426
|
+
let \u4EF6\u305F\u3061 = data;
|
|
12427
|
+
for (let i = 0; i < 4; i++) {
|
|
12428
|
+
const { \u884C\u306E\u4EF6\u6570: \u884C\u306E\u4EF6\u65702, \u6BB5\u6570 } = \u5272\u308A\u4ED8\u3051\u308B(\u4EF6\u305F\u3061);
|
|
12429
|
+
if (\u6BB5\u6570 <= \u7F6E\u3051\u308B\u6BB5\u6570) return \u4EF6\u305F\u3061;
|
|
12430
|
+
\u4EF6\u305F\u3061 = \u7573\u3080(Math.max(1, \u7F6E\u3051\u308B\u6BB5\u6570 * \u884C\u306E\u4EF6\u65702));
|
|
12431
|
+
}
|
|
12432
|
+
return \u4EF6\u305F\u3061;
|
|
12433
|
+
})();
|
|
12434
|
+
const \u5185\u8A33\u306E\u6570\u5024 = \u51FA\u3059\u4EF6\u305F\u3061.map((d) => \u6570\u5024\u306E\u884C(d));
|
|
12435
|
+
const { \u884C\u306E\u4EF6\u6570, \u6BB5\u6570: \u5185\u8A33\u306E\u6BB5\u6570 } = \u5272\u308A\u4ED8\u3051\u308B(\u51FA\u3059\u4EF6\u305F\u3061);
|
|
12403
12436
|
const \u5185\u8A33\u306E\u9AD8\u3055 = \u6BB5\u306E\u9AD8\u3055 * \u5185\u8A33\u306E\u6BB5\u6570;
|
|
12404
12437
|
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
12438
|
const radius = Math.max(24, Math.min(\u5F27\u306B\u4F7F\u3048\u308B\u9AD8\u3055, \u4F7F\u3048\u308B\u5E452 / 2));
|
|
@@ -12407,7 +12440,7 @@ function ChartGaugeNode({
|
|
|
12407
12440
|
const cx = node.w / 2;
|
|
12408
12441
|
const cy = PAD_TOP2 + radius;
|
|
12409
12442
|
let cumFrac = 0;
|
|
12410
|
-
const slices =
|
|
12443
|
+
const slices = \u51FA\u3059\u4EF6\u305F\u3061.map((d) => {
|
|
12411
12444
|
const frac = d.value / total;
|
|
12412
12445
|
const a0 = Math.PI + cumFrac * Math.PI;
|
|
12413
12446
|
const a1 = a0 + frac * Math.PI;
|
|
@@ -12420,10 +12453,10 @@ function ChartGaugeNode({
|
|
|
12420
12453
|
return { d, frac, path };
|
|
12421
12454
|
});
|
|
12422
12455
|
const \u5408\u8A08\u306E\u6587\u5B57 = \u5B9F\u5024\u8868\u8A18(Math.round(total));
|
|
12423
|
-
const \
|
|
12456
|
+
const \u5358\u4F4D\u5E45 = Math.max(textWidth(\u5408\u8A08\u306E\u6587\u5B57, 100), 1) / 100;
|
|
12424
12457
|
const \u7D1A\u306E\u5019\u88DC = Math.min(
|
|
12425
|
-
// 横 =
|
|
12426
|
-
\
|
|
12458
|
+
// 横 = 字の上の角が内側の円に入る大きさ
|
|
12459
|
+
\u5185\u534A\u5F84 / Math.sqrt((\u5358\u4F4D\u5E45 / 2) ** 2 + 1.25 ** 2),
|
|
12427
12460
|
// 縦 = 合計 1 行 + 見出し 1 行が内側の高さに収まる比
|
|
12428
12461
|
\u5185\u534A\u5F84 * 0.52
|
|
12429
12462
|
);
|
|
@@ -12486,7 +12519,7 @@ function ChartGaugeNode({
|
|
|
12486
12519
|
children: "\u5408\u8A08"
|
|
12487
12520
|
}
|
|
12488
12521
|
),
|
|
12489
|
-
|
|
12522
|
+
\u51FA\u3059\u4EF6\u305F\u3061.map((d, idx) => {
|
|
12490
12523
|
const \u5217 = idx % \u884C\u306E\u4EF6\u6570;
|
|
12491
12524
|
const \u6BB5 = Math.floor(idx / \u884C\u306E\u4EF6\u6570);
|
|
12492
12525
|
const x = PAD_SIDE + \u5185\u8A33\u306E\u5E45 * \u5217;
|