@axzydev/axzy_ui_system 1.0.164 → 1.0.166

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1,10 +1,8 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import * as React$1 from 'react';
3
- import React__default, { ReactNode } from 'react';
3
+ import React__default, { ReactNode, FocusEvent } from 'react';
4
4
  import * as Yup from 'yup';
5
5
 
6
- declare const buttonVariants: Record<string, string>;
7
-
8
6
  declare const semanticColors: {
9
7
  primary: {
10
8
  50: string;
@@ -127,8 +125,26 @@ declare const semanticColors: {
127
125
 
128
126
  type ColorsTypes = keyof typeof semanticColors;
129
127
 
128
+ declare const badgeVariants: {
129
+ readonly filled: "filled";
130
+ readonly outlined: "outlined";
131
+ };
132
+
130
133
  type SizesTypes = "small" | "medium" | "large";
131
134
 
135
+ interface ITBadgetProps {
136
+ label?: string;
137
+ children?: React.ReactNode;
138
+ color?: ColorsTypes;
139
+ size?: SizesTypes;
140
+ variant?: keyof typeof badgeVariants;
141
+ className?: string;
142
+ }
143
+
144
+ declare function ITBadget({ children, label, color, size, variant, className, }: ITBadgetProps): react_jsx_runtime.JSX.Element;
145
+
146
+ declare const buttonVariants: Record<string, string>;
147
+
132
148
  interface ITButtonProps {
133
149
  label?: string;
134
150
  children?: React.ReactNode;
@@ -162,6 +178,9 @@ interface ITCalendarProps {
162
178
  onSelectRange?: (start: Date, end: Date) => void;
163
179
  value?: Date;
164
180
  onChange?: (date: Date) => void;
181
+ selectionMode?: 'single' | 'range';
182
+ startDate?: Date;
183
+ endDate?: Date;
165
184
  minDate?: Date;
166
185
  maxDate?: Date;
167
186
  className?: string;
@@ -189,21 +208,122 @@ interface ITCardProps {
189
208
  */
190
209
  declare function ITCard({ title, image, alt, children, actions, className, imageClassName, titleClassName, contentClassName, actionClassName, onClick, }: ITCardProps): react_jsx_runtime.JSX.Element;
191
210
 
211
+ type TableVariants = "default" | "striped" | "bordered";
212
+ type TableSize = "sm" | "md" | "lg";
213
+
214
+ type ColumnType = "string" | "date" | "number" | "boolean" | "actions" | "catalog";
215
+ interface CatalogOption {
216
+ id: string | number;
217
+ name: string;
218
+ }
219
+ interface Column<T = any> {
220
+ key: string;
221
+ label: string;
222
+ className?: string;
223
+ currencyMX?: boolean;
224
+ actions?: (row: T) => React.ReactNode;
225
+ filter?: boolean | "catalog";
226
+ type: ColumnType;
227
+ sortable?: boolean;
228
+ render?: (row: T) => React.ReactNode;
229
+ editComponent?: (props: {
230
+ value: any;
231
+ onChange: (value: any) => void;
232
+ rowData: T;
233
+ }) => React.ReactNode;
234
+ catalogOptions?: {
235
+ data: CatalogOption[];
236
+ loading?: boolean;
237
+ error?: boolean;
238
+ };
239
+ }
240
+ interface ITTableProps<T> {
241
+ columns: Column<T>[];
242
+ containerClassName?: string;
243
+ data: T[];
244
+ variant?: TableVariants;
245
+ className?: string;
246
+ size?: TableSize;
247
+ itemsPerPageOptions?: Array<number>;
248
+ defaultItemsPerPage?: number;
249
+ title?: string;
250
+ }
251
+
252
+ interface ITDataTableFetchParams {
253
+ page: number;
254
+ limit: number;
255
+ filters: Record<string, string | number | boolean | Date>;
256
+ sort?: {
257
+ key: string;
258
+ direction: "asc" | "desc";
259
+ };
260
+ }
261
+ interface ITDataTableResponse<T> {
262
+ data: T[];
263
+ total: number;
264
+ }
265
+ interface ITDataTableProps<T extends Record<string, unknown>> {
266
+ /**
267
+ * The column configuration array matching ITTable but adapted for Server-Side processing
268
+ */
269
+ columns: Column<T>[];
270
+ /**
271
+ * Async callback that the component will trigger whenever pagination, filtering or sorting changes.
272
+ * It must return a Promise with `data` array and the `total` items matching the query.
273
+ */
274
+ fetchData: (params: ITDataTableFetchParams) => Promise<ITDataTableResponse<T>>;
275
+ /**
276
+ * The amount of milliseconds to wait after internal `filters` state changes
277
+ * before triggering `fetchData`. Helpful to avoid spamming the backend while typing.
278
+ * @default 400
279
+ */
280
+ debounceMs?: number;
281
+ /**
282
+ * Filters managed outside of the ITDataTable (e.g. a date range picker).
283
+ * These will be merged with the internal column filters before calling fetchData.
284
+ */
285
+ externalFilters?: Record<string, string | number | boolean | Date>;
286
+ /**
287
+ * Custom element to display instead of the default spinner while `isLoading` is true.
288
+ */
289
+ loadingIndicator?: ReactNode;
290
+ /**
291
+ * Re-fetches the table automatically upon mounting.
292
+ * @default true
293
+ */
294
+ fetchOnMount?: boolean;
295
+ /**
296
+ * External hook to force the component to re-fetch the current page.
297
+ * Example: trigger after a successful modal form submission.
298
+ */
299
+ reloadTrigger?: number | string | boolean;
300
+ containerClassName?: string;
301
+ className?: string;
302
+ variant?: "default" | "striped" | "bordered" | "minimal";
303
+ size?: "sm" | "md" | "lg";
304
+ itemsPerPageOptions?: number[];
305
+ defaultItemsPerPage?: number;
306
+ title?: string | ReactNode;
307
+ }
308
+
309
+ declare function ITDataTable<T extends Record<string, unknown>>({ columns, fetchData, debounceMs, externalFilters, loadingIndicator, fetchOnMount, reloadTrigger, containerClassName, className, variant, size, itemsPerPageOptions, defaultItemsPerPage, title, }: ITDataTableProps<T>): react_jsx_runtime.JSX.Element;
310
+
192
311
  interface ITDatePickerProps {
193
312
  name: string;
194
- value?: Date;
313
+ value?: Date | [Date | null, Date | null];
195
314
  onChange: (event: React.ChangeEvent<HTMLInputElement> | {
196
315
  target: {
197
316
  name: string;
198
- value: Date;
317
+ value: Date | [Date | null, Date | null];
199
318
  };
200
319
  }) => void;
201
320
  onBlur?: (event: React.FocusEvent<HTMLInputElement> | {
202
321
  target: {
203
322
  name: string;
204
- value: Date;
323
+ value: Date | [Date | null, Date | null];
205
324
  };
206
325
  }) => void;
326
+ range?: boolean;
207
327
  variant?: ColorsTypes;
208
328
  size?: SizesTypes;
209
329
  className?: string;
@@ -218,7 +338,7 @@ interface ITDatePickerProps {
218
338
  maxDate?: Date;
219
339
  }
220
340
 
221
- declare function ITDatePicker({ name, value, onChange, onBlur, variant, size, className, calendarClassName, disabled, label, touched, error, required, placeholder, minDate, maxDate, }: ITDatePickerProps): react_jsx_runtime.JSX.Element;
341
+ declare function ITDatePicker({ name, value, onChange, onBlur, variant, size, className, calendarClassName, disabled, label, touched, error, required, placeholder, minDate, maxDate, range, }: ITDatePickerProps): react_jsx_runtime.JSX.Element;
222
342
 
223
343
  interface ITDialogProps {
224
344
  isOpen: boolean;
@@ -335,6 +455,13 @@ interface ITFormBuilderProps {
335
455
 
336
456
  declare function ITFormBuilder({ fields, config, columns, values, handleChange, handleBlur, touched, errors, setFieldValue, setFieldTouched, setFieldError, isSubmitting, }: ITFormBuilderProps): react_jsx_runtime.JSX.Element;
337
457
 
458
+ declare const ITImage: ({ src, alt, className, fallbackSrc, }: {
459
+ src: any;
460
+ alt: any;
461
+ className?: string;
462
+ fallbackSrc?: string;
463
+ }) => react_jsx_runtime.JSX.Element;
464
+
338
465
  interface ITInputProps {
339
466
  name: string;
340
467
  type?: "text" | "password" | "number" | "email" | "checkbox" | "radio" | "textarea";
@@ -371,6 +498,89 @@ interface ITInputProps {
371
498
 
372
499
  declare function ITInput({ name, type, label, placeholder, value, onChange, onBlur, disabled, className, containerClassName, labelClassName, touched, error, formatNumber, required, autoFocus, onClick, iconLeft, iconRight, maxLength, minLength, checked, showHintLength, currencyFormat, rows, min, max, readOnly, focusContent }: ITInputProps): react_jsx_runtime.JSX.Element;
373
500
 
501
+ interface ITNavigationItem$1 {
502
+ id: string;
503
+ label: string;
504
+ icon?: React.ReactNode;
505
+ action?: () => void;
506
+ isActive?: boolean;
507
+ subitems?: ITNavigationSubItem$1[];
508
+ }
509
+ interface ITNavigationSubItem$1 {
510
+ id: string;
511
+ label: string;
512
+ action: () => void;
513
+ isActive?: boolean;
514
+ }
515
+ interface ITNavbarProps {
516
+ logo?: React.ReactNode;
517
+ logoText?: string;
518
+ navigationItems?: ITNavigationItem$1[];
519
+ userMenu?: {
520
+ userImage?: string;
521
+ userName: string;
522
+ userEmail: string;
523
+ menuItems: Array<{
524
+ label: string;
525
+ onClick: () => void;
526
+ }>;
527
+ };
528
+ children?: React.ReactNode;
529
+ navItems?: React.ReactNode;
530
+ showSidebar?: boolean;
531
+ showSidebarOnMobile?: boolean;
532
+ sidebarItems?: React.ReactNode;
533
+ }
534
+
535
+ declare function ITNavbar({ logo, logoText, navigationItems, userMenu, children, navItems, showSidebar, showSidebarOnMobile, sidebarItems, }: ITNavbarProps): react_jsx_runtime.JSX.Element;
536
+
537
+ interface ITPaginationProps {
538
+ /**
539
+ * Current active page (1-indexed).
540
+ */
541
+ currentPage: number;
542
+ /**
543
+ * Total number of pages available.
544
+ */
545
+ totalPages: number;
546
+ /**
547
+ * Callback fired when a page is clicked or next/prev is activated.
548
+ */
549
+ onPageChange: (page: number) => void;
550
+ /**
551
+ * Number of visible pages before and after the current page.
552
+ * Default: 1
553
+ */
554
+ siblingCount?: number;
555
+ /**
556
+ * Semantic color from the theme (primary, secondary, success, danger, warning, info, purple).
557
+ * Default: primary
558
+ */
559
+ color?: string;
560
+ /**
561
+ * Additional CSS classes for the container.
562
+ */
563
+ className?: string;
564
+ /**
565
+ * Options for items per page selector.
566
+ */
567
+ itemsPerPageOptions?: number[];
568
+ /**
569
+ * Current items per page value. Required if itemsPerPageOptions is provided.
570
+ */
571
+ itemsPerPage?: number;
572
+ /**
573
+ * Callback fired when items per page is changed.
574
+ */
575
+ onItemsPerPageChange?: (value: number) => void;
576
+ /**
577
+ * Total number of items across all pages. Used to render "1-10 of 50" text.
578
+ */
579
+ totalItems?: number;
580
+ }
581
+
582
+ declare function ITPagination({ currentPage, totalPages, onPageChange, siblingCount, color, className, itemsPerPageOptions, itemsPerPage, onItemsPerPageChange, totalItems, }: ITPaginationProps): react_jsx_runtime.JSX.Element;
583
+
374
584
  interface OptionType {
375
585
  [key: string]: string;
376
586
  }
@@ -401,6 +611,56 @@ interface ITSelectProps {
401
611
  */
402
612
  declare function ITSelect({ name, options, label, placeholder, valueField, labelField, value, onChange, onBlur, disabled, className, touched, required, error, readOnly, }: ITSelectProps): react_jsx_runtime.JSX.Element;
403
613
 
614
+ interface ITSearchSelectOption {
615
+ label: string;
616
+ value: string | number;
617
+ [key: string]: any;
618
+ }
619
+ interface ITSearchSelectProps {
620
+ /** Nombre del campo para integraciones con formularios */
621
+ name?: string;
622
+ /** Etiqueta que se muestra arriba del select */
623
+ label?: string;
624
+ /** Texto que se muestra cuando no hay nada seleccionado */
625
+ placeholder?: string;
626
+ /** Valor seleccionado */
627
+ value?: string | number;
628
+ /** Arreglo de opciones (Modo 1: Lista estática) */
629
+ options?: ITSearchSelectOption[];
630
+ /** Campo que se usará como valor (por defecto "value") */
631
+ valueField?: string;
632
+ /** Campo que se usará como etiqueta (por defecto "label") */
633
+ labelField?: string;
634
+ /** Callback cuando cambia el valor */
635
+ onChange?: (value: string | number, option?: ITSearchSelectOption) => void;
636
+ /** Callback cuando pierde el foco */
637
+ onBlur?: (e: FocusEvent<any>) => void;
638
+ /** Indica si el componente está deshabilitado */
639
+ disabled?: boolean;
640
+ /** Clase CSS adicional para el contenedor */
641
+ className?: string;
642
+ /** Indica si el campo ha sido tocado (para validaciones) */
643
+ touched?: boolean;
644
+ /** Indica si el campo es requerido */
645
+ required?: boolean;
646
+ /** Mensaje de error */
647
+ error?: string;
648
+ /** Indica si el campo es de solo lectura */
649
+ readOnly?: boolean;
650
+ /** Callback para búsqueda en servidor (Modo 2: Conexión con API) */
651
+ onSearch?: (query: string) => void;
652
+ /** Indica si se está cargando información desde la API */
653
+ isLoading?: boolean;
654
+ /** Mensaje cuando no hay resultados */
655
+ noResultsMessage?: string;
656
+ }
657
+
658
+ /**
659
+ * ITSearchSelect - Un componente de selección con buscador integrado.
660
+ * Soporta filtrado local y búsqueda remota via API.
661
+ */
662
+ declare function ITSearchSelect({ name, options, label, placeholder, valueField, labelField, value, onChange, onBlur, disabled, className, touched, required, error, readOnly, onSearch, isLoading, noResultsMessage, }: ITSearchSelectProps): react_jsx_runtime.JSX.Element;
663
+
404
664
  interface ITSlideToggleProps {
405
665
  /**
406
666
  * Callback executed when the switch is toggled. Receives the new state.
@@ -447,48 +707,12 @@ interface ITSlideToggleProps {
447
707
  declare function ITSlideToggle({ onToggle, isOn: controlledIsOn, initialState, activeColor, inactiveColor, // default gray-400
448
708
  disabled, size, className, }: ITSlideToggleProps): react_jsx_runtime.JSX.Element;
449
709
 
450
- type TableVariants = "default" | "striped" | "bordered";
451
- type TableSize = "sm" | "md" | "lg";
710
+ declare function ITTable<T extends Record<string, unknown>>({ columns, data, containerClassName, className, variant, size, itemsPerPageOptions, defaultItemsPerPage, title, }: ITTableProps<T>): react_jsx_runtime.JSX.Element;
452
711
 
453
- type ColumnType = "string" | "date" | "number" | "boolean" | "actions" | "catalog";
454
- interface CatalogOption {
455
- id: string | number;
456
- name: string;
457
- }
458
- interface Column<T = any> {
459
- key: string;
460
- label: string;
461
- className?: string;
462
- currencyMX?: boolean;
463
- actions?: (row: T) => React.ReactNode;
464
- filter?: boolean | "catalog";
465
- type: ColumnType;
466
- sortable?: boolean;
467
- render?: (row: T) => React.ReactNode;
468
- editComponent?: (props: {
469
- value: any;
470
- onChange: (value: any) => void;
471
- rowData: T;
472
- }) => React.ReactNode;
473
- catalogOptions?: {
474
- data: CatalogOption[];
475
- loading?: boolean;
476
- error?: boolean;
477
- };
478
- }
479
- interface ITTableProps<T> {
480
- columns: Column<T>[];
481
- containerClassName?: string;
482
- data: T[];
483
- variant?: TableVariants;
712
+ declare function ITText({ children, className }: {
713
+ children: any;
484
714
  className?: string;
485
- size?: TableSize;
486
- itemsPerPageOptions?: Array<number>;
487
- defaultItemsPerPage?: number;
488
- title?: string;
489
- }
490
-
491
- declare function ITTable<T extends Record<string, unknown>>({ columns, data, containerClassName, className, variant, size, itemsPerPageOptions, defaultItemsPerPage, title, }: ITTableProps<T>): react_jsx_runtime.JSX.Element;
715
+ }): react_jsx_runtime.JSX.Element;
492
716
 
493
717
  interface ITToastProps {
494
718
  message: string;
@@ -500,135 +724,37 @@ interface ITToastProps {
500
724
 
501
725
  declare function ITToast({ message, type, duration, position, onClose, }: ITToastProps): react_jsx_runtime.JSX.Element;
502
726
 
503
- interface ITNavigationItem$1 {
504
- id: string;
505
- label: string;
506
- icon?: React.ReactNode;
507
- action?: () => void;
508
- isActive?: boolean;
509
- subitems?: ITNavigationSubItem$1[];
510
- }
511
- interface ITNavigationSubItem$1 {
512
- id: string;
513
- label: string;
514
- action: () => void;
515
- isActive?: boolean;
516
- }
517
- interface ITNavbarProps {
518
- logo?: React.ReactNode;
519
- logoText?: string;
520
- navigationItems?: ITNavigationItem$1[];
521
- userMenu?: {
522
- userImage?: string;
523
- userName: string;
524
- userEmail: string;
525
- menuItems: Array<{
526
- label: string;
527
- onClick: () => void;
528
- }>;
529
- };
530
- children?: React.ReactNode;
531
- navItems?: React.ReactNode;
532
- showSidebar?: boolean;
533
- showSidebarOnMobile?: boolean;
534
- sidebarItems?: React.ReactNode;
535
- }
536
-
537
- declare function ITNavbar({ logo, logoText, navigationItems, userMenu, children, navItems, showSidebar, showSidebarOnMobile, sidebarItems, }: ITNavbarProps): react_jsx_runtime.JSX.Element;
538
-
539
- declare function ITText({ children, className }: {
540
- children: any;
541
- className?: string;
542
- }): react_jsx_runtime.JSX.Element;
543
-
544
- declare const ITImage: ({ src, alt, className, fallbackSrc, }: {
545
- src: any;
546
- alt: any;
547
- className?: string;
548
- fallbackSrc?: string;
549
- }) => react_jsx_runtime.JSX.Element;
550
-
551
- declare const badgeVariants: {
552
- readonly filled: "filled";
553
- readonly outlined: "outlined";
554
- };
555
-
556
- interface ITBadgetProps {
557
- label?: string;
558
- children?: React.ReactNode;
559
- color?: ColorsTypes;
560
- size?: SizesTypes;
561
- variant?: keyof typeof badgeVariants;
562
- className?: string;
727
+ /** Enum con tipos de archivo permitidos */
728
+ declare enum FileTypeEnum {
729
+ PDF = "application/pdf",
730
+ XLS = "application/vnd.ms-excel",
731
+ XLSX = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
732
+ CSV = "text/csv",
733
+ PNG = "image/png",
734
+ JPG = "image/jpg",
735
+ JPEG = "image/jpeg"
563
736
  }
564
-
565
- declare function ITBadget({ children, label, color, size, variant, className, }: ITBadgetProps): react_jsx_runtime.JSX.Element;
566
-
567
- interface ITPaginationProps {
568
- /**
569
- * Current active page (1-indexed).
570
- */
571
- currentPage: number;
572
- /**
573
- * Total number of pages available.
574
- */
575
- totalPages: number;
576
- /**
577
- * Callback fired when a page is clicked or next/prev is activated.
578
- */
579
- onPageChange: (page: number) => void;
580
- /**
581
- * Number of visible pages before and after the current page.
582
- * Default: 1
583
- */
584
- siblingCount?: number;
585
- /**
586
- * Semantic color from the theme (primary, secondary, success, danger, warning, info, purple).
587
- * Default: primary
588
- */
589
- color?: string;
590
- /**
591
- * Additional CSS classes for the container.
592
- */
593
- className?: string;
594
- /**
595
- * Options for items per page selector.
596
- */
597
- itemsPerPageOptions?: number[];
598
- /**
599
- * Current items per page value. Required if itemsPerPageOptions is provided.
600
- */
601
- itemsPerPage?: number;
602
- /**
603
- * Callback fired when items per page is changed.
604
- */
605
- onItemsPerPageChange?: (value: number) => void;
606
- /**
607
- * Total number of items across all pages. Used to render "1-10 of 50" text.
608
- */
609
- totalItems?: number;
737
+ /** Enum para el estado de subida */
738
+ declare enum UploadStatus {
739
+ PENDING = "pendiente",
740
+ UPLOADING = "subiendo",
741
+ UPLOADED = "subido",
742
+ ERROR = "error"
610
743
  }
611
-
612
- declare function ITPagination({ currentPage, totalPages, onPageChange, siblingCount, color, className, itemsPerPageOptions, itemsPerPage, onItemsPerPageChange, totalItems, }: ITPaginationProps): react_jsx_runtime.JSX.Element;
613
-
614
- declare const createValidationSchema: (fields: FieldConfig[]) => Yup.ObjectSchema<{
615
- [x: string]: never;
616
- }, Yup.AnyObject, {
617
- [x: string]: any;
618
- }, "">;
619
-
620
- type LoaderSize = "sm" | "md" | "lg" | "xl";
621
- type LoaderVariant = "spinner" | "dots" | "bar" | "pulse";
622
-
623
- interface LoaderProps {
624
- size?: LoaderSize;
625
- variant?: LoaderVariant;
626
- color?: string;
627
- className?: string;
744
+ /** Props del componente */
745
+ interface ITDropfileProps {
746
+ onFileSelect: (file: File | null) => void;
747
+ onCancel?: () => void;
748
+ onSubmit?: (file: File) => void;
749
+ acceptedFileTypes?: FileTypeEnum[];
750
+ contentClassName?: string;
751
+ containerClassName?: string;
752
+ showStatusBadge?: boolean;
753
+ uploadStatus?: UploadStatus;
754
+ onStatusChange?: (status: UploadStatus) => void;
755
+ initialPreviewUrl?: string | null;
628
756
  }
629
-
630
- declare function ITLoader({ size, variant, color, // Default to semantic primary
631
- className, }: LoaderProps): react_jsx_runtime.JSX.Element;
757
+ declare const ITDropfile: React__default.FC<ITDropfileProps>;
632
758
 
633
759
  interface ITTopBarNavItem {
634
760
  id: string;
@@ -682,60 +808,23 @@ interface ITLayoutProps {
682
808
  sidebar: ITSidebarProps;
683
809
  children: React.ReactNode;
684
810
  className?: string;
811
+ contentClassName?: string;
685
812
  }
686
813
 
687
- declare function ITLayout({ topBar, sidebar, children, className, }: ITLayoutProps): react_jsx_runtime.JSX.Element;
814
+ declare function ITLayout({ topBar, sidebar, children, className, contentClassName, }: ITLayoutProps): react_jsx_runtime.JSX.Element;
688
815
 
689
- interface ITTimePickerProps {
690
- name: string;
691
- value?: string;
692
- label?: string;
693
- placeholder?: string;
694
- onChange: (e: any) => void;
695
- onBlur: (e: any) => void;
696
- required?: boolean;
697
- touched?: boolean;
698
- error?: string | boolean;
699
- disabled?: boolean;
816
+ type LoaderSize = "sm" | "md" | "lg" | "xl";
817
+ type LoaderVariant = "spinner" | "dots" | "bar" | "pulse";
818
+
819
+ interface LoaderProps {
820
+ size?: LoaderSize;
821
+ variant?: LoaderVariant;
822
+ color?: string;
700
823
  className?: string;
701
- size?: "small" | "medium" | "large";
702
- variant?: "primary" | "secondary" | "danger" | "success" | "warning" | "info" | "purple";
703
- color?: "primary" | "secondary" | "danger" | "success" | "warning" | "info" | "purple" | string;
704
824
  }
705
825
 
706
- declare function ITTimePicker({ name, value, label, placeholder, onChange, onBlur, required, touched, error, disabled, className, size, variant, color, }: ITTimePickerProps): react_jsx_runtime.JSX.Element;
707
-
708
- /** Enum con tipos de archivo permitidos */
709
- declare enum FileTypeEnum {
710
- PDF = "application/pdf",
711
- XLS = "application/vnd.ms-excel",
712
- XLSX = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
713
- CSV = "text/csv",
714
- PNG = "image/png",
715
- JPG = "image/jpg",
716
- JPEG = "image/jpeg"
717
- }
718
- /** Enum para el estado de subida */
719
- declare enum UploadStatus {
720
- PENDING = "pendiente",
721
- UPLOADING = "subiendo",
722
- UPLOADED = "subido",
723
- ERROR = "error"
724
- }
725
- /** Props del componente */
726
- interface ITDropfileProps {
727
- onFileSelect: (file: File | null) => void;
728
- onCancel?: () => void;
729
- onSubmit?: (file: File) => void;
730
- acceptedFileTypes?: FileTypeEnum[];
731
- contentClassName?: string;
732
- containerClassName?: string;
733
- showStatusBadge?: boolean;
734
- uploadStatus?: UploadStatus;
735
- onStatusChange?: (status: UploadStatus) => void;
736
- initialPreviewUrl?: string | null;
737
- }
738
- declare const ITDropfile: React__default.FC<ITDropfileProps>;
826
+ declare function ITLoader({ size, variant, color, // Default to semantic primary
827
+ className, }: LoaderProps): react_jsx_runtime.JSX.Element;
739
828
 
740
829
  type IconType = React__default.ReactNode;
741
830
  interface Step {
@@ -792,6 +881,71 @@ interface ITThemeConfig {
792
881
  backgroundColor?: string;
793
882
  contentPadding?: string;
794
883
  };
884
+ topbar?: {
885
+ backgroundColor?: string;
886
+ borderColor?: string;
887
+ iconColor?: string;
888
+ iconHoverColor?: string;
889
+ shadow?: string;
890
+ textColor?: string;
891
+ textHoverColor?: string;
892
+ userMenu?: {
893
+ backgroundColor?: string;
894
+ hoverBackground?: string;
895
+ textColor?: string;
896
+ subtitleColor?: string;
897
+ dropdown?: {
898
+ backgroundColor?: string;
899
+ borderColor?: string;
900
+ itemHoverBackground?: string;
901
+ };
902
+ };
903
+ };
904
+ sidebar?: {
905
+ backgroundColor?: string;
906
+ borderColor?: string;
907
+ label?: {
908
+ color?: string;
909
+ size?: string;
910
+ weight?: string;
911
+ };
912
+ icon?: {
913
+ color?: string;
914
+ size?: string;
915
+ };
916
+ hover?: {
917
+ backgroundColor?: string;
918
+ };
919
+ active?: {
920
+ backgroundColor?: string;
921
+ color?: string;
922
+ iconColor?: string;
923
+ };
924
+ badge?: {
925
+ backgroundColor?: string;
926
+ color?: string;
927
+ };
928
+ };
929
+ calendar?: {
930
+ backgroundColor?: string;
931
+ borderColor?: string;
932
+ header?: {
933
+ textColor?: string;
934
+ hoverBackground?: string;
935
+ };
936
+ days?: {
937
+ textColor?: string;
938
+ weekendColor?: string;
939
+ outsideMonthColor?: string;
940
+ };
941
+ selection?: {
942
+ selectedColor?: string;
943
+ selectedBackground?: string;
944
+ rangeBackground?: string;
945
+ todayBackground?: string;
946
+ todayColor?: string;
947
+ };
948
+ };
795
949
  }
796
950
 
797
951
  interface ITThemeProviderProps {
@@ -801,4 +955,29 @@ interface ITThemeProviderProps {
801
955
 
802
956
  declare function ITThemeProvider({ theme, children }: ITThemeProviderProps): react_jsx_runtime.JSX.Element;
803
957
 
804
- export { type Column, type FieldConfig, type FieldConfigV2, ITBadget, type ITBadgetProps, ITButton, type ITButtonProps, ITCalendar, type ITCalendarProps, ITCard, type ITCardProps, ITDatePicker, type ITDatePickerProps, ITDialog, type ITDialogProps, ITDropfile, ITFormBuilder, type ITFormBuilderProps, ITImage, ITInput, type ITInputProps, ITLayout, type ITLayoutProps, ITLoader, ITNavbar, type ITNavbarProps, ITPagination, ITSelect, type ITSelectProps, ITSlideToggle, type ITSlideToggleProps, ITStepper, ITTable, type ITTableProps, ITText, type ITThemeConfig, ITThemeProvider, type ITThemeProviderProps, ITTimePicker, type ITTimePickerProps, ITToast, type ITToastProps, createValidationSchema };
958
+ interface ITTimePickerProps {
959
+ name: string;
960
+ value?: string;
961
+ label?: string;
962
+ placeholder?: string;
963
+ onChange: (e: any) => void;
964
+ onBlur: (e: any) => void;
965
+ required?: boolean;
966
+ touched?: boolean;
967
+ error?: string | boolean;
968
+ disabled?: boolean;
969
+ className?: string;
970
+ size?: "small" | "medium" | "large";
971
+ variant?: "primary" | "secondary" | "danger" | "success" | "warning" | "info" | "purple";
972
+ color?: "primary" | "secondary" | "danger" | "success" | "warning" | "info" | "purple" | string;
973
+ }
974
+
975
+ declare function ITTimePicker({ name, value, label, placeholder, onChange, onBlur, required, touched, error, disabled, className, size, variant, color, }: ITTimePickerProps): react_jsx_runtime.JSX.Element;
976
+
977
+ declare const createValidationSchema: (fields: FieldConfig[]) => Yup.ObjectSchema<{
978
+ [x: string]: never;
979
+ }, Yup.AnyObject, {
980
+ [x: string]: any;
981
+ }, "">;
982
+
983
+ export { type Column, type FieldConfig, type FieldConfigV2, ITBadget, type ITBadgetProps, ITButton, type ITButtonProps, ITCalendar, type ITCalendarProps, ITCard, type ITCardProps, ITDataTable, type ITDataTableFetchParams, type ITDataTableProps, type ITDataTableResponse, ITDatePicker, type ITDatePickerProps, ITDialog, type ITDialogProps, ITDropfile, ITFormBuilder, type ITFormBuilderProps, ITImage, ITInput, type ITInputProps, ITLayout, type ITLayoutProps, ITLoader, ITNavbar, type ITNavbarProps, ITPagination, ITSearchSelect, type ITSearchSelectProps, ITSelect, type ITSelectProps, ITSlideToggle, type ITSlideToggleProps, ITStepper, ITTable, type ITTableProps, ITText, type ITThemeConfig, ITThemeProvider, type ITThemeProviderProps, ITTimePicker, type ITTimePickerProps, ITToast, type ITToastProps, createValidationSchema };