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