@bigbinary/neetoui 6.5.10 → 6.5.11-beta.1
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 +152 -0
- package/dist/Accordion.js.map +1 -0
- package/dist/ActionDropdown.js +75 -0
- package/dist/ActionDropdown.js.map +1 -0
- package/dist/Alert.js +112 -0
- package/dist/Alert.js.map +1 -0
- package/dist/Avatar.js +97 -0
- package/dist/Avatar.js.map +1 -0
- package/dist/Button.js +219 -0
- package/dist/Button.js.map +1 -0
- package/dist/Callout.js +39 -0
- package/dist/Callout.js.map +1 -0
- package/dist/Checkbox.js +65 -0
- package/dist/Checkbox.js.map +1 -0
- package/dist/ColorPicker.js +1408 -0
- package/dist/ColorPicker.js.map +1 -0
- package/dist/DatePicker.js +290 -0
- package/dist/DatePicker.js.map +1 -0
- package/dist/DateTimePicker.js +163 -0
- package/dist/DateTimePicker.js.map +1 -0
- package/dist/Dropdown.js +303 -0
- package/dist/Dropdown.js.map +1 -0
- package/dist/Input.js +158 -0
- package/dist/Input.js.map +1 -0
- package/dist/Kbd.js +24 -0
- package/dist/Kbd.js.map +1 -0
- package/dist/Label.js +46 -0
- package/dist/Label.js.map +1 -0
- package/dist/Modal.js +166 -0
- package/dist/Modal.js.map +1 -0
- package/dist/MultiEmailInput.js +307 -0
- package/dist/MultiEmailInput.js.map +1 -0
- package/dist/NoData.js +81 -0
- package/dist/NoData.js.map +1 -0
- package/dist/Pagination.js +178 -0
- package/dist/Pagination.js.map +1 -0
- package/dist/Pane.js +160 -0
- package/dist/Pane.js.map +1 -0
- package/dist/Popover.js +44 -0
- package/dist/Popover.js.map +1 -0
- package/dist/Radio.js +100 -0
- package/dist/Radio.js.map +1 -0
- package/dist/Select.js +281 -0
- package/dist/Select.js.map +1 -0
- package/dist/Sidebar.js +378 -0
- package/dist/Sidebar.js.map +1 -0
- package/dist/Slider.js +110 -0
- package/dist/Slider.js.map +1 -0
- package/dist/Spinner.js +36 -0
- package/dist/Spinner.js.map +1 -0
- package/dist/Stepper.js +35 -0
- package/dist/Stepper.js.map +1 -0
- package/dist/Switch.js +84 -0
- package/dist/Switch.js.map +1 -0
- package/dist/Tab.js +74 -0
- package/dist/Tab.js.map +1 -0
- package/dist/Table.js +887 -0
- package/dist/Table.js.map +1 -0
- package/dist/Tag.js +89 -0
- package/dist/Tag.js.map +1 -0
- package/dist/Textarea.js +143 -0
- package/dist/Textarea.js.map +1 -0
- package/dist/TimePicker.js +174 -0
- package/dist/TimePicker.js.map +1 -0
- package/dist/TimePickerInput.js +25 -0
- package/dist/TimePickerInput.js.map +1 -0
- package/dist/Toastr.js +393 -0
- package/dist/Toastr.js.map +1 -0
- package/dist/Tooltip.js +8 -0
- package/dist/Tooltip.js.map +1 -0
- package/dist/Tree.js +48 -0
- package/dist/Tree.js.map +1 -0
- package/dist/TreeSelect.js +108 -0
- package/dist/TreeSelect.js.map +1 -0
- package/dist/Typography.js +142 -0
- package/dist/Typography.js.map +1 -0
- package/dist/cjs/Accordion.js +158 -0
- package/dist/cjs/Accordion.js.map +1 -0
- package/dist/cjs/ActionDropdown.js +81 -0
- package/dist/cjs/ActionDropdown.js.map +1 -0
- package/dist/cjs/Alert.js +118 -0
- package/dist/cjs/Alert.js.map +1 -0
- package/dist/cjs/Avatar.js +104 -0
- package/dist/cjs/Avatar.js.map +1 -0
- package/dist/cjs/Button.js +225 -0
- package/dist/cjs/Button.js.map +1 -0
- package/dist/cjs/Callout.js +45 -0
- package/dist/cjs/Callout.js.map +1 -0
- package/dist/cjs/Checkbox.js +71 -0
- package/dist/cjs/Checkbox.js.map +1 -0
- package/dist/cjs/ColorPicker.js +1414 -0
- package/dist/cjs/ColorPicker.js.map +1 -0
- package/dist/cjs/DatePicker.js +298 -0
- package/dist/cjs/DatePicker.js.map +1 -0
- package/dist/cjs/DateTimePicker.js +169 -0
- package/dist/cjs/DateTimePicker.js.map +1 -0
- package/dist/cjs/Dropdown.js +309 -0
- package/dist/cjs/Dropdown.js.map +1 -0
- package/dist/cjs/Input.js +164 -0
- package/dist/cjs/Input.js.map +1 -0
- package/dist/cjs/Kbd.js +30 -0
- package/dist/cjs/Kbd.js.map +1 -0
- package/dist/cjs/Label.js +52 -0
- package/dist/cjs/Label.js.map +1 -0
- package/dist/cjs/Modal.js +172 -0
- package/dist/cjs/Modal.js.map +1 -0
- package/dist/cjs/MultiEmailInput.js +314 -0
- package/dist/cjs/MultiEmailInput.js.map +1 -0
- package/dist/cjs/NoData.js +87 -0
- package/dist/cjs/NoData.js.map +1 -0
- package/dist/cjs/Pagination.js +184 -0
- package/dist/cjs/Pagination.js.map +1 -0
- package/dist/cjs/Pane.js +166 -0
- package/dist/cjs/Pane.js.map +1 -0
- package/dist/cjs/Popover.js +50 -0
- package/dist/cjs/Popover.js.map +1 -0
- package/dist/cjs/Radio.js +106 -0
- package/dist/cjs/Radio.js.map +1 -0
- package/dist/cjs/Select.js +291 -0
- package/dist/cjs/Select.js.map +1 -0
- package/dist/cjs/Sidebar.js +384 -0
- package/dist/cjs/Sidebar.js.map +1 -0
- package/dist/cjs/Slider.js +118 -0
- package/dist/cjs/Slider.js.map +1 -0
- package/dist/cjs/Spinner.js +42 -0
- package/dist/cjs/Spinner.js.map +1 -0
- package/dist/cjs/Stepper.js +41 -0
- package/dist/cjs/Stepper.js.map +1 -0
- package/dist/cjs/Switch.js +90 -0
- package/dist/cjs/Switch.js.map +1 -0
- package/dist/cjs/Tab.js +80 -0
- package/dist/cjs/Tab.js.map +1 -0
- package/dist/cjs/Table.js +896 -0
- package/dist/cjs/Table.js.map +1 -0
- package/dist/cjs/Tag.js +95 -0
- package/dist/cjs/Tag.js.map +1 -0
- package/dist/cjs/Textarea.js +149 -0
- package/dist/cjs/Textarea.js.map +1 -0
- package/dist/cjs/TimePicker.js +182 -0
- package/dist/cjs/TimePicker.js.map +1 -0
- package/dist/cjs/TimePickerInput.js +31 -0
- package/dist/cjs/TimePickerInput.js.map +1 -0
- package/dist/cjs/Toastr.js +417 -0
- package/dist/cjs/Toastr.js.map +1 -0
- package/dist/cjs/Tooltip.js +14 -0
- package/dist/cjs/Tooltip.js.map +1 -0
- package/dist/cjs/Tree.js +56 -0
- package/dist/cjs/Tree.js.map +1 -0
- package/dist/cjs/TreeSelect.js +116 -0
- package/dist/cjs/TreeSelect.js.map +1 -0
- package/dist/cjs/Typography.js +148 -0
- package/dist/cjs/Typography.js.map +1 -0
- package/dist/cjs/createClass-80e17c6a.js +31 -0
- package/dist/cjs/createClass-80e17c6a.js.map +1 -0
- package/dist/cjs/defineProperty-ee86604b.js +21 -0
- package/dist/cjs/defineProperty-ee86604b.js.map +1 -0
- package/dist/cjs/extends-1b35a664.js +19 -0
- package/dist/cjs/extends-1b35a664.js.map +1 -0
- package/dist/cjs/formik/ActionBlock.js +58 -0
- package/dist/cjs/formik/ActionBlock.js.map +1 -0
- package/dist/cjs/formik/BlockNavigation.js +127 -0
- package/dist/cjs/formik/BlockNavigation.js.map +1 -0
- package/dist/cjs/formik/Button.js +44 -0
- package/dist/cjs/formik/Button.js.map +1 -0
- package/dist/cjs/formik/Checkbox.js +61 -0
- package/dist/cjs/formik/Checkbox.js.map +1 -0
- package/dist/cjs/formik/Form.js +197 -0
- package/dist/cjs/formik/Form.js.map +1 -0
- package/dist/cjs/formik/Input.js +59 -0
- package/dist/cjs/formik/Input.js.map +1 -0
- package/dist/cjs/formik/MultiEmailInput.js +58 -0
- package/dist/cjs/formik/MultiEmailInput.js.map +1 -0
- package/dist/cjs/formik/Radio.js +61 -0
- package/dist/cjs/formik/Radio.js.map +1 -0
- package/dist/cjs/formik/Select.js +106 -0
- package/dist/cjs/formik/Select.js.map +1 -0
- package/dist/cjs/formik/Slider.js +64 -0
- package/dist/cjs/formik/Slider.js.map +1 -0
- package/dist/cjs/formik/Switch.js +52 -0
- package/dist/cjs/formik/Switch.js.map +1 -0
- package/dist/cjs/formik/Textarea.js +60 -0
- package/dist/cjs/formik/Textarea.js.map +1 -0
- package/dist/cjs/formik/TreeSelect.js +56 -0
- package/dist/cjs/formik/TreeSelect.js.map +1 -0
- package/dist/cjs/formik/index.js +84 -0
- package/dist/cjs/formik/index.js.map +1 -0
- package/dist/cjs/index-302c3d37.js +58 -0
- package/dist/cjs/index-302c3d37.js.map +1 -0
- package/dist/cjs/index-5d74cfeb.js +375 -0
- package/dist/cjs/index-5d74cfeb.js.map +1 -0
- package/dist/cjs/index-63580e68.js +92 -0
- package/dist/cjs/index-63580e68.js.map +1 -0
- package/dist/cjs/index-6e09c7bc.js +2211 -0
- package/dist/cjs/index-6e09c7bc.js.map +1 -0
- package/dist/cjs/index-773961dd.js +453 -0
- package/dist/cjs/index-773961dd.js.map +1 -0
- package/dist/cjs/index-a8cc581e.js +2383 -0
- package/dist/cjs/index-a8cc581e.js.map +1 -0
- package/dist/cjs/index-b1ac86d6.js +258 -0
- package/dist/cjs/index-b1ac86d6.js.map +1 -0
- package/dist/cjs/index.js +99 -13808
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/layouts.js +19 -363
- package/dist/cjs/layouts.js.map +1 -1
- package/dist/cjs/managers.js +3 -2
- package/dist/cjs/managers.js.map +1 -1
- package/dist/cjs/objectWithoutProperties-2fed2d7d.js +33 -0
- package/dist/cjs/objectWithoutProperties-2fed2d7d.js.map +1 -0
- package/dist/cjs/{overlayManager-a0827ae7.js → overlayManager.js} +5 -2
- package/dist/cjs/overlayManager.js.map +1 -0
- package/dist/cjs/slicedToArray-732a2048.js +63 -0
- package/dist/cjs/slicedToArray-732a2048.js.map +1 -0
- package/dist/cjs/toConsumableArray-418424fc.js +23 -0
- package/dist/cjs/toConsumableArray-418424fc.js.map +1 -0
- package/dist/cjs/{createClass-ca103cfb.js → toPropertyKey-bfa2e465.js} +1 -27
- package/dist/cjs/toPropertyKey-bfa2e465.js.map +1 -0
- package/dist/cjs/useId-4e3deb5c.js +11 -0
- package/dist/cjs/useId-4e3deb5c.js.map +1 -0
- package/dist/cjs/useOverlayManager-359ed795.js +1602 -0
- package/dist/cjs/useOverlayManager-359ed795.js.map +1 -0
- package/dist/cjs/useQueryParams-14f054b3.js +18 -0
- package/dist/cjs/useQueryParams-14f054b3.js.map +1 -0
- package/dist/cjs/useSyncedRef-9c3dcd03.js +19 -0
- package/dist/cjs/useSyncedRef-9c3dcd03.js.map +1 -0
- package/dist/createClass-601a36b2.js +28 -0
- package/dist/createClass-601a36b2.js.map +1 -0
- package/dist/defineProperty-e5245270.js +19 -0
- package/dist/defineProperty-e5245270.js.map +1 -0
- package/dist/extends-093996c9.js +17 -0
- package/dist/extends-093996c9.js.map +1 -0
- package/dist/formik/ActionBlock.js +52 -0
- package/dist/formik/ActionBlock.js.map +1 -0
- package/dist/formik/BlockNavigation.js +121 -0
- package/dist/formik/BlockNavigation.js.map +1 -0
- package/dist/formik/Button.js +38 -0
- package/dist/formik/Button.js.map +1 -0
- package/dist/formik/Checkbox.js +55 -0
- package/dist/formik/Checkbox.js.map +1 -0
- package/dist/formik/Form.js +191 -0
- package/dist/formik/Form.js.map +1 -0
- package/dist/formik/Input.js +53 -0
- package/dist/formik/Input.js.map +1 -0
- package/dist/formik/MultiEmailInput.js +52 -0
- package/dist/formik/MultiEmailInput.js.map +1 -0
- package/dist/formik/Radio.js +55 -0
- package/dist/formik/Radio.js.map +1 -0
- package/dist/formik/Select.js +100 -0
- package/dist/formik/Select.js.map +1 -0
- package/dist/formik/Slider.js +58 -0
- package/dist/formik/Slider.js.map +1 -0
- package/dist/formik/Switch.js +46 -0
- package/dist/formik/Switch.js.map +1 -0
- package/dist/formik/Textarea.js +54 -0
- package/dist/formik/Textarea.js.map +1 -0
- package/dist/formik/TreeSelect.js +50 -0
- package/dist/formik/TreeSelect.js.map +1 -0
- package/dist/formik/index.js +64 -0
- package/dist/formik/index.js.map +1 -0
- package/dist/index-283bc6a6.js +90 -0
- package/dist/index-283bc6a6.js.map +1 -0
- package/dist/index-34956d66.js +372 -0
- package/dist/index-34956d66.js.map +1 -0
- package/dist/index-3659771d.js +56 -0
- package/dist/index-3659771d.js.map +1 -0
- package/dist/index-7fae3611.js +2381 -0
- package/dist/index-7fae3611.js.map +1 -0
- package/dist/index-b3a8dd29.js +249 -0
- package/dist/index-b3a8dd29.js.map +1 -0
- package/dist/index-c442518b.js +445 -0
- package/dist/index-c442518b.js.map +1 -0
- package/dist/index-c8d9113c.js +2193 -0
- package/dist/index-c8d9113c.js.map +1 -0
- package/dist/index.js +79 -13767
- package/dist/index.js.map +1 -1
- package/dist/layouts.js +19 -363
- package/dist/layouts.js.map +1 -1
- package/dist/managers.js +3 -2
- package/dist/managers.js.map +1 -1
- package/dist/objectWithoutProperties-a0edb288.js +31 -0
- package/dist/objectWithoutProperties-a0edb288.js.map +1 -0
- package/dist/{overlayManager-4d5be56b.js → overlayManager.js} +4 -3
- package/dist/overlayManager.js.map +1 -0
- package/dist/slicedToArray-45fa766e.js +57 -0
- package/dist/slicedToArray-45fa766e.js.map +1 -0
- package/dist/toConsumableArray-1186e144.js +20 -0
- package/dist/toConsumableArray-1186e144.js.map +1 -0
- package/dist/toPropertyKey-bdc24cb9.js +28 -0
- package/dist/toPropertyKey-bdc24cb9.js.map +1 -0
- package/dist/useId-c1d20bba.js +9 -0
- package/dist/useId-c1d20bba.js.map +1 -0
- package/dist/useOverlayManager-95a474d5.js +1591 -0
- package/dist/useOverlayManager-95a474d5.js.map +1 -0
- package/dist/useQueryParams-4e7ddcf8.js +16 -0
- package/dist/useQueryParams-4e7ddcf8.js.map +1 -0
- package/dist/useSyncedRef-226a3dbc.js +17 -0
- package/dist/useSyncedRef-226a3dbc.js.map +1 -0
- package/formik.d.ts +26 -51
- package/index.d.ts +75 -834
- package/package.json +26 -4
- package/types/Accordion.d.ts +26 -0
- package/types/ActionDropdown.d.ts +21 -0
- package/types/Alert.d.ts +23 -0
- package/types/Avatar.d.ts +17 -0
- package/types/Button.d.ts +32 -0
- package/types/Callout.d.ts +13 -0
- package/types/Checkbox.d.ts +18 -0
- package/types/ColorPicker.d.ts +21 -0
- package/types/DatePicker.d.ts +30 -0
- package/types/DateTimePicker.d.ts +26 -0
- package/types/Dropdown.d.ts +77 -0
- package/types/Input.d.ts +27 -0
- package/types/Kbd.d.ts +11 -0
- package/types/Label.d.ts +19 -0
- package/types/Modal.d.ts +10 -0
- package/types/MultiEmailInput.d.ts +25 -0
- package/types/NoData.d.ts +14 -0
- package/types/Pagination.d.ts +11 -0
- package/types/Pane.d.ts +11 -0
- package/types/Popover.d.ts +32 -0
- package/types/Popup.d.ts +17 -0
- package/types/Radio.d.ts +24 -0
- package/types/Select.d.ts +27 -0
- package/types/Slider.d.ts +12 -0
- package/types/Spinner.d.ts +9 -0
- package/types/Stepper.d.ts +10 -0
- package/types/Switch.d.ts +20 -0
- package/types/Tab.d.ts +24 -0
- package/types/Table.d.ts +41 -0
- package/types/Tag.d.ts +27 -0
- package/types/Textarea.d.ts +22 -0
- package/types/TimePicker.d.ts +28 -0
- package/types/TimePickerInput.d.ts +22 -0
- package/types/Toastr.d.ts +20 -0
- package/types/Tooltip.d.ts +31 -0
- package/types/Tree.d.ts +62 -0
- package/types/TreeSelect.d.ts +40 -0
- package/types/Typography.d.ts +64 -0
- package/types/formik/ActionBlock.d.ts +11 -0
- package/types/formik/BlockNavigation.d.ts +9 -0
- package/types/formik/Button.d.ts +1 -0
- package/types/formik/Checkbox.d.ts +1 -0
- package/types/formik/Form.d.ts +13 -0
- package/types/formik/Input.d.ts +1 -0
- package/types/formik/MultiEmailInput.d.ts +1 -0
- package/types/formik/Radio.d.ts +1 -0
- package/types/formik/Select.d.ts +1 -0
- package/types/formik/Slider.d.ts +1 -0
- package/types/formik/Switch.d.ts +1 -0
- package/types/formik/Textarea.d.ts +1 -0
- package/types/formik/TreeSelect.d.ts +1 -0
- package/dist/TreeSelect-54c59138.js +0 -22106
- package/dist/TreeSelect-54c59138.js.map +0 -1
- package/dist/Typography-6b2170d4.js +0 -6439
- package/dist/Typography-6b2170d4.js.map +0 -1
- package/dist/cjs/TreeSelect-40898804.js +0 -22161
- package/dist/cjs/TreeSelect-40898804.js.map +0 -1
- package/dist/cjs/Typography-3f90f925.js +0 -6472
- package/dist/cjs/Typography-3f90f925.js.map +0 -1
- package/dist/cjs/createClass-ca103cfb.js.map +0 -1
- package/dist/cjs/formik.js +0 -624
- package/dist/cjs/formik.js.map +0 -1
- package/dist/cjs/index-099304bb.js +0 -104
- package/dist/cjs/index-099304bb.js.map +0 -1
- package/dist/cjs/overlayManager-a0827ae7.js.map +0 -1
- package/dist/createClass-27bd48bc.js +0 -52
- package/dist/createClass-27bd48bc.js.map +0 -1
- package/dist/formik.js +0 -604
- package/dist/formik.js.map +0 -1
- package/dist/index-ed90c85d.js +0 -98
- package/dist/index-ed90c85d.js.map +0 -1
- package/dist/overlayManager-4d5be56b.js.map +0 -1
|
@@ -0,0 +1,307 @@
|
|
|
1
|
+
import { _ as _defineProperty } from './defineProperty-e5245270.js';
|
|
2
|
+
import { _ as _extends } from './extends-093996c9.js';
|
|
3
|
+
import { _ as _iterableToArray, a as _toConsumableArray } from './toConsumableArray-1186e144.js';
|
|
4
|
+
import { a as _arrayWithHoles, b as _unsupportedIterableToArray, c as _nonIterableRest, _ as _slicedToArray } from './slicedToArray-45fa766e.js';
|
|
5
|
+
import { _ as _objectWithoutProperties } from './objectWithoutProperties-a0edb288.js';
|
|
6
|
+
import React__default, { forwardRef, useState } from 'react';
|
|
7
|
+
import { c as classnames } from './index-3659771d.js';
|
|
8
|
+
import { assoc, pluck, mergeLeft, isEmpty } from 'ramda';
|
|
9
|
+
import CreatableSelect from 'react-select/creatable';
|
|
10
|
+
import { h as hyphenize, n as noop } from './index-c8d9113c.js';
|
|
11
|
+
import { Close } from '@bigbinary/neeto-icons';
|
|
12
|
+
import { components } from 'react-select';
|
|
13
|
+
import Tag from './Tag.js';
|
|
14
|
+
import Label from './Label.js';
|
|
15
|
+
import './toPropertyKey-bdc24cb9.js';
|
|
16
|
+
import './createClass-601a36b2.js';
|
|
17
|
+
import '@bigbinary/neeto-cist';
|
|
18
|
+
import 'util';
|
|
19
|
+
import './index-c442518b.js';
|
|
20
|
+
import 'tippy.js';
|
|
21
|
+
import 'react-dom';
|
|
22
|
+
|
|
23
|
+
function _toArray(arr) {
|
|
24
|
+
return _arrayWithHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableRest();
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
var _excluded$1 = ["children"],
|
|
28
|
+
_excluded2 = ["children"];
|
|
29
|
+
function ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
30
|
+
function _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$1(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
31
|
+
var STYLES = {
|
|
32
|
+
border: {
|
|
33
|
+
"default": "1px solid rgb(var(--neeto-ui-gray-400))",
|
|
34
|
+
error: "1px solid rgb(var(--neeto-ui-error-800)) !important"
|
|
35
|
+
},
|
|
36
|
+
color: {
|
|
37
|
+
"default": "rgb(var(--neeto-ui-gray-800))",
|
|
38
|
+
error: "rgb(var(--neeto-ui-error-800)) !important"
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
var CustomControl = function CustomControl(_ref) {
|
|
42
|
+
var children = _ref.children,
|
|
43
|
+
props = _objectWithoutProperties(_ref, _excluded$1);
|
|
44
|
+
var prefix = props.selectProps.prefix;
|
|
45
|
+
return /*#__PURE__*/React__default.createElement(components.Control, props, prefix && /*#__PURE__*/React__default.createElement("div", {
|
|
46
|
+
className: "neeto-ui-email-input__prefix"
|
|
47
|
+
}, prefix), children);
|
|
48
|
+
};
|
|
49
|
+
var CustomDropdownIndicator = function CustomDropdownIndicator(props) {
|
|
50
|
+
var suffix = props.selectProps.suffix;
|
|
51
|
+
return suffix ? /*#__PURE__*/React__default.createElement(components.DropdownIndicator, props, /*#__PURE__*/React__default.createElement("div", {
|
|
52
|
+
className: "neeto-ui-email-input__suffix"
|
|
53
|
+
}, suffix)) : null;
|
|
54
|
+
};
|
|
55
|
+
var MultiValueRemove = function MultiValueRemove(props) {
|
|
56
|
+
return /*#__PURE__*/React__default.createElement(components.MultiValueRemove, _extends({}, props, {
|
|
57
|
+
innerProps: _objectSpread$1(_objectSpread$1({}, props.innerProps), {}, _defineProperty({}, "data-cy", "".concat(hyphenize(props.data.label), "-remove-icon")))
|
|
58
|
+
}), /*#__PURE__*/React__default.createElement(Close, {
|
|
59
|
+
size: 16
|
|
60
|
+
}));
|
|
61
|
+
};
|
|
62
|
+
var CustomValueContainer = function CustomValueContainer(_ref2) {
|
|
63
|
+
var children = _ref2.children,
|
|
64
|
+
props = _objectWithoutProperties(_ref2, _excluded2);
|
|
65
|
+
var getValue = props.getValue,
|
|
66
|
+
_props$selectProps = props.selectProps,
|
|
67
|
+
isFocused = _props$selectProps.isFocused,
|
|
68
|
+
visibleEmailsCount = _props$selectProps.visibleEmailsCount;
|
|
69
|
+
var value = getValue();
|
|
70
|
+
var _children = _toArray(children),
|
|
71
|
+
firstChild = _children[0],
|
|
72
|
+
rest = _children.slice(1);
|
|
73
|
+
var shouldCollapse = !isFocused && value.length > visibleEmailsCount;
|
|
74
|
+
return /*#__PURE__*/React__default.createElement(components.ValueContainer, _extends({}, props, {
|
|
75
|
+
innerProps: _objectSpread$1(_objectSpread$1({}, props.innerProps), {}, _defineProperty({}, "data-cy", "multi-email-input-container"))
|
|
76
|
+
}), shouldCollapse ? firstChild.slice(0, visibleEmailsCount) : firstChild, shouldCollapse && /*#__PURE__*/React__default.createElement(Tag, {
|
|
77
|
+
label: "".concat(value.length - visibleEmailsCount, " more"),
|
|
78
|
+
style: "secondary"
|
|
79
|
+
}), rest);
|
|
80
|
+
};
|
|
81
|
+
var CustomClearIndicator = function CustomClearIndicator(props) {
|
|
82
|
+
return /*#__PURE__*/React__default.createElement(components.ClearIndicator, _extends({}, props, {
|
|
83
|
+
innerProps: _objectSpread$1(_objectSpread$1({}, props.innerProps), {}, _defineProperty({}, "data-cy", "clear-all-button"))
|
|
84
|
+
}), /*#__PURE__*/React__default.createElement(Close, {
|
|
85
|
+
className: "cursor-pointer",
|
|
86
|
+
size: 16
|
|
87
|
+
}));
|
|
88
|
+
};
|
|
89
|
+
var SelectContainer = function SelectContainer(props) {
|
|
90
|
+
return /*#__PURE__*/React__default.createElement(components.SelectContainer, _extends({}, props, {
|
|
91
|
+
innerProps: _objectSpread$1(_objectSpread$1({}, props.innerProps), {}, _defineProperty({}, "data-cy", "multi-email-select-container"))
|
|
92
|
+
}));
|
|
93
|
+
};
|
|
94
|
+
var Input = function Input(props) {
|
|
95
|
+
return /*#__PURE__*/React__default.createElement(components.Input, _extends({}, props, {
|
|
96
|
+
"data-cy": "email-select-input-field"
|
|
97
|
+
}));
|
|
98
|
+
};
|
|
99
|
+
var EMAIL_REGEX = new RegExp("^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,}$", "i");
|
|
100
|
+
var UNSTRICT_EMAIL_REGEX = /(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))/g;
|
|
101
|
+
var EMAIL_SEPARATION_REGEX = /[^\s,]+/g;
|
|
102
|
+
var CUSTOM_STYLES = {
|
|
103
|
+
input: assoc("overflow", "hidden"),
|
|
104
|
+
multiValue: function multiValue(styles, _ref3) {
|
|
105
|
+
var valid = _ref3.data.valid;
|
|
106
|
+
return _objectSpread$1(_objectSpread$1({}, styles), {}, {
|
|
107
|
+
border: valid ? STYLES.border["default"] : STYLES.border.error,
|
|
108
|
+
color: valid ? STYLES.color["default"] : STYLES.color.error
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
};
|
|
112
|
+
var CUSTOM_COMPONENTS = {
|
|
113
|
+
DropdownIndicator: CustomDropdownIndicator,
|
|
114
|
+
Control: CustomControl,
|
|
115
|
+
MultiValueRemove: MultiValueRemove,
|
|
116
|
+
ValueContainer: CustomValueContainer,
|
|
117
|
+
ClearIndicator: CustomClearIndicator,
|
|
118
|
+
SelectContainer: SelectContainer,
|
|
119
|
+
Input: Input
|
|
120
|
+
};
|
|
121
|
+
|
|
122
|
+
var formatEmailInputOptions = function formatEmailInputOptions(label) {
|
|
123
|
+
return {
|
|
124
|
+
label: label,
|
|
125
|
+
value: label,
|
|
126
|
+
valid: EMAIL_REGEX.test(label)
|
|
127
|
+
};
|
|
128
|
+
};
|
|
129
|
+
var pruneDuplicates = function pruneDuplicates(inputValues) {
|
|
130
|
+
var values = pluck("value", inputValues);
|
|
131
|
+
var uniqueValues = _toConsumableArray(new Set(values));
|
|
132
|
+
return uniqueValues.map(function (email) {
|
|
133
|
+
return formatEmailInputOptions(email);
|
|
134
|
+
});
|
|
135
|
+
};
|
|
136
|
+
var renderValidEmails = function renderValidEmails(values) {
|
|
137
|
+
return values.filter(function (email) {
|
|
138
|
+
return email.valid && email;
|
|
139
|
+
});
|
|
140
|
+
};
|
|
141
|
+
var getValidEmailsCount = function getValidEmailsCount(values) {
|
|
142
|
+
return renderValidEmails(values).length;
|
|
143
|
+
};
|
|
144
|
+
var renderDefaultText = function renderDefaultText(count) {
|
|
145
|
+
return count === 1 ? "email" : "emails";
|
|
146
|
+
};
|
|
147
|
+
|
|
148
|
+
var _excluded = ["label", "placeholder", "helpText", "value", "onChange", "error", "onBlur", "filterInvalidEmails", "counter", "disabled", "maxHeight", "required", "labelProps", "visibleEmailsCount", "isCreateable"];
|
|
149
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
150
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
151
|
+
var MultiEmailInput = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
152
|
+
var _ref$label = _ref.label,
|
|
153
|
+
label = _ref$label === void 0 ? "Email(s)" : _ref$label,
|
|
154
|
+
_ref$placeholder = _ref.placeholder,
|
|
155
|
+
placeholder = _ref$placeholder === void 0 ? "" : _ref$placeholder,
|
|
156
|
+
_ref$helpText = _ref.helpText,
|
|
157
|
+
helpText = _ref$helpText === void 0 ? "" : _ref$helpText,
|
|
158
|
+
_ref$value = _ref.value,
|
|
159
|
+
value = _ref$value === void 0 ? [] : _ref$value,
|
|
160
|
+
_ref$onChange = _ref.onChange,
|
|
161
|
+
onChange = _ref$onChange === void 0 ? noop : _ref$onChange,
|
|
162
|
+
_ref$error = _ref.error,
|
|
163
|
+
error = _ref$error === void 0 ? "" : _ref$error,
|
|
164
|
+
_ref$onBlur = _ref.onBlur,
|
|
165
|
+
onBlur = _ref$onBlur === void 0 ? noop : _ref$onBlur,
|
|
166
|
+
filterInvalidEmails = _ref.filterInvalidEmails,
|
|
167
|
+
counter = _ref.counter,
|
|
168
|
+
_ref$disabled = _ref.disabled,
|
|
169
|
+
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
170
|
+
_ref$maxHeight = _ref.maxHeight,
|
|
171
|
+
maxHeight = _ref$maxHeight === void 0 ? 200 : _ref$maxHeight,
|
|
172
|
+
_ref$required = _ref.required,
|
|
173
|
+
required = _ref$required === void 0 ? false : _ref$required,
|
|
174
|
+
labelProps = _ref.labelProps,
|
|
175
|
+
_ref$visibleEmailsCou = _ref.visibleEmailsCount,
|
|
176
|
+
visibleEmailsCount = _ref$visibleEmailsCou === void 0 ? 3 : _ref$visibleEmailsCou,
|
|
177
|
+
_ref$isCreateable = _ref.isCreateable,
|
|
178
|
+
isCreateable = _ref$isCreateable === void 0 ? true : _ref$isCreateable,
|
|
179
|
+
otherProps = _objectWithoutProperties(_ref, _excluded);
|
|
180
|
+
var _useState = useState(""),
|
|
181
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
182
|
+
inputValue = _useState2[0],
|
|
183
|
+
setInputValue = _useState2[1];
|
|
184
|
+
var _useState3 = useState(false),
|
|
185
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
186
|
+
isFocused = _useState4[0],
|
|
187
|
+
setIsFocused = _useState4[1];
|
|
188
|
+
var isCounterVisible = !!counter && (!counter.startsFrom || getValidEmailsCount(value) >= counter.startsFrom);
|
|
189
|
+
var isOptionsPresent = !!otherProps.options;
|
|
190
|
+
var handleFilterEmails = function handleFilterEmails() {
|
|
191
|
+
return onChange(renderValidEmails(value));
|
|
192
|
+
};
|
|
193
|
+
var handleEmailChange = function handleEmailChange() {
|
|
194
|
+
var inputValues = inputValue.match(EMAIL_SEPARATION_REGEX);
|
|
195
|
+
var emailMatches = inputValue.match(UNSTRICT_EMAIL_REGEX) || inputValues || [];
|
|
196
|
+
var emails = emailMatches.map(function (email) {
|
|
197
|
+
return formatEmailInputOptions(email);
|
|
198
|
+
});
|
|
199
|
+
onChange(pruneDuplicates([].concat(_toConsumableArray(value), _toConsumableArray(emails))));
|
|
200
|
+
setInputValue("");
|
|
201
|
+
};
|
|
202
|
+
var handleKeyDown = function handleKeyDown(event) {
|
|
203
|
+
if (!inputValue) return;
|
|
204
|
+
switch (event.key) {
|
|
205
|
+
case "Enter":
|
|
206
|
+
{
|
|
207
|
+
handleEmailChange();
|
|
208
|
+
!isOptionsPresent && event.preventDefault();
|
|
209
|
+
event.stopPropagation();
|
|
210
|
+
return;
|
|
211
|
+
}
|
|
212
|
+
case "Tab":
|
|
213
|
+
case ",":
|
|
214
|
+
case " ":
|
|
215
|
+
{
|
|
216
|
+
handleEmailChange();
|
|
217
|
+
event.preventDefault();
|
|
218
|
+
event.stopPropagation();
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
};
|
|
222
|
+
var onCreateOption = function onCreateOption(input) {
|
|
223
|
+
var _otherProps$onCreateO;
|
|
224
|
+
var email = formatEmailInputOptions(input);
|
|
225
|
+
onChange(pruneDuplicates([].concat(_toConsumableArray(value), [email])));
|
|
226
|
+
otherProps === null || otherProps === void 0 || (_otherProps$onCreateO = otherProps.onCreateOption) === null || _otherProps$onCreateO === void 0 || _otherProps$onCreateO.call(otherProps, input);
|
|
227
|
+
};
|
|
228
|
+
var handleBlur = function handleBlur(event) {
|
|
229
|
+
inputValue ? handleEmailChange() : onBlur(event);
|
|
230
|
+
setIsFocused(false);
|
|
231
|
+
};
|
|
232
|
+
var overrideProps = {};
|
|
233
|
+
if (isOptionsPresent) {
|
|
234
|
+
var isValidNewOption = function isValidNewOption(inputValue, _, selectOptions) {
|
|
235
|
+
if (!isCreateable) return false;
|
|
236
|
+
var isInputEmpty = isEmpty(inputValue.trim());
|
|
237
|
+
var doesInputContainSeparator = inputValue.includes(",") || inputValue.includes(" ");
|
|
238
|
+
var isInputPresentInOptions = selectOptions.find(function (option) {
|
|
239
|
+
return option.value === inputValue.toLowerCase();
|
|
240
|
+
});
|
|
241
|
+
return !(isInputEmpty || doesInputContainSeparator || isInputPresentInOptions);
|
|
242
|
+
};
|
|
243
|
+
overrideProps = {
|
|
244
|
+
onCreateOption: onCreateOption,
|
|
245
|
+
isValidNewOption: isValidNewOption
|
|
246
|
+
};
|
|
247
|
+
}
|
|
248
|
+
var isFilterEmailsLinkVisible = !!filterInvalidEmails && value.length > getValidEmailsCount(value);
|
|
249
|
+
return /*#__PURE__*/React__default.createElement("div", {
|
|
250
|
+
className: "neeto-ui-input__wrapper neeto-ui-email-input__wrapper"
|
|
251
|
+
}, /*#__PURE__*/React__default.createElement("div", {
|
|
252
|
+
className: "neeto-ui-email-input__label-wrapper"
|
|
253
|
+
}, label && /*#__PURE__*/React__default.createElement(Label, _extends({
|
|
254
|
+
required: required,
|
|
255
|
+
className: "neeto-ui-email-input__label",
|
|
256
|
+
"data-cy": "".concat(hyphenize(label), "-input-label")
|
|
257
|
+
}, labelProps), label), isCounterVisible && /*#__PURE__*/React__default.createElement("p", {
|
|
258
|
+
className: "neeto-ui-email-input__counter",
|
|
259
|
+
"data-cy": "".concat(hyphenize(label), "-email-counter")
|
|
260
|
+
}, getValidEmailsCount(value), " ", counter.label ? counter.label : renderDefaultText(getValidEmailsCount(value)))), /*#__PURE__*/React__default.createElement(CreatableSelect, _extends({
|
|
261
|
+
isMulti: true,
|
|
262
|
+
required: true,
|
|
263
|
+
classNamePrefix: "neeto-ui-react-select",
|
|
264
|
+
components: CUSTOM_COMPONENTS,
|
|
265
|
+
isDisabled: disabled,
|
|
266
|
+
className: classnames("neeto-ui-react-select__container neeto-ui-react-select__container--medium neeto-ui-email-input__select", {
|
|
267
|
+
"neeto-ui-react-select__container--error": !!error
|
|
268
|
+
}),
|
|
269
|
+
styles: _objectSpread(_objectSpread({}, CUSTOM_STYLES), {}, {
|
|
270
|
+
control: mergeLeft({
|
|
271
|
+
maxHeight: "".concat(maxHeight, "px"),
|
|
272
|
+
overflowY: "auto"
|
|
273
|
+
})
|
|
274
|
+
}),
|
|
275
|
+
onBlur: handleBlur,
|
|
276
|
+
onFocus: function onFocus() {
|
|
277
|
+
return setIsFocused(true);
|
|
278
|
+
},
|
|
279
|
+
onInputChange: function onInputChange(inputValue) {
|
|
280
|
+
return setInputValue(inputValue);
|
|
281
|
+
},
|
|
282
|
+
onKeyDown: handleKeyDown
|
|
283
|
+
}, _objectSpread(_objectSpread(_objectSpread({
|
|
284
|
+
inputValue: inputValue,
|
|
285
|
+
isFocused: isFocused,
|
|
286
|
+
onChange: onChange,
|
|
287
|
+
placeholder: placeholder,
|
|
288
|
+
ref: ref,
|
|
289
|
+
value: value,
|
|
290
|
+
visibleEmailsCount: visibleEmailsCount
|
|
291
|
+
}, !isOptionsPresent && {
|
|
292
|
+
menuIsOpen: false
|
|
293
|
+
}), otherProps), overrideProps))), !!error && /*#__PURE__*/React__default.createElement("p", {
|
|
294
|
+
className: "neeto-ui-input__error",
|
|
295
|
+
"data-cy": "".concat(hyphenize(label), "-input-error")
|
|
296
|
+
}, error, isFilterEmailsLinkVisible && /*#__PURE__*/React__default.createElement("span", {
|
|
297
|
+
className: "neeto-ui-font-semibold cursor-pointer",
|
|
298
|
+
onClick: handleFilterEmails
|
|
299
|
+
}, "\xA0", filterInvalidEmails.label ? filterInvalidEmails.label : "Click here to remove invalid emails.")), !!helpText && /*#__PURE__*/React__default.createElement("p", {
|
|
300
|
+
className: "neeto-ui-input__help-text",
|
|
301
|
+
"data-cy": "".concat(hyphenize(label), "-input-help")
|
|
302
|
+
}, helpText));
|
|
303
|
+
});
|
|
304
|
+
MultiEmailInput.displayName = "MultiEmailInput";
|
|
305
|
+
|
|
306
|
+
export { MultiEmailInput as default };
|
|
307
|
+
//# sourceMappingURL=MultiEmailInput.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MultiEmailInput.js","sources":["../node_modules/@babel/runtime/helpers/esm/toArray.js","../src/components/MultiEmailInput/constants.jsx","../src/components/MultiEmailInput/utils.js","../src/components/MultiEmailInput/index.jsx"],"sourcesContent":["import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _toArray(arr) {\n return arrayWithHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableRest();\n}","import React from \"react\";\n\nimport { Close } from \"neetoicons\";\nimport { assoc } from \"ramda\";\nimport { components } from \"react-select\";\n\nimport Tag from \"components/Tag\";\nimport { hyphenize } from \"utils\";\n\nconst STYLES = {\n border: {\n default: \"1px solid rgb(var(--neeto-ui-gray-400))\",\n error: \"1px solid rgb(var(--neeto-ui-error-800)) !important\",\n },\n color: {\n default: \"rgb(var(--neeto-ui-gray-800))\",\n error: \"rgb(var(--neeto-ui-error-800)) !important\",\n },\n};\n\nconst CustomControl = ({ children, ...props }) => {\n const { prefix } = props.selectProps;\n\n return (\n <components.Control {...props}>\n {prefix && <div className=\"neeto-ui-email-input__prefix\">{prefix}</div>}\n {children}\n </components.Control>\n );\n};\n\nconst CustomDropdownIndicator = props => {\n const { suffix } = props.selectProps;\n\n return suffix ? (\n <components.DropdownIndicator {...props}>\n <div className=\"neeto-ui-email-input__suffix\">{suffix}</div>\n </components.DropdownIndicator>\n ) : null;\n};\n\nconst MultiValueRemove = props => (\n <components.MultiValueRemove\n {...props}\n innerProps={{\n ...props.innerProps,\n [\"data-cy\"]: `${hyphenize(props.data.label)}-remove-icon`,\n }}\n >\n <Close size={16} />\n </components.MultiValueRemove>\n);\n\nconst CustomValueContainer = ({ children, ...props }) => {\n const {\n getValue,\n selectProps: { isFocused, visibleEmailsCount },\n } = props;\n const value = getValue();\n const [firstChild, ...rest] = children;\n\n const shouldCollapse = !isFocused && value.length > visibleEmailsCount;\n\n return (\n <components.ValueContainer\n {...props}\n innerProps={{\n ...props.innerProps,\n [\"data-cy\"]: \"multi-email-input-container\",\n }}\n >\n {shouldCollapse ? firstChild.slice(0, visibleEmailsCount) : firstChild}\n {shouldCollapse && (\n <Tag\n label={`${value.length - visibleEmailsCount} more`}\n style=\"secondary\"\n />\n )}\n {rest}\n </components.ValueContainer>\n );\n};\n\nconst CustomClearIndicator = props => (\n <components.ClearIndicator\n {...props}\n innerProps={{ ...props.innerProps, [\"data-cy\"]: \"clear-all-button\" }}\n >\n <Close className=\"cursor-pointer\" size={16} />\n </components.ClearIndicator>\n);\n\nconst SelectContainer = props => (\n <components.SelectContainer\n {...props}\n innerProps={{\n ...props.innerProps,\n [\"data-cy\"]: \"multi-email-select-container\",\n }}\n />\n);\n\nconst Input = props => (\n <components.Input {...props} data-cy=\"email-select-input-field\" />\n);\nexport const EMAIL_REGEX = new RegExp(\n \"^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\\\.[A-Z]{2,}$\",\n \"i\"\n);\n\nexport const UNSTRICT_EMAIL_REGEX =\n /(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))/g;\n\nexport const EMAIL_SEPARATION_REGEX = /[^\\s,]+/g;\n\nexport const CUSTOM_STYLES = {\n input: assoc(\"overflow\", \"hidden\"),\n multiValue: (styles, { data: { valid } }) => ({\n ...styles,\n border: valid ? STYLES.border.default : STYLES.border.error,\n color: valid ? STYLES.color.default : STYLES.color.error,\n }),\n};\n\nexport const CUSTOM_COMPONENTS = {\n DropdownIndicator: CustomDropdownIndicator,\n Control: CustomControl,\n MultiValueRemove,\n ValueContainer: CustomValueContainer,\n ClearIndicator: CustomClearIndicator,\n SelectContainer,\n Input,\n};\n","import { pluck } from \"ramda\";\n\nimport { EMAIL_REGEX } from \"./constants\";\n\nexport const formatEmailInputOptions = label => ({\n label,\n value: label,\n valid: EMAIL_REGEX.test(label),\n});\n\nexport const pruneDuplicates = inputValues => {\n const values = pluck(\"value\", inputValues);\n const uniqueValues = [...new Set(values)];\n\n return uniqueValues.map(email => formatEmailInputOptions(email));\n};\n\nexport const renderValidEmails = values =>\n values.filter(email => email.valid && email);\n\nexport const getValidEmailsCount = values => renderValidEmails(values).length;\n\nexport const renderDefaultText = count => (count === 1 ? \"email\" : \"emails\");\n","import React, { useState, forwardRef } from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\nimport { mergeLeft, isEmpty } from \"ramda\";\nimport CreatableSelect from \"react-select/creatable\";\n\nimport { noop, hyphenize } from \"utils\";\n\nimport {\n EMAIL_SEPARATION_REGEX,\n CUSTOM_STYLES,\n UNSTRICT_EMAIL_REGEX,\n CUSTOM_COMPONENTS,\n} from \"./constants\";\nimport {\n formatEmailInputOptions,\n pruneDuplicates,\n renderValidEmails,\n renderDefaultText,\n getValidEmailsCount,\n} from \"./utils\";\n\nimport Label from \"../Label\";\n\nconst MultiEmailInput = forwardRef(\n (\n {\n label = \"Email(s)\",\n placeholder = \"\",\n helpText = \"\",\n value = [],\n onChange = noop,\n error = \"\",\n onBlur = noop,\n filterInvalidEmails,\n counter,\n disabled = false,\n maxHeight = 200,\n required = false,\n labelProps,\n visibleEmailsCount = 3,\n isCreateable = true,\n ...otherProps\n },\n ref\n ) => {\n const [inputValue, setInputValue] = useState(\"\");\n const [isFocused, setIsFocused] = useState(false);\n\n const isCounterVisible =\n !!counter &&\n (!counter.startsFrom || getValidEmailsCount(value) >= counter.startsFrom);\n\n const isOptionsPresent = !!otherProps.options;\n\n const handleFilterEmails = () => onChange(renderValidEmails(value));\n\n const handleEmailChange = () => {\n const inputValues = inputValue.match(EMAIL_SEPARATION_REGEX);\n const emailMatches =\n inputValue.match(UNSTRICT_EMAIL_REGEX) || inputValues || [];\n\n const emails = emailMatches.map(email => formatEmailInputOptions(email));\n onChange(pruneDuplicates([...value, ...emails]));\n setInputValue(\"\");\n };\n\n const handleKeyDown = event => {\n if (!inputValue) return;\n\n switch (event.key) {\n case \"Enter\": {\n handleEmailChange();\n !isOptionsPresent && event.preventDefault();\n event.stopPropagation();\n\n return;\n }\n case \"Tab\":\n case \",\":\n case \" \": {\n handleEmailChange();\n event.preventDefault();\n event.stopPropagation();\n }\n }\n };\n\n const onCreateOption = input => {\n const email = formatEmailInputOptions(input);\n onChange(pruneDuplicates([...value, email]));\n otherProps?.onCreateOption?.(input);\n };\n\n const handleBlur = event => {\n inputValue ? handleEmailChange() : onBlur(event);\n setIsFocused(false);\n };\n\n let overrideProps = {};\n\n if (isOptionsPresent) {\n const isValidNewOption = (inputValue, _, selectOptions) => {\n if (!isCreateable) return false;\n\n const isInputEmpty = isEmpty(inputValue.trim());\n const doesInputContainSeparator =\n inputValue.includes(\",\") || inputValue.includes(\" \");\n\n const isInputPresentInOptions = selectOptions.find(\n option => option.value === inputValue.toLowerCase()\n );\n\n return !(\n isInputEmpty ||\n doesInputContainSeparator ||\n isInputPresentInOptions\n );\n };\n overrideProps = { onCreateOption, isValidNewOption };\n }\n\n const isFilterEmailsLinkVisible =\n !!filterInvalidEmails && value.length > getValidEmailsCount(value);\n\n return (\n <div className=\"neeto-ui-input__wrapper neeto-ui-email-input__wrapper\">\n <div className=\"neeto-ui-email-input__label-wrapper\">\n {label && (\n <Label\n {...{ required }}\n className=\"neeto-ui-email-input__label\"\n data-cy={`${hyphenize(label)}-input-label`}\n {...labelProps}\n >\n {label}\n </Label>\n )}\n {isCounterVisible && (\n <p\n className=\"neeto-ui-email-input__counter\"\n data-cy={`${hyphenize(label)}-email-counter`}\n >\n {getValidEmailsCount(value)}{\" \"}\n {counter.label\n ? counter.label\n : renderDefaultText(getValidEmailsCount(value))}\n </p>\n )}\n </div>\n <CreatableSelect\n isMulti\n required\n classNamePrefix=\"neeto-ui-react-select\"\n components={CUSTOM_COMPONENTS}\n isDisabled={disabled}\n className={classnames(\n \"neeto-ui-react-select__container neeto-ui-react-select__container--medium neeto-ui-email-input__select\",\n { \"neeto-ui-react-select__container--error\": !!error }\n )}\n styles={{\n ...CUSTOM_STYLES,\n control: mergeLeft({\n maxHeight: `${maxHeight}px`,\n overflowY: \"auto\",\n }),\n }}\n onBlur={handleBlur}\n onFocus={() => setIsFocused(true)}\n onInputChange={inputValue => setInputValue(inputValue)}\n onKeyDown={handleKeyDown}\n {...{\n inputValue,\n isFocused,\n onChange,\n placeholder,\n ref,\n value,\n visibleEmailsCount,\n ...(!isOptionsPresent && { menuIsOpen: false }),\n ...otherProps,\n ...overrideProps,\n }}\n />\n {!!error && (\n <p\n className=\"neeto-ui-input__error\"\n data-cy={`${hyphenize(label)}-input-error`}\n >\n {error}\n {isFilterEmailsLinkVisible && (\n <span\n className=\"neeto-ui-font-semibold cursor-pointer\"\n onClick={handleFilterEmails}\n >\n \n {filterInvalidEmails.label\n ? filterInvalidEmails.label\n : \"Click here to remove invalid emails.\"}\n </span>\n )}\n </p>\n )}\n {!!helpText && (\n <p\n className=\"neeto-ui-input__help-text\"\n data-cy={`${hyphenize(label)}-input-help`}\n >\n {helpText}\n </p>\n )}\n </div>\n );\n }\n);\n\nMultiEmailInput.displayName = \"MultiEmailInput\";\n\nMultiEmailInput.propTypes = {\n /**\n * To specify the text to be displayed above the Input field.\n */\n label: PropTypes.string,\n /**\n * To specify the label props to be passed to the Label component.\n */\n labelProps: PropTypes.object,\n /**\n * To specify the text to be displayed inside the Input field.\n */\n placeholder: PropTypes.string,\n /**\n * To specify the helper text message to be displayed below the Input field.\n */\n helpText: PropTypes.string,\n /**\n * To specify the value to be displayed inside the Input field.\n */\n value: PropTypes.array,\n /**\n * To specify the error message to be shown below the Input field.\n */\n error: PropTypes.string,\n /**\n * To specify whether the Input field is disabled or not.\n */\n disabled: PropTypes.bool,\n /**\n * To specify whether the Input field is required or not.\n */\n required: PropTypes.bool,\n /**\n * To specify the message to be shown besides the error message to filter out the invalid emails.\n */\n filterInvalidEmails: PropTypes.shape({ label: PropTypes.string }),\n /**\n * To add an email counter next to the label.\n */\n counter: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.shape({\n label: PropTypes.string,\n startsFrom: PropTypes.number,\n }),\n ]),\n /**\n * To specify the action to be triggered on modifying the Input field.\n */\n onChange: PropTypes.func,\n /**\n * To specify the action to be triggered on changing focus from the Input field.\n */\n onBlur: PropTypes.func,\n /**\n * To specify the maximum height (in pixels) of the container before it becomes scrollable.\n */\n maxHeight: PropTypes.number,\n /**\n * To specify the content to be added at the end of the Input field.\n */\n suffix: PropTypes.node,\n /**\n * To specify the content to be added at the beginning of the Input field.\n */\n prefix: PropTypes.node,\n /**\n * To specify the number of email to be displayed in the input field when not in focus.\n */\n visibleEmailsCount: PropTypes.number,\n /**\n * To specify whether a new email option can be created or not.\n */\n isCreateable: PropTypes.bool,\n};\n\nexport default MultiEmailInput;\n"],"names":["arrayWithHoles","iterableToArray","unsupportedIterableToArray","nonIterableRest","STYLES","border","error","color","CustomControl","_ref","children","props","_objectWithoutProperties","_excluded","prefix","selectProps","React","createElement","components","Control","className","CustomDropdownIndicator","suffix","DropdownIndicator","MultiValueRemove","_extends","innerProps","_objectSpread","_defineProperty","concat","hyphenize","data","label","Close","size","CustomValueContainer","_ref2","_excluded2","getValue","_props$selectProps","isFocused","visibleEmailsCount","value","_children","_toArray","firstChild","rest","slice","shouldCollapse","length","ValueContainer","Tag","style","CustomClearIndicator","ClearIndicator","SelectContainer","Input","EMAIL_REGEX","RegExp","UNSTRICT_EMAIL_REGEX","EMAIL_SEPARATION_REGEX","CUSTOM_STYLES","input","assoc","multiValue","styles","_ref3","valid","CUSTOM_COMPONENTS","formatEmailInputOptions","test","pruneDuplicates","inputValues","values","pluck","uniqueValues","_toConsumableArray","Set","map","email","renderValidEmails","filter","getValidEmailsCount","renderDefaultText","count","MultiEmailInput","forwardRef","ref","_ref$label","_ref$placeholder","placeholder","_ref$helpText","helpText","_ref$value","_ref$onChange","onChange","noop","_ref$error","_ref$onBlur","onBlur","filterInvalidEmails","counter","_ref$disabled","disabled","_ref$maxHeight","maxHeight","_ref$required","required","labelProps","_ref$visibleEmailsCou","_ref$isCreateable","isCreateable","otherProps","_useState","useState","_useState2","_slicedToArray","inputValue","setInputValue","_useState3","_useState4","setIsFocused","isCounterVisible","startsFrom","isOptionsPresent","options","handleFilterEmails","handleEmailChange","match","emailMatches","emails","handleKeyDown","event","key","preventDefault","stopPropagation","onCreateOption","_otherProps$onCreateO","call","handleBlur","overrideProps","isValidNewOption","_","selectOptions","isInputEmpty","isEmpty","trim","doesInputContainSeparator","includes","isInputPresentInOptions","find","option","toLowerCase","isFilterEmailsLinkVisible","Label","CreatableSelect","isMulti","classNamePrefix","isDisabled","classnames","control","mergeLeft","overflowY","onFocus","onInputChange","onKeyDown","menuIsOpen","onClick","displayName"],"mappings":"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"}
|
package/dist/NoData.js
ADDED
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { _ as _extends } from './extends-093996c9.js';
|
|
2
|
+
import { _ as _objectWithoutProperties } from './objectWithoutProperties-a0edb288.js';
|
|
3
|
+
import React__default from 'react';
|
|
4
|
+
import { c as classnames } from './index-3659771d.js';
|
|
5
|
+
import { isEmpty } from 'ramda';
|
|
6
|
+
import Button from './Button.js';
|
|
7
|
+
import Typography from './Typography.js';
|
|
8
|
+
import './defineProperty-e5245270.js';
|
|
9
|
+
import './toPropertyKey-bdc24cb9.js';
|
|
10
|
+
import 'framer-motion';
|
|
11
|
+
import 'react-router-dom';
|
|
12
|
+
import './index-c442518b.js';
|
|
13
|
+
import './slicedToArray-45fa766e.js';
|
|
14
|
+
import 'tippy.js';
|
|
15
|
+
import 'react-dom';
|
|
16
|
+
|
|
17
|
+
var renderImage = function renderImage(image) {
|
|
18
|
+
return typeof image === "string" ? /*#__PURE__*/React__default.createElement("img", {
|
|
19
|
+
"data-cy": "no-data-image",
|
|
20
|
+
src: image
|
|
21
|
+
}) : image;
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
var _excluded = ["image", "title", "description", "helpText", "className", "primaryButtonProps", "secondaryButtonProps", "buttonSeparatorText"];
|
|
25
|
+
var NoData = function NoData(_ref) {
|
|
26
|
+
var _ref$image = _ref.image,
|
|
27
|
+
image = _ref$image === void 0 ? null : _ref$image,
|
|
28
|
+
_ref$title = _ref.title,
|
|
29
|
+
title = _ref$title === void 0 ? "" : _ref$title,
|
|
30
|
+
_ref$description = _ref.description,
|
|
31
|
+
description = _ref$description === void 0 ? "" : _ref$description,
|
|
32
|
+
_ref$helpText = _ref.helpText,
|
|
33
|
+
helpText = _ref$helpText === void 0 ? null : _ref$helpText,
|
|
34
|
+
_ref$className = _ref.className,
|
|
35
|
+
className = _ref$className === void 0 ? "" : _ref$className,
|
|
36
|
+
_ref$primaryButtonPro = _ref.primaryButtonProps,
|
|
37
|
+
primaryButtonProps = _ref$primaryButtonPro === void 0 ? {} : _ref$primaryButtonPro,
|
|
38
|
+
_ref$secondaryButtonP = _ref.secondaryButtonProps,
|
|
39
|
+
secondaryButtonProps = _ref$secondaryButtonP === void 0 ? {} : _ref$secondaryButtonP,
|
|
40
|
+
_ref$buttonSeparatorT = _ref.buttonSeparatorText,
|
|
41
|
+
buttonSeparatorText = _ref$buttonSeparatorT === void 0 ? "" : _ref$buttonSeparatorT,
|
|
42
|
+
otherProps = _objectWithoutProperties(_ref, _excluded);
|
|
43
|
+
var hasPrimaryButtonProps = !isEmpty(primaryButtonProps);
|
|
44
|
+
var hasSecondaryButtonProps = !isEmpty(secondaryButtonProps);
|
|
45
|
+
var hasButtonSeparatorText = !isEmpty(buttonSeparatorText);
|
|
46
|
+
var showButtonSeparator = hasButtonSeparatorText && hasPrimaryButtonProps && hasSecondaryButtonProps;
|
|
47
|
+
return /*#__PURE__*/React__default.createElement("div", _extends({
|
|
48
|
+
className: classnames("neeto-ui-no-data", [className]),
|
|
49
|
+
"data-cy": "no-data-container"
|
|
50
|
+
}, otherProps), image ? /*#__PURE__*/React__default.createElement("div", {
|
|
51
|
+
className: "neeto-ui-no-data__image"
|
|
52
|
+
}, renderImage(image)) : null, title && /*#__PURE__*/React__default.createElement(Typography, {
|
|
53
|
+
className: "neeto-ui-text-center",
|
|
54
|
+
"data-cy": "no-data-title",
|
|
55
|
+
lineHeight: "none",
|
|
56
|
+
style: "h3"
|
|
57
|
+
}, title), description && /*#__PURE__*/React__default.createElement(Typography, {
|
|
58
|
+
className: "neeto-ui-text-center neeto-ui-no-data__description",
|
|
59
|
+
"data-cy": "no-data-description",
|
|
60
|
+
lineHeight: "normal",
|
|
61
|
+
style: "body2"
|
|
62
|
+
}, description), helpText && /*#__PURE__*/React__default.createElement(Typography, {
|
|
63
|
+
className: "neeto-ui-text-center neeto-ui-no-data__help-text",
|
|
64
|
+
"data-cy": "no-data-help-text",
|
|
65
|
+
lineHeight: "normal",
|
|
66
|
+
style: "body2"
|
|
67
|
+
}, helpText), (hasPrimaryButtonProps || hasSecondaryButtonProps) && /*#__PURE__*/React__default.createElement("div", {
|
|
68
|
+
className: "neeto-ui-no-data__action-block"
|
|
69
|
+
}, hasPrimaryButtonProps && /*#__PURE__*/React__default.createElement(Button, _extends({
|
|
70
|
+
"data-cy": "no-data-primary-button"
|
|
71
|
+
}, primaryButtonProps)), showButtonSeparator && /*#__PURE__*/React__default.createElement(Typography, {
|
|
72
|
+
lineHeight: "normal",
|
|
73
|
+
style: "body2"
|
|
74
|
+
}, buttonSeparatorText), hasSecondaryButtonProps && /*#__PURE__*/React__default.createElement(Button, _extends({
|
|
75
|
+
"data-cy": "no-data-secondary-button",
|
|
76
|
+
style: "secondary"
|
|
77
|
+
}, secondaryButtonProps))));
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
export { NoData as default };
|
|
81
|
+
//# sourceMappingURL=NoData.js.map
|
|
@@ -0,0 +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 } from \"ramda\";\n\nimport Button from \"components/Button\";\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 ...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 <Button data-cy=\"no-data-primary-button\" {...primaryButtonProps} />\n )}\n {showButtonSeparator && (\n <Typography lineHeight=\"normal\" style=\"body2\">\n {buttonSeparatorText}\n </Typography>\n )}\n {hasSecondaryButtonProps && (\n <Button\n data-cy=\"no-data-secondary-button\"\n style=\"secondary\"\n {...secondaryButtonProps}\n />\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 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","otherProps","_objectWithoutProperties","_excluded","hasPrimaryButtonProps","isEmpty","hasSecondaryButtonProps","hasButtonSeparatorText","showButtonSeparator","_extends","classnames","Typography","lineHeight","style","Button"],"mappings":"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"}
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
import React__default, { useMemo } from 'react';
|
|
2
|
+
import { c as classnames } from './index-3659771d.js';
|
|
3
|
+
import { Left, Right } from '@bigbinary/neeto-icons';
|
|
4
|
+
import { mergeLeft } from 'ramda';
|
|
5
|
+
import { useHistory } from 'react-router-dom';
|
|
6
|
+
import './index-7fae3611.js';
|
|
7
|
+
import './overlayManager.js';
|
|
8
|
+
import { b as buildUrl } from './index-c8d9113c.js';
|
|
9
|
+
import { u as useQueryParams } from './useQueryParams-4e7ddcf8.js';
|
|
10
|
+
import { a as _toConsumableArray } from './toConsumableArray-1186e144.js';
|
|
11
|
+
import './createClass-601a36b2.js';
|
|
12
|
+
import './toPropertyKey-bdc24cb9.js';
|
|
13
|
+
import './slicedToArray-45fa766e.js';
|
|
14
|
+
import '@bigbinary/neeto-cist';
|
|
15
|
+
import 'util';
|
|
16
|
+
import './defineProperty-e5245270.js';
|
|
17
|
+
|
|
18
|
+
var DOTS = "...";
|
|
19
|
+
|
|
20
|
+
var usePaginationQueryParams = function usePaginationQueryParams() {
|
|
21
|
+
var queryParams = useQueryParams();
|
|
22
|
+
var history = useHistory();
|
|
23
|
+
var updatePageInQueryParam = function updatePageInQueryParam(page) {
|
|
24
|
+
var params = {
|
|
25
|
+
page: page
|
|
26
|
+
};
|
|
27
|
+
var pathname = window.location.pathname;
|
|
28
|
+
history.push(buildUrl(pathname, mergeLeft(params, queryParams)));
|
|
29
|
+
};
|
|
30
|
+
return {
|
|
31
|
+
updatePageInQueryParam: updatePageInQueryParam
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
var range = function range(start, end) {
|
|
36
|
+
var length = end - start + 1;
|
|
37
|
+
return Array.from({
|
|
38
|
+
length: length
|
|
39
|
+
}, function (_, index) {
|
|
40
|
+
return index + start;
|
|
41
|
+
});
|
|
42
|
+
};
|
|
43
|
+
var usePagination = function usePagination(_ref) {
|
|
44
|
+
var count = _ref.count,
|
|
45
|
+
pageSize = _ref.pageSize,
|
|
46
|
+
_ref$siblingCount = _ref.siblingCount,
|
|
47
|
+
siblingCount = _ref$siblingCount === void 0 ? 1 : _ref$siblingCount,
|
|
48
|
+
pageNo = _ref.pageNo;
|
|
49
|
+
var paginationRange = useMemo(function () {
|
|
50
|
+
var totalPageCount = Math.ceil(count / pageSize);
|
|
51
|
+
|
|
52
|
+
// Pages count is determined as siblingCount + firstPage + lastPage + pageNo + 2*DOTS
|
|
53
|
+
var totalPageNumbers = siblingCount + 5;
|
|
54
|
+
|
|
55
|
+
// If the number of pages is less than the page numbers we want to show in our
|
|
56
|
+
// paginationComponent, we return the range [1..totalPageCount]
|
|
57
|
+
if (totalPageNumbers >= totalPageCount) {
|
|
58
|
+
return range(1, totalPageCount);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
// Calculate left and right sibling index and make sure they are within range 1 and totalPageCount
|
|
62
|
+
var leftSiblingIndex = Math.max(pageNo - siblingCount, 1);
|
|
63
|
+
var rightSiblingIndex = Math.min(pageNo + siblingCount, totalPageCount);
|
|
64
|
+
|
|
65
|
+
// 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
|
|
66
|
+
var shouldShowLeftDots = leftSiblingIndex > 2;
|
|
67
|
+
var shouldShowRightDots = rightSiblingIndex < totalPageCount - 2;
|
|
68
|
+
var firstPageIndex = 1;
|
|
69
|
+
var lastPageIndex = totalPageCount;
|
|
70
|
+
|
|
71
|
+
// Case 2: No left dots to show, but rights dots to be shown
|
|
72
|
+
if (!shouldShowLeftDots && shouldShowRightDots) {
|
|
73
|
+
var leftItemCount = 3 + 2 * siblingCount;
|
|
74
|
+
var leftRange = range(1, leftItemCount);
|
|
75
|
+
return [].concat(_toConsumableArray(leftRange), [DOTS, totalPageCount]);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
// Case 3: No right dots to show, but left dots to be shown
|
|
79
|
+
if (shouldShowLeftDots && !shouldShowRightDots) {
|
|
80
|
+
var rightItemCount = 3 + 2 * siblingCount;
|
|
81
|
+
var rightRange = range(totalPageCount - rightItemCount + 1, totalPageCount);
|
|
82
|
+
return [firstPageIndex, DOTS].concat(_toConsumableArray(rightRange));
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
// Case 4: Both left and right dots to be shown
|
|
86
|
+
if (shouldShowLeftDots && shouldShowRightDots) {
|
|
87
|
+
var middleRange = range(leftSiblingIndex, rightSiblingIndex);
|
|
88
|
+
return [firstPageIndex, DOTS].concat(_toConsumableArray(middleRange), [DOTS, lastPageIndex]);
|
|
89
|
+
}
|
|
90
|
+
return undefined;
|
|
91
|
+
}, [count, pageSize, siblingCount, pageNo]);
|
|
92
|
+
return paginationRange;
|
|
93
|
+
};
|
|
94
|
+
|
|
95
|
+
var Pagination = function Pagination(_ref) {
|
|
96
|
+
var _ref$count = _ref.count,
|
|
97
|
+
count = _ref$count === void 0 ? 0 : _ref$count,
|
|
98
|
+
pageNo = _ref.pageNo,
|
|
99
|
+
navigate = _ref.navigate,
|
|
100
|
+
pageSize = _ref.pageSize,
|
|
101
|
+
_ref$siblingCount = _ref.siblingCount,
|
|
102
|
+
siblingCount = _ref$siblingCount === void 0 ? 1 : _ref$siblingCount,
|
|
103
|
+
_ref$className = _ref.className,
|
|
104
|
+
className = _ref$className === void 0 ? "" : _ref$className;
|
|
105
|
+
var paginationRange = usePagination({
|
|
106
|
+
pageNo: pageNo,
|
|
107
|
+
count: count,
|
|
108
|
+
siblingCount: siblingCount,
|
|
109
|
+
pageSize: pageSize
|
|
110
|
+
});
|
|
111
|
+
var _usePaginationQueryPa = usePaginationQueryParams(),
|
|
112
|
+
updatePageInQueryParam = _usePaginationQueryPa.updatePageInQueryParam;
|
|
113
|
+
if (!navigate) navigate = updatePageInQueryParam;
|
|
114
|
+
if (pageNo === 0 || paginationRange.length < 2) {
|
|
115
|
+
return null;
|
|
116
|
+
}
|
|
117
|
+
var onNext = function onNext() {
|
|
118
|
+
if (!isLastPage) navigate(pageNo + 1);
|
|
119
|
+
};
|
|
120
|
+
var onPrevious = function onPrevious() {
|
|
121
|
+
if (!isFirstPage) navigate(pageNo - 1);
|
|
122
|
+
};
|
|
123
|
+
var lastPage = paginationRange[paginationRange.length - 1];
|
|
124
|
+
var isFirstPage = pageNo === 1;
|
|
125
|
+
var isLastPage = pageNo === lastPage;
|
|
126
|
+
return /*#__PURE__*/React__default.createElement("nav", {
|
|
127
|
+
"aria-label": "Pagination Navigation",
|
|
128
|
+
role: "navigation"
|
|
129
|
+
}, /*#__PURE__*/React__default.createElement("ul", {
|
|
130
|
+
className: classnames(["neeto-ui-pagination__wrapper", className])
|
|
131
|
+
}, /*#__PURE__*/React__default.createElement("li", {
|
|
132
|
+
"data-testid": "left-navigate-button",
|
|
133
|
+
tabIndex: 0,
|
|
134
|
+
className: classnames({
|
|
135
|
+
"neeto-ui-pagination__item": true,
|
|
136
|
+
"neeto-ui-pagination__item--navigate": true,
|
|
137
|
+
disabled: isFirstPage
|
|
138
|
+
}),
|
|
139
|
+
onClick: onPrevious
|
|
140
|
+
}, /*#__PURE__*/React__default.createElement("a", null, /*#__PURE__*/React__default.createElement(Left, {
|
|
141
|
+
size: 20
|
|
142
|
+
}))), paginationRange.map(function (pageNumber, index) {
|
|
143
|
+
var isActive = pageNumber === pageNo;
|
|
144
|
+
if (pageNumber === DOTS) {
|
|
145
|
+
return /*#__PURE__*/React__default.createElement("li", {
|
|
146
|
+
className: "neeto-ui-pagination__item neeto-ui-pagination__item--dots",
|
|
147
|
+
"data-testid": "dots",
|
|
148
|
+
key: index
|
|
149
|
+
}, "\u2026");
|
|
150
|
+
}
|
|
151
|
+
return /*#__PURE__*/React__default.createElement("li", {
|
|
152
|
+
"aria-current": isActive && true,
|
|
153
|
+
key: index,
|
|
154
|
+
tabIndex: 0,
|
|
155
|
+
"aria-label": isActive ? "Current Page, Page ".concat(pageNumber) : "Goto Page ".concat(pageNumber),
|
|
156
|
+
className: classnames("neeto-ui-pagination__item", {
|
|
157
|
+
active: isActive
|
|
158
|
+
}),
|
|
159
|
+
onClick: function onClick() {
|
|
160
|
+
return navigate(pageNumber);
|
|
161
|
+
}
|
|
162
|
+
}, /*#__PURE__*/React__default.createElement("a", null, pageNumber));
|
|
163
|
+
}), /*#__PURE__*/React__default.createElement("li", {
|
|
164
|
+
"data-testid": "right-navigate-button",
|
|
165
|
+
tabIndex: 0,
|
|
166
|
+
className: classnames({
|
|
167
|
+
"neeto-ui-pagination__item": true,
|
|
168
|
+
"neeto-ui-pagination__item--navigate": true,
|
|
169
|
+
disabled: isLastPage
|
|
170
|
+
}),
|
|
171
|
+
onClick: onNext
|
|
172
|
+
}, /*#__PURE__*/React__default.createElement("a", null, /*#__PURE__*/React__default.createElement(Right, {
|
|
173
|
+
size: 20
|
|
174
|
+
})))));
|
|
175
|
+
};
|
|
176
|
+
|
|
177
|
+
export { Pagination as default };
|
|
178
|
+
//# sourceMappingURL=Pagination.js.map
|