@cardenelabs/cdl 0.40.0 → 0.40.2

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/index.js CHANGED
@@ -24356,6 +24356,38 @@ function interpolateColor(template, stateValues, fallback) {
24356
24356
  if (!template) return fallback;
24357
24357
  return interpolate(template, stateValues);
24358
24358
  }
24359
+
24360
+ // src/kinds/label-stack.ts
24361
+ function \u540D\u672D\u306E\u6BB5\u3092\u307B\u3069\u304F(\u771F\u306Ey, \u9593\u9694, \u4E0A\u9650, \u4E0B\u9650) {
24362
+ const \u4EF6\u6570 = \u771F\u306Ey.length;
24363
+ if (\u4EF6\u6570 === 0) return [];
24364
+ const \u4E26\u3073 = \u771F\u306Ey.map((y, i) => ({ y, i })).sort((a, b) => a.y - b.y || a.i - b.i);
24365
+ const \u7D50\u679C = new Array(\u4EF6\u6570);
24366
+ if (\u9593\u9694 * (\u4EF6\u6570 - 1) > \u4E0B\u9650 - \u4E0A\u9650) {
24367
+ \u4E26\u3073.forEach((e, k) => {
24368
+ \u7D50\u679C[e.i] = \u4EF6\u6570 > 1 ? \u4E0A\u9650 + (\u4E0B\u9650 - \u4E0A\u9650) / (\u4EF6\u6570 - 1) * k : (\u4E0A\u9650 + \u4E0B\u9650) / 2;
24369
+ });
24370
+ return \u7D50\u679C;
24371
+ }
24372
+ const \u584A\u305F\u3061 = [];
24373
+ \u4E26\u3073.forEach((e, k) => {
24374
+ \u584A\u305F\u3061.push({ \u5408\u8A08: e.y - \u9593\u9694 * k, \u4EF6\u6570: 1 });
24375
+ while (\u584A\u305F\u3061.length >= 2) {
24376
+ const \u5F8C = \u584A\u305F\u3061[\u584A\u305F\u3061.length - 1];
24377
+ const \u524D = \u584A\u305F\u3061[\u584A\u305F\u3061.length - 2];
24378
+ if (\u524D.\u5408\u8A08 / \u524D.\u4EF6\u6570 <= \u5F8C.\u5408\u8A08 / \u5F8C.\u4EF6\u6570) break;
24379
+ \u584A\u305F\u3061.splice(\u584A\u305F\u3061.length - 2, 2, { \u5408\u8A08: \u524D.\u5408\u8A08 + \u5F8C.\u5408\u8A08, \u4EF6\u6570: \u524D.\u4EF6\u6570 + \u5F8C.\u4EF6\u6570 });
24380
+ }
24381
+ });
24382
+ const \u307B\u3069\u3044\u305F = [];
24383
+ \u584A\u305F\u3061.forEach((\u584A) => {
24384
+ const \u5E73\u5747 = \u584A.\u5408\u8A08 / \u584A.\u4EF6\u6570;
24385
+ for (let j = 0; j < \u584A.\u4EF6\u6570; j++) \u307B\u3069\u3044\u305F.push(\u5E73\u5747 + \u9593\u9694 * \u307B\u3069\u3044\u305F.length);
24386
+ });
24387
+ const \u305A\u308C = Math.max(0, \u4E0A\u9650 - \u307B\u3069\u3044\u305F[0]) - Math.max(0, \u307B\u3069\u3044\u305F[\u4EF6\u6570 - 1] - \u4E0B\u9650);
24388
+ \u4E26\u3073.forEach((e, k) => \u7D50\u679C[e.i] = \u307B\u3069\u3044\u305F[k] + \u305A\u308C);
24389
+ return \u7D50\u679C;
24390
+ }
24359
24391
  function \u6247\u5F62\u306E\u5207\u308A\u629C\u304D(cx, cy, r, \u958B\u304D, \u8D77\u70B9 = -Math.PI / 2, \u5168\u5468 = Math.PI * 2) {
24360
24392
  if (\u958B\u304D <= 0) return null;
24361
24393
  if (\u958B\u304D >= 1 && \u5168\u5468 >= Math.PI * 2) return /* @__PURE__ */ jsx("circle", { cx, cy, r });
@@ -24436,6 +24468,26 @@ function ChartPieNode({
24436
24468
  const \u5207\u308A\u629C\u304Did = `cdl-pie-draw-${instanceId}`;
24437
24469
  const \u5F71id = `cdl-pie-shadow-${instanceId}`;
24438
24470
  const \u958B\u304D\u59CB\u3081\u305F = (startFrac) => !drawing || \u958B\u304D > startFrac;
24471
+ const \u540D\u672D\u306E\u884C = \u5272\u5408\u306E\u7D1A + \u540D\u524D\u306E\u7D1A + 3;
24472
+ const \u540D\u672D\u306E\u5074 = slices.map((s) => Math.cos(s.\u4E2D\u592E\u89D2) >= 0);
24473
+ const \u540D\u672D\u306E\u771F\u306Ey = slices.map((s) => cy + (radius + \u5F15\u304D\u51FA\u3057) * Math.sin(s.\u4E2D\u592E\u89D2));
24474
+ const \u540D\u672D\u306Ey = (() => {
24475
+ const \u51FA\u3059 = [...\u540D\u672D\u306E\u771F\u306Ey];
24476
+ for (const \u5074 of [true, false]) {
24477
+ const \u756A\u53F7 = \u540D\u672D\u306E\u5074.flatMap((\u53F3, i) => \u53F3 === \u5074 ? [i] : []);
24478
+ if (\u756A\u53F7.length === 0) continue;
24479
+ const \u76F4\u3057\u305F = \u540D\u672D\u306E\u6BB5\u3092\u307B\u3069\u304F(
24480
+ \u756A\u53F7.map((i) => \u540D\u672D\u306E\u771F\u306Ey[i]),
24481
+ \u540D\u672D\u306E\u884C,
24482
+ PAD_TOP2 + \u540D\u672D\u306E\u7E26\u306E\u5F35\u308A\u51FA\u3057,
24483
+ node.h - PAD_BOTTOM2 - \u540D\u672D\u306E\u7E26\u306E\u5F35\u308A\u51FA\u3057
24484
+ );
24485
+ \u756A\u53F7.forEach((i, k) => \u51FA\u3059[i] = \u76F4\u3057\u305F[k]);
24486
+ }
24487
+ return \u51FA\u3059;
24488
+ })();
24489
+ const \u8098\u306Ex = (\u53F3) => cx + (\u53F3 ? 1 : -1) * (radius + \u5F15\u304D\u51FA\u3057);
24490
+ const \u5B57\u306Ex = (\u53F3) => \u8098\u306Ex(\u53F3) + (\u53F3 ? \u5B57\u307E\u3067\u306E\u9593 : -\u5B57\u307E\u3067\u306E\u9593);
24439
24491
  return /* @__PURE__ */ jsxs("g", { transform: `translate(${x0} ${y0})`, children: [
24440
24492
  /* @__PURE__ */ jsx(
24441
24493
  "rect",
@@ -24508,12 +24560,12 @@ function ChartPieNode({
24508
24560
  ),
24509
24561
  slices.map((s, idx) => {
24510
24562
  if (!\u958B\u304D\u59CB\u3081\u305F(s.startFrac)) return null;
24511
- const \u53F3 = Math.cos(s.\u4E2D\u592E\u89D2) >= 0;
24563
+ const \u53F3 = \u540D\u672D\u306E\u5074[idx];
24512
24564
  const \u7E01x = cx + radius * Math.cos(s.\u4E2D\u592E\u89D2);
24513
24565
  const \u7E01y = cy + radius * Math.sin(s.\u4E2D\u592E\u89D2);
24514
- const \u6298\u308Cx = cx + (radius + \u5F15\u304D\u51FA\u3057) * Math.cos(s.\u4E2D\u592E\u89D2);
24515
- const \u6298\u308Cy = cy + (radius + \u5F15\u304D\u51FA\u3057) * Math.sin(s.\u4E2D\u592E\u89D2);
24516
- const \u5B57x = \u6298\u308Cx + (\u53F3 ? \u5B57\u307E\u3067\u306E\u9593 : -\u5B57\u307E\u3067\u306E\u9593);
24566
+ const \u6298\u308Cx = \u8098\u306Ex(\u53F3);
24567
+ const \u6298\u308Cy = \u540D\u672D\u306Ey[idx];
24568
+ const \u5B57x = \u5B57\u306Ex(\u53F3);
24517
24569
  return /* @__PURE__ */ jsxs("g", { children: [
24518
24570
  /* @__PURE__ */ jsx(
24519
24571
  "path",
@@ -25591,6 +25643,15 @@ function ChartSlopeNode({
25591
25643
  const \u53F3\u8EF8x = \u524D\u3042\u308A ? Math.min(node.w - PAD, Math.max(node.w - PAD - \u53F3\u306E\u4F59\u767D, node.w / 2 + \u7DDA\u306E\u6700\u5C0F\u5E45 / 2)) : \u5DE6\u8EF8x;
25592
25644
  const \u4F38\u3073 = \u9032\u307F\u3092\u7573\u3080(drawing, progress);
25593
25645
  const \u53F3\u3092\u51FA\u3059 = !drawing || \u4F38\u3073 >= 1;
25646
+ const \u5DE6\u306E\u70B9y = \u7CFB\u5217\u305F\u3061.map(
25647
+ (s, i) => \u5F62 === "rank" ? \u6BB5\u306Ey\u3092\u53D6\u308B(\u524D\u306E\u9806\u4F4D[i]) : y\u3092\u53D6\u308B(s.\u524D)
25648
+ );
25649
+ const \u53F3\u306E\u70B9y = \u7CFB\u5217\u305F\u3061.map(
25650
+ (s, i) => \u5F62 === "rank" ? \u6BB5\u306Ey\u3092\u53D6\u308B(\u4ECA\u306E\u9806\u4F4D[i]) : y\u3092\u53D6\u308B(s.\u4ECA)
25651
+ );
25652
+ const \u540D\u672D\u306E\u884C = Math.max(\u5024\u306E\u7D1A, \u540D\u524D\u306E\u7D1A) + 4;
25653
+ const \u5DE6\u306E\u540D\u672Dy = \u524D\u3042\u308A ? \u540D\u672D\u306E\u6BB5\u3092\u307B\u3069\u304F(\u5DE6\u306E\u70B9y, \u540D\u672D\u306E\u884C, \u4E0A\u7AEF, \u4E0B\u7AEF) : \u5DE6\u306E\u70B9y;
25654
+ const \u53F3\u306E\u540D\u672Dy = \u540D\u672D\u306E\u6BB5\u3092\u307B\u3069\u304F(\u53F3\u306E\u70B9y, \u540D\u672D\u306E\u884C, \u4E0A\u7AEF, \u4E0B\u7AEF);
25594
25655
  return /* @__PURE__ */ jsxs("g", { transform: `translate(${x0} ${y0})`, children: [
25595
25656
  /* @__PURE__ */ jsx(
25596
25657
  "rect",
@@ -25648,8 +25709,10 @@ function ChartSlopeNode({
25648
25709
  )
25649
25710
  ] }),
25650
25711
  \u7CFB\u5217\u305F\u3061.map((s, i) => {
25651
- const \u5DE6y = \u5F62 === "rank" ? \u6BB5\u306Ey\u3092\u53D6\u308B(\u524D\u306E\u9806\u4F4D[i]) : y\u3092\u53D6\u308B(s.\u524D);
25652
- const \u53F3y = \u5F62 === "rank" ? \u6BB5\u306Ey\u3092\u53D6\u308B(\u4ECA\u306E\u9806\u4F4D[i]) : y\u3092\u53D6\u308B(s.\u4ECA);
25712
+ const \u5DE6y = \u5DE6\u306E\u70B9y[i];
25713
+ const \u53F3y = \u53F3\u306E\u70B9y[i];
25714
+ const \u5DE6\u672Dy = \u5DE6\u306E\u540D\u672Dy[i];
25715
+ const \u53F3\u672Dy = \u53F3\u306E\u540D\u672Dy[i];
25653
25716
  const \u672A\u89E3\u6C7A = s.\u672A\u89E3\u6C7A ? "true" : void 0;
25654
25717
  return /* @__PURE__ */ jsxs("g", { children: [
25655
25718
  \u524D\u3042\u308A && /* @__PURE__ */ jsx(
@@ -25693,7 +25756,7 @@ function ChartSlopeNode({
25693
25756
  {
25694
25757
  "data-cdl-role": "chart-slope-value",
25695
25758
  x: \u5DE6\u8EF8x - \u8EF8\u304B\u3089\u5024\u307E\u3067,
25696
- y: \u5DE6y + 5,
25759
+ y: \u5DE6\u672Dy + 5,
25697
25760
  textAnchor: "end",
25698
25761
  fontSize: \u5024\u306E\u7D1A,
25699
25762
  fontWeight: 600,
@@ -25706,7 +25769,7 @@ function ChartSlopeNode({
25706
25769
  {
25707
25770
  "data-cdl-role": "chart-slope-name",
25708
25771
  x: \u5DE6\u8EF8x - \u8EF8\u304B\u3089\u5024\u307E\u3067 - \u5DE6\u5024\u5E45 - \u5024\u304B\u3089\u540D\u524D\u307E\u3067,
25709
- y: \u5DE6y + 5,
25772
+ y: \u5DE6\u672Dy + 5,
25710
25773
  textAnchor: "end",
25711
25774
  fontSize: \u540D\u524D\u306E\u7D1A,
25712
25775
  fill: s.\u8272,
@@ -25718,7 +25781,7 @@ function ChartSlopeNode({
25718
25781
  {
25719
25782
  "data-cdl-role": "chart-slope-name",
25720
25783
  x: \u5DE6\u8EF8x - \u8EF8\u304B\u3089\u5024\u307E\u3067,
25721
- y: \u53F3y + 5,
25784
+ y: \u53F3\u672Dy + 5,
25722
25785
  textAnchor: "end",
25723
25786
  fontSize: \u540D\u524D\u306E\u7D1A,
25724
25787
  fill: s.\u8272,
@@ -25731,7 +25794,7 @@ function ChartSlopeNode({
25731
25794
  {
25732
25795
  "data-cdl-role": \u5F62 === "delta" ? "chart-slope-delta" : "chart-slope-value",
25733
25796
  x: \u53F3\u8EF8x + \u8EF8\u304B\u3089\u5024\u307E\u3067,
25734
- y: \u53F3y + 5,
25797
+ y: \u53F3\u672Dy + 5,
25735
25798
  fontSize: \u5024\u306E\u7D1A,
25736
25799
  fontWeight: 600,
25737
25800
  fill: "var(--cdl-text, #1a1f2a)",
@@ -25743,7 +25806,7 @@ function ChartSlopeNode({
25743
25806
  {
25744
25807
  "data-cdl-role": "chart-slope-name",
25745
25808
  x: \u53F3\u8EF8x + \u8EF8\u304B\u3089\u5024\u307E\u3067 + \u53F3\u5024\u5E45 + \u5024\u304B\u3089\u540D\u524D\u307E\u3067,
25746
- y: \u53F3y + 5,
25809
+ y: \u53F3\u672Dy + 5,
25747
25810
  fontSize: \u540D\u524D\u306E\u7D1A,
25748
25811
  fill: s.\u8272,
25749
25812
  children: s.\u540D\u524D