@dreamtree-org/twreact-ui 1.3.10 → 1.3.11

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.
Files changed (93) hide show
  1. package/README.md +30 -0
  2. package/ai-skills/dreamtree-ui.md +12 -7
  3. package/dist/ai-schema.json +137 -21
  4. package/dist/charts/index.js +195 -66
  5. package/dist/components/charts/CartesianChart.d.ts.map +1 -1
  6. package/dist/components/charts/ChartFrame.d.ts.map +1 -1
  7. package/dist/components/charts/useChartLayout.d.ts +25 -0
  8. package/dist/components/charts/useChartLayout.d.ts.map +1 -0
  9. package/dist/components/core/Button.d.ts.map +1 -1
  10. package/dist/components/core/Checkbox.d.ts.map +1 -1
  11. package/dist/components/core/ColorPicker.d.ts.map +1 -1
  12. package/dist/components/core/Input.d.ts.map +1 -1
  13. package/dist/components/core/Loader.d.ts.map +1 -1
  14. package/dist/components/core/LocationPicker.d.ts.map +1 -1
  15. package/dist/components/core/ProgressBar.d.ts.map +1 -1
  16. package/dist/components/core/Radio.d.ts.map +1 -1
  17. package/dist/components/core/Rate.d.ts.map +1 -1
  18. package/dist/components/core/RoundedTag.d.ts.map +1 -1
  19. package/dist/components/core/Skeleton.d.ts.map +1 -1
  20. package/dist/components/core/Slider.d.ts.map +1 -1
  21. package/dist/components/core/SpeechToText.d.ts.map +1 -1
  22. package/dist/components/core/Switch.d.ts.map +1 -1
  23. package/dist/components/core/Tabs.d.ts +2 -5
  24. package/dist/components/core/Tabs.d.ts.map +1 -1
  25. package/dist/components/core/Textarea.d.ts.map +1 -1
  26. package/dist/components/navigation/Breadcrumbs.d.ts.map +1 -1
  27. package/dist/components/navigation/FootNav.d.ts.map +1 -1
  28. package/dist/components/utility/Avatar.d.ts +8 -0
  29. package/dist/components/utility/Avatar.d.ts.map +1 -1
  30. package/dist/components/utility/AvatarGroup.d.ts +4 -0
  31. package/dist/components/utility/AvatarGroup.d.ts.map +1 -0
  32. package/dist/components/utility/Badge.d.ts.map +1 -1
  33. package/dist/components/utility/Card.d.ts.map +1 -1
  34. package/dist/components/utility/Carousel.d.ts.map +1 -1
  35. package/dist/components/utility/FileUpload.d.ts.map +1 -1
  36. package/dist/components/utility/Pagination.d.ts.map +1 -1
  37. package/dist/components/utility/Sortable.d.ts.map +1 -1
  38. package/dist/components/utility/Stepper.d.ts.map +1 -1
  39. package/dist/esm/components/blocks/EmptyState.js +1 -1
  40. package/dist/esm/components/blocks/ErrorState.js +1 -1
  41. package/dist/esm/components/blocks/LoadingState.js +4 -4
  42. package/dist/esm/components/blocks/StatCard.js +6 -6
  43. package/dist/esm/components/blocks/StatusPill.js +5 -8
  44. package/dist/esm/components/charts/CartesianChart.js +85 -62
  45. package/dist/esm/components/charts/ChartFrame.js +12 -5
  46. package/dist/esm/components/charts/useChartLayout.js +105 -0
  47. package/dist/esm/components/core/Button.js +49 -25
  48. package/dist/esm/components/core/Checkbox.js +71 -45
  49. package/dist/esm/components/core/ColorPicker.js +31 -42
  50. package/dist/esm/components/core/Input.js +89 -22
  51. package/dist/esm/components/core/Loader.js +30 -44
  52. package/dist/esm/components/core/LocationPicker.js +82 -16
  53. package/dist/esm/components/core/ProgressBar.js +8 -12
  54. package/dist/esm/components/core/Radio.js +10 -12
  55. package/dist/esm/components/core/Rate.js +72 -4
  56. package/dist/esm/components/core/RoundedTag.js +5 -5
  57. package/dist/esm/components/core/Skeleton.js +13 -14
  58. package/dist/esm/components/core/Slider.js +24 -6
  59. package/dist/esm/components/core/SpeechToText.js +68 -16
  60. package/dist/esm/components/core/Switch.js +88 -16
  61. package/dist/esm/components/core/Tabs.js +180 -33
  62. package/dist/esm/components/core/Textarea.js +10 -2
  63. package/dist/esm/components/navigation/Breadcrumbs.js +97 -35
  64. package/dist/esm/components/navigation/FootNav.js +102 -13
  65. package/dist/esm/components/utility/Avatar.js +14 -12
  66. package/dist/esm/components/utility/AvatarGroup.js +56 -0
  67. package/dist/esm/components/utility/Badge.js +43 -23
  68. package/dist/esm/components/utility/Card.js +32 -8
  69. package/dist/esm/components/utility/Carousel.js +139 -29
  70. package/dist/esm/components/utility/FileUpload.js +106 -31
  71. package/dist/esm/components/utility/Pagination.js +31 -13
  72. package/dist/esm/components/utility/Sortable.js +6 -2
  73. package/dist/esm/components/utility/Stepper.js +110 -47
  74. package/dist/esm/hooks/useSliderValues.js +8 -2
  75. package/dist/esm/hooks/useSortable.js +107 -5
  76. package/dist/esm/index.js +1 -0
  77. package/dist/esm/utils/touchTarget.js +4 -1
  78. package/dist/hooks/useSliderValues.d.ts +6 -2
  79. package/dist/hooks/useSliderValues.d.ts.map +1 -1
  80. package/dist/hooks/useSortable.d.ts +11 -1
  81. package/dist/hooks/useSortable.d.ts.map +1 -1
  82. package/dist/index.css +1 -1
  83. package/dist/index.d.ts +3 -2
  84. package/dist/index.esm.css +1 -1
  85. package/dist/index.esm.js +2341 -1191
  86. package/dist/index.js +2341 -1190
  87. package/dist/types/charts.d.ts +3 -1
  88. package/dist/types/charts.d.ts.map +1 -1
  89. package/dist/types/index.d.ts +56 -7
  90. package/dist/types/index.d.ts.map +1 -1
  91. package/doc/README.md +1 -0
  92. package/mcp/catalog.snapshot.json +279 -80
  93. package/package.json +1 -1
@@ -11,14 +11,19 @@ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
11
11
 
12
12
  var React__default = /*#__PURE__*/_interopDefault(React);
13
13
 
14
- var _excluded$3 = ["className", "title", "description", "defaultTitle", "data", "height", "emptyState", "legend", "accessibleTable", "tableColumns", "children", "aria-label"];
14
+ var _excluded$3 = ["className", "title", "description", "defaultTitle", "data", "height", "aspectRatio", "emptyState", "legend", "accessibleTable", "tableColumns", "children", "aria-label"];
15
15
  // The swatch colour arrives as a custom property so a token (`rgb(var(--dt-*))`)
16
16
  // and a resolved rgb() string both work.
17
17
  var swatch = function swatch(size) {
18
18
  return cn.cn("inline-block shrink-0 rounded-full bg-[color:var(--dt-chart-color)]", size);
19
19
  };
20
- var sizeStyle = function sizeStyle(height) {
21
- return {
20
+ // `aspectRatio` (e.g. 16 / 9), when given, replaces the fixed height so the chart
21
+ // scales with its container width.
22
+ var sizeStyle = function sizeStyle(height, aspectRatio) {
23
+ return aspectRatio ? {
24
+ aspectRatio: String(aspectRatio),
25
+ width: "100%"
26
+ } : {
22
27
  height: typeof height === "number" ? "".concat(height, "px") : height
23
28
  };
24
29
  };
@@ -53,6 +58,7 @@ function ChartTooltipContent(_ref2) {
53
58
  if (!active || !payload || !payload.length) return null;
54
59
  return jsxRuntime.jsxs("div", {
55
60
  className: "rounded-md border border-gray-200 bg-white px-3 py-2 text-xs text-gray-900 shadow-md dark:border-gray-700 dark:bg-gray-900 dark:text-gray-100",
61
+ "data-chart-tooltip": "",
56
62
  children: [!hideLabel && label != null && label !== "" && jsxRuntime.jsx("p", {
57
63
  className: "mb-1 font-medium",
58
64
  children: label
@@ -126,6 +132,7 @@ var ChartFrame = /*#__PURE__*/React__default.default.forwardRef(function ChartFr
126
132
  defaultTitle = _ref4.defaultTitle,
127
133
  data = _ref4.data,
128
134
  height = _ref4.height,
135
+ aspectRatio = _ref4.aspectRatio,
129
136
  _ref4$emptyState = _ref4.emptyState,
130
137
  emptyState = _ref4$emptyState === void 0 ? "No data to display" : _ref4$emptyState,
131
138
  legend = _ref4.legend,
@@ -141,7 +148,7 @@ var ChartFrame = /*#__PURE__*/React__default.default.forwardRef(function ChartFr
141
148
  return jsxRuntime.jsx("div", cn._objectSpread2(cn._objectSpread2({
142
149
  ref: ref,
143
150
  className: cn.cn("flex w-full items-center justify-center rounded-md border border-dashed border-gray-300 text-sm text-gray-500 dark:border-gray-700 dark:text-gray-400", className),
144
- style: sizeStyle(height),
151
+ style: sizeStyle(height, aspectRatio),
145
152
  role: "status",
146
153
  "aria-label": name,
147
154
  "data-empty": "true"
@@ -158,7 +165,7 @@ var ChartFrame = /*#__PURE__*/React__default.default.forwardRef(function ChartFr
158
165
  "aria-label": name,
159
166
  "aria-describedby": description ? descriptionId : undefined,
160
167
  className: "w-full text-gray-500 dark:text-gray-400",
161
- style: sizeStyle(height),
168
+ style: sizeStyle(height, aspectRatio),
162
169
  children: children
163
170
  }), description && jsxRuntime.jsx("p", {
164
171
  id: descriptionId,
@@ -345,7 +352,108 @@ function useChartId() {
345
352
  return "dt-chart-".concat(React.useId().replace(/[^A-Za-z0-9_-]/g, ""));
346
353
  }
347
354
 
348
- var _excluded$2 = ["kind", "data", "index", "categories", "colors", "valueFormatter", "xAxisFormatter", "height", "showLegend", "showTooltip", "showXAxis", "showYAxis", "showGrid", "yAxisWidth", "curveType", "stacked", "horizontal", "showDots", "connectNulls", "animate", "title", "description", "emptyState", "accessibleTable", "className"];
355
+ // Internal to the charts entry point. Small-screen helpers for the cartesian
356
+ // charts: measured width (for adaptive ticks / axis width) and a tooltip that a
357
+ // tap can pin open on touch screens.
358
+ /** Gap (px) recharts keeps between x-axis ticks: wider on narrow charts so labels don't collide. */
359
+ function tickGapFor(width) {
360
+ if (!width) return 8;
361
+ if (width < 360) return 32;
362
+ if (width < 640) return 16;
363
+ return 8;
364
+ }
365
+ /** Default value-axis width (px) when the consumer didn't set `yAxisWidth`. */
366
+ function yAxisWidthFor(width) {
367
+ if (!width) return 48;
368
+ return width < 400 ? 36 : 48;
369
+ }
370
+ /** Tracks the rendered width of `ref`'s element. `0` until measured. */
371
+ function useElementWidth() {
372
+ var ref = React.useRef(null);
373
+ var _useState = React.useState(0),
374
+ _useState2 = cn._slicedToArray(_useState, 2),
375
+ width = _useState2[0],
376
+ setWidth = _useState2[1];
377
+ React.useEffect(function () {
378
+ var node = ref.current;
379
+ if (!node) return undefined;
380
+ var measure = function measure() {
381
+ return setWidth(Math.round(node.getBoundingClientRect().width || 0));
382
+ };
383
+ measure();
384
+ if (typeof ResizeObserver === "undefined") return undefined;
385
+ var observer = new ResizeObserver(measure);
386
+ observer.observe(node);
387
+ return function () {
388
+ return observer.disconnect();
389
+ };
390
+ }, []);
391
+ return [ref, width];
392
+ }
393
+ var readIndex = function readIndex(state) {
394
+ var _state$activeTooltipI;
395
+ var raw = (_state$activeTooltipI = state === null || state === void 0 ? void 0 : state.activeTooltipIndex) !== null && _state$activeTooltipI !== void 0 ? _state$activeTooltipI : state === null || state === void 0 ? void 0 : state.activeIndex;
396
+ if (raw === undefined || raw === null || raw === "") return undefined;
397
+ var n = Number(raw);
398
+ return Number.isNaN(n) ? raw : n;
399
+ };
400
+ /**
401
+ * Tap-to-pin tooltip for touch. A tap on the chart pins the tooltip at the
402
+ * tapped point; a second tap on the chart, or a tap outside it, unpins it.
403
+ * Mouse and pen keep the normal hover tooltip.
404
+ *
405
+ * Returns props for a wrapper element, an `onChartClick` for the recharts root
406
+ * and `tooltipProps` to spread on `<Tooltip>`.
407
+ */
408
+ function usePinnedTooltip() {
409
+ var enabled = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
410
+ var wrapperRef = React.useRef(null);
411
+ var pointerType = React.useRef("mouse");
412
+ var _useState3 = React.useState(null),
413
+ _useState4 = cn._slicedToArray(_useState3, 2),
414
+ pinned = _useState4[0],
415
+ setPinned = _useState4[1]; // null | { index }
416
+ var onPointerDownCapture = React.useCallback(function (e) {
417
+ pointerType.current = e.pointerType || "mouse";
418
+ }, []);
419
+ var toggle = React.useCallback(function (state) {
420
+ if (!enabled || pointerType.current !== "touch") return;
421
+ setPinned(function (current) {
422
+ return current ? null : {
423
+ index: readIndex(state)
424
+ };
425
+ });
426
+ }, [enabled]);
427
+ // A tap outside the chart unpins.
428
+ React.useEffect(function () {
429
+ if (!pinned) return undefined;
430
+ var onDown = function onDown(e) {
431
+ if (wrapperRef.current && !wrapperRef.current.contains(e.target)) setPinned(null);
432
+ };
433
+ document.addEventListener("pointerdown", onDown);
434
+ return function () {
435
+ return document.removeEventListener("pointerdown", onDown);
436
+ };
437
+ }, [pinned]);
438
+ var tooltipProps = pinned ? cn._objectSpread2({
439
+ active: true
440
+ }, pinned.index !== undefined ? {
441
+ defaultIndex: pinned.index
442
+ } : {}) : {};
443
+ return {
444
+ pinned: Boolean(pinned),
445
+ wrapperProps: {
446
+ ref: wrapperRef,
447
+ onPointerDownCapture: onPointerDownCapture,
448
+ "data-tooltip-pinned": pinned ? "true" : undefined
449
+ },
450
+ onChartClick: toggle,
451
+ tooltipProps: tooltipProps
452
+ };
453
+ }
454
+
455
+ var _excluded$2 = ["kind", "data", "index", "categories", "colors", "valueFormatter", "xAxisFormatter", "height", "aspectRatio", "showLegend", "showTooltip", "showXAxis", "showYAxis", "showGrid", "yAxisWidth", "curveType", "stacked", "horizontal", "showDots", "connectNulls", "animate", "title", "description", "emptyState", "accessibleTable", "className"],
456
+ _excluded2 = ["ref"];
349
457
  var ROOTS = {
350
458
  line: recharts.LineChart,
351
459
  bar: recharts.BarChart,
@@ -439,6 +547,7 @@ var CartesianChart = /*#__PURE__*/React__default.default.forwardRef(function Car
439
547
  xAxisFormatter = _ref2.xAxisFormatter,
440
548
  _ref2$height = _ref2.height,
441
549
  height = _ref2$height === void 0 ? 300 : _ref2$height,
550
+ aspectRatio = _ref2.aspectRatio,
442
551
  _ref2$showLegend = _ref2.showLegend,
443
552
  showLegend = _ref2$showLegend === void 0 ? true : _ref2$showLegend,
444
553
  _ref2$showTooltip = _ref2.showTooltip,
@@ -449,8 +558,7 @@ var CartesianChart = /*#__PURE__*/React__default.default.forwardRef(function Car
449
558
  showYAxis = _ref2$showYAxis === void 0 ? true : _ref2$showYAxis,
450
559
  _ref2$showGrid = _ref2.showGrid,
451
560
  showGrid = _ref2$showGrid === void 0 ? true : _ref2$showGrid,
452
- _ref2$yAxisWidth = _ref2.yAxisWidth,
453
- yAxisWidth = _ref2$yAxisWidth === void 0 ? 48 : _ref2$yAxisWidth,
561
+ yAxisWidth = _ref2.yAxisWidth,
454
562
  _ref2$curveType = _ref2.curveType,
455
563
  curveType = _ref2$curveType === void 0 ? "monotone" : _ref2$curveType,
456
564
  _ref2$stacked = _ref2.stacked,
@@ -485,6 +593,20 @@ var CartesianChart = /*#__PURE__*/React__default.default.forwardRef(function Car
485
593
  var formatIndex = xAxisFormatter || function (v) {
486
594
  return v == null ? "" : String(v);
487
595
  };
596
+ var _useElementWidth = useElementWidth(),
597
+ _useElementWidth2 = cn._slicedToArray(_useElementWidth, 2),
598
+ measureRef = _useElementWidth2[0],
599
+ width = _useElementWidth2[1];
600
+ var pin = usePinnedTooltip(showTooltip);
601
+ var _pin$wrapperProps = pin.wrapperProps,
602
+ pinRef = _pin$wrapperProps.ref,
603
+ pinWrapperProps = cn._objectWithoutProperties(_pin$wrapperProps, _excluded2);
604
+ // An explicit yAxisWidth always wins; otherwise narrow charts give the plot more room.
605
+ var valueAxisWidth = yAxisWidth !== null && yAxisWidth !== void 0 ? yAxisWidth : yAxisWidthFor(width);
606
+ var setWrapperNode = React__default.default.useCallback(function (node) {
607
+ measureRef.current = node;
608
+ pinRef.current = node;
609
+ }, [measureRef, pinRef]);
488
610
  var categoryAxis = {
489
611
  dataKey: index,
490
612
  tick: tick,
@@ -492,7 +614,7 @@ var CartesianChart = /*#__PURE__*/React__default.default.forwardRef(function Car
492
614
  axisLine: false,
493
615
  tickFormatter: xAxisFormatter,
494
616
  hide: !showXAxis,
495
- minTickGap: 8
617
+ minTickGap: tickGapFor(width)
496
618
  };
497
619
  var valueAxis = {
498
620
  tick: tick,
@@ -500,7 +622,7 @@ var CartesianChart = /*#__PURE__*/React__default.default.forwardRef(function Car
500
622
  axisLine: false,
501
623
  tickFormatter: valueFormatter,
502
624
  hide: !showYAxis,
503
- width: yAxisWidth
625
+ width: valueAxisWidth
504
626
  };
505
627
  return jsxRuntime.jsx(ChartFrame, cn._objectSpread2(cn._objectSpread2({
506
628
  ref: ref,
@@ -510,6 +632,7 @@ var CartesianChart = /*#__PURE__*/React__default.default.forwardRef(function Car
510
632
  defaultTitle: TITLES[kind],
511
633
  data: data,
512
634
  height: height,
635
+ aspectRatio: aspectRatio,
513
636
  emptyState: emptyState,
514
637
  accessibleTable: accessibleTable,
515
638
  legend: showLegend ? categories.map(function (c, i) {
@@ -530,64 +653,70 @@ var CartesianChart = /*#__PURE__*/React__default.default.forwardRef(function Car
530
653
  };
531
654
  })))
532
655
  }, rest), {}, {
533
- children: jsxRuntime.jsx(recharts.ResponsiveContainer, {
534
- width: "100%",
535
- height: "100%",
536
- minWidth: 0,
537
- children: jsxRuntime.jsxs(Root, {
538
- id: chartId,
539
- data: data,
540
- layout: isHorizontalBars ? "vertical" : "horizontal",
541
- margin: {
542
- top: 8,
543
- right: 8,
544
- bottom: 0,
545
- left: 0
546
- },
547
- accessibilityLayer: false,
548
- children: [showGrid && jsxRuntime.jsx(recharts.CartesianGrid, {
549
- stroke: chrome.grid,
550
- strokeDasharray: "3 3",
551
- vertical: isHorizontalBars,
552
- horizontal: !isHorizontalBars
553
- }), isHorizontalBars ? jsxRuntime.jsx(recharts.XAxis, cn._objectSpread2(cn._objectSpread2({
554
- type: "number"
555
- }, valueAxis), {}, {
556
- hide: !showXAxis,
557
- width: undefined
558
- })) : jsxRuntime.jsx(recharts.XAxis, cn._objectSpread2({}, categoryAxis)), isHorizontalBars ? jsxRuntime.jsx(recharts.YAxis, cn._objectSpread2(cn._objectSpread2({
559
- type: "category"
560
- }, categoryAxis), {}, {
561
- hide: !showYAxis,
562
- width: yAxisWidth,
563
- interval: 0
564
- })) : jsxRuntime.jsx(recharts.YAxis, cn._objectSpread2({}, valueAxis)), showTooltip && jsxRuntime.jsx(recharts.Tooltip, {
565
- cursor: kind === "bar" ? {
566
- fill: chrome.grid,
567
- fillOpacity: 0.4
568
- } : {
569
- stroke: chrome.grid
656
+ children: jsxRuntime.jsx("div", cn._objectSpread2(cn._objectSpread2({
657
+ className: "h-full w-full",
658
+ ref: setWrapperNode
659
+ }, pinWrapperProps), {}, {
660
+ children: jsxRuntime.jsx(recharts.ResponsiveContainer, {
661
+ width: "100%",
662
+ height: "100%",
663
+ minWidth: 0,
664
+ children: jsxRuntime.jsxs(Root, {
665
+ id: chartId,
666
+ onClick: pin.onChartClick,
667
+ data: data,
668
+ layout: isHorizontalBars ? "vertical" : "horizontal",
669
+ margin: {
670
+ top: 8,
671
+ right: 8,
672
+ bottom: 0,
673
+ left: 0
570
674
  },
571
- isAnimationActive: false,
572
- content: jsxRuntime.jsx(ChartTooltipContent, {
573
- valueFormatter: valueFormatter
574
- })
575
- }), categories.map(function (category, i) {
576
- return renderSeries(kind, {
577
- id: "".concat(chartId, "-").concat(i),
578
- category: category,
579
- color: series[i],
580
- curve: curve,
581
- stacked: stacked,
582
- showDots: showDots,
583
- connectNulls: connectNulls,
584
- animate: animate && !reducedMotion,
585
- horizontal: isHorizontalBars,
586
- barRadius: 4
587
- });
588
- })]
675
+ accessibilityLayer: false,
676
+ children: [showGrid && jsxRuntime.jsx(recharts.CartesianGrid, {
677
+ stroke: chrome.grid,
678
+ strokeDasharray: "3 3",
679
+ vertical: isHorizontalBars,
680
+ horizontal: !isHorizontalBars
681
+ }), isHorizontalBars ? jsxRuntime.jsx(recharts.XAxis, cn._objectSpread2(cn._objectSpread2({
682
+ type: "number"
683
+ }, valueAxis), {}, {
684
+ hide: !showXAxis,
685
+ width: undefined
686
+ })) : jsxRuntime.jsx(recharts.XAxis, cn._objectSpread2({}, categoryAxis)), isHorizontalBars ? jsxRuntime.jsx(recharts.YAxis, cn._objectSpread2(cn._objectSpread2({
687
+ type: "category"
688
+ }, categoryAxis), {}, {
689
+ hide: !showYAxis,
690
+ width: valueAxisWidth,
691
+ interval: 0
692
+ })) : jsxRuntime.jsx(recharts.YAxis, cn._objectSpread2({}, valueAxis)), showTooltip && jsxRuntime.jsx(recharts.Tooltip, cn._objectSpread2({
693
+ cursor: kind === "bar" ? {
694
+ fill: chrome.grid,
695
+ fillOpacity: 0.4
696
+ } : {
697
+ stroke: chrome.grid
698
+ },
699
+ isAnimationActive: false,
700
+ content: jsxRuntime.jsx(ChartTooltipContent, {
701
+ valueFormatter: valueFormatter
702
+ })
703
+ }, pin.tooltipProps)), categories.map(function (category, i) {
704
+ return renderSeries(kind, {
705
+ id: "".concat(chartId, "-").concat(i),
706
+ category: category,
707
+ color: series[i],
708
+ curve: curve,
709
+ stacked: stacked,
710
+ showDots: showDots,
711
+ connectNulls: connectNulls,
712
+ animate: animate && !reducedMotion,
713
+ horizontal: isHorizontalBars,
714
+ barRadius: 4
715
+ });
716
+ })]
717
+ })
589
718
  })
590
- })
719
+ }))
591
720
  }));
592
721
  });
593
722
 
@@ -1 +1 @@
1
- {"version":3,"file":"CartesianChart.d.ts","sourceRoot":"","sources":["../../../src/components/charts/CartesianChart.jsx"],"names":[],"mappings":";AA0DA,iEAAiE;AACjE,wFA2HG;kBAtLe,OAAO"}
1
+ {"version":3,"file":"CartesianChart.d.ts","sourceRoot":"","sources":["../../../src/components/charts/CartesianChart.jsx"],"names":[],"mappings":";AA2DA,iEAAiE;AACjE,wFA6IG;kBAzMe,OAAO"}
@@ -1 +1 @@
1
- {"version":3,"file":"ChartFrame.d.ts","sourceRoot":"","sources":["../../../src/components/charts/ChartFrame.jsx"],"names":[],"mappings":"AASA;;4CAWC;AAED;;;;;;mDAgBC;AA8BD;;;;GAIG;AACH,mFA4DG;kBArI0B,OAAO"}
1
+ {"version":3,"file":"ChartFrame.d.ts","sourceRoot":"","sources":["../../../src/components/charts/ChartFrame.jsx"],"names":[],"mappings":"AAcA;;4CAWC;AAED;;;;;;mDAgBC;AA8BD;;;;GAIG;AACH,mFA6DG;kBA3I0B,OAAO"}
@@ -0,0 +1,25 @@
1
+ /** Gap (px) recharts keeps between x-axis ticks: wider on narrow charts so labels don't collide. */
2
+ export function tickGapFor(width: any): 8 | 16 | 32;
3
+ /** Default value-axis width (px) when the consumer didn't set `yAxisWidth`. */
4
+ export function yAxisWidthFor(width: any): 36 | 48;
5
+ /** Tracks the rendered width of `ref`'s element. `0` until measured. */
6
+ export function useElementWidth(): (number | import("react").MutableRefObject<null>)[];
7
+ /**
8
+ * Tap-to-pin tooltip for touch. A tap on the chart pins the tooltip at the
9
+ * tapped point; a second tap on the chart, or a tap outside it, unpins it.
10
+ * Mouse and pen keep the normal hover tooltip.
11
+ *
12
+ * Returns props for a wrapper element, an `onChartClick` for the recharts root
13
+ * and `tooltipProps` to spread on `<Tooltip>`.
14
+ */
15
+ export function usePinnedTooltip(enabled?: boolean): {
16
+ pinned: boolean;
17
+ wrapperProps: {
18
+ ref: import("react").MutableRefObject<null>;
19
+ onPointerDownCapture: (e: any) => void;
20
+ "data-tooltip-pinned": string | undefined;
21
+ };
22
+ onChartClick: (state: any) => void;
23
+ tooltipProps: {};
24
+ };
25
+ //# sourceMappingURL=useChartLayout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useChartLayout.d.ts","sourceRoot":"","sources":["../../../src/components/charts/useChartLayout.js"],"names":[],"mappings":"AAOA,oGAAoG;AACpG,oDAKC;AAED,+EAA+E;AAC/E,mDAGC;AAED,wEAAwE;AACxE,uFAcC;AASD;;;;;;;GAOG;AACH;;;;;;;;;EAyCC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../src/components/core/Button.jsx"],"names":[],"mappings":";AAIA,gFAkEG;kBAtE+B,OAAO"}
1
+ {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../src/components/core/Button.jsx"],"names":[],"mappings":";AAYA,gFAgGG;kBA5G+B,OAAO"}
@@ -1 +1 @@
1
- {"version":3,"file":"Checkbox.d.ts","sourceRoot":"","sources":["../../../src/components/core/Checkbox.jsx"],"names":[],"mappings":";AA+DA,kFA8JE;kBAtNK,OAAO"}
1
+ {"version":3,"file":"Checkbox.d.ts","sourceRoot":"","sources":["../../../src/components/core/Checkbox.jsx"],"names":[],"mappings":";AAuFA,kFAmKE;kBAnPK,OAAO"}
@@ -1 +1 @@
1
- {"version":3,"file":"ColorPicker.d.ts","sourceRoot":"","sources":["../../../src/components/core/ColorPicker.jsx"],"names":[],"mappings":";AA0FA,qFAiLG;kBA3QyD,OAAO"}
1
+ {"version":3,"file":"ColorPicker.d.ts","sourceRoot":"","sources":["../../../src/components/core/ColorPicker.jsx"],"names":[],"mappings":";AAmGA,qFA+LG;kBAlSyD,OAAO"}
@@ -1 +1 @@
1
- {"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../../src/components/core/Input.jsx"],"names":[],"mappings":";AAIA,+EAmOG;kBAvOqE,OAAO"}
1
+ {"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../../src/components/core/Input.jsx"],"names":[],"mappings":";AAyCA,+EAgRG;kBAzTqE,OAAO"}
@@ -1 +1 @@
1
- {"version":3,"file":"Loader.d.ts","sourceRoot":"","sources":["../../../src/components/core/Loader.jsx"],"names":[],"mappings":";AAmBA,gFA8IG;kBAhK+B,OAAO"}
1
+ {"version":3,"file":"Loader.d.ts","sourceRoot":"","sources":["../../../src/components/core/Loader.jsx"],"names":[],"mappings":";AA6BA,gFA2GG;kBAvI+B,OAAO"}
@@ -1 +1 @@
1
- {"version":3,"file":"LocationPicker.d.ts","sourceRoot":"","sources":["../../../src/components/core/LocationPicker.jsx"],"names":[],"mappings":";AAyBA,wFAuJG;kBA/KuD,OAAO"}
1
+ {"version":3,"file":"LocationPicker.d.ts","sourceRoot":"","sources":["../../../src/components/core/LocationPicker.jsx"],"names":[],"mappings":";AAmCA,wFAqNG;kBAvP8D,OAAO"}
@@ -1 +1 @@
1
- {"version":3,"file":"ProgressBar.d.ts","sourceRoot":"","sources":["../../../src/components/core/ProgressBar.jsx"],"names":[],"mappings":";AAgDA,qFAiGG;kBAjJ+B,OAAO"}
1
+ {"version":3,"file":"ProgressBar.d.ts","sourceRoot":"","sources":["../../../src/components/core/ProgressBar.jsx"],"names":[],"mappings":";AAgDA,qFAqGG;kBArJ+B,OAAO"}
@@ -1 +1 @@
1
- {"version":3,"file":"Radio.d.ts","sourceRoot":"","sources":["../../../src/components/core/Radio.jsx"],"names":[],"mappings":";AAmBA,+EAwKG;kBAnLI,OAAO"}
1
+ {"version":3,"file":"Radio.d.ts","sourceRoot":"","sources":["../../../src/components/core/Radio.jsx"],"names":[],"mappings":";AAkBA,+EA2KG;kBArLI,OAAO"}
@@ -1 +1 @@
1
- {"version":3,"file":"Rate.d.ts","sourceRoot":"","sources":["../../../src/components/core/Rate.jsx"],"names":[],"mappings":";AA2CA,8EAyJG;kBAnMiD,OAAO"}
1
+ {"version":3,"file":"Rate.d.ts","sourceRoot":"","sources":["../../../src/components/core/Rate.jsx"],"names":[],"mappings":";AA2CA,8EAyNG;kBAnQiD,OAAO"}
@@ -1 +1 @@
1
- {"version":3,"file":"RoundedTag.d.ts","sourceRoot":"","sources":["../../../src/components/core/RoundedTag.jsx"],"names":[],"mappings":";AAIA,oFAgKG;kBApK+B,OAAO"}
1
+ {"version":3,"file":"RoundedTag.d.ts","sourceRoot":"","sources":["../../../src/components/core/RoundedTag.jsx"],"names":[],"mappings":";AAIA,oFAkKG;kBAtK+B,OAAO"}
@@ -1 +1 @@
1
- {"version":3,"file":"Skeleton.d.ts","sourceRoot":"","sources":["../../../src/components/core/Skeleton.jsx"],"names":[],"mappings":";AA0BA,kFAsFG;kBAhH+B,OAAO"}
1
+ {"version":3,"file":"Skeleton.d.ts","sourceRoot":"","sources":["../../../src/components/core/Skeleton.jsx"],"names":[],"mappings":";AAqCA,kFAiEG;kBAtG+B,OAAO"}
@@ -1 +1 @@
1
- {"version":3,"file":"Slider.d.ts","sourceRoot":"","sources":["../../../src/components/core/Slider.jsx"],"names":[],"mappings":";AAMA,gFAgGG;kBAtGuD,OAAO"}
1
+ {"version":3,"file":"Slider.d.ts","sourceRoot":"","sources":["../../../src/components/core/Slider.jsx"],"names":[],"mappings":";AAMA,gFAwHG;kBA9HiE,OAAO"}
@@ -1 +1 @@
1
- {"version":3,"file":"SpeechToText.d.ts","sourceRoot":"","sources":["../../../src/components/core/SpeechToText.jsx"],"names":[],"mappings":";AAqBA,sFAgQE;kBA9QK,OAAO"}
1
+ {"version":3,"file":"SpeechToText.d.ts","sourceRoot":"","sources":["../../../src/components/core/SpeechToText.jsx"],"names":[],"mappings":";AA8BA,sFA+SE;kBAtUK,OAAO"}
@@ -1 +1 @@
1
- {"version":3,"file":"Switch.d.ts","sourceRoot":"","sources":["../../../src/components/core/Switch.jsx"],"names":[],"mappings":";AAqEA,gFA8JG;kBAnO2D,OAAO"}
1
+ {"version":3,"file":"Switch.d.ts","sourceRoot":"","sources":["../../../src/components/core/Switch.jsx"],"names":[],"mappings":";AA8EA,gFAiOG;kBA/SmE,OAAO"}
@@ -1,7 +1,3 @@
1
- export function TabList({ children, className }: {
2
- children: any;
3
- className?: string | undefined;
4
- }): import("react/jsx-runtime").JSX.Element;
5
1
  export function Tab({ children, index, className, iconLeft, iconRight, disabled, tabClassName, }: {
6
2
  children: any;
7
3
  index: any;
@@ -21,7 +17,8 @@ export function Panel({ children, index, className, animated }: {
21
17
  className?: string | undefined;
22
18
  animated?: boolean | undefined;
23
19
  }): import("react/jsx-runtime").JSX.Element | null;
20
+ export const TabList: React.ForwardRefExoticComponent<React.RefAttributes<any>>;
24
21
  export default Tabs;
25
- declare const Tabs: React.ForwardRefExoticComponent<React.RefAttributes<any>>;
26
22
  import React from "react";
23
+ declare const Tabs: React.ForwardRefExoticComponent<React.RefAttributes<any>>;
27
24
  //# sourceMappingURL=Tabs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Tabs.d.ts","sourceRoot":"","sources":["../../../src/components/core/Tabs.jsx"],"names":[],"mappings":"AA0GA;;;4CAuBC;AAGD;;;;;;;;4CAmHC;AAGD;;;4CAcC;AAED;;;;;mDAyBC;;AA/OD,8EAiDG;kBA7FI,OAAO"}
1
+ {"version":3,"file":"Tabs.d.ts","sourceRoot":"","sources":["../../../src/components/core/Tabs.jsx"],"names":[],"mappings":"AAgPA;;;;;;;;4CA+IC;AAGD;;;4CAsDC;AAED;;;;;mDAyBC;AAnVD,gFA2GG;;kBAlOI,OAAO;AA0Dd,8EAwDG"}
@@ -1 +1 @@
1
- {"version":3,"file":"Textarea.d.ts","sourceRoot":"","sources":["../../../src/components/core/Textarea.jsx"],"names":[],"mappings":";AA0BA,kFAgGG;kBA1HiG,OAAO"}
1
+ {"version":3,"file":"Textarea.d.ts","sourceRoot":"","sources":["../../../src/components/core/Textarea.jsx"],"names":[],"mappings":";AAiCA,kFAqGG;kBAtIiG,OAAO"}
@@ -1 +1 @@
1
- {"version":3,"file":"Breadcrumbs.d.ts","sourceRoot":"","sources":["../../../src/components/navigation/Breadcrumbs.jsx"],"names":[],"mappings":";AAQA,qFAoDG;kBA5De,OAAO"}
1
+ {"version":3,"file":"Breadcrumbs.d.ts","sourceRoot":"","sources":["../../../src/components/navigation/Breadcrumbs.jsx"],"names":[],"mappings":";AA4BA,qFA4GG;kBAxIgD,OAAO"}
@@ -1 +1 @@
1
- {"version":3,"file":"FootNav.d.ts","sourceRoot":"","sources":["../../../src/components/navigation/FootNav.jsx"],"names":[],"mappings":";AAmBA,iFA0DG;kBA7Ee,OAAO"}
1
+ {"version":3,"file":"FootNav.d.ts","sourceRoot":"","sources":["../../../src/components/navigation/FootNav.jsx"],"names":[],"mappings":";AAoDA,iFAuFG;kBA3Ie,OAAO"}
@@ -1,3 +1,11 @@
1
+ export const AVATAR_SIZES: {
2
+ xs: string;
3
+ sm: string;
4
+ md: string;
5
+ lg: string;
6
+ xl: string;
7
+ '2xl': string;
8
+ };
1
9
  export default Avatar;
2
10
  declare const Avatar: React.ForwardRefExoticComponent<React.RefAttributes<any>>;
3
11
  import React from 'react';
@@ -1 +1 @@
1
- {"version":3,"file":"Avatar.d.ts","sourceRoot":"","sources":["../../../src/components/utility/Avatar.jsx"],"names":[],"mappings":";AAIA,gFAoHG;kBAxHe,OAAO"}
1
+ {"version":3,"file":"Avatar.d.ts","sourceRoot":"","sources":["../../../src/components/utility/Avatar.jsx"],"names":[],"mappings":"AAKA;;;;;;;EAOE;;AAEF,gFA6GG;kBA3He,OAAO"}
@@ -0,0 +1,4 @@
1
+ export default AvatarGroup;
2
+ declare const AvatarGroup: React.ForwardRefExoticComponent<React.RefAttributes<any>>;
3
+ import React from 'react';
4
+ //# sourceMappingURL=AvatarGroup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AvatarGroup.d.ts","sourceRoot":"","sources":["../../../src/components/utility/AvatarGroup.jsx"],"names":[],"mappings":";AAkBA,qFA2CG;kBA7De,OAAO"}
@@ -1 +1 @@
1
- {"version":3,"file":"Badge.d.ts","sourceRoot":"","sources":["../../../src/components/utility/Badge.jsx"],"names":[],"mappings":";AAGA,+EA8CG;kBAjDe,OAAO"}
1
+ {"version":3,"file":"Badge.d.ts","sourceRoot":"","sources":["../../../src/components/utility/Badge.jsx"],"names":[],"mappings":";AA8BA,+EAuCG;kBArEe,OAAO"}
@@ -1 +1 @@
1
- {"version":3,"file":"Card.d.ts","sourceRoot":"","sources":["../../../src/components/utility/Card.jsx"],"names":[],"mappings":";AAGA,8EAqBG;kBAxBe,OAAO"}
1
+ {"version":3,"file":"Card.d.ts","sourceRoot":"","sources":["../../../src/components/utility/Card.jsx"],"names":[],"mappings":";AAYA,8EAyCG;kBArDe,OAAO"}
@@ -1 +1 @@
1
- {"version":3,"file":"Carousel.d.ts","sourceRoot":"","sources":["../../../src/components/utility/Carousel.jsx"],"names":[],"mappings":"AAUA,iFAoGE;;kBA9GgB,OAAO"}
1
+ {"version":3,"file":"Carousel.d.ts","sourceRoot":"","sources":["../../../src/components/utility/Carousel.jsx"],"names":[],"mappings":"AA2BA,iFAkME;;kBA7NgB,OAAO"}
@@ -1 +1 @@
1
- {"version":3,"file":"FileUpload.d.ts","sourceRoot":"","sources":["../../../src/components/utility/FileUpload.jsx"],"names":[],"mappings":";AAYA,oFAyKG;kBArLkD,OAAO"}
1
+ {"version":3,"file":"FileUpload.d.ts","sourceRoot":"","sources":["../../../src/components/utility/FileUpload.jsx"],"names":[],"mappings":";AAqBA,oFA4OG;kBAjQkD,OAAO"}
@@ -1 +1 @@
1
- {"version":3,"file":"Pagination.d.ts","sourceRoot":"","sources":["../../../src/components/utility/Pagination.jsx"],"names":[],"mappings":";AAIA,oFA8HG;kBAlIe,OAAO"}
1
+ {"version":3,"file":"Pagination.d.ts","sourceRoot":"","sources":["../../../src/components/utility/Pagination.jsx"],"names":[],"mappings":";AAkBA,oFA4IG;kBA9Je,OAAO"}
@@ -1 +1 @@
1
- {"version":3,"file":"Sortable.d.ts","sourceRoot":"","sources":["../../../src/components/utility/Sortable.jsx"],"names":[],"mappings":";AAqBA,kFAoHG;kBAzI0G,OAAO"}
1
+ {"version":3,"file":"Sortable.d.ts","sourceRoot":"","sources":["../../../src/components/utility/Sortable.jsx"],"names":[],"mappings":";AAqBA,kFAsHG;kBA3I0G,OAAO"}
@@ -1 +1 @@
1
- {"version":3,"file":"Stepper.d.ts","sourceRoot":"","sources":["../../../src/components/utility/Stepper.jsx"],"names":[],"mappings":";AAIA,iFAuIG;kBA3Ie,OAAO"}
1
+ {"version":3,"file":"Stepper.d.ts","sourceRoot":"","sources":["../../../src/components/utility/Stepper.jsx"],"names":[],"mappings":";AAgEA,iFAqIG;kBArMe,OAAO"}
@@ -22,7 +22,7 @@ var EmptyState = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
22
22
  className: cn('flex flex-col items-center justify-center gap-2 text-center', compact ? 'px-4 py-8' : 'px-6 py-12', className)
23
23
  }, props), {}, {
24
24
  children: [jsx("span", {
25
- className: "mb-1 grid h-12 w-12 place-items-center rounded-full bg-secondary-100 text-muted",
25
+ className: "mb-1 grid h-12 w-12 place-items-center rounded-full bg-secondary-100 text-muted dark:bg-gray-800",
26
26
  "aria-hidden": "true",
27
27
  children: icon || jsx(Inbox, {
28
28
  className: "h-6 w-6"
@@ -25,7 +25,7 @@ var ErrorState = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
25
25
  className: cn('flex flex-col items-center justify-center gap-2 px-6 py-12 text-center', className)
26
26
  }, props), {}, {
27
27
  children: [jsx("span", {
28
- className: "mb-1 grid h-12 w-12 place-items-center rounded-full bg-error-50 text-error-600",
28
+ className: "mb-1 grid h-12 w-12 place-items-center rounded-full bg-error-50 text-error-600 dark:bg-error-900/30 dark:text-error-400",
29
29
  "aria-hidden": "true",
30
30
  children: jsx(AlertCircle, {
31
31
  className: "h-6 w-6"
@@ -17,7 +17,7 @@ var Bone = function Bone(_ref) {
17
17
  className = _ref.className;
18
18
  return jsx("span", {
19
19
  "aria-hidden": "true",
20
- className: cn('block animate-pulse rounded-control bg-gray-200 motion-reduce:animate-none', className),
20
+ className: cn('block animate-pulse rounded-control bg-line motion-reduce:animate-none', className),
21
21
  style: {
22
22
  width: width,
23
23
  height: height
@@ -28,7 +28,7 @@ var Line = Bone;
28
28
  var shapes = {
29
29
  table: function table(rows) {
30
30
  return jsx("div", {
31
- className: "divide-y divide-gray-200",
31
+ className: "divide-y divide-line",
32
32
  children: Array.from({
33
33
  length: rows
34
34
  }, function (_, i) {
@@ -54,7 +54,7 @@ var shapes = {
54
54
  length: rows
55
55
  }, function (_, i) {
56
56
  return jsxs("div", {
57
- className: "flex flex-col gap-3 rounded-card border border-gray-200 p-4",
57
+ className: "flex flex-col gap-3 rounded-card border border-line p-4",
58
58
  children: [jsx(Line, {
59
59
  width: "60%",
60
60
  height: 16
@@ -72,7 +72,7 @@ var shapes = {
72
72
  length: rows
73
73
  }, function (_, i) {
74
74
  return jsxs("div", {
75
- className: "flex items-center gap-4 rounded-card border border-gray-200 bg-surface p-5",
75
+ className: "flex items-center gap-4 rounded-card border border-line bg-surface p-5",
76
76
  children: [jsx(Bone, {
77
77
  width: 48,
78
78
  height: 48