@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.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 \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)
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 \u5185\u8A33\u306E\u6BB5\u6570 = Math.ceil(Math.max(data.length, 1) / \u884C\u306E\u4EF6\u6570);
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 = data.map((d) => {
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 \u6A2A\u306E\u4E0A\u9650 = \u5185\u534A\u5F84 * 2 * 0.86;
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
- \u6A2A\u306E\u4E0A\u9650 / Math.max(textWidth(\u5408\u8A08\u306E\u6587\u5B57, 100), 1) * 100,
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
- data.map((d, idx) => {
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;