@bigbinary/neetoui 8.3.0-beta1 → 8.3.0

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 (283) hide show
  1. package/README.md +1 -0
  2. package/dist/ActionDropdown.js +7 -6
  3. package/dist/ActionDropdown.js.map +1 -1
  4. package/dist/Alert.js +9 -9
  5. package/dist/Alert.js.map +1 -1
  6. package/dist/Avatar.js +1 -0
  7. package/dist/Avatar.js.map +1 -1
  8. package/dist/Button.js +5 -49
  9. package/dist/Button.js.map +1 -1
  10. package/dist/Checkbox.js +6 -5
  11. package/dist/Checkbox.js.map +1 -1
  12. package/dist/ColorPicker.js +147 -51
  13. package/dist/ColorPicker.js.map +1 -1
  14. package/dist/DatePicker.js +18 -19
  15. package/dist/DatePicker.js.map +1 -1
  16. package/dist/Dropdown.js +4 -3
  17. package/dist/Dropdown.js.map +1 -1
  18. package/dist/Input.js +14 -10
  19. package/dist/Input.js.map +1 -1
  20. package/dist/Kbd.js +1 -0
  21. package/dist/Kbd.js.map +1 -1
  22. package/dist/Label.js +72 -55
  23. package/dist/Label.js.map +1 -1
  24. package/dist/Modal.js +21 -8
  25. package/dist/Modal.js.map +1 -1
  26. package/dist/MultiEmailInput.js +96 -58
  27. package/dist/MultiEmailInput.js.map +1 -1
  28. package/dist/NoData.js +1 -2
  29. package/dist/NoData.js.map +1 -1
  30. package/dist/Pagination.js +5 -5
  31. package/dist/Pane.js +58 -22
  32. package/dist/Pane.js.map +1 -1
  33. package/dist/ProgressBar.js +1 -0
  34. package/dist/ProgressBar.js.map +1 -1
  35. package/dist/Radio.js +11 -8
  36. package/dist/Radio.js.map +1 -1
  37. package/dist/Select.js +52 -22
  38. package/dist/Select.js.map +1 -1
  39. package/dist/Sidebar.js +6 -4
  40. package/dist/Sidebar.js.map +1 -1
  41. package/dist/Slider.js +6 -5
  42. package/dist/Slider.js.map +1 -1
  43. package/dist/Stepper.js +1 -0
  44. package/dist/Stepper.js.map +1 -1
  45. package/dist/Switch.js +9 -5
  46. package/dist/Switch.js.map +1 -1
  47. package/dist/Table.js +358 -194
  48. package/dist/Table.js.map +1 -1
  49. package/dist/{Textarea-e2cdbeb5.js → Textarea-TKn0l0RC.js} +5 -4
  50. package/dist/Textarea-TKn0l0RC.js.map +1 -0
  51. package/dist/Textarea.js +7 -6
  52. package/dist/Textarea.js.map +1 -1
  53. package/dist/TimePicker.js +16 -17
  54. package/dist/TimePicker.js.map +1 -1
  55. package/dist/Toastr.js +45 -23
  56. package/dist/Toastr.js.map +1 -1
  57. package/dist/Tooltip.js +17 -11
  58. package/dist/Tooltip.js.map +1 -1
  59. package/dist/TranslationProvider.js +45 -13
  60. package/dist/TranslationProvider.js.map +1 -1
  61. package/dist/Tree.js +15 -8
  62. package/dist/Tree.js.map +1 -1
  63. package/dist/TreeSelect.js +19 -7
  64. package/dist/TreeSelect.js.map +1 -1
  65. package/dist/cjs/Accordion.js +18 -27
  66. package/dist/cjs/Accordion.js.map +1 -1
  67. package/dist/cjs/ActionDropdown.js +13 -20
  68. package/dist/cjs/ActionDropdown.js.map +1 -1
  69. package/dist/cjs/Alert.js +15 -20
  70. package/dist/cjs/Alert.js.map +1 -1
  71. package/dist/cjs/Avatar.js +11 -19
  72. package/dist/cjs/Avatar.js.map +1 -1
  73. package/dist/cjs/Button.js +17 -70
  74. package/dist/cjs/Button.js.map +1 -1
  75. package/dist/cjs/Callout.js +5 -13
  76. package/dist/cjs/Callout.js.map +1 -1
  77. package/dist/cjs/Checkbox.js +13 -19
  78. package/dist/cjs/Checkbox.js.map +1 -1
  79. package/dist/cjs/ColorPicker.js +170 -84
  80. package/dist/cjs/ColorPicker.js.map +1 -1
  81. package/dist/cjs/DatePicker.js +18 -19
  82. package/dist/cjs/DatePicker.js.map +1 -1
  83. package/dist/cjs/Dropdown.js +32 -41
  84. package/dist/cjs/Dropdown.js.map +1 -1
  85. package/dist/cjs/Input.js +31 -36
  86. package/dist/cjs/Input.js.map +1 -1
  87. package/dist/cjs/Kbd.js +5 -11
  88. package/dist/cjs/Kbd.js.map +1 -1
  89. package/dist/cjs/Label.js +71 -62
  90. package/dist/cjs/Label.js.map +1 -1
  91. package/dist/cjs/Modal.js +38 -34
  92. package/dist/cjs/Modal.js.map +1 -1
  93. package/dist/cjs/MultiEmailInput.js +124 -97
  94. package/dist/cjs/MultiEmailInput.js.map +1 -1
  95. package/dist/cjs/NoData.js +15 -23
  96. package/dist/cjs/NoData.js.map +1 -1
  97. package/dist/cjs/Pagination.js +21 -27
  98. package/dist/cjs/Pagination.js.map +1 -1
  99. package/dist/cjs/Pane.js +74 -47
  100. package/dist/cjs/Pane.js.map +1 -1
  101. package/dist/cjs/Popover.js +5 -12
  102. package/dist/cjs/Popover.js.map +1 -1
  103. package/dist/cjs/ProgressBar.js +4 -8
  104. package/dist/cjs/ProgressBar.js.map +1 -1
  105. package/dist/cjs/Radio.js +25 -31
  106. package/dist/cjs/Radio.js.map +1 -1
  107. package/dist/cjs/Select.js +95 -78
  108. package/dist/cjs/Select.js.map +1 -1
  109. package/dist/cjs/Sidebar.js +72 -79
  110. package/dist/cjs/Sidebar.js.map +1 -1
  111. package/dist/cjs/Slider.js +15 -23
  112. package/dist/cjs/Slider.js.map +1 -1
  113. package/dist/cjs/Spinner.js +2 -7
  114. package/dist/cjs/Spinner.js.map +1 -1
  115. package/dist/cjs/Stepper.js +7 -11
  116. package/dist/cjs/Stepper.js.map +1 -1
  117. package/dist/cjs/Switch.js +22 -25
  118. package/dist/cjs/Switch.js.map +1 -1
  119. package/dist/cjs/Tab.js +10 -18
  120. package/dist/cjs/Tab.js.map +1 -1
  121. package/dist/cjs/Table.js +387 -236
  122. package/dist/cjs/Table.js.map +1 -1
  123. package/dist/cjs/Tag.js +9 -16
  124. package/dist/cjs/Tag.js.map +1 -1
  125. package/dist/cjs/{Textarea-13e1da31.js → Textarea-DdURL8Dd.js} +21 -29
  126. package/dist/cjs/Textarea-DdURL8Dd.js.map +1 -0
  127. package/dist/cjs/Textarea.js +7 -6
  128. package/dist/cjs/Textarea.js.map +1 -1
  129. package/dist/cjs/TimePicker.js +16 -17
  130. package/dist/cjs/TimePicker.js.map +1 -1
  131. package/dist/cjs/Toastr.js +61 -49
  132. package/dist/cjs/Toastr.js.map +1 -1
  133. package/dist/cjs/Tooltip.js +20 -22
  134. package/dist/cjs/Tooltip.js.map +1 -1
  135. package/dist/cjs/TranslationProvider.js +48 -21
  136. package/dist/cjs/TranslationProvider.js.map +1 -1
  137. package/dist/cjs/Tree.js +21 -23
  138. package/dist/cjs/Tree.js.map +1 -1
  139. package/dist/cjs/TreeSelect.js +30 -28
  140. package/dist/cjs/TreeSelect.js.map +1 -1
  141. package/dist/cjs/Typography.js +4 -12
  142. package/dist/cjs/Typography.js.map +1 -1
  143. package/dist/cjs/constants.js +7 -19
  144. package/dist/cjs/constants.js.map +1 -1
  145. package/dist/cjs/{en-80d0fbff.js → en-DhnUUSB_.js} +13 -6
  146. package/dist/cjs/en-DhnUUSB_.js.map +1 -0
  147. package/dist/cjs/formik/ActionBlock.js +12 -18
  148. package/dist/cjs/formik/ActionBlock.js.map +1 -1
  149. package/dist/cjs/formik/BlockNavigation.js +24 -42
  150. package/dist/cjs/formik/BlockNavigation.js.map +1 -1
  151. package/dist/cjs/formik/Button.js +3 -10
  152. package/dist/cjs/formik/Button.js.map +1 -1
  153. package/dist/cjs/formik/Checkbox.js +10 -16
  154. package/dist/cjs/formik/Checkbox.js.map +1 -1
  155. package/dist/cjs/formik/Form.js +13 -24
  156. package/dist/cjs/formik/Form.js.map +1 -1
  157. package/dist/cjs/formik/Input.js +10 -16
  158. package/dist/cjs/formik/Input.js.map +1 -1
  159. package/dist/cjs/formik/MultiEmailInput.js +8 -15
  160. package/dist/cjs/formik/MultiEmailInput.js.map +1 -1
  161. package/dist/cjs/formik/Radio.js +10 -17
  162. package/dist/cjs/formik/Radio.js.map +1 -1
  163. package/dist/cjs/formik/Select.js +9 -17
  164. package/dist/cjs/formik/Select.js.map +1 -1
  165. package/dist/cjs/formik/Slider.js +10 -17
  166. package/dist/cjs/formik/Slider.js.map +1 -1
  167. package/dist/cjs/formik/Switch.js +10 -16
  168. package/dist/cjs/formik/Switch.js.map +1 -1
  169. package/dist/cjs/formik/Textarea.js +11 -17
  170. package/dist/cjs/formik/Textarea.js.map +1 -1
  171. package/dist/cjs/formik/TreeSelect.js +8 -14
  172. package/dist/cjs/formik/TreeSelect.js.map +1 -1
  173. package/dist/cjs/formik/index.js +12 -15
  174. package/dist/cjs/formik/index.js.map +1 -1
  175. package/dist/cjs/index-BG9I04iF.js +451 -0
  176. package/dist/cjs/index-BG9I04iF.js.map +1 -0
  177. package/dist/cjs/{index-4683b7da.js → index-DOn2FmWB.js} +80 -80
  178. package/dist/cjs/index-DOn2FmWB.js.map +1 -0
  179. package/dist/cjs/index.css +2 -2
  180. package/dist/cjs/index.js +26 -29
  181. package/dist/cjs/index.js.map +1 -1
  182. package/dist/cjs/layouts.js +6 -7
  183. package/dist/cjs/layouts.js.map +1 -1
  184. package/dist/cjs/managers.js +0 -2
  185. package/dist/cjs/managers.js.map +1 -1
  186. package/dist/cjs/overlayManager.js +2 -9
  187. package/dist/cjs/overlayManager.js.map +1 -1
  188. package/dist/cjs/{react-select-creatable.esm-23eddf9f.js → react-select-creatable.esm-Bdv9YAMt.js} +231 -140
  189. package/dist/cjs/{react-select-creatable.esm-23eddf9f.js.map → react-select-creatable.esm-Bdv9YAMt.js.map} +1 -1
  190. package/dist/cjs/{useId-4e3deb5c.js → useId-DXHUzdxd.js} +1 -1
  191. package/dist/cjs/{useId-4e3deb5c.js.map → useId-DXHUzdxd.js.map} +1 -1
  192. package/dist/cjs/{useOverlayManager-d4108cf8.js → useOverlayManager-D5NTaYt6.js} +25 -744
  193. package/dist/cjs/useOverlayManager-D5NTaYt6.js.map +1 -0
  194. package/dist/cjs/{useQueryParams-a8ee2f76.js → useQueryParams-l5fJJYCR.js} +2 -6
  195. package/dist/cjs/useQueryParams-l5fJJYCR.js.map +1 -0
  196. package/dist/cjs/useRecentlyUsedColors-DmV1uj1F.js +1270 -0
  197. package/dist/cjs/useRecentlyUsedColors-DmV1uj1F.js.map +1 -0
  198. package/dist/cjs/{HeaderCellMenu-ed9de3d6.js → useRestoreScrollPosition-Ck_b0Nh4.js} +87 -88
  199. package/dist/cjs/useRestoreScrollPosition-Ck_b0Nh4.js.map +1 -0
  200. package/dist/{en-41f5c641.js → en-_r5-MxJe.js} +13 -6
  201. package/dist/en-_r5-MxJe.js.map +1 -0
  202. package/dist/formik/ActionBlock.js +7 -7
  203. package/dist/formik/BlockNavigation.js +15 -26
  204. package/dist/formik/BlockNavigation.js.map +1 -1
  205. package/dist/formik/Button.js +1 -2
  206. package/dist/formik/Button.js.map +1 -1
  207. package/dist/formik/Checkbox.js +6 -5
  208. package/dist/formik/Checkbox.js.map +1 -1
  209. package/dist/formik/Form.js +2 -2
  210. package/dist/formik/Form.js.map +1 -1
  211. package/dist/formik/Input.js +6 -5
  212. package/dist/formik/Input.js.map +1 -1
  213. package/dist/formik/MultiEmailInput.js +5 -5
  214. package/dist/formik/Radio.js +6 -5
  215. package/dist/formik/Radio.js.map +1 -1
  216. package/dist/formik/Select.js +5 -5
  217. package/dist/formik/Slider.js +6 -5
  218. package/dist/formik/Slider.js.map +1 -1
  219. package/dist/formik/Switch.js +6 -5
  220. package/dist/formik/Switch.js.map +1 -1
  221. package/dist/formik/Textarea.js +7 -6
  222. package/dist/formik/Textarea.js.map +1 -1
  223. package/dist/formik/TreeSelect.js +5 -4
  224. package/dist/formik/TreeSelect.js.map +1 -1
  225. package/dist/formik/index.js +12 -13
  226. package/dist/formik/index.js.map +1 -1
  227. package/dist/index-BCP3m_SF.js +434 -0
  228. package/dist/index-BCP3m_SF.js.map +1 -0
  229. package/dist/{index-78e488c9.js → index-BXAHRXsD.js} +33 -21
  230. package/dist/index-BXAHRXsD.js.map +1 -0
  231. package/dist/index.css +2 -2
  232. package/dist/index.js +26 -27
  233. package/dist/index.js.map +1 -1
  234. package/dist/layouts.js +6 -5
  235. package/dist/layouts.js.map +1 -1
  236. package/dist/{react-select-creatable.esm-ad71b0c0.js → react-select-creatable.esm-Dx_vEnyD.js} +137 -31
  237. package/dist/{react-select-creatable.esm-ad71b0c0.js.map → react-select-creatable.esm-Dx_vEnyD.js.map} +1 -1
  238. package/dist/{useId-c1d20bba.js → useId-Jj9hXm-g.js} +1 -1
  239. package/dist/{useId-c1d20bba.js.map → useId-Jj9hXm-g.js.map} +1 -1
  240. package/dist/{useOverlayManager-593daea1.js → useOverlayManager-U3cqV61l.js} +9 -716
  241. package/dist/useOverlayManager-U3cqV61l.js.map +1 -0
  242. package/dist/{useQueryParams-dcb34865.js → useQueryParams-b60CHFUx.js} +1 -1
  243. package/dist/{useQueryParams-dcb34865.js.map → useQueryParams-b60CHFUx.js.map} +1 -1
  244. package/dist/useRecentlyUsedColors-CJe4G0Xs.js +1267 -0
  245. package/dist/useRecentlyUsedColors-CJe4G0Xs.js.map +1 -0
  246. package/dist/{HeaderCellMenu-85af6d2a.js → useRestoreScrollPosition-B3J6xSHt.js} +77 -75
  247. package/dist/useRestoreScrollPosition-B3J6xSHt.js.map +1 -0
  248. package/package.json +20 -14
  249. package/src/translations/de.json +7 -2
  250. package/src/translations/en.json +12 -5
  251. package/src/translations/es.json +7 -2
  252. package/src/translations/fr.json +7 -2
  253. package/src/translations/nl.json +7 -2
  254. package/src/translations/pl.json +7 -2
  255. package/src/translations/pt.json +7 -2
  256. package/types/Button.d.ts +0 -2
  257. package/types/ColorPicker.d.ts +7 -5
  258. package/types/DatePicker.d.ts +2 -0
  259. package/types/Modal.d.ts +1 -1
  260. package/types/Pane.d.ts +1 -1
  261. package/types/Select.d.ts +4 -0
  262. package/types/Table.d.ts +9 -0
  263. package/types/Toastr.d.ts +3 -1
  264. package/types/Tree.d.ts +2 -1
  265. package/dist/HeaderCellMenu-85af6d2a.js.map +0 -1
  266. package/dist/Textarea-e2cdbeb5.js.map +0 -1
  267. package/dist/cjs/HeaderCellMenu-ed9de3d6.js.map +0 -1
  268. package/dist/cjs/Textarea-13e1da31.js.map +0 -1
  269. package/dist/cjs/en-80d0fbff.js.map +0 -1
  270. package/dist/cjs/index-0f5141e0.js +0 -178
  271. package/dist/cjs/index-0f5141e0.js.map +0 -1
  272. package/dist/cjs/index-4683b7da.js.map +0 -1
  273. package/dist/cjs/tinycolor-b1e9a7b2.js +0 -1202
  274. package/dist/cjs/tinycolor-b1e9a7b2.js.map +0 -1
  275. package/dist/cjs/useOverlayManager-d4108cf8.js.map +0 -1
  276. package/dist/cjs/useQueryParams-a8ee2f76.js.map +0 -1
  277. package/dist/en-41f5c641.js.map +0 -1
  278. package/dist/index-78e488c9.js.map +0 -1
  279. package/dist/index-abadd6e9.js +0 -155
  280. package/dist/index-abadd6e9.js.map +0 -1
  281. package/dist/tinycolor-282c618c.js +0 -1200
  282. package/dist/tinycolor-282c618c.js.map +0 -1
  283. package/dist/useOverlayManager-593daea1.js.map +0 -1
package/dist/Table.js CHANGED
@@ -4,24 +4,25 @@ import _extends from '@babel/runtime/helpers/extends';
4
4
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
5
5
  import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
6
6
  import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
7
- import React__default, { useRef, useEffect, useMemo, useState, useCallback } from 'react';
7
+ import React__default, { useRef, useEffect, useState, useMemo, useCallback } from 'react';
8
8
  import classnames from 'classnames';
9
- import { noop, isPresent, snakeToCamelCase, camelToSnakeCase, isNotEmpty, modifyBy, dynamicArray } from '@bigbinary/neeto-cist';
10
- import { UpArrow, DownArrow, Left, Right, MenuHorizontal } from '@bigbinary/neeto-icons';
11
- import { move, has, equals, props, mergeLeft, isEmpty, all, includes, __, pluck, assoc } from 'ramda';
9
+ import { isPresent, noop, snakeToCamelCase, camelToSnakeCase, isNotEmpty, modifyBy, dynamicArray } from '@bigbinary/neeto-cist';
10
+ import { UpArrow, DownArrow, InfoRound, Left, Right, MenuHorizontal } from '@bigbinary/neeto-icons';
11
+ import { isNil, move, isEmpty, all, includes, __, pipe, filter, pluck, equals, has, without, append, union, props, mergeLeft, assoc } from 'ramda';
12
12
  import ReactDragListView from 'react-drag-listview';
13
13
  import { useTranslation } from 'react-i18next';
14
14
  import { useHistory } from 'react-router-dom';
15
15
  import { ANTD_LOCALE } from './constants.js';
16
16
  import '@bigbinary/neeto-hotkeys';
17
17
  import './overlayManager.js';
18
- import { b as buildUrl, n as noop$1, A as ANT_DESIGN_GLOBAL_TOKEN_OVERRIDES } from './index-abadd6e9.js';
19
- import { u as useQueryParams } from './useQueryParams-dcb34865.js';
18
+ import { g as getLocale, a as getFromLocalStorage, r as removeFromLocalStorage, s as setToLocalStorage, h as hyphenize, b as buildUrl, n as noop$1, A as ANT_DESIGN_GLOBAL_TOKEN_OVERRIDES } from './index-BCP3m_SF.js';
19
+ import { u as useQueryParams } from './useQueryParams-b60CHFUx.js';
20
20
  import Button from './Button.js';
21
21
  import Callout from './Callout.js';
22
22
  import Typography from './Typography.js';
23
- import { T as TABLE_SORT_ORDERS, U as URL_SORT_ORDERS, H as HeaderCellMenu, S as SELECT_ALL_ROWS_CALLOUT_MOBILE_HEIGHT, a as SELECT_ALL_ROWS_CALLOUT_DESKTOP_HEIGHT, u as useRestoreScrollPosition } from './HeaderCellMenu-85af6d2a.js';
23
+ import { T as TABLE_SORT_ORDERS, U as URL_SORT_ORDERS, H as HeaderCellMenu, C as COLUMN_FIXED_VALUES, S as SELECT_ALL_ROWS_CALLOUT_MOBILE_HEIGHT, a as SELECT_ALL_ROWS_CALLOUT_DESKTOP_HEIGHT, u as useRestoreScrollPosition } from './useRestoreScrollPosition-B3J6xSHt.js';
24
24
  import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
25
+ import Popover from './Popover.js';
25
26
  import { Resizable } from 'react-resizable';
26
27
  import Spinner from './Spinner.js';
27
28
  import 'antd/locale/de_DE';
@@ -33,19 +34,18 @@ import 'antd/locale/pl_PL';
33
34
  import 'antd/locale/pt_PT';
34
35
  import '@babel/runtime/helpers/classCallCheck';
35
36
  import '@babel/runtime/helpers/createClass';
37
+ import 'qs';
38
+ import './en-_r5-MxJe.js';
36
39
  import 'dayjs';
37
40
  import 'dayjs/plugin/localeData';
38
41
  import 'dayjs/plugin/utc';
39
42
  import 'dayjs/plugin/weekday';
40
43
  import 'dayjs/plugin/weekOfYear';
41
- import 'qs';
42
- import './en-41f5c641.js';
43
44
  import './Tooltip.js';
44
45
  import '@tippyjs/react';
45
46
  import 'tippy.js';
46
- import 'zustand';
47
47
  import './Dropdown.js';
48
- import './Popover.js';
48
+ import 'zustand';
49
49
 
50
50
  var useTimeout = function useTimeout(callback, delay) {
51
51
  var savedCallback = useRef(callback);
@@ -53,9 +53,6 @@ var useTimeout = function useTimeout(callback, delay) {
53
53
  savedCallback.current = callback;
54
54
  }, [callback]);
55
55
  useEffect(function () {
56
- if (delay === null) {
57
- return undefined;
58
- }
59
56
  var id = setTimeout(function () {
60
57
  return savedCallback.current();
61
58
  }, delay);
@@ -65,6 +62,31 @@ var useTimeout = function useTimeout(callback, delay) {
65
62
  }, [delay]);
66
63
  };
67
64
 
65
+ // eslint-disable-next-line @bigbinary/neeto/no-dumb-components-with-use-translation
66
+ var AllRowsSelectedCallout = function AllRowsSelectedCallout(_ref) {
67
+ var calloutProps = _ref.calloutProps,
68
+ onClearSelection = _ref.onClearSelection,
69
+ allRowsSelectedMessage = _ref.allRowsSelectedMessage,
70
+ clearSelectionButtonLabel = _ref.clearSelectionButtonLabel;
71
+ var _useTranslation = useTranslation(),
72
+ t = _useTranslation.t,
73
+ i18n = _useTranslation.i18n;
74
+ return /*#__PURE__*/React__default.createElement(Callout, _extends({
75
+ className: "my-2"
76
+ }, calloutProps, {
77
+ "data-testid": "clear-selections-callout"
78
+ }), /*#__PURE__*/React__default.createElement("div", {
79
+ className: "neeto-ui-flex neeto-ui-gap-3"
80
+ }, /*#__PURE__*/React__default.createElement(Typography, {
81
+ style: "body2"
82
+ }, allRowsSelectedMessage || getLocale(i18n, t, "neetoui.table.allRowsSelected")), /*#__PURE__*/React__default.createElement(Button, {
83
+ "data-testid": "clear-selections-button",
84
+ style: "link",
85
+ label: clearSelectionButtonLabel || getLocale(i18n, t, "neetoui.table.clearSelection"),
86
+ onClick: onClearSelection
87
+ })));
88
+ };
89
+
68
90
  var SelectAllRowsCallout = function SelectAllRowsCallout(_ref) {
69
91
  var calloutProps = _ref.calloutProps,
70
92
  onBulkSelectAllRows = _ref.onBulkSelectAllRows,
@@ -75,7 +97,7 @@ var SelectAllRowsCallout = function SelectAllRowsCallout(_ref) {
75
97
  }, calloutProps, {
76
98
  "data-testid": "select-all-rows-callout"
77
99
  }), /*#__PURE__*/React__default.createElement("div", {
78
- className: "flex space-x-3"
100
+ className: "neeto-ui-flex neeto-ui-gap-3"
79
101
  }, /*#__PURE__*/React__default.createElement(Typography, {
80
102
  style: "body2"
81
103
  }, selectAllRowMessage), /*#__PURE__*/React__default.createElement(Button, {
@@ -86,6 +108,27 @@ var SelectAllRowsCallout = function SelectAllRowsCallout(_ref) {
86
108
  })));
87
109
  };
88
110
 
111
+ var useLocalStorage = function useLocalStorage(key, defaultValue) {
112
+ var _useState = useState(function () {
113
+ return getFromLocalStorage(key, defaultValue);
114
+ }),
115
+ _useState2 = _slicedToArray(_useState, 2),
116
+ storedValue = _useState2[0],
117
+ setStoredValue = _useState2[1];
118
+ var setValue = function setValue(value) {
119
+ return setStoredValue(function (prevStoredValue) {
120
+ var newValue = typeof value === "function" ? value(prevStoredValue) : value;
121
+ if (isNil(newValue)) {
122
+ removeFromLocalStorage(key);
123
+ } else {
124
+ setToLocalStorage(key, newValue);
125
+ }
126
+ return newValue;
127
+ });
128
+ };
129
+ return [storedValue, setValue];
130
+ };
131
+
89
132
  var useReorderColumns = function useReorderColumns(_ref) {
90
133
  var isEnabled = _ref.isEnabled,
91
134
  columns = _ref.columns,
@@ -107,12 +150,13 @@ var useReorderColumns = function useReorderColumns(_ref) {
107
150
  from = fromIndex - 1;
108
151
  to = toIndex - 1;
109
152
  }
153
+ if (!columns[from] || !columns[to]) return;
110
154
  if (isColumnFixed(columns[from]) || isColumnFixed(columns[to])) return;
111
155
  var newColumns = move(from, to, columns);
112
156
  setColumns(newColumns);
113
157
  onColumnUpdate(newColumns);
114
158
  },
115
- nodeSelector: "th",
159
+ nodeSelector: "th:not(.ant-table-cell-fix-left):not(.ant-table-cell-scrollbar)",
116
160
  handleSelector: ".drag-handler",
117
161
  ignoreSelector: ".react-resizable-handle"
118
162
  };
@@ -137,19 +181,252 @@ var SortIcon = function SortIcon(_ref) {
137
181
  return null;
138
182
  };
139
183
 
184
+ var _excluded$5 = ["title", "description"];
185
+ var TitleWithInfoIcon = function TitleWithInfoIcon(_ref) {
186
+ var title = _ref.title,
187
+ description = _ref.description,
188
+ rest = _objectWithoutProperties(_ref, _excluded$5);
189
+ var popoverRef = useRef();
190
+ return /*#__PURE__*/React__default.createElement("span", {
191
+ className: "relative pr-5"
192
+ }, typeof title === "function" ? title(rest) : title, description && /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement("span", {
193
+ className: "neeto-ui-table__column-title-info-icon",
194
+ ref: popoverRef
195
+ }, /*#__PURE__*/React__default.createElement(InfoRound, {
196
+ color: "currentColor",
197
+ size: 14
198
+ })), /*#__PURE__*/React__default.createElement(Popover, {
199
+ appendTo: function appendTo() {
200
+ return document.body;
201
+ },
202
+ position: "bottom",
203
+ reference: popoverRef
204
+ }, /*#__PURE__*/React__default.createElement(Typography, {
205
+ lineHeight: "normal",
206
+ style: "body2"
207
+ }, description))));
208
+ };
209
+
210
+ var _excluded$4 = ["children", "isSortable", "isAddEnabled", "sortedInfo", "onSort", "isHidable", "isDeletable", "isFixedColumn", "isColumnFreezeEnabled", "onColumnHide", "onAddColumn", "onColumnDelete", "onColumnFreeze", "onMoreActionClick", "column", "moreActions"];
211
+ var CellContent = function CellContent(_ref) {
212
+ var children = _ref.children,
213
+ isSortable = _ref.isSortable,
214
+ isAddEnabled = _ref.isAddEnabled,
215
+ sortedInfo = _ref.sortedInfo,
216
+ onSort = _ref.onSort,
217
+ _ref$isHidable = _ref.isHidable,
218
+ isHidable = _ref$isHidable === void 0 ? true : _ref$isHidable,
219
+ _ref$isDeletable = _ref.isDeletable,
220
+ isDeletable = _ref$isDeletable === void 0 ? false : _ref$isDeletable,
221
+ isFixedColumn = _ref.isFixedColumn,
222
+ isColumnFreezeEnabled = _ref.isColumnFreezeEnabled,
223
+ onColumnHide = _ref.onColumnHide,
224
+ onAddColumn = _ref.onAddColumn,
225
+ onColumnDelete = _ref.onColumnDelete,
226
+ onColumnFreeze = _ref.onColumnFreeze,
227
+ onMoreActionClick = _ref.onMoreActionClick,
228
+ column = _ref.column,
229
+ _ref$moreActions = _ref.moreActions,
230
+ moreActions = _ref$moreActions === void 0 ? [] : _ref$moreActions,
231
+ headerProps = _objectWithoutProperties(_ref, _excluded$4);
232
+ var isColumnHidable = isHidable && isPresent(onColumnHide);
233
+ var isColumnDeletable = isDeletable && isPresent(onColumnDelete);
234
+ var hasMoreActions = !isEmpty(moreActions) && isPresent(onMoreActionClick);
235
+ var hasMoreMenu = isSortable || isColumnHidable || isAddEnabled || hasMoreActions || isPresent(column) && isColumnFreezeEnabled;
236
+ return /*#__PURE__*/React__default.createElement("th", _extends({}, headerProps, {
237
+ title: "",
238
+ onClick: isSortable ? noop : headerProps.onClick
239
+ }), /*#__PURE__*/React__default.createElement("div", {
240
+ className: "neeto-ui-flex neeto-ui-items-center neeto-ui-justify-between",
241
+ "data-cy": "".concat(hyphenize(headerProps.title), "-header-title")
242
+ }, /*#__PURE__*/React__default.createElement("div", {
243
+ className: "neeto-ui-min-w-0 neeto-ui-flex-grow neeto-ui-truncate neeto-ui-table__column-title-content"
244
+ }, children), hasMoreMenu && /*#__PURE__*/React__default.createElement(HeaderCellMenu, {
245
+ column: column,
246
+ hasMoreActions: hasMoreActions,
247
+ isAddEnabled: isAddEnabled,
248
+ isColumnDeletable: isColumnDeletable,
249
+ isColumnFreezeEnabled: isColumnFreezeEnabled,
250
+ isFixedColumn: isFixedColumn,
251
+ isSortable: isSortable,
252
+ moreActions: moreActions,
253
+ onAddColumn: onAddColumn,
254
+ onColumnDelete: onColumnDelete,
255
+ onColumnFreeze: onColumnFreeze,
256
+ onColumnHide: onColumnHide,
257
+ onMoreActionClick: onMoreActionClick,
258
+ onSort: onSort,
259
+ sortedInfo: sortedInfo,
260
+ isHidable: isColumnHidable
261
+ })));
262
+ };
263
+
264
+ var _excluded$3 = ["onResize", "width", "onResizeStop", "className"];
265
+ var HeaderCell = function HeaderCell(props) {
266
+ var onResize = props.onResize,
267
+ width = props.width,
268
+ onResizeStop = props.onResizeStop,
269
+ className = props.className,
270
+ restProps = _objectWithoutProperties(props, _excluded$3);
271
+ if (!width) {
272
+ return /*#__PURE__*/React__default.createElement(CellContent, _extends({}, restProps, {
273
+ className: classnames(className, "drag-handler")
274
+ }));
275
+ }
276
+ return /*#__PURE__*/React__default.createElement(Resizable, {
277
+ onResize: onResize,
278
+ onResizeStop: onResizeStop,
279
+ width: width,
280
+ draggableOpts: {
281
+ enableUserSelectHack: false
282
+ },
283
+ height: 0,
284
+ handle: /*#__PURE__*/React__default.createElement("span", {
285
+ className: "react-resizable-handle",
286
+ onClick: function onClick(e) {
287
+ return e.stopPropagation();
288
+ }
289
+ }),
290
+ onResizeStart: function onResizeStart(e) {
291
+ e.preventDefault();
292
+ }
293
+ }, /*#__PURE__*/React__default.createElement(CellContent, _extends({}, restProps, {
294
+ className: classnames(className, "drag-handler")
295
+ })));
296
+ };
297
+
298
+ var _excluded$2 = ["onResize", "width", "onResizeStop"];
299
+ var ResizableHeaderCell = function ResizableHeaderCell(props) {
300
+ var onResize = props.onResize,
301
+ width = props.width,
302
+ onResizeStop = props.onResizeStop,
303
+ restProps = _objectWithoutProperties(props, _excluded$2);
304
+ if (!width) {
305
+ return /*#__PURE__*/React__default.createElement(CellContent, restProps);
306
+ }
307
+ return /*#__PURE__*/React__default.createElement(Resizable, {
308
+ onResize: onResize,
309
+ onResizeStop: onResizeStop,
310
+ width: width,
311
+ draggableOpts: {
312
+ enableUserSelectHack: false
313
+ },
314
+ height: 0,
315
+ handle: /*#__PURE__*/React__default.createElement("span", {
316
+ className: "react-resizable-handle",
317
+ onClick: function onClick(e) {
318
+ return e.stopPropagation();
319
+ }
320
+ }),
321
+ onResizeStart: function onResizeStart(e) {
322
+ e.preventDefault();
323
+ }
324
+ }, /*#__PURE__*/React__default.createElement(CellContent, restProps));
325
+ };
326
+
327
+ var _excluded$1 = ["className"];
328
+ var ReorderableHeaderCell = function ReorderableHeaderCell(_ref) {
329
+ var className = _ref.className,
330
+ props = _objectWithoutProperties(_ref, _excluded$1);
331
+ return /*#__PURE__*/React__default.createElement(CellContent, _extends({}, props, {
332
+ className: classnames(className, "drag-handler")
333
+ }));
334
+ };
335
+
336
+ var convertLocationPathnameToId = function convertLocationPathnameToId() {
337
+ var pathname = decodeURIComponent(window.location.pathname).replace(/^\//, "");
338
+ var hash = 0;
339
+ for (var i = 0; i < pathname.length; i++) {
340
+ var _char = pathname.charCodeAt(i);
341
+ hash = (hash << 5) - hash + _char;
342
+ hash = hash & hash; // Convert to 32-bit integer
343
+ }
344
+
345
+ return Math.abs(hash).toString(16).toUpperCase();
346
+ };
347
+ var getHeaderCell = function getHeaderCell(_ref) {
348
+ var enableColumnResize = _ref.enableColumnResize,
349
+ enableColumnReorder = _ref.enableColumnReorder;
350
+ if (enableColumnReorder && enableColumnResize) return {
351
+ cell: HeaderCell
352
+ };
353
+ if (enableColumnResize) return {
354
+ cell: ResizableHeaderCell
355
+ };
356
+ if (enableColumnReorder) return {
357
+ cell: ReorderableHeaderCell
358
+ };
359
+ return {
360
+ cell: CellContent
361
+ };
362
+ };
363
+ var isIncludedIn = function isIncludedIn(array1, array2) {
364
+ return all(includes(__, array1), array2);
365
+ };
366
+ var getSelectAllRowsCalloutHeight = function getSelectAllRowsCalloutHeight() {
367
+ return window.innerWidth < 768 ? SELECT_ALL_ROWS_CALLOUT_MOBILE_HEIGHT : SELECT_ALL_ROWS_CALLOUT_DESKTOP_HEIGHT;
368
+ };
369
+ var sortFrozenColumns = function sortFrozenColumns(columnData) {
370
+ var originalIndices = new Map(columnData.map(function (col, index) {
371
+ return [col.dataIndex, index];
372
+ }));
373
+ return function (a, b) {
374
+ var aFixed = isPresent(a.fixed);
375
+ var bFixed = isPresent(b.fixed);
376
+ var aIndex = originalIndices.get(a.dataIndex);
377
+ var bIndex = originalIndices.get(b.dataIndex);
378
+ if (aFixed !== bFixed) return aFixed ? -1 : 1;
379
+ return aIndex - bIndex;
380
+ };
381
+ };
382
+ var getFixedColumns = function getFixedColumns(columnData) {
383
+ return pipe(filter(function (_ref2) {
384
+ var fixed = _ref2.fixed;
385
+ return isPresent(fixed);
386
+ }), pluck("dataIndex"))(columnData);
387
+ };
388
+ var getColumnSortOrder = function getColumnSortOrder(col, sortedInfo) {
389
+ return equals(sortedInfo.field, col.dataIndex) || equals(sortedInfo.field, col.key) ? sortedInfo.order : null;
390
+ };
391
+ var getColumFixedValue = function getColumFixedValue(col, frozenColumns) {
392
+ return frozenColumns.indexOf(col.dataIndex) !== -1 ? COLUMN_FIXED_VALUES.LEFT : null;
393
+ };
394
+ var getFrozenColumnsLocalStorageKey = function getFrozenColumnsLocalStorageKey(localStorageKeyPrefix) {
395
+ var prefix = isPresent(localStorageKeyPrefix) ? localStorageKeyPrefix : convertLocationPathnameToId();
396
+ return "NEETOUI-".concat(prefix, "-FIXED_COLUMNS");
397
+ };
398
+ var getSortInfoFromQueryParams = function getSortInfoFromQueryParams(queryParams) {
399
+ var sortedInfo = {};
400
+ if (isPresent(queryParams.sort_by) && isPresent(queryParams.order_by) && isPresent(TABLE_SORT_ORDERS[queryParams.order_by])) {
401
+ sortedInfo.field = queryParams.sort_by.includes("+") ? queryParams.sort_by.split("+").map(snakeToCamelCase) : snakeToCamelCase(queryParams.sort_by);
402
+ sortedInfo.order = TABLE_SORT_ORDERS[queryParams.order_by];
403
+ }
404
+ return sortedInfo;
405
+ };
406
+ var getSortField = function getSortField(field) {
407
+ if (Array.isArray(field)) {
408
+ return field.map(camelToSnakeCase).join("+");
409
+ }
410
+ return camelToSnakeCase(field);
411
+ };
412
+
140
413
  function ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
141
414
  function _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$2(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
142
415
  var useResizableColumns = function useResizableColumns(_ref) {
143
416
  var columns = _ref.columns,
417
+ columnData = _ref.columnData,
418
+ frozenColumns = _ref.frozenColumns,
144
419
  setColumns = _ref.setColumns,
145
420
  isEnabled = _ref.isEnabled,
146
421
  isAddEnabled = _ref.isAddEnabled,
422
+ isColumnFreezeEnabled = _ref.isColumnFreezeEnabled,
147
423
  onColumnAdd = _ref.onColumnAdd,
148
424
  onColumnUpdate = _ref.onColumnUpdate,
149
425
  onColumnDelete = _ref.onColumnDelete,
150
426
  handleSort = _ref.handleSort,
151
427
  sortedInfo = _ref.sortedInfo,
152
428
  onColumnHide = _ref.onColumnHide,
429
+ onColumnFreeze = _ref.onColumnFreeze,
153
430
  onMoreActionClick = _ref.onMoreActionClick,
154
431
  tableOnChangeProps = _ref.tableOnChangeProps;
155
432
  var handleResize = function handleResize(index) {
@@ -164,6 +441,7 @@ var useResizableColumns = function useResizableColumns(_ref) {
164
441
  };
165
442
  var computedColumnsData = useMemo(function () {
166
443
  return columns.map(function (col, index) {
444
+ var fixed = getColumFixedValue(col, frozenColumns);
167
445
  var modifiedColumn = _objectSpread$2(_objectSpread$2({}, col), {}, {
168
446
  onHeaderCell: function onHeaderCell(column) {
169
447
  return {
@@ -176,27 +454,36 @@ var useResizableColumns = function useResizableColumns(_ref) {
176
454
  onSort: handleSort,
177
455
  sortedInfo: sortedInfo,
178
456
  onColumnHide: onColumnHide,
457
+ onColumnFreeze: onColumnFreeze,
179
458
  onMoreActionClick: onMoreActionClick,
180
- isAddEnabled: isAddEnabled && !col.fixed,
459
+ isColumnFreezeEnabled: isColumnFreezeEnabled,
460
+ isAddEnabled: isAddEnabled && !fixed,
181
461
  onAddColumn: function onAddColumn(positionOffset) {
182
462
  return onColumnAdd(index + positionOffset);
183
463
  },
464
+ isFixedColumn: !!fixed,
184
465
  onColumnDelete: onColumnDelete,
185
466
  isHidable: col.isHidable,
186
467
  isDeletable: col.isDeletable,
187
468
  moreActions: col.moreActions,
188
- column: col
469
+ column: col,
470
+ "data-text-align": column.align
189
471
  };
190
472
  },
191
473
  sortIcon: SortIcon,
192
- sortOrder: sortedInfo.field === col.dataIndex || sortedInfo.field === col.key ? sortedInfo.order : null
474
+ sortOrder: getColumnSortOrder(col, sortedInfo),
475
+ fixed: fixed,
476
+ title: col.description ? function (props) {
477
+ return /*#__PURE__*/React__default.createElement(TitleWithInfoIcon, _extends({}, props, {
478
+ description: col.description,
479
+ title: col.title
480
+ }));
481
+ } : col.title
193
482
  });
194
- if (!has("ellipsis", col)) {
195
- modifiedColumn.ellipsis = true;
196
- }
483
+ if (!has("ellipsis", col)) modifiedColumn.ellipsis = true;
197
484
  return modifiedColumn;
198
- });
199
- }, [columns, sortedInfo, tableOnChangeProps]);
485
+ }).sort(sortFrozenColumns(columnData));
486
+ }, [columns, sortedInfo, tableOnChangeProps, onColumnFreeze, frozenColumns, columnData]);
200
487
  return {
201
488
  columns: computedColumnsData
202
489
  };
@@ -206,10 +493,12 @@ function ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if
206
493
  function _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$1(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
207
494
  var useColumns = function useColumns(_ref) {
208
495
  var columns = _ref.columns,
496
+ columnData = _ref.columnData,
209
497
  setColumns = _ref.setColumns,
210
498
  isResizeEnabled = _ref.isResizeEnabled,
211
499
  isReorderEnabled = _ref.isReorderEnabled,
212
500
  isAddEnabled = _ref.isAddEnabled,
501
+ isColumnFreezeEnabled = _ref.isColumnFreezeEnabled,
213
502
  onColumnAdd = _ref.onColumnAdd,
214
503
  onColumnUpdate = _ref.onColumnUpdate,
215
504
  onColumnDelete = _ref.onColumnDelete,
@@ -221,7 +510,24 @@ var useColumns = function useColumns(_ref) {
221
510
  onTableChange = _ref.onTableChange,
222
511
  tableOnChangeProps = _ref.tableOnChangeProps,
223
512
  handleTableSortChange = _ref.handleTableSortChange,
224
- isDefaultPageChangeHandler = _ref.isDefaultPageChangeHandler;
513
+ isDefaultPageChangeHandler = _ref.isDefaultPageChangeHandler,
514
+ localStorageKeyPrefix = _ref.localStorageKeyPrefix;
515
+ var didSetInitialFrozenColumnsRef = useRef(false);
516
+ var _useLocalStorage = useLocalStorage(getFrozenColumnsLocalStorageKey(localStorageKeyPrefix), getFixedColumns(columnData)),
517
+ _useLocalStorage2 = _slicedToArray(_useLocalStorage, 2),
518
+ frozenColumns = _useLocalStorage2[0],
519
+ setFrozenColumns = _useLocalStorage2[1];
520
+ var onColumnFreeze = useCallback(function (isFixedColumn, _ref2) {
521
+ var dataIndex = _ref2.dataIndex;
522
+ var updatedColumns = isFixedColumn ? without([dataIndex], frozenColumns) : append(dataIndex, frozenColumns);
523
+ setFrozenColumns(updatedColumns);
524
+ }, [frozenColumns, setFrozenColumns]);
525
+ useEffect(function () {
526
+ if (isEmpty(columnData) || didSetInitialFrozenColumnsRef.current) return;
527
+ var fixedCols = getFixedColumns(columnData);
528
+ setFrozenColumns(union(fixedCols));
529
+ didSetInitialFrozenColumnsRef.current = true;
530
+ }, [columnData, setFrozenColumns]);
225
531
  var _useReorderColumns = useReorderColumns({
226
532
  isEnabled: isReorderEnabled,
227
533
  columns: columns,
@@ -247,9 +553,12 @@ var useColumns = function useColumns(_ref) {
247
553
  };
248
554
  var _useResizableColumns = useResizableColumns({
249
555
  columns: columns,
556
+ columnData: columnData,
557
+ frozenColumns: frozenColumns,
250
558
  setColumns: setColumns,
251
559
  isEnabled: isResizeEnabled,
252
560
  isAddEnabled: isAddEnabled,
561
+ isColumnFreezeEnabled: isColumnFreezeEnabled,
253
562
  onColumnAdd: onColumnAdd,
254
563
  onColumnUpdate: onColumnUpdate,
255
564
  onColumnDelete: onColumnDelete,
@@ -257,7 +566,8 @@ var useColumns = function useColumns(_ref) {
257
566
  sortedInfo: sortedInfo,
258
567
  onColumnHide: onColumnHide,
259
568
  onMoreActionClick: onMoreActionClick,
260
- tableOnChangeProps: tableOnChangeProps
569
+ tableOnChangeProps: tableOnChangeProps,
570
+ onColumnFreeze: onColumnFreeze
261
571
  }),
262
572
  computedColumnsData = _useResizableColumns.columns;
263
573
  return {
@@ -266,14 +576,6 @@ var useColumns = function useColumns(_ref) {
266
576
  };
267
577
  };
268
578
 
269
- var getSortInfoFromQueryParams = function getSortInfoFromQueryParams(queryParams) {
270
- var sortedInfo = {};
271
- if (isPresent(queryParams.sort_by) && isPresent(queryParams.order_by) && isPresent(TABLE_SORT_ORDERS[queryParams.order_by])) {
272
- sortedInfo.field = snakeToCamelCase(queryParams.sort_by);
273
- sortedInfo.order = TABLE_SORT_ORDERS[queryParams.order_by];
274
- }
275
- return sortedInfo;
276
- };
277
579
  var useTableSort = function useTableSort() {
278
580
  var queryParams = useQueryParams();
279
581
  var _useState = useState(function () {
@@ -288,7 +590,7 @@ var useTableSort = function useTableSort() {
288
590
  var history = useHistory();
289
591
  var handleTableChange = function handleTableChange(pagination, sorter) {
290
592
  var params = {
291
- sort_by: sorter.order ? camelToSnakeCase(sorter.field) : undefined,
593
+ sort_by: sorter.order ? getSortField(sorter.field) : undefined,
292
594
  order_by: URL_SORT_ORDERS[sorter.order],
293
595
  page: pagination.current
294
596
  };
@@ -302,150 +604,7 @@ var useTableSort = function useTableSort() {
302
604
  };
303
605
  };
304
606
 
305
- var _excluded$4 = ["children", "isSortable", "isAddEnabled", "sortedInfo", "onSort", "isHidable", "isDeletable", "onColumnHide", "onAddColumn", "onColumnDelete", "onMoreActionClick", "column", "moreActions"];
306
- var CellContent = function CellContent(_ref) {
307
- var children = _ref.children,
308
- isSortable = _ref.isSortable,
309
- isAddEnabled = _ref.isAddEnabled,
310
- sortedInfo = _ref.sortedInfo,
311
- onSort = _ref.onSort,
312
- _ref$isHidable = _ref.isHidable,
313
- isHidable = _ref$isHidable === void 0 ? true : _ref$isHidable,
314
- _ref$isDeletable = _ref.isDeletable,
315
- isDeletable = _ref$isDeletable === void 0 ? false : _ref$isDeletable,
316
- onColumnHide = _ref.onColumnHide,
317
- onAddColumn = _ref.onAddColumn,
318
- onColumnDelete = _ref.onColumnDelete,
319
- onMoreActionClick = _ref.onMoreActionClick,
320
- column = _ref.column,
321
- _ref$moreActions = _ref.moreActions,
322
- moreActions = _ref$moreActions === void 0 ? [] : _ref$moreActions,
323
- headerProps = _objectWithoutProperties(_ref, _excluded$4);
324
- var isColumnHidable = isHidable && isPresent(onColumnHide);
325
- var isColumnDeletable = isDeletable && isPresent(onColumnDelete);
326
- var hasMoreActions = !isEmpty(moreActions) && isPresent(onMoreActionClick);
327
- var hasMoreMenu = isSortable || isPresent(column === null || column === void 0 ? void 0 : column.description) || isColumnHidable || isAddEnabled || hasMoreActions;
328
- return /*#__PURE__*/React__default.createElement("th", _extends({}, headerProps, {
329
- title: "",
330
- onClick: isSortable ? noop : headerProps.onClick
331
- }), /*#__PURE__*/React__default.createElement("div", {
332
- className: "flex items-center justify-between"
333
- }, /*#__PURE__*/React__default.createElement("div", {
334
- className: "min-w-0 flex-grow"
335
- }, children), hasMoreMenu && /*#__PURE__*/React__default.createElement(HeaderCellMenu, {
336
- column: column,
337
- hasMoreActions: hasMoreActions,
338
- isAddEnabled: isAddEnabled,
339
- isColumnDeletable: isColumnDeletable,
340
- isSortable: isSortable,
341
- moreActions: moreActions,
342
- onAddColumn: onAddColumn,
343
- onColumnDelete: onColumnDelete,
344
- onColumnHide: onColumnHide,
345
- onMoreActionClick: onMoreActionClick,
346
- onSort: onSort,
347
- sortedInfo: sortedInfo,
348
- columnTitle: headerProps.title,
349
- isHidable: isColumnHidable
350
- })));
351
- };
352
-
353
- var _excluded$3 = ["onResize", "width", "onResizeStop", "className"];
354
- var HeaderCell = function HeaderCell(props) {
355
- var onResize = props.onResize,
356
- width = props.width,
357
- onResizeStop = props.onResizeStop,
358
- className = props.className,
359
- restProps = _objectWithoutProperties(props, _excluded$3);
360
- if (!width) {
361
- return /*#__PURE__*/React__default.createElement(CellContent, _extends({}, restProps, {
362
- className: classnames(className, "drag-handler")
363
- }));
364
- }
365
- return /*#__PURE__*/React__default.createElement(Resizable, {
366
- onResize: onResize,
367
- onResizeStop: onResizeStop,
368
- width: width,
369
- draggableOpts: {
370
- enableUserSelectHack: false
371
- },
372
- height: 0,
373
- handle: /*#__PURE__*/React__default.createElement("span", {
374
- className: "react-resizable-handle",
375
- onClick: function onClick(e) {
376
- return e.stopPropagation();
377
- }
378
- }),
379
- onResizeStart: function onResizeStart(e) {
380
- e.preventDefault();
381
- }
382
- }, /*#__PURE__*/React__default.createElement(CellContent, _extends({}, restProps, {
383
- className: classnames(className, "drag-handler")
384
- })));
385
- };
386
-
387
- var _excluded$2 = ["onResize", "width", "onResizeStop"];
388
- var ResizableHeaderCell = function ResizableHeaderCell(props) {
389
- var onResize = props.onResize,
390
- width = props.width,
391
- onResizeStop = props.onResizeStop,
392
- restProps = _objectWithoutProperties(props, _excluded$2);
393
- if (!width) {
394
- return /*#__PURE__*/React__default.createElement(CellContent, restProps);
395
- }
396
- return /*#__PURE__*/React__default.createElement(Resizable, {
397
- onResize: onResize,
398
- onResizeStop: onResizeStop,
399
- width: width,
400
- draggableOpts: {
401
- enableUserSelectHack: false
402
- },
403
- height: 0,
404
- handle: /*#__PURE__*/React__default.createElement("span", {
405
- className: "react-resizable-handle",
406
- onClick: function onClick(e) {
407
- return e.stopPropagation();
408
- }
409
- }),
410
- onResizeStart: function onResizeStart(e) {
411
- e.preventDefault();
412
- }
413
- }, /*#__PURE__*/React__default.createElement(CellContent, restProps));
414
- };
415
-
416
- var _excluded$1 = ["className"];
417
- var ReorderableHeaderCell = function ReorderableHeaderCell(_ref) {
418
- var className = _ref.className,
419
- props = _objectWithoutProperties(_ref, _excluded$1);
420
- return /*#__PURE__*/React__default.createElement(CellContent, _extends({}, props, {
421
- className: classnames(className, "drag-handler")
422
- }));
423
- };
424
-
425
- var getHeaderCell = function getHeaderCell(_ref) {
426
- var enableColumnResize = _ref.enableColumnResize,
427
- enableColumnReorder = _ref.enableColumnReorder;
428
- if (enableColumnReorder && enableColumnResize) return {
429
- cell: HeaderCell
430
- };
431
- if (enableColumnResize) return {
432
- cell: ResizableHeaderCell
433
- };
434
- if (enableColumnReorder) return {
435
- cell: ReorderableHeaderCell
436
- };
437
- return {
438
- cell: CellContent
439
- };
440
- };
441
- var isIncludedIn = function isIncludedIn(array1, array2) {
442
- return all(includes(__, array1), array2);
443
- };
444
- var getSelectAllRowsCalloutHeight = function getSelectAllRowsCalloutHeight() {
445
- return window.innerWidth < 768 ? SELECT_ALL_ROWS_CALLOUT_MOBILE_HEIGHT : SELECT_ALL_ROWS_CALLOUT_DESKTOP_HEIGHT;
446
- };
447
-
448
- var _excluded = ["allowRowClick", "enableColumnResize", "enableColumnReorder", "enableAddColumn", "className", "columnData", "currentPageNumber", "defaultPageSize", "handlePageChange", "loading", "onRowClick", "onRowSelect", "rowData", "totalCount", "selectedRowKeys", "fixedHeight", "paginationProps", "rowKey", "scroll", "rowSelection", "shouldDynamicallyRenderRowSize", "bordered", "onColumnUpdate", "components", "onColumnHide", "onColumnAdd", "onColumnDelete", "onChange", "onMoreActionClick", "bulkSelectAllRowsProps"];
607
+ var _excluded = ["allowRowClick", "enableColumnResize", "enableColumnReorder", "enableColumnFreeze", "enableAddColumn", "className", "columnData", "currentPageNumber", "defaultPageSize", "handlePageChange", "loading", "onRowClick", "onRowSelect", "rowData", "totalCount", "selectedRowKeys", "fixedHeight", "paginationProps", "rowKey", "scroll", "rowSelection", "shouldDynamicallyRenderRowSize", "bordered", "onColumnUpdate", "components", "onColumnHide", "onColumnAdd", "onColumnDelete", "onChange", "onMoreActionClick", "bulkSelectAllRowsProps", "localStorageKeyPrefix"];
449
608
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
450
609
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
451
610
  var TABLE_PAGINATION_HEIGHT = 64;
@@ -458,6 +617,8 @@ var Table = function Table(_ref) {
458
617
  enableColumnResize = _ref$enableColumnResi === void 0 ? true : _ref$enableColumnResi,
459
618
  _ref$enableColumnReor = _ref.enableColumnReorder,
460
619
  enableColumnReorder = _ref$enableColumnReor === void 0 ? false : _ref$enableColumnReor,
620
+ _ref$enableColumnFree = _ref.enableColumnFreeze,
621
+ enableColumnFreeze = _ref$enableColumnFree === void 0 ? true : _ref$enableColumnFree,
461
622
  _ref$enableAddColumn = _ref.enableAddColumn,
462
623
  enableAddColumn = _ref$enableAddColumn === void 0 ? false : _ref$enableAddColumn,
463
624
  _ref$className = _ref.className,
@@ -503,6 +664,7 @@ var Table = function Table(_ref) {
503
664
  onChange = _ref.onChange,
504
665
  onMoreActionClick = _ref.onMoreActionClick,
505
666
  bulkSelectAllRowsProps = _ref.bulkSelectAllRowsProps,
667
+ localStorageKeyPrefix = _ref.localStorageKeyPrefix,
506
668
  otherProps = _objectWithoutProperties(_ref, _excluded);
507
669
  var _useTranslation = useTranslation(),
508
670
  i18n = _useTranslation.i18n;
@@ -543,11 +705,13 @@ var Table = function Table(_ref) {
543
705
  if (!fixedHeight) return;
544
706
  var observer = resizeObserver.current;
545
707
  if (table !== null) {
546
- observer.observe(table === null || table === void 0 ? void 0 : table.parentNode);
708
+ var _table$parentNode;
709
+ var targetNode = enableColumnReorder ? table === null || table === void 0 || (_table$parentNode = table.parentNode) === null || _table$parentNode === void 0 ? void 0 : _table$parentNode.parentNode : table === null || table === void 0 ? void 0 : table.parentNode;
710
+ observer.observe(targetNode);
547
711
  } else if (observer) {
548
712
  observer.disconnect();
549
713
  }
550
- }, [resizeObserver.current, fixedHeight]);
714
+ }, [resizeObserver.current, fixedHeight, enableColumnReorder]);
551
715
  var _useRestoreScrollPosi = useRestoreScrollPosition({
552
716
  tableRef: tableRef,
553
717
  scrollRef: scrollRef,
@@ -562,8 +726,10 @@ var Table = function Table(_ref) {
562
726
  isReorderEnabled: enableColumnReorder,
563
727
  isResizeEnabled: enableColumnResize,
564
728
  isAddEnabled: enableAddColumn,
729
+ isColumnFreezeEnabled: enableColumnFreeze,
565
730
  onTableChange: onChange,
566
731
  columns: columns,
732
+ columnData: columnData,
567
733
  setColumns: setColumns,
568
734
  onColumnUpdate: onColumnUpdate,
569
735
  rowSelection: rowSelection,
@@ -575,7 +741,8 @@ var Table = function Table(_ref) {
575
741
  onColumnDelete: onColumnDelete,
576
742
  tableOnChangeProps: tableOnChangeProps,
577
743
  handleTableSortChange: handleTableSortChange,
578
- isDefaultPageChangeHandler: isDefaultPageChangeHandler
744
+ isDefaultPageChangeHandler: isDefaultPageChangeHandler,
745
+ localStorageKeyPrefix: localStorageKeyPrefix
579
746
  }),
580
747
  dragProps = _useColumns.dragProps,
581
748
  curatedColumnsData = _useColumns.columns;
@@ -592,21 +759,12 @@ var Table = function Table(_ref) {
592
759
  style: "body2"
593
760
  }, "No Data")
594
761
  };
595
- var sortedColumnsWithAlignment = sortedColumns.map(function (sortedColumn) {
596
- return _objectSpread(_objectSpread({}, sortedColumn), {}, {
597
- onHeaderCell: function onHeaderCell(column) {
598
- var _sortedColumn$onHeade;
599
- return _objectSpread(_objectSpread({}, (_sortedColumn$onHeade = sortedColumn.onHeaderCell) === null || _sortedColumn$onHeade === void 0 ? void 0 : _sortedColumn$onHeade.call(sortedColumn, column)), {}, {
600
- "data-text-align": column.align
601
- });
602
- }
603
- });
604
- });
605
762
  var selectedRowKeys = bulkSelectedAllRows ? pluck(rowKey, rowData) : initialSelectedRowKeys;
606
763
  var showBulkSelectionCallout = useMemo(function () {
607
764
  return isIncludedIn(selectedRowKeys, pluck(rowKey, rowData)) && selectedRowKeys.length !== totalCount && !bulkSelectedAllRows;
608
765
  }, [selectedRowKeys, rowKey, rowData, totalCount, bulkSelectedAllRows]);
609
766
  var shouldShowSelectAllRowsCallout = bulkSelectAllRowsProps && showBulkSelectionCallout;
767
+ var shouldShowAllRowsSelectedCallout = bulkSelectAllRowsProps && bulkSelectedAllRows;
610
768
  var handleRowChange = function handleRowChange(selectedRowKeys, selectedRows) {
611
769
  var tableWrapper = document.querySelector('[data-testid="table-wrapper"]');
612
770
  if (selectedRowKeys.length !== defaultPageSize) {
@@ -651,7 +809,7 @@ var Table = function Table(_ref) {
651
809
  var calculateTableContainerHeight = function calculateTableContainerHeight() {
652
810
  var isPaginationVisible = otherProps.pagination !== false && rowData.length > pageSize;
653
811
  var selectAllRowsCalloutHeight = 0;
654
- if (shouldShowSelectAllRowsCallout) {
812
+ if (shouldShowSelectAllRowsCallout || shouldShowAllRowsSelectedCallout) {
655
813
  selectAllRowsCalloutHeight = getSelectAllRowsCalloutHeight();
656
814
  }
657
815
  return containerHeight - headerHeight - (isPaginationVisible ? TABLE_PAGINATION_HEIGHT : 0) - selectAllRowsCalloutHeight;
@@ -753,11 +911,17 @@ var Table = function Table(_ref) {
753
911
  setBulkSelectedAllRows(true);
754
912
  handleSetBulkSelectedAllRows === null || handleSetBulkSelectedAllRows === void 0 || handleSetBulkSelectedAllRows(true);
755
913
  }
914
+ })), shouldShowAllRowsSelectedCallout && /*#__PURE__*/React__default.createElement(AllRowsSelectedCallout, _extends({}, bulkSelectAllRowsProps, {
915
+ onClearSelection: function onClearSelection() {
916
+ setBulkSelectedAllRows(false);
917
+ handleSetBulkSelectedAllRows === null || handleSetBulkSelectedAllRows === void 0 || handleSetBulkSelectedAllRows(false);
918
+ handleRowChange([], []);
919
+ }
756
920
  })), /*#__PURE__*/React__default.createElement(_Table, _extends({
757
921
  bordered: bordered,
758
922
  locale: locale,
759
923
  rowKey: rowKey,
760
- columns: sortedColumnsWithAlignment,
924
+ columns: sortedColumns,
761
925
  components: componentOverrides,
762
926
  dataSource: rowData,
763
927
  loading: {