@axzydev/axzy_ui_system 1.1.0 → 1.1.1

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,7 +1,155 @@
1
+ import * as Yup from 'yup';
1
2
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
3
  import * as React$1 from 'react';
3
- import React__default, { ReactNode, FocusEvent } from 'react';
4
- import * as Yup from 'yup';
4
+ import React__default, { ReactNode, CSSProperties, ElementType, FocusEvent, HTMLAttributes } from 'react';
5
+
6
+ declare const useClickOutside: (ref: React.RefObject<HTMLElement>, callback: () => void) => void;
7
+
8
+ interface UseDebouncedSearchOptions {
9
+ initialValue?: string;
10
+ debounceMs?: number;
11
+ onSearch: (value: string) => void;
12
+ }
13
+ interface UseDebouncedSearchResult {
14
+ searchTerm: string;
15
+ setSearchTerm: (value: string) => void;
16
+ handleSearchChange: (value: string) => void;
17
+ handleClearSearch: () => void;
18
+ }
19
+ declare function useDebouncedSearch({ initialValue, debounceMs, onSearch, }: UseDebouncedSearchOptions): UseDebouncedSearchResult;
20
+
21
+ type TableVariants = "default" | "striped" | "bordered";
22
+ type TableSize = "sm" | "md" | "lg";
23
+
24
+ interface SearchColumn<T = any> {
25
+ key: string;
26
+ label: string;
27
+ type: "string" | "number" | "boolean" | "date" | "actions" | "catalog";
28
+ filter?: boolean | 'catalog';
29
+ sortable?: boolean;
30
+ editable?: boolean;
31
+ inputType?: "text" | "number" | "select" | "checkbox" | "date";
32
+ options?: {
33
+ value: string | number;
34
+ label: string;
35
+ }[];
36
+ validation?: (value: any, row?: any) => string | undefined;
37
+ className?: string;
38
+ currencyMX?: boolean;
39
+ catalogOptions?: {
40
+ data: Array<{
41
+ id: string | number;
42
+ name: string;
43
+ }> | any[];
44
+ key?: string;
45
+ label?: string;
46
+ };
47
+ render?: (row: T) => React.ReactNode;
48
+ actions?: (row: T, helpers: {
49
+ onEdit: (row: T) => void;
50
+ }) => React.ReactNode;
51
+ saveActions?: (row: T, helpers: {
52
+ onSave: (row: T) => void;
53
+ onCancel: () => void;
54
+ hasErrors: any;
55
+ }) => React.ReactNode;
56
+ }
57
+ interface ITSearchTableProps<T> {
58
+ columns: SearchColumn<T>[];
59
+ containerClassName?: string;
60
+ searchInputPlaceholder?: string;
61
+ data: T[];
62
+ variant?: TableVariants;
63
+ className?: string;
64
+ size?: TableSize;
65
+ itemsPerPageOptions?: Array<number>;
66
+ defaultItemsPerPage?: number;
67
+ validationSchema?: Yup.ObjectSchema<any>;
68
+ title?: string;
69
+ pageIndex: number;
70
+ totalCount: number;
71
+ totalPages: number;
72
+ hasPreviousPage: boolean;
73
+ hasNextPage: boolean;
74
+ onPageChange?: (page: number) => void;
75
+ onItemsPerPageChange?: (itemsPerPage: number) => void;
76
+ onSortChange?: (sortConfig: {
77
+ key: string;
78
+ direction: "asc" | "desc";
79
+ }) => void;
80
+ onFilterChange?: (filters: Record<string, string | boolean | number>) => void;
81
+ }
82
+
83
+ interface UseEditableRowOptions<T> {
84
+ row: T;
85
+ columns: SearchColumn<T>[];
86
+ getNestedValue: (obj: unknown, path: string) => unknown;
87
+ validationSchema?: Yup.ObjectSchema<any>;
88
+ }
89
+ interface UseEditableRowResult<T> {
90
+ editedRow: T;
91
+ errors: Record<string, string>;
92
+ isHovered: boolean;
93
+ setIsHovered: (v: boolean) => void;
94
+ hasErrors: boolean;
95
+ handleEdit: (onEdit?: (row: T) => void) => Promise<void>;
96
+ handleSave: (onSave?: (row: T) => void) => Promise<void>;
97
+ handleCancel: (onCancel?: () => void) => void;
98
+ handleChange: (key: string, value: any) => Promise<void>;
99
+ reset: () => void;
100
+ }
101
+ declare function useEditableRow<T>({ row, columns, getNestedValue, validationSchema, }: UseEditableRowOptions<T>): UseEditableRowResult<T>;
102
+
103
+ interface SortConfig {
104
+ key: string;
105
+ direction: "asc" | "desc";
106
+ }
107
+ interface UseTableStateOptions {
108
+ defaultItemsPerPage?: number;
109
+ initialSort?: SortConfig | null;
110
+ }
111
+ interface UseTableStateResult {
112
+ currentPage: number;
113
+ itemsPerPage: number;
114
+ filters: Record<string, string | boolean | number>;
115
+ sortConfig: SortConfig | null;
116
+ totalPages: number;
117
+ setTotalPages: (pages: number) => void;
118
+ goToPage: (page: number) => void;
119
+ handleItemsPerPageChange: (value: number) => void;
120
+ handleFilterChange: (key: string, value: string | boolean | number | undefined) => void;
121
+ handleSort: (key: string, sortable?: boolean) => void;
122
+ resetPage: () => void;
123
+ clearFilters: () => void;
124
+ }
125
+ declare function useTableState({ defaultItemsPerPage, initialSort, }?: UseTableStateOptions): UseTableStateResult;
126
+
127
+ type AlertVariant = "info" | "success" | "warning" | "error";
128
+ interface ITAlertProps {
129
+ variant?: AlertVariant;
130
+ title?: string;
131
+ children?: ReactNode;
132
+ dismissible?: boolean;
133
+ onDismiss?: () => void;
134
+ icon?: ReactNode;
135
+ className?: string;
136
+ }
137
+
138
+ declare function ITAlert({ variant, title, children, dismissible, onDismiss, icon, className, }: ITAlertProps): react_jsx_runtime.JSX.Element;
139
+
140
+ type AvatarSize = "xs" | "sm" | "md" | "lg" | "xl";
141
+ interface ITAvatarProps {
142
+ src?: string;
143
+ alt?: string;
144
+ initials?: string;
145
+ size?: AvatarSize;
146
+ color?: string;
147
+ className?: string;
148
+ badge?: ReactNode;
149
+ onClick?: () => void;
150
+ }
151
+
152
+ declare function ITAvatar({ src, alt, initials, size, color, className, badge, onClick, }: ITAvatarProps): react_jsx_runtime.JSX.Element;
5
153
 
6
154
  declare const semanticColors: {
7
155
  primary: {
@@ -143,11 +291,25 @@ interface ITBadgetProps {
143
291
 
144
292
  declare function ITBadget({ children, label, color, size, variant, className, }: ITBadgetProps): react_jsx_runtime.JSX.Element;
145
293
 
294
+ interface ITBreadcrumbItem {
295
+ label: string;
296
+ href?: string;
297
+ onClick?: () => void;
298
+ }
299
+ interface ITBreadcrumbsProps {
300
+ items: ITBreadcrumbItem[];
301
+ separator?: ReactNode;
302
+ className?: string;
303
+ }
304
+
305
+ declare function ITBreadcrumbs({ items, separator, className, }: ITBreadcrumbsProps): react_jsx_runtime.JSX.Element;
306
+
146
307
  declare const buttonVariants: Record<string, string>;
147
308
 
148
309
  interface ITButtonProps {
149
310
  label?: string;
150
311
  children?: React.ReactNode;
312
+ icon?: React.ReactNode;
151
313
  onClick?: () => void;
152
314
  color?: ColorsTypes;
153
315
  size?: SizesTypes;
@@ -159,7 +321,7 @@ interface ITButtonProps {
159
321
  title?: string;
160
322
  }
161
323
 
162
- declare function ITButton({ children, label, onClick, type, color, size, disabled, className, variant, ariaLabel, title, }: ITButtonProps): react_jsx_runtime.JSX.Element;
324
+ declare function ITButton({ children, label, icon, onClick, type, color, size, disabled, className, variant, ariaLabel, title, }: ITButtonProps): react_jsx_runtime.JSX.Element;
163
325
 
164
326
  interface CalendarEvent {
165
327
  id: string;
@@ -204,13 +366,33 @@ interface ITCardProps {
204
366
  actionClassName?: string;
205
367
  }
206
368
 
207
- /**
208
- * Componente de tarjeta (Card) personalizable.
209
- */
210
369
  declare function ITCard({ title, image, alt, children, actions, className, imageClassName, titleClassName, contentClassName, actionClassName, onClick, }: ITCardProps): react_jsx_runtime.JSX.Element;
211
370
 
212
- type TableVariants = "default" | "striped" | "bordered";
213
- type TableSize = "sm" | "md" | "lg";
371
+ interface ITCheckboxProps {
372
+ checked?: boolean;
373
+ onChange?: (checked: boolean) => void;
374
+ label?: ReactNode;
375
+ disabled?: boolean;
376
+ indeterminate?: boolean;
377
+ className?: string;
378
+ name?: string;
379
+ }
380
+
381
+ declare function ITCheckbox({ checked, onChange, label, disabled, indeterminate, className, name, }: ITCheckboxProps): react_jsx_runtime.JSX.Element;
382
+
383
+ interface ITConfirmDialogProps {
384
+ isOpen: boolean;
385
+ onClose: () => void;
386
+ onConfirm: () => void;
387
+ title?: string;
388
+ message?: ReactNode;
389
+ confirmLabel?: string;
390
+ cancelLabel?: string;
391
+ variant?: ColorsTypes;
392
+ loading?: boolean;
393
+ }
394
+
395
+ declare function ITConfirmDialog({ isOpen, onClose, onConfirm, title, message, confirmLabel, cancelLabel, variant, loading, }: ITConfirmDialogProps): react_jsx_runtime.JSX.Element;
214
396
 
215
397
  type ColumnType = "string" | "date" | "number" | "boolean" | "actions" | "catalog";
216
398
  interface CatalogOption {
@@ -348,9 +530,66 @@ interface ITDialogProps {
348
530
  className?: string;
349
531
  title?: string;
350
532
  useFormHeader?: boolean;
533
+ fullScreen?: boolean;
534
+ }
535
+
536
+ declare function ITDialog({ isOpen, onClose, children, className, title, useFormHeader, fullScreen, }: ITDialogProps): React$1.ReactPortal;
537
+
538
+ type DividerOrientation = "horizontal" | "vertical";
539
+ interface ITDividerProps {
540
+ orientation?: DividerOrientation;
541
+ className?: string;
542
+ color?: string;
543
+ thickness?: string;
544
+ }
545
+
546
+ declare function ITDivider({ orientation, className, color, thickness, }: ITDividerProps): react_jsx_runtime.JSX.Element;
547
+
548
+ type DrawerPosition = "left" | "right";
549
+ interface ITDrawerProps {
550
+ isOpen: boolean;
551
+ onClose: () => void;
552
+ position?: DrawerPosition;
553
+ size?: string;
554
+ title?: ReactNode;
555
+ children?: ReactNode;
556
+ className?: string;
557
+ style?: CSSProperties;
351
558
  }
352
559
 
353
- declare function ITDialog({ isOpen, onClose, children, className, title, useFormHeader, }: ITDialogProps): React$1.ReactPortal;
560
+ declare function ITDrawer({ isOpen, onClose, position, size, title, children, className, style, }: ITDrawerProps): react_jsx_runtime.JSX.Element;
561
+
562
+ interface ITEmptyStateProps {
563
+ icon?: ReactNode;
564
+ title: string;
565
+ description?: string;
566
+ action?: ReactNode;
567
+ className?: string;
568
+ }
569
+
570
+ declare function ITEmptyState({ icon, title, description, action, className, }: ITEmptyStateProps): react_jsx_runtime.JSX.Element;
571
+
572
+ type FlexDirection = "row" | "column" | "row-reverse" | "column-reverse";
573
+ type FlexAlign = "start" | "end" | "center" | "stretch" | "baseline";
574
+ type FlexJustify = "start" | "end" | "center" | "between" | "around" | "evenly";
575
+ type FlexWrap = "nowrap" | "wrap" | "wrap-reverse";
576
+ interface ITFlexProps {
577
+ children?: ReactNode;
578
+ direction?: FlexDirection;
579
+ align?: FlexAlign;
580
+ justify?: FlexJustify;
581
+ wrap?: FlexWrap;
582
+ gap?: number;
583
+ grow?: boolean | number;
584
+ shrink?: boolean | number;
585
+ basis?: string | number;
586
+ className?: string;
587
+ style?: CSSProperties;
588
+ as?: ElementType;
589
+ onClick?: (e: React.MouseEvent) => void;
590
+ }
591
+
592
+ declare function ITFlex({ children, direction, align, justify, wrap, gap, grow, shrink, basis, className, style, as: Component, onClick, }: ITFlexProps): react_jsx_runtime.JSX.Element;
354
593
 
355
594
  interface FieldConfig {
356
595
  name: string;
@@ -456,12 +695,41 @@ interface ITFormBuilderProps {
456
695
 
457
696
  declare function ITFormBuilder({ fields, config, columns, values, handleChange, handleBlur, touched, errors, setFieldValue, setFieldTouched, setFieldError, isSubmitting, }: ITFormBuilderProps): react_jsx_runtime.JSX.Element;
458
697
 
459
- declare const ITImage: ({ src, alt, className, fallbackSrc, }: {
460
- src: any;
461
- alt: any;
698
+ interface ITFormHeaderProps {
699
+ title: string;
700
+ onClose?: () => void;
701
+ className?: string;
702
+ }
703
+
704
+ declare function ITFormHeader({ title, onClose, className, }: ITFormHeaderProps): react_jsx_runtime.JSX.Element;
705
+
706
+ interface ITGridProps {
707
+ children?: ReactNode;
708
+ container?: boolean;
709
+ item?: boolean;
710
+ spacing?: number;
711
+ columns?: number;
712
+ xs?: number;
713
+ sm?: number;
714
+ md?: number;
715
+ lg?: number;
716
+ xl?: number;
717
+ className?: string;
718
+ style?: CSSProperties;
719
+ as?: ElementType;
720
+ }
721
+
722
+ declare function ITGrid({ children, container, item, spacing, columns, xs, sm, md, lg, xl, className, style, as: Component, }: ITGridProps): react_jsx_runtime.JSX.Element;
723
+
724
+ interface ITImageProps {
725
+ src: string;
726
+ alt?: string;
462
727
  className?: string;
463
- fallbackSrc?: string;
464
- }) => react_jsx_runtime.JSX.Element;
728
+ fallback?: string;
729
+ onClick?: () => void;
730
+ }
731
+
732
+ declare const ITImage: ({ src, alt, className, fallback, }: ITImageProps) => react_jsx_runtime.JSX.Element;
465
733
 
466
734
  interface ITInputProps {
467
735
  name: string;
@@ -472,6 +740,7 @@ interface ITInputProps {
472
740
  value?: any;
473
741
  onChange: (event: any) => void;
474
742
  onBlur?: (event: React.FocusEvent<HTMLInputElement> | React.FocusEvent<HTMLTextAreaElement, Element>) => void;
743
+ onKeyDown?: (event: React.KeyboardEvent) => void;
475
744
  showHintLength?: boolean;
476
745
  maxLength?: number;
477
746
  minLength?: number;
@@ -497,7 +766,7 @@ interface ITInputProps {
497
766
  readOnly?: boolean;
498
767
  }
499
768
 
500
- 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;
769
+ declare function ITInput({ name, type, label, placeholder, value, onChange, onBlur, disabled, className, containerClassName, labelClassName, touched, error, formatNumber, required, autoFocus, onClick, onKeyDown, iconLeft, iconRight, maxLength, minLength, checked, showHintLength, currencyFormat, rows, min, max, readOnly, focusContent }: ITInputProps): react_jsx_runtime.JSX.Element;
501
770
 
502
771
  interface ITNavigationItem$1 {
503
772
  id: string;
@@ -535,6 +804,36 @@ interface ITNavbarProps {
535
804
 
536
805
  declare function ITNavbar({ logo, logoText, navigationItems, userMenu, children, navItems, showSidebar, showSidebarOnMobile, sidebarItems, }: ITNavbarProps): react_jsx_runtime.JSX.Element;
537
806
 
807
+ interface ITPageProps {
808
+ title?: string;
809
+ description?: string;
810
+ breadcrumbs?: ITBreadcrumbItem[];
811
+ actions?: ReactNode;
812
+ backAction?: () => void;
813
+ loading?: boolean;
814
+ error?: string | null;
815
+ onRetry?: () => void;
816
+ empty?: boolean;
817
+ emptyTitle?: string;
818
+ emptyDescription?: string;
819
+ emptyAction?: ReactNode;
820
+ className?: string;
821
+ children: ReactNode;
822
+ }
823
+
824
+ declare function ITPage({ title, description, breadcrumbs, actions, backAction, loading, error, onRetry, empty, emptyTitle, emptyDescription, emptyAction, className, children, }: ITPageProps): react_jsx_runtime.JSX.Element;
825
+
826
+ interface ITPageHeaderProps {
827
+ title: string;
828
+ description?: string;
829
+ breadcrumbs?: ITBreadcrumbItem[];
830
+ actions?: ReactNode;
831
+ backAction?: () => void;
832
+ className?: string;
833
+ }
834
+
835
+ declare function ITPageHeader({ title, description, breadcrumbs, actions, backAction, className, }: ITPageHeaderProps): react_jsx_runtime.JSX.Element;
836
+
538
837
  interface ITPaginationProps {
539
838
  /**
540
839
  * Current active page (1-indexed).
@@ -582,35 +881,45 @@ interface ITPaginationProps {
582
881
 
583
882
  declare function ITPagination({ currentPage, totalPages, onPageChange, siblingCount, color, className, itemsPerPageOptions, itemsPerPage, onItemsPerPageChange, totalItems, }: ITPaginationProps): react_jsx_runtime.JSX.Element;
584
883
 
585
- interface OptionType {
586
- [key: string]: string;
884
+ type PopoverPosition = "top" | "bottom" | "left" | "right";
885
+ interface ITPopoverProps {
886
+ trigger: ReactNode;
887
+ children: ReactNode;
888
+ position?: PopoverPosition;
889
+ isOpen?: boolean;
890
+ onClose?: () => void;
891
+ className?: string;
587
892
  }
588
- interface ITSelectProps {
893
+
894
+ declare function ITPopover({ trigger, children, position, isOpen: controlledOpen, onClose, className, }: ITPopoverProps): react_jsx_runtime.JSX.Element;
895
+
896
+ interface ITProgressProps {
897
+ value?: number;
898
+ max?: number;
899
+ variant?: "determinate" | "indeterminate";
900
+ color?: ColorsTypes;
901
+ size?: "sm" | "md" | "lg";
902
+ className?: string;
903
+ style?: CSSProperties;
904
+ }
905
+
906
+ declare function ITProgress({ value, max, variant, color, size, className, style, }: ITProgressProps): react_jsx_runtime.JSX.Element;
907
+
908
+ interface ITRadioOption {
909
+ value: string;
910
+ label: ReactNode;
911
+ }
912
+ interface ITRadioGroupProps {
589
913
  name: string;
590
- options: OptionType[];
591
- valueField?: string;
592
- labelField?: string;
593
- label?: string;
594
- placeholder?: string;
595
- value?: string;
596
- onChange?: (event: React.ChangeEvent<HTMLSelectElement>) => void;
597
- onBlur?: (event: React.FocusEvent<HTMLSelectElement>) => void;
598
- variant?: ColorsTypes;
599
- size?: SizesTypes;
914
+ value: string;
915
+ onChange: (value: string) => void;
916
+ options: ITRadioOption[];
600
917
  disabled?: boolean;
918
+ direction?: "row" | "column";
601
919
  className?: string;
602
- touched?: boolean;
603
- error?: string | boolean;
604
- required?: boolean;
605
- autoFocus?: boolean;
606
- readOnly?: boolean;
607
920
  }
608
921
 
609
- /**
610
- * Componente de selección (select) con soporte para opciones personalizadas, validación y personalización de estilo.
611
- * Matches styles of ITInput.
612
- */
613
- declare function ITSelect({ name, options, label, placeholder, valueField, labelField, value, onChange, onBlur, disabled, className, touched, required, error, readOnly, }: ITSelectProps): react_jsx_runtime.JSX.Element;
922
+ declare function ITRadioGroup({ name, value, onChange, options, disabled, direction, className, }: ITRadioGroupProps): react_jsx_runtime.JSX.Element;
614
923
 
615
924
  interface ITSearchSelectOption {
616
925
  label: string;
@@ -662,6 +971,107 @@ interface ITSearchSelectProps {
662
971
  */
663
972
  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;
664
973
 
974
+ interface OptionType {
975
+ [key: string]: string;
976
+ }
977
+ interface ITSelectProps {
978
+ name: string;
979
+ options: OptionType[];
980
+ valueField?: string;
981
+ labelField?: string;
982
+ label?: string;
983
+ placeholder?: string;
984
+ value?: string;
985
+ onChange?: (event: React.ChangeEvent<HTMLSelectElement>) => void;
986
+ onBlur?: (event: React.FocusEvent<HTMLSelectElement>) => void;
987
+ variant?: ColorsTypes;
988
+ size?: SizesTypes;
989
+ disabled?: boolean;
990
+ className?: string;
991
+ touched?: boolean;
992
+ error?: string | boolean;
993
+ required?: boolean;
994
+ autoFocus?: boolean;
995
+ readOnly?: boolean;
996
+ }
997
+
998
+ /**
999
+ * Componente de selección (select) con soporte para opciones personalizadas, validación y personalización de estilo.
1000
+ * Matches styles of ITInput.
1001
+ */
1002
+ declare function ITSelect({ name, options, label, placeholder, valueField, labelField, value, onChange, onBlur, disabled, className, touched, required, error, readOnly, }: ITSelectProps): react_jsx_runtime.JSX.Element;
1003
+
1004
+ interface CustomITSearchTableProps<T> extends ITSearchTableProps<T> {
1005
+ editingRow?: number | null;
1006
+ searchTermInitial?: string;
1007
+ onClearSearch?: () => void;
1008
+ onEdit?: (row: T, index: number) => void;
1009
+ onSave?: (row: T, index: number) => void;
1010
+ onCancel?: () => void;
1011
+ sortConfig?: {
1012
+ key: string;
1013
+ direction: "asc" | "desc";
1014
+ };
1015
+ }
1016
+ declare function ITSearchTable<T extends Record<string, unknown>>({ columns, data, containerClassName, searchTermInitial, searchInputPlaceholder, className, variant, size, itemsPerPageOptions, defaultItemsPerPage, title, pageIndex, totalCount, totalPages, hasPreviousPage, hasNextPage, onPageChange, onItemsPerPageChange, onSortChange, onFilterChange, sortConfig, editingRow, validationSchema, onClearSearch, onEdit, onSave, onCancel, }: CustomITSearchTableProps<T>): react_jsx_runtime.JSX.Element;
1017
+
1018
+ type SegmentedControlSize = "sm" | "md";
1019
+ interface ISegmentedOption {
1020
+ value: string;
1021
+ label: string;
1022
+ icon?: ReactNode;
1023
+ }
1024
+ interface ITSegmentedControlProps {
1025
+ options: ISegmentedOption[];
1026
+ value: string;
1027
+ onChange: (value: string) => void;
1028
+ size?: SegmentedControlSize;
1029
+ className?: string;
1030
+ disabled?: boolean;
1031
+ }
1032
+
1033
+ declare function ITSegmentedControl({ options, value, onChange, size, className, disabled, }: ITSegmentedControlProps): react_jsx_runtime.JSX.Element;
1034
+
1035
+ interface ITNavigationSubItem {
1036
+ id: string;
1037
+ label: string;
1038
+ action?: () => void;
1039
+ isActive?: boolean;
1040
+ }
1041
+ interface ITNavigationItem {
1042
+ id: string;
1043
+ label: string;
1044
+ icon?: React.ReactNode;
1045
+ action?: () => void;
1046
+ isActive?: boolean;
1047
+ subitems?: ITNavigationSubItem[];
1048
+ badge?: string;
1049
+ }
1050
+ interface ITSidebarProps {
1051
+ navigationItems: ITNavigationItem[];
1052
+ isCollapsed?: boolean;
1053
+ onToggleCollapse?: () => void;
1054
+ visibleOnMobile?: boolean;
1055
+ onItemClick?: (item: ITNavigationItem) => void;
1056
+ onSubItemClick?: (subitem: ITNavigationSubItem) => void;
1057
+ subitemConnector?: 'dot' | '|' | 'none';
1058
+ className?: string;
1059
+ }
1060
+
1061
+ declare function ITSidebar({ navigationItems, isCollapsed, onToggleCollapse, className, visibleOnMobile, onItemClick, onSubItemClick, subitemConnector, }: ITSidebarProps): react_jsx_runtime.JSX.Element;
1062
+
1063
+ type SkeletonVariant = "text" | "circular" | "rectangular";
1064
+ interface ITSkeletonProps {
1065
+ variant?: SkeletonVariant;
1066
+ width?: string | number;
1067
+ height?: string | number;
1068
+ count?: number;
1069
+ className?: string;
1070
+ style?: CSSProperties;
1071
+ }
1072
+
1073
+ declare function ITSkeleton({ variant, width, height, count, className, style, }: ITSkeletonProps): react_jsx_runtime.JSX.Element;
1074
+
665
1075
  interface ITSlideToggleProps {
666
1076
  /**
667
1077
  * Callback executed when the switch is toggled. Receives the new state.
@@ -708,13 +1118,82 @@ interface ITSlideToggleProps {
708
1118
  declare function ITSlideToggle({ onToggle, isOn: controlledIsOn, initialState, activeColor, inactiveColor, // default gray-400
709
1119
  disabled, size, className, }: ITSlideToggleProps): react_jsx_runtime.JSX.Element;
710
1120
 
1121
+ interface ITSliderProps {
1122
+ value: number;
1123
+ onChange: (value: number) => void;
1124
+ min?: number;
1125
+ max?: number;
1126
+ step?: number;
1127
+ label?: string;
1128
+ disabled?: boolean;
1129
+ className?: string;
1130
+ }
1131
+
1132
+ declare function ITSlider({ value, onChange, min, max, step, label, disabled, className, }: ITSliderProps): react_jsx_runtime.JSX.Element;
1133
+
1134
+ type StackDirection = "row" | "column" | "row-reverse" | "column-reverse";
1135
+ type StackAlignment = "start" | "end" | "center" | "stretch" | "baseline";
1136
+ type StackJustify = "start" | "end" | "center" | "between" | "around" | "evenly";
1137
+ type StackWrap = "nowrap" | "wrap" | "wrap-reverse";
1138
+ interface ITStackProps {
1139
+ children?: ReactNode;
1140
+ direction?: StackDirection;
1141
+ spacing?: number;
1142
+ alignItems?: StackAlignment;
1143
+ justifyContent?: StackJustify;
1144
+ flexWrap?: StackWrap;
1145
+ divider?: ReactNode;
1146
+ className?: string;
1147
+ style?: CSSProperties;
1148
+ as?: ElementType;
1149
+ }
1150
+
1151
+ declare function ITStack({ children, direction, spacing, alignItems, justifyContent, flexWrap, divider, className, style, as: Component, }: ITStackProps): react_jsx_runtime.JSX.Element;
1152
+
1153
+ interface ITStatCardProps {
1154
+ label: string;
1155
+ value: string | number;
1156
+ trend?: string;
1157
+ trendDirection?: "up" | "down" | "neutral";
1158
+ icon?: ReactNode;
1159
+ color?: string;
1160
+ className?: string;
1161
+ style?: CSSProperties;
1162
+ onClick?: () => void;
1163
+ }
1164
+
1165
+ declare function ITStatCard({ label, value, trend, trendDirection, icon, color, className, style, onClick, }: ITStatCardProps): react_jsx_runtime.JSX.Element;
1166
+
711
1167
  declare function ITTable<T extends Record<string, unknown>>({ columns, data, containerClassName, className, variant, size, itemsPerPageOptions, defaultItemsPerPage, title, }: ITTableProps<T>): react_jsx_runtime.JSX.Element;
712
1168
 
713
- declare function ITText({ children, className }: {
714
- children: any;
1169
+ interface ITTextProps extends HTMLAttributes<HTMLElement> {
1170
+ children?: ReactNode;
715
1171
  className?: string;
1172
+ as?: ElementType;
1173
+ muted?: boolean;
1174
+ htmlFor?: string;
1175
+ }
1176
+
1177
+ declare function ITText({ children, as: Tag, className, muted, style, ...rest }: ITTextProps & {
1178
+ style?: React.CSSProperties;
716
1179
  }): react_jsx_runtime.JSX.Element;
717
1180
 
1181
+ interface ITTextareaProps {
1182
+ value?: string;
1183
+ onChange?: (value: string) => void;
1184
+ label?: string;
1185
+ placeholder?: string;
1186
+ rows?: number;
1187
+ disabled?: boolean;
1188
+ error?: string;
1189
+ className?: string;
1190
+ name?: string;
1191
+ maxLength?: number;
1192
+ resize?: "none" | "vertical" | "horizontal" | "both";
1193
+ }
1194
+
1195
+ declare function ITTextarea({ value, onChange, label, placeholder, rows, disabled, error, className, name, maxLength, resize, }: ITTextareaProps): react_jsx_runtime.JSX.Element;
1196
+
718
1197
  interface ITTabItem {
719
1198
  id: string;
720
1199
  label: string;
@@ -741,13 +1220,14 @@ interface ITTripleFilterProps<T> {
741
1220
  value: T;
742
1221
  onChange: (value: T) => void;
743
1222
  options: ITTripleFilterOption<T>[];
1223
+ color?: ColorsTypes;
744
1224
  className?: string;
745
1225
  }
746
1226
 
747
1227
  /**
748
- * @description Generic triple/segmented filter component following AXZY Emerald/Slate theme.
1228
+ * @description Generic triple/segmented filter component with color support.
749
1229
  */
750
- declare const ITTripleFilter: <T extends string | boolean>({ value, onChange, options, className, }: ITTripleFilterProps<T>) => react_jsx_runtime.JSX.Element;
1230
+ declare const ITTripleFilter: <T extends string | boolean>({ value, onChange, options, color, className, }: ITTripleFilterProps<T>) => react_jsx_runtime.JSX.Element;
751
1231
 
752
1232
  interface ITToastProps {
753
1233
  message: string;
@@ -815,32 +1295,6 @@ interface ITTopBarProps {
815
1295
  onToggleMobileMenu?: () => void;
816
1296
  }
817
1297
 
818
- interface ITNavigationSubItem {
819
- id: string;
820
- label: string;
821
- action?: () => void;
822
- isActive?: boolean;
823
- }
824
- interface ITNavigationItem {
825
- id: string;
826
- label: string;
827
- icon?: React.ReactNode;
828
- action?: () => void;
829
- isActive?: boolean;
830
- subitems?: ITNavigationSubItem[];
831
- badge?: string;
832
- }
833
- interface ITSidebarProps {
834
- navigationItems: ITNavigationItem[];
835
- isCollapsed?: boolean;
836
- onToggleCollapse?: () => void;
837
- visibleOnMobile?: boolean;
838
- onItemClick?: (item: ITNavigationItem) => void;
839
- onSubItemClick?: (subitem: ITNavigationSubItem) => void;
840
- subitemConnector?: 'lines' | 'dots' | '|' | 'none';
841
- className?: string;
842
- }
843
-
844
1298
  interface ITLayoutProps {
845
1299
  topBar: ITTopBarProps;
846
1300
  sidebar: ITSidebarProps;
@@ -1071,4 +1525,4 @@ declare const resolveCssColor: (colorStr: string, palette?: ITThemePalette, isDa
1071
1525
  */
1072
1526
  declare const getContrastTextColor: (bgColor: string, palette?: ITThemePalette, isDarkMode?: boolean) => "text-white" | "text-slate-800";
1073
1527
 
1074
- export { type Column, type FieldConfig, type FieldConfigV2, FileTypeEnum, 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, type ITTabItem, ITTable, type ITTableProps, ITTabs, type ITTabsProps, ITText, type ITThemeConfig, type ITThemePalette, ITThemeProvider, type ITThemeProviderProps, ITTimePicker, type ITTimePickerProps, ITToast, type ITToastProps, ITTripleFilter, type ITTripleFilterOption, type ITTripleFilterProps, UploadStatus, createValidationSchema, getContrastTextColor, isLightColor, resolveCssColor, useITTheme, useITThemeSafe };
1528
+ export { type Column, type FieldConfig, type FieldConfigV2, FileTypeEnum, ITAlert, type ITAlertProps, ITAvatar, type ITAvatarProps, ITBadget, type ITBadgetProps, type ITBreadcrumbItem, ITBreadcrumbs, type ITBreadcrumbsProps, ITButton, type ITButtonProps, ITCalendar, type ITCalendarProps, ITCard, type ITCardProps, ITCheckbox, type ITCheckboxProps, ITConfirmDialog, type ITConfirmDialogProps, ITDataTable, type ITDataTableFetchParams, type ITDataTableProps, type ITDataTableResponse, ITDatePicker, type ITDatePickerProps, ITDialog, type ITDialogProps, ITDivider, type ITDividerProps, ITDrawer, type ITDrawerProps, ITDropfile, ITEmptyState, type ITEmptyStateProps, ITFlex, type ITFlexProps, ITFormBuilder, type ITFormBuilderProps, ITFormHeader, type ITFormHeaderProps, ITGrid, type ITGridProps, ITImage, type ITImageProps, ITInput, type ITInputProps, ITLayout, type ITLayoutProps, ITLoader, type LoaderProps as ITLoaderProps, ITNavbar, type ITNavbarProps, type ITNavigationItem, type ITNavigationSubItem, ITPage, ITPageHeader, type ITPageHeaderProps, type ITPageProps, ITPagination, type ITPaginationProps, ITPopover, type ITPopoverProps, ITProgress, type ITProgressProps, ITRadioGroup, type ITRadioGroupProps, type ITRadioOption, ITSearchSelect, type ITSearchSelectProps, ITSearchTable, type ITSearchTableProps, ITSegmentedControl, type ITSegmentedControlProps, ITSelect, type ITSelectProps, ITSidebar, type ITSidebarProps, ITSkeleton, type ITSkeletonProps, ITSlideToggle, type ITSlideToggleProps, ITSlider, type ITSliderProps, ITStack, type ITStackProps, ITStatCard, type ITStatCardProps, ITStepper, type ITStepperProps, type ITTabItem, ITTable, type ITTableProps, ITTabs, type ITTabsProps, ITText, type ITTextProps, ITTextarea, type ITTextareaProps, type ITThemeConfig, type ITThemePalette, ITThemeProvider, type ITThemeProviderProps, ITTimePicker, type ITTimePickerProps, ITToast, type ITToastProps, ITTripleFilter, type ITTripleFilterOption, type ITTripleFilterProps, UploadStatus, type UseTableStateOptions, type UseTableStateResult, createValidationSchema, getContrastTextColor, isLightColor, resolveCssColor, useClickOutside, useDebouncedSearch, useEditableRow, useITTheme, useITThemeSafe, useTableState };