@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.
- package/README.md +1 -0
- package/dist/ActionDropdown.js +7 -6
- package/dist/ActionDropdown.js.map +1 -1
- package/dist/Alert.js +9 -9
- package/dist/Alert.js.map +1 -1
- package/dist/Avatar.js +1 -0
- package/dist/Avatar.js.map +1 -1
- package/dist/Button.js +5 -49
- package/dist/Button.js.map +1 -1
- package/dist/Checkbox.js +6 -5
- package/dist/Checkbox.js.map +1 -1
- package/dist/ColorPicker.js +147 -51
- package/dist/ColorPicker.js.map +1 -1
- package/dist/DatePicker.js +18 -19
- package/dist/DatePicker.js.map +1 -1
- package/dist/Dropdown.js +4 -3
- package/dist/Dropdown.js.map +1 -1
- package/dist/Input.js +14 -10
- package/dist/Input.js.map +1 -1
- package/dist/Kbd.js +1 -0
- package/dist/Kbd.js.map +1 -1
- package/dist/Label.js +72 -55
- package/dist/Label.js.map +1 -1
- package/dist/Modal.js +21 -8
- package/dist/Modal.js.map +1 -1
- package/dist/MultiEmailInput.js +96 -58
- package/dist/MultiEmailInput.js.map +1 -1
- package/dist/NoData.js +1 -2
- package/dist/NoData.js.map +1 -1
- package/dist/Pagination.js +5 -5
- package/dist/Pane.js +58 -22
- package/dist/Pane.js.map +1 -1
- package/dist/ProgressBar.js +1 -0
- package/dist/ProgressBar.js.map +1 -1
- package/dist/Radio.js +11 -8
- package/dist/Radio.js.map +1 -1
- package/dist/Select.js +52 -22
- package/dist/Select.js.map +1 -1
- package/dist/Sidebar.js +6 -4
- package/dist/Sidebar.js.map +1 -1
- package/dist/Slider.js +6 -5
- package/dist/Slider.js.map +1 -1
- package/dist/Stepper.js +1 -0
- package/dist/Stepper.js.map +1 -1
- package/dist/Switch.js +9 -5
- package/dist/Switch.js.map +1 -1
- package/dist/Table.js +358 -194
- package/dist/Table.js.map +1 -1
- package/dist/{Textarea-e2cdbeb5.js → Textarea-TKn0l0RC.js} +5 -4
- package/dist/Textarea-TKn0l0RC.js.map +1 -0
- package/dist/Textarea.js +7 -6
- package/dist/Textarea.js.map +1 -1
- package/dist/TimePicker.js +16 -17
- package/dist/TimePicker.js.map +1 -1
- package/dist/Toastr.js +45 -23
- package/dist/Toastr.js.map +1 -1
- package/dist/Tooltip.js +17 -11
- package/dist/Tooltip.js.map +1 -1
- package/dist/TranslationProvider.js +45 -13
- package/dist/TranslationProvider.js.map +1 -1
- package/dist/Tree.js +15 -8
- package/dist/Tree.js.map +1 -1
- package/dist/TreeSelect.js +19 -7
- package/dist/TreeSelect.js.map +1 -1
- package/dist/cjs/Accordion.js +18 -27
- package/dist/cjs/Accordion.js.map +1 -1
- package/dist/cjs/ActionDropdown.js +13 -20
- package/dist/cjs/ActionDropdown.js.map +1 -1
- package/dist/cjs/Alert.js +15 -20
- package/dist/cjs/Alert.js.map +1 -1
- package/dist/cjs/Avatar.js +11 -19
- package/dist/cjs/Avatar.js.map +1 -1
- package/dist/cjs/Button.js +17 -70
- package/dist/cjs/Button.js.map +1 -1
- package/dist/cjs/Callout.js +5 -13
- package/dist/cjs/Callout.js.map +1 -1
- package/dist/cjs/Checkbox.js +13 -19
- package/dist/cjs/Checkbox.js.map +1 -1
- package/dist/cjs/ColorPicker.js +170 -84
- package/dist/cjs/ColorPicker.js.map +1 -1
- package/dist/cjs/DatePicker.js +18 -19
- package/dist/cjs/DatePicker.js.map +1 -1
- package/dist/cjs/Dropdown.js +32 -41
- package/dist/cjs/Dropdown.js.map +1 -1
- package/dist/cjs/Input.js +31 -36
- package/dist/cjs/Input.js.map +1 -1
- package/dist/cjs/Kbd.js +5 -11
- package/dist/cjs/Kbd.js.map +1 -1
- package/dist/cjs/Label.js +71 -62
- package/dist/cjs/Label.js.map +1 -1
- package/dist/cjs/Modal.js +38 -34
- package/dist/cjs/Modal.js.map +1 -1
- package/dist/cjs/MultiEmailInput.js +124 -97
- package/dist/cjs/MultiEmailInput.js.map +1 -1
- package/dist/cjs/NoData.js +15 -23
- package/dist/cjs/NoData.js.map +1 -1
- package/dist/cjs/Pagination.js +21 -27
- package/dist/cjs/Pagination.js.map +1 -1
- package/dist/cjs/Pane.js +74 -47
- package/dist/cjs/Pane.js.map +1 -1
- package/dist/cjs/Popover.js +5 -12
- package/dist/cjs/Popover.js.map +1 -1
- package/dist/cjs/ProgressBar.js +4 -8
- package/dist/cjs/ProgressBar.js.map +1 -1
- package/dist/cjs/Radio.js +25 -31
- package/dist/cjs/Radio.js.map +1 -1
- package/dist/cjs/Select.js +95 -78
- package/dist/cjs/Select.js.map +1 -1
- package/dist/cjs/Sidebar.js +72 -79
- package/dist/cjs/Sidebar.js.map +1 -1
- package/dist/cjs/Slider.js +15 -23
- package/dist/cjs/Slider.js.map +1 -1
- package/dist/cjs/Spinner.js +2 -7
- package/dist/cjs/Spinner.js.map +1 -1
- package/dist/cjs/Stepper.js +7 -11
- package/dist/cjs/Stepper.js.map +1 -1
- package/dist/cjs/Switch.js +22 -25
- package/dist/cjs/Switch.js.map +1 -1
- package/dist/cjs/Tab.js +10 -18
- package/dist/cjs/Tab.js.map +1 -1
- package/dist/cjs/Table.js +387 -236
- package/dist/cjs/Table.js.map +1 -1
- package/dist/cjs/Tag.js +9 -16
- package/dist/cjs/Tag.js.map +1 -1
- package/dist/cjs/{Textarea-13e1da31.js → Textarea-DdURL8Dd.js} +21 -29
- package/dist/cjs/Textarea-DdURL8Dd.js.map +1 -0
- package/dist/cjs/Textarea.js +7 -6
- package/dist/cjs/Textarea.js.map +1 -1
- package/dist/cjs/TimePicker.js +16 -17
- package/dist/cjs/TimePicker.js.map +1 -1
- package/dist/cjs/Toastr.js +61 -49
- package/dist/cjs/Toastr.js.map +1 -1
- package/dist/cjs/Tooltip.js +20 -22
- package/dist/cjs/Tooltip.js.map +1 -1
- package/dist/cjs/TranslationProvider.js +48 -21
- package/dist/cjs/TranslationProvider.js.map +1 -1
- package/dist/cjs/Tree.js +21 -23
- package/dist/cjs/Tree.js.map +1 -1
- package/dist/cjs/TreeSelect.js +30 -28
- package/dist/cjs/TreeSelect.js.map +1 -1
- package/dist/cjs/Typography.js +4 -12
- package/dist/cjs/Typography.js.map +1 -1
- package/dist/cjs/constants.js +7 -19
- package/dist/cjs/constants.js.map +1 -1
- package/dist/cjs/{en-80d0fbff.js → en-DhnUUSB_.js} +13 -6
- package/dist/cjs/en-DhnUUSB_.js.map +1 -0
- package/dist/cjs/formik/ActionBlock.js +12 -18
- package/dist/cjs/formik/ActionBlock.js.map +1 -1
- package/dist/cjs/formik/BlockNavigation.js +24 -42
- package/dist/cjs/formik/BlockNavigation.js.map +1 -1
- package/dist/cjs/formik/Button.js +3 -10
- package/dist/cjs/formik/Button.js.map +1 -1
- package/dist/cjs/formik/Checkbox.js +10 -16
- package/dist/cjs/formik/Checkbox.js.map +1 -1
- package/dist/cjs/formik/Form.js +13 -24
- package/dist/cjs/formik/Form.js.map +1 -1
- package/dist/cjs/formik/Input.js +10 -16
- package/dist/cjs/formik/Input.js.map +1 -1
- package/dist/cjs/formik/MultiEmailInput.js +8 -15
- package/dist/cjs/formik/MultiEmailInput.js.map +1 -1
- package/dist/cjs/formik/Radio.js +10 -17
- package/dist/cjs/formik/Radio.js.map +1 -1
- package/dist/cjs/formik/Select.js +9 -17
- package/dist/cjs/formik/Select.js.map +1 -1
- package/dist/cjs/formik/Slider.js +10 -17
- package/dist/cjs/formik/Slider.js.map +1 -1
- package/dist/cjs/formik/Switch.js +10 -16
- package/dist/cjs/formik/Switch.js.map +1 -1
- package/dist/cjs/formik/Textarea.js +11 -17
- package/dist/cjs/formik/Textarea.js.map +1 -1
- package/dist/cjs/formik/TreeSelect.js +8 -14
- package/dist/cjs/formik/TreeSelect.js.map +1 -1
- package/dist/cjs/formik/index.js +12 -15
- package/dist/cjs/formik/index.js.map +1 -1
- package/dist/cjs/index-BG9I04iF.js +451 -0
- package/dist/cjs/index-BG9I04iF.js.map +1 -0
- package/dist/cjs/{index-4683b7da.js → index-DOn2FmWB.js} +80 -80
- package/dist/cjs/index-DOn2FmWB.js.map +1 -0
- package/dist/cjs/index.css +2 -2
- package/dist/cjs/index.js +26 -29
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/layouts.js +6 -7
- package/dist/cjs/layouts.js.map +1 -1
- package/dist/cjs/managers.js +0 -2
- package/dist/cjs/managers.js.map +1 -1
- package/dist/cjs/overlayManager.js +2 -9
- package/dist/cjs/overlayManager.js.map +1 -1
- package/dist/cjs/{react-select-creatable.esm-23eddf9f.js → react-select-creatable.esm-Bdv9YAMt.js} +231 -140
- package/dist/cjs/{react-select-creatable.esm-23eddf9f.js.map → react-select-creatable.esm-Bdv9YAMt.js.map} +1 -1
- package/dist/cjs/{useId-4e3deb5c.js → useId-DXHUzdxd.js} +1 -1
- package/dist/cjs/{useId-4e3deb5c.js.map → useId-DXHUzdxd.js.map} +1 -1
- package/dist/cjs/{useOverlayManager-d4108cf8.js → useOverlayManager-D5NTaYt6.js} +25 -744
- package/dist/cjs/useOverlayManager-D5NTaYt6.js.map +1 -0
- package/dist/cjs/{useQueryParams-a8ee2f76.js → useQueryParams-l5fJJYCR.js} +2 -6
- package/dist/cjs/useQueryParams-l5fJJYCR.js.map +1 -0
- package/dist/cjs/useRecentlyUsedColors-DmV1uj1F.js +1270 -0
- package/dist/cjs/useRecentlyUsedColors-DmV1uj1F.js.map +1 -0
- package/dist/cjs/{HeaderCellMenu-ed9de3d6.js → useRestoreScrollPosition-Ck_b0Nh4.js} +87 -88
- package/dist/cjs/useRestoreScrollPosition-Ck_b0Nh4.js.map +1 -0
- package/dist/{en-41f5c641.js → en-_r5-MxJe.js} +13 -6
- package/dist/en-_r5-MxJe.js.map +1 -0
- package/dist/formik/ActionBlock.js +7 -7
- package/dist/formik/BlockNavigation.js +15 -26
- package/dist/formik/BlockNavigation.js.map +1 -1
- package/dist/formik/Button.js +1 -2
- package/dist/formik/Button.js.map +1 -1
- package/dist/formik/Checkbox.js +6 -5
- package/dist/formik/Checkbox.js.map +1 -1
- package/dist/formik/Form.js +2 -2
- package/dist/formik/Form.js.map +1 -1
- package/dist/formik/Input.js +6 -5
- package/dist/formik/Input.js.map +1 -1
- package/dist/formik/MultiEmailInput.js +5 -5
- package/dist/formik/Radio.js +6 -5
- package/dist/formik/Radio.js.map +1 -1
- package/dist/formik/Select.js +5 -5
- package/dist/formik/Slider.js +6 -5
- package/dist/formik/Slider.js.map +1 -1
- package/dist/formik/Switch.js +6 -5
- package/dist/formik/Switch.js.map +1 -1
- package/dist/formik/Textarea.js +7 -6
- package/dist/formik/Textarea.js.map +1 -1
- package/dist/formik/TreeSelect.js +5 -4
- package/dist/formik/TreeSelect.js.map +1 -1
- package/dist/formik/index.js +12 -13
- package/dist/formik/index.js.map +1 -1
- package/dist/index-BCP3m_SF.js +434 -0
- package/dist/index-BCP3m_SF.js.map +1 -0
- package/dist/{index-78e488c9.js → index-BXAHRXsD.js} +33 -21
- package/dist/index-BXAHRXsD.js.map +1 -0
- package/dist/index.css +2 -2
- package/dist/index.js +26 -27
- package/dist/index.js.map +1 -1
- package/dist/layouts.js +6 -5
- package/dist/layouts.js.map +1 -1
- package/dist/{react-select-creatable.esm-ad71b0c0.js → react-select-creatable.esm-Dx_vEnyD.js} +137 -31
- package/dist/{react-select-creatable.esm-ad71b0c0.js.map → react-select-creatable.esm-Dx_vEnyD.js.map} +1 -1
- package/dist/{useId-c1d20bba.js → useId-Jj9hXm-g.js} +1 -1
- package/dist/{useId-c1d20bba.js.map → useId-Jj9hXm-g.js.map} +1 -1
- package/dist/{useOverlayManager-593daea1.js → useOverlayManager-U3cqV61l.js} +9 -716
- package/dist/useOverlayManager-U3cqV61l.js.map +1 -0
- package/dist/{useQueryParams-dcb34865.js → useQueryParams-b60CHFUx.js} +1 -1
- package/dist/{useQueryParams-dcb34865.js.map → useQueryParams-b60CHFUx.js.map} +1 -1
- package/dist/useRecentlyUsedColors-CJe4G0Xs.js +1267 -0
- package/dist/useRecentlyUsedColors-CJe4G0Xs.js.map +1 -0
- package/dist/{HeaderCellMenu-85af6d2a.js → useRestoreScrollPosition-B3J6xSHt.js} +77 -75
- package/dist/useRestoreScrollPosition-B3J6xSHt.js.map +1 -0
- package/package.json +20 -14
- package/src/translations/de.json +7 -2
- package/src/translations/en.json +12 -5
- package/src/translations/es.json +7 -2
- package/src/translations/fr.json +7 -2
- package/src/translations/nl.json +7 -2
- package/src/translations/pl.json +7 -2
- package/src/translations/pt.json +7 -2
- package/types/Button.d.ts +0 -2
- package/types/ColorPicker.d.ts +7 -5
- package/types/DatePicker.d.ts +2 -0
- package/types/Modal.d.ts +1 -1
- package/types/Pane.d.ts +1 -1
- package/types/Select.d.ts +4 -0
- package/types/Table.d.ts +9 -0
- package/types/Toastr.d.ts +3 -1
- package/types/Tree.d.ts +2 -1
- package/dist/HeaderCellMenu-85af6d2a.js.map +0 -1
- package/dist/Textarea-e2cdbeb5.js.map +0 -1
- package/dist/cjs/HeaderCellMenu-ed9de3d6.js.map +0 -1
- package/dist/cjs/Textarea-13e1da31.js.map +0 -1
- package/dist/cjs/en-80d0fbff.js.map +0 -1
- package/dist/cjs/index-0f5141e0.js +0 -178
- package/dist/cjs/index-0f5141e0.js.map +0 -1
- package/dist/cjs/index-4683b7da.js.map +0 -1
- package/dist/cjs/tinycolor-b1e9a7b2.js +0 -1202
- package/dist/cjs/tinycolor-b1e9a7b2.js.map +0 -1
- package/dist/cjs/useOverlayManager-d4108cf8.js.map +0 -1
- package/dist/cjs/useQueryParams-a8ee2f76.js.map +0 -1
- package/dist/en-41f5c641.js.map +0 -1
- package/dist/index-78e488c9.js.map +0 -1
- package/dist/index-abadd6e9.js +0 -155
- package/dist/index-abadd6e9.js.map +0 -1
- package/dist/tinycolor-282c618c.js +0 -1200
- package/dist/tinycolor-282c618c.js.map +0 -1
- package/dist/useOverlayManager-593daea1.js.map +0 -1
package/dist/cjs/NoData.js
CHANGED
|
@@ -9,22 +9,14 @@ var Button = require('./Button.js');
|
|
|
9
9
|
var Tooltip = require('./Tooltip.js');
|
|
10
10
|
var Typography = require('./Typography.js');
|
|
11
11
|
require('@babel/runtime/helpers/defineProperty');
|
|
12
|
-
require('@babel/runtime/helpers/slicedToArray');
|
|
13
|
-
require('@bigbinary/neeto-icons');
|
|
14
12
|
require('react-router-dom');
|
|
15
13
|
require('./Spinner.js');
|
|
14
|
+
require('@babel/runtime/helpers/slicedToArray');
|
|
16
15
|
require('@tippyjs/react');
|
|
17
16
|
require('tippy.js');
|
|
18
17
|
|
|
19
|
-
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
20
|
-
|
|
21
|
-
var _extends__default = /*#__PURE__*/_interopDefaultLegacy(_extends);
|
|
22
|
-
var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
|
|
23
|
-
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
24
|
-
var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
|
|
25
|
-
|
|
26
18
|
var renderImage = function renderImage(image) {
|
|
27
|
-
return typeof image === "string" ? /*#__PURE__*/
|
|
19
|
+
return typeof image === "string" ? /*#__PURE__*/React.createElement("img", {
|
|
28
20
|
"data-cy": "no-data-image",
|
|
29
21
|
src: image
|
|
30
22
|
}) : image;
|
|
@@ -50,44 +42,44 @@ var NoData = function NoData(_ref) {
|
|
|
50
42
|
buttonSeparatorText = _ref$buttonSeparatorT === void 0 ? "" : _ref$buttonSeparatorT,
|
|
51
43
|
_ref$showTooltipWhenB = _ref.showTooltipWhenButtonDisabled,
|
|
52
44
|
showTooltipWhenButtonDisabled = _ref$showTooltipWhenB === void 0 ? false : _ref$showTooltipWhenB,
|
|
53
|
-
otherProps =
|
|
45
|
+
otherProps = _objectWithoutProperties(_ref, _excluded);
|
|
54
46
|
var hasPrimaryButtonProps = !ramda.isEmpty(primaryButtonProps);
|
|
55
47
|
var hasSecondaryButtonProps = !ramda.isEmpty(secondaryButtonProps);
|
|
56
48
|
var hasButtonSeparatorText = !ramda.isEmpty(buttonSeparatorText);
|
|
57
49
|
var showButtonSeparator = hasButtonSeparatorText && hasPrimaryButtonProps && hasSecondaryButtonProps;
|
|
58
|
-
return /*#__PURE__*/
|
|
59
|
-
className:
|
|
50
|
+
return /*#__PURE__*/React.createElement("div", _extends({
|
|
51
|
+
className: classnames("neeto-ui-no-data", [className]),
|
|
60
52
|
"data-cy": "no-data-container"
|
|
61
|
-
}, otherProps), image ? /*#__PURE__*/
|
|
53
|
+
}, otherProps), image ? /*#__PURE__*/React.createElement("div", {
|
|
62
54
|
className: "neeto-ui-no-data__image"
|
|
63
|
-
}, renderImage(image)) : null, title && /*#__PURE__*/
|
|
55
|
+
}, renderImage(image)) : null, title && /*#__PURE__*/React.createElement(Typography, {
|
|
64
56
|
className: "neeto-ui-text-center",
|
|
65
57
|
"data-cy": "no-data-title",
|
|
66
58
|
lineHeight: "none",
|
|
67
59
|
style: "h3"
|
|
68
|
-
}, title), description && /*#__PURE__*/
|
|
60
|
+
}, title), description && /*#__PURE__*/React.createElement(Typography, {
|
|
69
61
|
className: "neeto-ui-text-center neeto-ui-no-data__description",
|
|
70
62
|
"data-cy": "no-data-description",
|
|
71
63
|
lineHeight: "normal",
|
|
72
64
|
style: "body2"
|
|
73
|
-
}, description), helpText && /*#__PURE__*/
|
|
65
|
+
}, description), helpText && /*#__PURE__*/React.createElement(Typography, {
|
|
74
66
|
className: "neeto-ui-text-center neeto-ui-no-data__help-text",
|
|
75
67
|
"data-cy": "no-data-help-text",
|
|
76
68
|
lineHeight: "normal",
|
|
77
69
|
style: "body2"
|
|
78
|
-
}, helpText), (hasPrimaryButtonProps || hasSecondaryButtonProps) && /*#__PURE__*/
|
|
70
|
+
}, helpText), (hasPrimaryButtonProps || hasSecondaryButtonProps) && /*#__PURE__*/React.createElement("div", {
|
|
79
71
|
className: "neeto-ui-no-data__action-block"
|
|
80
|
-
}, hasPrimaryButtonProps && /*#__PURE__*/
|
|
72
|
+
}, hasPrimaryButtonProps && /*#__PURE__*/React.createElement(Tooltip, _extends({}, primaryButtonProps === null || primaryButtonProps === void 0 ? void 0 : primaryButtonProps.tooltipProps, {
|
|
81
73
|
disabled: ramda.isNil(primaryButtonProps === null || primaryButtonProps === void 0 ? void 0 : primaryButtonProps.tooltipProps) || !showTooltipWhenButtonDisabled && (primaryButtonProps === null || primaryButtonProps === void 0 ? void 0 : primaryButtonProps.disabled)
|
|
82
|
-
}), /*#__PURE__*/
|
|
74
|
+
}), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Button, _extends({
|
|
83
75
|
"data-cy": "no-data-primary-button",
|
|
84
76
|
"data-testid": "no-data-primary-button"
|
|
85
|
-
}, ramda.omit(["tooltipProps"], primaryButtonProps))))), showButtonSeparator && /*#__PURE__*/
|
|
77
|
+
}, ramda.omit(["tooltipProps"], primaryButtonProps))))), showButtonSeparator && /*#__PURE__*/React.createElement(Typography, {
|
|
86
78
|
lineHeight: "normal",
|
|
87
79
|
style: "body2"
|
|
88
|
-
}, buttonSeparatorText), hasSecondaryButtonProps && /*#__PURE__*/
|
|
80
|
+
}, buttonSeparatorText), hasSecondaryButtonProps && /*#__PURE__*/React.createElement(Tooltip, _extends({}, secondaryButtonProps === null || secondaryButtonProps === void 0 ? void 0 : secondaryButtonProps.tooltipProps, {
|
|
89
81
|
disabled: ramda.isNil(secondaryButtonProps === null || secondaryButtonProps === void 0 ? void 0 : secondaryButtonProps.tooltipProps) || !showTooltipWhenButtonDisabled && (secondaryButtonProps === null || secondaryButtonProps === void 0 ? void 0 : secondaryButtonProps.disabled)
|
|
90
|
-
}), /*#__PURE__*/
|
|
82
|
+
}), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Button, _extends({
|
|
91
83
|
"data-cy": "no-data-secondary-button",
|
|
92
84
|
"data-testid": "no-data-secondary-button",
|
|
93
85
|
style: "secondary"
|
package/dist/cjs/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","React","createElement","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","_extends","classnames","Typography","lineHeight","style","Tooltip","tooltipProps","disabled","isNil","Button","omit"],"mappings":"
|
|
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","React","createElement","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","_extends","classnames","Typography","lineHeight","style","Tooltip","tooltipProps","disabled","isNil","Button","omit"],"mappings":"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"}
|
package/dist/cjs/Pagination.js
CHANGED
|
@@ -8,26 +8,20 @@ var reactRouterDom = require('react-router-dom');
|
|
|
8
8
|
require('@babel/runtime/helpers/slicedToArray');
|
|
9
9
|
require('@bigbinary/neeto-hotkeys');
|
|
10
10
|
require('./overlayManager.js');
|
|
11
|
-
var index = require('./index-
|
|
12
|
-
var useQueryParams = require('./useQueryParams-
|
|
11
|
+
var index = require('./index-BG9I04iF.js');
|
|
12
|
+
var useQueryParams = require('./useQueryParams-l5fJJYCR.js');
|
|
13
13
|
var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
|
|
14
14
|
require('@babel/runtime/helpers/classCallCheck');
|
|
15
15
|
require('@babel/runtime/helpers/createClass');
|
|
16
16
|
require('@babel/runtime/helpers/defineProperty');
|
|
17
|
+
require('@bigbinary/neeto-cist');
|
|
18
|
+
require('qs');
|
|
19
|
+
require('./en-DhnUUSB_.js');
|
|
17
20
|
require('dayjs');
|
|
18
21
|
require('dayjs/plugin/localeData');
|
|
19
22
|
require('dayjs/plugin/utc');
|
|
20
23
|
require('dayjs/plugin/weekday');
|
|
21
24
|
require('dayjs/plugin/weekOfYear');
|
|
22
|
-
require('@bigbinary/neeto-cist');
|
|
23
|
-
require('qs');
|
|
24
|
-
require('./en-80d0fbff.js');
|
|
25
|
-
|
|
26
|
-
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
27
|
-
|
|
28
|
-
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
29
|
-
var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
|
|
30
|
-
var _toConsumableArray__default = /*#__PURE__*/_interopDefaultLegacy(_toConsumableArray);
|
|
31
25
|
|
|
32
26
|
var DOTS = "...";
|
|
33
27
|
|
|
@@ -86,20 +80,20 @@ var usePagination = function usePagination(_ref) {
|
|
|
86
80
|
if (!shouldShowLeftDots && shouldShowRightDots) {
|
|
87
81
|
var leftItemCount = 3 + 2 * siblingCount;
|
|
88
82
|
var leftRange = range(1, leftItemCount);
|
|
89
|
-
return [].concat(
|
|
83
|
+
return [].concat(_toConsumableArray(leftRange), [DOTS, totalPageCount]);
|
|
90
84
|
}
|
|
91
85
|
|
|
92
86
|
// Case 3: No right dots to show, but left dots to be shown
|
|
93
87
|
if (shouldShowLeftDots && !shouldShowRightDots) {
|
|
94
88
|
var rightItemCount = 3 + 2 * siblingCount;
|
|
95
89
|
var rightRange = range(totalPageCount - rightItemCount + 1, totalPageCount);
|
|
96
|
-
return [firstPageIndex, DOTS].concat(
|
|
90
|
+
return [firstPageIndex, DOTS].concat(_toConsumableArray(rightRange));
|
|
97
91
|
}
|
|
98
92
|
|
|
99
93
|
// Case 4: Both left and right dots to be shown
|
|
100
94
|
if (shouldShowLeftDots && shouldShowRightDots) {
|
|
101
95
|
var middleRange = range(leftSiblingIndex, rightSiblingIndex);
|
|
102
|
-
return [firstPageIndex, DOTS].concat(
|
|
96
|
+
return [firstPageIndex, DOTS].concat(_toConsumableArray(middleRange), [DOTS, lastPageIndex]);
|
|
103
97
|
}
|
|
104
98
|
return undefined;
|
|
105
99
|
}, [count, pageSize, siblingCount, pageNo]);
|
|
@@ -137,53 +131,53 @@ var Pagination = function Pagination(_ref) {
|
|
|
137
131
|
var lastPage = paginationRange[paginationRange.length - 1];
|
|
138
132
|
var isFirstPage = pageNo === 1;
|
|
139
133
|
var isLastPage = pageNo === lastPage;
|
|
140
|
-
return /*#__PURE__*/
|
|
134
|
+
return /*#__PURE__*/React.createElement("nav", {
|
|
141
135
|
"aria-label": "Pagination Navigation",
|
|
142
136
|
role: "navigation"
|
|
143
|
-
}, /*#__PURE__*/
|
|
144
|
-
className:
|
|
145
|
-
}, /*#__PURE__*/
|
|
137
|
+
}, /*#__PURE__*/React.createElement("ul", {
|
|
138
|
+
className: classnames(["neeto-ui-pagination__wrapper", className])
|
|
139
|
+
}, /*#__PURE__*/React.createElement("li", {
|
|
146
140
|
"data-testid": "left-navigate-button",
|
|
147
141
|
tabIndex: 0,
|
|
148
|
-
className:
|
|
142
|
+
className: classnames({
|
|
149
143
|
"neeto-ui-pagination__item": true,
|
|
150
144
|
"neeto-ui-pagination__item--navigate": true,
|
|
151
145
|
disabled: isFirstPage
|
|
152
146
|
}),
|
|
153
147
|
onClick: onPrevious
|
|
154
|
-
}, /*#__PURE__*/
|
|
148
|
+
}, /*#__PURE__*/React.createElement("a", null, /*#__PURE__*/React.createElement(neetoIcons.Left, {
|
|
155
149
|
size: 20
|
|
156
150
|
}))), paginationRange.map(function (pageNumber, index) {
|
|
157
151
|
var isActive = pageNumber === pageNo;
|
|
158
152
|
if (pageNumber === DOTS) {
|
|
159
|
-
return /*#__PURE__*/
|
|
153
|
+
return /*#__PURE__*/React.createElement("li", {
|
|
160
154
|
className: "neeto-ui-pagination__item neeto-ui-pagination__item--dots",
|
|
161
155
|
"data-testid": "dots",
|
|
162
156
|
key: index
|
|
163
157
|
}, "\u2026");
|
|
164
158
|
}
|
|
165
|
-
return /*#__PURE__*/
|
|
159
|
+
return /*#__PURE__*/React.createElement("li", {
|
|
166
160
|
"aria-current": isActive && true,
|
|
167
161
|
key: index,
|
|
168
162
|
tabIndex: 0,
|
|
169
163
|
"aria-label": isActive ? "Current Page, Page ".concat(pageNumber) : "Goto Page ".concat(pageNumber),
|
|
170
|
-
className:
|
|
164
|
+
className: classnames("neeto-ui-pagination__item", {
|
|
171
165
|
active: isActive
|
|
172
166
|
}),
|
|
173
167
|
onClick: function onClick() {
|
|
174
168
|
return navigate(pageNumber);
|
|
175
169
|
}
|
|
176
|
-
}, /*#__PURE__*/
|
|
177
|
-
}), /*#__PURE__*/
|
|
170
|
+
}, /*#__PURE__*/React.createElement("a", null, pageNumber));
|
|
171
|
+
}), /*#__PURE__*/React.createElement("li", {
|
|
178
172
|
"data-testid": "right-navigate-button",
|
|
179
173
|
tabIndex: 0,
|
|
180
|
-
className:
|
|
174
|
+
className: classnames({
|
|
181
175
|
"neeto-ui-pagination__item": true,
|
|
182
176
|
"neeto-ui-pagination__item--navigate": true,
|
|
183
177
|
disabled: isLastPage
|
|
184
178
|
}),
|
|
185
179
|
onClick: onNext
|
|
186
|
-
}, /*#__PURE__*/
|
|
180
|
+
}, /*#__PURE__*/React.createElement("a", null, /*#__PURE__*/React.createElement(neetoIcons.Right, {
|
|
187
181
|
size: 20
|
|
188
182
|
})))));
|
|
189
183
|
};
|
|
@@ -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","React","createElement","role","classnames","tabIndex","disabled","onClick","Left","size","map","pageNumber","isActive","key","active","Right"],"mappings":"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"}
|
package/dist/cjs/Pane.js
CHANGED
|
@@ -7,7 +7,7 @@ var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProp
|
|
|
7
7
|
var React = require('react');
|
|
8
8
|
var classnames = require('classnames');
|
|
9
9
|
var neetoIcons = require('@bigbinary/neeto-icons');
|
|
10
|
-
var useOverlayManager = require('./useOverlayManager-
|
|
10
|
+
var useOverlayManager = require('./useOverlayManager-D5NTaYt6.js');
|
|
11
11
|
var Button = require('./Button.js');
|
|
12
12
|
require('react-router-dom');
|
|
13
13
|
require('qs');
|
|
@@ -15,75 +15,77 @@ require('@babel/runtime/helpers/esm/extends');
|
|
|
15
15
|
require('@babel/runtime/helpers/esm/objectWithoutPropertiesLoose');
|
|
16
16
|
require('@babel/runtime/helpers/esm/inheritsLoose');
|
|
17
17
|
require('react-dom');
|
|
18
|
-
require('@babel/runtime/helpers/esm/assertThisInitialized');
|
|
19
18
|
require('ramda');
|
|
20
19
|
require('@bigbinary/neeto-hotkeys');
|
|
21
20
|
require('./overlayManager.js');
|
|
22
21
|
require('@babel/runtime/helpers/classCallCheck');
|
|
23
22
|
require('@babel/runtime/helpers/createClass');
|
|
24
|
-
require('./index-
|
|
23
|
+
require('./index-BG9I04iF.js');
|
|
24
|
+
require('@bigbinary/neeto-cist');
|
|
25
|
+
require('./en-DhnUUSB_.js');
|
|
26
|
+
require('@babel/runtime/helpers/toConsumableArray');
|
|
25
27
|
require('dayjs');
|
|
26
28
|
require('dayjs/plugin/localeData');
|
|
27
29
|
require('dayjs/plugin/utc');
|
|
28
30
|
require('dayjs/plugin/weekday');
|
|
29
31
|
require('dayjs/plugin/weekOfYear');
|
|
30
|
-
require('@bigbinary/neeto-cist');
|
|
31
|
-
require('./en-80d0fbff.js');
|
|
32
32
|
require('./Spinner.js');
|
|
33
33
|
require('./Tooltip.js');
|
|
34
34
|
require('@tippyjs/react');
|
|
35
35
|
require('tippy.js');
|
|
36
36
|
|
|
37
|
-
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
38
|
-
|
|
39
|
-
var _extends__default = /*#__PURE__*/_interopDefaultLegacy(_extends);
|
|
40
|
-
var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
|
|
41
|
-
var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
|
|
42
|
-
var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
|
|
43
|
-
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
44
|
-
var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
|
|
45
|
-
|
|
46
37
|
var Body = function Body(_ref) {
|
|
47
38
|
var children = _ref.children,
|
|
48
39
|
className = _ref.className,
|
|
49
40
|
_ref$hasFooter = _ref.hasFooter,
|
|
50
41
|
hasFooter = _ref$hasFooter === void 0 ? true : _ref$hasFooter;
|
|
51
|
-
return /*#__PURE__*/
|
|
42
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
52
43
|
"data-cy": "pane-body",
|
|
53
|
-
className:
|
|
44
|
+
className: classnames("neeto-ui-pane__body neeto-ui-flex neeto-ui-flex-col neeto-ui-items-start neeto-ui-justify-start", _defineProperty({
|
|
54
45
|
"neeto-ui-pane__body--has-footer": hasFooter
|
|
55
46
|
}, className, className))
|
|
56
47
|
}, children);
|
|
57
48
|
};
|
|
58
49
|
|
|
59
|
-
var DEFAULT_PANE_HEADER_HEIGHT = 78;
|
|
60
|
-
|
|
61
50
|
var Footer = function Footer(_ref) {
|
|
62
51
|
var children = _ref.children,
|
|
63
52
|
className = _ref.className;
|
|
64
|
-
return /*#__PURE__*/
|
|
65
|
-
className:
|
|
53
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
54
|
+
className: classnames("neeto-ui-pane__footer neeto-ui-flex neeto-ui-items-center", className)
|
|
66
55
|
}, children);
|
|
67
56
|
};
|
|
68
57
|
|
|
69
58
|
var Header = function Header(_ref) {
|
|
70
59
|
var children = _ref.children,
|
|
71
60
|
className = _ref.className;
|
|
72
|
-
return /*#__PURE__*/
|
|
73
|
-
className:
|
|
61
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
62
|
+
className: classnames("neeto-ui-pane__header", className),
|
|
74
63
|
"data-cy": "pane-header"
|
|
75
64
|
}, children);
|
|
76
65
|
};
|
|
77
66
|
|
|
78
|
-
var
|
|
79
|
-
|
|
80
|
-
|
|
67
|
+
var DEFAULT_PANE_HEADER_HEIGHT = 78;
|
|
68
|
+
|
|
69
|
+
var getHeader = function getHeader(paneWrapperRef) {
|
|
70
|
+
var _paneWrapperRef$curre;
|
|
71
|
+
return (_paneWrapperRef$curre = paneWrapperRef.current) === null || _paneWrapperRef$curre === void 0 ? void 0 : _paneWrapperRef$curre.querySelector(".neeto-ui-pane__header");
|
|
72
|
+
};
|
|
73
|
+
var updateHeaderHeight = function updateHeaderHeight(header, paneWrapperRef) {
|
|
74
|
+
var headerHeight = header === null || header === void 0 ? void 0 : header.offsetHeight;
|
|
75
|
+
if (headerHeight > DEFAULT_PANE_HEADER_HEIGHT) {
|
|
76
|
+
var _paneWrapperRef$curre2;
|
|
77
|
+
(_paneWrapperRef$curre2 = paneWrapperRef.current) === null || _paneWrapperRef$curre2 === void 0 || _paneWrapperRef$curre2.style.setProperty("--neeto-ui-pane-header-height", "".concat(headerHeight, "px"));
|
|
78
|
+
} else {
|
|
79
|
+
var _paneWrapperRef$curre3;
|
|
80
|
+
(_paneWrapperRef$curre3 = paneWrapperRef.current) === null || _paneWrapperRef$curre3 === void 0 || _paneWrapperRef$curre3.style.removeProperty("--neeto-ui-pane-header-height");
|
|
81
|
+
}
|
|
81
82
|
};
|
|
82
83
|
|
|
83
84
|
var _excluded = ["size", "isOpen", "onClose", "children", "className", "closeOnEsc", "closeButton", "backdropClassName", "closeOnOutsideClick", "initialFocusRef", "finalFocusRef"];
|
|
84
85
|
var SIZES = {
|
|
85
86
|
small: "small",
|
|
86
|
-
large: "large"
|
|
87
|
+
large: "large",
|
|
88
|
+
extraLarge: "extraLarge"
|
|
87
89
|
};
|
|
88
90
|
var Pane = function Pane(_ref) {
|
|
89
91
|
var _ref$size = _ref.size,
|
|
@@ -105,16 +107,21 @@ var Pane = function Pane(_ref) {
|
|
|
105
107
|
closeOnOutsideClick = _ref$closeOnOutsideCl === void 0 ? true : _ref$closeOnOutsideCl,
|
|
106
108
|
initialFocusRef = _ref.initialFocusRef,
|
|
107
109
|
finalFocusRef = _ref.finalFocusRef,
|
|
108
|
-
otherProps =
|
|
110
|
+
otherProps = _objectWithoutProperties(_ref, _excluded);
|
|
109
111
|
var _useState = React.useState(false),
|
|
110
|
-
_useState2 =
|
|
112
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
111
113
|
hasTransitionCompleted = _useState2[0],
|
|
112
114
|
setHasTransitionCompleted = _useState2[1];
|
|
113
|
-
var
|
|
115
|
+
var paneWrapperRef = React.useRef(null);
|
|
114
116
|
var backdropRef = React.useRef(null);
|
|
115
|
-
|
|
117
|
+
var observerRef = React.useRef(new ResizeObserver(function (_ref2) {
|
|
118
|
+
var _ref3 = _slicedToArray(_ref2, 1),
|
|
119
|
+
entry = _ref3[0];
|
|
120
|
+
return updateHeaderHeight(entry.target, paneWrapperRef);
|
|
121
|
+
}));
|
|
122
|
+
useOverlayManager.useOverlayManager(paneWrapperRef, isOpen);
|
|
116
123
|
var _useOverlay = useOverlayManager.useOverlay({
|
|
117
|
-
overlayWrapper:
|
|
124
|
+
overlayWrapper: paneWrapperRef,
|
|
118
125
|
backdropRef: backdropRef,
|
|
119
126
|
closeOnOutsideClick: closeOnOutsideClick,
|
|
120
127
|
closeOnEsc: closeOnEsc,
|
|
@@ -125,17 +132,36 @@ var Pane = function Pane(_ref) {
|
|
|
125
132
|
hasTransitionCompleted: hasTransitionCompleted
|
|
126
133
|
}),
|
|
127
134
|
handleOverlayClose = _useOverlay.handleOverlayClose,
|
|
128
|
-
setFocusField = _useOverlay.setFocusField
|
|
135
|
+
setFocusField = _useOverlay.setFocusField,
|
|
136
|
+
isTopOverlay = _useOverlay.isTopOverlay;
|
|
129
137
|
React.useEffect(function () {
|
|
130
|
-
if (!hasTransitionCompleted) return;
|
|
131
|
-
var
|
|
132
|
-
|
|
133
|
-
|
|
138
|
+
if (!hasTransitionCompleted || !paneWrapperRef.current) return undefined;
|
|
139
|
+
var observer = observerRef.current;
|
|
140
|
+
var header = getHeader(paneWrapperRef);
|
|
141
|
+
if (header) {
|
|
142
|
+
observer.observe(header);
|
|
143
|
+
return function () {
|
|
144
|
+
return observer.disconnect();
|
|
145
|
+
};
|
|
134
146
|
}
|
|
135
|
-
|
|
136
|
-
|
|
147
|
+
var mutationObserver = new MutationObserver(function () {
|
|
148
|
+
var header = getHeader(paneWrapperRef);
|
|
149
|
+
if (!header) return;
|
|
150
|
+
observer.observe(header);
|
|
151
|
+
mutationObserver.disconnect();
|
|
152
|
+
});
|
|
153
|
+
mutationObserver.observe(paneWrapperRef.current, {
|
|
154
|
+
childList: true,
|
|
155
|
+
subtree: true
|
|
156
|
+
});
|
|
157
|
+
return function () {
|
|
158
|
+
mutationObserver.disconnect();
|
|
159
|
+
observer.disconnect();
|
|
160
|
+
};
|
|
161
|
+
}, [hasTransitionCompleted, isTopOverlay]);
|
|
162
|
+
return /*#__PURE__*/React.createElement(useOverlayManager.Portal, {
|
|
137
163
|
rootId: "neeto-ui-portal"
|
|
138
|
-
}, /*#__PURE__*/
|
|
164
|
+
}, /*#__PURE__*/React.createElement(useOverlayManager.CSSTransition, {
|
|
139
165
|
unmountOnExit: true,
|
|
140
166
|
appear: isOpen,
|
|
141
167
|
classNames: "neeto-ui-pane",
|
|
@@ -147,20 +173,21 @@ var Pane = function Pane(_ref) {
|
|
|
147
173
|
onExited: function onExited() {
|
|
148
174
|
return setHasTransitionCompleted(false);
|
|
149
175
|
}
|
|
150
|
-
}, /*#__PURE__*/
|
|
176
|
+
}, /*#__PURE__*/React.createElement(useOverlayManager.Backdrop, {
|
|
151
177
|
"data-testid": "backdrop",
|
|
152
178
|
key: "pane-backdrop",
|
|
153
179
|
ref: backdropRef,
|
|
154
|
-
className:
|
|
155
|
-
}, /*#__PURE__*/
|
|
180
|
+
className: classnames("neeto-ui-pane__backdrop neeto-ui-flex neeto-ui-justify-end", backdropClassName)
|
|
181
|
+
}, /*#__PURE__*/React.createElement("div", _extends({
|
|
156
182
|
"data-cy": "pane-wrapper",
|
|
157
183
|
key: "pane-wrapper",
|
|
158
|
-
ref:
|
|
159
|
-
className:
|
|
184
|
+
ref: paneWrapperRef,
|
|
185
|
+
className: classnames("neeto-ui-pane__wrapper", _defineProperty({
|
|
160
186
|
"neeto-ui-pane__wrapper--small": size === SIZES.small,
|
|
161
|
-
"neeto-ui-pane__wrapper--large": size === SIZES.large
|
|
187
|
+
"neeto-ui-pane__wrapper--large": size === SIZES.large,
|
|
188
|
+
"neeto-ui-pane__wrapper--extralarge": size === SIZES.extraLarge
|
|
162
189
|
}, className, className))
|
|
163
|
-
}, otherProps), closeButton && /*#__PURE__*/
|
|
190
|
+
}, otherProps), closeButton && /*#__PURE__*/React.createElement(Button, {
|
|
164
191
|
"aria-label": "Close",
|
|
165
192
|
className: "neeto-ui-pane__close",
|
|
166
193
|
"data-cy": "pane-close-button",
|
|
@@ -169,7 +196,7 @@ var Pane = function Pane(_ref) {
|
|
|
169
196
|
size: "small",
|
|
170
197
|
style: "text",
|
|
171
198
|
onClick: handleOverlayClose
|
|
172
|
-
}), hasTransitionCompleted && /*#__PURE__*/
|
|
199
|
+
}), hasTransitionCompleted && /*#__PURE__*/React.createElement(React.Fragment, null, typeof children === "function" ? children({
|
|
173
200
|
setFocusField: setFocusField
|
|
174
201
|
}) : children)))));
|
|
175
202
|
};
|