@cardenelabs/cdl 0.40.1 → 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",
@@ -25526,36 +25578,6 @@ function \u4E00\u89A7\u306E\u4E26\u3073(data, \u5DE6, \u53F3\u7AEF, \u7D1A) {
25526
25578
  return out;
25527
25579
  }
25528
25580
  var \u7DDA\u306E\u6700\u5C0F\u5E45 = 120;
25529
- function \u540D\u672D\u306E\u6BB5\u3092\u307B\u3069\u304F(\u771F\u306Ey, \u9593\u9694, \u4E0A\u9650, \u4E0B\u9650) {
25530
- const \u4EF6\u6570 = \u771F\u306Ey.length;
25531
- if (\u4EF6\u6570 === 0) return [];
25532
- const \u4E26\u3073 = \u771F\u306Ey.map((y, i) => ({ y, i })).sort((a, b) => a.y - b.y || a.i - b.i);
25533
- const \u7D50\u679C = new Array(\u4EF6\u6570);
25534
- if (\u9593\u9694 * (\u4EF6\u6570 - 1) > \u4E0B\u9650 - \u4E0A\u9650) {
25535
- \u4E26\u3073.forEach((e, k) => {
25536
- \u7D50\u679C[e.i] = \u4EF6\u6570 > 1 ? \u4E0A\u9650 + (\u4E0B\u9650 - \u4E0A\u9650) / (\u4EF6\u6570 - 1) * k : (\u4E0A\u9650 + \u4E0B\u9650) / 2;
25537
- });
25538
- return \u7D50\u679C;
25539
- }
25540
- const \u584A\u305F\u3061 = [];
25541
- \u4E26\u3073.forEach((e, k) => {
25542
- \u584A\u305F\u3061.push({ \u5408\u8A08: e.y - \u9593\u9694 * k, \u4EF6\u6570: 1 });
25543
- while (\u584A\u305F\u3061.length >= 2) {
25544
- const \u5F8C = \u584A\u305F\u3061[\u584A\u305F\u3061.length - 1];
25545
- const \u524D = \u584A\u305F\u3061[\u584A\u305F\u3061.length - 2];
25546
- if (\u524D.\u5408\u8A08 / \u524D.\u4EF6\u6570 <= \u5F8C.\u5408\u8A08 / \u5F8C.\u4EF6\u6570) break;
25547
- \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 });
25548
- }
25549
- });
25550
- const \u307B\u3069\u3044\u305F = [];
25551
- \u584A\u305F\u3061.forEach((\u584A) => {
25552
- const \u5E73\u5747 = \u584A.\u5408\u8A08 / \u584A.\u4EF6\u6570;
25553
- for (let j = 0; j < \u584A.\u4EF6\u6570; j++) \u307B\u3069\u3044\u305F.push(\u5E73\u5747 + \u9593\u9694 * \u307B\u3069\u3044\u305F.length);
25554
- });
25555
- 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);
25556
- \u4E26\u3073.forEach((e, k) => \u7D50\u679C[e.i] = \u307B\u3069\u3044\u305F[k] + \u305A\u308C);
25557
- return \u7D50\u679C;
25558
- }
25559
25581
  function ChartSlopeNode({
25560
25582
  node,
25561
25583
  active,