@agroshine/ags-web-ui-kit 1.0.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 (109) hide show
  1. package/README.md +75 -0
  2. package/dist/atoms/index.cjs +134 -0
  3. package/dist/atoms/index.cjs.map +1 -0
  4. package/dist/atoms/index.d.cts +583 -0
  5. package/dist/atoms/index.d.ts +583 -0
  6. package/dist/atoms/index.js +9 -0
  7. package/dist/atoms/index.js.map +1 -0
  8. package/dist/chunk-2KRMLIJQ.cjs +52 -0
  9. package/dist/chunk-2KRMLIJQ.cjs.map +1 -0
  10. package/dist/chunk-2TBYPKQ3.cjs +79 -0
  11. package/dist/chunk-2TBYPKQ3.cjs.map +1 -0
  12. package/dist/chunk-5FWELSEZ.js +1296 -0
  13. package/dist/chunk-5FWELSEZ.js.map +1 -0
  14. package/dist/chunk-5PEOJVY7.cjs +1502 -0
  15. package/dist/chunk-5PEOJVY7.cjs.map +1 -0
  16. package/dist/chunk-6LUGTNMH.js +259 -0
  17. package/dist/chunk-6LUGTNMH.js.map +1 -0
  18. package/dist/chunk-6O2IDBTX.js +112 -0
  19. package/dist/chunk-6O2IDBTX.js.map +1 -0
  20. package/dist/chunk-6YUNWKT3.js +26 -0
  21. package/dist/chunk-6YUNWKT3.js.map +1 -0
  22. package/dist/chunk-7R6OXNES.cjs +321 -0
  23. package/dist/chunk-7R6OXNES.cjs.map +1 -0
  24. package/dist/chunk-A3A7PJWG.cjs +13 -0
  25. package/dist/chunk-A3A7PJWG.cjs.map +1 -0
  26. package/dist/chunk-A7TDGQAB.js +557 -0
  27. package/dist/chunk-A7TDGQAB.js.map +1 -0
  28. package/dist/chunk-C4LX3XTN.cjs +1187 -0
  29. package/dist/chunk-C4LX3XTN.cjs.map +1 -0
  30. package/dist/chunk-DZW4GS2T.cjs +1340 -0
  31. package/dist/chunk-DZW4GS2T.cjs.map +1 -0
  32. package/dist/chunk-E3BTK736.cjs +174 -0
  33. package/dist/chunk-E3BTK736.cjs.map +1 -0
  34. package/dist/chunk-ERGKCXM2.cjs +267 -0
  35. package/dist/chunk-ERGKCXM2.cjs.map +1 -0
  36. package/dist/chunk-FOA46NSG.cjs +574 -0
  37. package/dist/chunk-FOA46NSG.cjs.map +1 -0
  38. package/dist/chunk-JTFCE6RA.js +1156 -0
  39. package/dist/chunk-JTFCE6RA.js.map +1 -0
  40. package/dist/chunk-KINOE57L.js +225 -0
  41. package/dist/chunk-KINOE57L.js.map +1 -0
  42. package/dist/chunk-MOED3QPY.js +11 -0
  43. package/dist/chunk-MOED3QPY.js.map +1 -0
  44. package/dist/chunk-NVR34DY2.cjs +4 -0
  45. package/dist/chunk-NVR34DY2.cjs.map +1 -0
  46. package/dist/chunk-PI3IJWBG.js +79 -0
  47. package/dist/chunk-PI3IJWBG.js.map +1 -0
  48. package/dist/chunk-PXAMTGYY.js +3 -0
  49. package/dist/chunk-PXAMTGYY.js.map +1 -0
  50. package/dist/chunk-QAZMI5VH.js +151 -0
  51. package/dist/chunk-QAZMI5VH.js.map +1 -0
  52. package/dist/chunk-QEG27NX6.js +30 -0
  53. package/dist/chunk-QEG27NX6.js.map +1 -0
  54. package/dist/chunk-THTOUSMG.cjs +52 -0
  55. package/dist/chunk-THTOUSMG.cjs.map +1 -0
  56. package/dist/chunk-UAXKB6IH.cjs +32 -0
  57. package/dist/chunk-UAXKB6IH.cjs.map +1 -0
  58. package/dist/chunk-W5IHWAMM.js +48 -0
  59. package/dist/chunk-W5IHWAMM.js.map +1 -0
  60. package/dist/chunk-X2UJQVZJ.cjs +139 -0
  61. package/dist/chunk-X2UJQVZJ.cjs.map +1 -0
  62. package/dist/chunk-X43C5OJD.js +1460 -0
  63. package/dist/chunk-X43C5OJD.js.map +1 -0
  64. package/dist/chunk-XCYSBWV4.js +56 -0
  65. package/dist/chunk-XCYSBWV4.js.map +1 -0
  66. package/dist/chunk-XX4CBCEB.cjs +102 -0
  67. package/dist/chunk-XX4CBCEB.cjs.map +1 -0
  68. package/dist/hooks/index.cjs +33 -0
  69. package/dist/hooks/index.cjs.map +1 -0
  70. package/dist/hooks/index.d.cts +59 -0
  71. package/dist/hooks/index.d.ts +59 -0
  72. package/dist/hooks/index.js +4 -0
  73. package/dist/hooks/index.js.map +1 -0
  74. package/dist/index.cjs +366 -0
  75. package/dist/index.cjs.map +1 -0
  76. package/dist/index.d.cts +13 -0
  77. package/dist/index.d.ts +13 -0
  78. package/dist/index.js +17 -0
  79. package/dist/index.js.map +1 -0
  80. package/dist/interface-DnK5S6ww.d.cts +51 -0
  81. package/dist/interface-DnK5S6ww.d.ts +51 -0
  82. package/dist/lib/index.cjs +13 -0
  83. package/dist/lib/index.cjs.map +1 -0
  84. package/dist/lib/index.d.cts +5 -0
  85. package/dist/lib/index.d.ts +5 -0
  86. package/dist/lib/index.js +4 -0
  87. package/dist/lib/index.js.map +1 -0
  88. package/dist/molecules/index.cjs +123 -0
  89. package/dist/molecules/index.cjs.map +1 -0
  90. package/dist/molecules/index.d.cts +449 -0
  91. package/dist/molecules/index.d.ts +449 -0
  92. package/dist/molecules/index.js +10 -0
  93. package/dist/molecules/index.js.map +1 -0
  94. package/dist/organisms/index.cjs +102 -0
  95. package/dist/organisms/index.cjs.map +1 -0
  96. package/dist/organisms/index.d.cts +396 -0
  97. package/dist/organisms/index.d.ts +396 -0
  98. package/dist/organisms/index.js +9 -0
  99. package/dist/organisms/index.js.map +1 -0
  100. package/dist/tooltip-Bl2ZTtfg.d.cts +16 -0
  101. package/dist/tooltip-Bl2ZTtfg.d.ts +16 -0
  102. package/dist/ui/index.cjs +955 -0
  103. package/dist/ui/index.cjs.map +1 -0
  104. package/dist/ui/index.d.cts +252 -0
  105. package/dist/ui/index.d.ts +252 -0
  106. package/dist/ui/index.js +642 -0
  107. package/dist/ui/index.js.map +1 -0
  108. package/package.json +200 -0
  109. package/tailwind.preset.cjs +134 -0
@@ -0,0 +1,123 @@
1
+ 'use strict';
2
+
3
+ var chunkDZW4GS2T_cjs = require('../chunk-DZW4GS2T.cjs');
4
+ require('../chunk-FOA46NSG.cjs');
5
+ require('../chunk-E3BTK736.cjs');
6
+ var chunk7R6OXNES_cjs = require('../chunk-7R6OXNES.cjs');
7
+ require('../chunk-2KRMLIJQ.cjs');
8
+ require('../chunk-2TBYPKQ3.cjs');
9
+ require('../chunk-XX4CBCEB.cjs');
10
+ require('../chunk-A3A7PJWG.cjs');
11
+
12
+
13
+
14
+ Object.defineProperty(exports, "Alert", {
15
+ enumerable: true,
16
+ get: function () { return chunkDZW4GS2T_cjs.Alert; }
17
+ });
18
+ Object.defineProperty(exports, "Breadcrumb", {
19
+ enumerable: true,
20
+ get: function () { return chunkDZW4GS2T_cjs.Breadcrumb; }
21
+ });
22
+ Object.defineProperty(exports, "Card", {
23
+ enumerable: true,
24
+ get: function () { return chunkDZW4GS2T_cjs.Card; }
25
+ });
26
+ Object.defineProperty(exports, "Column", {
27
+ enumerable: true,
28
+ get: function () { return chunkDZW4GS2T_cjs.Column_default; }
29
+ });
30
+ Object.defineProperty(exports, "DeleteModal", {
31
+ enumerable: true,
32
+ get: function () { return chunkDZW4GS2T_cjs.DeleteModal_default; }
33
+ });
34
+ Object.defineProperty(exports, "Drawer", {
35
+ enumerable: true,
36
+ get: function () { return chunkDZW4GS2T_cjs.Drawer_default; }
37
+ });
38
+ Object.defineProperty(exports, "Empty", {
39
+ enumerable: true,
40
+ get: function () { return chunkDZW4GS2T_cjs.Empty; }
41
+ });
42
+ Object.defineProperty(exports, "HoverCard", {
43
+ enumerable: true,
44
+ get: function () { return chunkDZW4GS2T_cjs.HoverCard; }
45
+ });
46
+ Object.defineProperty(exports, "List", {
47
+ enumerable: true,
48
+ get: function () { return chunkDZW4GS2T_cjs.List; }
49
+ });
50
+ Object.defineProperty(exports, "Modal", {
51
+ enumerable: true,
52
+ get: function () { return chunkDZW4GS2T_cjs.Modal_default; }
53
+ });
54
+ Object.defineProperty(exports, "Popconfirm", {
55
+ enumerable: true,
56
+ get: function () { return chunkDZW4GS2T_cjs.Popconfirm; }
57
+ });
58
+ Object.defineProperty(exports, "Popover", {
59
+ enumerable: true,
60
+ get: function () { return chunkDZW4GS2T_cjs.Popover; }
61
+ });
62
+ Object.defineProperty(exports, "Segmented", {
63
+ enumerable: true,
64
+ get: function () { return chunkDZW4GS2T_cjs.Segmented; }
65
+ });
66
+ Object.defineProperty(exports, "Statistic", {
67
+ enumerable: true,
68
+ get: function () { return chunkDZW4GS2T_cjs.Statistic; }
69
+ });
70
+ Object.defineProperty(exports, "Step", {
71
+ enumerable: true,
72
+ get: function () { return chunkDZW4GS2T_cjs.Step; }
73
+ });
74
+ Object.defineProperty(exports, "Steps", {
75
+ enumerable: true,
76
+ get: function () { return chunkDZW4GS2T_cjs.Steps; }
77
+ });
78
+ Object.defineProperty(exports, "Table", {
79
+ enumerable: true,
80
+ get: function () { return chunkDZW4GS2T_cjs.Table_default; }
81
+ });
82
+ Object.defineProperty(exports, "TablePagination", {
83
+ enumerable: true,
84
+ get: function () { return chunkDZW4GS2T_cjs.TablePagination; }
85
+ });
86
+ Object.defineProperty(exports, "Tabs", {
87
+ enumerable: true,
88
+ get: function () { return chunkDZW4GS2T_cjs.Tabs; }
89
+ });
90
+ Object.defineProperty(exports, "Timeline", {
91
+ enumerable: true,
92
+ get: function () { return chunkDZW4GS2T_cjs.Timeline; }
93
+ });
94
+ Object.defineProperty(exports, "Tooltip", {
95
+ enumerable: true,
96
+ get: function () { return chunkDZW4GS2T_cjs.Tooltip; }
97
+ });
98
+ Object.defineProperty(exports, "CardContent", {
99
+ enumerable: true,
100
+ get: function () { return chunk7R6OXNES_cjs.CardContent; }
101
+ });
102
+ Object.defineProperty(exports, "CardDescription", {
103
+ enumerable: true,
104
+ get: function () { return chunk7R6OXNES_cjs.CardDescription; }
105
+ });
106
+ Object.defineProperty(exports, "CardFooter", {
107
+ enumerable: true,
108
+ get: function () { return chunk7R6OXNES_cjs.CardFooter; }
109
+ });
110
+ Object.defineProperty(exports, "CardHeader", {
111
+ enumerable: true,
112
+ get: function () { return chunk7R6OXNES_cjs.CardHeader; }
113
+ });
114
+ Object.defineProperty(exports, "CardTitle", {
115
+ enumerable: true,
116
+ get: function () { return chunk7R6OXNES_cjs.CardTitle; }
117
+ });
118
+ Object.defineProperty(exports, "TooltipProvider", {
119
+ enumerable: true,
120
+ get: function () { return chunk7R6OXNES_cjs.TooltipProvider; }
121
+ });
122
+ //# sourceMappingURL=index.cjs.map
123
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"index.cjs"}
@@ -0,0 +1,449 @@
1
+ import * as React$1 from 'react';
2
+ import React__default, { ReactNode, HTMLAttributes, FC, ForwardRefExoticComponent, RefAttributes } from 'react';
3
+ export { a as CardContent, b as CardDescription, c as CardFooter, d as CardHeader, e as CardTitle, g as TooltipProvider } from '../tooltip-Bl2ZTtfg.cjs';
4
+ import '@radix-ui/react-tooltip';
5
+
6
+ /**
7
+ * Variants canon Components.html § "Alert" L1149:
8
+ * - `default` neutral (sin tinte) — bg-background border-border text-foreground
9
+ * - `success` verde · `bg-success-50 border-success-200 text-success-700`
10
+ * - `warning` amber · `bg-warning-50 border-warning-100 text-warning-800`
11
+ * - `destructive` rojo · `bg-destructive/[0.05] border-destructive text-destructive`
12
+ *
13
+ * Aliases compat:
14
+ * - `info` → primary-tinted (extensión AgroShine, no en canon)
15
+ * - `danger` → alias de `destructive`
16
+ */
17
+ type AlertVariant = 'default' | 'success' | 'warning' | 'destructive' | 'danger' | 'info';
18
+ interface AlertProps {
19
+ variant?: AlertVariant;
20
+ title?: ReactNode;
21
+ description?: ReactNode;
22
+ icon?: boolean | ReactNode;
23
+ closable?: boolean;
24
+ onClose?: () => void;
25
+ className?: string;
26
+ children?: ReactNode;
27
+ }
28
+
29
+ declare const Alert: React$1.ForwardRefExoticComponent<AlertProps & React$1.RefAttributes<HTMLDivElement>>;
30
+
31
+ interface BreadcrumbItem {
32
+ label: ReactNode;
33
+ href?: string;
34
+ icon?: ReactNode;
35
+ }
36
+ interface BreadcrumbProps {
37
+ items: BreadcrumbItem[];
38
+ separator?: ReactNode;
39
+ maxItems?: number;
40
+ className?: string;
41
+ onItemClick?: (item: BreadcrumbItem, index: number) => void;
42
+ }
43
+
44
+ declare const Breadcrumb: React$1.ForwardRefExoticComponent<BreadcrumbProps & React$1.RefAttributes<HTMLElement>>;
45
+
46
+ type CardVariant = 'default' | 'flush' | 'interactive';
47
+ interface CardProps extends HTMLAttributes<HTMLDivElement> {
48
+ /**
49
+ * `default` (canon) → bordes y radius shadcn estándar, sub-componentes con padding.
50
+ * `flush` → sin padding interno; los hijos controlan el espacio
51
+ * (ideal para envolver `<Table />`, listas, paneles densos).
52
+ * `interactive` → cursor pointer, hover sombreado, focus ring.
53
+ * Cuando se usa con `onClick` se renderiza con `role="button"`.
54
+ */
55
+ variant?: CardVariant;
56
+ asChild?: boolean;
57
+ children?: ReactNode;
58
+ }
59
+
60
+ /**
61
+ * Card AgroShine — wrapper sobre `ui/card` (shadcn primitive).
62
+ *
63
+ * Re-exporta los sub-componentes (`CardHeader`, `CardTitle`, `CardDescription`,
64
+ * `CardContent`, `CardFooter`) para una API completa:
65
+ *
66
+ * <Card variant="interactive" onClick={...}>
67
+ * <CardHeader>
68
+ * <CardTitle>Aspersión 19-001</CardTitle>
69
+ * <CardDescription>FOC · Mancozeb 80 %</CardDescription>
70
+ * </CardHeader>
71
+ * <CardContent>...</CardContent>
72
+ * <CardFooter>...</CardFooter>
73
+ * </Card>
74
+ */
75
+ declare const Card: React$1.ForwardRefExoticComponent<CardProps & React$1.RefAttributes<HTMLDivElement>>;
76
+
77
+ interface DrawerProps {
78
+ visible: boolean;
79
+ onClose: () => void;
80
+ title?: string;
81
+ description?: string;
82
+ size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
83
+ placement?: 'left' | 'right' | 'top' | 'bottom';
84
+ children?: ReactNode;
85
+ footer?: ReactNode;
86
+ extra?: React.ReactNode | React.ReactNode[];
87
+ }
88
+ declare const Drawer: FC<DrawerProps>;
89
+
90
+ interface EmptyProps {
91
+ title?: React$1.ReactNode;
92
+ description?: React$1.ReactNode;
93
+ icon?: React$1.ReactNode;
94
+ action?: React$1.ReactNode;
95
+ className?: string;
96
+ }
97
+ /**
98
+ * Canon Components.html § "Empty" L1747 / CSS L464-468:
99
+ * .empty { padding:48px 20px; text-align:center; color:muted-foreground; }
100
+ * .empty .ic { font-size:48px; opacity:0.4; margin-bottom:8px; }
101
+ * .empty .t { font-size:14px; font-weight:500; color:foreground; }
102
+ * .empty .s { font-size:13px; margin-top:4px; }
103
+ * .empty .acts { margin-top:14px; gap:8px; justify-content:center; }
104
+ */
105
+ declare const Empty: React$1.ForwardRefExoticComponent<EmptyProps & React$1.RefAttributes<HTMLDivElement>>;
106
+
107
+ interface HoverCardProps {
108
+ trigger: React$1.ReactNode;
109
+ children: React$1.ReactNode;
110
+ side?: 'top' | 'right' | 'bottom' | 'left';
111
+ align?: 'start' | 'center' | 'end';
112
+ openDelay?: number;
113
+ closeDelay?: number;
114
+ open?: boolean;
115
+ defaultOpen?: boolean;
116
+ onOpenChange?: (open: boolean) => void;
117
+ className?: string;
118
+ asChild?: boolean;
119
+ }
120
+ declare const HoverCard: React$1.ForwardRefExoticComponent<HoverCardProps & React$1.RefAttributes<HTMLDivElement>>;
121
+
122
+ /** Tipo legacy (admin lo usa). */
123
+ interface IDataSourceListCollapse {
124
+ key: number;
125
+ value: string;
126
+ name?: string;
127
+ label?: string;
128
+ }
129
+ type ListSize = 'small' | 'default' | 'large';
130
+ /**
131
+ * API canónica (canon Components.html § "List" L2007).
132
+ * Uso recomendado declarativo:
133
+ *
134
+ * <List bordered header="..." footer="...">
135
+ * <List.Item avatar={<Avatar>CM</Avatar>} title="..." description="..." extra={...} actions={...} />
136
+ * ...
137
+ * </List>
138
+ *
139
+ * Uso legacy con `data + renderItem` también soportado (admin lo usa).
140
+ */
141
+ interface ListProps extends Omit<HTMLAttributes<HTMLDivElement>, 'children'> {
142
+ /** Legacy data-driven API. */
143
+ data?: IDataSourceListCollapse[];
144
+ renderItem?: (item: IDataSourceListCollapse, index: number) => ReactNode;
145
+ /** Nuevo: API declarativa con `<List.Item />`. */
146
+ children?: ReactNode;
147
+ header?: ReactNode;
148
+ footer?: ReactNode;
149
+ bordered?: boolean;
150
+ size?: ListSize;
151
+ /** Legacy. Si > 0 trunca y muestra un item "+N, readMoreLabel". */
152
+ maxVisibleItems?: number;
153
+ readMoreLabel?: string;
154
+ onReadMoreClick?: () => void;
155
+ className?: string;
156
+ }
157
+ /** Slots de `List.Item` (canon `.list-item`). */
158
+ interface ListItemProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title'> {
159
+ /** Slot izquierdo (avatar, ícono, etc.) — `.list-meta` lo aloja primero. */
160
+ avatar?: ReactNode;
161
+ /** Título principal del item (`.li-title` — `font: 14px/600 foreground`). */
162
+ title?: ReactNode;
163
+ /** Descripción debajo del título (`.li-desc` — `font: 12.5px muted-foreground`). */
164
+ description?: ReactNode;
165
+ /** Texto/badge a la derecha (`.list-extra` — `font: 13px muted-foreground`). */
166
+ extra?: ReactNode;
167
+ /** Botones/acciones a la derecha (`.list-actions` — gap 6px). */
168
+ actions?: ReactNode;
169
+ /** Si no se pasan slots, se renderizan los children como contenido libre. */
170
+ children?: ReactNode;
171
+ }
172
+
173
+ /**
174
+ * Canon `.list-item` (Components.html L570):
175
+ * display:flex; align-items:center; gap:14px; padding:14px 16px;
176
+ * border-bottom:1px solid border; hover:bg-muted/40
177
+ *
178
+ * Estructura: [list-meta (avatar + body[title/desc])] [list-extra] [list-actions]
179
+ */
180
+ declare const ListItem: React$1.ForwardRefExoticComponent<ListItemProps & React$1.RefAttributes<HTMLDivElement>>;
181
+
182
+ type ListComponent = ForwardRefExoticComponent<ListProps & RefAttributes<HTMLDivElement>> & {
183
+ Item: typeof ListItem;
184
+ };
185
+ declare const List: ListComponent;
186
+
187
+ interface ModalProps$1 {
188
+ isOpen: boolean;
189
+ setIsOpen: (open: boolean) => void;
190
+ deleteData: () => void;
191
+ }
192
+ declare const DeleteModal: React.FC<ModalProps$1>;
193
+
194
+ interface ModalProps {
195
+ visible: boolean;
196
+ onClose: () => void;
197
+ title?: string;
198
+ size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '5xl';
199
+ children?: ReactNode;
200
+ footer?: ReactNode;
201
+ }
202
+ declare const Modal: React.FC<ModalProps>;
203
+
204
+ interface PopconfirmProps {
205
+ title: React$1.ReactNode;
206
+ description?: React$1.ReactNode;
207
+ okText?: string;
208
+ cancelText?: string;
209
+ okVariant?: 'primary' | 'danger';
210
+ onConfirm: () => void | Promise<void>;
211
+ onCancel?: () => void;
212
+ icon?: React$1.ReactNode;
213
+ children: React$1.ReactNode;
214
+ side?: 'top' | 'right' | 'bottom' | 'left';
215
+ align?: 'start' | 'center' | 'end';
216
+ className?: string;
217
+ asChild?: boolean;
218
+ disabled?: boolean;
219
+ }
220
+ declare const Popconfirm: React$1.ForwardRefExoticComponent<PopconfirmProps & React$1.RefAttributes<HTMLDivElement>>;
221
+
222
+ interface PopoverProps {
223
+ trigger: React$1.ReactNode;
224
+ children: React$1.ReactNode;
225
+ side?: 'top' | 'right' | 'bottom' | 'left';
226
+ align?: 'start' | 'center' | 'end';
227
+ open?: boolean;
228
+ defaultOpen?: boolean;
229
+ onOpenChange?: (open: boolean) => void;
230
+ className?: string;
231
+ sideOffset?: number;
232
+ asChild?: boolean;
233
+ }
234
+ declare const Popover: React$1.ForwardRefExoticComponent<PopoverProps & React$1.RefAttributes<HTMLDivElement>>;
235
+
236
+ interface SegmentedOption<T extends string = string> {
237
+ value: T;
238
+ label: ReactNode;
239
+ icon?: ReactNode;
240
+ disabled?: boolean;
241
+ }
242
+ type SegmentedSize = 'sm' | 'md' | 'lg';
243
+ interface SegmentedProps<T extends string = string> {
244
+ value: T;
245
+ onChange: (value: T) => void;
246
+ options: SegmentedOption<T>[];
247
+ size?: SegmentedSize;
248
+ disabled?: boolean;
249
+ fullWidth?: boolean;
250
+ className?: string;
251
+ }
252
+
253
+ declare const Segmented: <T extends string = string>(props: SegmentedProps<T> & {
254
+ ref?: React$1.ForwardedRef<HTMLDivElement>;
255
+ }) => React$1.ReactElement;
256
+
257
+ interface StatisticProps {
258
+ title: React$1.ReactNode;
259
+ value: number | string;
260
+ prefix?: React$1.ReactNode;
261
+ suffix?: React$1.ReactNode;
262
+ precision?: number;
263
+ trend?: 'up' | 'down';
264
+ trendValue?: React$1.ReactNode;
265
+ loading?: boolean;
266
+ formatter?: (value: number | string) => string;
267
+ className?: string;
268
+ valueClassName?: string;
269
+ }
270
+ declare const Statistic: React$1.ForwardRefExoticComponent<StatisticProps & React$1.RefAttributes<HTMLDivElement>>;
271
+
272
+ type StepStatus = 'wait' | 'process' | 'finish' | 'error';
273
+ type StepsDirection = 'horizontal' | 'vertical';
274
+ type StepsSize = 'sm' | 'md' | 'lg';
275
+ interface StepInterface {
276
+ key: string;
277
+ title: ReactNode;
278
+ description?: ReactNode;
279
+ /** Override automático: si no se pasa, se calcula desde `current`. */
280
+ status?: StepStatus;
281
+ /** Override del número en el círculo. */
282
+ icon?: ReactNode;
283
+ /** Si está deshabilitado (no clickeable y atenuado). */
284
+ disabled?: boolean;
285
+ }
286
+ interface StepsProps {
287
+ items: StepInterface[];
288
+ /** Índice del paso activo (0-based). */
289
+ current?: number;
290
+ /** Callback al clickear un paso. */
291
+ onChange?: (index: number) => void;
292
+ direction?: StepsDirection;
293
+ /** sm=24px, md=28px (canon), lg=36px. */
294
+ size?: StepsSize;
295
+ className?: string;
296
+ }
297
+
298
+ interface StepProps {
299
+ item: StepInterface;
300
+ index: number;
301
+ status: StepStatus;
302
+ size: StepsSize;
303
+ clickable: boolean;
304
+ onSelect?: (index: number) => void;
305
+ }
306
+ declare const Step: React$1.FC<StepProps>;
307
+
308
+ declare const Steps: React$1.ForwardRefExoticComponent<StepsProps & React$1.RefAttributes<HTMLDivElement>>;
309
+
310
+ type ColumnProps = {
311
+ title: React__default.ReactNode;
312
+ dataIndex?: string;
313
+ key: string;
314
+ render?: (value: unknown, record: unknown, rowIndex: number) => React__default.ReactNode;
315
+ width?: number | string;
316
+ ellipsis?: boolean;
317
+ align?: 'left' | 'center' | 'right';
318
+ /** Enables click-to-sort on this column header. Cycles null → asc → desc → null. */
319
+ sortable?: boolean;
320
+ };
321
+ declare const Column: React__default.FC<ColumnProps>;
322
+
323
+ interface PaginationTableProps {
324
+ pageSize?: number;
325
+ pageSizeOptions?: number[];
326
+ initialPage?: number;
327
+ totalItems?: number;
328
+ totalPages?: number;
329
+ onPageChange?: (page: number) => void;
330
+ onPageSizeChange?: (page: number, pageSize: number) => void;
331
+ paginatedData: unknown[];
332
+ currentPage?: number;
333
+ }
334
+ declare const TablePagination: FC<PaginationTableProps>;
335
+
336
+ type SortDirection = 'asc' | 'desc' | null;
337
+ interface SortState {
338
+ key: string | null;
339
+ direction: SortDirection;
340
+ }
341
+ type Density = 'compact' | 'default' | 'comfortable';
342
+
343
+ type RecordType = Record<string, unknown>;
344
+ type RowKey = string | number;
345
+ interface TableUIProps<T extends RecordType = RecordType> {
346
+ dataSource: T[];
347
+ children: ReactNode;
348
+ variant?: 'default' | 'striped';
349
+ density?: Density;
350
+ pagination?: PaginationTableProps;
351
+ loading?: boolean;
352
+ emptyText?: ReactNode;
353
+ rowKey?: (record: T) => RowKey;
354
+ ariaLabel?: string;
355
+ selectedRowKeys?: RowKey[];
356
+ onRow?: (record: T, rowIndex: number) => {
357
+ onClick?: () => void;
358
+ [key: string]: unknown;
359
+ };
360
+ expandedRowRender?: (record: T) => ReactNode;
361
+ bordered?: boolean;
362
+ }
363
+ declare function TableUI<T extends RecordType = RecordType>({ dataSource, children, pagination, loading, variant, density, emptyText, rowKey, ariaLabel, selectedRowKeys, onRow, bordered, }: TableUIProps<T>): React__default.ReactElement;
364
+
365
+ interface TabItem {
366
+ key: string;
367
+ label: ReactNode;
368
+ content: ReactNode;
369
+ disabled?: boolean;
370
+ icon?: ReactNode;
371
+ }
372
+ type TabsVariant = 'line' | 'card' | 'pill';
373
+ type TabsSize = 'sm' | 'md' | 'lg';
374
+ interface TabsProps {
375
+ items: TabItem[];
376
+ defaultValue?: string;
377
+ value?: string;
378
+ onChange?: (value: string) => void;
379
+ variant?: TabsVariant;
380
+ size?: TabsSize;
381
+ className?: string;
382
+ listClassName?: string;
383
+ contentClassName?: string;
384
+ }
385
+
386
+ declare const Tabs: React$1.ForwardRefExoticComponent<TabsProps & React$1.RefAttributes<HTMLDivElement>>;
387
+
388
+ type TimelineItemStatus = 'pending' | 'in-progress' | 'done' | 'error';
389
+ interface TimelineItem {
390
+ key: string;
391
+ content: ReactNode;
392
+ time?: ReactNode;
393
+ status?: TimelineItemStatus;
394
+ icon?: ReactNode;
395
+ }
396
+ type TimelineMode = 'left' | 'right' | 'alternate';
397
+ interface TimelineProps {
398
+ items: TimelineItem[];
399
+ mode?: TimelineMode;
400
+ className?: string;
401
+ }
402
+
403
+ declare const Timeline: React$1.ForwardRefExoticComponent<TimelineProps & React$1.RefAttributes<HTMLUListElement>>;
404
+
405
+ interface TooltipProps {
406
+ /** Contenido renderizado dentro del bubble flotante. */
407
+ content: React$1.ReactNode;
408
+ /** Elemento que dispara el tooltip al hover/focus. */
409
+ children: React$1.ReactNode;
410
+ side?: 'top' | 'right' | 'bottom' | 'left';
411
+ align?: 'start' | 'center' | 'end';
412
+ /** Delay en ms antes de abrir. Default 200ms (canon Components.html). */
413
+ delayDuration?: number;
414
+ open?: boolean;
415
+ defaultOpen?: boolean;
416
+ onOpenChange?: (open: boolean) => void;
417
+ /** Clases extra sobre el `TooltipContent`. */
418
+ className?: string;
419
+ /**
420
+ * Si `true` (default) el trigger usa `asChild` y NO añade un `<button>` extra,
421
+ * delegando el evento al `children`. Pónlo a `false` sólo si el children
422
+ * no acepta refs o handlers (texto plano, fragments, etc.).
423
+ */
424
+ asChild?: boolean;
425
+ /**
426
+ * Si la app ya monta un `<TooltipProvider>` global (recomendado para apps
427
+ * con muchos tooltips) pasa `withProvider={false}` para evitar montar uno
428
+ * adicional por instancia. Por defecto `true` para uso "drop-in" cómodo.
429
+ *
430
+ * NOTA: cada provider tiene su propio estado de delay/skip-delay. Sin
431
+ * provider global, el "skip delay" de Radix (segundo tooltip abre sin
432
+ * espera) no funciona entre instancias.
433
+ */
434
+ withProvider?: boolean;
435
+ }
436
+ /**
437
+ * Tooltip · wrapper de conveniencia sobre `ui/tooltip` (Radix).
438
+ *
439
+ * Canon: `Components.html` línea ~1124, CSS `.tooltip*` / `.hcard*`.
440
+ *
441
+ * - Para casos puntuales: usa este wrapper tal cual.
442
+ * - Para apps con MUCHOS tooltips: monta un `<TooltipProvider>` global en el
443
+ * root y usa `<Tooltip withProvider={false}>` (o importa primitives desde
444
+ * `ui/tooltip` directamente). Eso habilita el comportamiento de skip-delay
445
+ * y evita providers redundantes.
446
+ */
447
+ declare const Tooltip: React$1.ForwardRefExoticComponent<TooltipProps & React$1.RefAttributes<HTMLDivElement>>;
448
+
449
+ export { Alert, type AlertProps, type AlertVariant, Breadcrumb, type BreadcrumbItem, type BreadcrumbProps, Card, type CardProps, type CardVariant, Column, type ColumnProps, DeleteModal, type Density, Drawer, Empty, type EmptyProps, HoverCard, type HoverCardProps, List, Modal, type PaginationTableProps, Popconfirm, type PopconfirmProps, Popover, type PopoverProps, Segmented, type SegmentedOption, type SegmentedProps, type SegmentedSize, type SortDirection, type SortState, Statistic, type StatisticProps, Step, type StepInterface, type StepProps, type StepStatus, Steps, type StepsDirection, type StepsProps, type StepsSize, type TabItem, TableUI as Table, TablePagination, Tabs, type TabsProps, type TabsSize, type TabsVariant, Timeline, type TimelineItem, type TimelineItemStatus, type TimelineMode, type TimelineProps, Tooltip, type TooltipProps };