@robertorota/rota-designe 1.0.1 → 1.0.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.
Files changed (76) hide show
  1. package/README.md +2 -11
  2. package/dist/index.cjs +2339 -0
  3. package/dist/index.d.cts +321 -0
  4. package/dist/index.d.ts +321 -3
  5. package/dist/index.js +2418 -0
  6. package/dist/rota-desgine.css +1 -2
  7. package/package.json +17 -14
  8. package/dist/components/AccountSettings/AccountModal/index.d.ts +0 -10
  9. package/dist/components/AccountSettings/AccountModal/index.d.ts.map +0 -1
  10. package/dist/components/AccountSettings/ContentPreference/index.d.ts +0 -3
  11. package/dist/components/AccountSettings/ContentPreference/index.d.ts.map +0 -1
  12. package/dist/components/Button/BarButton/index.d.ts +0 -8
  13. package/dist/components/Button/BarButton/index.d.ts.map +0 -1
  14. package/dist/components/Button/CreateButton/index.d.ts +0 -7
  15. package/dist/components/Button/CreateButton/index.d.ts.map +0 -1
  16. package/dist/components/Checkbox/index.d.ts +0 -7
  17. package/dist/components/Checkbox/index.d.ts.map +0 -1
  18. package/dist/components/CodeModal/index.d.ts +0 -10
  19. package/dist/components/CodeModal/index.d.ts.map +0 -1
  20. package/dist/components/DataTable/index.d.ts +0 -41
  21. package/dist/components/DataTable/index.d.ts.map +0 -1
  22. package/dist/components/DatePicker/index.d.ts +0 -7
  23. package/dist/components/DatePicker/index.d.ts.map +0 -1
  24. package/dist/components/Header/index.d.ts +0 -30
  25. package/dist/components/Header/index.d.ts.map +0 -1
  26. package/dist/components/Icon/index.d.ts +0 -10
  27. package/dist/components/Icon/index.d.ts.map +0 -1
  28. package/dist/components/InputNumber/index.d.ts +0 -7
  29. package/dist/components/InputNumber/index.d.ts.map +0 -1
  30. package/dist/components/LoadingModal/index.d.ts +0 -8
  31. package/dist/components/LoadingModal/index.d.ts.map +0 -1
  32. package/dist/components/Modal/index.d.ts +0 -17
  33. package/dist/components/Modal/index.d.ts.map +0 -1
  34. package/dist/components/RadioButton/index.d.ts +0 -7
  35. package/dist/components/RadioButton/index.d.ts.map +0 -1
  36. package/dist/components/Spinner/index.d.ts +0 -8
  37. package/dist/components/Spinner/index.d.ts.map +0 -1
  38. package/dist/components/Switch/index.d.ts +0 -7
  39. package/dist/components/Switch/index.d.ts.map +0 -1
  40. package/dist/components/TableToolbar/index.d.ts +0 -20
  41. package/dist/components/TableToolbar/index.d.ts.map +0 -1
  42. package/dist/components/Text/index.d.ts +0 -10
  43. package/dist/components/Text/index.d.ts.map +0 -1
  44. package/dist/components/TextArea/index.d.ts +0 -7
  45. package/dist/components/TextArea/index.d.ts.map +0 -1
  46. package/dist/components/Toast/index.d.ts +0 -12
  47. package/dist/components/Toast/index.d.ts.map +0 -1
  48. package/dist/components/Tooltip/index.d.ts +0 -11
  49. package/dist/components/Tooltip/index.d.ts.map +0 -1
  50. package/dist/components/alignMainContent/index.d.ts +0 -7
  51. package/dist/components/alignMainContent/index.d.ts.map +0 -1
  52. package/dist/components/asideBar/index.d.ts +0 -24
  53. package/dist/components/asideBar/index.d.ts.map +0 -1
  54. package/dist/components/expandedGroup/index.d.ts +0 -12
  55. package/dist/components/expandedGroup/index.d.ts.map +0 -1
  56. package/dist/components/filtersBar/index.d.ts +0 -28
  57. package/dist/components/filtersBar/index.d.ts.map +0 -1
  58. package/dist/components/filtersComponents/ButtonMain/index.d.ts +0 -2
  59. package/dist/components/filtersComponents/ButtonMain/index.d.ts.map +0 -1
  60. package/dist/components/filtersComponents/MyFastFilter/index.d.ts +0 -7
  61. package/dist/components/filtersComponents/MyFastFilter/index.d.ts.map +0 -1
  62. package/dist/components/filtersComponents/MySearch/index.d.ts +0 -5
  63. package/dist/components/filtersComponents/MySearch/index.d.ts.map +0 -1
  64. package/dist/components/filtersComponents/MySelect/index.d.ts +0 -13
  65. package/dist/components/filtersComponents/MySelect/index.d.ts.map +0 -1
  66. package/dist/components/index.d.ts +0 -32
  67. package/dist/components/index.d.ts.map +0 -1
  68. package/dist/components/input/index.d.ts +0 -7
  69. package/dist/components/input/index.d.ts.map +0 -1
  70. package/dist/components/maincontent/index.d.ts +0 -12
  71. package/dist/components/maincontent/index.d.ts.map +0 -1
  72. package/dist/components/sidebar-pinned-store.d.ts +0 -3
  73. package/dist/components/sidebar-pinned-store.d.ts.map +0 -1
  74. package/dist/index.d.ts.map +0 -1
  75. package/dist/rota-desgine.cjs +0 -12
  76. package/dist/rota-desgine.js +0 -4827
@@ -0,0 +1,321 @@
1
+ import * as react from 'react';
2
+ import react__default, { ReactNode, ComponentProps, ChangeEventHandler, FormEventHandler, HTMLAttributes } from 'react';
3
+
4
+ type AccountModalProps = {
5
+ open: boolean;
6
+ onClose: () => void;
7
+ onLogout?: () => void;
8
+ sidebar?: ReactNode;
9
+ children?: ReactNode;
10
+ };
11
+ declare function AccountModal({ open, onClose, onLogout, sidebar, children, }: AccountModalProps): react.JSX.Element;
12
+
13
+ type AccountTheme = "light" | "dark" | "system";
14
+ declare function ContentPreference(): react.JSX.Element;
15
+
16
+ type AlignMainContentProps = {
17
+ children: react__default.ReactNode;
18
+ };
19
+ declare const AlignMainContent: ({ children, }: AlignMainContentProps) => react__default.JSX.Element;
20
+
21
+ type AsideBarItem = {
22
+ label: string;
23
+ icon: ReactNode;
24
+ };
25
+ type AsideBarGroup = {
26
+ id: string;
27
+ label: string;
28
+ icon: ReactNode;
29
+ items: AsideBarItem[];
30
+ };
31
+ type AsideBarProps = Omit<ComponentProps<"aside">, "onNavigate"> & {
32
+ activePage: string;
33
+ onNavigate: (page: string, groupId?: string) => void;
34
+ items?: AsideBarItem[];
35
+ groups?: AsideBarGroup[];
36
+ brandTitle?: string;
37
+ brandSubtitle?: string;
38
+ brandLogoSrc?: string;
39
+ logoutLabel?: string;
40
+ onLogout?: () => void;
41
+ };
42
+ declare function AsideBar({ activePage, onNavigate, items, groups, brandTitle, brandSubtitle, brandLogoSrc, logoutLabel, onLogout, className, ...props }: AsideBarProps): react.JSX.Element;
43
+
44
+ interface ButtonProps$1 extends react__default.ButtonHTMLAttributes<HTMLButtonElement> {
45
+ label: string;
46
+ icon?: react__default.ReactNode;
47
+ }
48
+ declare function MyButton({ label, icon, type, className, ...props }: ButtonProps$1): react__default.JSX.Element;
49
+
50
+ interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
51
+ label: string;
52
+ icon?: React.ReactNode;
53
+ }
54
+ declare function MyCreateButton({ label, icon, type, className, ...props }: ButtonProps): react.JSX.Element;
55
+
56
+ type CheckboxProps = Omit<ComponentProps<"input">, "type"> & {
57
+ label?: ReactNode;
58
+ };
59
+ declare function Checkbox({ label, id, className, ...props }: CheckboxProps): react.JSX.Element;
60
+
61
+ type CodeModalProps = {
62
+ isOpen: boolean;
63
+ isPositive: boolean;
64
+ onClose: () => void;
65
+ successTitle?: string;
66
+ errorTitle?: string;
67
+ autoCloseDuration?: number | null;
68
+ };
69
+ declare function CodeModal({ isOpen, isPositive, onClose, successTitle, errorTitle, autoCloseDuration, }: CodeModalProps): react.JSX.Element | null;
70
+
71
+ type SortDirection = "asc" | "desc";
72
+ type Column<T> = {
73
+ header: react__default.ReactNode;
74
+ accessor: keyof T;
75
+ className?: string;
76
+ headerClassName?: string;
77
+ sortable?: boolean;
78
+ sortValue?: (row: T) => unknown;
79
+ render?: (value: T[keyof T], row: T) => react__default.ReactNode;
80
+ };
81
+ type DataTableExportOption<T> = {
82
+ id: string;
83
+ label: string;
84
+ onExport: (data: T[]) => void | Promise<void>;
85
+ };
86
+ type DataTableProps<T> = {
87
+ columns: Column<T>[];
88
+ data: T[];
89
+ isLoading?: boolean;
90
+ itemsPerPage?: number;
91
+ paginate?: boolean;
92
+ searchable?: boolean;
93
+ searchPlaceholder?: string;
94
+ searchValue?: string;
95
+ onSearchChange?: (value: string) => void;
96
+ customFilters?: react__default.ReactNode;
97
+ toolbarStart?: react__default.ReactNode;
98
+ exportOptions?: DataTableExportOption<T>[];
99
+ renderExpandedRow?: (row: T) => react__default.ReactNode;
100
+ onRowClick?: (row: T) => void;
101
+ getRowKey?: (row: T, index: number) => react__default.Key;
102
+ emptyMessage?: string;
103
+ resetKey?: string | number;
104
+ minWidth?: number | string;
105
+ maxCellCharacters?: number;
106
+ tableLayout?: "auto" | "fixed";
107
+ className?: string;
108
+ };
109
+ declare function DataTable<T extends Record<string, unknown>>({ columns, data, isLoading, itemsPerPage, paginate, searchable, searchPlaceholder, searchValue, onSearchChange, customFilters, toolbarStart, exportOptions, renderExpandedRow, onRowClick, getRowKey, emptyMessage, resetKey, minWidth, maxCellCharacters, tableLayout, className, }: DataTableProps<T>): react__default.JSX.Element;
110
+
111
+ type DatePickerProps = Omit<ComponentProps<"input">, "type"> & {
112
+ label?: ReactNode;
113
+ };
114
+ declare function DatePicker({ label, id, required, className, ...props }: DatePickerProps): react.JSX.Element;
115
+
116
+ interface ExpandableSectionProps {
117
+ label: string;
118
+ children: ReactNode;
119
+ defaultOpen?: boolean;
120
+ icon?: ReactNode;
121
+ open?: boolean;
122
+ onToggle?: () => void;
123
+ }
124
+ declare function MyExpandGroup({ label, children, defaultOpen, icon, open, onToggle, }: ExpandableSectionProps): react.JSX.Element;
125
+
126
+ type FastFilterItem = {
127
+ label: string;
128
+ checked?: boolean;
129
+ onChange?: ChangeEventHandler<HTMLInputElement>;
130
+ };
131
+ interface FilterBarProps {
132
+ fastFilters?: FastFilterItem[];
133
+ showSearch?: boolean;
134
+ showSelect?: boolean;
135
+ showAdvancedFilters?: boolean;
136
+ showExport?: boolean;
137
+ typeCreation?: 'revenda' | 'equipamento' | 'no';
138
+ onCreateClick?: () => void;
139
+ createLabel?: string;
140
+ }
141
+ type SearchField<T> = keyof T | ((item: T) => unknown);
142
+ type SearchFilterProps<T> = {
143
+ data?: T[];
144
+ searchFields?: SearchField<T>[];
145
+ searchValue?: string;
146
+ defaultSearchValue?: string;
147
+ searchPlaceholder?: string;
148
+ onSearchChange?: (value: string) => void;
149
+ onFilteredDataChange?: (data: T[]) => void;
150
+ };
151
+ declare const FilterBar: <T extends object>({ fastFilters, showSearch, showSelect, showAdvancedFilters, showExport, typeCreation, onCreateClick, createLabel, data, searchFields, searchValue, defaultSearchValue, searchPlaceholder, onSearchChange, onFilteredDataChange, }: FilterBarProps & SearchFilterProps<T>) => react.JSX.Element;
152
+
153
+ declare const MyButtonMain: ({ children, className, ...props }: React.ButtonHTMLAttributes<HTMLButtonElement>) => react.JSX.Element;
154
+
155
+ type FastFilterProps = ComponentProps<"input"> & {
156
+ label: string;
157
+ };
158
+ declare const FastFilter: ({ label, className, ...props }: FastFilterProps) => react.JSX.Element;
159
+
160
+ type MySearchProps = ComponentProps<"input">;
161
+ declare const MySearch: ({ className, ...props }: MySearchProps) => react.JSX.Element;
162
+
163
+ type Option = {
164
+ label: string;
165
+ value: string;
166
+ };
167
+ interface MySelectProps extends ComponentProps<"select"> {
168
+ options: Option[];
169
+ placeholder?: string;
170
+ containerClassName?: string;
171
+ }
172
+ declare const MySelect: ({ options, placeholder, containerClassName, className, ...props }: MySelectProps) => react.JSX.Element;
173
+
174
+ type HeaderNotification = {
175
+ id: string | number;
176
+ title: string;
177
+ description?: string;
178
+ time?: string;
179
+ read?: boolean;
180
+ };
181
+ type HeaderSearchItem = {
182
+ id: string;
183
+ label: string;
184
+ section?: string;
185
+ keywords?: string;
186
+ };
187
+ type HeaderProps = react__default.ComponentProps<"header"> & {
188
+ title?: string;
189
+ section?: string;
190
+ sectionIcon?: react__default.ReactNode;
191
+ userName?: string;
192
+ notifications?: HeaderNotification[];
193
+ searchItems?: HeaderSearchItem[];
194
+ searchPlaceholder?: string;
195
+ onSearchItemSelect?: (item: HeaderSearchItem) => void;
196
+ onNotificationClick?: (notification: HeaderNotification) => void;
197
+ onMarkAllNotificationsAsRead?: () => void;
198
+ onViewAllNotifications?: () => void;
199
+ };
200
+ declare function Header({ title, section, sectionIcon, userName, notifications, searchItems, searchPlaceholder, onSearchItemSelect, onNotificationClick, onMarkAllNotificationsAsRead, onViewAllNotifications, className, ...props }: HeaderProps): react__default.JSX.Element;
201
+
202
+ interface IconProps {
203
+ name: keyof typeof iconComponents;
204
+ size?: number;
205
+ onClick?: () => void;
206
+ className?: string;
207
+ }
208
+ declare const iconComponents: Record<string, React.ElementType>;
209
+ declare const Icon: React.FC<IconProps>;
210
+
211
+ type MyInputProps = ComponentProps<"input"> & {
212
+ label: string;
213
+ };
214
+ declare const MyInput: ({ label, id, required, className, ...props }: MyInputProps) => react.JSX.Element;
215
+
216
+ type InputNumberProps = Omit<ComponentProps<"input">, "type"> & {
217
+ label?: ReactNode;
218
+ };
219
+ declare function InputNumber({ label, id, required, className, ...props }: InputNumberProps): react.JSX.Element;
220
+
221
+ type LoadingModalProps = {
222
+ open: boolean;
223
+ title?: string;
224
+ message?: string;
225
+ };
226
+ declare function LoadingModal({ open, title, message, }: LoadingModalProps): react.JSX.Element;
227
+
228
+ type MainContentProps<T extends object> = {
229
+ columns: Column<T>[];
230
+ data: T[];
231
+ header?: react__default.ReactNode;
232
+ isClickable?: boolean;
233
+ onRowClick?: (row: T) => void;
234
+ };
235
+ declare function MainContent<T extends object>({ columns, data, header, isClickable, onRowClick, }: MainContentProps<T>): react__default.JSX.Element;
236
+
237
+ type ModalProps = {
238
+ open: boolean;
239
+ title?: ReactNode;
240
+ titleIcon?: ReactNode;
241
+ children: ReactNode;
242
+ footer?: ReactNode;
243
+ onClose?: () => void;
244
+ onSubmit?: FormEventHandler<HTMLFormElement>;
245
+ closeOnBackdrop?: boolean;
246
+ showHeader?: boolean;
247
+ paddedBody?: boolean;
248
+ className?: string;
249
+ bodyClassName?: string;
250
+ };
251
+ declare function Modal({ open, title, titleIcon, children, footer, onClose, onSubmit, closeOnBackdrop, showHeader, paddedBody, className, bodyClassName, }: ModalProps): react.JSX.Element | null;
252
+
253
+ type RadioButtonProps = Omit<ComponentProps<"input">, "type"> & {
254
+ label?: ReactNode;
255
+ };
256
+ declare function RadioButton({ label, id, className, ...props }: RadioButtonProps): react.JSX.Element;
257
+
258
+ type SpinnerProps = {
259
+ className?: string;
260
+ sizeClassName?: string;
261
+ label?: string;
262
+ };
263
+ declare function Spinner({ className, sizeClassName, label, }: SpinnerProps): react.JSX.Element;
264
+
265
+ type SwitchProps = Omit<ComponentProps<"input">, "type"> & {
266
+ label?: ReactNode;
267
+ };
268
+ declare function Switch({ label, id, className, ...props }: SwitchProps): react.JSX.Element;
269
+
270
+ type FilterOption = {
271
+ label: string;
272
+ value: string;
273
+ };
274
+ type TableToolbarProps = {
275
+ searchValue: string;
276
+ onSearchChange: (value: string) => void;
277
+ searchPlaceholder?: string;
278
+ filterLabel?: string;
279
+ filterOptions?: FilterOption[];
280
+ filterValue?: string;
281
+ onFilterChange?: (value: string) => void;
282
+ total: number;
283
+ pageStart: number;
284
+ pageEnd: number;
285
+ onExport?: () => void;
286
+ };
287
+ declare const TableToolbar: ({ searchValue, onSearchChange, searchPlaceholder, filterLabel, filterOptions, filterValue, onFilterChange, total, pageStart, pageEnd, onExport, }: TableToolbarProps) => react.JSX.Element;
288
+
289
+ type TextProps = HTMLAttributes<HTMLParagraphElement> & {
290
+ children?: ReactNode;
291
+ truncate?: boolean;
292
+ preserveLines?: boolean;
293
+ noSelect?: boolean;
294
+ };
295
+ declare function Text({ children, className, truncate, preserveLines, noSelect, ...props }: TextProps): react.JSX.Element;
296
+
297
+ type TextAreaProps = ComponentProps<"textarea"> & {
298
+ label?: ReactNode;
299
+ };
300
+ declare function TextArea({ label, id, required, className, ...props }: TextAreaProps): react.JSX.Element;
301
+
302
+ type ToastVariant = "success" | "warning" | "danger" | "info";
303
+ type ToastProps = {
304
+ title?: ReactNode;
305
+ children?: ReactNode;
306
+ variant?: ToastVariant;
307
+ onClose?: () => void;
308
+ className?: string;
309
+ };
310
+ declare function Toast({ title, children, variant, onClose, className, }: ToastProps): react.JSX.Element;
311
+
312
+ type TooltipPlacement = "top" | "right" | "bottom" | "left";
313
+ type TooltipProps = {
314
+ content: ReactNode;
315
+ children: ReactNode;
316
+ placement?: TooltipPlacement;
317
+ className?: string;
318
+ };
319
+ declare function Tooltip({ content, children, placement, className, }: TooltipProps): react.JSX.Element;
320
+
321
+ export { AccountModal, type AccountModalProps, type AccountTheme, AlignMainContent, AsideBar, type AsideBarGroup, type AsideBarItem, type AsideBarProps, Checkbox, CodeModal, type CodeModalProps, type Column, ContentPreference, DataTable, type DataTableExportOption, type DataTableProps, DatePicker, FastFilter, type FastFilterItem, FilterBar, type FilterBarProps, type FilterOption, Header, type HeaderNotification, type HeaderSearchItem, Icon, InputNumber, LoadingModal, MainContent, Modal, type ModalProps, MyButton, MyButtonMain, MyCreateButton, MyExpandGroup, MyInput, MySearch, MySelect, RadioButton, type SearchField, type SearchFilterProps, type SortDirection, Spinner, Switch, TableToolbar, Text, TextArea, Toast, Tooltip };
package/dist/index.d.ts CHANGED
@@ -1,3 +1,321 @@
1
- import "./styles.css";
2
- export * from "./components";
3
- //# sourceMappingURL=index.d.ts.map
1
+ import * as react from 'react';
2
+ import react__default, { ReactNode, ComponentProps, ChangeEventHandler, FormEventHandler, HTMLAttributes } from 'react';
3
+
4
+ type AccountModalProps = {
5
+ open: boolean;
6
+ onClose: () => void;
7
+ onLogout?: () => void;
8
+ sidebar?: ReactNode;
9
+ children?: ReactNode;
10
+ };
11
+ declare function AccountModal({ open, onClose, onLogout, sidebar, children, }: AccountModalProps): react.JSX.Element;
12
+
13
+ type AccountTheme = "light" | "dark" | "system";
14
+ declare function ContentPreference(): react.JSX.Element;
15
+
16
+ type AlignMainContentProps = {
17
+ children: react__default.ReactNode;
18
+ };
19
+ declare const AlignMainContent: ({ children, }: AlignMainContentProps) => react__default.JSX.Element;
20
+
21
+ type AsideBarItem = {
22
+ label: string;
23
+ icon: ReactNode;
24
+ };
25
+ type AsideBarGroup = {
26
+ id: string;
27
+ label: string;
28
+ icon: ReactNode;
29
+ items: AsideBarItem[];
30
+ };
31
+ type AsideBarProps = Omit<ComponentProps<"aside">, "onNavigate"> & {
32
+ activePage: string;
33
+ onNavigate: (page: string, groupId?: string) => void;
34
+ items?: AsideBarItem[];
35
+ groups?: AsideBarGroup[];
36
+ brandTitle?: string;
37
+ brandSubtitle?: string;
38
+ brandLogoSrc?: string;
39
+ logoutLabel?: string;
40
+ onLogout?: () => void;
41
+ };
42
+ declare function AsideBar({ activePage, onNavigate, items, groups, brandTitle, brandSubtitle, brandLogoSrc, logoutLabel, onLogout, className, ...props }: AsideBarProps): react.JSX.Element;
43
+
44
+ interface ButtonProps$1 extends react__default.ButtonHTMLAttributes<HTMLButtonElement> {
45
+ label: string;
46
+ icon?: react__default.ReactNode;
47
+ }
48
+ declare function MyButton({ label, icon, type, className, ...props }: ButtonProps$1): react__default.JSX.Element;
49
+
50
+ interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
51
+ label: string;
52
+ icon?: React.ReactNode;
53
+ }
54
+ declare function MyCreateButton({ label, icon, type, className, ...props }: ButtonProps): react.JSX.Element;
55
+
56
+ type CheckboxProps = Omit<ComponentProps<"input">, "type"> & {
57
+ label?: ReactNode;
58
+ };
59
+ declare function Checkbox({ label, id, className, ...props }: CheckboxProps): react.JSX.Element;
60
+
61
+ type CodeModalProps = {
62
+ isOpen: boolean;
63
+ isPositive: boolean;
64
+ onClose: () => void;
65
+ successTitle?: string;
66
+ errorTitle?: string;
67
+ autoCloseDuration?: number | null;
68
+ };
69
+ declare function CodeModal({ isOpen, isPositive, onClose, successTitle, errorTitle, autoCloseDuration, }: CodeModalProps): react.JSX.Element | null;
70
+
71
+ type SortDirection = "asc" | "desc";
72
+ type Column<T> = {
73
+ header: react__default.ReactNode;
74
+ accessor: keyof T;
75
+ className?: string;
76
+ headerClassName?: string;
77
+ sortable?: boolean;
78
+ sortValue?: (row: T) => unknown;
79
+ render?: (value: T[keyof T], row: T) => react__default.ReactNode;
80
+ };
81
+ type DataTableExportOption<T> = {
82
+ id: string;
83
+ label: string;
84
+ onExport: (data: T[]) => void | Promise<void>;
85
+ };
86
+ type DataTableProps<T> = {
87
+ columns: Column<T>[];
88
+ data: T[];
89
+ isLoading?: boolean;
90
+ itemsPerPage?: number;
91
+ paginate?: boolean;
92
+ searchable?: boolean;
93
+ searchPlaceholder?: string;
94
+ searchValue?: string;
95
+ onSearchChange?: (value: string) => void;
96
+ customFilters?: react__default.ReactNode;
97
+ toolbarStart?: react__default.ReactNode;
98
+ exportOptions?: DataTableExportOption<T>[];
99
+ renderExpandedRow?: (row: T) => react__default.ReactNode;
100
+ onRowClick?: (row: T) => void;
101
+ getRowKey?: (row: T, index: number) => react__default.Key;
102
+ emptyMessage?: string;
103
+ resetKey?: string | number;
104
+ minWidth?: number | string;
105
+ maxCellCharacters?: number;
106
+ tableLayout?: "auto" | "fixed";
107
+ className?: string;
108
+ };
109
+ declare function DataTable<T extends Record<string, unknown>>({ columns, data, isLoading, itemsPerPage, paginate, searchable, searchPlaceholder, searchValue, onSearchChange, customFilters, toolbarStart, exportOptions, renderExpandedRow, onRowClick, getRowKey, emptyMessage, resetKey, minWidth, maxCellCharacters, tableLayout, className, }: DataTableProps<T>): react__default.JSX.Element;
110
+
111
+ type DatePickerProps = Omit<ComponentProps<"input">, "type"> & {
112
+ label?: ReactNode;
113
+ };
114
+ declare function DatePicker({ label, id, required, className, ...props }: DatePickerProps): react.JSX.Element;
115
+
116
+ interface ExpandableSectionProps {
117
+ label: string;
118
+ children: ReactNode;
119
+ defaultOpen?: boolean;
120
+ icon?: ReactNode;
121
+ open?: boolean;
122
+ onToggle?: () => void;
123
+ }
124
+ declare function MyExpandGroup({ label, children, defaultOpen, icon, open, onToggle, }: ExpandableSectionProps): react.JSX.Element;
125
+
126
+ type FastFilterItem = {
127
+ label: string;
128
+ checked?: boolean;
129
+ onChange?: ChangeEventHandler<HTMLInputElement>;
130
+ };
131
+ interface FilterBarProps {
132
+ fastFilters?: FastFilterItem[];
133
+ showSearch?: boolean;
134
+ showSelect?: boolean;
135
+ showAdvancedFilters?: boolean;
136
+ showExport?: boolean;
137
+ typeCreation?: 'revenda' | 'equipamento' | 'no';
138
+ onCreateClick?: () => void;
139
+ createLabel?: string;
140
+ }
141
+ type SearchField<T> = keyof T | ((item: T) => unknown);
142
+ type SearchFilterProps<T> = {
143
+ data?: T[];
144
+ searchFields?: SearchField<T>[];
145
+ searchValue?: string;
146
+ defaultSearchValue?: string;
147
+ searchPlaceholder?: string;
148
+ onSearchChange?: (value: string) => void;
149
+ onFilteredDataChange?: (data: T[]) => void;
150
+ };
151
+ declare const FilterBar: <T extends object>({ fastFilters, showSearch, showSelect, showAdvancedFilters, showExport, typeCreation, onCreateClick, createLabel, data, searchFields, searchValue, defaultSearchValue, searchPlaceholder, onSearchChange, onFilteredDataChange, }: FilterBarProps & SearchFilterProps<T>) => react.JSX.Element;
152
+
153
+ declare const MyButtonMain: ({ children, className, ...props }: React.ButtonHTMLAttributes<HTMLButtonElement>) => react.JSX.Element;
154
+
155
+ type FastFilterProps = ComponentProps<"input"> & {
156
+ label: string;
157
+ };
158
+ declare const FastFilter: ({ label, className, ...props }: FastFilterProps) => react.JSX.Element;
159
+
160
+ type MySearchProps = ComponentProps<"input">;
161
+ declare const MySearch: ({ className, ...props }: MySearchProps) => react.JSX.Element;
162
+
163
+ type Option = {
164
+ label: string;
165
+ value: string;
166
+ };
167
+ interface MySelectProps extends ComponentProps<"select"> {
168
+ options: Option[];
169
+ placeholder?: string;
170
+ containerClassName?: string;
171
+ }
172
+ declare const MySelect: ({ options, placeholder, containerClassName, className, ...props }: MySelectProps) => react.JSX.Element;
173
+
174
+ type HeaderNotification = {
175
+ id: string | number;
176
+ title: string;
177
+ description?: string;
178
+ time?: string;
179
+ read?: boolean;
180
+ };
181
+ type HeaderSearchItem = {
182
+ id: string;
183
+ label: string;
184
+ section?: string;
185
+ keywords?: string;
186
+ };
187
+ type HeaderProps = react__default.ComponentProps<"header"> & {
188
+ title?: string;
189
+ section?: string;
190
+ sectionIcon?: react__default.ReactNode;
191
+ userName?: string;
192
+ notifications?: HeaderNotification[];
193
+ searchItems?: HeaderSearchItem[];
194
+ searchPlaceholder?: string;
195
+ onSearchItemSelect?: (item: HeaderSearchItem) => void;
196
+ onNotificationClick?: (notification: HeaderNotification) => void;
197
+ onMarkAllNotificationsAsRead?: () => void;
198
+ onViewAllNotifications?: () => void;
199
+ };
200
+ declare function Header({ title, section, sectionIcon, userName, notifications, searchItems, searchPlaceholder, onSearchItemSelect, onNotificationClick, onMarkAllNotificationsAsRead, onViewAllNotifications, className, ...props }: HeaderProps): react__default.JSX.Element;
201
+
202
+ interface IconProps {
203
+ name: keyof typeof iconComponents;
204
+ size?: number;
205
+ onClick?: () => void;
206
+ className?: string;
207
+ }
208
+ declare const iconComponents: Record<string, React.ElementType>;
209
+ declare const Icon: React.FC<IconProps>;
210
+
211
+ type MyInputProps = ComponentProps<"input"> & {
212
+ label: string;
213
+ };
214
+ declare const MyInput: ({ label, id, required, className, ...props }: MyInputProps) => react.JSX.Element;
215
+
216
+ type InputNumberProps = Omit<ComponentProps<"input">, "type"> & {
217
+ label?: ReactNode;
218
+ };
219
+ declare function InputNumber({ label, id, required, className, ...props }: InputNumberProps): react.JSX.Element;
220
+
221
+ type LoadingModalProps = {
222
+ open: boolean;
223
+ title?: string;
224
+ message?: string;
225
+ };
226
+ declare function LoadingModal({ open, title, message, }: LoadingModalProps): react.JSX.Element;
227
+
228
+ type MainContentProps<T extends object> = {
229
+ columns: Column<T>[];
230
+ data: T[];
231
+ header?: react__default.ReactNode;
232
+ isClickable?: boolean;
233
+ onRowClick?: (row: T) => void;
234
+ };
235
+ declare function MainContent<T extends object>({ columns, data, header, isClickable, onRowClick, }: MainContentProps<T>): react__default.JSX.Element;
236
+
237
+ type ModalProps = {
238
+ open: boolean;
239
+ title?: ReactNode;
240
+ titleIcon?: ReactNode;
241
+ children: ReactNode;
242
+ footer?: ReactNode;
243
+ onClose?: () => void;
244
+ onSubmit?: FormEventHandler<HTMLFormElement>;
245
+ closeOnBackdrop?: boolean;
246
+ showHeader?: boolean;
247
+ paddedBody?: boolean;
248
+ className?: string;
249
+ bodyClassName?: string;
250
+ };
251
+ declare function Modal({ open, title, titleIcon, children, footer, onClose, onSubmit, closeOnBackdrop, showHeader, paddedBody, className, bodyClassName, }: ModalProps): react.JSX.Element | null;
252
+
253
+ type RadioButtonProps = Omit<ComponentProps<"input">, "type"> & {
254
+ label?: ReactNode;
255
+ };
256
+ declare function RadioButton({ label, id, className, ...props }: RadioButtonProps): react.JSX.Element;
257
+
258
+ type SpinnerProps = {
259
+ className?: string;
260
+ sizeClassName?: string;
261
+ label?: string;
262
+ };
263
+ declare function Spinner({ className, sizeClassName, label, }: SpinnerProps): react.JSX.Element;
264
+
265
+ type SwitchProps = Omit<ComponentProps<"input">, "type"> & {
266
+ label?: ReactNode;
267
+ };
268
+ declare function Switch({ label, id, className, ...props }: SwitchProps): react.JSX.Element;
269
+
270
+ type FilterOption = {
271
+ label: string;
272
+ value: string;
273
+ };
274
+ type TableToolbarProps = {
275
+ searchValue: string;
276
+ onSearchChange: (value: string) => void;
277
+ searchPlaceholder?: string;
278
+ filterLabel?: string;
279
+ filterOptions?: FilterOption[];
280
+ filterValue?: string;
281
+ onFilterChange?: (value: string) => void;
282
+ total: number;
283
+ pageStart: number;
284
+ pageEnd: number;
285
+ onExport?: () => void;
286
+ };
287
+ declare const TableToolbar: ({ searchValue, onSearchChange, searchPlaceholder, filterLabel, filterOptions, filterValue, onFilterChange, total, pageStart, pageEnd, onExport, }: TableToolbarProps) => react.JSX.Element;
288
+
289
+ type TextProps = HTMLAttributes<HTMLParagraphElement> & {
290
+ children?: ReactNode;
291
+ truncate?: boolean;
292
+ preserveLines?: boolean;
293
+ noSelect?: boolean;
294
+ };
295
+ declare function Text({ children, className, truncate, preserveLines, noSelect, ...props }: TextProps): react.JSX.Element;
296
+
297
+ type TextAreaProps = ComponentProps<"textarea"> & {
298
+ label?: ReactNode;
299
+ };
300
+ declare function TextArea({ label, id, required, className, ...props }: TextAreaProps): react.JSX.Element;
301
+
302
+ type ToastVariant = "success" | "warning" | "danger" | "info";
303
+ type ToastProps = {
304
+ title?: ReactNode;
305
+ children?: ReactNode;
306
+ variant?: ToastVariant;
307
+ onClose?: () => void;
308
+ className?: string;
309
+ };
310
+ declare function Toast({ title, children, variant, onClose, className, }: ToastProps): react.JSX.Element;
311
+
312
+ type TooltipPlacement = "top" | "right" | "bottom" | "left";
313
+ type TooltipProps = {
314
+ content: ReactNode;
315
+ children: ReactNode;
316
+ placement?: TooltipPlacement;
317
+ className?: string;
318
+ };
319
+ declare function Tooltip({ content, children, placement, className, }: TooltipProps): react.JSX.Element;
320
+
321
+ export { AccountModal, type AccountModalProps, type AccountTheme, AlignMainContent, AsideBar, type AsideBarGroup, type AsideBarItem, type AsideBarProps, Checkbox, CodeModal, type CodeModalProps, type Column, ContentPreference, DataTable, type DataTableExportOption, type DataTableProps, DatePicker, FastFilter, type FastFilterItem, FilterBar, type FilterBarProps, type FilterOption, Header, type HeaderNotification, type HeaderSearchItem, Icon, InputNumber, LoadingModal, MainContent, Modal, type ModalProps, MyButton, MyButtonMain, MyCreateButton, MyExpandGroup, MyInput, MySearch, MySelect, RadioButton, type SearchField, type SearchFilterProps, type SortDirection, Spinner, Switch, TableToolbar, Text, TextArea, Toast, Tooltip };