@inceptionbg/iui 2.0.15 → 2.0.17

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/dist/NoAccessPage-BmizYfw0.js +2 -0
  2. package/dist/{NoAccessPage-DBq5IzIf.js.map → NoAccessPage-BmizYfw0.js.map} +1 -1
  3. package/dist/NotFoundPage-Cv544vAr.js +2 -0
  4. package/dist/{NotFoundPage-DM-I96ar.js.map → NotFoundPage-Cv544vAr.js.map} +1 -1
  5. package/dist/index.d.ts +160 -91
  6. package/dist/index.js +1 -1
  7. package/dist/index.js.map +1 -1
  8. package/dist/iui.css +1 -1
  9. package/package.json +4 -7
  10. package/src/assets/icons/duotone/faBell.ts +17 -0
  11. package/src/assets/icons/duotone/faPen.ts +18 -0
  12. package/src/assets/icons/duotone/faTrashCan.ts +18 -0
  13. package/src/assets/icons/light/faBell.ts +15 -0
  14. package/src/assets/icons/light/faEnvelope.ts +15 -0
  15. package/src/assets/icons/regular/faEllipsisVertical.ts +15 -0
  16. package/src/assets/icons/solid/faEnvelopeDot.ts +15 -0
  17. package/src/components/Button/SplitButton.tsx +5 -5
  18. package/src/components/Dialog/Dialog.tsx +3 -3
  19. package/src/components/Header/Components/ModuleSelect.tsx +5 -5
  20. package/src/components/Header/Components/Notifications.tsx +208 -0
  21. package/src/components/Header/Components/UserMenu.tsx +15 -14
  22. package/src/components/Header/Header.tsx +5 -4
  23. package/src/components/Inputs/NumberInput.tsx +3 -0
  24. package/src/components/Inputs/Selects/components/SelectWrapper.tsx +48 -29
  25. package/src/components/Inputs/TextInput.tsx +1 -0
  26. package/src/components/List/ListItem.tsx +1 -1
  27. package/src/components/Loader/ProgressBar.tsx +1 -1
  28. package/src/components/Menu/Menu.tsx +3 -0
  29. package/src/components/Pullover/Pullover.tsx +38 -39
  30. package/src/components/Table/Table.tsx +23 -32
  31. package/{idea/Table/Components/Columns → src/components/Table/components/columns}/ColumnsList.tsx +12 -14
  32. package/src/components/Table/components/columns/TableColumnsEdit.tsx +112 -0
  33. package/src/components/Table/components/edit/TableEditRow.tsx +26 -21
  34. package/src/components/Table/components/header/TableHeaderRow.tsx +2 -1
  35. package/src/components/Table/components/items/TableItemActions.tsx +18 -13
  36. package/src/components/Table/components/print/TablePrint.tsx +1 -5
  37. package/src/components/Table/components/templates/CreateTemplateDialog.tsx +48 -0
  38. package/src/components/Table/components/templates/TableTemplates.tsx +24 -4
  39. package/src/components/Table/contexts/TableContext.tsx +34 -33
  40. package/src/components/Table/hooks/localHooks/useLocalTableColumns.tsx +27 -28
  41. package/src/components/Table/hooks/localHooks/useLocalTableData.tsx +17 -11
  42. package/src/components/Table/hooks/localHooks/useLocalTableKeyboard.ts +8 -6
  43. package/src/components/Table/hooks/useTableColumns.ts +16 -10
  44. package/src/components/Table/hooks/useTableEdit.tsx +24 -2
  45. package/src/components/Table/hooks/useTablePrint.ts +12 -4
  46. package/src/components/Table/hooks/useTableSelect.ts +1 -1
  47. package/src/components/Tabs/Tabs.tsx +1 -0
  48. package/src/components/Tooltip/Tooltip.tsx +81 -14
  49. package/src/hooks/useIsMenuOpen.ts +3 -3
  50. package/src/hooks/usePopupControl.ts +9 -4
  51. package/src/index.ts +24 -5
  52. package/src/styles/App.scss +1 -0
  53. package/src/styles/components/_badge.scss +8 -1
  54. package/src/styles/components/_header.scss +18 -8
  55. package/src/styles/components/_list.scss +1 -1
  56. package/src/styles/components/_notifications.scss +71 -0
  57. package/src/styles/components/_page.scss +1 -0
  58. package/src/styles/components/_pullover.scss +1 -1
  59. package/src/styles/components/_sidebar.scss +1 -3
  60. package/src/styles/components/_table.scss +110 -57
  61. package/src/styles/variables/_variables.scss +9 -0
  62. package/src/types/IHeader.ts +1 -1
  63. package/src/types/IKeyboard.ts +0 -5
  64. package/src/types/IMenu.ts +2 -2
  65. package/src/types/INotifications.ts +15 -0
  66. package/src/types/IPopup.ts +2 -2
  67. package/src/types/ITable.ts +36 -32
  68. package/src/utils/i18n/i18nIUICyrilic.ts +12 -0
  69. package/src/utils/i18n/i18nIUILatin.ts +13 -0
  70. package/src/utils/i18n/i18nIUIMe.ts +12 -0
  71. package/src/utils/objectUtils.ts +19 -0
  72. package/src/utils/tableUtils.ts +1 -1
  73. package/dist/NoAccessPage-DBq5IzIf.js +0 -2
  74. package/dist/NotFoundPage-DM-I96ar.js +0 -2
  75. package/idea/Notifications.tsx +0 -245
  76. package/idea/Table/Components/Columns/SetColumnsList.tsx +0 -113
package/src/index.ts CHANGED
@@ -2,7 +2,7 @@ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
2
2
  import type { IconDefinition } from '@fortawesome/fontawesome-svg-core';
3
3
  import clsx from 'clsx';
4
4
  import dayjs from 'dayjs';
5
- import { DragDropContext, Draggable, Droppable } from 'react-beautiful-dnd';
5
+ import { DragDropContext, Draggable, Droppable } from '@hello-pangea/dnd';
6
6
  import { ToastContainer } from 'react-toastify';
7
7
 
8
8
  import type { IFormWrapper } from './components/Wrappers/FormWrapper';
@@ -17,14 +17,21 @@ import type {
17
17
  } from './types/IBasic';
18
18
  import type { IKeyboardAction } from './types/IKeyboard';
19
19
  import type { IMenuItem, IMenuPlacement } from './types/IMenu';
20
- import type { PopupControlRef, IPopupControl } from './types/IPopup';
20
+ import type { IPopupControlRef, IPopupControl, ILocalPopupControl } from './types/IPopup';
21
21
  import type { IError } from './types/IError';
22
+ import type {
23
+ INotification,
24
+ // INotificationType,
25
+ // INotificationValueKey,
26
+ } from './types/INotifications';
27
+ import type { INotificationsProps } from './components/Header/Components/Notifications';
22
28
  import type { ISelectData } from './types/ISelect';
23
29
  import type { ITab } from './types/ITab';
24
30
  import type {
25
31
  IGetPrintData,
26
32
  IPagination,
27
33
  IPaginationControl,
34
+ IPrintData,
28
35
  ITable,
29
36
  ITableColumn,
30
37
  ITableDataActions,
@@ -34,6 +41,7 @@ import type {
34
41
  ITableFilter,
35
42
  ITableFilterData,
36
43
  ITableFilterItem,
44
+ ITableItemDeleteData,
37
45
  ITableSort,
38
46
  ITableTemplateData,
39
47
  IReportTemplate,
@@ -95,6 +103,7 @@ import { Pullover } from './components/Pullover/Pullover';
95
103
 
96
104
  ///// TABLE /////
97
105
  import { Table } from './components/Table/Table';
106
+ import { CreateTemplateDialog } from './components/Table/components/templates/CreateTemplateDialog';
98
107
  // import { ItemEditOptionsButtons } from './components/Table/Components/Edit/ItemEditOptionsButtons';
99
108
  // import { TableEditRow } from './components/Table/Components/Edit/TableEditRow';
100
109
  // import { FilterItem } from './components/Table/Components/FilterItem';
@@ -107,7 +116,10 @@ import { useTableEdit } from './components/Table/hooks/useTableEdit';
107
116
  import { useTableFilterFields } from './components/Table/hooks/useTableFilterFields';
108
117
  import { useTablePagination } from './components/Table/hooks/useTablePagination';
109
118
  import { useTablePrint } from './components/Table/hooks/useTablePrint';
110
- import { useTableSearch } from './components/Table/hooks/useTableSearch';
119
+ import {
120
+ useTableSearch,
121
+ type ITableSearchProps,
122
+ } from './components/Table/hooks/useTableSearch';
111
123
  import { useTableSelect } from './components/Table/hooks/useTableSelect';
112
124
  import { useTableSort } from './components/Table/hooks/useTableSort';
113
125
 
@@ -234,6 +246,7 @@ export {
234
246
 
235
247
  export {
236
248
  Table,
249
+ CreateTemplateDialog,
237
250
  // SetTableFilter,
238
251
  // GridTable,
239
252
  // TablePrint,
@@ -259,18 +272,22 @@ export type {
259
272
  IKeyboardAction,
260
273
  IMenuItem,
261
274
  IMenuPlacement,
262
- PopupControlRef,
263
- IPopupControl as IPopupControl,
275
+ IPopupControlRef as PopupControlRef,
276
+ IPopupControl,
277
+ ILocalPopupControl,
264
278
  IError,
265
279
  IFormWrapper,
266
280
  IHeaderAction,
267
281
  IHeaderUserMenuProps,
282
+ INotification,
283
+ INotificationsProps,
268
284
  IPagination,
269
285
  ISelectData,
270
286
  IPaginationControl,
271
287
  ISimpleObject,
272
288
  ISimpleObjectWithCode,
273
289
  IStringObject,
290
+ IPrintData,
274
291
  ITab,
275
292
  ITable,
276
293
  ITableColumn,
@@ -280,7 +297,9 @@ export type {
280
297
  ITableEdit,
281
298
  ITableFilter,
282
299
  ITableFilterData,
300
+ ITableSearchProps,
283
301
  ITableFilterItem,
302
+ ITableItemDeleteData,
284
303
  ITableSort,
285
304
  ITableTemplateData,
286
305
  IReportTemplate,
@@ -29,6 +29,7 @@
29
29
  @use './components/list';
30
30
  @use './components/loader';
31
31
  @use './components/menu';
32
+ @use './components/notifications';
32
33
  @use './components/page';
33
34
  @use './components/portal';
34
35
  @use './components/print';
@@ -15,9 +15,15 @@
15
15
  padding: 0 4px;
16
16
  &.primary {
17
17
  color: var(--text-inverse);
18
- border: 2px solid white;
18
+ border: 2px solid var(--background);
19
19
  background-color: var(--primary);
20
20
  }
21
+ &.header-btn-badge {
22
+ border: 1px solid var(--primary);
23
+ background-color: var(--danger);
24
+ right: 4px;
25
+ top: 4px;
26
+ }
21
27
  // SIZES
22
28
  &.s {
23
29
  font-size: 10px;
@@ -36,6 +42,7 @@
36
42
  border-radius: 20px;
37
43
  width: fit-content;
38
44
  font-size: 12px;
45
+ box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.3);
39
46
  &.success {
40
47
  background-color: var(--success-200);
41
48
  }
@@ -9,7 +9,7 @@
9
9
  display: flex;
10
10
  align-items: center;
11
11
  justify-content: space-between;
12
- padding: 0 24px 0 8px;
12
+ padding-left: 8px;
13
13
  box-sizing: border-box;
14
14
  z-index: 2;
15
15
  .header-button {
@@ -20,8 +20,14 @@
20
20
  circle {
21
21
  fill: var(--white);
22
22
  }
23
+ svg {
24
+ height: 24px !important;
25
+ width: 24px !important;
26
+ color: var(--white);
27
+ }
23
28
  &:hover,
24
29
  &.active {
30
+ // background-color: var(--primary-600);
25
31
  background-color: var(--neutral-hover);
26
32
  circle {
27
33
  fill: var(--primary);
@@ -91,6 +97,10 @@
91
97
  gap: 8px;
92
98
  height: var(--header-height);
93
99
  position: relative;
100
+ border-radius: 32px;
101
+ padding-left: 8px;
102
+ // margin-left: -8px;
103
+ padding-right: 24px;
94
104
  cursor: pointer;
95
105
  user-select: none;
96
106
  -webkit-user-drag: none;
@@ -118,13 +128,13 @@
118
128
  text-overflow: ellipsis;
119
129
  }
120
130
  }
121
- .user-badge {
122
- min-height: 10px;
123
- max-height: 10px;
124
- min-width: 10px;
125
- max-width: 10px;
126
- background: var(--danger);
127
- border-radius: 50px;
131
+ .user-notif-badge {
132
+ border: 1px solid var(--primary);
133
+ background-color: var(--danger);
134
+ right: -5px;
135
+ }
136
+ &:hover {
137
+ background-color: var(--primary-600);
128
138
  }
129
139
  }
130
140
  .header-user-menu {
@@ -35,7 +35,7 @@
35
35
  cursor: default;
36
36
  opacity: 0.5;
37
37
  }
38
- &:not(.disabled) {
38
+ &.clickable:not(.disabled) {
39
39
  cursor: pointer;
40
40
  &:hover {
41
41
  background-color: var(--neutral-hover);
@@ -0,0 +1,71 @@
1
+ .notification-button svg {
2
+ color: var(--primary);
3
+ .fa-secondary {
4
+ opacity: 1;
5
+ fill: #ffaa33;
6
+ stroke: #544417;
7
+ stroke-width: 30px;
8
+ stroke-opacity: 0.5;
9
+ }
10
+ }
11
+
12
+ .notifications {
13
+ display: flex;
14
+ flex-direction: column;
15
+ max-height: calc(100dvh - var(--header-height) - 40px);
16
+ padding: 16px;
17
+ max-width: min(500px, 90vw);
18
+ .notifications-content-header {
19
+ display: flex;
20
+ justify-content: space-between;
21
+ align-items: center;
22
+ gap: 16px;
23
+ margin-bottom: 16px;
24
+ .iui-input-container {
25
+ width: unset;
26
+ }
27
+ }
28
+ .notifications-options {
29
+ display: flex;
30
+ align-items: center;
31
+ justify-content: space-between;
32
+ gap: 8px;
33
+ border-bottom: var(--border);
34
+ margin-bottom: 8px;
35
+ padding-bottom: 4px;
36
+ }
37
+ .notifications-container {
38
+ display: flex;
39
+ flex-direction: column;
40
+ flex: 1;
41
+ overflow: auto;
42
+ }
43
+
44
+ .notification {
45
+ cursor: default;
46
+ padding: 12px;
47
+ border-radius: 8px;
48
+ .notification-header {
49
+ display: flex;
50
+ justify-content: space-between;
51
+ align-items: flex-start;
52
+ gap: 16px;
53
+ .title {
54
+ color: var(--primary-dark);
55
+ font-size: 14px;
56
+ font-weight: bold;
57
+ }
58
+ .date {
59
+ color: var(--neutral);
60
+ font-size: 11px;
61
+ margin: 4px 0;
62
+ }
63
+ }
64
+ .desc {
65
+ font-size: 13px;
66
+ }
67
+ &:hover:not(:has(button:hover:not(:disabled))) {
68
+ background-color: var(--neutral-100);
69
+ }
70
+ }
71
+ }
@@ -48,6 +48,7 @@
48
48
  min-height: 55px;
49
49
  max-height: 55px;
50
50
  box-shadow: var(--container-shadow);
51
+ z-index: 10;
51
52
 
52
53
  @media #{bp.$mobileTablet} {
53
54
  .breadcrumbs {
@@ -22,7 +22,6 @@ $fixedWidth: (500, 600);
22
22
  display: flex;
23
23
  flex-direction: column;
24
24
  height: 100dvh;
25
- overflow: auto;
26
25
  overscroll-behavior: none;
27
26
  }
28
27
  }
@@ -74,6 +73,7 @@ $fixedWidth: (500, 600);
74
73
  z-index: 2;
75
74
  }
76
75
  .pullover-header {
76
+ padding-right: 16px;
77
77
  justify-content: space-between;
78
78
  .search-input {
79
79
  width: min(250px, 50vw);
@@ -21,14 +21,12 @@
21
21
  right: -16px;
22
22
  border-radius: 50%;
23
23
  background-color: white;
24
- height: 32px;
25
- width: 32px;
26
24
  display: flex;
27
25
  align-items: center;
28
26
  justify-content: center;
29
27
  transition: opacity 0.15s ease-in-out;
30
28
  border: 1px solid var(--primary);
31
- z-index: 2;
29
+ z-index: 11;
32
30
  &:active {
33
31
  transform: translateY(2px);
34
32
  }
@@ -9,6 +9,8 @@ table {
9
9
  thead {
10
10
  z-index: 2;
11
11
  background-color: var(--neutral-100);
12
+ // background-color: var(--primary);
13
+ // color: var(--text-inverse);
12
14
  tr:first-child th {
13
15
  border-top: var(--borderlight);
14
16
  }
@@ -16,13 +18,15 @@ table {
16
18
  th {
17
19
  padding: 4px 12px;
18
20
  font-weight: bold;
21
+ height: 40px;
19
22
  p {
20
23
  font-size: 12px;
21
24
  }
22
25
  }
23
26
  .table-container {
24
27
  overflow: auto;
25
- scroll-snap-type: y proximity;
28
+ // scroll-snap-type: x proximity;
29
+ // scroll-snap-type: y proximity;
26
30
  // box-shadow: var(--container-shadow);
27
31
  &::-webkit-scrollbar {
28
32
  width: 8px;
@@ -33,19 +37,32 @@ table {
33
37
  top: 0;
34
38
  z-index: 1;
35
39
  }
36
-
37
40
  //// Body ////
38
41
  // Row
39
- tr {
40
- scroll-snap-align: start;
41
- }
42
+ // tr,
43
+ // td {
44
+ // scroll-snap-align: start;
45
+ // }
42
46
  tbody tr {
43
47
  &.clickable:hover,
44
48
  &.selected {
45
- background-color: rgba(0, 0, 0, 0.05);
49
+ background-color: #f2f2f2;
50
+ .sticky-column {
51
+ background-color: #f2f2f2;
52
+ }
53
+ }
54
+ &:has(.iui-icon-btn:hover),
55
+ &:has(a:hover) {
56
+ background-color: transparent !important;
57
+ .sticky-column {
58
+ background-color: var(--background) !important;
59
+ }
46
60
  }
47
61
  &.focused {
48
62
  background-color: var(--primary-100);
63
+ .sticky-column {
64
+ background-color: var(--primary-100);
65
+ }
49
66
  }
50
67
  &.loading {
51
68
  opacity: 0.5;
@@ -65,6 +82,7 @@ table {
65
82
  font-size: 14px;
66
83
  height: 48px;
67
84
  padding: 6px 12px;
85
+ // background-color: var(--background);
68
86
  &.s {
69
87
  height: 40px;
70
88
  padding: 2px 12px;
@@ -74,8 +92,8 @@ table {
74
92
  padding: 2px 12px;
75
93
  }
76
94
  }
77
- .clickable-column:hover {
78
- background-color: var(--primary-o10) !important;
95
+ .clickable-cell:hover {
96
+ background-color: var(--primary-100) !important;
79
97
  }
80
98
  // Item Actions
81
99
  .table-item-actions {
@@ -134,13 +152,30 @@ table {
134
152
  }
135
153
 
136
154
  @media #{bp.$landscape} {
155
+ thead {
156
+ box-shadow: 0 2px 5px -2px rgba(0, 0, 0, 0.2);
157
+ }
137
158
  td,
138
159
  th {
139
160
  border-right: var(--border-light);
140
161
  &:first-child:not(.not-first-cell) {
141
162
  border-left: var(--border-light);
142
163
  }
164
+ &.sticky-column {
165
+ position: sticky;
166
+ left: 0;
167
+ transition: background-color 250ms;
168
+ // box-shadow: 2px 0 5px -2px rgba(0, 0, 0, 0.2);
169
+ }
170
+ }
171
+ th.sticky-column {
172
+ top: 0;
173
+ background-color: var(--neutral-100);
143
174
  }
175
+ td.sticky-column {
176
+ background-color: var(--background);
177
+ }
178
+
144
179
  .select-col,
145
180
  .actions-col {
146
181
  padding: 0;
@@ -204,49 +239,73 @@ table {
204
239
  .table-sort-item {
205
240
  flex-direction: row-reverse;
206
241
  }
207
- // .dual-list-container {
208
- // .dual-list-content {
209
- // display: grid;
210
- // grid-template-columns: 1fr auto 1fr;
211
- // gap: 12px;
212
- // }
213
- // .list-box {
214
- // border: var(--border-light);
215
- // border-radius: 16px;
216
- // padding: 10px;
217
- // user-select: none;
218
- // & > .item {
219
- // display: flex;
220
- // justify-content: space-between;
221
- // align-items: center;
222
- // padding: 8px;
223
- // font-size: 12px;
224
- // svg {
225
- // color: rgba(0, 0, 0, 0.6);
226
- // margin-left: 1rem;
227
- // }
228
- // &:hover {
229
- // background-color: var(--primary-o10);
230
- // }
231
- // &:active {
232
- // background-color: var(--primary-o25);
233
- // }
234
- // }
235
- // }
236
- // .exchange-icon {
237
- // display: flex;
238
- // align-items: center;
239
- // svg {
240
- // height: 20px;
241
- // width: 20px;
242
- // }
243
- // }
244
- // }
242
+
243
+ .column-pullover {
244
+ .pullover-content {
245
+ overflow: hidden;
246
+ display: flex;
247
+ flex-direction: column;
248
+ }
249
+ .dual-list-container {
250
+ flex: 1;
251
+ display: flex;
252
+ flex-direction: column;
253
+ min-height: 0;
254
+
255
+ .dual-list-content {
256
+ display: grid;
257
+ grid-template-columns: 1fr auto 1fr;
258
+ grid-template-rows: auto auto 1fr;
259
+ gap: 16px 12px;
260
+ flex: 1;
261
+ min-height: 0;
262
+ }
263
+ .list-box {
264
+ border: var(--border-light);
265
+ border-radius: 8px;
266
+ padding: 8px;
267
+ user-select: none;
268
+ overflow-y: auto;
269
+
270
+ & > .item {
271
+ display: flex;
272
+ justify-content: space-between;
273
+ align-items: center;
274
+ padding: 8px;
275
+ font-size: 14px;
276
+ svg {
277
+ color: var(--text);
278
+ margin-left: 1rem;
279
+ }
280
+ &:hover {
281
+ background-color: var(--primary-o10);
282
+ }
283
+ &:active {
284
+ background-color: var(--primary-o25);
285
+ }
286
+ &.dragging {
287
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
288
+ background-color: #fff !important;
289
+ }
290
+ }
291
+ }
292
+ .exchange-icon {
293
+ display: flex;
294
+ align-items: center;
295
+ svg {
296
+ height: 20px;
297
+ width: 20px;
298
+ }
299
+ }
300
+ }
301
+ }
245
302
 
246
303
  .edit-row {
247
304
  background: var(--neutral-100);
248
305
  td {
249
- padding: 4px;
306
+ &.editable {
307
+ padding: 4px;
308
+ }
250
309
  .iui-input-wrapper-field {
251
310
  // border: none;
252
311
  // border-radius: 0;
@@ -258,16 +317,10 @@ table {
258
317
  }
259
318
  }
260
319
 
261
- // .primary-row {
262
- // background-color: var(--primary-100);
263
- // }
320
+ .primary-row {
321
+ background-color: var(--primary-100);
322
+ }
323
+
264
324
  // .secondary-row {
265
325
  // background-color: #f1f1f1;
266
326
  // }
267
-
268
- // .table-options {
269
- // display: flex;
270
- // align-items: center;
271
- // justify-content: space-between;
272
- // padding: 8px;
273
- // }
@@ -112,8 +112,17 @@
112
112
  --neutral-700: hsl(351, 0%, 31%);
113
113
  --neutral-t: rgba(16, 24, 40, 0.5);
114
114
 
115
+ // --danger-100: #fceae8;
116
+ // --danger-200: #f7d7d4;
117
+ // --danger-300: #dc776f;
118
+ // --danger-400: #de4f45;
119
+ // --danger-500: #d92d20;
120
+ // --danger-600: #c5261b;
121
+ // --danger-700: #a11b12;
122
+
115
123
  --primary: var(--primary-500);
116
124
  --neutral: var(--neutral-500);
125
+ --danger: var(--danger-500);
117
126
 
118
127
  --text: var(--neutral-700);
119
128
  --text-disabled: var(--neutral-400);
@@ -22,7 +22,7 @@ export type IHeaderUserMenuProps = {
22
22
  userName?: string;
23
23
  organizationName?: string;
24
24
  menuItems: IMenuItem[];
25
- showBadge?: boolean;
25
+ inviteCount?: number;
26
26
  controls: {
27
27
  myAccountControl: IPopupControl;
28
28
  changeOrgControl: IPopupControl;
@@ -13,11 +13,6 @@ export interface IKeyboardAction {
13
13
  export interface ITableKeyboardActionsBase {
14
14
  moveDisabled?: boolean;
15
15
  editDisabled?: boolean;
16
- delete?: {
17
- enabled: boolean;
18
- setItemToDeleteUuids: (itemUuids: string[]) => void;
19
- onAction?: () => void;
20
- };
21
16
  additional?: (props: {
22
17
  focusedRow: ITableDataItem | null;
23
18
  isEditing: boolean;
@@ -1,5 +1,5 @@
1
- import { IconDefinition, RotateProp } from '@fortawesome/fontawesome-svg-core';
2
- import { MouseEventHandler } from 'react';
1
+ import type { IconDefinition, RotateProp } from '@fortawesome/fontawesome-svg-core';
2
+ import type { MouseEventHandler } from 'react';
3
3
 
4
4
  export type IMenuPlacement = 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
5
5
 
@@ -0,0 +1,15 @@
1
+ export interface INotification {
2
+ uuid: string;
3
+ type: INotificationType;
4
+ values?: {
5
+ key: string;
6
+ value: string;
7
+ url?: string;
8
+ format?: 'TRANSLATE' | 'DATE' | 'DATE_TIME';
9
+ }[];
10
+ seen: boolean;
11
+ event: string;
12
+ organization?: string;
13
+ createdAt: string;
14
+ }
15
+ export type INotificationType = 'WEB' | 'EMAIL';
@@ -1,12 +1,12 @@
1
1
  import { RefObject } from 'react';
2
2
 
3
- export interface PopupControlRef {
3
+ export interface IPopupControlRef {
4
4
  onOpen: () => void;
5
5
  onClose: () => void;
6
6
  }
7
7
 
8
8
  export interface ILocalPopupControl {
9
- controlRef: RefObject<PopupControlRef | null>;
9
+ controlRef: RefObject<IPopupControlRef | null>;
10
10
  isOpen: boolean;
11
11
  setIsOpen: (isOpen: boolean) => void;
12
12
  }