@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/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 \u5185\u8A33\u306E\u6570\u5024 = data.map((d) => `${\u5B9F\u5024\u8868\u8A18(d.value)} ${\u5272\u5408\u8868\u8A18(d.value / total)}`);
12397
- 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;
12398
- const \u884C\u306E\u4EF6\u6570 = Math.min(
12399
- Math.max(1, Math.floor(\u4F7F\u3048\u308B\u5E452 / Math.max(\u4EF6\u306B\u8981\u308B\u5E45, 1))),
12400
- Math.max(data.length, 1)
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 \u5185\u8A33\u306E\u6BB5\u6570 = Math.ceil(Math.max(data.length, 1) / \u884C\u306E\u4EF6\u6570);
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 = data.map((d) => {
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 \u6A2A\u306E\u4E0A\u9650 = \u5185\u534A\u5F84 * 2 * 0.86;
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
- \u6A2A\u306E\u4E0A\u9650 / Math.max(textWidth(\u5408\u8A08\u306E\u6587\u5B57, 100), 1) * 100,
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
- data.map((d, idx) => {
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;