@tap-payments/os-micro-frontend-shared 0.1.375-test.1 → 0.1.375-test.1-test.2-test.3

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 (52) hide show
  1. package/build/components/Sandbox/style.js +3 -2
  2. package/build/components/TableHeader/FiltersRow.d.ts +1 -1
  3. package/build/components/TableHeader/FiltersRow.js +4 -2
  4. package/build/components/TableHeader/TableHeader.d.ts +1 -1
  5. package/build/components/TableHeader/TableHeader.js +2 -2
  6. package/build/components/TableHeader/TableView/CreateViewDialog.d.ts +3 -0
  7. package/build/components/TableHeader/TableView/CreateViewDialog.js +91 -0
  8. package/build/components/TableHeader/TableView/CustomViews.js +1 -1
  9. package/build/components/TableHeader/TableView/TableView.js +0 -1
  10. package/build/components/TableHeader/TableView/ViewSelector.d.ts +5 -0
  11. package/build/components/TableHeader/TableView/ViewSelector.js +81 -0
  12. package/build/components/TableHeader/TableView/ViewsDropdown.d.ts +5 -0
  13. package/build/components/TableHeader/TableView/ViewsDropdown.js +198 -0
  14. package/build/components/TableHeader/TableView/components/ColumnList.d.ts +3 -0
  15. package/build/components/TableHeader/TableView/components/ColumnList.js +70 -0
  16. package/build/components/TableHeader/TableView/components/ViewsSubmenu.d.ts +3 -0
  17. package/build/components/TableHeader/TableView/components/ViewsSubmenu.js +71 -0
  18. package/build/components/TableHeader/TableView/components/index.d.ts +2 -0
  19. package/build/components/TableHeader/TableView/components/index.js +2 -0
  20. package/build/components/TableHeader/TableView/constants.d.ts +10 -0
  21. package/build/components/TableHeader/TableView/constants.js +10 -0
  22. package/build/components/TableHeader/TableView/data.d.ts +5 -0
  23. package/build/components/TableHeader/TableView/data.js +48 -0
  24. package/build/components/TableHeader/TableView/hooks/index.d.ts +6 -0
  25. package/build/components/TableHeader/TableView/hooks/index.js +6 -0
  26. package/build/components/TableHeader/TableView/hooks/useCreateViewDialog.d.ts +22 -0
  27. package/build/components/TableHeader/TableView/hooks/useCreateViewDialog.js +86 -0
  28. package/build/components/TableHeader/TableView/hooks/useDialogPosition.d.ts +8 -0
  29. package/build/components/TableHeader/TableView/hooks/useDialogPosition.js +16 -0
  30. package/build/components/TableHeader/TableView/hooks/useNestedSubmenu.d.ts +7 -0
  31. package/build/components/TableHeader/TableView/hooks/useNestedSubmenu.js +34 -0
  32. package/build/components/TableHeader/TableView/hooks/useOriginalColumns.d.ts +6 -0
  33. package/build/components/TableHeader/TableView/hooks/useOriginalColumns.js +18 -0
  34. package/build/components/TableHeader/TableView/hooks/useSubmenuHover.d.ts +8 -0
  35. package/build/components/TableHeader/TableView/hooks/useSubmenuHover.js +43 -0
  36. package/build/components/TableHeader/TableView/hooks/useViewSelector.d.ts +50 -0
  37. package/build/components/TableHeader/TableView/hooks/useViewSelector.js +239 -0
  38. package/build/components/TableHeader/TableView/hooks/useViewsManager.d.ts +20 -0
  39. package/build/components/TableHeader/TableView/hooks/useViewsManager.js +96 -0
  40. package/build/components/TableHeader/TableView/index.d.ts +12 -3
  41. package/build/components/TableHeader/TableView/index.js +13 -3
  42. package/build/components/TableHeader/TableView/styles.d.ts +127 -0
  43. package/build/components/TableHeader/TableView/styles.js +426 -0
  44. package/build/components/TableHeader/TableView/types.d.ts +183 -0
  45. package/build/components/TableHeader/TableView/types.js +1 -0
  46. package/build/components/TableHeader/TableView/utils.d.ts +121 -0
  47. package/build/components/TableHeader/TableView/utils.js +463 -0
  48. package/build/components/TableHeader/index.d.ts +1 -0
  49. package/build/components/TableHeader/type.d.ts +15 -1
  50. package/build/constants/assets.d.ts +1 -0
  51. package/build/constants/assets.js +1 -0
  52. package/package.json +3 -2
@@ -0,0 +1,426 @@
1
+ import { Box, styled, Button, Paper, TextField } from '@mui/material';
2
+ export const ButtonStyled = styled(Box)(({ theme }) => ({
3
+ display: 'flex',
4
+ alignItems: 'center',
5
+ justifyContent: 'space-between',
6
+ borderRadius: '4px',
7
+ background: theme.palette.common.white,
8
+ padding: '8px',
9
+ border: '1px solid',
10
+ borderColor: theme.palette.divider,
11
+ gap: 8,
12
+ height: 32,
13
+ cursor: 'pointer',
14
+ '&:hover': {
15
+ border: '1px solid',
16
+ borderColor: theme.palette.info.dark,
17
+ boxShadow: theme.shadows[7],
18
+ },
19
+ }));
20
+ export const ViewWrapper = styled(Box)(({ theme }) => ({
21
+ background: theme.palette.common.white,
22
+ display: 'flex',
23
+ gap: theme.spacing(1),
24
+ alignItems: 'center',
25
+ color: theme.palette.text.primary,
26
+ fontSize: '11px',
27
+ fontWeight: theme.typography.fontWeightRegular,
28
+ textTransform: 'capitalize',
29
+ position: 'relative',
30
+ transition: '0.5s',
31
+ paddingRight: 0,
32
+ marginRight: 0,
33
+ '&:after': {
34
+ content: '""',
35
+ position: 'absolute',
36
+ left: -8,
37
+ right: 0,
38
+ width: '100%',
39
+ height: '100%',
40
+ boxShadow: theme.shadows[11],
41
+ borderRadius: theme.spacing(0.5),
42
+ paddingInlineStart: theme.spacing(1),
43
+ paddingTop: '9px',
44
+ paddingBottom: '9px',
45
+ paddingInlineEnd: '9px',
46
+ zIndex: -1,
47
+ },
48
+ '& > *:last-child': {
49
+ marginRight: 0,
50
+ paddingRight: 0,
51
+ },
52
+ }));
53
+ export const ListStyled = styled(Box)(({ theme }) => ({
54
+ background: theme.palette.common.white,
55
+ borderRadius: theme.spacing(1),
56
+ boxShadow: theme.shadows[5],
57
+ border: '1px solid',
58
+ borderColor: theme.palette.divider,
59
+ zIndex: 5,
60
+ fontSize: '11px',
61
+ width: 192,
62
+ }));
63
+ export const DropdownStyled = styled(Box)(() => ({
64
+ minWidth: 160,
65
+ position: 'relative',
66
+ marginRight: 0,
67
+ paddingRight: 0,
68
+ }));
69
+ export const MenuItem = styled(Box, { shouldForwardProp: (props) => props !== 'addColumnViewEl' })(({ theme }) => ({
70
+ padding: theme.spacing(1),
71
+ paddingInlineEnd: 2,
72
+ borderBottom: '1px solid',
73
+ borderColor: theme.palette.divider,
74
+ display: 'flex',
75
+ alignItems: 'center',
76
+ height: 32,
77
+ cursor: 'pointer',
78
+ img: {
79
+ height: 12,
80
+ },
81
+ '.check-icon': {
82
+ height: 'auto',
83
+ marginInlineEnd: theme.spacing(1),
84
+ },
85
+ '&:hover': {
86
+ color: theme.palette.info.dark,
87
+ fontWeight: theme.typography.fontWeightBold,
88
+ },
89
+ '&.add-column': {
90
+ justifyContent: 'space-between',
91
+ paddingInlineEnd: theme.spacing(1),
92
+ position: 'relative',
93
+ border: 'none',
94
+ zIndex: 5,
95
+ borderBottom: '1px solid',
96
+ borderColor: theme.palette.divider,
97
+ borderTopRightRadius: theme.spacing(1),
98
+ borderTopLeftRadius: theme.spacing(1),
99
+ '&:hover': {
100
+ boxShadow: theme.shadows[6],
101
+ },
102
+ },
103
+ }));
104
+ export const Space = styled(Box)(({ theme }) => ({
105
+ width: 12,
106
+ marginInlineEnd: theme.spacing(1),
107
+ }));
108
+ export const SpaceAfter = styled(Box)(() => ({
109
+ width: 16,
110
+ }));
111
+ export const DialogContentWrapper = styled(Box)(({ theme }) => ({
112
+ display: 'flex',
113
+ flexDirection: 'column',
114
+ height: 'calc(100% - 32px)',
115
+ backgroundColor: theme.palette.background.paper,
116
+ position: 'relative',
117
+ }));
118
+ export const ScrollableContent = styled(Box)(() => ({
119
+ flex: 1,
120
+ overflowY: 'auto',
121
+ paddingLeft: 16,
122
+ paddingRight: 16,
123
+ paddingBottom: 64,
124
+ }));
125
+ export const TitleSection = styled(Box)(() => ({
126
+ padding: '24px 0',
127
+ display: 'flex',
128
+ justifyContent: 'space-between',
129
+ alignItems: 'center',
130
+ }));
131
+ export const ColumnListContainer = styled(Box)(({ theme }) => ({
132
+ border: '1px solid',
133
+ borderColor: theme.palette.divider,
134
+ borderRadius: '8px',
135
+ overflow: 'hidden',
136
+ display: 'flex',
137
+ flexDirection: 'column',
138
+ flex: 1,
139
+ minHeight: 0,
140
+ }));
141
+ export const SelectAllHeader = styled(Box)(({ theme }) => ({
142
+ display: 'flex',
143
+ alignItems: 'center',
144
+ padding: '12px',
145
+ borderBottom: '1px solid',
146
+ borderColor: theme.palette.divider,
147
+ backgroundColor: '#FAFAFA',
148
+ cursor: 'pointer',
149
+ '&:hover': {
150
+ backgroundColor: '#F0F0F0',
151
+ },
152
+ }));
153
+ export const ColumnItemRow = styled(Box, {
154
+ shouldForwardProp: (prop) => prop !== 'isHovered' && prop !== 'isDate',
155
+ })(({ theme, isHovered, isDate }) => ({
156
+ display: 'flex',
157
+ alignItems: 'center',
158
+ padding: '12px',
159
+ borderBottom: '1px solid',
160
+ borderColor: theme.palette.divider,
161
+ backgroundColor: isHovered ? theme.palette.action.hover : theme.palette.background.paper,
162
+ cursor: isDate ? 'default' : 'grab',
163
+ '&:hover': {
164
+ backgroundColor: isDate ? theme.palette.background.paper : theme.palette.action.hover,
165
+ },
166
+ '&:last-child': {
167
+ borderBottom: 'none',
168
+ },
169
+ }));
170
+ export const DragIconWrapper = styled(Box)(() => ({
171
+ width: 20,
172
+ height: 20,
173
+ marginRight: 8,
174
+ display: 'flex',
175
+ alignItems: 'center',
176
+ justifyContent: 'center',
177
+ flexShrink: 0,
178
+ }));
179
+ export const CheckboxWrapper = styled(Box)(() => ({
180
+ display: 'flex',
181
+ alignItems: 'center',
182
+ justifyContent: 'center',
183
+ padding: 0,
184
+ width: 14,
185
+ height: 14,
186
+ minWidth: 14,
187
+ minHeight: 14,
188
+ flexShrink: 0,
189
+ }));
190
+ export const FooterBar = styled(Box)(({ theme }) => ({
191
+ position: 'absolute',
192
+ bottom: 0,
193
+ left: 0,
194
+ right: 0,
195
+ height: 35,
196
+ backgroundColor: '#F8F9FB',
197
+ borderTop: '1px solid',
198
+ borderColor: theme.palette.divider,
199
+ }));
200
+ export const CreateButtonWrapper = styled(Box)(() => ({
201
+ position: 'absolute',
202
+ bottom: 12,
203
+ right: 16,
204
+ padding: 6,
205
+ backgroundColor: 'white',
206
+ }));
207
+ export const SubmenuPaper = styled(Paper)(() => ({
208
+ paddingTop: 4,
209
+ paddingBottom: 4,
210
+ minWidth: 180,
211
+ boxShadow: '0 4px 12px rgba(0,0,0,0.15)',
212
+ borderRadius: '8px',
213
+ }));
214
+ export const SubmenuItem = styled(Box)(({ theme }) => ({
215
+ display: 'flex',
216
+ alignItems: 'center',
217
+ padding: '8px 12px',
218
+ cursor: 'pointer',
219
+ }));
220
+ export const DeleteButton = styled(Button)(() => ({
221
+ color: '#FF0000',
222
+ textTransform: 'none',
223
+ fontSize: 10,
224
+ fontWeight: 500,
225
+ borderRadius: '4px',
226
+ border: '1px solid #F4F4F4',
227
+ paddingLeft: 8,
228
+ paddingRight: 8,
229
+ paddingTop: 4,
230
+ paddingBottom: 4,
231
+ '&:hover': {
232
+ backgroundColor: 'transparent',
233
+ },
234
+ }));
235
+ export const CreateButton = styled(Button)(({ theme }) => ({
236
+ fontSize: 9,
237
+ fontWeight: 600,
238
+ borderRadius: 4,
239
+ paddingLeft: 20,
240
+ paddingRight: 20,
241
+ paddingTop: 8,
242
+ paddingBottom: 8,
243
+ textTransform: 'none',
244
+ backgroundColor: '#1F88D0',
245
+ '&:hover': {
246
+ backgroundColor: '#1A7BC0',
247
+ },
248
+ '&.Mui-disabled': {
249
+ backgroundColor: theme.palette.grey[300],
250
+ color: theme.palette.grey[500],
251
+ },
252
+ }));
253
+ export const NameTextField = styled(TextField)(({ theme }) => ({
254
+ '& .MuiFilledInput-root': {
255
+ borderRadius: '8px',
256
+ backgroundColor: theme.palette.background.paper,
257
+ border: '1px solid',
258
+ borderColor: theme.palette.divider,
259
+ '&:hover': {
260
+ backgroundColor: theme.palette.background.paper,
261
+ },
262
+ '&.Mui-focused': {
263
+ backgroundColor: theme.palette.background.paper,
264
+ },
265
+ '&::before, &::after': {
266
+ display: 'none',
267
+ },
268
+ },
269
+ }));
270
+ export const checkboxSx = {
271
+ display: 'flex',
272
+ alignItems: 'center',
273
+ justifyContent: 'center',
274
+ padding: 0,
275
+ width: 14,
276
+ height: 14,
277
+ minWidth: 14,
278
+ minHeight: 14,
279
+ flexShrink: 0,
280
+ color: 'grey.A400',
281
+ '&.Mui-checked': {
282
+ color: 'info.dark',
283
+ },
284
+ '&.MuiCheckbox-indeterminate': {
285
+ color: 'info.dark',
286
+ },
287
+ '&.Mui-disabled.Mui-checked': {
288
+ color: 'grey.500',
289
+ '& .MuiSvgIcon-root': {
290
+ backgroundColor: 'grey.500',
291
+ borderRadius: '3px',
292
+ color: '#fff',
293
+ },
294
+ },
295
+ '& .MuiSvgIcon-root': {
296
+ width: 14,
297
+ height: 14,
298
+ },
299
+ '& img': {
300
+ width: 14,
301
+ height: 14,
302
+ },
303
+ };
304
+ export const getDialogPaperStyle = (width, height) => ({
305
+ margin: 0,
306
+ maxHeight: '100%',
307
+ maxWidth: 'none',
308
+ width,
309
+ height,
310
+ borderRadius: 12,
311
+ overflow: 'hidden',
312
+ boxShadow: '0px 8px 32px rgba(0, 0, 0, 0.15)',
313
+ });
314
+ export const dialogSx = {
315
+ backgroundColor: 'transparent',
316
+ pointerEvents: 'none',
317
+ zIndex: 1300,
318
+ '& .MuiDialog-container': {
319
+ transition: 'none !important',
320
+ zIndex: 1300,
321
+ },
322
+ '& .MuiDialog-paper': {
323
+ transition: 'none !important',
324
+ pointerEvents: 'auto',
325
+ zIndex: 1300,
326
+ },
327
+ };
328
+ export const ResetHeaderBox = styled(Box)(({ theme }) => ({
329
+ display: 'flex',
330
+ alignItems: 'center',
331
+ justifyContent: 'space-between',
332
+ paddingLeft: theme.spacing(1.5),
333
+ paddingRight: theme.spacing(1.5),
334
+ paddingTop: theme.spacing(1),
335
+ paddingBottom: theme.spacing(1),
336
+ cursor: 'pointer',
337
+ '&:hover': {
338
+ backgroundColor: theme.palette.action.hover,
339
+ },
340
+ }));
341
+ export const ResetCheckboxSx = {
342
+ p: 0,
343
+ width: 14,
344
+ height: 14,
345
+ minWidth: 14,
346
+ minHeight: 14,
347
+ '&.Mui-checked': { color: 'info.dark' },
348
+ '&.MuiCheckbox-indeterminate': { color: 'info.dark' },
349
+ '& .MuiSvgIcon-root': { width: 14, height: 14 },
350
+ };
351
+ export const SubmenuContainer = styled(Box)(() => ({
352
+ minWidth: 200,
353
+ display: 'flex',
354
+ flexDirection: 'column',
355
+ maxHeight: '80vh',
356
+ overflow: 'hidden',
357
+ }));
358
+ export const ColumnItemsContainer = styled(Box)(() => ({
359
+ flex: 1,
360
+ overflowY: 'auto',
361
+ paddingLeft: 6,
362
+ paddingRight: 6,
363
+ minHeight: 0,
364
+ }));
365
+ export const SaveCustomViewBox = styled(Box)(() => ({
366
+ paddingLeft: 8,
367
+ paddingRight: 8,
368
+ paddingTop: 8,
369
+ paddingBottom: 8,
370
+ flexShrink: 0,
371
+ }));
372
+ export const SaveCustomViewInnerBox = styled(Box)(({ disabled }) => ({
373
+ width: '100%',
374
+ borderRadius: '8px',
375
+ backgroundColor: '#1F88D00D',
376
+ padding: '8px',
377
+ marginLeft: 6,
378
+ marginRight: 6,
379
+ display: 'flex',
380
+ flexDirection: 'column',
381
+ gap: '6px',
382
+ cursor: disabled ? 'not-allowed' : 'pointer',
383
+ opacity: disabled ? 0.5 : 1,
384
+ }));
385
+ export const ButtonsContainer = styled(Box)(({ theme }) => ({
386
+ display: 'flex',
387
+ justifyContent: 'flex-end',
388
+ gap: 12,
389
+ paddingTop: 8,
390
+ paddingBottom: 8,
391
+ paddingLeft: 12,
392
+ paddingRight: 12,
393
+ flexShrink: 0,
394
+ borderTop: '1px solid',
395
+ borderColor: theme.palette.divider,
396
+ }));
397
+ export const CancelButtonSx = {
398
+ fontSize: 11,
399
+ fontWeight: 400,
400
+ textTransform: 'none',
401
+ color: 'text.primary',
402
+ minWidth: 80,
403
+ height: 38,
404
+ borderRadius: '8px',
405
+ border: '1px solid #F2F2F2',
406
+ };
407
+ export const OkayButtonSx = {
408
+ fontSize: 11,
409
+ fontWeight: 500,
410
+ textTransform: 'none',
411
+ backgroundColor: '#1F88D0',
412
+ minWidth: 80,
413
+ height: 38,
414
+ borderRadius: '8px',
415
+ boxShadow: 'none',
416
+ '&:hover': {
417
+ backgroundColor: '#1976B8',
418
+ boxShadow: 'none',
419
+ },
420
+ };
421
+ export const ModifiedTextSx = {
422
+ color: '#20232B80',
423
+ fontSize: '9px',
424
+ fontWeight: 500,
425
+ marginLeft: '4px',
426
+ };
@@ -0,0 +1,183 @@
1
+ /// <reference types="react" />
2
+ import type { ColumnViewProps, TableMode } from '../../../types/index.js';
3
+ import type { TableHeaderProps, ViewOption } from '../type';
4
+ export interface ViewMenuItem {
5
+ label: string;
6
+ id: string;
7
+ templateId?: string;
8
+ columns?: string[];
9
+ submenu?: ColumnViewProps[];
10
+ isCustom?: boolean;
11
+ default?: boolean;
12
+ }
13
+ export interface FieldItem {
14
+ code: string;
15
+ name: {
16
+ text: string;
17
+ lang: string;
18
+ }[];
19
+ order?: number | null;
20
+ default?: boolean;
21
+ }
22
+ export interface ColumnItem {
23
+ code: string;
24
+ name: {
25
+ text: string;
26
+ lang: string;
27
+ }[];
28
+ order?: number;
29
+ default?: boolean;
30
+ fields?: FieldItem[];
31
+ }
32
+ export interface LayoutSection {
33
+ code: string;
34
+ columns: ColumnItem[];
35
+ }
36
+ export interface TemplateAPIMetadata {
37
+ segment: string;
38
+ app: string;
39
+ service: string;
40
+ user: {
41
+ id: string;
42
+ };
43
+ master_template_id?: string;
44
+ }
45
+ export interface CreateTemplatePayload extends TemplateAPIMetadata {
46
+ name: string;
47
+ layout: LayoutSection[];
48
+ }
49
+ export interface UpdateTemplatePayload extends TemplateAPIMetadata {
50
+ name: string;
51
+ layout: LayoutSection[];
52
+ }
53
+ export interface Template {
54
+ templateId: string;
55
+ segment: string;
56
+ app: string;
57
+ service: string;
58
+ name: string;
59
+ layout: LayoutSection[];
60
+ id: {
61
+ timestamp: number;
62
+ date: string;
63
+ };
64
+ masterTemplateId: string;
65
+ user: {
66
+ id: string;
67
+ };
68
+ created: number;
69
+ updated: number;
70
+ default: boolean;
71
+ }
72
+ export interface TemplatesList {
73
+ object: string;
74
+ live_mode: boolean;
75
+ api_version: string;
76
+ feature_version: string;
77
+ count: number;
78
+ has_more: boolean;
79
+ templates: Template[];
80
+ }
81
+ export interface CreateCustomViewDialogProps {
82
+ open: boolean;
83
+ onClose: () => void;
84
+ onCreate?: (data: {
85
+ name: string;
86
+ selectedColumns: ColumnViewProps[];
87
+ layout: LayoutSection;
88
+ }) => Promise<void>;
89
+ availableColumns?: ColumnViewProps[];
90
+ defaultColumns?: ColumnViewProps[];
91
+ editingView?: {
92
+ id: string;
93
+ label: string;
94
+ templateId?: string;
95
+ submenu?: ColumnViewProps[];
96
+ } | null;
97
+ onDelete?: (viewId: string) => Promise<void>;
98
+ tableViews?: ColumnViewProps[];
99
+ mode?: TableMode;
100
+ }
101
+ export interface ColumnCheckState {
102
+ checked: boolean;
103
+ indeterminate: boolean;
104
+ }
105
+ export interface ViewSelectorProps {
106
+ onViewChange?: TableHeaderProps['onViewChange'];
107
+ onCreateCustomView?: (data: {
108
+ name: string;
109
+ selectedColumns: ColumnViewProps[];
110
+ layout: LayoutSection;
111
+ }) => Promise<void>;
112
+ onEditCustomView?: (viewId: string, data: {
113
+ name: string;
114
+ selectedColumns: ColumnViewProps[];
115
+ layout: LayoutSection;
116
+ }) => Promise<void>;
117
+ onDeleteCustomView?: (viewId: string) => Promise<void>;
118
+ tableMode?: TableMode;
119
+ templates: Template[];
120
+ lang?: string;
121
+ }
122
+ export interface ViewsDropdownProps {
123
+ open: boolean;
124
+ selectedViewInfo: ViewOption;
125
+ setSelectedViewInfo: (selected: ViewOption, viewMenuItem?: ViewMenuItem) => void;
126
+ onSelect: (e: React.MouseEvent<HTMLDivElement>) => void;
127
+ setViews?: (views: string[]) => void;
128
+ anchorEl: Element | null;
129
+ onCreateCustomView?: (useCurrentState?: boolean) => void;
130
+ customViews?: ViewMenuItem[];
131
+ onEditCustomView?: (view: ViewMenuItem) => void;
132
+ onSaveDefaultColumns?: (columns: ColumnViewProps[]) => void;
133
+ defaultColumns?: ColumnViewProps[];
134
+ setDefaultColumns?: (columns: ColumnViewProps[]) => void;
135
+ updateSelectedView?: (view: ViewMenuItem) => void;
136
+ mode?: TableMode;
137
+ defaultTemplate?: ViewMenuItem;
138
+ }
139
+ export interface ColumnListProps {
140
+ selectedColumns: ColumnViewProps[];
141
+ columnNames: string[];
142
+ allSelected: boolean;
143
+ someSelected: boolean;
144
+ hoveredColumn: string | null;
145
+ anchorEl: HTMLElement | null;
146
+ onReorder: (reorderedNames: string[]) => void;
147
+ onColumnToggle: (columnName: string) => void;
148
+ onSubItemToggle: (columnName: string, subItemName: string) => void;
149
+ onSelectAll: () => void;
150
+ onResetToDefault: () => void;
151
+ onSubmenuEnter: (columnName: string, element: HTMLElement) => void;
152
+ onSubmenuLeave: () => void;
153
+ onCancelClose: () => void;
154
+ hasChanges?: boolean;
155
+ }
156
+ export interface ViewsSubmenuProps {
157
+ columns: ColumnViewProps[];
158
+ allCurrentSelected: boolean;
159
+ someCurrentSelected: boolean;
160
+ onSelectAll: () => void;
161
+ onReset: () => void;
162
+ onColumnToggle: (columnName: string) => void;
163
+ onNestedItemToggle: (columnName: string, subItemName: string) => void;
164
+ onReorder: (reorderedColumnNames: string[]) => void;
165
+ anchorEl: HTMLElement | null;
166
+ isModified?: boolean;
167
+ }
168
+ export interface UseCreateViewDialogProps {
169
+ open: boolean;
170
+ availableColumns: ColumnViewProps[];
171
+ defaultColumns: ColumnViewProps[];
172
+ editingView?: {
173
+ id: string;
174
+ label: string;
175
+ submenu?: ColumnViewProps[];
176
+ } | null;
177
+ tableViews?: ColumnViewProps[];
178
+ }
179
+ export interface UseViewsManagerProps {
180
+ tableMode: TableMode;
181
+ templates: Template[];
182
+ lang?: string;
183
+ }
@@ -0,0 +1 @@
1
+ export {};