@misael703/ui 1.57.1 → 1.59.0

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 (52) hide show
  1. package/dist/{chunk-CPMQ2DFS.js → chunk-2ET7IM4U.js} +77 -33
  2. package/dist/chunk-2ET7IM4U.js.map +1 -0
  3. package/dist/chunk-2RBVHLG4.mjs +305 -0
  4. package/dist/chunk-2RBVHLG4.mjs.map +1 -0
  5. package/dist/{chunk-HKHGODQE.js → chunk-4HHP3WT7.js} +4 -4
  6. package/dist/{chunk-HKHGODQE.js.map → chunk-4HHP3WT7.js.map} +1 -1
  7. package/dist/chunk-BULIPFOG.js +313 -0
  8. package/dist/chunk-BULIPFOG.js.map +1 -0
  9. package/dist/{chunk-S3DEFKS5.js → chunk-DLDTUVHR.js} +3 -3
  10. package/dist/{chunk-S3DEFKS5.js.map → chunk-DLDTUVHR.js.map} +1 -1
  11. package/dist/{chunk-O6FCBNWN.mjs → chunk-EJY4QWHT.mjs} +77 -33
  12. package/dist/chunk-EJY4QWHT.mjs.map +1 -0
  13. package/dist/{chunk-G4OOD6AR.mjs → chunk-F5EK5PIR.mjs} +3 -3
  14. package/dist/{chunk-G4OOD6AR.mjs.map → chunk-F5EK5PIR.mjs.map} +1 -1
  15. package/dist/{chunk-6OBFBETV.mjs → chunk-I7JH3OEO.mjs} +3 -3
  16. package/dist/{chunk-6OBFBETV.mjs.map → chunk-I7JH3OEO.mjs.map} +1 -1
  17. package/dist/{chunk-T46LLZHX.js → chunk-KNQOG43N.js} +4 -4
  18. package/dist/{chunk-T46LLZHX.js.map → chunk-KNQOG43N.js.map} +1 -1
  19. package/dist/{chunk-MSDFMVIF.js → chunk-NPUNAVWM.js} +3 -3
  20. package/dist/{chunk-MSDFMVIF.js.map → chunk-NPUNAVWM.js.map} +1 -1
  21. package/dist/{chunk-J2HHAZHV.mjs → chunk-X7BV2JFX.mjs} +3 -3
  22. package/dist/{chunk-J2HHAZHV.mjs.map → chunk-X7BV2JFX.mjs.map} +1 -1
  23. package/dist/{chunk-XJHK3RH5.mjs → chunk-ZAKJKBUX.mjs} +3 -3
  24. package/dist/{chunk-XJHK3RH5.mjs.map → chunk-ZAKJKBUX.mjs.map} +1 -1
  25. package/dist/components/AppShell.js +4 -4
  26. package/dist/components/AppShell.mjs +2 -2
  27. package/dist/components/Charts.d.mts +25 -15
  28. package/dist/components/Charts.d.ts +25 -15
  29. package/dist/components/Charts.js +6 -6
  30. package/dist/components/Charts.mjs +1 -1
  31. package/dist/components/Commerce.js +14 -14
  32. package/dist/components/Commerce.mjs +3 -3
  33. package/dist/components/Editing.js +9 -9
  34. package/dist/components/Editing.mjs +3 -3
  35. package/dist/components/Metrics.d.mts +130 -0
  36. package/dist/components/Metrics.d.ts +130 -0
  37. package/dist/components/Metrics.js +41 -0
  38. package/dist/components/Metrics.js.map +1 -0
  39. package/dist/components/Metrics.mjs +8 -0
  40. package/dist/components/Metrics.mjs.map +1 -0
  41. package/dist/components/Overlay.js +4 -4
  42. package/dist/components/Overlay.mjs +2 -2
  43. package/dist/hooks/index.js +5 -5
  44. package/dist/hooks/index.mjs +1 -1
  45. package/dist/index.d.mts +2 -1
  46. package/dist/index.d.ts +2 -1
  47. package/dist/index.js +98 -69
  48. package/dist/index.mjs +12 -11
  49. package/dist/styles.css +1 -1
  50. package/package.json +1 -1
  51. package/dist/chunk-CPMQ2DFS.js.map +0 -1
  52. package/dist/chunk-O6FCBNWN.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/Overlay.tsx"],"names":[],"mappings":"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","file":"chunk-XJHK3RH5.mjs","sourcesContent":["'use client';\nimport * as React from 'react';\nimport { createPortal } from 'react-dom';\nimport { cx } from '../utils/cx';\nimport { X } from './Icons';\nimport { useLocale } from '../locale/LocaleProvider';\nimport { useDelayedUnmount } from '../hooks/useDelayedUnmount';\nimport { useFocusTrap, useEscape, useScrollLock } from '../hooks';\n\n// Exit animation duration in ms. Must match `--duration-exit` and the\n// `is-closing` keyframes in src/styles/index.css (`.modal-backdrop`,\n// `.drawer-backdrop`).\nconst EXIT_MS = 150;\n\nexport interface OverlayProps {\n open: boolean;\n onClose: () => void;\n title?: React.ReactNode;\n children?: React.ReactNode;\n footer?: React.ReactNode;\n size?: 'sm' | 'md' | 'lg';\n closeOnBackdrop?: boolean;\n closeOnEsc?: boolean;\n className?: string;\n}\n\nexport function Modal({\n open, onClose, title, children, footer, size = 'md',\n closeOnBackdrop = true, closeOnEsc = true, className,\n}: OverlayProps) {\n const ref = React.useRef<HTMLDivElement>(null);\n // True only when the press both started AND ended on the backdrop itself.\n // Fixes: press inside (e.g. text-selecting in an input) released over the\n // backdrop must NOT dismiss.\n const downOnBackdrop = React.useRef(false);\n const titleId = React.useId();\n const t = useLocale();\n // useDelayedUnmount keeps the DOM mounted during exit animation. The\n // a11y/scroll-lock hooks still consume `open` (the user's intent), not\n // `mounted` — we don't want to trap focus or block scroll while\n // animating out.\n const { mounted, closing } = useDelayedUnmount(open, EXIT_MS);\n useEscape(open, onClose, closeOnEsc);\n useFocusTrap(ref, open);\n useScrollLock(open);\n if (!mounted || typeof document === 'undefined') return null;\n return createPortal(\n <div\n className={cx('modal-backdrop', closing && 'is-closing')}\n onMouseDown={(e) => { downOnBackdrop.current = e.target === e.currentTarget; }}\n onClick={(e) => {\n if (closeOnBackdrop && downOnBackdrop.current && e.target === e.currentTarget) onClose();\n downOnBackdrop.current = false;\n }}\n >\n <div\n ref={ref}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby={title ? titleId : undefined}\n className={cx('modal', `modal--${size}`, closing && 'is-closing', className)}\n >\n {title && (\n <div className=\"modal__header\">\n <div id={titleId} className=\"modal__title\">{title}</div>\n <button type=\"button\" className=\"modal__close\" onClick={onClose} aria-label={t['modal.close']}><X size={18} /></button>\n </div>\n )}\n <div className=\"modal__body\">{children}</div>\n {footer && <div className=\"modal__footer\">{footer}</div>}\n </div>\n </div>,\n document.body\n );\n}\n\nexport interface DrawerProps extends OverlayProps {\n side?: 'left' | 'right';\n}\n\nexport function Drawer({\n open, onClose, title, children, footer, side = 'right',\n closeOnBackdrop = true, closeOnEsc = true, className,\n}: DrawerProps) {\n const ref = React.useRef<HTMLDivElement>(null);\n // True only when the press both started AND ended on the backdrop itself.\n // Fixes: press inside (e.g. text-selecting in an input) released over the\n // backdrop must NOT dismiss.\n const downOnBackdrop = React.useRef(false);\n const titleId = React.useId();\n const t = useLocale();\n const { mounted, closing } = useDelayedUnmount(open, EXIT_MS);\n useEscape(open, onClose, closeOnEsc);\n useFocusTrap(ref, open);\n useScrollLock(open);\n if (!mounted || typeof document === 'undefined') return null;\n return createPortal(\n <div\n className={cx('drawer-backdrop', closing && 'is-closing')}\n onMouseDown={(e) => { downOnBackdrop.current = e.target === e.currentTarget; }}\n onClick={(e) => {\n if (closeOnBackdrop && downOnBackdrop.current && e.target === e.currentTarget) onClose();\n downOnBackdrop.current = false;\n }}\n >\n <div\n ref={ref}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby={title ? titleId : undefined}\n className={cx('drawer', `drawer--${side}`, closing && 'is-closing', className)}\n >\n {title && (\n <div className=\"drawer__header\">\n <div id={titleId} className=\"drawer__title\">{title}</div>\n <button type=\"button\" className=\"drawer__close\" onClick={onClose} aria-label={t['drawer.close']}><X size={18} /></button>\n </div>\n )}\n <div className=\"drawer__body\">{children}</div>\n {footer && <div className=\"drawer__footer\">{footer}</div>}\n </div>\n </div>,\n document.body\n );\n}\n"]}
1
+ {"version":3,"sources":["../src/components/Overlay.tsx"],"names":[],"mappings":"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","file":"chunk-ZAKJKBUX.mjs","sourcesContent":["'use client';\nimport * as React from 'react';\nimport { createPortal } from 'react-dom';\nimport { cx } from '../utils/cx';\nimport { X } from './Icons';\nimport { useLocale } from '../locale/LocaleProvider';\nimport { useDelayedUnmount } from '../hooks/useDelayedUnmount';\nimport { useFocusTrap, useEscape, useScrollLock } from '../hooks';\n\n// Exit animation duration in ms. Must match `--duration-exit` and the\n// `is-closing` keyframes in src/styles/index.css (`.modal-backdrop`,\n// `.drawer-backdrop`).\nconst EXIT_MS = 150;\n\nexport interface OverlayProps {\n open: boolean;\n onClose: () => void;\n title?: React.ReactNode;\n children?: React.ReactNode;\n footer?: React.ReactNode;\n size?: 'sm' | 'md' | 'lg';\n closeOnBackdrop?: boolean;\n closeOnEsc?: boolean;\n className?: string;\n}\n\nexport function Modal({\n open, onClose, title, children, footer, size = 'md',\n closeOnBackdrop = true, closeOnEsc = true, className,\n}: OverlayProps) {\n const ref = React.useRef<HTMLDivElement>(null);\n // True only when the press both started AND ended on the backdrop itself.\n // Fixes: press inside (e.g. text-selecting in an input) released over the\n // backdrop must NOT dismiss.\n const downOnBackdrop = React.useRef(false);\n const titleId = React.useId();\n const t = useLocale();\n // useDelayedUnmount keeps the DOM mounted during exit animation. The\n // a11y/scroll-lock hooks still consume `open` (the user's intent), not\n // `mounted` — we don't want to trap focus or block scroll while\n // animating out.\n const { mounted, closing } = useDelayedUnmount(open, EXIT_MS);\n useEscape(open, onClose, closeOnEsc);\n useFocusTrap(ref, open);\n useScrollLock(open);\n if (!mounted || typeof document === 'undefined') return null;\n return createPortal(\n <div\n className={cx('modal-backdrop', closing && 'is-closing')}\n onMouseDown={(e) => { downOnBackdrop.current = e.target === e.currentTarget; }}\n onClick={(e) => {\n if (closeOnBackdrop && downOnBackdrop.current && e.target === e.currentTarget) onClose();\n downOnBackdrop.current = false;\n }}\n >\n <div\n ref={ref}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby={title ? titleId : undefined}\n className={cx('modal', `modal--${size}`, closing && 'is-closing', className)}\n >\n {title && (\n <div className=\"modal__header\">\n <div id={titleId} className=\"modal__title\">{title}</div>\n <button type=\"button\" className=\"modal__close\" onClick={onClose} aria-label={t['modal.close']}><X size={18} /></button>\n </div>\n )}\n <div className=\"modal__body\">{children}</div>\n {footer && <div className=\"modal__footer\">{footer}</div>}\n </div>\n </div>,\n document.body\n );\n}\n\nexport interface DrawerProps extends OverlayProps {\n side?: 'left' | 'right';\n}\n\nexport function Drawer({\n open, onClose, title, children, footer, side = 'right',\n closeOnBackdrop = true, closeOnEsc = true, className,\n}: DrawerProps) {\n const ref = React.useRef<HTMLDivElement>(null);\n // True only when the press both started AND ended on the backdrop itself.\n // Fixes: press inside (e.g. text-selecting in an input) released over the\n // backdrop must NOT dismiss.\n const downOnBackdrop = React.useRef(false);\n const titleId = React.useId();\n const t = useLocale();\n const { mounted, closing } = useDelayedUnmount(open, EXIT_MS);\n useEscape(open, onClose, closeOnEsc);\n useFocusTrap(ref, open);\n useScrollLock(open);\n if (!mounted || typeof document === 'undefined') return null;\n return createPortal(\n <div\n className={cx('drawer-backdrop', closing && 'is-closing')}\n onMouseDown={(e) => { downOnBackdrop.current = e.target === e.currentTarget; }}\n onClick={(e) => {\n if (closeOnBackdrop && downOnBackdrop.current && e.target === e.currentTarget) onClose();\n downOnBackdrop.current = false;\n }}\n >\n <div\n ref={ref}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby={title ? titleId : undefined}\n className={cx('drawer', `drawer--${side}`, closing && 'is-closing', className)}\n >\n {title && (\n <div className=\"drawer__header\">\n <div id={titleId} className=\"drawer__title\">{title}</div>\n <button type=\"button\" className=\"drawer__close\" onClick={onClose} aria-label={t['drawer.close']}><X size={18} /></button>\n </div>\n )}\n <div className=\"drawer__body\">{children}</div>\n {footer && <div className=\"drawer__footer\">{footer}</div>}\n </div>\n </div>,\n document.body\n );\n}\n"]}
@@ -1,12 +1,12 @@
1
1
  'use client';
2
2
  'use strict';
3
3
 
4
- var chunkMSDFMVIF_js = require('../chunk-MSDFMVIF.js');
4
+ var chunkNPUNAVWM_js = require('../chunk-NPUNAVWM.js');
5
5
  require('../chunk-HT43MPKW.js');
6
+ require('../chunk-55P5FA5Q.js');
6
7
  require('../chunk-D2H4VZVL.js');
7
8
  require('../chunk-FL4ZCWUF.js');
8
9
  require('../chunk-NPXEZCTA.js');
9
- require('../chunk-55P5FA5Q.js');
10
10
  require('../chunk-6D5UP23V.js');
11
11
  require('../chunk-A42WMR4M.js');
12
12
  require('../chunk-XMLBKK7X.js');
@@ -18,11 +18,11 @@ require('../chunk-PASF6T4H.js');
18
18
 
19
19
  Object.defineProperty(exports, "AppShell", {
20
20
  enumerable: true,
21
- get: function () { return chunkMSDFMVIF_js.AppShell; }
21
+ get: function () { return chunkNPUNAVWM_js.AppShell; }
22
22
  });
23
23
  Object.defineProperty(exports, "PageHeader", {
24
24
  enumerable: true,
25
- get: function () { return chunkMSDFMVIF_js.PageHeader; }
25
+ get: function () { return chunkNPUNAVWM_js.PageHeader; }
26
26
  });
27
27
  //# sourceMappingURL=AppShell.js.map
28
28
  //# sourceMappingURL=AppShell.js.map
@@ -1,10 +1,10 @@
1
1
  'use client';
2
- export { AppShell, PageHeader } from '../chunk-G4OOD6AR.mjs';
2
+ export { AppShell, PageHeader } from '../chunk-F5EK5PIR.mjs';
3
3
  import '../chunk-JT6OOSI2.mjs';
4
+ import '../chunk-XOV4D6J3.mjs';
4
5
  import '../chunk-R5DCDEB5.mjs';
5
6
  import '../chunk-U3JH4T3A.mjs';
6
7
  import '../chunk-6W7ZGWNA.mjs';
7
- import '../chunk-XOV4D6J3.mjs';
8
8
  import '../chunk-YTKPENNW.mjs';
9
9
  import '../chunk-KYYRQNY7.mjs';
10
10
  import '../chunk-6P2TKRTL.mjs';
@@ -39,7 +39,8 @@ interface BaseChartProps<D = any> {
39
39
  className?: string;
40
40
  ariaLabel?: string;
41
41
  }
42
- interface LineChartProps<D = any> extends BaseChartProps<D> {
42
+ type AxisInterval = number | 'preserveStart' | 'preserveEnd' | 'preserveStartEnd' | 'equidistantPreserveStart' | 'equidistantPreserveEnd';
43
+ interface CartesianChartProps<D = any> extends BaseChartProps<D> {
43
44
  categoryKey: keyof D & string;
44
45
  series: Array<{
45
46
  key: keyof D & string;
@@ -48,26 +49,31 @@ interface LineChartProps<D = any> extends BaseChartProps<D> {
48
49
  }>;
49
50
  showGrid?: boolean;
50
51
  showLegend?: boolean;
52
+ /** Format each category-axis tick label, e.g. shorten `2026-05-23`. → XAxis.tickFormatter */
53
+ xTickFormatter?: (value: string) => string;
54
+ /** Thin out category ticks on collision. → XAxis.interval. Default `preserveStartEnd`. */
55
+ xTickInterval?: AxisInterval;
56
+ /** Rotate category-axis labels N degrees (anchors end + reserves height so they don't clip). */
57
+ xTickAngle?: number;
58
+ /** Format numeric values (value-axis ticks + tooltip). */
59
+ valueFormatter?: (value: number) => string;
60
+ }
61
+ interface LineChartProps<D = any> extends CartesianChartProps<D> {
51
62
  smooth?: boolean;
63
+ /** Interpolation. `monotone` smooths (default, back-compat); `linear` draws honest
64
+ * straight segments — recommended for counts/stepped series (no phantom humps over zeros). */
65
+ curve?: 'linear' | 'monotone';
52
66
  }
53
- declare function LineChart<D = any>({ recharts: R, data, categoryKey, series, height, className, ariaLabel, showGrid, showLegend, smooth, }: LineChartProps<D>): react_jsx_runtime.JSX.Element;
67
+ declare function LineChart<D = any>({ recharts: R, data, categoryKey, series, height, className, ariaLabel, showGrid, showLegend, smooth, curve, xTickFormatter, xTickInterval, xTickAngle, valueFormatter, }: LineChartProps<D>): react_jsx_runtime.JSX.Element;
54
68
  interface AreaChartProps<D = any> extends LineChartProps<D> {
55
69
  stacked?: boolean;
56
70
  }
57
- declare function AreaChart<D = any>({ recharts: R, data, categoryKey, series, height, className, ariaLabel, showGrid, showLegend, smooth, stacked, }: AreaChartProps<D>): react_jsx_runtime.JSX.Element;
58
- interface BarChartProps<D = any> extends BaseChartProps<D> {
59
- categoryKey: keyof D & string;
60
- series: Array<{
61
- key: keyof D & string;
62
- label?: string;
63
- color?: string;
64
- }>;
71
+ declare function AreaChart<D = any>({ recharts: R, data, categoryKey, series, height, className, ariaLabel, showGrid, showLegend, smooth, curve, stacked, xTickFormatter, xTickInterval, xTickAngle, valueFormatter, }: AreaChartProps<D>): react_jsx_runtime.JSX.Element;
72
+ interface BarChartProps<D = any> extends CartesianChartProps<D> {
65
73
  layout?: 'vertical' | 'horizontal';
66
74
  stacked?: boolean;
67
- showGrid?: boolean;
68
- showLegend?: boolean;
69
75
  }
70
- declare function BarChart<D = any>({ recharts: R, data, categoryKey, series, height, className, ariaLabel, layout, stacked, showGrid, showLegend, }: BarChartProps<D>): react_jsx_runtime.JSX.Element;
76
+ declare function BarChart<D = any>({ recharts: R, data, categoryKey, series, height, className, ariaLabel, layout, stacked, showGrid, showLegend, xTickFormatter, xTickInterval, xTickAngle, valueFormatter, }: BarChartProps<D>): react_jsx_runtime.JSX.Element;
71
77
  interface DonutChartProps extends Omit<BaseChartProps, 'data'> {
72
78
  data: Array<{
73
79
  name: string;
@@ -78,8 +84,12 @@ interface DonutChartProps extends Omit<BaseChartProps, 'data'> {
78
84
  showLegend?: boolean;
79
85
  innerRadius?: number;
80
86
  outerRadius?: number;
87
+ /** Format slice names in tooltip + legend, e.g. `V_REGION` → `V Región` (no need to pre-map the data). */
88
+ nameFormatter?: (name: string) => string;
89
+ /** Format slice values in the tooltip. */
90
+ valueFormatter?: (value: number) => string;
81
91
  }
82
- declare function DonutChart({ recharts: R, data, height, className, ariaLabel, centerLabel, showLegend, innerRadius, outerRadius, }: DonutChartProps): react_jsx_runtime.JSX.Element;
92
+ declare function DonutChart({ recharts: R, data, height, className, ariaLabel, centerLabel, showLegend, innerRadius, outerRadius, nameFormatter, valueFormatter, }: DonutChartProps): react_jsx_runtime.JSX.Element;
83
93
  interface SparklineProps<D = any> {
84
94
  recharts: RechartsLike;
85
95
  data: D[];
@@ -93,4 +103,4 @@ interface SparklineProps<D = any> {
93
103
  }
94
104
  declare function Sparkline<D = any>({ recharts: R, data, dataKey, width, height, color, fill, className, ariaLabel, }: SparklineProps<D>): react_jsx_runtime.JSX.Element;
95
105
 
96
- export { AreaChart, type AreaChartProps, BarChart, type BarChartProps, type BaseChartProps, DonutChart, type DonutChartProps, LineChart, type LineChartProps, type RechartsLike, Sparkline, type SparklineProps };
106
+ export { AreaChart, type AreaChartProps, type AxisInterval, BarChart, type BarChartProps, type BaseChartProps, type CartesianChartProps, DonutChart, type DonutChartProps, LineChart, type LineChartProps, type RechartsLike, Sparkline, type SparklineProps };
@@ -39,7 +39,8 @@ interface BaseChartProps<D = any> {
39
39
  className?: string;
40
40
  ariaLabel?: string;
41
41
  }
42
- interface LineChartProps<D = any> extends BaseChartProps<D> {
42
+ type AxisInterval = number | 'preserveStart' | 'preserveEnd' | 'preserveStartEnd' | 'equidistantPreserveStart' | 'equidistantPreserveEnd';
43
+ interface CartesianChartProps<D = any> extends BaseChartProps<D> {
43
44
  categoryKey: keyof D & string;
44
45
  series: Array<{
45
46
  key: keyof D & string;
@@ -48,26 +49,31 @@ interface LineChartProps<D = any> extends BaseChartProps<D> {
48
49
  }>;
49
50
  showGrid?: boolean;
50
51
  showLegend?: boolean;
52
+ /** Format each category-axis tick label, e.g. shorten `2026-05-23`. → XAxis.tickFormatter */
53
+ xTickFormatter?: (value: string) => string;
54
+ /** Thin out category ticks on collision. → XAxis.interval. Default `preserveStartEnd`. */
55
+ xTickInterval?: AxisInterval;
56
+ /** Rotate category-axis labels N degrees (anchors end + reserves height so they don't clip). */
57
+ xTickAngle?: number;
58
+ /** Format numeric values (value-axis ticks + tooltip). */
59
+ valueFormatter?: (value: number) => string;
60
+ }
61
+ interface LineChartProps<D = any> extends CartesianChartProps<D> {
51
62
  smooth?: boolean;
63
+ /** Interpolation. `monotone` smooths (default, back-compat); `linear` draws honest
64
+ * straight segments — recommended for counts/stepped series (no phantom humps over zeros). */
65
+ curve?: 'linear' | 'monotone';
52
66
  }
53
- declare function LineChart<D = any>({ recharts: R, data, categoryKey, series, height, className, ariaLabel, showGrid, showLegend, smooth, }: LineChartProps<D>): react_jsx_runtime.JSX.Element;
67
+ declare function LineChart<D = any>({ recharts: R, data, categoryKey, series, height, className, ariaLabel, showGrid, showLegend, smooth, curve, xTickFormatter, xTickInterval, xTickAngle, valueFormatter, }: LineChartProps<D>): react_jsx_runtime.JSX.Element;
54
68
  interface AreaChartProps<D = any> extends LineChartProps<D> {
55
69
  stacked?: boolean;
56
70
  }
57
- declare function AreaChart<D = any>({ recharts: R, data, categoryKey, series, height, className, ariaLabel, showGrid, showLegend, smooth, stacked, }: AreaChartProps<D>): react_jsx_runtime.JSX.Element;
58
- interface BarChartProps<D = any> extends BaseChartProps<D> {
59
- categoryKey: keyof D & string;
60
- series: Array<{
61
- key: keyof D & string;
62
- label?: string;
63
- color?: string;
64
- }>;
71
+ declare function AreaChart<D = any>({ recharts: R, data, categoryKey, series, height, className, ariaLabel, showGrid, showLegend, smooth, curve, stacked, xTickFormatter, xTickInterval, xTickAngle, valueFormatter, }: AreaChartProps<D>): react_jsx_runtime.JSX.Element;
72
+ interface BarChartProps<D = any> extends CartesianChartProps<D> {
65
73
  layout?: 'vertical' | 'horizontal';
66
74
  stacked?: boolean;
67
- showGrid?: boolean;
68
- showLegend?: boolean;
69
75
  }
70
- declare function BarChart<D = any>({ recharts: R, data, categoryKey, series, height, className, ariaLabel, layout, stacked, showGrid, showLegend, }: BarChartProps<D>): react_jsx_runtime.JSX.Element;
76
+ declare function BarChart<D = any>({ recharts: R, data, categoryKey, series, height, className, ariaLabel, layout, stacked, showGrid, showLegend, xTickFormatter, xTickInterval, xTickAngle, valueFormatter, }: BarChartProps<D>): react_jsx_runtime.JSX.Element;
71
77
  interface DonutChartProps extends Omit<BaseChartProps, 'data'> {
72
78
  data: Array<{
73
79
  name: string;
@@ -78,8 +84,12 @@ interface DonutChartProps extends Omit<BaseChartProps, 'data'> {
78
84
  showLegend?: boolean;
79
85
  innerRadius?: number;
80
86
  outerRadius?: number;
87
+ /** Format slice names in tooltip + legend, e.g. `V_REGION` → `V Región` (no need to pre-map the data). */
88
+ nameFormatter?: (name: string) => string;
89
+ /** Format slice values in the tooltip. */
90
+ valueFormatter?: (value: number) => string;
81
91
  }
82
- declare function DonutChart({ recharts: R, data, height, className, ariaLabel, centerLabel, showLegend, innerRadius, outerRadius, }: DonutChartProps): react_jsx_runtime.JSX.Element;
92
+ declare function DonutChart({ recharts: R, data, height, className, ariaLabel, centerLabel, showLegend, innerRadius, outerRadius, nameFormatter, valueFormatter, }: DonutChartProps): react_jsx_runtime.JSX.Element;
83
93
  interface SparklineProps<D = any> {
84
94
  recharts: RechartsLike;
85
95
  data: D[];
@@ -93,4 +103,4 @@ interface SparklineProps<D = any> {
93
103
  }
94
104
  declare function Sparkline<D = any>({ recharts: R, data, dataKey, width, height, color, fill, className, ariaLabel, }: SparklineProps<D>): react_jsx_runtime.JSX.Element;
95
105
 
96
- export { AreaChart, type AreaChartProps, BarChart, type BarChartProps, type BaseChartProps, DonutChart, type DonutChartProps, LineChart, type LineChartProps, type RechartsLike, Sparkline, type SparklineProps };
106
+ export { AreaChart, type AreaChartProps, type AxisInterval, BarChart, type BarChartProps, type BaseChartProps, type CartesianChartProps, DonutChart, type DonutChartProps, LineChart, type LineChartProps, type RechartsLike, Sparkline, type SparklineProps };
@@ -1,30 +1,30 @@
1
1
  'use client';
2
2
  'use strict';
3
3
 
4
- var chunkCPMQ2DFS_js = require('../chunk-CPMQ2DFS.js');
4
+ var chunk2ET7IM4U_js = require('../chunk-2ET7IM4U.js');
5
5
  require('../chunk-PASF6T4H.js');
6
6
 
7
7
 
8
8
 
9
9
  Object.defineProperty(exports, "AreaChart", {
10
10
  enumerable: true,
11
- get: function () { return chunkCPMQ2DFS_js.AreaChart; }
11
+ get: function () { return chunk2ET7IM4U_js.AreaChart; }
12
12
  });
13
13
  Object.defineProperty(exports, "BarChart", {
14
14
  enumerable: true,
15
- get: function () { return chunkCPMQ2DFS_js.BarChart; }
15
+ get: function () { return chunk2ET7IM4U_js.BarChart; }
16
16
  });
17
17
  Object.defineProperty(exports, "DonutChart", {
18
18
  enumerable: true,
19
- get: function () { return chunkCPMQ2DFS_js.DonutChart; }
19
+ get: function () { return chunk2ET7IM4U_js.DonutChart; }
20
20
  });
21
21
  Object.defineProperty(exports, "LineChart", {
22
22
  enumerable: true,
23
- get: function () { return chunkCPMQ2DFS_js.LineChart; }
23
+ get: function () { return chunk2ET7IM4U_js.LineChart; }
24
24
  });
25
25
  Object.defineProperty(exports, "Sparkline", {
26
26
  enumerable: true,
27
- get: function () { return chunkCPMQ2DFS_js.Sparkline; }
27
+ get: function () { return chunk2ET7IM4U_js.Sparkline; }
28
28
  });
29
29
  //# sourceMappingURL=Charts.js.map
30
30
  //# sourceMappingURL=Charts.js.map
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- export { AreaChart, BarChart, DonutChart, LineChart, Sparkline } from '../chunk-O6FCBNWN.mjs';
2
+ export { AreaChart, BarChart, DonutChart, LineChart, Sparkline } from '../chunk-EJY4QWHT.mjs';
3
3
  import '../chunk-IEPCH3JB.mjs';
4
4
  //# sourceMappingURL=Charts.mjs.map
5
5
  //# sourceMappingURL=Charts.mjs.map
@@ -1,15 +1,15 @@
1
1
  'use client';
2
2
  'use strict';
3
3
 
4
- var chunkT46LLZHX_js = require('../chunk-T46LLZHX.js');
5
- require('../chunk-S3DEFKS5.js');
4
+ var chunkKNQOG43N_js = require('../chunk-KNQOG43N.js');
5
+ require('../chunk-DLDTUVHR.js');
6
6
  require('../chunk-G3V4UOZW.js');
7
7
  require('../chunk-3PXYCXDW.js');
8
8
  require('../chunk-HT43MPKW.js');
9
+ require('../chunk-55P5FA5Q.js');
9
10
  require('../chunk-D2H4VZVL.js');
10
11
  require('../chunk-FL4ZCWUF.js');
11
12
  require('../chunk-NPXEZCTA.js');
12
- require('../chunk-55P5FA5Q.js');
13
13
  require('../chunk-6D5UP23V.js');
14
14
  require('../chunk-A42WMR4M.js');
15
15
  require('../chunk-XMLBKK7X.js');
@@ -21,47 +21,47 @@ require('../chunk-PASF6T4H.js');
21
21
 
22
22
  Object.defineProperty(exports, "AddressForm", {
23
23
  enumerable: true,
24
- get: function () { return chunkT46LLZHX_js.AddressForm; }
24
+ get: function () { return chunkKNQOG43N_js.AddressForm; }
25
25
  });
26
26
  Object.defineProperty(exports, "CartDrawer", {
27
27
  enumerable: true,
28
- get: function () { return chunkT46LLZHX_js.CartDrawer; }
28
+ get: function () { return chunkKNQOG43N_js.CartDrawer; }
29
29
  });
30
30
  Object.defineProperty(exports, "CompareTable", {
31
31
  enumerable: true,
32
- get: function () { return chunkT46LLZHX_js.CompareTable; }
32
+ get: function () { return chunkKNQOG43N_js.CompareTable; }
33
33
  });
34
34
  Object.defineProperty(exports, "FreeShippingProgress", {
35
35
  enumerable: true,
36
- get: function () { return chunkT46LLZHX_js.FreeShippingProgress; }
36
+ get: function () { return chunkKNQOG43N_js.FreeShippingProgress; }
37
37
  });
38
38
  Object.defineProperty(exports, "OrderSummary", {
39
39
  enumerable: true,
40
- get: function () { return chunkT46LLZHX_js.OrderSummary; }
40
+ get: function () { return chunkKNQOG43N_js.OrderSummary; }
41
41
  });
42
42
  Object.defineProperty(exports, "PriceDisplay", {
43
43
  enumerable: true,
44
- get: function () { return chunkT46LLZHX_js.PriceDisplay; }
44
+ get: function () { return chunkKNQOG43N_js.PriceDisplay; }
45
45
  });
46
46
  Object.defineProperty(exports, "PromoCodeInput", {
47
47
  enumerable: true,
48
- get: function () { return chunkT46LLZHX_js.PromoCodeInput; }
48
+ get: function () { return chunkKNQOG43N_js.PromoCodeInput; }
49
49
  });
50
50
  Object.defineProperty(exports, "QuantitySelector", {
51
51
  enumerable: true,
52
- get: function () { return chunkT46LLZHX_js.QuantitySelector; }
52
+ get: function () { return chunkKNQOG43N_js.QuantitySelector; }
53
53
  });
54
54
  Object.defineProperty(exports, "Rating", {
55
55
  enumerable: true,
56
- get: function () { return chunkT46LLZHX_js.Rating; }
56
+ get: function () { return chunkKNQOG43N_js.Rating; }
57
57
  });
58
58
  Object.defineProperty(exports, "VariantSelector", {
59
59
  enumerable: true,
60
- get: function () { return chunkT46LLZHX_js.VariantSelector; }
60
+ get: function () { return chunkKNQOG43N_js.VariantSelector; }
61
61
  });
62
62
  Object.defineProperty(exports, "WishlistButton", {
63
63
  enumerable: true,
64
- get: function () { return chunkT46LLZHX_js.WishlistButton; }
64
+ get: function () { return chunkKNQOG43N_js.WishlistButton; }
65
65
  });
66
66
  //# sourceMappingURL=Commerce.js.map
67
67
  //# sourceMappingURL=Commerce.js.map
@@ -1,13 +1,13 @@
1
1
  'use client';
2
- export { AddressForm, CartDrawer, CompareTable, FreeShippingProgress, OrderSummary, PriceDisplay, PromoCodeInput, QuantitySelector, Rating, VariantSelector, WishlistButton } from '../chunk-J2HHAZHV.mjs';
3
- import '../chunk-XJHK3RH5.mjs';
2
+ export { AddressForm, CartDrawer, CompareTable, FreeShippingProgress, OrderSummary, PriceDisplay, PromoCodeInput, QuantitySelector, Rating, VariantSelector, WishlistButton } from '../chunk-X7BV2JFX.mjs';
3
+ import '../chunk-ZAKJKBUX.mjs';
4
4
  import '../chunk-VGA7UT6T.mjs';
5
5
  import '../chunk-5GEWIK4T.mjs';
6
6
  import '../chunk-JT6OOSI2.mjs';
7
+ import '../chunk-XOV4D6J3.mjs';
7
8
  import '../chunk-R5DCDEB5.mjs';
8
9
  import '../chunk-U3JH4T3A.mjs';
9
10
  import '../chunk-6W7ZGWNA.mjs';
10
- import '../chunk-XOV4D6J3.mjs';
11
11
  import '../chunk-YTKPENNW.mjs';
12
12
  import '../chunk-KYYRQNY7.mjs';
13
13
  import '../chunk-6P2TKRTL.mjs';
@@ -1,14 +1,14 @@
1
1
  'use client';
2
2
  'use strict';
3
3
 
4
- var chunkHKHGODQE_js = require('../chunk-HKHGODQE.js');
5
- require('../chunk-S3DEFKS5.js');
4
+ var chunk4HHP3WT7_js = require('../chunk-4HHP3WT7.js');
5
+ require('../chunk-DLDTUVHR.js');
6
6
  require('../chunk-6SSTTJV4.js');
7
7
  require('../chunk-HT43MPKW.js');
8
+ require('../chunk-55P5FA5Q.js');
8
9
  require('../chunk-D2H4VZVL.js');
9
10
  require('../chunk-FL4ZCWUF.js');
10
11
  require('../chunk-NPXEZCTA.js');
11
- require('../chunk-55P5FA5Q.js');
12
12
  require('../chunk-6D5UP23V.js');
13
13
  require('../chunk-A42WMR4M.js');
14
14
  require('../chunk-XMLBKK7X.js');
@@ -20,27 +20,27 @@ require('../chunk-PASF6T4H.js');
20
20
 
21
21
  Object.defineProperty(exports, "ConfirmDialog", {
22
22
  enumerable: true,
23
- get: function () { return chunkHKHGODQE_js.ConfirmDialog; }
23
+ get: function () { return chunk4HHP3WT7_js.ConfirmDialog; }
24
24
  });
25
25
  Object.defineProperty(exports, "DescriptionList", {
26
26
  enumerable: true,
27
- get: function () { return chunkHKHGODQE_js.DescriptionList; }
27
+ get: function () { return chunk4HHP3WT7_js.DescriptionList; }
28
28
  });
29
29
  Object.defineProperty(exports, "DescriptionListItem", {
30
30
  enumerable: true,
31
- get: function () { return chunkHKHGODQE_js.DescriptionListItem; }
31
+ get: function () { return chunk4HHP3WT7_js.DescriptionListItem; }
32
32
  });
33
33
  Object.defineProperty(exports, "DiffViewer", {
34
34
  enumerable: true,
35
- get: function () { return chunkHKHGODQE_js.DiffViewer; }
35
+ get: function () { return chunk4HHP3WT7_js.DiffViewer; }
36
36
  });
37
37
  Object.defineProperty(exports, "EditableCell", {
38
38
  enumerable: true,
39
- get: function () { return chunkHKHGODQE_js.EditableCell; }
39
+ get: function () { return chunk4HHP3WT7_js.EditableCell; }
40
40
  });
41
41
  Object.defineProperty(exports, "TransferList", {
42
42
  enumerable: true,
43
- get: function () { return chunkHKHGODQE_js.TransferList; }
43
+ get: function () { return chunk4HHP3WT7_js.TransferList; }
44
44
  });
45
45
  //# sourceMappingURL=Editing.js.map
46
46
  //# sourceMappingURL=Editing.js.map
@@ -1,12 +1,12 @@
1
1
  'use client';
2
- export { ConfirmDialog, DescriptionList, DescriptionListItem, DiffViewer, EditableCell, TransferList } from '../chunk-6OBFBETV.mjs';
3
- import '../chunk-XJHK3RH5.mjs';
2
+ export { ConfirmDialog, DescriptionList, DescriptionListItem, DiffViewer, EditableCell, TransferList } from '../chunk-I7JH3OEO.mjs';
3
+ import '../chunk-ZAKJKBUX.mjs';
4
4
  import '../chunk-SUQLII3F.mjs';
5
5
  import '../chunk-JT6OOSI2.mjs';
6
+ import '../chunk-XOV4D6J3.mjs';
6
7
  import '../chunk-R5DCDEB5.mjs';
7
8
  import '../chunk-U3JH4T3A.mjs';
8
9
  import '../chunk-6W7ZGWNA.mjs';
9
- import '../chunk-XOV4D6J3.mjs';
10
10
  import '../chunk-YTKPENNW.mjs';
11
11
  import '../chunk-KYYRQNY7.mjs';
12
12
  import '../chunk-6P2TKRTL.mjs';
@@ -0,0 +1,130 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as React from 'react';
3
+ import { CategoryAccent } from './Display.mjs';
4
+ import '../utils/types.mjs';
5
+
6
+ /**
7
+ * Dashboard data-communication primitives. Everything here is CSS-only — no
8
+ * recharts dependency — so consumers can drop dense micro-viz into cards and
9
+ * table cells without paying for a chart library. The heavyweight charts
10
+ * (Line/Area/Bar/Donut) still live in Charts.tsx behind the BYO-recharts seam.
11
+ */
12
+ type DeltaTone = 'pos' | 'neg' | 'flat';
13
+ interface DeltaBadgeProps extends Omit<React.HTMLAttributes<HTMLSpanElement>, 'children'> {
14
+ /** The variation. Sign drives direction + tone; magnitude is formatted. */
15
+ value: number;
16
+ /** Full-label formatter (incl. sign). Default: signed percent, e.g. `+12,4%`. */
17
+ format?: (value: number) => string;
18
+ /** Higher-is-worse: an increase shows ▲ but in red (cost, error rate, churn). */
19
+ invert?: boolean;
20
+ /** |value| ≤ this renders flat/neutral. Default 0. */
21
+ neutralThreshold?: number;
22
+ /** Hide the directional arrow, keep the colored number. */
23
+ showIcon?: boolean;
24
+ size?: 'sm' | 'md';
25
+ }
26
+ declare function DeltaBadge({ value, format, invert, neutralThreshold, showIcon, size, className, ...rest }: DeltaBadgeProps): react_jsx_runtime.JSX.Element;
27
+ interface StatCardProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'title'> {
28
+ label: React.ReactNode;
29
+ value: React.ReactNode;
30
+ /** Convenience: renders a DeltaBadge. Omit and pass `deltaNode` for full control. */
31
+ delta?: number;
32
+ deltaFormat?: (value: number) => string;
33
+ deltaInvert?: boolean;
34
+ /** Escape hatch when `delta` isn't enough (custom node in the delta slot). */
35
+ deltaNode?: React.ReactNode;
36
+ /** Caption next to the delta, e.g. "vs. mes anterior". */
37
+ caption?: React.ReactNode;
38
+ /** Small leading glyph rendered in a tinted chip. */
39
+ icon?: React.ReactNode;
40
+ /** Left-edge accent hue. */
41
+ accent?: CategoryAccent;
42
+ /** Micro-viz slot (Sparkline / Sparkbar / ProportionBar). */
43
+ chart?: React.ReactNode;
44
+ }
45
+ declare function StatCard({ label, value, delta, deltaFormat, deltaInvert, deltaNode, caption, icon, accent, chart, className, ...rest }: StatCardProps): react_jsx_runtime.JSX.Element;
46
+ type MeterOptimum = 'low' | 'high' | 'middle';
47
+ interface MeterProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'children'> {
48
+ value: number;
49
+ min?: number;
50
+ max?: number;
51
+ /** Lower threshold boundary (for tone zones). */
52
+ low?: number;
53
+ /** Upper threshold boundary (for tone zones). */
54
+ high?: number;
55
+ /** Where "good" lives. Default `high` (more is better). */
56
+ optimum?: MeterOptimum;
57
+ label?: React.ReactNode;
58
+ /** Value caption. String or formatter; default shows `value/max`. */
59
+ valueLabel?: React.ReactNode | ((value: number, max: number) => React.ReactNode);
60
+ showValue?: boolean;
61
+ size?: 'sm' | 'md';
62
+ }
63
+ declare function Meter({ value, min, max, low, high, optimum, label, valueLabel, showValue, size, className, ...rest }: MeterProps): react_jsx_runtime.JSX.Element;
64
+ interface SparkbarProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'children'> {
65
+ data: number[];
66
+ height?: number;
67
+ /** Scale ceiling. Default: max of `data`. */
68
+ max?: number;
69
+ color?: string;
70
+ /** Emphasize the most recent bar (full opacity + secondary hue). */
71
+ highlightLast?: boolean;
72
+ /** Gap between bars in px. Default 2. */
73
+ gap?: number;
74
+ ariaLabel?: string;
75
+ }
76
+ declare function Sparkbar({ data, height, max, color, highlightLast, gap, ariaLabel, className, style, ...rest }: SparkbarProps): react_jsx_runtime.JSX.Element;
77
+ interface ProportionSegment {
78
+ label: string;
79
+ value: number;
80
+ color?: string;
81
+ }
82
+ interface ProportionBarProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'children'> {
83
+ segments: ProportionSegment[];
84
+ /** Denominator override (e.g. show partial fill against a known total). */
85
+ total?: number;
86
+ showLegend?: boolean;
87
+ showPercent?: boolean;
88
+ height?: number;
89
+ ariaLabel?: string;
90
+ }
91
+ declare function ProportionBar({ segments, total, showLegend, showPercent, height, ariaLabel, className, ...rest }: ProportionBarProps): react_jsx_runtime.JSX.Element;
92
+ type BulletTone = 'primary' | 'success' | 'warning' | 'danger';
93
+ interface BulletChartProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'children'> {
94
+ value: number;
95
+ /** Comparative marker (the vertical tick). */
96
+ target?: number;
97
+ min?: number;
98
+ /** Scale end. Default: max of value/target/ranges. */
99
+ max?: number;
100
+ /** Qualitative range boundaries (ascending). Shaded light→dark behind the bar. */
101
+ ranges?: number[];
102
+ label?: React.ReactNode;
103
+ valueLabel?: React.ReactNode;
104
+ tone?: BulletTone;
105
+ height?: number;
106
+ ariaLabel?: string;
107
+ }
108
+ declare function BulletChart({ value, target, min, max, ranges, label, valueLabel, tone, height, ariaLabel, className, ...rest }: BulletChartProps): react_jsx_runtime.JSX.Element;
109
+ interface HeatmapCell {
110
+ /** Optional key/date for accessibility + keys. */
111
+ date?: string;
112
+ label?: React.ReactNode;
113
+ value: number;
114
+ }
115
+ interface CalendarHeatmapProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'children'> {
116
+ data: HeatmapCell[];
117
+ /** Rows in the grid (column-major flow). Default 7 (weekdays). */
118
+ rows?: number;
119
+ /** Intensity ceiling. Default: max of `data`. */
120
+ max?: number;
121
+ /** Base hue tinted by intensity. Default primary. */
122
+ color?: string;
123
+ cellSize?: number;
124
+ gap?: number;
125
+ legend?: boolean;
126
+ ariaLabel?: string;
127
+ }
128
+ declare function CalendarHeatmap({ data, rows, max, color, cellSize, gap, legend, ariaLabel, className, style, ...rest }: CalendarHeatmapProps): react_jsx_runtime.JSX.Element;
129
+
130
+ export { BulletChart, type BulletChartProps, type BulletTone, CalendarHeatmap, type CalendarHeatmapProps, DeltaBadge, type DeltaBadgeProps, type DeltaTone, type HeatmapCell, Meter, type MeterOptimum, type MeterProps, ProportionBar, type ProportionBarProps, type ProportionSegment, Sparkbar, type SparkbarProps, StatCard, type StatCardProps };