@inceptionbg/iui 2.0.8 → 2.0.11

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 (143) hide show
  1. package/dist/icons/index.d.ts +2 -2
  2. package/dist/icons/index.js +1 -1
  3. package/dist/index.d.ts +305 -265
  4. package/dist/index.js +1 -1
  5. package/dist/index.js.map +1 -1
  6. package/dist/iui.css +1 -1
  7. package/idea/GridTable/GridTable.tsx +119 -0
  8. package/idea/GridTable/gridTable.scss +42 -0
  9. package/{src/components → idea}/Table/Components/Print/CustomTablePrint.tsx +2 -2
  10. package/{src/components → idea}/Table/Components/Print/TablePrint.tsx +2 -2
  11. package/{src/components → idea}/Table/Components/SetTableFilter.tsx +1 -1
  12. package/{src/components → idea}/Table/Components/TableOptions.tsx +4 -4
  13. package/idea/{Table2 → Table}/Table.tsx +151 -281
  14. package/idea/Table/hooks/useDefaultTemplate.ts +20 -0
  15. package/{src/components → idea}/Table/hooks/useTableKeyboard.ts +1 -2
  16. package/idea/Table/hooks/useTableSelect.ts +11 -0
  17. package/package.json +1 -1
  18. package/src/assets/icons/index.ts +1 -1
  19. package/src/assets/icons/light/faClipboardCheck.ts +15 -0
  20. package/src/assets/icons/light/faHouse.ts +15 -15
  21. package/src/assets/icons/light/faIdBadge.ts +15 -15
  22. package/src/assets/icons/light/faPen.ts +15 -0
  23. package/src/components/Button/IconButton.tsx +3 -1
  24. package/src/components/Dialog/Dialog.tsx +57 -123
  25. package/src/components/Dialog/components/DialogFooter.tsx +92 -0
  26. package/src/components/Dialog/hooks/useDialogKeyboard.ts +6 -5
  27. package/src/components/Header/Components/UserMenu.tsx +2 -4
  28. package/src/components/Header/Header.tsx +1 -1
  29. package/src/components/Inputs/DateInput/DateInput.tsx +107 -102
  30. package/src/components/Inputs/DateInput/components/DatePartInput.tsx +7 -3
  31. package/src/components/Inputs/InputWrapper.tsx +6 -1
  32. package/src/components/Inputs/PasswordInput.tsx +2 -1
  33. package/src/components/Inputs/SearchInput.tsx +9 -4
  34. package/src/components/Inputs/Select2/Select.tsx +64 -30
  35. package/src/components/Inputs/Select2/select.scss +13 -14
  36. package/src/components/Inputs/Selects/components/SelectWrapper.tsx +4 -2
  37. package/src/components/Inputs/Selects/utils/selectStyles.ts +9 -12
  38. package/src/components/Menu/Menu.tsx +10 -2
  39. package/src/components/Menu/MenuItem.tsx +11 -10
  40. package/src/components/Menu/hooks/useMenuPosition.tsx +49 -14
  41. package/src/components/Pullover/Pullover.tsx +138 -59
  42. package/src/components/Table/Table.tsx +78 -342
  43. package/src/components/Table/components/edit/TableEditRow.tsx +69 -0
  44. package/src/components/Table/components/filters/FilterItem.tsx +15 -0
  45. package/src/components/Table/components/filters/TableFilters.tsx +125 -0
  46. package/src/components/Table/components/footer/TableFooter.tsx +128 -0
  47. package/src/components/Table/components/header/TableHeader.tsx +42 -0
  48. package/src/components/Table/components/header/TableHeaderRow.tsx +47 -0
  49. package/src/components/Table/components/items/TableItemActions.tsx +66 -0
  50. package/src/components/Table/components/select/TableSelect.tsx +49 -0
  51. package/src/components/Table/components/sort/TableSort.tsx +52 -0
  52. package/src/components/Table/contexts/TableContext.tsx +123 -0
  53. package/src/components/Table/hooks/localHooks/useLocalTableColumns.tsx +73 -0
  54. package/src/components/Table/hooks/localHooks/useLocalTableData.tsx +78 -0
  55. package/src/components/Table/hooks/localHooks/useLocalTableKeyboard.ts +173 -0
  56. package/src/components/Table/hooks/localHooks/useLocalTablePagination.ts +12 -0
  57. package/src/components/Table/hooks/useTableEdit.tsx +111 -0
  58. package/src/components/Table/hooks/useTableFilterFields.tsx +150 -0
  59. package/src/components/Table/hooks/useTablePagination.ts +16 -0
  60. package/src/components/Table/hooks/useTableSearch.ts +29 -0
  61. package/src/components/Table/hooks/useTableSort.ts +8 -0
  62. package/src/components/Tooltip/Tooltip.tsx +1 -1
  63. package/src/components/Wrappers/PageLayout.tsx +9 -12
  64. package/src/hooks/useGetFocusableElements.ts +42 -0
  65. package/src/hooks/useLocalPopoverControl.ts +32 -0
  66. package/src/hooks/usePopupControl.ts +17 -0
  67. package/src/index.ts +56 -39
  68. package/src/styles/common/_typography.scss +1 -1
  69. package/src/styles/components/_accordions.scss +1 -1
  70. package/src/styles/components/_badge.scss +4 -3
  71. package/src/styles/components/_card.scss +1 -1
  72. package/src/styles/components/_dialog.scss +8 -8
  73. package/src/styles/components/_input.scss +1 -1
  74. package/src/styles/components/_inputCheckbox.scss +1 -1
  75. package/src/styles/components/_inputDateTime.scss +2 -2
  76. package/src/styles/components/_inputRadio.scss +1 -1
  77. package/src/styles/components/_inputSelect.scss +6 -4
  78. package/src/styles/components/_menu-v2.scss +1 -1
  79. package/src/styles/components/_menu.scss +23 -15
  80. package/src/styles/components/_pullover.scss +74 -18
  81. package/src/styles/components/_table.scss +151 -142
  82. package/src/styles/components/_widget.scss +1 -1
  83. package/src/styles/variables/_bp.scss +1 -0
  84. package/src/styles/variables/_variables.scss +4 -2
  85. package/src/types/IHeader.ts +13 -7
  86. package/src/types/IKeyboard.ts +2 -1
  87. package/src/types/IMenu.ts +1 -0
  88. package/src/types/IPopup.ts +17 -0
  89. package/src/types/ISelect.ts +1 -0
  90. package/src/types/ITable.ts +87 -80
  91. package/src/utils/fileUtils.ts +3 -3
  92. package/src/utils/i18n/i18nIUICyrilic.ts +4 -0
  93. package/src/utils/i18n/i18nIUILatin.ts +3 -1
  94. package/src/utils/i18n/i18nIUIMe.ts +4 -0
  95. package/src/utils/{ObjectUtils.ts → objectUtils.ts} +8 -8
  96. package/src/utils/popupUtils.ts +82 -0
  97. package/src/utils/{TableUtils.ts → tableUtils.ts} +5 -5
  98. package/src/utils/{Toasts.ts → toasts.ts} +6 -6
  99. package/src/utils/{UrlUtils.ts → urlUtils.ts} +4 -4
  100. package/idea/Table2/Components/Columns/ColumnsList.tsx +0 -56
  101. package/idea/Table2/Components/Columns/SetColumnsList.tsx +0 -107
  102. package/idea/Table2/Components/Edit/ItemActionsMenu.tsx +0 -87
  103. package/idea/Table2/Components/Edit/ItemEditOptionsButtons.tsx +0 -32
  104. package/idea/Table2/Components/Edit/TableEditRow.tsx +0 -56
  105. package/idea/Table2/Components/FilterItem.tsx +0 -20
  106. package/idea/Table2/Components/Header/TableHeader.tsx +0 -35
  107. package/idea/Table2/Components/Header/TableHeaderRow.tsx +0 -37
  108. package/idea/Table2/Components/Print/CustomTablePrint.tsx +0 -119
  109. package/idea/Table2/Components/Print/TablePrint.tsx +0 -208
  110. package/idea/Table2/Components/SetSortList.tsx +0 -33
  111. package/idea/Table2/Components/SetTableFilter.tsx +0 -90
  112. package/idea/Table2/Components/TableFooter.tsx +0 -107
  113. package/idea/Table2/Components/TableOptions.tsx +0 -211
  114. package/idea/Table2/Components/Templates/TemplateCreate.tsx +0 -75
  115. package/idea/Table2/Components/Templates/TemplateCreateDefault.tsx +0 -45
  116. package/idea/Table2/Components/Templates/TemplateList.tsx +0 -167
  117. package/idea/Table2/Components/Templates/repo/TemplateRepo.ts +0 -51
  118. package/idea/Table2/_table.scss +0 -300
  119. package/idea/Table2/hooks/useDefaultTemplate.ts +0 -22
  120. package/idea/Table2/hooks/useTableKeyboard.ts +0 -115
  121. package/src/assets/icons/light/faPenField.ts +0 -15
  122. package/src/assets/icons/solid/faMagnifyingGlass.ts +0 -15
  123. package/src/components/Dialog/DeleteItemDialog.tsx +0 -52
  124. package/src/components/Dialog/hooks/useDialogObserver.ts +0 -21
  125. /package/{src/components → idea}/Table/Components/Columns/ColumnsList.tsx +0 -0
  126. /package/{src/components → idea}/Table/Components/Columns/SetColumnsList.tsx +0 -0
  127. /package/{src/components → idea}/Table/Components/Edit/ItemActionsMenu.tsx +0 -0
  128. /package/{src/components → idea}/Table/Components/Edit/ItemEditOptionsButtons.tsx +0 -0
  129. /package/{src/components → idea}/Table/Components/Edit/TableEditRow.tsx +0 -0
  130. /package/{src/components → idea}/Table/Components/FilterItem.tsx +0 -0
  131. /package/{src/components → idea}/Table/Components/Header/TableHeader.tsx +0 -0
  132. /package/{src/components → idea}/Table/Components/Header/TableHeaderRow.tsx +0 -0
  133. /package/{src/components → idea}/Table/Components/SetSortList.tsx +0 -0
  134. /package/{src/components → idea}/Table/Components/TableFooter.tsx +0 -0
  135. /package/{src/components → idea}/Table/Components/Templates/TemplateCreate.tsx +0 -0
  136. /package/{src/components → idea}/Table/Components/Templates/TemplateCreateDefault.tsx +0 -0
  137. /package/{src/components → idea}/Table/Components/Templates/TemplateList.tsx +0 -0
  138. /package/{src/components → idea}/Table/Components/Templates/repo/TemplateRepo.ts +0 -0
  139. /package/src/utils/{DateUtils.ts → dateUtils.ts} +0 -0
  140. /package/src/utils/{LocalStorageHelper.ts → localStorageHelper.ts} +0 -0
  141. /package/src/utils/{NumberUtils.ts → numberUtils.ts} +0 -0
  142. /package/src/utils/{RootDir.ts → rootDir.ts} +0 -0
  143. /package/src/utils/{StringUtils.ts → stringUtils.ts} +0 -0
@@ -8,10 +8,10 @@ import { faArrowLeft } from '../../assets/icons/regular/faArrowLeft';
8
8
  import { faEllipsisVertical, faQuestion } from '../../assets/icons';
9
9
  import { Trans } from 'react-i18next';
10
10
  import { Pullover } from '../Pullover/Pullover';
11
- import { Alert } from '../Alert/Alert';
12
11
  import { Link, useNavigate } from 'react-router';
13
12
  import { IMenuItem } from '../../types/IMenu';
14
13
  import { Menu } from '../Menu/Menu';
14
+ import { usePopupControl } from '../../hooks/usePopupControl';
15
15
 
16
16
  export interface IPageLayoutProps {
17
17
  breadcrumbs?: (string | undefined)[];
@@ -43,7 +43,7 @@ export const PageLayout: FC<IPageLayoutProps> = ({
43
43
  children,
44
44
  }) => {
45
45
  const [isMoreActionsOpen, setIsMoreActionsOpen] = useState(false);
46
- const [isHelpOpen, setIsHelpOpen] = useState(false);
46
+ const helpControl = usePopupControl();
47
47
 
48
48
  const navigate = useNavigate();
49
49
  const filteredActions = moreActions?.filter(e => !e.hidden);
@@ -88,21 +88,18 @@ export const PageLayout: FC<IPageLayoutProps> = ({
88
88
  <>
89
89
  <IconButton
90
90
  icon={faQuestion}
91
- onClick={() => setIsHelpOpen(!isHelpOpen)}
91
+ onClick={helpControl.onOpen}
92
92
  variant="outlined"
93
93
  size="s"
94
94
  />
95
95
  <Pullover
96
- isOpen={isHelpOpen}
97
- onClose={() => setIsHelpOpen(false)}
98
- size="m"
96
+ control={helpControl.control}
97
+ header={{
98
+ title: help.title,
99
+ }}
100
+ size="vw50"
99
101
  >
100
- <Alert severity="info">
101
- <div>
102
- <p className="bold mb-3">{help.title}</p>
103
- <p>{help.descEl}</p>
104
- </div>
105
- </Alert>
102
+ {help.descEl}
106
103
  </Pullover>
107
104
  </>
108
105
  )}
@@ -0,0 +1,42 @@
1
+ import { RefObject, useEffect, useState } from 'react';
2
+
3
+ export const useGetFocusableElements = ({
4
+ elementRef,
5
+ isOpen,
6
+ autoFocusIndex,
7
+ }: {
8
+ elementRef: RefObject<HTMLDivElement | null>;
9
+ isOpen: boolean;
10
+ autoFocusIndex?: number;
11
+ }) => {
12
+ const [focusableElements, setFocusableElements] = useState<HTMLElement[]>([]);
13
+
14
+ useEffect(() => {
15
+ const element = elementRef.current;
16
+ if (!element || !isOpen) return;
17
+
18
+ const focusableSelectors = [
19
+ 'button:not([disabled]):not([tabindex="-1"])',
20
+ 'input:not([disabled]):not([tabindex="-1"])',
21
+ 'textarea:not([disabled]):not([tabindex="-1"])',
22
+ // 'select:not([disabled]):not([tabindex="-1"])',
23
+ ];
24
+
25
+ const focusables = Array.from(
26
+ element.querySelectorAll<HTMLElement>(focusableSelectors.join(','))
27
+ );
28
+
29
+ setFocusableElements(focusables);
30
+
31
+ // Autofocus
32
+ if (typeof autoFocusIndex === 'number' && focusables.length > autoFocusIndex) {
33
+ setTimeout(() => {
34
+ focusables[autoFocusIndex].focus();
35
+ }, 200);
36
+ } else {
37
+ element.focus();
38
+ }
39
+ }, [elementRef, isOpen, autoFocusIndex]);
40
+
41
+ return focusableElements;
42
+ };
@@ -0,0 +1,32 @@
1
+ import { useCallback, useImperativeHandle, useRef } from 'react';
2
+ import { ILocalPopupControl } from '../types/IPopup';
3
+
4
+ interface Props {
5
+ control: ILocalPopupControl;
6
+ onCloseCallback?: () => void;
7
+ }
8
+
9
+ export const useLocalPopoverControl = ({ control, onCloseCallback }: Props) => {
10
+ const elementRef = useRef<HTMLDivElement>(null);
11
+
12
+ const handleOpen = useCallback(() => control.setIsOpen(true), [control]);
13
+
14
+ const handleClose = useCallback(() => {
15
+ elementRef.current?.classList.add('closing');
16
+ setTimeout(() => {
17
+ onCloseCallback?.();
18
+ control.setIsOpen(false);
19
+ }, 200);
20
+ }, [control, onCloseCallback]);
21
+
22
+ useImperativeHandle(control?.controlRef, () => ({
23
+ onOpen: handleOpen,
24
+ onClose: handleClose,
25
+ }));
26
+
27
+ return {
28
+ isOpen: control?.isOpen,
29
+ onClose: handleClose,
30
+ elementRef: elementRef,
31
+ };
32
+ };
@@ -0,0 +1,17 @@
1
+ import { useCallback, useRef, useState } from 'react';
2
+ import { IPopupControl, PopupControlRef } from '../types/IPopup';
3
+
4
+ export const usePopupControl: () => IPopupControl = () => {
5
+ const [isOpen, setIsOpen] = useState(false);
6
+
7
+ const controlRef = useRef<PopupControlRef>(null);
8
+
9
+ const onOpen = useCallback(() => controlRef.current?.onOpen(), []);
10
+ const onClose = useCallback(() => controlRef.current?.onClose(), []);
11
+
12
+ return {
13
+ control: { controlRef, isOpen, setIsOpen },
14
+ onOpen,
15
+ onClose,
16
+ };
17
+ };
package/src/index.ts CHANGED
@@ -17,16 +17,18 @@ 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
21
  import type { IError } from './types/IError';
21
22
  import type { ISelectData } from './types/ISelect';
22
23
  import type { ITab } from './types/ITab';
23
24
  import type {
24
25
  IPagination,
25
- IServerSidePagination,
26
+ IPaginationControl,
26
27
  ITable,
27
28
  ITableColumn,
28
29
  ITableDataItem,
29
- ITableEditRow,
30
+ ITableDataItemCells,
31
+ ITableEdit,
30
32
  ITableFilter,
31
33
  ITableFilterData,
32
34
  ITableFilterItem,
@@ -37,6 +39,7 @@ import type { IHeaderAction, IHeaderUserMenuProps } from './types/IHeader';
37
39
  import { tableCustomLimit1000 } from './types/ITable';
38
40
 
39
41
  import type { IRoute } from './types/IRouter';
42
+ import type { ISidebarItem } from './components/Sidebar/types/ISidebar';
40
43
  import { Router } from './components/Router/Router';
41
44
 
42
45
  import { Accordions } from './components/Accordions/Accordions';
@@ -49,7 +52,6 @@ import { IconButton } from './components/Button/IconButton';
49
52
  import { Dashboard } from './components/Dashboard/Dashboard';
50
53
  import { DashboardWidget } from './components/Dashboard/DashboardWidget';
51
54
  import { FastLinksWidget } from './components/Dashboard/FastLinksWidget/FastLinksWidget';
52
- import { DeleteItemDialog } from './components/Dialog/DeleteItemDialog';
53
55
  import { Dialog } from './components/Dialog/Dialog';
54
56
  import { Collapse } from './components/Helper/Collapse';
55
57
  import { Checkbox } from './components/Inputs/Checkbox';
@@ -71,14 +73,7 @@ import { TextInput } from './components/Inputs/TextInput';
71
73
  import { FullScreenLoader, LazyLoader, Loader } from './components/Loader/Loader';
72
74
  import { Menu } from './components/Menu/Menu';
73
75
  import { MenuItem } from './components/Menu/MenuItem';
74
- import { ItemActionsMenu } from './components/Table/Components/Edit/ItemActionsMenu';
75
- import { ItemEditOptionsButtons } from './components/Table/Components/Edit/ItemEditOptionsButtons';
76
- import { TableEditRow } from './components/Table/Components/Edit/TableEditRow';
77
- import { FilterItem } from './components/Table/Components/FilterItem';
78
- import { SetTableFilter } from './components/Table/Components/SetTableFilter';
79
- import { TableFooter } from './components/Table/Components/TableFooter';
80
- import { Table } from './components/Table/Table';
81
- import { TablePrint } from './components/Table/Components/Print/TablePrint';
76
+ // import { ItemActionsMenu } from './components/Table/Components/Edit/ItemActionsMenu';
82
77
  import { Tabs } from './components/Tabs/Tabs';
83
78
  import { Tooltip } from './components/Tooltip/Tooltip';
84
79
  import { Tree } from './components/Tree/Tree';
@@ -86,6 +81,26 @@ import { ConditionalWrapper } from './components/Wrappers/ConditionalWrapper';
86
81
  import { FormWrapper } from './components/Wrappers/FormWrapper';
87
82
  import { PageLayout } from './components/Wrappers/PageLayout';
88
83
 
84
+ ///// PULLOVER /////
85
+ import { Pullover } from './components/Pullover/Pullover';
86
+
87
+ ///// TABLE /////
88
+ import { Table } from './components/Table/Table';
89
+ // import { ItemEditOptionsButtons } from './components/Table/Components/Edit/ItemEditOptionsButtons';
90
+ // import { TableEditRow } from './components/Table/Components/Edit/TableEditRow';
91
+ // import { FilterItem } from './components/Table/Components/FilterItem';
92
+ // import { SetTableFilter } from './components/Table/Components/SetTableFilter';
93
+ // import { TableFooter } from './components/Table/Components/TableFooter';
94
+ // import { GridTable } from '../idea/GridTable/GridTable';
95
+ // import { TablePrint } from './components/Table/Components/Print/TablePrint';
96
+ import { useDefaultTemplate } from './components/Table/hooks/useDefaultTemplate';
97
+ import { useTableEdit } from './components/Table/hooks/useTableEdit';
98
+ import { useTableFilterFields } from './components/Table/hooks/useTableFilterFields';
99
+ import { useTablePagination } from './components/Table/hooks/useTablePagination';
100
+ import { useTableSearch } from './components/Table/hooks/useTableSearch';
101
+ import { useTableSelect } from './components/Table/hooks/useTableSelect';
102
+ import { useTableSort } from './components/Table/hooks/useTableSort';
103
+
89
104
  import {
90
105
  checkIfExpired,
91
106
  dateAddDays,
@@ -97,7 +112,7 @@ import {
97
112
  getCurrentDateFormatted,
98
113
  getCurrentDateFormattedYMD,
99
114
  getDaysLeft,
100
- } from './utils/DateUtils';
115
+ } from './utils/dateUtils';
101
116
  import {
102
117
  calculateFilesSize,
103
118
  dataURLtoFile,
@@ -120,12 +135,12 @@ import {
120
135
  lsSet,
121
136
  setActiveOrgUuid,
122
137
  setDefaultOrgUuid,
123
- } from './utils/LocalStorageHelper';
138
+ } from './utils/localStorageHelper';
124
139
  import {
125
140
  formatCurrency,
126
141
  formatCurrencyNoDecimals,
127
142
  formatDecimalNumber,
128
- } from './utils/NumberUtils';
143
+ } from './utils/numberUtils';
129
144
  import {
130
145
  areStringArraysEqual,
131
146
  compareArrayItemsIndex,
@@ -137,7 +152,7 @@ import {
137
152
  deleteProps,
138
153
  deletePropsThatEndsWith,
139
154
  intersectArrays,
140
- } from './utils/ObjectUtils';
155
+ } from './utils/objectUtils';
141
156
  import {
142
157
  convertReportTemplateFilterToSearch,
143
158
  convertSearchToReportTemplateFilter,
@@ -145,23 +160,21 @@ import {
145
160
  getPrintColumns,
146
161
  getVisibleColumnsIds,
147
162
  setTemplateData,
148
- } from './utils/TableUtils';
149
- import { rootDir } from './utils/RootDir';
150
- import { getInputHelperText, getInputMinMaxPattern, maxChar } from './utils/StringUtils';
151
- import { toastError, toastSuccess } from './utils/Toasts';
152
- import { parseUrlSearch } from './utils/UrlUtils';
163
+ } from './utils/tableUtils';
164
+ import { rootDir } from './utils/rootDir';
165
+ import { getInputHelperText, getInputMinMaxPattern, maxChar } from './utils/stringUtils';
166
+ import { toastError, toastSuccess } from './utils/toasts';
167
+ import { parseUrlSearch } from './utils/urlUtils';
153
168
  import { i18nIUILatin } from './utils/i18n/i18nIUILatin';
154
169
  import { i18nIUICyrilic } from './utils/i18n/i18nIUICyrilic';
155
170
  import { i18nIUIMe } from './utils/i18n/i18nIUIMe';
156
171
 
157
- import { useDefaultTemplate } from './components/Table/hooks/useDefaultTemplate';
158
172
  import { useHideZendesk } from './hooks/useZendesk';
159
173
  import { useOnEsc } from './hooks/useOnEsc';
160
- import { useDialogObserver } from './components/Dialog/hooks/useDialogObserver';
161
- import { useTableSelect } from './components/Table/hooks/useTableSelect';
162
174
  import { useIsMenuOpen } from './hooks/useIsMenuOpen';
175
+ import { usePopupControl } from './hooks/usePopupControl';
163
176
 
164
- export { Router, type IRoute };
177
+ export { Router, type IRoute, type ISidebarItem };
165
178
 
166
179
  export {
167
180
  Accordions,
@@ -175,15 +188,11 @@ export {
175
188
  Dashboard,
176
189
  DashboardWidget,
177
190
  FastLinksWidget,
178
- DeleteItemDialog,
179
191
  Dialog,
180
192
  DotBadge,
181
- FilterItem,
182
193
  FormWrapper,
183
194
  FullScreenLoader,
184
195
  IconButton,
185
- ItemActionsMenu,
186
- ItemEditOptionsButtons,
187
196
  TextAreaInput,
188
197
  LazyLoader,
189
198
  Loader,
@@ -193,6 +202,7 @@ export {
193
202
  NumberInput,
194
203
  PageLayout,
195
204
  PasswordInput,
205
+ Pullover,
196
206
  PillBadge,
197
207
  Radio,
198
208
  RadioLarge,
@@ -200,11 +210,6 @@ export {
200
210
  Select,
201
211
  SelectAsyncPaginate,
202
212
  SelectCreatable,
203
- SetTableFilter,
204
- Table,
205
- TablePrint,
206
- TableEditRow,
207
- TableFooter,
208
213
  tableCustomLimit1000,
209
214
  Tabs,
210
215
  TextInput,
@@ -215,14 +220,23 @@ export {
215
220
  };
216
221
 
217
222
  export {
218
- useHideZendesk,
219
- useOnEsc,
223
+ Table,
224
+ // SetTableFilter,
225
+ // GridTable,
226
+ // TablePrint,
227
+ // TableEditRow,
228
+ // TableFooter,
220
229
  useDefaultTemplate,
221
- useDialogObserver,
230
+ useTableEdit,
231
+ useTableFilterFields,
232
+ useTablePagination,
233
+ useTableSearch,
222
234
  useTableSelect,
223
- useIsMenuOpen,
235
+ useTableSort,
224
236
  };
225
237
 
238
+ export { useHideZendesk, useOnEsc, useIsMenuOpen, usePopupControl };
239
+
226
240
  export type {
227
241
  IAlertProps,
228
242
  DeepPartial,
@@ -231,13 +245,15 @@ export type {
231
245
  IKeyboardAction,
232
246
  IMenuItem,
233
247
  IMenuPlacement,
248
+ PopupControlRef,
249
+ IPopupControl as IPopupControl,
234
250
  IError,
235
251
  IFormWrapper,
236
252
  IHeaderAction,
237
253
  IHeaderUserMenuProps,
238
254
  IPagination,
239
255
  ISelectData,
240
- IServerSidePagination,
256
+ IPaginationControl,
241
257
  ISimpleObject,
242
258
  ISimpleObjectWithCode,
243
259
  IStringObject,
@@ -245,7 +261,8 @@ export type {
245
261
  ITable,
246
262
  ITableColumn,
247
263
  ITableDataItem,
248
- ITableEditRow,
264
+ ITableDataItemCells,
265
+ ITableEdit,
249
266
  ITableFilter,
250
267
  ITableFilterData,
251
268
  ITableFilterItem,
@@ -38,7 +38,7 @@ h4 {
38
38
  }
39
39
 
40
40
  .bold {
41
- font-weight: bold !important;
41
+ font-weight: 600 !important;
42
42
  }
43
43
  .italic {
44
44
  font-style: italic !important;
@@ -3,7 +3,7 @@
3
3
  flex-direction: column;
4
4
  }
5
5
  .iui-accordion {
6
- background: var(--white);
6
+ background: var(--background);
7
7
  box-shadow: var(--container-shadow);
8
8
  border-radius: var(--container-radius);
9
9
  margin: 3px 0;
@@ -11,7 +11,8 @@
11
11
  align-items: center;
12
12
  transform: scale(1) translate(50%, -50%);
13
13
  transform-origin: 100% 0%;
14
- border-radius: 100%;
14
+ border-radius: 50px;
15
+ padding: 0 4px;
15
16
  &.primary {
16
17
  color: var(--text-inverse);
17
18
  border: 2px solid white;
@@ -21,12 +22,12 @@
21
22
  &.s {
22
23
  font-size: 10px;
23
24
  height: 18px;
24
- width: 18px;
25
+ min-width: 18px;
25
26
  }
26
27
  &.m {
27
28
  font-size: 11px;
28
29
  height: 21px;
29
- width: 21px;
30
+ min-width: 21px;
30
31
  }
31
32
  }
32
33
 
@@ -1,7 +1,7 @@
1
1
  .iui-card {
2
2
  box-shadow: var(--container-shadow);
3
3
  border-radius: var(--container-radius);
4
- background: var(--white);
4
+ background: var(--background);
5
5
  & > .content {
6
6
  &.s {
7
7
  padding: 10px;
@@ -8,27 +8,27 @@ $dialog-sizes: (
8
8
  );
9
9
 
10
10
  .iui-dialog {
11
+ position: fixed;
12
+ inset: 0;
13
+ z-index: 1000;
11
14
  display: flex;
12
15
  align-items: center;
13
16
  justify-content: center;
14
- position: fixed;
15
- z-index: 1000;
16
- inset: 0;
17
- background-color: var(--neutral-t);
18
- animation: fade-in 200ms forwards;
17
+ background: var(--neutral-t);
19
18
  backdrop-filter: blur(8px);
19
+ animation: fade-in 0.2s forwards;
20
20
  &.closing {
21
- animation: fade-out 200ms forwards;
21
+ animation: fade-out 0.2s forwards;
22
22
  display: flex;
23
23
  }
24
24
  }
25
25
 
26
26
  .iui-dialog-container {
27
- background-color: var(--white);
27
+ background-color: var(--background);
28
28
  border-radius: 16px;
29
29
  min-width: 400px;
30
30
  max-width: 98vw;
31
- animation: scale-in 200ms forwards;
31
+ animation: scale-in 0.2s forwards;
32
32
  overflow: hidden;
33
33
  .iui-dialog-header {
34
34
  display: flex;
@@ -26,7 +26,7 @@
26
26
  position: relative;
27
27
  border: var(--border);
28
28
  border-radius: 8px;
29
- background-color: var(--white);
29
+ background-color: var(--background);
30
30
  overflow: hidden;
31
31
  display: flex;
32
32
  align-items: center;
@@ -82,7 +82,7 @@
82
82
  height: 8px;
83
83
  width: 8px;
84
84
  border-radius: 8px;
85
- background-color: var(--white);
85
+ background-color: var(--background);
86
86
  transform: scale(0);
87
87
  transition: transform 150ms cubic-bezier(0.4, 0, 1, 1) 0ms;
88
88
  }
@@ -87,7 +87,7 @@
87
87
  font-size: 15px;
88
88
  font-weight: 500;
89
89
  height: 40px;
90
- &--now {
90
+ &--now:not(&--active) {
91
91
  background: var(--primary-100) !important;
92
92
  color: var(--primary);
93
93
  &:enabled:hover {
@@ -97,7 +97,7 @@
97
97
  &--active,
98
98
  &--hasActive {
99
99
  background: var(--primary) !important;
100
- color: var(--text-inverse);
100
+ color: var(--text-inverse) !important;
101
101
  }
102
102
  }
103
103
 
@@ -33,7 +33,7 @@
33
33
  height: 8px;
34
34
  width: 8px;
35
35
  border-radius: 8px;
36
- background-color: var(--white);
36
+ background-color: var(--background);
37
37
  transform: scale(0);
38
38
  transition: transform 150ms cubic-bezier(0.4, 0, 1, 1) 0ms;
39
39
  }
@@ -1,6 +1,8 @@
1
- .select-wrapper {
2
- .field {
3
- min-height: 40px;
4
- height: auto;
1
+ .select-wrapper.s .iui-input-wrapper-field {
2
+ height: 24px;
3
+ min-height: 24px;
4
+ .icon {
5
+ height: 12px;
6
+ width: 12px;
5
7
  }
6
8
  }
@@ -5,7 +5,7 @@
5
5
  padding: 4px 0;
6
6
  border: none;
7
7
  border-radius: 8px;
8
- background: var(--white);
8
+ background: var(--background);
9
9
  box-shadow: var(--deep-shadow);
10
10
  animation: fade-in 200ms forwards;
11
11
  overscroll-behavior: none;
@@ -2,7 +2,7 @@
2
2
  position: absolute;
3
3
  padding: 4px 0;
4
4
  border-radius: 8px;
5
- background: var(--white);
5
+ background: var(--background);
6
6
  box-shadow: var(--deep-shadow);
7
7
  overflow: auto;
8
8
  animation: fade-in 200ms forwards;
@@ -22,29 +22,37 @@
22
22
  }
23
23
 
24
24
  .iui-menu-item {
25
- user-select: none;
26
- padding: 8px 16px;
27
- display: flex;
28
- align-items: center;
29
- gap: 4px;
30
- &.clickable:hover:not(:disabled):not(.disabled) {
25
+ &.clickable:hover:not(:disabled):not(.disabled):not(.active) {
31
26
  background-color: var(--neutral-hover);
32
27
  }
28
+ &.active {
29
+ transition: none;
30
+ background-color: var(--primary);
31
+ color: var(--text-inverse);
32
+ .menu-item-content .menu-item-icon {
33
+ color: var(--text-inverse);
34
+ }
35
+ }
33
36
  &.with-devider:not(:last-child) {
34
37
  border-bottom: var(--border);
35
38
  }
36
- .menu-item-icon {
39
+ .menu-item-content {
37
40
  display: flex;
38
41
  align-items: center;
39
- min-width: 24px;
40
- color: var(--text);
41
- svg {
42
- height: 16px;
42
+ gap: 8px;
43
+ padding: 8px 16px;
44
+ user-select: none;
45
+ .menu-item-icon {
46
+ display: flex;
47
+ align-items: center;
48
+ justify-content: center;
49
+ color: var(--text);
50
+ svg {
51
+ height: 16px;
52
+ width: 16px;
53
+ }
43
54
  }
44
55
  }
45
- // .menu-item-label {
46
- // width: 100%;
47
- // }
48
56
  .menu-item-badge {
49
57
  top: -3px;
50
58
  right: -3px;