@axzydev/axzy_ui_system 1.2.1 → 1.2.2
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.css +82 -1
- package/dist/index.css.map +1 -1
- package/package.json +2 -2
- package/src/App.tsx +354 -0
- package/src/assets/logo.png +0 -0
- package/src/assets/react.svg +1 -0
- package/src/components/alert/alert.props.ts +13 -0
- package/src/components/alert/alert.stories.tsx +41 -0
- package/src/components/alert/alert.tsx +53 -0
- package/src/components/avatar/avatar.props.ts +14 -0
- package/src/components/avatar/avatar.stories.tsx +46 -0
- package/src/components/avatar/avatar.tsx +53 -0
- package/src/components/badget/badget.props.ts +12 -0
- package/src/components/badget/badget.stories.tsx +76 -0
- package/src/components/badget/badget.tsx +61 -0
- package/src/components/breadcrumbs/breadcrumbs.props.ts +13 -0
- package/src/components/breadcrumbs/breadcrumbs.stories.tsx +21 -0
- package/src/components/breadcrumbs/breadcrumbs.tsx +34 -0
- package/src/components/button/button.props.ts +18 -0
- package/src/components/button/button.stories.tsx +174 -0
- package/src/components/button/button.tsx +117 -0
- package/src/components/calendar/calendar.props.ts +33 -0
- package/src/components/calendar/calendar.stories.tsx +91 -0
- package/src/components/calendar/calendar.tsx +608 -0
- package/src/components/calendar/index.ts +3 -0
- package/src/components/card/card.props.ts +13 -0
- package/src/components/card/card.stories.tsx +58 -0
- package/src/components/card/card.tsx +79 -0
- package/src/components/checkbox/checkbox.props.ts +11 -0
- package/src/components/checkbox/checkbox.stories.tsx +54 -0
- package/src/components/checkbox/checkbox.tsx +52 -0
- package/src/components/confirm-dialog/confirm-dialog.props.ts +14 -0
- package/src/components/confirm-dialog/confirm-dialog.stories.tsx +33 -0
- package/src/components/confirm-dialog/confirm-dialog.tsx +45 -0
- package/src/components/data-table/ITDataTable.stories.tsx +213 -0
- package/src/components/data-table/dataTable.props.ts +69 -0
- package/src/components/data-table/dataTable.tsx +313 -0
- package/src/components/date-picker/date-picker.props.ts +30 -0
- package/src/components/date-picker/date-picker.stories.tsx +90 -0
- package/src/components/date-picker/datePicker.tsx +307 -0
- package/src/components/dialog/dialog.props.ts +9 -0
- package/src/components/dialog/dialog.stories.tsx +80 -0
- package/src/components/dialog/dialog.tsx +88 -0
- package/src/components/divider/divider.props.ts +8 -0
- package/src/components/divider/divider.stories.tsx +34 -0
- package/src/components/divider/divider.tsx +21 -0
- package/src/components/drawer/drawer.props.ts +14 -0
- package/src/components/drawer/drawer.stories.tsx +41 -0
- package/src/components/drawer/drawer.tsx +53 -0
- package/src/components/dropfile/dropfile.stories.tsx +75 -0
- package/src/components/dropfile/dropfile.tsx +407 -0
- package/src/components/empty-state/empty-state.props.ts +9 -0
- package/src/components/empty-state/empty-state.stories.tsx +20 -0
- package/src/components/empty-state/empty-state.tsx +21 -0
- package/src/components/flex/flex.props.ts +22 -0
- package/src/components/flex/flex.stories.tsx +71 -0
- package/src/components/flex/flex.tsx +79 -0
- package/src/components/form-builder/fieldRenderer.tsx +218 -0
- package/src/components/form-builder/formBuilder.context.tsx +70 -0
- package/src/components/form-builder/formBuilder.props.ts +43 -0
- package/src/components/form-builder/formBuilder.stories.tsx +317 -0
- package/src/components/form-builder/formBuilder.tsx +186 -0
- package/src/components/form-builder/useFormBuilder.ts +80 -0
- package/src/components/form-header/form-header.props.ts +5 -0
- package/src/components/form-header/form-header.tsx +38 -0
- package/src/components/grid/grid.props.ts +17 -0
- package/src/components/grid/grid.stories.tsx +72 -0
- package/src/components/grid/grid.tsx +69 -0
- package/src/components/image/image.props.ts +7 -0
- package/src/components/image/image.tsx +38 -0
- package/src/components/input/input.props.ts +49 -0
- package/src/components/input/input.stories.tsx +115 -0
- package/src/components/input/input.tsx +615 -0
- package/src/components/layout/layout.props.ts +10 -0
- package/src/components/layout/layout.stories.tsx +114 -0
- package/src/components/layout/layout.tsx +80 -0
- package/src/components/loader/loader.props.ts +8 -0
- package/src/components/loader/loader.stories.tsx +105 -0
- package/src/components/loader/loader.tsx +108 -0
- package/src/components/navbar/navbar.props.ts +37 -0
- package/src/components/navbar/navbar.tsx +328 -0
- package/src/components/page/page.props.ts +19 -0
- package/src/components/page/page.stories.tsx +98 -0
- package/src/components/page/page.tsx +90 -0
- package/src/components/page-header/page-header.props.ts +11 -0
- package/src/components/page-header/page-header.stories.tsx +61 -0
- package/src/components/page-header/page-header.tsx +62 -0
- package/src/components/pagination/pagination.props.ts +53 -0
- package/src/components/pagination/pagination.stories.tsx +111 -0
- package/src/components/pagination/pagination.tsx +241 -0
- package/src/components/popover/popover.props.ts +12 -0
- package/src/components/popover/popover.stories.tsx +25 -0
- package/src/components/popover/popover.tsx +45 -0
- package/src/components/progress/progress.props.ts +12 -0
- package/src/components/progress/progress.stories.tsx +40 -0
- package/src/components/progress/progress.tsx +52 -0
- package/src/components/radio/radio.props.ts +16 -0
- package/src/components/radio/radio.stories.tsx +50 -0
- package/src/components/radio/radio.tsx +58 -0
- package/src/components/search-select/index.ts +2 -0
- package/src/components/search-select/search-select.props.ts +46 -0
- package/src/components/search-select/search-select.stories.tsx +129 -0
- package/src/components/search-select/search-select.tsx +229 -0
- package/src/components/searchTable/components/EditableCell.tsx +149 -0
- package/src/components/searchTable/components/PaginationControls.tsx +86 -0
- package/src/components/searchTable/components/PaginationInfo.tsx +20 -0
- package/src/components/searchTable/components/SearchAndSortBar.tsx +53 -0
- package/src/components/searchTable/components/SearchInput.tsx +33 -0
- package/src/components/searchTable/components/SortButton.tsx +50 -0
- package/src/components/searchTable/components/TableEmptyState.tsx +22 -0
- package/src/components/searchTable/components/TableHeader.tsx +35 -0
- package/src/components/searchTable/components/TableHeaderCell.tsx +43 -0
- package/src/components/searchTable/components/TableRow.tsx +144 -0
- package/src/components/searchTable/searchTable.props.ts +56 -0
- package/src/components/searchTable/searchTable.tsx +187 -0
- package/src/components/segmented-control/segmented-control.props.ts +18 -0
- package/src/components/segmented-control/segmented-control.stories.tsx +63 -0
- package/src/components/segmented-control/segmented-control.tsx +52 -0
- package/src/components/select/select.props.ts +25 -0
- package/src/components/select/select.stories.tsx +86 -0
- package/src/components/select/select.tsx +150 -0
- package/src/components/sidebar/sidebar.props.ts +28 -0
- package/src/components/sidebar/sidebar.stories.tsx +117 -0
- package/src/components/sidebar/sidebar.tsx +313 -0
- package/src/components/skeleton/skeleton.props.ts +12 -0
- package/src/components/skeleton/skeleton.stories.tsx +30 -0
- package/src/components/skeleton/skeleton.tsx +45 -0
- package/src/components/slide/slide.props.ts +45 -0
- package/src/components/slide/slide.stories.tsx +121 -0
- package/src/components/slide/slide.tsx +109 -0
- package/src/components/slider/slider.props.ts +10 -0
- package/src/components/slider/slider.stories.tsx +30 -0
- package/src/components/slider/slider.tsx +49 -0
- package/src/components/stack/stack.props.ts +19 -0
- package/src/components/stack/stack.stories.tsx +79 -0
- package/src/components/stack/stack.tsx +79 -0
- package/src/components/stat-card/stat-card.props.ts +13 -0
- package/src/components/stat-card/stat-card.stories.tsx +41 -0
- package/src/components/stat-card/stat-card.tsx +44 -0
- package/src/components/stepper/stepper.css +26 -0
- package/src/components/stepper/stepper.props.ts +29 -0
- package/src/components/stepper/stepper.stories.tsx +155 -0
- package/src/components/stepper/stepper.tsx +227 -0
- package/src/components/table/table.props.ts +43 -0
- package/src/components/table/table.stories.tsx +189 -0
- package/src/components/table/table.tsx +376 -0
- package/src/components/tabs/tabs.props.ts +18 -0
- package/src/components/tabs/tabs.stories.tsx +32 -0
- package/src/components/tabs/tabs.tsx +74 -0
- package/src/components/text/text.props.ts +9 -0
- package/src/components/text/text.tsx +20 -0
- package/src/components/textarea/textarea.props.ts +15 -0
- package/src/components/textarea/textarea.stories.tsx +27 -0
- package/src/components/textarea/textarea.tsx +55 -0
- package/src/components/theme-provider/themeProvider.props.ts +28 -0
- package/src/components/theme-provider/themeProvider.tsx +1854 -0
- package/src/components/time-picker/timePicker.props.ts +16 -0
- package/src/components/time-picker/timePicker.stories.tsx +131 -0
- package/src/components/time-picker/timePicker.tsx +317 -0
- package/src/components/toast/toast.css +32 -0
- package/src/components/toast/toast.props.ts +13 -0
- package/src/components/toast/toast.stories.tsx +138 -0
- package/src/components/toast/toast.tsx +87 -0
- package/src/components/tooltip/tooltip.props.ts +11 -0
- package/src/components/tooltip/tooltip.stories.tsx +20 -0
- package/src/components/tooltip/tooltip.tsx +55 -0
- package/src/components/topbar/topbar.props.ts +21 -0
- package/src/components/topbar/topbar.stories.tsx +80 -0
- package/src/components/topbar/topbar.tsx +205 -0
- package/src/components/triple-filter/tripleFilter.props.ts +15 -0
- package/src/components/triple-filter/tripleFilter.stories.tsx +32 -0
- package/src/components/triple-filter/tripleFilter.tsx +50 -0
- package/src/hooks/useClickOutside.ts +21 -0
- package/src/hooks/useDebouncedSearch.ts +55 -0
- package/src/hooks/useEditableRow.ts +157 -0
- package/src/hooks/useTableState.ts +122 -0
- package/src/index.css +168 -0
- package/src/index.ts +165 -0
- package/src/main.tsx +9 -0
- package/src/showcases/DataShowcases.tsx +260 -0
- package/src/showcases/FeedbackShowcases.tsx +268 -0
- package/src/showcases/FormShowcases.tsx +1159 -0
- package/src/showcases/HomeShowcase.tsx +324 -0
- package/src/showcases/LayoutPrimitivesShowcases.tsx +569 -0
- package/src/showcases/NavigationShowcases.tsx +193 -0
- package/src/showcases/PageShowcases.tsx +207 -0
- package/src/showcases/ShowcaseLayout.tsx +139 -0
- package/src/showcases/StructureShowcases.tsx +152 -0
- package/src/types/badget.types.ts +37 -0
- package/src/types/button.types.ts +16 -0
- package/src/types/colors.types.ts +3 -0
- package/src/types/field.types.ts +103 -0
- package/src/types/formik.types.ts +15 -0
- package/src/types/input.types.ts +14 -0
- package/src/types/loader.types.ts +9 -0
- package/src/types/sizes.types.ts +1 -0
- package/src/types/table.types.ts +15 -0
- package/src/types/toast.types.ts +8 -0
- package/src/types/yup.types.ts +11 -0
- package/src/utils/color.utils.ts +99 -0
- package/src/utils/styles.ts +120 -0
- package/src/utils/table.utils.ts +10 -0
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
import { useCallback, useMemo, useRef, useState } from "react";
|
|
2
|
+
import * as yup from "yup";
|
|
3
|
+
import type { SearchColumn } from "../components/searchTable/searchTable.props";
|
|
4
|
+
|
|
5
|
+
interface UseEditableRowOptions<T> {
|
|
6
|
+
row: T;
|
|
7
|
+
columns: SearchColumn<T>[];
|
|
8
|
+
getNestedValue: (obj: unknown, path: string) => unknown;
|
|
9
|
+
validationSchema?: yup.ObjectSchema<any>;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
interface UseEditableRowResult<T> {
|
|
13
|
+
editedRow: T;
|
|
14
|
+
errors: Record<string, string>;
|
|
15
|
+
isHovered: boolean;
|
|
16
|
+
setIsHovered: (v: boolean) => void;
|
|
17
|
+
hasErrors: boolean;
|
|
18
|
+
handleEdit: (onEdit?: (row: T) => void) => Promise<void>;
|
|
19
|
+
handleSave: (onSave?: (row: T) => void) => Promise<void>;
|
|
20
|
+
handleCancel: (onCancel?: () => void) => void;
|
|
21
|
+
handleChange: (key: string, value: any) => Promise<void>;
|
|
22
|
+
reset: () => void;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export function useEditableRow<T>({
|
|
26
|
+
row,
|
|
27
|
+
columns,
|
|
28
|
+
getNestedValue,
|
|
29
|
+
validationSchema,
|
|
30
|
+
}: UseEditableRowOptions<T>): UseEditableRowResult<T> {
|
|
31
|
+
const [isHovered, setIsHovered] = useState(false);
|
|
32
|
+
const [editedRow, setEditedRow] = useState<T>({ ...row });
|
|
33
|
+
const [errors, setErrors] = useState<Record<string, string>>({});
|
|
34
|
+
const rowRef = useRef(row);
|
|
35
|
+
rowRef.current = row;
|
|
36
|
+
|
|
37
|
+
const validateAll = useCallback(
|
|
38
|
+
async (rowData: T): Promise<Record<string, string>> => {
|
|
39
|
+
const newErrors: Record<string, string> = {};
|
|
40
|
+
|
|
41
|
+
if (validationSchema) {
|
|
42
|
+
try {
|
|
43
|
+
await validationSchema.validate(rowData, { abortEarly: false });
|
|
44
|
+
} catch (yupError) {
|
|
45
|
+
if (yupError instanceof yup.ValidationError) {
|
|
46
|
+
yupError.inner.forEach((error) => {
|
|
47
|
+
if (error.path) newErrors[error.path] = error.message;
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
columns.forEach((col) => {
|
|
54
|
+
if (col.editable && col.validation && !newErrors[col.key]) {
|
|
55
|
+
const value = getNestedValue(rowData, col.key);
|
|
56
|
+
const error = col.validation(value, rowData);
|
|
57
|
+
if (error) newErrors[col.key] = error;
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
|
|
61
|
+
return newErrors;
|
|
62
|
+
},
|
|
63
|
+
[columns, getNestedValue, validationSchema]
|
|
64
|
+
);
|
|
65
|
+
|
|
66
|
+
const handleEdit = useCallback(
|
|
67
|
+
async (onEdit?: (row: T) => void) => {
|
|
68
|
+
if (onEdit) {
|
|
69
|
+
onEdit(rowRef.current);
|
|
70
|
+
const clone = { ...rowRef.current };
|
|
71
|
+
setEditedRow(clone);
|
|
72
|
+
const initialErrors = await validateAll(clone);
|
|
73
|
+
setErrors(initialErrors);
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
[validateAll]
|
|
77
|
+
);
|
|
78
|
+
|
|
79
|
+
const handleSave = useCallback(
|
|
80
|
+
async (onSave?: (row: T) => void) => {
|
|
81
|
+
const finalErrors = await validateAll(editedRow);
|
|
82
|
+
if (Object.keys(finalErrors).length > 0) {
|
|
83
|
+
setErrors(finalErrors);
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
if (onSave) onSave(editedRow);
|
|
87
|
+
},
|
|
88
|
+
[editedRow, validateAll]
|
|
89
|
+
);
|
|
90
|
+
|
|
91
|
+
const handleCancel = useCallback((onCancel?: () => void) => {
|
|
92
|
+
if (onCancel) onCancel();
|
|
93
|
+
setEditedRow({ ...rowRef.current });
|
|
94
|
+
setErrors({});
|
|
95
|
+
}, []);
|
|
96
|
+
|
|
97
|
+
const handleChange = useCallback(
|
|
98
|
+
async (key: string, value: any) => {
|
|
99
|
+
const column = columns.find((col) => col.key === key);
|
|
100
|
+
let processedValue = value;
|
|
101
|
+
|
|
102
|
+
if (column) {
|
|
103
|
+
switch (column.type) {
|
|
104
|
+
case "number":
|
|
105
|
+
processedValue =
|
|
106
|
+
value === "" || value === null ? null : Number(value);
|
|
107
|
+
break;
|
|
108
|
+
case "boolean":
|
|
109
|
+
if (value === "" || value === null || value === undefined) {
|
|
110
|
+
processedValue = false;
|
|
111
|
+
} else if (typeof value === "string") {
|
|
112
|
+
processedValue = value === "true" || value === "1";
|
|
113
|
+
} else {
|
|
114
|
+
processedValue = Boolean(value);
|
|
115
|
+
}
|
|
116
|
+
break;
|
|
117
|
+
case "date":
|
|
118
|
+
processedValue = value ? new Date(value).toISOString() : null;
|
|
119
|
+
break;
|
|
120
|
+
case "catalog":
|
|
121
|
+
processedValue = value ?? null;
|
|
122
|
+
break;
|
|
123
|
+
default:
|
|
124
|
+
processedValue = value ?? "";
|
|
125
|
+
break;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
setEditedRow((prev) => {
|
|
130
|
+
const updated = { ...prev, [key]: processedValue };
|
|
131
|
+
validateAll(updated).then(setErrors);
|
|
132
|
+
return updated;
|
|
133
|
+
});
|
|
134
|
+
},
|
|
135
|
+
[columns, validateAll]
|
|
136
|
+
);
|
|
137
|
+
|
|
138
|
+
const reset = useCallback(() => {
|
|
139
|
+
setEditedRow({ ...rowRef.current });
|
|
140
|
+
setErrors({});
|
|
141
|
+
}, []);
|
|
142
|
+
|
|
143
|
+
const hasErrors = useMemo(() => Object.keys(errors).length > 0, [errors]);
|
|
144
|
+
|
|
145
|
+
return {
|
|
146
|
+
editedRow,
|
|
147
|
+
errors,
|
|
148
|
+
isHovered,
|
|
149
|
+
setIsHovered,
|
|
150
|
+
hasErrors,
|
|
151
|
+
handleEdit,
|
|
152
|
+
handleSave,
|
|
153
|
+
handleCancel,
|
|
154
|
+
handleChange,
|
|
155
|
+
reset,
|
|
156
|
+
};
|
|
157
|
+
}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import { useCallback, useMemo, useState } from "react";
|
|
2
|
+
|
|
3
|
+
interface SortConfig {
|
|
4
|
+
key: string;
|
|
5
|
+
direction: "asc" | "desc";
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export interface UseTableStateOptions {
|
|
9
|
+
defaultItemsPerPage?: number;
|
|
10
|
+
initialSort?: SortConfig | null;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export interface UseTableStateResult {
|
|
14
|
+
currentPage: number;
|
|
15
|
+
itemsPerPage: number;
|
|
16
|
+
filters: Record<string, string | boolean | number>;
|
|
17
|
+
sortConfig: SortConfig | null;
|
|
18
|
+
totalPages: number;
|
|
19
|
+
setTotalPages: (pages: number) => void;
|
|
20
|
+
goToPage: (page: number) => void;
|
|
21
|
+
handleItemsPerPageChange: (value: number) => void;
|
|
22
|
+
handleFilterChange: (
|
|
23
|
+
key: string,
|
|
24
|
+
value: string | boolean | number | undefined
|
|
25
|
+
) => void;
|
|
26
|
+
handleSort: (key: string, sortable?: boolean) => void;
|
|
27
|
+
resetPage: () => void;
|
|
28
|
+
clearFilters: () => void;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export function useTableState({
|
|
32
|
+
defaultItemsPerPage = 10,
|
|
33
|
+
initialSort = null,
|
|
34
|
+
}: UseTableStateOptions = {}): UseTableStateResult {
|
|
35
|
+
const [currentPage, setCurrentPage] = useState(1);
|
|
36
|
+
const [itemsPerPage, setItemsPerPage] = useState(defaultItemsPerPage);
|
|
37
|
+
const [filters, setFilters] = useState<
|
|
38
|
+
Record<string, string | boolean | number>
|
|
39
|
+
>({});
|
|
40
|
+
const [sortConfig, setSortConfig] = useState<SortConfig | null>(initialSort);
|
|
41
|
+
const [totalPages, setTotalPages] = useState(1);
|
|
42
|
+
|
|
43
|
+
const goToPage = useCallback(
|
|
44
|
+
(page: number) => {
|
|
45
|
+
if (page >= 1 && page <= totalPages) {
|
|
46
|
+
setCurrentPage(page);
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
[totalPages]
|
|
50
|
+
);
|
|
51
|
+
|
|
52
|
+
const handleItemsPerPageChange = useCallback((value: number) => {
|
|
53
|
+
setItemsPerPage(value);
|
|
54
|
+
setCurrentPage(1);
|
|
55
|
+
}, []);
|
|
56
|
+
|
|
57
|
+
const handleFilterChange = useCallback(
|
|
58
|
+
(key: string, value: string | boolean | number | undefined) => {
|
|
59
|
+
setFilters((prev) => {
|
|
60
|
+
if (value === undefined || value === null || value === "") {
|
|
61
|
+
const next = { ...prev };
|
|
62
|
+
delete next[key];
|
|
63
|
+
return next;
|
|
64
|
+
}
|
|
65
|
+
return { ...prev, [key]: value };
|
|
66
|
+
});
|
|
67
|
+
setCurrentPage(1);
|
|
68
|
+
},
|
|
69
|
+
[]
|
|
70
|
+
);
|
|
71
|
+
|
|
72
|
+
const handleSort = useCallback((key: string, sortable?: boolean) => {
|
|
73
|
+
if (sortable === false) return;
|
|
74
|
+
setSortConfig((prev) => {
|
|
75
|
+
let direction: "asc" | "desc" = "asc";
|
|
76
|
+
if (prev?.key === key && prev.direction === "asc") {
|
|
77
|
+
direction = "desc";
|
|
78
|
+
}
|
|
79
|
+
return { key, direction };
|
|
80
|
+
});
|
|
81
|
+
setCurrentPage(1);
|
|
82
|
+
}, []);
|
|
83
|
+
|
|
84
|
+
const resetPage = useCallback(() => setCurrentPage(1), []);
|
|
85
|
+
const clearFilters = useCallback(() => {
|
|
86
|
+
setFilters({});
|
|
87
|
+
setCurrentPage(1);
|
|
88
|
+
}, []);
|
|
89
|
+
|
|
90
|
+
const stable = useMemo(
|
|
91
|
+
() => ({
|
|
92
|
+
currentPage,
|
|
93
|
+
itemsPerPage,
|
|
94
|
+
filters,
|
|
95
|
+
sortConfig,
|
|
96
|
+
totalPages,
|
|
97
|
+
setTotalPages,
|
|
98
|
+
goToPage,
|
|
99
|
+
handleItemsPerPageChange,
|
|
100
|
+
handleFilterChange,
|
|
101
|
+
handleSort,
|
|
102
|
+
resetPage,
|
|
103
|
+
clearFilters,
|
|
104
|
+
}),
|
|
105
|
+
[
|
|
106
|
+
currentPage,
|
|
107
|
+
itemsPerPage,
|
|
108
|
+
filters,
|
|
109
|
+
sortConfig,
|
|
110
|
+
totalPages,
|
|
111
|
+
setTotalPages,
|
|
112
|
+
goToPage,
|
|
113
|
+
handleItemsPerPageChange,
|
|
114
|
+
handleFilterChange,
|
|
115
|
+
handleSort,
|
|
116
|
+
resetPage,
|
|
117
|
+
clearFilters,
|
|
118
|
+
]
|
|
119
|
+
);
|
|
120
|
+
|
|
121
|
+
return stable;
|
|
122
|
+
}
|
package/src/index.css
ADDED
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
@variant dark (&:is(.dark &));
|
|
2
|
+
|
|
3
|
+
:root, :host {
|
|
4
|
+
--animate-fadeIn: fadeIn 0.5s ease-out forwards;
|
|
5
|
+
--animate-fade-in: fadeIn 0.5s ease-out forwards;
|
|
6
|
+
|
|
7
|
+
--color-primary-50: #eff6ff;
|
|
8
|
+
--color-primary-100: #dbeafe;
|
|
9
|
+
--color-primary-200: #bfdbfe;
|
|
10
|
+
--color-primary-300: #93c5fd;
|
|
11
|
+
--color-primary-400: #60a5fa;
|
|
12
|
+
--color-primary-500: #3b82f6;
|
|
13
|
+
--color-primary-600: #2563eb;
|
|
14
|
+
--color-primary-700: #1d4ed8;
|
|
15
|
+
--color-primary-800: #1e40af;
|
|
16
|
+
--color-primary-900: #1e3a8a;
|
|
17
|
+
--color-primary-950: #172554;
|
|
18
|
+
|
|
19
|
+
--color-secondary-50: #f8fafc;
|
|
20
|
+
--color-secondary-100: #f1f5f9;
|
|
21
|
+
--color-secondary-200: #e2e8f0;
|
|
22
|
+
--color-secondary-300: #cbd5e1;
|
|
23
|
+
--color-secondary-400: #94a3b8;
|
|
24
|
+
--color-secondary-500: #64748b;
|
|
25
|
+
--color-secondary-600: #475569;
|
|
26
|
+
--color-secondary-700: #334155;
|
|
27
|
+
--color-secondary-800: #1e293b;
|
|
28
|
+
--color-secondary-900: #0f172a;
|
|
29
|
+
--color-secondary-950: #020617;
|
|
30
|
+
|
|
31
|
+
--color-success-50: #ecfdf5;
|
|
32
|
+
--color-success-100: #d1fae5;
|
|
33
|
+
--color-success-200: #a7f3d0;
|
|
34
|
+
--color-success-300: #6ee7b7;
|
|
35
|
+
--color-success-400: #34d399;
|
|
36
|
+
--color-success-500: #10b981;
|
|
37
|
+
--color-success-600: #059669;
|
|
38
|
+
--color-success-700: #047857;
|
|
39
|
+
--color-success-800: #065f46;
|
|
40
|
+
--color-success-900: #064e3b;
|
|
41
|
+
--color-success-950: #022c22;
|
|
42
|
+
|
|
43
|
+
--color-danger-50: #fff1f2;
|
|
44
|
+
--color-danger-100: #ffe4e6;
|
|
45
|
+
--color-danger-200: #fecdd3;
|
|
46
|
+
--color-danger-300: #fda4af;
|
|
47
|
+
--color-danger-400: #fb7185;
|
|
48
|
+
--color-danger-500: #f43f5e;
|
|
49
|
+
--color-danger-600: #e11d48;
|
|
50
|
+
--color-danger-700: #be123c;
|
|
51
|
+
--color-danger-800: #9f1239;
|
|
52
|
+
--color-danger-900: #881337;
|
|
53
|
+
--color-danger-950: #4c0519;
|
|
54
|
+
|
|
55
|
+
--color-warning-50: #fffbeb;
|
|
56
|
+
--color-warning-100: #fef3c7;
|
|
57
|
+
--color-warning-200: #fde68a;
|
|
58
|
+
--color-warning-300: #fcd34d;
|
|
59
|
+
--color-warning-400: #fbbf24;
|
|
60
|
+
--color-warning-500: #f59e0b;
|
|
61
|
+
--color-warning-600: #d97706;
|
|
62
|
+
--color-warning-700: #b45309;
|
|
63
|
+
--color-warning-800: #92400e;
|
|
64
|
+
--color-warning-900: #78350f;
|
|
65
|
+
--color-warning-950: #451a03;
|
|
66
|
+
|
|
67
|
+
--color-purple-50: #f5f3ff;
|
|
68
|
+
--color-purple-100: #ede9fe;
|
|
69
|
+
--color-purple-200: #ddd6fe;
|
|
70
|
+
--color-purple-300: #c4b5fd;
|
|
71
|
+
--color-purple-400: #a78bfa;
|
|
72
|
+
--color-purple-500: #8b5cf6;
|
|
73
|
+
--color-purple-600: #7c3aed;
|
|
74
|
+
--color-purple-700: #6d28d9;
|
|
75
|
+
--color-purple-800: #5b21b6;
|
|
76
|
+
--color-purple-900: #4c1d95;
|
|
77
|
+
--color-purple-950: #2e1065;
|
|
78
|
+
|
|
79
|
+
--color-info-50: #f0f9ff;
|
|
80
|
+
--color-info-100: #e0f2fe;
|
|
81
|
+
--color-info-200: #bae6fd;
|
|
82
|
+
--color-info-300: #7dd3fc;
|
|
83
|
+
--color-info-400: #38bdf8;
|
|
84
|
+
--color-info-500: #0ea5e9;
|
|
85
|
+
--color-info-600: #0284c7;
|
|
86
|
+
--color-info-700: #0369a1;
|
|
87
|
+
--color-info-800: #075985;
|
|
88
|
+
--color-info-900: #0c4a6e;
|
|
89
|
+
--color-info-950: #082f49;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
@keyframes fadeIn {
|
|
93
|
+
from { opacity: 0; transform: translateY(8px); }
|
|
94
|
+
to { opacity: 1; transform: translateY(0); }
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
.col-span-1 { grid-column: span 1 / span 1; }
|
|
98
|
+
.col-span-2 { grid-column: span 2 / span 2; }
|
|
99
|
+
.col-span-3 { grid-column: span 3 / span 3; }
|
|
100
|
+
.col-span-4 { grid-column: span 4 / span 4; }
|
|
101
|
+
.col-span-5 { grid-column: span 5 / span 5; }
|
|
102
|
+
.col-span-6 { grid-column: span 6 / span 6; }
|
|
103
|
+
.col-span-7 { grid-column: span 7 / span 7; }
|
|
104
|
+
.col-span-8 { grid-column: span 8 / span 8; }
|
|
105
|
+
.col-span-9 { grid-column: span 9 / span 9; }
|
|
106
|
+
.col-span-10 { grid-column: span 10 / span 10; }
|
|
107
|
+
.col-span-11 { grid-column: span 11 / span 11; }
|
|
108
|
+
.col-span-12 { grid-column: span 12 / span 12; }
|
|
109
|
+
|
|
110
|
+
@media (width >= 40rem) {
|
|
111
|
+
.sm\:col-span-1 { grid-column: span 1 / span 1; }
|
|
112
|
+
.sm\:col-span-2 { grid-column: span 2 / span 2; }
|
|
113
|
+
.sm\:col-span-3 { grid-column: span 3 / span 3; }
|
|
114
|
+
.sm\:col-span-4 { grid-column: span 4 / span 4; }
|
|
115
|
+
.sm\:col-span-5 { grid-column: span 5 / span 5; }
|
|
116
|
+
.sm\:col-span-6 { grid-column: span 6 / span 6; }
|
|
117
|
+
.sm\:col-span-7 { grid-column: span 7 / span 7; }
|
|
118
|
+
.sm\:col-span-8 { grid-column: span 8 / span 8; }
|
|
119
|
+
.sm\:col-span-9 { grid-column: span 9 / span 9; }
|
|
120
|
+
.sm\:col-span-10 { grid-column: span 10 / span 10; }
|
|
121
|
+
.sm\:col-span-11 { grid-column: span 11 / span 11; }
|
|
122
|
+
.sm\:col-span-12 { grid-column: span 12 / span 12; }
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
@media (width >= 48rem) {
|
|
126
|
+
.md\:col-span-1 { grid-column: span 1 / span 1; }
|
|
127
|
+
.md\:col-span-2 { grid-column: span 2 / span 2; }
|
|
128
|
+
.md\:col-span-3 { grid-column: span 3 / span 3; }
|
|
129
|
+
.md\:col-span-4 { grid-column: span 4 / span 4; }
|
|
130
|
+
.md\:col-span-5 { grid-column: span 5 / span 5; }
|
|
131
|
+
.md\:col-span-6 { grid-column: span 6 / span 6; }
|
|
132
|
+
.md\:col-span-7 { grid-column: span 7 / span 7; }
|
|
133
|
+
.md\:col-span-8 { grid-column: span 8 / span 8; }
|
|
134
|
+
.md\:col-span-9 { grid-column: span 9 / span 9; }
|
|
135
|
+
.md\:col-span-10 { grid-column: span 10 / span 10; }
|
|
136
|
+
.md\:col-span-11 { grid-column: span 11 / span 11; }
|
|
137
|
+
.md\:col-span-12 { grid-column: span 12 / span 12; }
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
@media (width >= 64rem) {
|
|
141
|
+
.lg\:col-span-1 { grid-column: span 1 / span 1; }
|
|
142
|
+
.lg\:col-span-2 { grid-column: span 2 / span 2; }
|
|
143
|
+
.lg\:col-span-3 { grid-column: span 3 / span 3; }
|
|
144
|
+
.lg\:col-span-4 { grid-column: span 4 / span 4; }
|
|
145
|
+
.lg\:col-span-5 { grid-column: span 5 / span 5; }
|
|
146
|
+
.lg\:col-span-6 { grid-column: span 6 / span 6; }
|
|
147
|
+
.lg\:col-span-7 { grid-column: span 7 / span 7; }
|
|
148
|
+
.lg\:col-span-8 { grid-column: span 8 / span 8; }
|
|
149
|
+
.lg\:col-span-9 { grid-column: span 9 / span 9; }
|
|
150
|
+
.lg\:col-span-10 { grid-column: span 10 / span 10; }
|
|
151
|
+
.lg\:col-span-11 { grid-column: span 11 / span 11; }
|
|
152
|
+
.lg\:col-span-12 { grid-column: span 12 / span 12; }
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
@media (width >= 80rem) {
|
|
156
|
+
.xl\:col-span-1 { grid-column: span 1 / span 1; }
|
|
157
|
+
.xl\:col-span-2 { grid-column: span 2 / span 2; }
|
|
158
|
+
.xl\:col-span-3 { grid-column: span 3 / span 3; }
|
|
159
|
+
.xl\:col-span-4 { grid-column: span 4 / span 4; }
|
|
160
|
+
.xl\:col-span-5 { grid-column: span 5 / span 5; }
|
|
161
|
+
.xl\:col-span-6 { grid-column: span 6 / span 6; }
|
|
162
|
+
.xl\:col-span-7 { grid-column: span 7 / span 7; }
|
|
163
|
+
.xl\:col-span-8 { grid-column: span 8 / span 8; }
|
|
164
|
+
.xl\:col-span-9 { grid-column: span 9 / span 9; }
|
|
165
|
+
.xl\:col-span-10 { grid-column: span 10 / span 10; }
|
|
166
|
+
.xl\:col-span-11 { grid-column: span 11 / span 11; }
|
|
167
|
+
.xl\:col-span-12 { grid-column: span 12 / span 12; }
|
|
168
|
+
}
|
package/src/index.ts
ADDED
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
import "./index.css";
|
|
2
|
+
|
|
3
|
+
// HOOKS
|
|
4
|
+
import useClickOutside from "./hooks/useClickOutside";
|
|
5
|
+
import { useDebouncedSearch } from "./hooks/useDebouncedSearch";
|
|
6
|
+
import { useEditableRow } from "./hooks/useEditableRow";
|
|
7
|
+
import { useTableState, UseTableStateOptions, UseTableStateResult } from "./hooks/useTableState";
|
|
8
|
+
|
|
9
|
+
// COMPONENTES
|
|
10
|
+
import ITAlert from "./components/alert/alert";
|
|
11
|
+
import ITAvatar from "./components/avatar/avatar";
|
|
12
|
+
import ITBadget from "./components/badget/badget";
|
|
13
|
+
import ITBreadcrumbs from "./components/breadcrumbs/breadcrumbs";
|
|
14
|
+
import ITButton from "./components/button/button";
|
|
15
|
+
import ITCalendar from "./components/calendar/calendar";
|
|
16
|
+
import ITCard from "./components/card/card";
|
|
17
|
+
import ITCheckbox from "./components/checkbox/checkbox";
|
|
18
|
+
import ITConfirmDialog from "./components/confirm-dialog/confirm-dialog";
|
|
19
|
+
import ITDataTable from "./components/data-table/dataTable";
|
|
20
|
+
import ITDatePicker from "./components/date-picker/datePicker";
|
|
21
|
+
import ITDialog from "./components/dialog/dialog";
|
|
22
|
+
import ITDivider from "./components/divider/divider";
|
|
23
|
+
import ITDrawer from "./components/drawer/drawer";
|
|
24
|
+
import ITEmptyState from "./components/empty-state/empty-state";
|
|
25
|
+
import ITFlex from "./components/flex/flex";
|
|
26
|
+
import ITFormBuilder from "./components/form-builder/formBuilder";
|
|
27
|
+
import ITFormHeader from "./components/form-header/form-header";
|
|
28
|
+
import ITGrid from "./components/grid/grid";
|
|
29
|
+
import ITImage from "./components/image/image";
|
|
30
|
+
import ITInput from "./components/input/input";
|
|
31
|
+
import ITNavbar from "./components/navbar/navbar";
|
|
32
|
+
import ITPage from "./components/page/page";
|
|
33
|
+
import ITPageHeader from "./components/page-header/page-header";
|
|
34
|
+
import ITPagination from "./components/pagination/pagination";
|
|
35
|
+
import ITPopover from "./components/popover/popover";
|
|
36
|
+
import ITProgress from "./components/progress/progress";
|
|
37
|
+
import ITRadioGroup from "./components/radio/radio";
|
|
38
|
+
import ITSearchSelect from "./components/search-select/search-select";
|
|
39
|
+
import ITSelect from "./components/select/select";
|
|
40
|
+
import ITSearchTable from "./components/searchTable/searchTable";
|
|
41
|
+
import ITSegmentedControl from "./components/segmented-control/segmented-control";
|
|
42
|
+
import ITSidebar from "./components/sidebar/sidebar";
|
|
43
|
+
import ITSkeleton from "./components/skeleton/skeleton";
|
|
44
|
+
import ITSlideToggle from "./components/slide/slide";
|
|
45
|
+
import ITSlider from "./components/slider/slider";
|
|
46
|
+
import ITStack from "./components/stack/stack";
|
|
47
|
+
import ITStatCard from "./components/stat-card/stat-card";
|
|
48
|
+
import ITTable from "./components/table/table";
|
|
49
|
+
import ITText from "./components/text/text";
|
|
50
|
+
import ITTextarea from "./components/textarea/textarea";
|
|
51
|
+
import ITTabs from "./components/tabs/tabs";
|
|
52
|
+
import ITTripleFilter from "./components/triple-filter/tripleFilter";
|
|
53
|
+
import ITToast from "./components/toast/toast";
|
|
54
|
+
|
|
55
|
+
// PROPS
|
|
56
|
+
import type { ITAlertProps } from "./components/alert/alert.props";
|
|
57
|
+
import type { ITAvatarProps } from "./components/avatar/avatar.props";
|
|
58
|
+
import type { ITBadgetProps } from "./components/badget/badget.props";
|
|
59
|
+
import type { ITBreadcrumbsProps, ITBreadcrumbItem } from "./components/breadcrumbs/breadcrumbs.props";
|
|
60
|
+
import type { ITButtonProps } from "./components/button/button.props";
|
|
61
|
+
import type { ITCalendarProps } from "./components/calendar/calendar.props";
|
|
62
|
+
import type { ITCardProps } from "./components/card/card.props";
|
|
63
|
+
import type { ITCheckboxProps } from "./components/checkbox/checkbox.props";
|
|
64
|
+
import type { ITConfirmDialogProps } from "./components/confirm-dialog/confirm-dialog.props";
|
|
65
|
+
import type { ITDataTableFetchParams, ITDataTableProps, ITDataTableResponse } from "./components/data-table/dataTable.props";
|
|
66
|
+
import type { ITDatePickerProps } from "./components/date-picker/date-picker.props";
|
|
67
|
+
import type { ITDialogProps } from "./components/dialog/dialog.props";
|
|
68
|
+
import type { ITDividerProps } from "./components/divider/divider.props";
|
|
69
|
+
import type { ITDrawerProps } from "./components/drawer/drawer.props";
|
|
70
|
+
import type { ITEmptyStateProps } from "./components/empty-state/empty-state.props";
|
|
71
|
+
import type { ITFlexProps } from "./components/flex/flex.props";
|
|
72
|
+
import type { ITFormBuilderProps } from "./components/form-builder/formBuilder.props";
|
|
73
|
+
import type { ITFormHeaderProps } from "./components/form-header/form-header.props";
|
|
74
|
+
import type { ITGridProps } from "./components/grid/grid.props";
|
|
75
|
+
import type { ITImageProps } from "./components/image/image.props";
|
|
76
|
+
import type { ITInputProps } from "./components/input/input.props";
|
|
77
|
+
import type { ITNavbarProps } from "./components/navbar/navbar.props";
|
|
78
|
+
import type { ITPageProps } from "./components/page/page.props";
|
|
79
|
+
import type { ITPageHeaderProps } from "./components/page-header/page-header.props";
|
|
80
|
+
import type { ITPaginationProps } from "./components/pagination/pagination.props";
|
|
81
|
+
import type { ITPopoverProps } from "./components/popover/popover.props";
|
|
82
|
+
import type { ITProgressProps } from "./components/progress/progress.props";
|
|
83
|
+
import type { ITRadioGroupProps, ITRadioOption } from "./components/radio/radio.props";
|
|
84
|
+
import type { ITSearchSelectProps } from "./components/search-select/search-select.props";
|
|
85
|
+
import type { ITSelectProps } from "./components/select/select.props";
|
|
86
|
+
import type { ITSearchTableProps } from "./components/searchTable/searchTable.props";
|
|
87
|
+
import type { ITSegmentedControlProps } from "./components/segmented-control/segmented-control.props";
|
|
88
|
+
import type { ITSidebarProps, ITNavigationItem, ITNavigationSubItem } from "./components/sidebar/sidebar.props";
|
|
89
|
+
import type { ITSkeletonProps } from "./components/skeleton/skeleton.props";
|
|
90
|
+
import type { ITSlideToggleProps } from "./components/slide/slide.props";
|
|
91
|
+
import type { ITSliderProps } from "./components/slider/slider.props";
|
|
92
|
+
import type { ITStackProps } from "./components/stack/stack.props";
|
|
93
|
+
import type { ITStatCardProps } from "./components/stat-card/stat-card.props";
|
|
94
|
+
import type { ITTableProps, Column } from "./components/table/table.props";
|
|
95
|
+
import type { ITTextProps } from "./components/text/text.props";
|
|
96
|
+
import type { ITTextareaProps } from "./components/textarea/textarea.props";
|
|
97
|
+
import type { ITTabsProps, ITTabItem } from "./components/tabs/tabs.props";
|
|
98
|
+
import type { ITTripleFilterProps, ITTripleFilterOption } from "./components/triple-filter/tripleFilter.props";
|
|
99
|
+
import type { ITToastProps } from "./components/toast/toast.props";
|
|
100
|
+
import type { FieldConfig, FieldConfigV2 } from "./types/field.types";
|
|
101
|
+
|
|
102
|
+
// UTILS
|
|
103
|
+
import ITDropfile, { UploadStatus, FileTypeEnum } from "./components/dropfile/dropfile";
|
|
104
|
+
import ITLayout from "./components/layout/layout";
|
|
105
|
+
import { ITLayoutProps } from "./components/layout/layout.props";
|
|
106
|
+
import ITLoader from "./components/loader/loader";
|
|
107
|
+
import type { LoaderProps as ITLoaderProps } from "./components/loader/loader.props";
|
|
108
|
+
import ITStepper from "./components/stepper/stepper";
|
|
109
|
+
import type { ITStepperProps } from "./components/stepper/stepper.props";
|
|
110
|
+
import ITThemeProvider, { useITTheme, useITThemeSafe } from "./components/theme-provider/themeProvider";
|
|
111
|
+
import type { ITThemeProviderProps, ITThemePalette } from "./components/theme-provider/themeProvider.props";
|
|
112
|
+
import ITTimePicker from "./components/time-picker/timePicker";
|
|
113
|
+
import type { ITTimePickerProps } from "./components/time-picker/timePicker.props";
|
|
114
|
+
import type { ITThemeConfig } from "./theme/theme.types";
|
|
115
|
+
import { createValidationSchema } from "./types/yup.types";
|
|
116
|
+
|
|
117
|
+
import { getContrastTextColor, isLightColor, resolveCssColor } from "./utils/color.utils";
|
|
118
|
+
|
|
119
|
+
export {
|
|
120
|
+
// Hooks
|
|
121
|
+
useClickOutside, useDebouncedSearch, useEditableRow, useTableState,
|
|
122
|
+
createValidationSchema,
|
|
123
|
+
// Components
|
|
124
|
+
ITAlert, ITAvatar, ITBadget, ITBreadcrumbs, ITButton,
|
|
125
|
+
ITCalendar,
|
|
126
|
+
ITCard, ITCheckbox, ITConfirmDialog, ITDataTable, ITDatePicker,
|
|
127
|
+
ITDialog, ITDivider, ITDrawer,
|
|
128
|
+
ITDropfile, ITEmptyState, ITFlex, ITFormBuilder, ITFormHeader, ITGrid, ITImage, ITInput, ITLayout,
|
|
129
|
+
ITLoader, ITNavbar, ITPage, ITPageHeader, ITPagination, ITPopover, ITProgress,
|
|
130
|
+
ITRadioGroup, ITSelect, ITSearchSelect,
|
|
131
|
+
ITSearchTable,
|
|
132
|
+
ITSegmentedControl, ITSidebar, ITSkeleton, ITSlideToggle, ITSlider, ITStack, ITStatCard, ITStepper,
|
|
133
|
+
ITTable, ITTabs, ITText, ITTextarea, ITTripleFilter, ITThemeProvider,
|
|
134
|
+
useITTheme, useITThemeSafe, ITTimePicker, ITToast,
|
|
135
|
+
UploadStatus, FileTypeEnum,
|
|
136
|
+
getContrastTextColor, isLightColor, resolveCssColor
|
|
137
|
+
};
|
|
138
|
+
|
|
139
|
+
export type {
|
|
140
|
+
Column, FieldConfig,
|
|
141
|
+
FieldConfigV2,
|
|
142
|
+
ITAlertProps, ITAvatarProps, ITBadgetProps,
|
|
143
|
+
ITBreadcrumbItem, ITBreadcrumbsProps, ITButtonProps,
|
|
144
|
+
ITCalendarProps,
|
|
145
|
+
ITCardProps, ITCheckboxProps, ITConfirmDialogProps,
|
|
146
|
+
ITDataTableFetchParams, ITDataTableProps, ITDataTableResponse, ITDatePickerProps,
|
|
147
|
+
ITDialogProps, ITDividerProps, ITDrawerProps,
|
|
148
|
+
ITEmptyStateProps, ITFlexProps,
|
|
149
|
+
ITFormBuilderProps, ITFormHeaderProps,
|
|
150
|
+
ITGridProps, ITImageProps, ITInputProps,
|
|
151
|
+
ITLayoutProps, ITLoaderProps, ITNavbarProps,
|
|
152
|
+
ITPageProps, ITPageHeaderProps,
|
|
153
|
+
ITNavigationItem, ITNavigationSubItem,
|
|
154
|
+
ITPaginationProps, ITPopoverProps, ITProgressProps,
|
|
155
|
+
ITRadioGroupProps, ITRadioOption, ITSelectProps, ITSearchSelectProps,
|
|
156
|
+
ITSearchTableProps,
|
|
157
|
+
ITSegmentedControlProps, ITSidebarProps, ITSkeletonProps, ITSlideToggleProps, ITSliderProps,
|
|
158
|
+
ITStackProps, ITStatCardProps, ITStepperProps,
|
|
159
|
+
ITTableProps, ITTabsProps, ITTabItem, ITTextProps, ITTextareaProps,
|
|
160
|
+
ITTripleFilterProps, ITTripleFilterOption, ITThemeConfig, ITThemeProviderProps, ITThemePalette,
|
|
161
|
+
ITTimePickerProps, ITToastProps,
|
|
162
|
+
UseTableStateOptions, UseTableStateResult
|
|
163
|
+
};
|
|
164
|
+
|
|
165
|
+
|