@bigbinary/neetoui 8.3.30 → 8.3.32
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.
- package/dist/Accordion.js +94 -76
- package/dist/Accordion.js.map +1 -1
- package/dist/ActionDropdown.js +29 -32
- package/dist/ActionDropdown.js.map +1 -1
- package/dist/Alert.js +44 -38
- package/dist/Alert.js.map +1 -1
- package/dist/Avatar.js +28 -22
- package/dist/Avatar.js.map +1 -1
- package/dist/Button.js +45 -43
- package/dist/Button.js.map +1 -1
- package/dist/Callout.js +12 -7
- package/dist/Callout.js.map +1 -1
- package/dist/Checkbox.js +35 -28
- package/dist/Checkbox.js.map +1 -1
- package/dist/ColorPicker.js +134 -117
- package/dist/ColorPicker.js.map +1 -1
- package/dist/DatePicker.js +25 -9
- package/dist/DatePicker.js.map +1 -1
- package/dist/Dropdown.js +75 -83
- package/dist/Dropdown.js.map +1 -1
- package/dist/Input.js +82 -70
- package/dist/Input.js.map +1 -1
- package/dist/Kbd.js +13 -7
- package/dist/Kbd.js.map +1 -1
- package/dist/Label.js +59 -40
- package/dist/Label.js.map +1 -1
- package/dist/Modal.js +76 -65
- package/dist/Modal.js.map +1 -1
- package/dist/MultiEmailInput.js +118 -99
- package/dist/MultiEmailInput.js.map +1 -1
- package/dist/NoData.js +55 -39
- package/dist/NoData.js.map +1 -1
- package/dist/Pagination.js +64 -52
- package/dist/Pagination.js.map +1 -1
- package/dist/Pane.js +66 -56
- package/dist/Pane.js.map +1 -1
- package/dist/Popover.js +10 -7
- package/dist/Popover.js.map +1 -1
- package/dist/ProgressBar.js +20 -17
- package/dist/ProgressBar.js.map +1 -1
- package/dist/Radio.js +50 -40
- package/dist/Radio.js.map +1 -1
- package/dist/Select.js +111 -90
- package/dist/Select.js.map +1 -1
- package/dist/Sidebar.js +265 -216
- package/dist/Sidebar.js.map +1 -1
- package/dist/Slider.js +45 -38
- package/dist/Slider.js.map +1 -1
- package/dist/Spinner.js +3 -2
- package/dist/Spinner.js.map +1 -1
- package/dist/Stepper.js +33 -26
- package/dist/Stepper.js.map +1 -1
- package/dist/Switch.js +56 -46
- package/dist/Switch.js.map +1 -1
- package/dist/Tab.js +17 -11
- package/dist/Tab.js.map +1 -1
- package/dist/Table.js +221 -182
- package/dist/Table.js.map +1 -1
- package/dist/Tag.js +31 -24
- package/dist/Tag.js.map +1 -1
- package/dist/{Textarea-DlEGZFfG.js → Textarea-D1gsiIxm.js} +66 -56
- package/dist/{Textarea-DlEGZFfG.js.map → Textarea-D1gsiIxm.js.map} +1 -1
- package/dist/Textarea.js +4 -4
- package/dist/TimePicker.js +25 -9
- package/dist/TimePicker.js.map +1 -1
- package/dist/Toastr.js +46 -37
- package/dist/Toastr.js.map +1 -1
- package/dist/Tooltip.js +10 -6
- package/dist/Tooltip.js.map +1 -1
- package/dist/TranslationProvider.js +6 -4
- package/dist/TranslationProvider.js.map +1 -1
- package/dist/Tree.js +17 -15
- package/dist/Tree.js.map +1 -1
- package/dist/TreeSelect.js +65 -58
- package/dist/TreeSelect.js.map +1 -1
- package/dist/Typography.js +7 -3
- package/dist/Typography.js.map +1 -1
- package/dist/cjs/Accordion.js +94 -76
- package/dist/cjs/Accordion.js.map +1 -1
- package/dist/cjs/ActionDropdown.js +29 -32
- package/dist/cjs/ActionDropdown.js.map +1 -1
- package/dist/cjs/Alert.js +43 -37
- package/dist/cjs/Alert.js.map +1 -1
- package/dist/cjs/Avatar.js +27 -21
- package/dist/cjs/Avatar.js.map +1 -1
- package/dist/cjs/Button.js +45 -43
- package/dist/cjs/Button.js.map +1 -1
- package/dist/cjs/Callout.js +11 -6
- package/dist/cjs/Callout.js.map +1 -1
- package/dist/cjs/Checkbox.js +34 -27
- package/dist/cjs/Checkbox.js.map +1 -1
- package/dist/cjs/ColorPicker.js +132 -115
- package/dist/cjs/ColorPicker.js.map +1 -1
- package/dist/cjs/DatePicker.js +25 -9
- package/dist/cjs/DatePicker.js.map +1 -1
- package/dist/cjs/Dropdown.js +74 -82
- package/dist/cjs/Dropdown.js.map +1 -1
- package/dist/cjs/Input.js +81 -69
- package/dist/cjs/Input.js.map +1 -1
- package/dist/cjs/Kbd.js +13 -7
- package/dist/cjs/Kbd.js.map +1 -1
- package/dist/cjs/Label.js +59 -40
- package/dist/cjs/Label.js.map +1 -1
- package/dist/cjs/Modal.js +76 -65
- package/dist/cjs/Modal.js.map +1 -1
- package/dist/cjs/MultiEmailInput.js +117 -98
- package/dist/cjs/MultiEmailInput.js.map +1 -1
- package/dist/cjs/NoData.js +55 -39
- package/dist/cjs/NoData.js.map +1 -1
- package/dist/cjs/Pagination.js +63 -51
- package/dist/cjs/Pagination.js.map +1 -1
- package/dist/cjs/Pane.js +65 -55
- package/dist/cjs/Pane.js.map +1 -1
- package/dist/cjs/Popover.js +10 -7
- package/dist/cjs/Popover.js.map +1 -1
- package/dist/cjs/ProgressBar.js +20 -17
- package/dist/cjs/ProgressBar.js.map +1 -1
- package/dist/cjs/Radio.js +49 -39
- package/dist/cjs/Radio.js.map +1 -1
- package/dist/cjs/Select.js +110 -89
- package/dist/cjs/Select.js.map +1 -1
- package/dist/cjs/Sidebar.js +268 -219
- package/dist/cjs/Sidebar.js.map +1 -1
- package/dist/cjs/Slider.js +45 -38
- package/dist/cjs/Slider.js.map +1 -1
- package/dist/cjs/Spinner.js +3 -2
- package/dist/cjs/Spinner.js.map +1 -1
- package/dist/cjs/Stepper.js +33 -26
- package/dist/cjs/Stepper.js.map +1 -1
- package/dist/cjs/Switch.js +55 -45
- package/dist/cjs/Switch.js.map +1 -1
- package/dist/cjs/Tab.js +17 -11
- package/dist/cjs/Tab.js.map +1 -1
- package/dist/cjs/Table.js +224 -185
- package/dist/cjs/Table.js.map +1 -1
- package/dist/cjs/Tag.js +30 -23
- package/dist/cjs/Tag.js.map +1 -1
- package/dist/cjs/{Textarea-CiUKmQHr.js → Textarea-BzBZbgdT.js} +65 -55
- package/dist/cjs/{Textarea-CiUKmQHr.js.map → Textarea-BzBZbgdT.js.map} +1 -1
- package/dist/cjs/Textarea.js +4 -4
- package/dist/cjs/TimePicker.js +25 -9
- package/dist/cjs/TimePicker.js.map +1 -1
- package/dist/cjs/Toastr.js +45 -36
- package/dist/cjs/Toastr.js.map +1 -1
- package/dist/cjs/Tooltip.js +10 -6
- package/dist/cjs/Tooltip.js.map +1 -1
- package/dist/cjs/TranslationProvider.js +5 -3
- package/dist/cjs/TranslationProvider.js.map +1 -1
- package/dist/cjs/Tree.js +17 -15
- package/dist/cjs/Tree.js.map +1 -1
- package/dist/cjs/TreeSelect.js +66 -59
- package/dist/cjs/TreeSelect.js.map +1 -1
- package/dist/cjs/Typography.js +7 -3
- package/dist/cjs/Typography.js.map +1 -1
- package/dist/cjs/constants.js.map +1 -1
- package/dist/cjs/formik/ActionBlock.js +16 -9
- package/dist/cjs/formik/ActionBlock.js.map +1 -1
- package/dist/cjs/formik/BlockNavigation.js +40 -30
- package/dist/cjs/formik/BlockNavigation.js.map +1 -1
- package/dist/cjs/formik/Button.js +5 -3
- package/dist/cjs/formik/Button.js.map +1 -1
- package/dist/cjs/formik/Checkbox.js +29 -28
- package/dist/cjs/formik/Checkbox.js.map +1 -1
- package/dist/cjs/formik/Form.js +53 -47
- package/dist/cjs/formik/Form.js.map +1 -1
- package/dist/cjs/formik/Input.js +27 -26
- package/dist/cjs/formik/Input.js.map +1 -1
- package/dist/cjs/formik/MultiEmailInput.js +10 -6
- package/dist/cjs/formik/MultiEmailInput.js.map +1 -1
- package/dist/cjs/formik/Radio.js +7 -7
- package/dist/cjs/formik/Radio.js.map +1 -1
- package/dist/cjs/formik/Select.js +15 -10
- package/dist/cjs/formik/Select.js.map +1 -1
- package/dist/cjs/formik/Slider.js +7 -7
- package/dist/cjs/formik/Slider.js.map +1 -1
- package/dist/cjs/formik/Switch.js +31 -28
- package/dist/cjs/formik/Switch.js.map +1 -1
- package/dist/cjs/formik/Textarea.js +28 -27
- package/dist/cjs/formik/Textarea.js.map +1 -1
- package/dist/cjs/formik/TreeSelect.js +8 -5
- package/dist/cjs/formik/TreeSelect.js.map +1 -1
- package/dist/cjs/formik/index.js +11 -7
- package/dist/cjs/formik/index.js.map +1 -1
- package/dist/cjs/{index-eifA8CnA.js → index-Dv40T5Ly.js} +195 -169
- package/dist/cjs/{index-eifA8CnA.js.map → index-Dv40T5Ly.js.map} +1 -1
- package/dist/cjs/{index--BeRLo6L.js → index-h3QcOeWw.js} +12 -14
- package/dist/cjs/{index--BeRLo6L.js.map → index-h3QcOeWw.js.map} +1 -1
- package/dist/cjs/index.css +1 -2
- package/dist/cjs/index.js +26 -10
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/layouts.js +8 -3
- package/dist/cjs/layouts.js.map +1 -1
- package/dist/cjs/overlayManager.js +1 -2
- package/dist/cjs/overlayManager.js.map +1 -1
- package/dist/cjs/{react-select-creatable.esm-Bdv9YAMt.js → react-select-creatable.esm-lcdODVBz.js} +449 -243
- package/dist/cjs/react-select-creatable.esm-lcdODVBz.js.map +1 -0
- package/dist/cjs/useId-DXHUzdxd.js.map +1 -1
- package/dist/cjs/{useOverlayManager-CxBh9gVG.js → useOverlayManager-Bj58uLfc.js} +14 -9
- package/dist/cjs/{useOverlayManager-CxBh9gVG.js.map → useOverlayManager-Bj58uLfc.js.map} +1 -1
- package/dist/cjs/useQueryParams-BrrbBvY_.js +18 -0
- package/dist/cjs/{useQueryParams-l5fJJYCR.js.map → useQueryParams-BrrbBvY_.js.map} +1 -1
- package/dist/cjs/useRecentlyUsedColors-BcOkiB-v.js +1239 -0
- package/dist/cjs/useRecentlyUsedColors-BcOkiB-v.js.map +1 -0
- package/dist/cjs/useRestoreScrollPosition-DP8SUs19.js +236 -0
- package/dist/cjs/useRestoreScrollPosition-DP8SUs19.js.map +1 -0
- package/dist/constants.js.map +1 -1
- package/dist/formik/ActionBlock.js +16 -9
- package/dist/formik/ActionBlock.js.map +1 -1
- package/dist/formik/BlockNavigation.js +41 -31
- package/dist/formik/BlockNavigation.js.map +1 -1
- package/dist/formik/Button.js +6 -4
- package/dist/formik/Button.js.map +1 -1
- package/dist/formik/Checkbox.js +30 -29
- package/dist/formik/Checkbox.js.map +1 -1
- package/dist/formik/Form.js +54 -48
- package/dist/formik/Form.js.map +1 -1
- package/dist/formik/Input.js +28 -27
- package/dist/formik/Input.js.map +1 -1
- package/dist/formik/MultiEmailInput.js +11 -7
- package/dist/formik/MultiEmailInput.js.map +1 -1
- package/dist/formik/Radio.js +7 -7
- package/dist/formik/Radio.js.map +1 -1
- package/dist/formik/Select.js +17 -12
- package/dist/formik/Select.js.map +1 -1
- package/dist/formik/Slider.js +8 -8
- package/dist/formik/Slider.js.map +1 -1
- package/dist/formik/Switch.js +31 -28
- package/dist/formik/Switch.js.map +1 -1
- package/dist/formik/Textarea.js +29 -28
- package/dist/formik/Textarea.js.map +1 -1
- package/dist/formik/TreeSelect.js +9 -6
- package/dist/formik/TreeSelect.js.map +1 -1
- package/dist/formik/index.js +11 -7
- package/dist/formik/index.js.map +1 -1
- package/dist/{index-Dxaw6gl9.js → index-D6vmwyYl.js} +14 -16
- package/dist/index-D6vmwyYl.js.map +1 -0
- package/dist/{index-ITIifSw4.js → index-D6yXgUQN.js} +196 -170
- package/dist/{index-ITIifSw4.js.map → index-D6yXgUQN.js.map} +1 -1
- package/dist/index.css +1 -2
- package/dist/index.js +26 -10
- package/dist/index.js.map +1 -1
- package/dist/layouts.js +8 -3
- package/dist/layouts.js.map +1 -1
- package/dist/overlayManager.js +1 -2
- package/dist/overlayManager.js.map +1 -1
- package/dist/{react-select-creatable.esm-Dx_vEnyD.js → react-select-creatable.esm-opiJTCqo.js} +450 -244
- package/dist/react-select-creatable.esm-opiJTCqo.js.map +1 -0
- package/dist/useId-Jj9hXm-g.js.map +1 -1
- package/dist/{useOverlayManager-AZIGhUYS.js → useOverlayManager-BzuBvhPZ.js} +14 -9
- package/dist/{useOverlayManager-AZIGhUYS.js.map → useOverlayManager-BzuBvhPZ.js.map} +1 -1
- package/dist/useQueryParams-BKsf4FPY.js +16 -0
- package/dist/{useQueryParams-b60CHFUx.js.map → useQueryParams-BKsf4FPY.js.map} +1 -1
- package/dist/useRecentlyUsedColors-CtvdF-KQ.js +1236 -0
- package/dist/useRecentlyUsedColors-CtvdF-KQ.js.map +1 -0
- package/dist/useRestoreScrollPosition-BVX-mT5c.js +225 -0
- package/dist/useRestoreScrollPosition-BVX-mT5c.js.map +1 -0
- package/package.json +42 -48
- package/dist/cjs/react-select-creatable.esm-Bdv9YAMt.js.map +0 -1
- package/dist/cjs/useQueryParams-l5fJJYCR.js +0 -18
- package/dist/cjs/useRecentlyUsedColors-3cKx-eDH.js +0 -1270
- package/dist/cjs/useRecentlyUsedColors-3cKx-eDH.js.map +0 -1
- package/dist/cjs/useRestoreScrollPosition-PsoENtiB.js +0 -218
- package/dist/cjs/useRestoreScrollPosition-PsoENtiB.js.map +0 -1
- package/dist/index-Dxaw6gl9.js.map +0 -1
- package/dist/react-select-creatable.esm-Dx_vEnyD.js.map +0 -1
- package/dist/useQueryParams-b60CHFUx.js +0 -16
- package/dist/useRecentlyUsedColors-CqUfqfck.js +0 -1267
- package/dist/useRecentlyUsedColors-CqUfqfck.js.map +0 -1
- package/dist/useRestoreScrollPosition-C1NSANQW.js +0 -207
- package/dist/useRestoreScrollPosition-C1NSANQW.js.map +0 -1
- package/src/translations/ar.json +0 -41
- package/src/translations/bg.json +0 -41
- package/src/translations/ca.json +0 -41
- package/src/translations/cs.json +0 -41
- package/src/translations/da.json +0 -41
- package/src/translations/de.json +0 -41
- package/src/translations/en.json +0 -41
- package/src/translations/es-MX.json +0 -41
- package/src/translations/es.json +0 -41
- package/src/translations/et.json +0 -41
- package/src/translations/fi.json +0 -41
- package/src/translations/fil.json +0 -41
- package/src/translations/fr.json +0 -41
- package/src/translations/hi.json +0 -41
- package/src/translations/hr.json +0 -41
- package/src/translations/id.json +0 -41
- package/src/translations/index.js +0 -18
- package/src/translations/it.json +0 -41
- package/src/translations/ja.json +0 -41
- package/src/translations/ko.json +0 -41
- package/src/translations/nl.json +0 -41
- package/src/translations/pl.json +0 -41
- package/src/translations/pt-BR.json +0 -41
- package/src/translations/pt.json +0 -41
- package/src/translations/ro.json +0 -41
- package/src/translations/ru.json +0 -41
- package/src/translations/sk.json +0 -41
- package/src/translations/sl.json +0 -41
- package/src/translations/sv.json +0 -41
- package/src/translations/th.json +0 -41
- package/src/translations/tr.json +0 -41
- package/src/translations/uk.json +0 -41
- package/src/translations/vi.json +0 -41
- package/src/translations/zh-CN.json +0 -41
- package/src/translations/zh-TW.json +0 -41
package/dist/NoData.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import
|
|
1
|
+
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
2
2
|
import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
|
|
3
|
-
import
|
|
3
|
+
import 'react';
|
|
4
4
|
import classnames from 'classnames';
|
|
5
5
|
import { isEmpty, isNil, omit } from 'ramda';
|
|
6
6
|
import Button from './Button.js';
|
|
7
7
|
import Tooltip from './Tooltip.js';
|
|
8
8
|
import Typography from './Typography.js';
|
|
9
|
-
import '
|
|
9
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
10
10
|
import 'react-router-dom';
|
|
11
11
|
import './Spinner.js';
|
|
12
12
|
import '@babel/runtime/helpers/slicedToArray';
|
|
@@ -14,13 +14,15 @@ import '@tippyjs/react';
|
|
|
14
14
|
import 'tippy.js';
|
|
15
15
|
|
|
16
16
|
var renderImage = function renderImage(image) {
|
|
17
|
-
return typeof image === "string" ? /*#__PURE__*/
|
|
17
|
+
return typeof image === "string" ? /*#__PURE__*/jsx("img", {
|
|
18
18
|
"data-cy": "no-data-image",
|
|
19
19
|
src: image
|
|
20
20
|
}) : image;
|
|
21
21
|
};
|
|
22
22
|
|
|
23
23
|
var _excluded = ["image", "title", "description", "helpText", "className", "primaryButtonProps", "secondaryButtonProps", "buttonSeparatorText", "showTooltipWhenButtonDisabled"];
|
|
24
|
+
function ownKeys(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; }
|
|
25
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
24
26
|
var NoData = function NoData(_ref) {
|
|
25
27
|
var _ref$image = _ref.image,
|
|
26
28
|
image = _ref$image === void 0 ? null : _ref$image,
|
|
@@ -45,43 +47,57 @@ var NoData = function NoData(_ref) {
|
|
|
45
47
|
var hasSecondaryButtonProps = !isEmpty(secondaryButtonProps);
|
|
46
48
|
var hasButtonSeparatorText = !isEmpty(buttonSeparatorText);
|
|
47
49
|
var showButtonSeparator = hasButtonSeparatorText && hasPrimaryButtonProps && hasSecondaryButtonProps;
|
|
48
|
-
return /*#__PURE__*/
|
|
50
|
+
return /*#__PURE__*/jsxs("div", _objectSpread(_objectSpread({
|
|
49
51
|
className: classnames("neeto-ui-no-data", [className]),
|
|
50
52
|
"data-cy": "no-data-container"
|
|
51
|
-
}, otherProps),
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
53
|
+
}, otherProps), {}, {
|
|
54
|
+
children: [image ? /*#__PURE__*/jsx("div", {
|
|
55
|
+
className: "neeto-ui-no-data__image",
|
|
56
|
+
children: renderImage(image)
|
|
57
|
+
}) : null, title && /*#__PURE__*/jsx(Typography, {
|
|
58
|
+
className: "neeto-ui-text-center",
|
|
59
|
+
"data-cy": "no-data-title",
|
|
60
|
+
lineHeight: "none",
|
|
61
|
+
style: "h3",
|
|
62
|
+
children: title
|
|
63
|
+
}), description && /*#__PURE__*/jsx(Typography, {
|
|
64
|
+
className: "neeto-ui-text-center neeto-ui-no-data__description",
|
|
65
|
+
"data-cy": "no-data-description",
|
|
66
|
+
lineHeight: "normal",
|
|
67
|
+
style: "body2",
|
|
68
|
+
children: description
|
|
69
|
+
}), helpText && /*#__PURE__*/jsx(Typography, {
|
|
70
|
+
className: "neeto-ui-text-center neeto-ui-no-data__help-text",
|
|
71
|
+
"data-cy": "no-data-help-text",
|
|
72
|
+
lineHeight: "normal",
|
|
73
|
+
style: "body2",
|
|
74
|
+
children: helpText
|
|
75
|
+
}), (hasPrimaryButtonProps || hasSecondaryButtonProps) && /*#__PURE__*/jsxs("div", {
|
|
76
|
+
className: "neeto-ui-no-data__action-block",
|
|
77
|
+
children: [hasPrimaryButtonProps && /*#__PURE__*/jsx(Tooltip, _objectSpread(_objectSpread({}, primaryButtonProps === null || primaryButtonProps === void 0 ? void 0 : primaryButtonProps.tooltipProps), {}, {
|
|
78
|
+
disabled: isNil(primaryButtonProps === null || primaryButtonProps === void 0 ? void 0 : primaryButtonProps.tooltipProps) || !showTooltipWhenButtonDisabled && (primaryButtonProps === null || primaryButtonProps === void 0 ? void 0 : primaryButtonProps.disabled),
|
|
79
|
+
children: /*#__PURE__*/jsx("div", {
|
|
80
|
+
children: /*#__PURE__*/jsx(Button, _objectSpread({
|
|
81
|
+
"data-cy": "no-data-primary-button",
|
|
82
|
+
"data-testid": "no-data-primary-button"
|
|
83
|
+
}, omit(["tooltipProps"], primaryButtonProps)))
|
|
84
|
+
})
|
|
85
|
+
})), showButtonSeparator && /*#__PURE__*/jsx(Typography, {
|
|
86
|
+
lineHeight: "normal",
|
|
87
|
+
style: "body2",
|
|
88
|
+
children: buttonSeparatorText
|
|
89
|
+
}), hasSecondaryButtonProps && /*#__PURE__*/jsx(Tooltip, _objectSpread(_objectSpread({}, secondaryButtonProps === null || secondaryButtonProps === void 0 ? void 0 : secondaryButtonProps.tooltipProps), {}, {
|
|
90
|
+
disabled: isNil(secondaryButtonProps === null || secondaryButtonProps === void 0 ? void 0 : secondaryButtonProps.tooltipProps) || !showTooltipWhenButtonDisabled && (secondaryButtonProps === null || secondaryButtonProps === void 0 ? void 0 : secondaryButtonProps.disabled),
|
|
91
|
+
children: /*#__PURE__*/jsx("div", {
|
|
92
|
+
children: /*#__PURE__*/jsx(Button, _objectSpread({
|
|
93
|
+
"data-cy": "no-data-secondary-button",
|
|
94
|
+
"data-testid": "no-data-secondary-button",
|
|
95
|
+
style: "secondary"
|
|
96
|
+
}, omit(["tooltipProps"], secondaryButtonProps)))
|
|
97
|
+
})
|
|
98
|
+
}))]
|
|
99
|
+
})]
|
|
100
|
+
}));
|
|
85
101
|
};
|
|
86
102
|
|
|
87
103
|
export { NoData as default };
|
package/dist/NoData.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NoData.js","sources":["../src/components/NoData/utils.jsx","../src/components/NoData/index.jsx"],"sourcesContent":["import React from \"react\";\n\nexport const renderImage = image =>\n typeof image === \"string\" ? (\n <img data-cy=\"no-data-image\" src={image} />\n ) : (\n image\n );\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\nimport { isEmpty, isNil, omit } from \"ramda\";\n\nimport Button from \"components/Button\";\nimport Tooltip from \"components/Tooltip\";\nimport Typography from \"components/Typography\";\n\nimport { renderImage } from \"./utils\";\n\nconst NoData = ({\n image = null,\n title = \"\",\n description = \"\",\n helpText = null,\n className = \"\",\n primaryButtonProps = {},\n secondaryButtonProps = {},\n buttonSeparatorText = \"\",\n showTooltipWhenButtonDisabled = false,\n ...otherProps\n}) => {\n const hasPrimaryButtonProps = !isEmpty(primaryButtonProps);\n const hasSecondaryButtonProps = !isEmpty(secondaryButtonProps);\n const hasButtonSeparatorText = !isEmpty(buttonSeparatorText);\n\n const showButtonSeparator =\n hasButtonSeparatorText && hasPrimaryButtonProps && hasSecondaryButtonProps;\n\n return (\n <div\n className={classnames(\"neeto-ui-no-data\", [className])}\n data-cy=\"no-data-container\"\n {...otherProps}\n >\n {image ? (\n <div className=\"neeto-ui-no-data__image\">{renderImage(image)}</div>\n ) : null}\n {title && (\n <Typography\n className=\"neeto-ui-text-center\"\n data-cy=\"no-data-title\"\n lineHeight=\"none\"\n style=\"h3\"\n >\n {title}\n </Typography>\n )}\n {description && (\n <Typography\n className=\"neeto-ui-text-center neeto-ui-no-data__description\"\n data-cy=\"no-data-description\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {description}\n </Typography>\n )}\n {helpText && (\n <Typography\n className=\"neeto-ui-text-center neeto-ui-no-data__help-text\"\n data-cy=\"no-data-help-text\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {helpText}\n </Typography>\n )}\n {(hasPrimaryButtonProps || hasSecondaryButtonProps) && (\n <div className=\"neeto-ui-no-data__action-block\">\n {hasPrimaryButtonProps && (\n <Tooltip\n {...primaryButtonProps?.tooltipProps}\n disabled={\n isNil(primaryButtonProps?.tooltipProps) ||\n (!showTooltipWhenButtonDisabled && primaryButtonProps?.disabled)\n }\n >\n <div>\n <Button\n data-cy=\"no-data-primary-button\"\n data-testid=\"no-data-primary-button\"\n {...omit([\"tooltipProps\"], primaryButtonProps)}\n />\n </div>\n </Tooltip>\n )}\n {showButtonSeparator && (\n <Typography lineHeight=\"normal\" style=\"body2\">\n {buttonSeparatorText}\n </Typography>\n )}\n {hasSecondaryButtonProps && (\n <Tooltip\n {...secondaryButtonProps?.tooltipProps}\n disabled={\n isNil(secondaryButtonProps?.tooltipProps) ||\n (!showTooltipWhenButtonDisabled &&\n secondaryButtonProps?.disabled)\n }\n >\n <div>\n <Button\n data-cy=\"no-data-secondary-button\"\n data-testid=\"no-data-secondary-button\"\n style=\"secondary\"\n {...omit([\"tooltipProps\"], secondaryButtonProps)}\n />\n </div>\n </Tooltip>\n )}\n </div>\n )}\n </div>\n );\n};\n\nNoData.propTypes = {\n /**\n * To specify the image.\n */\n image: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n /**\n * To specify the title text.\n */\n title: PropTypes.string,\n /**\n * To specify the description text.\n */\n description: PropTypes.node,\n /**\n * To specify the text that appears below the description.\n */\n helpText: PropTypes.node,\n /**\n * Provide external classnames to NoData component.\n */\n className: PropTypes.string,\n /**\n * To specify the props to be passed to the primary button.\n */\n primaryButtonProps: PropTypes.object,\n /**\n * To specify the props to be passed to the secondary button.\n */\n secondaryButtonProps: PropTypes.object,\n /**\n * To specify if the tooltip should be shown when the button is disabled.\n */\n showTooltipWhenButtonDisabled: PropTypes.bool,\n /**\n * To specify the text that appears between the primary and secondary buttons.\n * */\n buttonSeparatorText: PropTypes.string,\n};\n\nexport default NoData;\n"],"names":["renderImage","image","
|
|
1
|
+
{"version":3,"file":"NoData.js","sources":["../src/components/NoData/utils.jsx","../src/components/NoData/index.jsx"],"sourcesContent":["import React from \"react\";\n\nexport const renderImage = image =>\n typeof image === \"string\" ? (\n <img data-cy=\"no-data-image\" src={image} />\n ) : (\n image\n );\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\nimport { isEmpty, isNil, omit } from \"ramda\";\n\nimport Button from \"components/Button\";\nimport Tooltip from \"components/Tooltip\";\nimport Typography from \"components/Typography\";\n\nimport { renderImage } from \"./utils\";\n\nconst NoData = ({\n image = null,\n title = \"\",\n description = \"\",\n helpText = null,\n className = \"\",\n primaryButtonProps = {},\n secondaryButtonProps = {},\n buttonSeparatorText = \"\",\n showTooltipWhenButtonDisabled = false,\n ...otherProps\n}) => {\n const hasPrimaryButtonProps = !isEmpty(primaryButtonProps);\n const hasSecondaryButtonProps = !isEmpty(secondaryButtonProps);\n const hasButtonSeparatorText = !isEmpty(buttonSeparatorText);\n\n const showButtonSeparator =\n hasButtonSeparatorText && hasPrimaryButtonProps && hasSecondaryButtonProps;\n\n return (\n <div\n className={classnames(\"neeto-ui-no-data\", [className])}\n data-cy=\"no-data-container\"\n {...otherProps}\n >\n {image ? (\n <div className=\"neeto-ui-no-data__image\">{renderImage(image)}</div>\n ) : null}\n {title && (\n <Typography\n className=\"neeto-ui-text-center\"\n data-cy=\"no-data-title\"\n lineHeight=\"none\"\n style=\"h3\"\n >\n {title}\n </Typography>\n )}\n {description && (\n <Typography\n className=\"neeto-ui-text-center neeto-ui-no-data__description\"\n data-cy=\"no-data-description\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {description}\n </Typography>\n )}\n {helpText && (\n <Typography\n className=\"neeto-ui-text-center neeto-ui-no-data__help-text\"\n data-cy=\"no-data-help-text\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {helpText}\n </Typography>\n )}\n {(hasPrimaryButtonProps || hasSecondaryButtonProps) && (\n <div className=\"neeto-ui-no-data__action-block\">\n {hasPrimaryButtonProps && (\n <Tooltip\n {...primaryButtonProps?.tooltipProps}\n disabled={\n isNil(primaryButtonProps?.tooltipProps) ||\n (!showTooltipWhenButtonDisabled && primaryButtonProps?.disabled)\n }\n >\n <div>\n <Button\n data-cy=\"no-data-primary-button\"\n data-testid=\"no-data-primary-button\"\n {...omit([\"tooltipProps\"], primaryButtonProps)}\n />\n </div>\n </Tooltip>\n )}\n {showButtonSeparator && (\n <Typography lineHeight=\"normal\" style=\"body2\">\n {buttonSeparatorText}\n </Typography>\n )}\n {hasSecondaryButtonProps && (\n <Tooltip\n {...secondaryButtonProps?.tooltipProps}\n disabled={\n isNil(secondaryButtonProps?.tooltipProps) ||\n (!showTooltipWhenButtonDisabled &&\n secondaryButtonProps?.disabled)\n }\n >\n <div>\n <Button\n data-cy=\"no-data-secondary-button\"\n data-testid=\"no-data-secondary-button\"\n style=\"secondary\"\n {...omit([\"tooltipProps\"], secondaryButtonProps)}\n />\n </div>\n </Tooltip>\n )}\n </div>\n )}\n </div>\n );\n};\n\nNoData.propTypes = {\n /**\n * To specify the image.\n */\n image: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n /**\n * To specify the title text.\n */\n title: PropTypes.string,\n /**\n * To specify the description text.\n */\n description: PropTypes.node,\n /**\n * To specify the text that appears below the description.\n */\n helpText: PropTypes.node,\n /**\n * Provide external classnames to NoData component.\n */\n className: PropTypes.string,\n /**\n * To specify the props to be passed to the primary button.\n */\n primaryButtonProps: PropTypes.object,\n /**\n * To specify the props to be passed to the secondary button.\n */\n secondaryButtonProps: PropTypes.object,\n /**\n * To specify if the tooltip should be shown when the button is disabled.\n */\n showTooltipWhenButtonDisabled: PropTypes.bool,\n /**\n * To specify the text that appears between the primary and secondary buttons.\n * */\n buttonSeparatorText: PropTypes.string,\n};\n\nexport default NoData;\n"],"names":["renderImage","image","_jsx","src","NoData","_ref","_ref$image","_ref$title","title","_ref$description","description","_ref$helpText","helpText","_ref$className","className","_ref$primaryButtonPro","primaryButtonProps","_ref$secondaryButtonP","secondaryButtonProps","_ref$buttonSeparatorT","buttonSeparatorText","_ref$showTooltipWhenB","showTooltipWhenButtonDisabled","otherProps","_objectWithoutProperties","_excluded","hasPrimaryButtonProps","isEmpty","hasSecondaryButtonProps","hasButtonSeparatorText","showButtonSeparator","_jsxs","_objectSpread","classnames","children","Typography","lineHeight","style","Tooltip","tooltipProps","disabled","isNil","Button","omit"],"mappings":"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"}
|
package/dist/Pagination.js
CHANGED
|
@@ -1,14 +1,16 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { useMemo } from 'react';
|
|
2
2
|
import classnames from 'classnames';
|
|
3
|
-
import
|
|
3
|
+
import Left from '@bigbinary/neeto-icons/Left';
|
|
4
|
+
import Right from '@bigbinary/neeto-icons/Right';
|
|
4
5
|
import { mergeLeft } from 'ramda';
|
|
5
6
|
import { useHistory } from 'react-router-dom';
|
|
6
7
|
import '@babel/runtime/helpers/slicedToArray';
|
|
7
8
|
import '@bigbinary/neeto-hotkeys';
|
|
8
9
|
import './overlayManager.js';
|
|
9
|
-
import { b as buildUrl } from './index-
|
|
10
|
-
import { u as useQueryParams } from './useQueryParams-
|
|
10
|
+
import { b as buildUrl } from './index-D6vmwyYl.js';
|
|
11
|
+
import { u as useQueryParams } from './useQueryParams-BKsf4FPY.js';
|
|
11
12
|
import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
|
|
13
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
12
14
|
import '@babel/runtime/helpers/classCallCheck';
|
|
13
15
|
import '@babel/runtime/helpers/createClass';
|
|
14
16
|
import '@babel/runtime/helpers/defineProperty';
|
|
@@ -129,55 +131,65 @@ var Pagination = function Pagination(_ref) {
|
|
|
129
131
|
var lastPage = paginationRange[paginationRange.length - 1];
|
|
130
132
|
var isFirstPage = pageNo === 1;
|
|
131
133
|
var isLastPage = pageNo === lastPage;
|
|
132
|
-
return /*#__PURE__*/
|
|
134
|
+
return /*#__PURE__*/jsx("nav", {
|
|
133
135
|
"aria-label": "Pagination Navigation",
|
|
134
|
-
role: "navigation"
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
"
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
136
|
+
role: "navigation",
|
|
137
|
+
children: /*#__PURE__*/jsxs("ul", {
|
|
138
|
+
className: classnames(["neeto-ui-pagination__wrapper", className]),
|
|
139
|
+
children: [/*#__PURE__*/jsx("li", {
|
|
140
|
+
"data-testid": "left-navigate-button",
|
|
141
|
+
tabIndex: 0,
|
|
142
|
+
className: classnames({
|
|
143
|
+
"neeto-ui-pagination__item": true,
|
|
144
|
+
"neeto-ui-pagination__item--navigate": true,
|
|
145
|
+
disabled: isFirstPage
|
|
146
|
+
}),
|
|
147
|
+
onClick: onPrevious,
|
|
148
|
+
children: /*#__PURE__*/jsx("a", {
|
|
149
|
+
children: /*#__PURE__*/jsx(Left, {
|
|
150
|
+
size: 20
|
|
151
|
+
})
|
|
152
|
+
})
|
|
153
|
+
}), paginationRange.map(function (pageNumber, index) {
|
|
154
|
+
var isActive = pageNumber === pageNo;
|
|
155
|
+
if (pageNumber === DOTS) {
|
|
156
|
+
return /*#__PURE__*/jsx("li", {
|
|
157
|
+
className: "neeto-ui-pagination__item neeto-ui-pagination__item--dots",
|
|
158
|
+
"data-testid": "dots",
|
|
159
|
+
children: "\u2026"
|
|
160
|
+
}, index);
|
|
161
|
+
}
|
|
162
|
+
return /*#__PURE__*/jsx("li", {
|
|
163
|
+
"aria-current": isActive && true,
|
|
164
|
+
tabIndex: 0,
|
|
165
|
+
"aria-label": isActive ? "Current Page, Page ".concat(pageNumber) : "Goto Page ".concat(pageNumber),
|
|
166
|
+
className: classnames("neeto-ui-pagination__item", {
|
|
167
|
+
active: isActive
|
|
168
|
+
}),
|
|
169
|
+
onClick: function onClick() {
|
|
170
|
+
return navigate(pageNumber);
|
|
171
|
+
},
|
|
172
|
+
children: /*#__PURE__*/jsx("a", {
|
|
173
|
+
children: pageNumber
|
|
174
|
+
})
|
|
175
|
+
}, index);
|
|
176
|
+
}), /*#__PURE__*/jsx("li", {
|
|
177
|
+
"data-testid": "right-navigate-button",
|
|
178
|
+
tabIndex: 0,
|
|
179
|
+
className: classnames({
|
|
180
|
+
"neeto-ui-pagination__item": true,
|
|
181
|
+
"neeto-ui-pagination__item--navigate": true,
|
|
182
|
+
disabled: isLastPage
|
|
183
|
+
}),
|
|
184
|
+
onClick: onNext,
|
|
185
|
+
children: /*#__PURE__*/jsx("a", {
|
|
186
|
+
children: /*#__PURE__*/jsx(Right, {
|
|
187
|
+
size: 20
|
|
188
|
+
})
|
|
189
|
+
})
|
|
190
|
+
})]
|
|
191
|
+
})
|
|
192
|
+
});
|
|
181
193
|
};
|
|
182
194
|
|
|
183
195
|
export { Pagination as default };
|
package/dist/Pagination.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Pagination.js","sources":["../src/components/Pagination/constants.js","../src/components/Pagination/hooks/usePaginationQueryParams.js","../src/components/Pagination/utils.js","../src/components/Pagination/index.jsx"],"sourcesContent":["export const DOTS = \"...\";\n","import { mergeLeft } from \"ramda\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { useQueryParams } from \"hooks\";\nimport { buildUrl } from \"utils\";\n\nconst usePaginationQueryParams = () => {\n const queryParams = useQueryParams();\n const history = useHistory();\n\n const updatePageInQueryParam = page => {\n const params = { page };\n\n const pathname = window.location.pathname;\n history.push(buildUrl(pathname, mergeLeft(params, queryParams)));\n };\n\n return { updatePageInQueryParam };\n};\n\nexport default usePaginationQueryParams;\n","import { useMemo } from \"react\";\n\nimport { DOTS } from \"./constants\";\n\nconst range = (start, end) => {\n const length = end - start + 1;\n\n return Array.from({ length }, (_, index) => index + start);\n};\n\nexport const usePagination = ({\n count,\n pageSize,\n siblingCount = 1,\n pageNo,\n}) => {\n const paginationRange = useMemo(() => {\n const totalPageCount = Math.ceil(count / pageSize);\n\n // Pages count is determined as siblingCount + firstPage + lastPage + pageNo + 2*DOTS\n const totalPageNumbers = siblingCount + 5;\n\n // If the number of pages is less than the page numbers we want to show in our\n // paginationComponent, we return the range [1..totalPageCount]\n if (totalPageNumbers >= totalPageCount) {\n return range(1, totalPageCount);\n }\n\n // Calculate left and right sibling index and make sure they are within range 1 and totalPageCount\n const leftSiblingIndex = Math.max(pageNo - siblingCount, 1);\n const rightSiblingIndex = Math.min(pageNo + siblingCount, totalPageCount);\n\n // We do not show dots just when there is just one page number to be inserted between the extremes of sibling and the page limits i.e 1 and totalPageCount. Hence we are using leftSiblingIndex > 2 and rightSiblingIndex < totalPageCount - 2\n const shouldShowLeftDots = leftSiblingIndex > 2;\n const shouldShowRightDots = rightSiblingIndex < totalPageCount - 2;\n\n const firstPageIndex = 1;\n const lastPageIndex = totalPageCount;\n\n // Case 2: No left dots to show, but rights dots to be shown\n if (!shouldShowLeftDots && shouldShowRightDots) {\n const leftItemCount = 3 + 2 * siblingCount;\n const leftRange = range(1, leftItemCount);\n\n return [...leftRange, DOTS, totalPageCount];\n }\n\n // Case 3: No right dots to show, but left dots to be shown\n if (shouldShowLeftDots && !shouldShowRightDots) {\n const rightItemCount = 3 + 2 * siblingCount;\n const rightRange = range(\n totalPageCount - rightItemCount + 1,\n totalPageCount\n );\n\n return [firstPageIndex, DOTS, ...rightRange];\n }\n\n // Case 4: Both left and right dots to be shown\n if (shouldShowLeftDots && shouldShowRightDots) {\n const middleRange = range(leftSiblingIndex, rightSiblingIndex);\n\n return [firstPageIndex, DOTS, ...middleRange, DOTS, lastPageIndex];\n }\n\n return undefined;\n }, [count, pageSize, siblingCount, pageNo]);\n\n return paginationRange;\n};\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport { Left, Right } from \"neetoicons\";\nimport PropTypes from \"prop-types\";\n\nimport { DOTS } from \"./constants\";\nimport usePaginationQueryParams from \"./hooks/usePaginationQueryParams\";\nimport { usePagination } from \"./utils\";\n\nconst Pagination = ({\n count = 0,\n pageNo,\n navigate,\n pageSize,\n siblingCount = 1,\n className = \"\",\n}) => {\n const paginationRange = usePagination({\n pageNo,\n count,\n siblingCount,\n pageSize,\n });\n const { updatePageInQueryParam } = usePaginationQueryParams();\n\n if (!navigate) navigate = updatePageInQueryParam;\n\n if (pageNo === 0 || paginationRange.length < 2) {\n return null;\n }\n\n const onNext = () => {\n if (!isLastPage) navigate(pageNo + 1);\n };\n\n const onPrevious = () => {\n if (!isFirstPage) navigate(pageNo - 1);\n };\n\n const lastPage = paginationRange[paginationRange.length - 1];\n const isFirstPage = pageNo === 1;\n const isLastPage = pageNo === lastPage;\n\n return (\n <nav aria-label=\"Pagination Navigation\" role=\"navigation\">\n <ul className={classnames([\"neeto-ui-pagination__wrapper\", className])}>\n <li\n data-testid=\"left-navigate-button\"\n tabIndex={0}\n className={classnames({\n \"neeto-ui-pagination__item\": true,\n \"neeto-ui-pagination__item--navigate\": true,\n disabled: isFirstPage,\n })}\n onClick={onPrevious}\n >\n <a>\n <Left size={20} />\n </a>\n </li>\n {paginationRange.map((pageNumber, index) => {\n const isActive = pageNumber === pageNo;\n\n if (pageNumber === DOTS) {\n return (\n <li\n className=\"neeto-ui-pagination__item neeto-ui-pagination__item--dots\"\n data-testid=\"dots\"\n key={index}\n >\n …\n </li>\n );\n }\n\n return (\n <li\n aria-current={isActive && true}\n key={index}\n tabIndex={0}\n aria-label={\n isActive\n ? `Current Page, Page ${pageNumber}`\n : `Goto Page ${pageNumber}`\n }\n className={classnames(\"neeto-ui-pagination__item\", {\n active: isActive,\n })}\n onClick={() => navigate(pageNumber)}\n >\n <a>{pageNumber}</a>\n </li>\n );\n })}\n <li\n data-testid=\"right-navigate-button\"\n tabIndex={0}\n className={classnames({\n \"neeto-ui-pagination__item\": true,\n \"neeto-ui-pagination__item--navigate\": true,\n disabled: isLastPage,\n })}\n onClick={onNext}\n >\n <a>\n <Right size={20} />\n </a>\n </li>\n </ul>\n </nav>\n );\n};\n\nPagination.propTypes = {\n /**\n * To specify the total number of items.\n */\n count: PropTypes.number.isRequired,\n /**\n * To specify the current page number.\n */\n pageNo: PropTypes.number,\n /**\n * To specify the callback which will be invoked when the navigate buttons are clicked. If not provided, the component will update pagination information in the URL query parameters.\n */\n navigate: PropTypes.func,\n /**\n * To specify the size of a single page.\n */\n pageSize: PropTypes.number.isRequired,\n /**\n * To specify the number of siblings to be shown before and after the current page number.\n */\n siblingCount: PropTypes.number,\n /**\n * To provide external className to the Pagination component.\n */\n className: PropTypes.string,\n};\n\nexport default Pagination;\n"],"names":["DOTS","usePaginationQueryParams","queryParams","useQueryParams","history","useHistory","updatePageInQueryParam","page","params","pathname","window","location","push","buildUrl","mergeLeft","range","start","end","length","Array","from","_","index","usePagination","_ref","count","pageSize","_ref$siblingCount","siblingCount","pageNo","paginationRange","useMemo","totalPageCount","Math","ceil","totalPageNumbers","leftSiblingIndex","max","rightSiblingIndex","min","shouldShowLeftDots","shouldShowRightDots","firstPageIndex","lastPageIndex","leftItemCount","leftRange","concat","_toConsumableArray","rightItemCount","rightRange","middleRange","undefined","Pagination","_ref$count","navigate","_ref$className","className","_usePaginationQueryPa","onNext","isLastPage","onPrevious","isFirstPage","lastPage","React","createElement","role","classnames","tabIndex","disabled","onClick","Left","size","map","pageNumber","isActive","key","active","Right"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Pagination.js","sources":["../src/components/Pagination/constants.js","../src/components/Pagination/hooks/usePaginationQueryParams.js","../src/components/Pagination/utils.js","../src/components/Pagination/index.jsx"],"sourcesContent":["export const DOTS = \"...\";\n","import { mergeLeft } from \"ramda\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { useQueryParams } from \"hooks\";\nimport { buildUrl } from \"utils\";\n\nconst usePaginationQueryParams = () => {\n const queryParams = useQueryParams();\n const history = useHistory();\n\n const updatePageInQueryParam = page => {\n const params = { page };\n\n const pathname = window.location.pathname;\n history.push(buildUrl(pathname, mergeLeft(params, queryParams)));\n };\n\n return { updatePageInQueryParam };\n};\n\nexport default usePaginationQueryParams;\n","import { useMemo } from \"react\";\n\nimport { DOTS } from \"./constants\";\n\nconst range = (start, end) => {\n const length = end - start + 1;\n\n return Array.from({ length }, (_, index) => index + start);\n};\n\nexport const usePagination = ({\n count,\n pageSize,\n siblingCount = 1,\n pageNo,\n}) => {\n const paginationRange = useMemo(() => {\n const totalPageCount = Math.ceil(count / pageSize);\n\n // Pages count is determined as siblingCount + firstPage + lastPage + pageNo + 2*DOTS\n const totalPageNumbers = siblingCount + 5;\n\n // If the number of pages is less than the page numbers we want to show in our\n // paginationComponent, we return the range [1..totalPageCount]\n if (totalPageNumbers >= totalPageCount) {\n return range(1, totalPageCount);\n }\n\n // Calculate left and right sibling index and make sure they are within range 1 and totalPageCount\n const leftSiblingIndex = Math.max(pageNo - siblingCount, 1);\n const rightSiblingIndex = Math.min(pageNo + siblingCount, totalPageCount);\n\n // We do not show dots just when there is just one page number to be inserted between the extremes of sibling and the page limits i.e 1 and totalPageCount. Hence we are using leftSiblingIndex > 2 and rightSiblingIndex < totalPageCount - 2\n const shouldShowLeftDots = leftSiblingIndex > 2;\n const shouldShowRightDots = rightSiblingIndex < totalPageCount - 2;\n\n const firstPageIndex = 1;\n const lastPageIndex = totalPageCount;\n\n // Case 2: No left dots to show, but rights dots to be shown\n if (!shouldShowLeftDots && shouldShowRightDots) {\n const leftItemCount = 3 + 2 * siblingCount;\n const leftRange = range(1, leftItemCount);\n\n return [...leftRange, DOTS, totalPageCount];\n }\n\n // Case 3: No right dots to show, but left dots to be shown\n if (shouldShowLeftDots && !shouldShowRightDots) {\n const rightItemCount = 3 + 2 * siblingCount;\n const rightRange = range(\n totalPageCount - rightItemCount + 1,\n totalPageCount\n );\n\n return [firstPageIndex, DOTS, ...rightRange];\n }\n\n // Case 4: Both left and right dots to be shown\n if (shouldShowLeftDots && shouldShowRightDots) {\n const middleRange = range(leftSiblingIndex, rightSiblingIndex);\n\n return [firstPageIndex, DOTS, ...middleRange, DOTS, lastPageIndex];\n }\n\n return undefined;\n }, [count, pageSize, siblingCount, pageNo]);\n\n return paginationRange;\n};\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport { Left, Right } from \"neetoicons\";\nimport PropTypes from \"prop-types\";\n\nimport { DOTS } from \"./constants\";\nimport usePaginationQueryParams from \"./hooks/usePaginationQueryParams\";\nimport { usePagination } from \"./utils\";\n\nconst Pagination = ({\n count = 0,\n pageNo,\n navigate,\n pageSize,\n siblingCount = 1,\n className = \"\",\n}) => {\n const paginationRange = usePagination({\n pageNo,\n count,\n siblingCount,\n pageSize,\n });\n const { updatePageInQueryParam } = usePaginationQueryParams();\n\n if (!navigate) navigate = updatePageInQueryParam;\n\n if (pageNo === 0 || paginationRange.length < 2) {\n return null;\n }\n\n const onNext = () => {\n if (!isLastPage) navigate(pageNo + 1);\n };\n\n const onPrevious = () => {\n if (!isFirstPage) navigate(pageNo - 1);\n };\n\n const lastPage = paginationRange[paginationRange.length - 1];\n const isFirstPage = pageNo === 1;\n const isLastPage = pageNo === lastPage;\n\n return (\n <nav aria-label=\"Pagination Navigation\" role=\"navigation\">\n <ul className={classnames([\"neeto-ui-pagination__wrapper\", className])}>\n <li\n data-testid=\"left-navigate-button\"\n tabIndex={0}\n className={classnames({\n \"neeto-ui-pagination__item\": true,\n \"neeto-ui-pagination__item--navigate\": true,\n disabled: isFirstPage,\n })}\n onClick={onPrevious}\n >\n <a>\n <Left size={20} />\n </a>\n </li>\n {paginationRange.map((pageNumber, index) => {\n const isActive = pageNumber === pageNo;\n\n if (pageNumber === DOTS) {\n return (\n <li\n className=\"neeto-ui-pagination__item neeto-ui-pagination__item--dots\"\n data-testid=\"dots\"\n key={index}\n >\n …\n </li>\n );\n }\n\n return (\n <li\n aria-current={isActive && true}\n key={index}\n tabIndex={0}\n aria-label={\n isActive\n ? `Current Page, Page ${pageNumber}`\n : `Goto Page ${pageNumber}`\n }\n className={classnames(\"neeto-ui-pagination__item\", {\n active: isActive,\n })}\n onClick={() => navigate(pageNumber)}\n >\n <a>{pageNumber}</a>\n </li>\n );\n })}\n <li\n data-testid=\"right-navigate-button\"\n tabIndex={0}\n className={classnames({\n \"neeto-ui-pagination__item\": true,\n \"neeto-ui-pagination__item--navigate\": true,\n disabled: isLastPage,\n })}\n onClick={onNext}\n >\n <a>\n <Right size={20} />\n </a>\n </li>\n </ul>\n </nav>\n );\n};\n\nPagination.propTypes = {\n /**\n * To specify the total number of items.\n */\n count: PropTypes.number.isRequired,\n /**\n * To specify the current page number.\n */\n pageNo: PropTypes.number,\n /**\n * To specify the callback which will be invoked when the navigate buttons are clicked. If not provided, the component will update pagination information in the URL query parameters.\n */\n navigate: PropTypes.func,\n /**\n * To specify the size of a single page.\n */\n pageSize: PropTypes.number.isRequired,\n /**\n * To specify the number of siblings to be shown before and after the current page number.\n */\n siblingCount: PropTypes.number,\n /**\n * To provide external className to the Pagination component.\n */\n className: PropTypes.string,\n};\n\nexport default Pagination;\n"],"names":["DOTS","usePaginationQueryParams","queryParams","useQueryParams","history","useHistory","updatePageInQueryParam","page","params","pathname","window","location","push","buildUrl","mergeLeft","range","start","end","length","Array","from","_","index","usePagination","_ref","count","pageSize","_ref$siblingCount","siblingCount","pageNo","paginationRange","useMemo","totalPageCount","Math","ceil","totalPageNumbers","leftSiblingIndex","max","rightSiblingIndex","min","shouldShowLeftDots","shouldShowRightDots","firstPageIndex","lastPageIndex","leftItemCount","leftRange","concat","_toConsumableArray","rightItemCount","rightRange","middleRange","undefined","Pagination","_ref$count","navigate","_ref$className","className","_usePaginationQueryPa","onNext","isLastPage","onPrevious","isFirstPage","lastPage","_jsx","role","children","_jsxs","classnames","tabIndex","disabled","onClick","Left","size","map","pageNumber","isActive","active","Right"],"mappings":"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"}
|
package/dist/Pane.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import _extends from '@babel/runtime/helpers/extends';
|
|
2
1
|
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
3
2
|
import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
4
3
|
import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
|
|
5
|
-
import
|
|
4
|
+
import { useState, useRef, useEffect } from 'react';
|
|
6
5
|
import classnames from 'classnames';
|
|
7
|
-
import
|
|
8
|
-
import { u as useOverlayManager, a as useOverlay, P as Portal, C as CSSTransition, B as Backdrop } from './useOverlayManager-
|
|
6
|
+
import Close from '@bigbinary/neeto-icons/Close';
|
|
7
|
+
import { u as useOverlayManager, a as useOverlay, P as Portal, C as CSSTransition, B as Backdrop } from './useOverlayManager-BzuBvhPZ.js';
|
|
9
8
|
import Button from './Button.js';
|
|
10
9
|
import 'react-router-dom';
|
|
11
10
|
import 'qs';
|
|
11
|
+
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
12
12
|
import '@babel/runtime/helpers/esm/extends';
|
|
13
13
|
import '@babel/runtime/helpers/esm/objectWithoutPropertiesLoose';
|
|
14
14
|
import '@babel/runtime/helpers/esm/inheritsLoose';
|
|
@@ -18,7 +18,7 @@ import '@bigbinary/neeto-hotkeys';
|
|
|
18
18
|
import './overlayManager.js';
|
|
19
19
|
import '@babel/runtime/helpers/classCallCheck';
|
|
20
20
|
import '@babel/runtime/helpers/createClass';
|
|
21
|
-
import './index-
|
|
21
|
+
import './index-D6vmwyYl.js';
|
|
22
22
|
import '@bigbinary/neeto-cist';
|
|
23
23
|
import './en-CIkXIYyl.js';
|
|
24
24
|
import '@babel/runtime/helpers/toConsumableArray';
|
|
@@ -37,29 +37,32 @@ var Body = function Body(_ref) {
|
|
|
37
37
|
className = _ref.className,
|
|
38
38
|
_ref$hasFooter = _ref.hasFooter,
|
|
39
39
|
hasFooter = _ref$hasFooter === void 0 ? true : _ref$hasFooter;
|
|
40
|
-
return /*#__PURE__*/
|
|
40
|
+
return /*#__PURE__*/jsx("div", {
|
|
41
41
|
"data-cy": "pane-body",
|
|
42
42
|
className: classnames("neeto-ui-pane__body neeto-ui-flex neeto-ui-flex-col neeto-ui-items-start neeto-ui-justify-start", _defineProperty({
|
|
43
43
|
"neeto-ui-pane__body--has-footer": hasFooter
|
|
44
|
-
}, className, className))
|
|
45
|
-
|
|
44
|
+
}, className, className)),
|
|
45
|
+
children: children
|
|
46
|
+
});
|
|
46
47
|
};
|
|
47
48
|
|
|
48
49
|
var Footer = function Footer(_ref) {
|
|
49
50
|
var children = _ref.children,
|
|
50
51
|
className = _ref.className;
|
|
51
|
-
return /*#__PURE__*/
|
|
52
|
-
className: classnames("neeto-ui-pane__footer neeto-ui-flex neeto-ui-items-center", className)
|
|
53
|
-
|
|
52
|
+
return /*#__PURE__*/jsx("div", {
|
|
53
|
+
className: classnames("neeto-ui-pane__footer neeto-ui-flex neeto-ui-items-center", className),
|
|
54
|
+
children: children
|
|
55
|
+
});
|
|
54
56
|
};
|
|
55
57
|
|
|
56
58
|
var Header = function Header(_ref) {
|
|
57
59
|
var children = _ref.children,
|
|
58
60
|
className = _ref.className;
|
|
59
|
-
return /*#__PURE__*/
|
|
61
|
+
return /*#__PURE__*/jsx("div", {
|
|
60
62
|
className: classnames("neeto-ui-pane__header", className),
|
|
61
|
-
"data-cy": "pane-header"
|
|
62
|
-
|
|
63
|
+
"data-cy": "pane-header",
|
|
64
|
+
children: children
|
|
65
|
+
});
|
|
63
66
|
};
|
|
64
67
|
|
|
65
68
|
var DEFAULT_PANE_HEADER_HEIGHT = 78;
|
|
@@ -72,14 +75,16 @@ var updateHeaderHeight = function updateHeaderHeight(header, paneWrapperRef) {
|
|
|
72
75
|
var headerHeight = header === null || header === void 0 ? void 0 : header.offsetHeight;
|
|
73
76
|
if (headerHeight > DEFAULT_PANE_HEADER_HEIGHT) {
|
|
74
77
|
var _paneWrapperRef$curre2;
|
|
75
|
-
(_paneWrapperRef$curre2 = paneWrapperRef.current) === null || _paneWrapperRef$curre2 === void 0
|
|
78
|
+
(_paneWrapperRef$curre2 = paneWrapperRef.current) === null || _paneWrapperRef$curre2 === void 0 ? void 0 : _paneWrapperRef$curre2.style.setProperty("--neeto-ui-pane-header-height", "".concat(headerHeight, "px"));
|
|
76
79
|
} else {
|
|
77
80
|
var _paneWrapperRef$curre3;
|
|
78
|
-
(_paneWrapperRef$curre3 = paneWrapperRef.current) === null || _paneWrapperRef$curre3 === void 0
|
|
81
|
+
(_paneWrapperRef$curre3 = paneWrapperRef.current) === null || _paneWrapperRef$curre3 === void 0 ? void 0 : _paneWrapperRef$curre3.style.removeProperty("--neeto-ui-pane-header-height");
|
|
79
82
|
}
|
|
80
83
|
};
|
|
81
84
|
|
|
82
85
|
var _excluded = ["size", "isOpen", "onClose", "children", "className", "closeOnEsc", "closeButton", "backdropClassName", "closeOnOutsideClick", "initialFocusRef", "finalFocusRef"];
|
|
86
|
+
function ownKeys(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; }
|
|
87
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
83
88
|
var SIZES = {
|
|
84
89
|
small: "small",
|
|
85
90
|
large: "large",
|
|
@@ -157,46 +162,51 @@ var Pane = function Pane(_ref) {
|
|
|
157
162
|
observer.disconnect();
|
|
158
163
|
};
|
|
159
164
|
}, [hasTransitionCompleted, isTopOverlay]);
|
|
160
|
-
return /*#__PURE__*/
|
|
161
|
-
rootId: "neeto-ui-portal"
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
165
|
+
return /*#__PURE__*/jsx(Portal, {
|
|
166
|
+
rootId: "neeto-ui-portal",
|
|
167
|
+
children: /*#__PURE__*/jsx(CSSTransition, {
|
|
168
|
+
unmountOnExit: true,
|
|
169
|
+
appear: isOpen,
|
|
170
|
+
classNames: "neeto-ui-pane",
|
|
171
|
+
"in": isOpen,
|
|
172
|
+
timeout: 230,
|
|
173
|
+
onEntered: function onEntered() {
|
|
174
|
+
return setHasTransitionCompleted(true);
|
|
175
|
+
},
|
|
176
|
+
onExited: function onExited() {
|
|
177
|
+
return setHasTransitionCompleted(false);
|
|
178
|
+
},
|
|
179
|
+
children: /*#__PURE__*/jsx(Backdrop, {
|
|
180
|
+
"data-testid": "backdrop",
|
|
181
|
+
ref: backdropRef,
|
|
182
|
+
className: classnames("neeto-ui-pane__backdrop neeto-ui-flex neeto-ui-justify-end", backdropClassName),
|
|
183
|
+
children: /*#__PURE__*/jsxs("div", _objectSpread(_objectSpread({
|
|
184
|
+
"data-cy": "pane-wrapper",
|
|
185
|
+
ref: paneWrapperRef,
|
|
186
|
+
className: classnames("neeto-ui-pane__wrapper", _defineProperty({
|
|
187
|
+
"neeto-ui-pane__wrapper--small": size === SIZES.small,
|
|
188
|
+
"neeto-ui-pane__wrapper--large": size === SIZES.large,
|
|
189
|
+
"neeto-ui-pane__wrapper--extralarge": size === SIZES.extraLarge
|
|
190
|
+
}, className, className))
|
|
191
|
+
}, otherProps), {}, {
|
|
192
|
+
children: [closeButton && /*#__PURE__*/jsx(Button, {
|
|
193
|
+
"aria-label": "Close",
|
|
194
|
+
className: "neeto-ui-pane__close",
|
|
195
|
+
"data-cy": "pane-close-button",
|
|
196
|
+
"data-testid": "close-button",
|
|
197
|
+
icon: Close,
|
|
198
|
+
size: "small",
|
|
199
|
+
style: "text",
|
|
200
|
+
onClick: handleOverlayClose
|
|
201
|
+
}), hasTransitionCompleted && /*#__PURE__*/jsx(Fragment, {
|
|
202
|
+
children: typeof children === "function" ? children({
|
|
203
|
+
setFocusField: setFocusField
|
|
204
|
+
}) : children
|
|
205
|
+
})]
|
|
206
|
+
}), "pane-wrapper")
|
|
207
|
+
}, "pane-backdrop")
|
|
208
|
+
})
|
|
209
|
+
});
|
|
200
210
|
};
|
|
201
211
|
Pane.Header = Header;
|
|
202
212
|
Pane.Body = Body;
|