@bigbinary/neetoui 8.3.42 → 8.3.44

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 (120) hide show
  1. package/dist/ActionDropdown.js +2 -2
  2. package/dist/Alert.js +3 -3
  3. package/dist/Checkbox.js +2 -2
  4. package/dist/ColorPicker.js +3 -3
  5. package/dist/DatePicker.js +14 -9
  6. package/dist/DatePicker.js.map +1 -1
  7. package/dist/Dropdown.js +40 -4
  8. package/dist/Dropdown.js.map +1 -1
  9. package/dist/Input.js +2 -2
  10. package/dist/Modal.js +3 -3
  11. package/dist/MultiEmailInput.js +2 -2
  12. package/dist/Pagination.js +2 -2
  13. package/dist/Pane.js +3 -3
  14. package/dist/Radio.js +2 -2
  15. package/dist/Select.js +2 -2
  16. package/dist/Sidebar.js +2 -2
  17. package/dist/Slider.js +2 -2
  18. package/dist/Switch.js +2 -2
  19. package/dist/Table.js +97 -15
  20. package/dist/Table.js.map +1 -1
  21. package/dist/{Textarea-Cn12kZAy.js → Textarea-CoY3q1mA.js} +2 -2
  22. package/dist/{Textarea-Cn12kZAy.js.map → Textarea-CoY3q1mA.js.map} +1 -1
  23. package/dist/Textarea.js +3 -3
  24. package/dist/TimePicker.js +14 -9
  25. package/dist/TimePicker.js.map +1 -1
  26. package/dist/Toastr.js +2 -2
  27. package/dist/TranslationProvider.js +1 -1
  28. package/dist/Tree.js +2 -2
  29. package/dist/TreeSelect.js +2 -2
  30. package/dist/cjs/ActionDropdown.js +2 -2
  31. package/dist/cjs/Alert.js +3 -3
  32. package/dist/cjs/Checkbox.js +2 -2
  33. package/dist/cjs/ColorPicker.js +3 -3
  34. package/dist/cjs/DatePicker.js +14 -9
  35. package/dist/cjs/DatePicker.js.map +1 -1
  36. package/dist/cjs/Dropdown.js +39 -3
  37. package/dist/cjs/Dropdown.js.map +1 -1
  38. package/dist/cjs/Input.js +2 -2
  39. package/dist/cjs/Modal.js +3 -3
  40. package/dist/cjs/MultiEmailInput.js +2 -2
  41. package/dist/cjs/Pagination.js +2 -2
  42. package/dist/cjs/Pane.js +3 -3
  43. package/dist/cjs/Radio.js +2 -2
  44. package/dist/cjs/Select.js +2 -2
  45. package/dist/cjs/Sidebar.js +2 -2
  46. package/dist/cjs/Slider.js +2 -2
  47. package/dist/cjs/Switch.js +2 -2
  48. package/dist/cjs/Table.js +112 -30
  49. package/dist/cjs/Table.js.map +1 -1
  50. package/dist/cjs/{Textarea-BF9uNO2J.js → Textarea-DzetFleJ.js} +2 -2
  51. package/dist/cjs/{Textarea-BF9uNO2J.js.map → Textarea-DzetFleJ.js.map} +1 -1
  52. package/dist/cjs/Textarea.js +3 -3
  53. package/dist/cjs/TimePicker.js +14 -9
  54. package/dist/cjs/TimePicker.js.map +1 -1
  55. package/dist/cjs/Toastr.js +2 -2
  56. package/dist/cjs/TranslationProvider.js +1 -1
  57. package/dist/cjs/Tree.js +2 -2
  58. package/dist/cjs/TreeSelect.js +2 -2
  59. package/dist/cjs/{en-BoX6pwZe.js → en-BfFI1Si2.js} +11 -5
  60. package/dist/cjs/en-BfFI1Si2.js.map +1 -0
  61. package/dist/cjs/formik/ActionBlock.js +2 -2
  62. package/dist/cjs/formik/BlockNavigation.js +3 -3
  63. package/dist/cjs/formik/Checkbox.js +2 -2
  64. package/dist/cjs/formik/Input.js +2 -2
  65. package/dist/cjs/formik/MultiEmailInput.js +2 -2
  66. package/dist/cjs/formik/Radio.js +2 -2
  67. package/dist/cjs/formik/Select.js +2 -2
  68. package/dist/cjs/formik/Slider.js +2 -2
  69. package/dist/cjs/formik/Switch.js +2 -2
  70. package/dist/cjs/formik/Textarea.js +3 -3
  71. package/dist/cjs/formik/TreeSelect.js +2 -2
  72. package/dist/cjs/formik/index.js +4 -4
  73. package/dist/cjs/{index-CcLewRhe.js → index-BlcVTw2b.js} +2 -2
  74. package/dist/cjs/{index-CcLewRhe.js.map → index-BlcVTw2b.js.map} +1 -1
  75. package/dist/cjs/{index-DgV1wB-W.js → index-i_QMY9OC.js} +393 -22
  76. package/dist/cjs/index-i_QMY9OC.js.map +1 -0
  77. package/dist/cjs/index.css +1 -1
  78. package/dist/cjs/index.js +12 -7
  79. package/dist/cjs/index.js.map +1 -1
  80. package/dist/cjs/layouts.js +2 -2
  81. package/dist/cjs/{useOverlayManager-Bmn7TLVG.js → useOverlayManager-T0kuI6q4.js} +2 -2
  82. package/dist/cjs/{useOverlayManager-Bmn7TLVG.js.map → useOverlayManager-T0kuI6q4.js.map} +1 -1
  83. package/dist/cjs/{useRecentlyUsedColors-Cfbf5D9L.js → useRecentlyUsedColors-CThW5BOM.js} +2 -2
  84. package/dist/cjs/{useRecentlyUsedColors-Cfbf5D9L.js.map → useRecentlyUsedColors-CThW5BOM.js.map} +1 -1
  85. package/dist/{en-Cj1tGKrT.js → en-DVlE9xuu.js} +11 -5
  86. package/dist/en-DVlE9xuu.js.map +1 -0
  87. package/dist/formik/ActionBlock.js +2 -2
  88. package/dist/formik/BlockNavigation.js +3 -3
  89. package/dist/formik/Checkbox.js +2 -2
  90. package/dist/formik/Input.js +2 -2
  91. package/dist/formik/MultiEmailInput.js +2 -2
  92. package/dist/formik/Radio.js +2 -2
  93. package/dist/formik/Select.js +2 -2
  94. package/dist/formik/Slider.js +2 -2
  95. package/dist/formik/Switch.js +2 -2
  96. package/dist/formik/Textarea.js +3 -3
  97. package/dist/formik/TreeSelect.js +2 -2
  98. package/dist/formik/index.js +4 -4
  99. package/dist/{index-DFo1kTlC.js → index-BbZEp6Op.js} +3 -3
  100. package/dist/{index-DFo1kTlC.js.map → index-BbZEp6Op.js.map} +1 -1
  101. package/dist/{index-CAbfRu1o.js → index-cQSKx75O.js} +386 -26
  102. package/dist/index-cQSKx75O.js.map +1 -0
  103. package/dist/index.css +1 -1
  104. package/dist/index.js +12 -7
  105. package/dist/index.js.map +1 -1
  106. package/dist/layouts.js +2 -2
  107. package/dist/src/translations/en.json +10 -4
  108. package/dist/{useOverlayManager-CofhPkL6.js → useOverlayManager-BtEqSq_z.js} +2 -2
  109. package/dist/{useOverlayManager-CofhPkL6.js.map → useOverlayManager-BtEqSq_z.js.map} +1 -1
  110. package/dist/{useRecentlyUsedColors-Bz5p2xal.js → useRecentlyUsedColors-C18GFyJC.js} +2 -2
  111. package/dist/{useRecentlyUsedColors-Bz5p2xal.js.map → useRecentlyUsedColors-C18GFyJC.js.map} +1 -1
  112. package/package.json +3 -3
  113. package/dist/cjs/en-BoX6pwZe.js.map +0 -1
  114. package/dist/cjs/index-DgV1wB-W.js.map +0 -1
  115. package/dist/cjs/useRestoreScrollPosition-6TwcjUT5.js +0 -233
  116. package/dist/cjs/useRestoreScrollPosition-6TwcjUT5.js.map +0 -1
  117. package/dist/en-Cj1tGKrT.js.map +0 -1
  118. package/dist/index-CAbfRu1o.js.map +0 -1
  119. package/dist/useRestoreScrollPosition-C0t8os3c.js +0 -222
  120. package/dist/useRestoreScrollPosition-C0t8os3c.js.map +0 -1
@@ -9,13 +9,13 @@ var Clock = require('@bigbinary/neeto-icons/Clock');
9
9
  var reactI18next = require('react-i18next');
10
10
  require('./Accordion.js');
11
11
  require('./ActionDropdown.js');
12
- require('./Button.js');
12
+ var Button = require('./Button.js');
13
13
  require('./Modal.js');
14
14
  var Typography = require('./Typography.js');
15
15
  var jsxRuntime = require('react/jsx-runtime');
16
16
  var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
17
17
  require('avvvatars-react');
18
- require('ramda');
18
+ var ramda = require('ramda');
19
19
  require('@tippyjs/react');
20
20
  require('tippy.js');
21
21
  require('./Callout.js');
@@ -26,9 +26,9 @@ require('@babel/runtime/regenerator');
26
26
  require('@bigbinary/neeto-icons/Down');
27
27
  require('@bigbinary/neeto-icons/ColorPicker');
28
28
  require('react-colorful');
29
- require('./useRecentlyUsedColors-Cfbf5D9L.js');
30
- require('./Dropdown.js');
31
- var index = require('./index-CcLewRhe.js');
29
+ require('./useRecentlyUsedColors-CThW5BOM.js');
30
+ var Dropdown = require('./Dropdown.js');
31
+ var index = require('./index-BlcVTw2b.js');
32
32
  var _DatePicker = require('antd/lib/date-picker');
33
33
  var neetoCist = require('@bigbinary/neeto-cist');
34
34
  var Left = require('@bigbinary/neeto-icons/Left');
@@ -43,8 +43,8 @@ var useId = require('./useId-DXHUzdxd.js');
43
43
  require('@bigbinary/neeto-hotkeys');
44
44
  require('./overlayManager.js');
45
45
  require('qs');
46
- var Textarea = require('./Textarea-BF9uNO2J.js');
47
- require('./Pane.js');
46
+ var Textarea = require('./Textarea-DzetFleJ.js');
47
+ var Pane = require('./Pane.js');
48
48
  require('./Popover.js');
49
49
  require('framer-motion');
50
50
  require('./Radio.js');
@@ -68,12 +68,19 @@ require('antd/locale/pt_PT');
68
68
  require('./Switch.js');
69
69
  require('./Tab.js');
70
70
  require('antd/lib/table');
71
- require('@bigbinary/neeto-icons/MenuHorizontal');
71
+ var MenuHorizontal = require('@bigbinary/neeto-icons/MenuHorizontal');
72
72
  require('react-drag-listview');
73
73
  require('@bigbinary/neeto-icons/DownArrow');
74
74
  require('@bigbinary/neeto-icons/UpArrow');
75
- require('@bigbinary/neeto-icons/InfoRound');
76
- require('./useRestoreScrollPosition-6TwcjUT5.js');
75
+ var InfoRound = require('@bigbinary/neeto-icons/InfoRound');
76
+ var Check = require('@bigbinary/neeto-icons/Check');
77
+ var Ascending = require('@bigbinary/neeto-icons/Ascending');
78
+ var Descending = require('@bigbinary/neeto-icons/Descending');
79
+ var Pin = require('@bigbinary/neeto-icons/Pin');
80
+ var ColumnToLeft = require('@bigbinary/neeto-icons/ColumnToLeft');
81
+ var ColumnToRight = require('@bigbinary/neeto-icons/ColumnToRight');
82
+ var Hide = require('@bigbinary/neeto-icons/Hide');
83
+ var zustand = require('zustand');
77
84
  require('react-resizable');
78
85
  var Tag = require('./Tag.js');
79
86
  var constants = require('./constants.js');
@@ -83,6 +90,24 @@ require('antd/lib/tree');
83
90
  require('./TreeSelect.js');
84
91
  var Select = require('./Select.js');
85
92
 
93
+ var useFuncDebounce = function useFuncDebounce(func) {
94
+ var delay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 350;
95
+ var timer = React.useRef(null);
96
+ var debouncedFunc = function debouncedFunc() {
97
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
98
+ args[_key] = arguments[_key];
99
+ }
100
+ clearTimeout(timer.current);
101
+ timer.current = setTimeout(function () {
102
+ return func.apply(void 0, args);
103
+ }, delay);
104
+ };
105
+ debouncedFunc.cancel = function () {
106
+ return clearTimeout(timer.current);
107
+ };
108
+ return debouncedFunc;
109
+ };
110
+
86
111
  var IconOverride = function IconOverride(_ref) {
87
112
  var Icon = _ref.icon;
88
113
  return /*#__PURE__*/jsxRuntime.jsx("span", {
@@ -94,8 +119,8 @@ var IconOverride = function IconOverride(_ref) {
94
119
  });
95
120
  };
96
121
 
97
- function ownKeys$2(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
98
- function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$2(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$2(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
122
+ function ownKeys$3(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
123
+ function _objectSpread$3(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$3(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$3(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
99
124
  var Provider = function Provider(_ref) {
100
125
  var children = _ref.children;
101
126
  var _useTranslation = reactI18next.useTranslation(),
@@ -103,7 +128,7 @@ var Provider = function Provider(_ref) {
103
128
  return /*#__PURE__*/jsxRuntime.jsx(_ConfigProvider, {
104
129
  locale: constants.ANTD_LOCALE[i18n.language || "en"],
105
130
  theme: {
106
- token: _objectSpread$2({}, index.ANT_DESIGN_GLOBAL_TOKEN_OVERRIDES),
131
+ token: _objectSpread$3({}, index.ANT_DESIGN_GLOBAL_TOKEN_OVERRIDES),
107
132
  components: {
108
133
  DatePicker: {
109
134
  activeBg: "rgb(var(--neeto-ui-white))",
@@ -234,9 +259,9 @@ var TimezoneSelect = function TimezoneSelect(_ref) {
234
259
  });
235
260
  };
236
261
 
237
- var _excluded$1 = ["className", "label", "size", "dropdownClassName", "popupClassName", "dateFormat", "timeFormat", "placeholder", "onChange", "onOk", "picker", "showTime", "type", "nakedInput", "error", "defaultValue", "value", "labelProps", "required", "allowClear", "maxDate", "minDate", "timePickerProps", "timezone", "onTimezoneChange", "onOpenChange", "onKeyDown"];
238
- function ownKeys$1(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
239
- function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
262
+ var _excluded$2 = ["className", "label", "size", "dropdownClassName", "popupClassName", "dateFormat", "timeFormat", "placeholder", "onChange", "onOk", "picker", "showTime", "type", "nakedInput", "error", "defaultValue", "value", "labelProps", "required", "allowClear", "maxDate", "minDate", "timePickerProps", "timezone", "onTimezoneChange", "onOpenChange", "onKeyDown"];
263
+ function ownKeys$2(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
264
+ function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$2(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$2(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
240
265
  var INPUT_SIZES$1 = {
241
266
  medium: "medium"};
242
267
  var RangePicker$1 = _DatePicker.RangePicker;
@@ -289,7 +314,7 @@ var DatePicker = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
289
314
  onTimezoneChange = _ref.onTimezoneChange,
290
315
  onOpenChange = _ref.onOpenChange,
291
316
  onKeyDown = _ref.onKeyDown,
292
- otherProps = _objectWithoutProperties(_ref, _excluded$1);
317
+ otherProps = _objectWithoutProperties(_ref, _excluded$2);
293
318
  var _useState = React.useState(inputValue),
294
319
  _useState2 = _slicedToArray(_useState, 2),
295
320
  value = _useState2[0],
@@ -361,16 +386,16 @@ var DatePicker = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
361
386
  return /*#__PURE__*/jsxRuntime.jsx(Provider, {
362
387
  children: /*#__PURE__*/jsxRuntime.jsxs("div", {
363
388
  className: "neeto-ui-input__wrapper",
364
- children: [label && /*#__PURE__*/jsxRuntime.jsx(Label, _objectSpread$1(_objectSpread$1({}, _objectSpread$1({
389
+ children: [label && /*#__PURE__*/jsxRuntime.jsx(Label, _objectSpread$2(_objectSpread$2({}, _objectSpread$2({
365
390
  required: required
366
391
  }, labelProps)), {}, {
367
392
  children: label
368
- })), /*#__PURE__*/jsxRuntime.jsx(Component, _objectSpread$1(_objectSpread$1({
393
+ })), /*#__PURE__*/jsxRuntime.jsx(Component, _objectSpread$2(_objectSpread$2({
369
394
  "data-cy": label ? "".concat(index.hyphenize(label), "-input") : "picker-input",
370
395
  defaultValue: index.convertToDayjsObjects(defaultValue),
371
396
  placeholder: placeholder !== null && placeholder !== void 0 ? placeholder : format,
372
397
  ref: datePickerRef,
373
- showTime: showTime && _objectSpread$1({
398
+ showTime: showTime && _objectSpread$2({
374
399
  format: timeFormat
375
400
  }, timePickerProps),
376
401
  value: index.convertToDayjsObjects(value),
@@ -389,7 +414,7 @@ var DatePicker = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
389
414
  onChange: handleOnChange,
390
415
  onKeyDown: handleOnKeyDown,
391
416
  onOpenChange: handleOnOpenChange
392
- }, _objectSpread$1(_objectSpread$1({
417
+ }, _objectSpread$2(_objectSpread$2({
393
418
  format: format,
394
419
  maxDate: maxDate,
395
420
  minDate: minDate,
@@ -440,6 +465,341 @@ var DatePicker = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
440
465
  });
441
466
  DatePicker.displayName = "DatePicker";
442
467
 
468
+ var URL_SORT_ORDERS = {
469
+ ascend: "asc",
470
+ descend: "desc"
471
+ };
472
+ var TABLE_SORT_ORDERS = {
473
+ asc: "ascend",
474
+ desc: "descend"
475
+ };
476
+ var COLUMN_ADD_DIRECTION = {
477
+ left: 0,
478
+ right: 1
479
+ };
480
+ var SELECT_ALL_ROWS_CALLOUT_DESKTOP_HEIGHT = 57;
481
+ var SELECT_ALL_ROWS_CALLOUT_MOBILE_HEIGHT = 78;
482
+ var COLUMN_FIXED_VALUES = {
483
+ LEFT: "left"};
484
+ var TABLE_PAGINATION_HEIGHT = 64;
485
+ var TABLE_DEFAULT_HEADER_HEIGHT = 40;
486
+ var TABLE_ROW_HEIGHT = 52;
487
+
488
+ var useTableStore = zustand.create(function (set) {
489
+ return {
490
+ infoPaneState: {
491
+ isOpen: false,
492
+ column: null
493
+ },
494
+ setInfoPaneState: function setInfoPaneState(state) {
495
+ return set({
496
+ infoPaneState: state
497
+ });
498
+ }
499
+ };
500
+ });
501
+
502
+ var _excluded$1 = ["isActive", "icon", "label"];
503
+ function ownKeys$1(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
504
+ function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
505
+ var Menu = Dropdown.Menu,
506
+ MenuItem = Dropdown.MenuItem;
507
+ var ActionItem = function ActionItem(_ref) {
508
+ var _ref$isActive = _ref.isActive,
509
+ isActive = _ref$isActive === void 0 ? false : _ref$isActive,
510
+ Icon = _ref.icon,
511
+ label = _ref.label,
512
+ rest = _objectWithoutProperties(_ref, _excluded$1);
513
+ return /*#__PURE__*/jsxRuntime.jsxs(MenuItem.Button, _objectSpread$1(_objectSpread$1({
514
+ className: "neeto-ui-flex neeto-ui-items-center neeto-ui-justify-between"
515
+ }, rest), {}, {
516
+ children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
517
+ className: "neeto-ui-flex neeto-ui-items-center neeto-ui-gap-3",
518
+ children: [Icon && /*#__PURE__*/jsxRuntime.jsx(Icon, {
519
+ className: "neeto-ui-text-gray-500",
520
+ size: 18
521
+ }), /*#__PURE__*/jsxRuntime.jsx("span", {
522
+ children: label
523
+ })]
524
+ }), isActive && /*#__PURE__*/jsxRuntime.jsx(Check, {
525
+ className: "neeto-ui-text-success-500",
526
+ size: 20
527
+ })]
528
+ }));
529
+ };
530
+
531
+ // eslint-disable-next-line @bigbinary/neeto/no-dumb-components-with-use-translation
532
+ var HeaderCellMenu = function HeaderCellMenu(_ref2) {
533
+ var onSort = _ref2.onSort,
534
+ _ref2$column = _ref2.column,
535
+ column = _ref2$column === void 0 ? {} : _ref2$column,
536
+ sortedInfo = _ref2.sortedInfo,
537
+ isSortable = _ref2.isSortable,
538
+ isAddEnabled = _ref2.isAddEnabled,
539
+ isFixedColumn = _ref2.isFixedColumn,
540
+ isColumnDeletable = _ref2.isColumnDeletable,
541
+ isColumnFreezeEnabled = _ref2.isColumnFreezeEnabled,
542
+ isHidable = _ref2.isHidable,
543
+ onColumnHide = _ref2.onColumnHide,
544
+ isMoveToLeftEnabled = _ref2.isMoveToLeftEnabled,
545
+ isMoveToRightEnabled = _ref2.isMoveToRightEnabled,
546
+ onAddColumn = _ref2.onAddColumn,
547
+ onColumnUpdate = _ref2.onColumnUpdate,
548
+ onColumnDelete = _ref2.onColumnDelete,
549
+ onColumnFreeze = _ref2.onColumnFreeze,
550
+ hasMoreActions = _ref2.hasMoreActions,
551
+ onMoreActionClick = _ref2.onMoreActionClick,
552
+ _ref2$moreActions = _ref2.moreActions,
553
+ moreActions = _ref2$moreActions === void 0 ? [] : _ref2$moreActions;
554
+ var _useTranslation = reactI18next.useTranslation(),
555
+ t = _useTranslation.t,
556
+ i18n = _useTranslation.i18n;
557
+ var setInfoPaneState = useTableStore(ramda.prop("setInfoPaneState"));
558
+ var onMoveColumn = function onMoveColumn(offset) {
559
+ if (!onColumnUpdate) return;
560
+ onColumnUpdate(function (columns) {
561
+ var index = neetoCist.findIndexBy({
562
+ key: column.key
563
+ }, columns);
564
+ var isValid = index + offset >= 0 && index + offset < columns.length;
565
+ if (!isValid) return columns;
566
+ return ramda.move(index, index + offset, columns);
567
+ });
568
+ };
569
+ return /*#__PURE__*/jsxRuntime.jsx("div", {
570
+ onClick: function onClick(event) {
571
+ return event.stopPropagation();
572
+ },
573
+ children: /*#__PURE__*/jsxRuntime.jsx(Dropdown, {
574
+ appendTo: function appendTo() {
575
+ return document.body;
576
+ },
577
+ className: "neeto-ui-flex",
578
+ icon: MenuHorizontal,
579
+ position: "bottom",
580
+ strategy: "fixed",
581
+ zIndex: 99999,
582
+ buttonProps: {
583
+ className: "neeto-ui-min-h-0 neeto-ui-flex-shrink-0",
584
+ style: "text",
585
+ size: "medium",
586
+ "data-testid": "column-menu-button",
587
+ "data-cy": "column-menu-button",
588
+ "data-dropdown-button-style": "more-dropdown"
589
+ },
590
+ children: /*#__PURE__*/jsxRuntime.jsxs(Menu, {
591
+ className: "neeto-ui-cursor-auto",
592
+ onMouseDown: function onMouseDown(event) {
593
+ return event.preventDefault();
594
+ },
595
+ children: [isSortable && /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
596
+ children: [/*#__PURE__*/jsxRuntime.jsx(ActionItem, {
597
+ "data-cy": "ascending-column-menu-button",
598
+ icon: Ascending,
599
+ label: index.getLocale(i18n, t, "neetoui.table.ascending"),
600
+ isActive: sortedInfo.order === TABLE_SORT_ORDERS.asc && ramda.equals(sortedInfo.field, column.dataIndex),
601
+ onClick: function onClick() {
602
+ return onSort({
603
+ column: column,
604
+ columnKey: column.key,
605
+ field: column.dataIndex || column.key,
606
+ order: TABLE_SORT_ORDERS.asc
607
+ });
608
+ }
609
+ }), /*#__PURE__*/jsxRuntime.jsx(ActionItem, {
610
+ "data-cy": "descending-column-menu-button",
611
+ icon: Descending,
612
+ label: index.getLocale(i18n, t, "neetoui.table.descending"),
613
+ isActive: sortedInfo.order === TABLE_SORT_ORDERS.desc && ramda.equals(sortedInfo.field, column.dataIndex),
614
+ onClick: function onClick() {
615
+ return onSort({
616
+ column: column,
617
+ columnKey: column.key,
618
+ field: column.dataIndex,
619
+ order: TABLE_SORT_ORDERS.desc
620
+ });
621
+ }
622
+ })]
623
+ }), isAddEnabled && /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
624
+ children: [/*#__PURE__*/jsxRuntime.jsx(ActionItem, {
625
+ "data-cy": "insert-right-column-menu-button",
626
+ label: index.getLocale(i18n, t, "neetoui.table.insertColRight"),
627
+ onClick: function onClick() {
628
+ return onAddColumn(COLUMN_ADD_DIRECTION.right);
629
+ }
630
+ }), /*#__PURE__*/jsxRuntime.jsx(ActionItem, {
631
+ "data-cy": "insert-left-column-menu-button",
632
+ label: index.getLocale(i18n, t, "neetoui.table.insertColLeft"),
633
+ onClick: function onClick() {
634
+ return onAddColumn(COLUMN_ADD_DIRECTION.left);
635
+ }
636
+ })]
637
+ }), isHidable && /*#__PURE__*/jsxRuntime.jsx(ActionItem, {
638
+ icon: Hide,
639
+ label: index.getLocale(i18n, t, "neetoui.table.hideColumn"),
640
+ onClick: function onClick() {
641
+ return onColumnHide(column);
642
+ }
643
+ }), isColumnDeletable && /*#__PURE__*/jsxRuntime.jsx(ActionItem, {
644
+ "data-cy": "delete-column-menu-button",
645
+ label: index.getLocale(i18n, t, "neetoui.table.deleteColumn"),
646
+ onClick: function onClick() {
647
+ return onColumnDelete(column.id);
648
+ }
649
+ }), isColumnFreezeEnabled && /*#__PURE__*/jsxRuntime.jsx(ActionItem, {
650
+ "data-cy": "freeze-unfreeze-column-menu-button",
651
+ icon: Pin,
652
+ label: isFixedColumn ? index.getLocale(i18n, t, "neetoui.table.unFreezeColumn") : index.getLocale(i18n, t, "neetoui.table.freezeColumn"),
653
+ onClick: function onClick() {
654
+ return onColumnFreeze(isFixedColumn, column);
655
+ }
656
+ }), neetoCist.isPresent(onColumnUpdate) && /*#__PURE__*/jsxRuntime.jsx(ActionItem, {
657
+ icon: InfoRound,
658
+ label: index.getLocale(i18n, t, "neetoui.table.editColumnInfo"),
659
+ onClick: function onClick() {
660
+ setInfoPaneState({
661
+ isOpen: true,
662
+ column: column
663
+ });
664
+ }
665
+ }), neetoCist.isPresent(onColumnUpdate) && isMoveToLeftEnabled && /*#__PURE__*/jsxRuntime.jsx(ActionItem, {
666
+ icon: ColumnToLeft,
667
+ label: index.getLocale(i18n, t, "neetoui.table.moveColumnLeft"),
668
+ onClick: function onClick() {
669
+ return onMoveColumn(-1);
670
+ }
671
+ }), neetoCist.isPresent(onColumnUpdate) && isMoveToRightEnabled && /*#__PURE__*/jsxRuntime.jsx(ActionItem, {
672
+ icon: ColumnToRight,
673
+ label: index.getLocale(i18n, t, "neetoui.table.moveColumnRight"),
674
+ onClick: function onClick() {
675
+ return onMoveColumn(1);
676
+ }
677
+ }), hasMoreActions && moreActions.map(function (item, index$1) {
678
+ return /*#__PURE__*/jsxRuntime.jsx(ActionItem, {
679
+ "data-cy": "".concat(index.hyphenize(item.label), "-column-menu-button"),
680
+ icon: item.icon,
681
+ label: item.label,
682
+ onClick: function onClick() {
683
+ return onMoreActionClick(item.type, column);
684
+ }
685
+ }, index$1);
686
+ })]
687
+ })
688
+ })
689
+ });
690
+ };
691
+ var HeaderCellMenu$1 = /*#__PURE__*/React.memo(HeaderCellMenu);
692
+
693
+ var useScrollStore = zustand.create(function (set) {
694
+ return {
695
+ scrollPositions: {},
696
+ setScrollPosition: function setScrollPosition(key, position) {
697
+ return set(ramda.assocPath(["scrollPositions", key], position));
698
+ }
699
+ };
700
+ });
701
+ var useRestoreScrollPosition = function useRestoreScrollPosition(_ref) {
702
+ var tableRef = _ref.tableRef,
703
+ scrollRef = _ref.scrollRef,
704
+ loading = _ref.loading;
705
+ var key = window.location.pathname;
706
+ var scrollPositions = useScrollStore(ramda.prop("scrollPositions"));
707
+ var setScrollPosition = useScrollStore(ramda.prop("setScrollPosition"));
708
+ React.useEffect(function () {
709
+ if (loading) {
710
+ setScrollPosition(key, 0);
711
+ return;
712
+ }
713
+ if (scrollRef.current === null || !scrollPositions[key]) return;
714
+ setTimeout(function () {
715
+ var _scrollRef$current;
716
+ var position = scrollPositions[key];
717
+ (_scrollRef$current = scrollRef.current) === null || _scrollRef$current === void 0 ? void 0 : _scrollRef$current.scrollTo({
718
+ top: position
719
+ });
720
+ });
721
+ }, [key, tableRef, loading]);
722
+ var handleScroll = useFuncDebounce(function (event) {
723
+ setScrollPosition(key, parseInt(event.target.scrollTop));
724
+ });
725
+ return {
726
+ handleScroll: handleScroll
727
+ };
728
+ };
729
+
730
+ var pickStore = ramda.pick(["infoPaneState", "setInfoPaneState"]);
731
+ var TableInfoPane = function TableInfoPane(_ref) {
732
+ var onColumnUpdate = _ref.onColumnUpdate;
733
+ var _useTranslation = reactI18next.useTranslation(),
734
+ t = _useTranslation.t,
735
+ i18n = _useTranslation.i18n;
736
+ var _useState = React.useState(""),
737
+ _useState2 = _slicedToArray(_useState, 2),
738
+ description = _useState2[0],
739
+ setDescription = _useState2[1];
740
+ var _useTableStore = useTableStore(pickStore),
741
+ infoPaneState = _useTableStore.infoPaneState,
742
+ setInfoPaneState = _useTableStore.setInfoPaneState;
743
+ var isOpen = infoPaneState.isOpen,
744
+ column = infoPaneState.column;
745
+ var onUpdateColumn = function onUpdateColumn(changes) {
746
+ if (!column) return;
747
+ var modifyColumn = ramda.mergeLeft(changes);
748
+ var modifyColumns = neetoCist.modifyBy({
749
+ key: column.key
750
+ }, modifyColumn);
751
+ onColumnUpdate(modifyColumns);
752
+ };
753
+ var onClose = function onClose() {
754
+ setInfoPaneState({
755
+ isOpen: false,
756
+ column: null
757
+ });
758
+ };
759
+ var onSubmit = function onSubmit() {
760
+ onUpdateColumn({
761
+ description: description
762
+ });
763
+ onClose();
764
+ };
765
+ React.useEffect(function () {
766
+ if (!isOpen) return undefined;
767
+ setDescription((column === null || column === void 0 ? void 0 : column.description) || "");
768
+ return function () {
769
+ setDescription("");
770
+ };
771
+ }, [isOpen]);
772
+ return /*#__PURE__*/jsxRuntime.jsxs(Pane, {
773
+ onClose: onClose,
774
+ isOpen: infoPaneState.isOpen,
775
+ children: [/*#__PURE__*/jsxRuntime.jsx(Pane.Header, {
776
+ children: /*#__PURE__*/jsxRuntime.jsx(Typography, {
777
+ style: "h3",
778
+ children: column === null || column === void 0 ? void 0 : column.title
779
+ })
780
+ }), /*#__PURE__*/jsxRuntime.jsx(Pane.Body, {
781
+ children: /*#__PURE__*/jsxRuntime.jsx(Textarea.Textarea, {
782
+ className: "neeto-ui-w-full",
783
+ label: index.getLocale(i18n, t, "neetoui.common.description"),
784
+ value: description,
785
+ onChange: function onChange(e) {
786
+ return setDescription(e.target.value);
787
+ }
788
+ })
789
+ }), /*#__PURE__*/jsxRuntime.jsxs(Pane.Footer, {
790
+ className: "neeto-ui-flex neeto-ui-justify-between",
791
+ children: [/*#__PURE__*/jsxRuntime.jsx(Button, {
792
+ style: "secondary",
793
+ onClick: onClose,
794
+ children: index.getLocale(i18n, t, "neetoui.actionBlock.cancel")
795
+ }), /*#__PURE__*/jsxRuntime.jsx(Button, {
796
+ onClick: onSubmit,
797
+ children: index.getLocale(i18n, t, "neetoui.actionBlock.saveChanges")
798
+ })]
799
+ })]
800
+ });
801
+ };
802
+
443
803
  var RangePicker = _DatePicker.RangePicker;
444
804
  var TIME_PICKER_TYPES = {
445
805
  range: RangePicker,
@@ -605,6 +965,17 @@ var TimePicker = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
605
965
  });
606
966
  TimePicker.displayName = "TimePicker";
607
967
 
968
+ exports.COLUMN_FIXED_VALUES = COLUMN_FIXED_VALUES;
608
969
  exports.DatePicker = DatePicker;
970
+ exports.HeaderCellMenu = HeaderCellMenu$1;
971
+ exports.SELECT_ALL_ROWS_CALLOUT_DESKTOP_HEIGHT = SELECT_ALL_ROWS_CALLOUT_DESKTOP_HEIGHT;
972
+ exports.SELECT_ALL_ROWS_CALLOUT_MOBILE_HEIGHT = SELECT_ALL_ROWS_CALLOUT_MOBILE_HEIGHT;
973
+ exports.TABLE_DEFAULT_HEADER_HEIGHT = TABLE_DEFAULT_HEADER_HEIGHT;
974
+ exports.TABLE_PAGINATION_HEIGHT = TABLE_PAGINATION_HEIGHT;
975
+ exports.TABLE_ROW_HEIGHT = TABLE_ROW_HEIGHT;
976
+ exports.TABLE_SORT_ORDERS = TABLE_SORT_ORDERS;
977
+ exports.TableInfoPane = TableInfoPane;
609
978
  exports.TimePicker = TimePicker;
610
- //# sourceMappingURL=index-DgV1wB-W.js.map
979
+ exports.URL_SORT_ORDERS = URL_SORT_ORDERS;
980
+ exports.useRestoreScrollPosition = useRestoreScrollPosition;
981
+ //# sourceMappingURL=index-i_QMY9OC.js.map