@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,583 @@
1
+ import * as React$1 from 'react';
2
+ import React__default, { ReactNode, CSSProperties } from 'react';
3
+ import * as react_jsx_runtime from 'react/jsx-runtime';
4
+ import { M as MultiSelectProps, S as SelectProps } from '../interface-DnK5S6ww.js';
5
+ export { C as ChipDotColor, O as Option, a as SelectSize, b as SelectStatus } from '../interface-DnK5S6ww.js';
6
+
7
+ type AvatarSize = 'sm' | 'md' | 'lg' | 'xl';
8
+ type AvatarShape = 'circle' | 'square';
9
+
10
+ interface AvatarProps {
11
+ src?: string;
12
+ alt?: string;
13
+ fallback?: React$1.ReactNode;
14
+ size?: AvatarSize;
15
+ shape?: AvatarShape;
16
+ className?: string;
17
+ }
18
+ declare const Avatar: React$1.ForwardRefExoticComponent<AvatarProps & React$1.RefAttributes<HTMLSpanElement>>;
19
+
20
+ /**
21
+ * Button AgroShine — canon `Components.html`.
22
+ *
23
+ * API pública (recomendada · documentada en Storybook):
24
+ * variant: 'default' | 'destructive' | 'outline' | 'secondary' | 'ghost' | 'link'
25
+ * size: 'sm' | 'default' | 'lg' | 'icon'
26
+ *
27
+ * API legacy (compat con admin · sin documentar):
28
+ * color: 'default' | 'primary' | 'secondary' | 'success' | 'warning' | 'danger'
29
+ * variant: 'solid' | 'bordered' | 'light' | 'flat' | 'faded' | 'shadow' | 'ghost' (HeroUI)
30
+ * size: 'md' (= default)
31
+ * isLoading, isDisabled, isIconOnly, fullWidth, onPress, startContent, endContent, radius
32
+ *
33
+ * Cuando se pasan props legacy, se mapean silenciosamente al canon shadcn por debajo.
34
+ */
35
+ type ShadVariant = 'default' | 'destructive' | 'outline' | 'secondary' | 'ghost' | 'link';
36
+ type ShadSize = 'default' | 'sm' | 'lg' | 'icon';
37
+ type HeroColor = 'default' | 'primary' | 'secondary' | 'success' | 'warning' | 'danger';
38
+ type HeroVariant = 'solid' | 'bordered' | 'light' | 'flat' | 'faded' | 'shadow' | 'ghost';
39
+ type LegacySize = 'md';
40
+ interface ButtonProps extends Omit<React$1.ButtonHTMLAttributes<HTMLButtonElement>, 'color'> {
41
+ /** Variante visual canon shadcn. Default `'default'`. */
42
+ variant?: ShadVariant | HeroVariant;
43
+ /** Tamaño canon. Default `'default'` (32 px). Acepta `'md'` como alias legacy. */
44
+ size?: ShadSize | LegacySize;
45
+ /** Legacy HeroUI · sólo aplica si `variant` es legacy. */
46
+ color?: HeroColor;
47
+ radius?: 'none' | 'sm' | 'md' | 'lg' | 'full';
48
+ isLoading?: boolean;
49
+ isDisabled?: boolean;
50
+ isIconOnly?: boolean;
51
+ fullWidth?: boolean;
52
+ onPress?: (e: React$1.MouseEvent<HTMLButtonElement>) => void;
53
+ startContent?: React$1.ReactNode;
54
+ endContent?: React$1.ReactNode;
55
+ }
56
+ declare const Button: React$1.ForwardRefExoticComponent<ButtonProps & React$1.RefAttributes<HTMLButtonElement>>;
57
+
58
+ interface CheckboxProps {
59
+ isSelected?: boolean;
60
+ defaultSelected?: boolean;
61
+ isDisabled?: boolean;
62
+ isIndeterminate?: boolean;
63
+ isRequired?: boolean;
64
+ onValueChange?: (selected: boolean) => void;
65
+ onChange?: (event: React$1.ChangeEvent<HTMLInputElement>) => void;
66
+ children?: React$1.ReactNode;
67
+ className?: string;
68
+ classNames?: {
69
+ base?: string;
70
+ label?: string;
71
+ wrapper?: string;
72
+ };
73
+ color?: 'default' | 'primary' | 'secondary' | 'success' | 'warning' | 'danger';
74
+ size?: 'sm' | 'md' | 'lg';
75
+ name?: string;
76
+ value?: string;
77
+ id?: string;
78
+ }
79
+ declare const Checkbox: React$1.FC<CheckboxProps>;
80
+
81
+ type Layout = 'horizontal' | 'vertical';
82
+ /** `small` 8/12, `default` 10/16 (canon HTML), `large` 14/20. `middle` mantenido como alias de `default` por compat. */
83
+ type Size = 'small' | 'default' | 'middle' | 'large';
84
+ interface DescriptionItem {
85
+ label: ReactNode;
86
+ children: ReactNode;
87
+ /** Span de columnas (sólo relevante cuando `column > 1`). */
88
+ span?: number;
89
+ description?: ReactNode;
90
+ }
91
+ interface DescriptionsProps {
92
+ /** Título opcional renderizado encima del grid. */
93
+ title?: ReactNode;
94
+ /**
95
+ * Estilo de bordes:
96
+ * - `false` (canon · default): solo `border-bottom` entre filas, sin bg-muted.
97
+ * - `true` : estilo tabla con borde completo + label `bg-muted/40`.
98
+ */
99
+ bordered?: boolean;
100
+ /** Número de pares K/V por fila. Canon HTML = 1 (default). */
101
+ column?: number;
102
+ /**
103
+ * `horizontal` (canon · default) — label izquierda, value derecha.
104
+ * `vertical` — label encima, value debajo.
105
+ */
106
+ layout?: Layout;
107
+ /** Densidad del row. Canon = `default`. */
108
+ size?: Size;
109
+ items: DescriptionItem[];
110
+ className?: string;
111
+ }
112
+
113
+ declare const Descriptions: React$1.ForwardRefExoticComponent<DescriptionsProps & React$1.RefAttributes<HTMLDivElement>>;
114
+
115
+ /**
116
+ * Placement del dropdown (compatible con Ant Design).
117
+ * rc-dropdown usa: topLeft, top, topRight, bottomLeft, bottom, bottomRight
118
+ */
119
+ type DropdownPlacement = 'topLeft' | 'top' | 'topRight' | 'bottomLeft' | 'bottom' | 'bottomRight' | 'bottomStart' | 'bottomEnd' | 'topStart' | 'topEnd';
120
+ /**
121
+ * Modo de trigger (compatible con Ant Design).
122
+ * rc-dropdown usa: click, hover, contextMenu
123
+ */
124
+ type DropdownTrigger$1 = 'click' | 'hover' | 'contextMenu';
125
+ /**
126
+ * Item de menú (Ant Design MenuItemType).
127
+ */
128
+ interface MenuItemType {
129
+ type?: 'item' | 'divider' | 'group' | 'submenu';
130
+ key?: React.Key;
131
+ label?: ReactNode;
132
+ disabled?: boolean;
133
+ danger?: boolean;
134
+ icon?: ReactNode;
135
+ children?: MenuItemType[];
136
+ }
137
+ /**
138
+ * Props del menú (compatible con Ant Design Dropdown menu).
139
+ */
140
+ interface DropdownMenuProps {
141
+ items?: MenuItemType[];
142
+ onClick?: (info: {
143
+ key: string;
144
+ keyPath: string[];
145
+ domEvent: React.MouseEvent;
146
+ }) => void;
147
+ onSelect?: (info: {
148
+ key: string;
149
+ keyPath: string[];
150
+ selectedKeys: string[];
151
+ }) => void;
152
+ selectable?: boolean;
153
+ selectedKeys?: string[];
154
+ defaultSelectedKeys?: string[];
155
+ disabled?: boolean;
156
+ style?: CSSProperties;
157
+ className?: string;
158
+ }
159
+ /**
160
+ * Props del Dropdown (API compatible con Ant Design).
161
+ * @see https://ant.design/components/dropdown#api
162
+ */
163
+ interface DropdownProps {
164
+ /** Contenido del trigger (children) */
165
+ children: ReactNode;
166
+ /** Configuración del menú (items, onClick, etc.) */
167
+ menu?: DropdownMenuProps;
168
+ /** Modo de trigger: click, hover, contextMenu */
169
+ trigger?: DropdownTrigger$1 | DropdownTrigger$1[];
170
+ /** Posición del popup */
171
+ placement?: DropdownPlacement;
172
+ /** Mostrar flecha apuntando al trigger */
173
+ arrow?: boolean | {
174
+ pointAtCenter?: boolean;
175
+ };
176
+ /** Estado controlado: abierto/cerrado */
177
+ open?: boolean;
178
+ /** Callback cuando cambia el estado open */
179
+ onOpenChange?: (open: boolean, info?: {
180
+ source: 'trigger' | 'menu';
181
+ }) => void;
182
+ /** Deshabilitar el dropdown */
183
+ disabled?: boolean;
184
+ /** Destruir popup al ocultar (rc: autoDestroy). Ant Design: destroyOnHidden */
185
+ destroyPopupOnHide?: boolean;
186
+ destroyOnHidden?: boolean;
187
+ /** Contenedor donde renderizar el popup */
188
+ getPopupContainer?: (triggerNode: HTMLElement) => HTMLElement;
189
+ /** Clase CSS del overlay/popup */
190
+ overlayClassName?: string;
191
+ /** Estilos inline del overlay/popup */
192
+ overlayStyle?: CSSProperties;
193
+ /** Custom render del contenido del dropdown (Ant Design: popupRender) */
194
+ dropdownRender?: (menus: ReactNode) => ReactNode;
195
+ popupRender?: (menus: ReactNode) => ReactNode;
196
+ /** Ajustar posición cuando se sale de pantalla (Ant Design: autoAdjustOverflow) */
197
+ autoAdjustOverflow?: boolean;
198
+ /** Clase aplicada al trigger cuando está abierto */
199
+ openClassName?: string;
200
+ /** Props adicionales para el trigger */
201
+ triggerProps?: React.HTMLAttributes<HTMLElement>;
202
+ }
203
+ /**
204
+ * Props del DropdownTrigger (trigger tipo selector/input).
205
+ * Diseño blueprint: 48px altura, 8px radius, placeholder, iconos a la derecha.
206
+ */
207
+ interface DropdownTriggerProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'children'> {
208
+ children?: ReactNode;
209
+ /** Texto placeholder o valor mostrado */
210
+ placeholder?: string;
211
+ /** Valor seleccionado (para mostrar en lugar de placeholder) */
212
+ value?: string;
213
+ /** Icono circular/indicador a la izquierda del caret */
214
+ icon?: ReactNode;
215
+ /** Si hay error visual */
216
+ error?: boolean;
217
+ /** Ancho: full, min, o auto */
218
+ width?: 'full' | 'min' | 'auto';
219
+ /** Tamaño: default (48px) o compact (36px) */
220
+ size?: 'default' | 'compact';
221
+ }
222
+
223
+ /**
224
+ * Dropdown con API compatible con Ant Design.
225
+ * Usa rc-dropdown internamente y Tailwind para estilos.
226
+ *
227
+ * @see https://ant.design/components/dropdown#api
228
+ *
229
+ * Notas de compatibilidad:
230
+ * - overlayClassName/overlayStyle: soportados (rc-dropdown nativo)
231
+ * - destroyPopupOnHide: mapeado a autoDestroy de rc-trigger
232
+ * - destroyOnHidden: alias de destroyPopupOnHide (Ant Design 5.25+)
233
+ * - dropdownRender/popupRender: soportados (custom overlay)
234
+ * - autoAdjustOverflow: rc-dropdown ya lo hace por defecto en placements
235
+ */
236
+ declare function Dropdown({ children, menu, trigger, placement, arrow, open, onOpenChange, disabled, destroyPopupOnHide, destroyOnHidden, getPopupContainer, overlayClassName, overlayStyle, dropdownRender, popupRender, openClassName, }: DropdownProps): react_jsx_runtime.JSX.Element;
237
+
238
+ interface DropdownMenuComponentProps extends DropdownMenuProps {
239
+ /** Render custom (dropdownRender) envuelve este contenido */
240
+ children?: ReactNode;
241
+ }
242
+ /**
243
+ * Menú del dropdown con estilos Tailwind.
244
+ * Compatible con API de Ant Design Menu (items, onClick, selectable, etc.)
245
+ */
246
+ declare function DropdownMenu({ items, onClick, onSelect, selectable, selectedKeys, defaultSelectedKeys, disabled, style, className, children, }: DropdownMenuComponentProps): string | number | boolean | Iterable<React__default.ReactNode> | react_jsx_runtime.JSX.Element | null | undefined;
247
+
248
+ /**
249
+ * Trigger del dropdown con diseño blueprint.
250
+ * - Altura: 48px
251
+ * - Border radius: 8px
252
+ * - Fondo content1, borde gris
253
+ * - Placeholder/value a la izquierda, icono + caret a la derecha
254
+ */
255
+ declare function DropdownTrigger({ placeholder, value, icon, error, width, size, className, disabled, ...rest }: DropdownTriggerProps): react_jsx_runtime.JSX.Element;
256
+
257
+ /**
258
+ * Mapea el trigger de Ant Design al formato de rc-dropdown.
259
+ * Ant Design: ['click'] | ['hover'] | ['contextMenu'] | combinaciones
260
+ * rc-dropdown: action = 'click' | 'hover' | 'contextMenu' (array)
261
+ */
262
+ declare function mapTriggerToRc(trigger?: DropdownTrigger$1 | DropdownTrigger$1[]): ('click' | 'hover' | 'contextMenu')[];
263
+ /**
264
+ * Placement de Ant Design / HeroUI a rc-dropdown.
265
+ */
266
+ declare function mapPlacementToRc(placement?: DropdownPlacement): 'topLeft' | 'top' | 'topRight' | 'bottomLeft' | 'bottom' | 'bottomRight';
267
+
268
+ interface FormItemProps {
269
+ label?: string;
270
+ name?: string;
271
+ required?: boolean;
272
+ validateStatus?: 'error' | 'success' | 'default';
273
+ help?: string;
274
+ children: React__default.ReactNode;
275
+ }
276
+ declare const FormItem: React__default.FC<FormItemProps>;
277
+
278
+ interface InputProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'prefix'> {
279
+ variant?: 'small' | 'default' | 'large';
280
+ prefix?: React.ReactNode;
281
+ suffix?: React.ReactNode;
282
+ allowClear?: boolean;
283
+ status?: 'error' | 'success' | 'warning' | 'default';
284
+ showPasswordToggle?: boolean;
285
+ name?: string;
286
+ touched?: boolean;
287
+ error?: string;
288
+ help?: string;
289
+ externalLabel?: string;
290
+ errorMessage?: string;
291
+ }
292
+
293
+ declare const Input: React$1.ForwardRefExoticComponent<InputProps & React$1.RefAttributes<HTMLInputElement>>;
294
+
295
+ type InputNumberSize = 'sm' | 'md' | 'lg';
296
+
297
+ interface InputNumberProps {
298
+ value?: number;
299
+ defaultValue?: number;
300
+ onChange?: (value: number) => void;
301
+ min?: number;
302
+ max?: number;
303
+ step?: number;
304
+ size?: InputNumberSize;
305
+ disabled?: boolean;
306
+ precision?: number;
307
+ placeholder?: string;
308
+ name?: string;
309
+ id?: string;
310
+ className?: string;
311
+ }
312
+ declare const InputNumber: React$1.ForwardRefExoticComponent<InputNumberProps & React$1.RefAttributes<HTMLInputElement>>;
313
+
314
+ /** Tipo de item en el paginador (compatible con rc-pagination y Ant Design) */
315
+ type PaginationItemType = 'page' | 'prev' | 'next' | 'jump-prev' | 'jump-next';
316
+ /** API pública estilo Ant Design Pagination */
317
+ interface PaginationProps {
318
+ current?: number;
319
+ defaultCurrent?: number;
320
+ total?: number;
321
+ pageSize?: number;
322
+ defaultPageSize?: number;
323
+ disabled?: boolean;
324
+ hideOnSinglePage?: boolean;
325
+ showLessItems?: boolean;
326
+ showQuickJumper?: boolean | {
327
+ goButton?: ReactNode;
328
+ };
329
+ showSizeChanger?: boolean;
330
+ pageSizeOptions?: number[];
331
+ showTitle?: boolean;
332
+ showTotal?: (total: number, range: [number, number]) => ReactNode;
333
+ simple?: boolean | {
334
+ readOnly?: boolean;
335
+ };
336
+ size?: 'small' | 'default' | 'large';
337
+ responsive?: boolean;
338
+ align?: 'start' | 'center' | 'end';
339
+ itemRender?: (page: number, type: PaginationItemType, originalElement: ReactNode) => ReactNode;
340
+ onChange?: (page: number, pageSize: number) => void;
341
+ onShowSizeChange?: (current: number, size: number) => void;
342
+ className?: string;
343
+ style?: React.CSSProperties;
344
+ }
345
+
346
+ declare const Pagination: React__default.FC<PaginationProps>;
347
+
348
+ interface PaginationItemProps {
349
+ type: PaginationItemType;
350
+ page?: number;
351
+ disabled?: boolean;
352
+ active?: boolean;
353
+ isEllipsis?: boolean;
354
+ onClick?: () => void;
355
+ children?: React.ReactNode;
356
+ 'aria-current'?: 'page';
357
+ 'aria-label'?: string;
358
+ }
359
+ declare function PaginationItem({ type, page, disabled, active, isEllipsis, onClick, children, 'aria-current': ariaCurrent, 'aria-label': ariaLabel, }: PaginationItemProps): react_jsx_runtime.JSX.Element;
360
+
361
+ interface PaginationSizeSelectProps {
362
+ pageSize: number;
363
+ pageSizeOptions: number[];
364
+ disabled?: boolean;
365
+ onChange: (size: number) => void;
366
+ /** Ocultar en viewports <= 360px cuando responsive=true */
367
+ responsive?: boolean;
368
+ }
369
+ declare function PaginationSizeSelect({ pageSize, pageSizeOptions, disabled, onChange, responsive, }: PaginationSizeSelectProps): react_jsx_runtime.JSX.Element;
370
+
371
+ /**
372
+ * Calcula el rango [from, to] de items mostrados en la página actual
373
+ */
374
+ declare function getItemRange(current: number, pageSize: number, total: number): [number, number];
375
+
376
+ type ProgressColor = 'primary' | 'success' | 'warning' | 'danger';
377
+ type ProgressSize = 'sm' | 'md' | 'lg';
378
+
379
+ interface ProgressProps {
380
+ value?: number;
381
+ color?: ProgressColor;
382
+ size?: ProgressSize;
383
+ showLabel?: boolean;
384
+ label?: React$1.ReactNode;
385
+ className?: string;
386
+ }
387
+ declare const Progress: React$1.ForwardRefExoticComponent<ProgressProps & React$1.RefAttributes<HTMLDivElement>>;
388
+
389
+ type RadioColor = 'primary' | 'secondary' | 'success' | 'warning' | 'danger';
390
+
391
+ interface RadioOption {
392
+ value: string;
393
+ label: React$1.ReactNode;
394
+ disabled?: boolean;
395
+ }
396
+ interface RadioProps {
397
+ value?: string;
398
+ defaultValue?: string;
399
+ options: RadioOption[];
400
+ onChange?: (value: string) => void;
401
+ orientation?: 'horizontal' | 'vertical';
402
+ color?: RadioColor;
403
+ className?: string;
404
+ name?: string;
405
+ disabled?: boolean;
406
+ }
407
+ declare const Radio: React$1.ForwardRefExoticComponent<RadioProps & React$1.RefAttributes<HTMLDivElement>>;
408
+
409
+ type RateSize = 'sm' | 'md' | 'lg';
410
+
411
+ interface RateProps {
412
+ value?: number;
413
+ defaultValue?: number;
414
+ onChange?: (value: number) => void;
415
+ count?: number;
416
+ allowHalf?: boolean;
417
+ disabled?: boolean;
418
+ size?: RateSize;
419
+ className?: string;
420
+ }
421
+ declare const Rate: React$1.ForwardRefExoticComponent<RateProps & React$1.RefAttributes<HTMLDivElement>>;
422
+
423
+ declare function MultiSelectInner<V extends string | number>(props: MultiSelectProps<V>, ref: React.Ref<HTMLDivElement>): react_jsx_runtime.JSX.Element;
424
+ declare const MultiSelect: <V extends string | number = string | number>(props: MultiSelectProps<V> & {
425
+ ref?: React.Ref<HTMLDivElement>;
426
+ }) => ReturnType<typeof MultiSelectInner>;
427
+
428
+ declare function SelectInner<V extends string | number>(props: SelectProps<V>, ref: React.Ref<HTMLDivElement>): react_jsx_runtime.JSX.Element;
429
+ declare const Select: <V extends string | number = string | number>(props: SelectProps<V> & {
430
+ ref?: React.Ref<HTMLDivElement>;
431
+ }) => ReturnType<typeof SelectInner>;
432
+
433
+ /**
434
+ * Separator · átomo basado en Radix Separator (`ui/separator`).
435
+ *
436
+ * Canon `Components.html` (línea ~935):
437
+ * - `.sep` → `border-top:1px solid border; margin:14px 0` (horizontal).
438
+ * - `.div-h` → línea horizontal simple para dividir secciones.
439
+ * - `.div-text`→ línea con label centrado (tipo "OR" / "continuar con").
440
+ *
441
+ * Variantes:
442
+ * - `orientation="horizontal"` (default): línea 1px full-width.
443
+ * - `orientation="vertical"`: línea 1px de alto fijo (h-4) inline.
444
+ * - `text`: cuando se pasa, renderiza el patrón `.div-text` (line-text-line)
445
+ * sólo en horizontal; ignorado en vertical.
446
+ */
447
+ interface SeparatorProps {
448
+ orientation?: 'horizontal' | 'vertical';
449
+ text?: React$1.ReactNode;
450
+ className?: string;
451
+ }
452
+ declare const Separator: React$1.ForwardRefExoticComponent<SeparatorProps & React$1.RefAttributes<HTMLDivElement>>;
453
+
454
+ type SkeletonRounded = 'sm' | 'md' | 'full';
455
+ interface SkeletonProps {
456
+ width?: number | string;
457
+ height?: number | string;
458
+ rounded?: SkeletonRounded;
459
+ lines?: number;
460
+ className?: string;
461
+ }
462
+ declare const Skeleton: React$1.ForwardRefExoticComponent<SkeletonProps & React$1.RefAttributes<HTMLDivElement>>;
463
+
464
+ type SliderColor = 'primary' | 'secondary' | 'success' | 'warning' | 'danger';
465
+
466
+ interface SliderProps {
467
+ value?: number | number[];
468
+ defaultValue?: number | number[];
469
+ onChange?: (value: number | number[]) => void;
470
+ min?: number;
471
+ max?: number;
472
+ step?: number;
473
+ color?: SliderColor;
474
+ disabled?: boolean;
475
+ showTooltip?: boolean;
476
+ className?: string;
477
+ }
478
+ declare const Slider: React$1.ForwardRefExoticComponent<SliderProps & React$1.RefAttributes<HTMLSpanElement>>;
479
+
480
+ interface SpinnerProps {
481
+ size?: 'sm' | 'md' | 'lg';
482
+ color?: 'default' | 'primary' | 'secondary' | 'success' | 'warning' | 'danger';
483
+ className?: string;
484
+ label?: string;
485
+ children?: React$1.ReactNode;
486
+ }
487
+ /**
488
+ * Spinner inline.
489
+ *
490
+ * Si necesitas centrarlo en una pantalla de carga, envuélvelo tú:
491
+ *
492
+ * <div className="flex min-h-60 items-center justify-center">
493
+ * <Spinner size="lg" label="Cargando…" />
494
+ * </div>
495
+ */
496
+ declare const Spinner: React$1.ForwardRefExoticComponent<SpinnerProps & React$1.RefAttributes<HTMLSpanElement>>;
497
+
498
+ type SwitchColor = 'primary' | 'secondary' | 'success' | 'warning' | 'danger';
499
+ type SwitchSize = 'sm' | 'md' | 'lg';
500
+
501
+ interface SwitchProps {
502
+ checked?: boolean;
503
+ defaultChecked?: boolean;
504
+ onChange?: (checked: boolean) => void;
505
+ color?: SwitchColor;
506
+ size?: SwitchSize;
507
+ label?: React$1.ReactNode;
508
+ disabled?: boolean;
509
+ className?: string;
510
+ name?: string;
511
+ id?: string;
512
+ }
513
+ declare const Switch: React$1.ForwardRefExoticComponent<SwitchProps & React$1.RefAttributes<HTMLButtonElement>>;
514
+
515
+ interface ITag {
516
+ variant: 'default' | 'success' | 'warning' | 'danger';
517
+ closeIcon?: ReactNode;
518
+ icon?: ReactNode;
519
+ onClose?: () => void;
520
+ children?: React.ReactNode;
521
+ }
522
+
523
+ declare const Tag: React__default.FC<ITag>;
524
+
525
+ interface TextAreaProps extends React.TextareaHTMLAttributes<HTMLTextAreaElement> {
526
+ size?: 'small' | 'default' | 'large';
527
+ allowClear?: boolean;
528
+ status?: 'error' | 'success' | 'warning' | 'default';
529
+ autoSize?: boolean;
530
+ name?: string;
531
+ touched?: boolean;
532
+ error?: string;
533
+ help?: string;
534
+ externalLabel?: string;
535
+ errorMessage?: string;
536
+ }
537
+
538
+ declare const Textarea: React$1.ForwardRefExoticComponent<TextAreaProps & React$1.RefAttributes<HTMLTextAreaElement>>;
539
+
540
+ type ToggleVariant = 'default' | 'outline';
541
+ type ToggleSize = 'sm' | 'md' | 'lg';
542
+ interface ToggleProps {
543
+ pressed?: boolean;
544
+ defaultPressed?: boolean;
545
+ onChange?: (pressed: boolean) => void;
546
+ variant?: ToggleVariant;
547
+ size?: ToggleSize;
548
+ disabled?: boolean;
549
+ className?: string;
550
+ children?: React$1.ReactNode;
551
+ 'aria-label'?: string;
552
+ }
553
+ declare const Toggle: React$1.ForwardRefExoticComponent<ToggleProps & React$1.RefAttributes<HTMLButtonElement>>;
554
+
555
+ type ToggleGroupVariant = 'default' | 'outline';
556
+ type ToggleGroupSize = 'sm' | 'md' | 'lg';
557
+ interface ToggleGroupOption {
558
+ value: string;
559
+ label: React$1.ReactNode;
560
+ disabled?: boolean;
561
+ }
562
+ interface ToggleGroupSingleProps {
563
+ type: 'single';
564
+ value?: string;
565
+ defaultValue?: string;
566
+ onChange?: (value: string) => void;
567
+ }
568
+ interface ToggleGroupMultipleProps {
569
+ type: 'multiple';
570
+ value?: string[];
571
+ defaultValue?: string[];
572
+ onChange?: (value: string[]) => void;
573
+ }
574
+ type ToggleGroupProps = (ToggleGroupSingleProps | ToggleGroupMultipleProps) & {
575
+ options: ToggleGroupOption[];
576
+ variant?: ToggleGroupVariant;
577
+ size?: ToggleGroupSize;
578
+ disabled?: boolean;
579
+ className?: string;
580
+ };
581
+ declare const ToggleGroup: React$1.ForwardRefExoticComponent<ToggleGroupProps & React$1.RefAttributes<HTMLDivElement>>;
582
+
583
+ export { Avatar, type AvatarProps, Button, Checkbox, Descriptions, Dropdown, DropdownMenu, type DropdownMenuProps, type DropdownPlacement, type DropdownProps, DropdownTrigger, type DropdownTrigger$1 as DropdownTriggerMode, type DropdownTriggerProps, FormItem, Input, InputNumber, type InputNumberProps, type MenuItemType, MultiSelect, MultiSelectProps, Pagination, PaginationItem, type PaginationItemType, type PaginationProps, PaginationSizeSelect, Progress, type ProgressProps, Radio, type RadioOption, type RadioProps, Rate, type RateProps, Select, SelectProps, Separator, type SeparatorProps, Skeleton, type SkeletonProps, type SkeletonRounded, Slider, type SliderProps, Spinner, Switch, type SwitchProps, Tag, Textarea, Toggle, ToggleGroup, type ToggleGroupMultipleProps, type ToggleGroupOption, type ToggleGroupProps, type ToggleGroupSingleProps, type ToggleGroupSize, type ToggleGroupVariant, type ToggleProps, type ToggleSize, type ToggleVariant, getItemRange, mapPlacementToRc, mapTriggerToRc };
@@ -0,0 +1,9 @@
1
+ export { Avatar, Checkbox, Descriptions, Input, InputNumber, MultiSelect, Progress, Radio, Rate, Select, Separator, Skeleton, Slider, Switch, Tag, Textarea, Toggle, ToggleGroup } from '../chunk-X43C5OJD.js';
2
+ export { Dropdown, DropdownMenu, DropdownTrigger, Pagination, PaginationItem, PaginationSizeSelect, getItemRange, mapPlacementToRc, mapTriggerToRc } from '../chunk-A7TDGQAB.js';
3
+ export { FormItem } from '../chunk-QEG27NX6.js';
4
+ export { Button, Spinner } from '../chunk-QAZMI5VH.js';
5
+ import '../chunk-KINOE57L.js';
6
+ import '../chunk-XCYSBWV4.js';
7
+ import '../chunk-MOED3QPY.js';
8
+ //# sourceMappingURL=index.js.map
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"index.js"}
@@ -0,0 +1,52 @@
1
+ 'use strict';
2
+
3
+ var chunkA3A7PJWG_cjs = require('./chunk-A3A7PJWG.cjs');
4
+ var React = require('react');
5
+ var PopoverPrimitive = require('@radix-ui/react-popover');
6
+ var jsxRuntime = require('react/jsx-runtime');
7
+
8
+ function _interopNamespace(e) {
9
+ if (e && e.__esModule) return e;
10
+ var n = Object.create(null);
11
+ if (e) {
12
+ Object.keys(e).forEach(function (k) {
13
+ if (k !== 'default') {
14
+ var d = Object.getOwnPropertyDescriptor(e, k);
15
+ Object.defineProperty(n, k, d.get ? d : {
16
+ enumerable: true,
17
+ get: function () { return e[k]; }
18
+ });
19
+ }
20
+ });
21
+ }
22
+ n.default = e;
23
+ return Object.freeze(n);
24
+ }
25
+
26
+ var React__namespace = /*#__PURE__*/_interopNamespace(React);
27
+ var PopoverPrimitive__namespace = /*#__PURE__*/_interopNamespace(PopoverPrimitive);
28
+
29
+ var Popover = PopoverPrimitive__namespace.Root;
30
+ var PopoverTrigger = PopoverPrimitive__namespace.Trigger;
31
+ var PopoverAnchor = PopoverPrimitive__namespace.Anchor;
32
+ var PopoverContent = React__namespace.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(PopoverPrimitive__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(
33
+ PopoverPrimitive__namespace.Content,
34
+ {
35
+ ref,
36
+ align,
37
+ sideOffset,
38
+ className: chunkA3A7PJWG_cjs.cn(
39
+ "z-50 w-72 rounded-lg border border-border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
40
+ className
41
+ ),
42
+ ...props
43
+ }
44
+ ) }));
45
+ PopoverContent.displayName = PopoverPrimitive__namespace.Content.displayName;
46
+
47
+ exports.Popover = Popover;
48
+ exports.PopoverAnchor = PopoverAnchor;
49
+ exports.PopoverContent = PopoverContent;
50
+ exports.PopoverTrigger = PopoverTrigger;
51
+ //# sourceMappingURL=chunk-2KRMLIJQ.cjs.map
52
+ //# sourceMappingURL=chunk-2KRMLIJQ.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/ui/popover.tsx"],"names":["PopoverPrimitive","React","jsx","cn"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,IAAM,OAAA,GAA2BA,2BAAA,CAAA;AACjC,IAAM,cAAA,GAAkCA,2BAAA,CAAA;AACxC,IAAM,aAAA,GAAiCA,2BAAA,CAAA;AAEvC,IAAM,cAAA,GAAuBC,gBAAA,CAAA,UAAA,CAG3B,CAAC,EAAE,WAAW,KAAA,GAAQ,QAAA,EAAU,UAAA,GAAa,CAAA,EAAG,GAAG,KAAA,EAAM,EAAG,GAAA,qBAC5DC,cAAA,CAAkBF,oCAAjB,EACC,QAAA,kBAAAE,cAAA;AAAA,EAAkBF,2BAAA,CAAA,OAAA;AAAA,EAAjB;AAAA,IACC,GAAA;AAAA,IACA,KAAA;AAAA,IACA,UAAA;AAAA,IACA,SAAA,EAAWG,oBAAA;AAAA,MACT,0bAAA;AAAA,MACA;AAAA,KACF;AAAA,IACC,GAAG;AAAA;AACN,CAAA,EACF,CACD;AACD,cAAA,CAAe,cAA+BH,2BAAA,CAAA,OAAA,CAAQ,WAAA","file":"chunk-2KRMLIJQ.cjs","sourcesContent":["import * as React from 'react';\nimport * as PopoverPrimitive from '@radix-ui/react-popover';\n\nimport { cn } from '../lib/cn';\n\nconst Popover = PopoverPrimitive.Root;\nconst PopoverTrigger = PopoverPrimitive.Trigger;\nconst PopoverAnchor = PopoverPrimitive.Anchor;\n\nconst PopoverContent = React.forwardRef<\n React.ElementRef<typeof PopoverPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Content>\n>(({ className, align = 'center', sideOffset = 4, ...props }, ref) => (\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Content\n ref={ref}\n align={align}\n sideOffset={sideOffset}\n className={cn(\n 'z-50 w-72 rounded-lg border border-border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2',\n className,\n )}\n {...props}\n />\n </PopoverPrimitive.Portal>\n));\nPopoverContent.displayName = PopoverPrimitive.Content.displayName;\n\nexport { Popover, PopoverAnchor, PopoverContent, PopoverTrigger };\n"]}