@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,163 @@
|
|
|
1
|
+
import { _ as _extends } from './extends-093996c9.js';
|
|
2
|
+
import { _ as _defineProperty } from './defineProperty-e5245270.js';
|
|
3
|
+
import { _ as _slicedToArray } from './slicedToArray-45fa766e.js';
|
|
4
|
+
import React__default, { useState, useEffect } from 'react';
|
|
5
|
+
import { c as classnames } from './index-3659771d.js';
|
|
6
|
+
import { d as dayjs, h as hyphenize, n as noop } from './index-c8d9113c.js';
|
|
7
|
+
import { c as customParseFormat, T as TimePickerInput } from './index-b3a8dd29.js';
|
|
8
|
+
import { isPresent, isNotPresent } from '@bigbinary/neeto-cist';
|
|
9
|
+
import DatePicker from './DatePicker.js';
|
|
10
|
+
import Label from './Label.js';
|
|
11
|
+
import { u as useId } from './useId-c1d20bba.js';
|
|
12
|
+
import 'react-router-dom';
|
|
13
|
+
import './index-7fae3611.js';
|
|
14
|
+
import './overlayManager.js';
|
|
15
|
+
import './toPropertyKey-bdc24cb9.js';
|
|
16
|
+
import './createClass-601a36b2.js';
|
|
17
|
+
import 'util';
|
|
18
|
+
import 'ramda';
|
|
19
|
+
import './objectWithoutProperties-a0edb288.js';
|
|
20
|
+
import '@wojtekmaj/react-timerange-picker';
|
|
21
|
+
import 'react-time-picker';
|
|
22
|
+
import '@bigbinary/neeto-icons';
|
|
23
|
+
import 'antd/lib/date-picker';
|
|
24
|
+
import './useSyncedRef-226a3dbc.js';
|
|
25
|
+
import 'antd/lib/config-provider';
|
|
26
|
+
import './index-c442518b.js';
|
|
27
|
+
import 'tippy.js';
|
|
28
|
+
import 'react-dom';
|
|
29
|
+
|
|
30
|
+
var DATE_FORMAT = "YYYY-MM-DD";
|
|
31
|
+
var TIME_FORMAT = "HH:mm";
|
|
32
|
+
var getDateTime = function getDateTime(date, time) {
|
|
33
|
+
if (isPresent(date) && isPresent(time)) {
|
|
34
|
+
return dayjs("".concat(date.format(DATE_FORMAT), " ").concat(time.format(TIME_FORMAT)));
|
|
35
|
+
}
|
|
36
|
+
return null;
|
|
37
|
+
};
|
|
38
|
+
var getAllowedTime = function getAllowedTime(date, time, minDateTime, maxDateTime) {
|
|
39
|
+
var newTime = getDateTime(date, time || dayjs());
|
|
40
|
+
if (isPresent(minDateTime) && date !== null && date !== void 0 && date.isSame(minDateTime, "day") && newTime !== null && newTime !== void 0 && newTime.isBefore(minDateTime)) {
|
|
41
|
+
return minDateTime;
|
|
42
|
+
}
|
|
43
|
+
if (isPresent(maxDateTime) && date !== null && date !== void 0 && date.isSame(maxDateTime, "day") && newTime !== null && newTime !== void 0 && newTime.isAfter(maxDateTime)) {
|
|
44
|
+
return maxDateTime;
|
|
45
|
+
}
|
|
46
|
+
return newTime;
|
|
47
|
+
};
|
|
48
|
+
var getTime = function getTime(date) {
|
|
49
|
+
return date === null || date === void 0 ? void 0 : date.format(TIME_FORMAT);
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
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; }
|
|
53
|
+
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; }
|
|
54
|
+
dayjs.extend(customParseFormat);
|
|
55
|
+
var DateTimePicker = function DateTimePicker(_ref) {
|
|
56
|
+
var _ref$className = _ref.className,
|
|
57
|
+
className = _ref$className === void 0 ? "" : _ref$className,
|
|
58
|
+
_ref$label = _ref.label,
|
|
59
|
+
label = _ref$label === void 0 ? "" : _ref$label,
|
|
60
|
+
size = _ref.size,
|
|
61
|
+
dropdownClassName = _ref.dropdownClassName,
|
|
62
|
+
popupClassName = _ref.popupClassName,
|
|
63
|
+
dateFormat = _ref.dateFormat,
|
|
64
|
+
_ref$onChange = _ref.onChange,
|
|
65
|
+
onChange = _ref$onChange === void 0 ? noop : _ref$onChange,
|
|
66
|
+
_ref$nakedInput = _ref.nakedInput,
|
|
67
|
+
nakedInput = _ref$nakedInput === void 0 ? false : _ref$nakedInput,
|
|
68
|
+
_ref$error = _ref.error,
|
|
69
|
+
error = _ref$error === void 0 ? "" : _ref$error,
|
|
70
|
+
defaultValue = _ref.defaultValue,
|
|
71
|
+
value = _ref.value,
|
|
72
|
+
labelProps = _ref.labelProps,
|
|
73
|
+
_ref$required = _ref.required,
|
|
74
|
+
required = _ref$required === void 0 ? false : _ref$required,
|
|
75
|
+
id = _ref.id,
|
|
76
|
+
datePickerProps = _ref.datePickerProps,
|
|
77
|
+
timePickerProps = _ref.timePickerProps,
|
|
78
|
+
minDateTime = _ref.minDateTime,
|
|
79
|
+
maxDateTime = _ref.maxDateTime,
|
|
80
|
+
_ref$onTimeInputBlur = _ref.onTimeInputBlur,
|
|
81
|
+
onTimeInputBlur = _ref$onTimeInputBlur === void 0 ? noop : _ref$onTimeInputBlur,
|
|
82
|
+
_ref$onBlur = _ref.onBlur,
|
|
83
|
+
onBlur = _ref$onBlur === void 0 ? noop : _ref$onBlur;
|
|
84
|
+
var _useState = useState(),
|
|
85
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
86
|
+
date = _useState2[0],
|
|
87
|
+
setDate = _useState2[1];
|
|
88
|
+
var _useState3 = useState(),
|
|
89
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
90
|
+
time = _useState4[0],
|
|
91
|
+
setTime = _useState4[1];
|
|
92
|
+
var _useState5 = useState(),
|
|
93
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
94
|
+
changedField = _useState6[0],
|
|
95
|
+
setChangedField = _useState6[1];
|
|
96
|
+
var timeRef = React__default.useRef(null);
|
|
97
|
+
var defaultId = useId(id);
|
|
98
|
+
var errorId = "error_".concat(defaultId);
|
|
99
|
+
useEffect(function () {
|
|
100
|
+
var inputValue = value || defaultValue;
|
|
101
|
+
if (isPresent(inputValue) && dayjs(inputValue).isValid()) {
|
|
102
|
+
var dateTime = dayjs.isDayjs(inputValue) ? inputValue : dayjs(inputValue);
|
|
103
|
+
setDate(dateTime);
|
|
104
|
+
setTime(dateTime);
|
|
105
|
+
}
|
|
106
|
+
}, [value, defaultValue]);
|
|
107
|
+
useEffect(function () {
|
|
108
|
+
if (isNotPresent(changedField)) return;
|
|
109
|
+
onChange(getDateTime(date, time), changedField);
|
|
110
|
+
setChangedField(); // reset to avoid unnecessary trigger on rerender
|
|
111
|
+
}, [date, time, changedField]);
|
|
112
|
+
var handleDateChange = function handleDateChange(newDate) {
|
|
113
|
+
var _timeRef$current;
|
|
114
|
+
(_timeRef$current = timeRef.current) === null || _timeRef$current === void 0 || (_timeRef$current = _timeRef$current.querySelector(".react-time-picker__inputGroup__hour")) === null || _timeRef$current === void 0 || _timeRef$current.focus();
|
|
115
|
+
setDate(newDate);
|
|
116
|
+
setTime(getAllowedTime(newDate, time, minDateTime, maxDateTime));
|
|
117
|
+
setChangedField("date");
|
|
118
|
+
};
|
|
119
|
+
var handleTimeChange = function handleTimeChange(newTime) {
|
|
120
|
+
setTime(newTime.isValid() ? newTime : null);
|
|
121
|
+
if (newTime.isValid() && !date) setDate(newTime);
|
|
122
|
+
setChangedField("time");
|
|
123
|
+
};
|
|
124
|
+
var handleTimeBlur = function handleTimeBlur() {
|
|
125
|
+
var dateTime = getDateTime(date, time);
|
|
126
|
+
onTimeInputBlur(dateTime);
|
|
127
|
+
onBlur(dateTime);
|
|
128
|
+
};
|
|
129
|
+
return /*#__PURE__*/React__default.createElement("div", {
|
|
130
|
+
className: "neeto-ui-input__wrapper"
|
|
131
|
+
}, label && /*#__PURE__*/React__default.createElement(Label, _objectSpread({
|
|
132
|
+
required: required
|
|
133
|
+
}, labelProps), label), /*#__PURE__*/React__default.createElement("div", {
|
|
134
|
+
className: classnames("neeto-ui-date-time-input", className)
|
|
135
|
+
}, /*#__PURE__*/React__default.createElement(DatePicker, _extends({
|
|
136
|
+
dateFormat: dateFormat,
|
|
137
|
+
dropdownClassName: dropdownClassName,
|
|
138
|
+
nakedInput: nakedInput,
|
|
139
|
+
popupClassName: popupClassName,
|
|
140
|
+
size: size,
|
|
141
|
+
error: !!error,
|
|
142
|
+
maxDate: maxDateTime,
|
|
143
|
+
minDate: minDateTime,
|
|
144
|
+
picker: "date",
|
|
145
|
+
showTime: false,
|
|
146
|
+
type: "date",
|
|
147
|
+
value: date,
|
|
148
|
+
onChange: handleDateChange
|
|
149
|
+
}, datePickerProps)), /*#__PURE__*/React__default.createElement(TimePickerInput, _extends(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({
|
|
150
|
+
error: error,
|
|
151
|
+
nakedInput: nakedInput,
|
|
152
|
+
size: size
|
|
153
|
+
}, "error", !!error), "maxTime", (date === null || date === void 0 ? void 0 : date.isSame(maxDateTime, "day")) && getTime(maxDateTime)), "minTime", (date === null || date === void 0 ? void 0 : date.isSame(minDateTime, "day")) && getTime(minDateTime)), "ref", timeRef), "value", time), "onBlur", handleTimeBlur), "onChange", handleTimeChange), timePickerProps))), !!error && /*#__PURE__*/React__default.createElement("p", {
|
|
154
|
+
className: "neeto-ui-input__error",
|
|
155
|
+
"data-cy": "".concat(hyphenize(label), "-input-error"),
|
|
156
|
+
id: errorId
|
|
157
|
+
}, error));
|
|
158
|
+
};
|
|
159
|
+
DateTimePicker.displayName = "DateTimePicker";
|
|
160
|
+
var index = /*#__PURE__*/React__default.memo(DateTimePicker);
|
|
161
|
+
|
|
162
|
+
export { index as default };
|
|
163
|
+
//# sourceMappingURL=DateTimePicker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DateTimePicker.js","sources":["../src/components/DateTimePicker/utils.js","../src/components/DateTimePicker/index.jsx"],"sourcesContent":["import dayjs from \"dayjs\";\nimport { isPresent } from \"neetocist\";\n\nconst DATE_FORMAT = \"YYYY-MM-DD\";\nconst TIME_FORMAT = \"HH:mm\";\n\nexport const getDateTime = (date, time) => {\n if (isPresent(date) && isPresent(time)) {\n return dayjs(`${date.format(DATE_FORMAT)} ${time.format(TIME_FORMAT)}`);\n }\n\n return null;\n};\n\nexport const getAllowedTime = (date, time, minDateTime, maxDateTime) => {\n const newTime = getDateTime(date, time || dayjs());\n if (\n isPresent(minDateTime) &&\n date?.isSame(minDateTime, \"day\") &&\n newTime?.isBefore(minDateTime)\n ) {\n return minDateTime;\n }\n\n if (\n isPresent(maxDateTime) &&\n date?.isSame(maxDateTime, \"day\") &&\n newTime?.isAfter(maxDateTime)\n ) {\n return maxDateTime;\n }\n\n return newTime;\n};\n\nexport const getTime = date => date?.format(TIME_FORMAT);\n","import React, { useState, useEffect } from \"react\";\n\nimport classnames from \"classnames\";\nimport dayjs from \"dayjs\";\nimport customParseFormat from \"dayjs/plugin/customParseFormat\";\nimport { isPresent, isNotPresent } from \"neetocist\";\nimport PropTypes from \"prop-types\";\n\nimport DatePicker from \"components/DatePicker\";\nimport Label from \"components/Label\";\nimport TimePickerInput from \"components/TimePickerInput\";\nimport { useId } from \"hooks\";\nimport { hyphenize, noop } from \"utils\";\n\nimport { getDateTime, getAllowedTime, getTime } from \"./utils\";\n\nconst INPUT_SIZES = { small: \"small\", medium: \"medium\", large: \"large\" };\ndayjs.extend(customParseFormat);\n\nconst DateTimePicker = ({\n className = \"\",\n label = \"\",\n size,\n dropdownClassName,\n popupClassName,\n dateFormat,\n onChange = noop,\n nakedInput = false,\n error = \"\",\n defaultValue,\n value,\n labelProps,\n required = false,\n id,\n datePickerProps,\n timePickerProps,\n minDateTime,\n maxDateTime,\n onTimeInputBlur = noop,\n onBlur = noop,\n}) => {\n const [date, setDate] = useState();\n const [time, setTime] = useState();\n const [changedField, setChangedField] = useState();\n const timeRef = React.useRef(null);\n const defaultId = useId(id);\n const errorId = `error_${defaultId}`;\n\n useEffect(() => {\n const inputValue = value || defaultValue;\n if (isPresent(inputValue) && dayjs(inputValue).isValid()) {\n const dateTime = dayjs.isDayjs(inputValue)\n ? inputValue\n : dayjs(inputValue);\n setDate(dateTime);\n setTime(dateTime);\n }\n }, [value, defaultValue]);\n\n useEffect(() => {\n if (isNotPresent(changedField)) return;\n onChange(getDateTime(date, time), changedField);\n setChangedField(); // reset to avoid unnecessary trigger on rerender\n }, [date, time, changedField]);\n\n const handleDateChange = newDate => {\n timeRef.current\n ?.querySelector(\".react-time-picker__inputGroup__hour\")\n ?.focus();\n\n setDate(newDate);\n setTime(getAllowedTime(newDate, time, minDateTime, maxDateTime));\n setChangedField(\"date\");\n };\n\n const handleTimeChange = newTime => {\n setTime(newTime.isValid() ? newTime : null);\n if (newTime.isValid() && !date) setDate(newTime);\n setChangedField(\"time\");\n };\n\n const handleTimeBlur = () => {\n const dateTime = getDateTime(date, time);\n onTimeInputBlur(dateTime);\n onBlur(dateTime);\n };\n\n return (\n <div className=\"neeto-ui-input__wrapper\">\n {label && <Label {...{ required, ...labelProps }}>{label}</Label>}\n <div className={classnames(\"neeto-ui-date-time-input\", className)}>\n <DatePicker\n {...{\n dateFormat,\n dropdownClassName,\n nakedInput,\n popupClassName,\n size,\n }}\n error={!!error}\n maxDate={maxDateTime}\n minDate={minDateTime}\n picker=\"date\"\n showTime={false}\n type=\"date\"\n value={date}\n onChange={handleDateChange}\n {...datePickerProps}\n />\n <TimePickerInput\n {...{ error, nakedInput, size }}\n error={!!error}\n maxTime={date?.isSame(maxDateTime, \"day\") && getTime(maxDateTime)}\n minTime={date?.isSame(minDateTime, \"day\") && getTime(minDateTime)}\n ref={timeRef}\n value={time}\n onBlur={handleTimeBlur}\n onChange={handleTimeChange}\n {...timePickerProps}\n />\n </div>\n {!!error && (\n <p\n className=\"neeto-ui-input__error\"\n data-cy={`${hyphenize(label)}-input-error`}\n id={errorId}\n >\n {error}\n </p>\n )}\n </div>\n );\n};\n\nDateTimePicker.displayName = \"DateTimePicker\";\n\nDateTimePicker.propTypes = {\n /**\n * To set the text to be displayed above the DateTimePicker.\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 * The callback function that will be triggered when value changes.\n */\n onChange: PropTypes.func,\n /**\n * To specify the error message to be shown in the DateTimePicker.\n */\n error: PropTypes.string,\n /**\n * To specify whether the Date Time Input is required or not.\n */\n required: PropTypes.bool,\n /**\n * To provide external classnames to DateTimePicker component.\n */\n className: PropTypes.string,\n /**\n * To set the text to be displayed above the DateTimePicker.\n */\n size: PropTypes.oneOf(Object.values(INPUT_SIZES)),\n /**\n * To set the DateTimePicker as naked Input field.\n */\n nakedInput: PropTypes.bool,\n /**\n * To specify custom classnames to be applied to the DatePicker dropdown.\n */\n dropdownClassName: PropTypes.string,\n /**\n * To specify the date format.\n */\n dateFormat: PropTypes.string,\n /**\n * To specify the values to be displayed inside the DatePicker.\n */\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n /**\n * To specify the default values to be displayed inside the DatePicker.\n */\n defaultValue: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n /**\n * @deprecated The callback function that will be triggered when time picker loses focus (onBlur event).\n */\n onTimeInputBlur: PropTypes.func,\n /**\n * The callback function that will be triggered when time picker loses focus (onBlur event).\n */\n onBlur: PropTypes.func,\n /**\n * To specify minimum allowed date time\n */\n minDateTime: PropTypes.object,\n /**\n * To specify maximum allowed date time\n */\n maxDateTime: PropTypes.object,\n};\n\nexport default React.memo(DateTimePicker);\n"],"names":["DATE_FORMAT","TIME_FORMAT","getDateTime","date","time","isPresent","dayjs","concat","format","getAllowedTime","minDateTime","maxDateTime","newTime","isSame","isBefore","isAfter","getTime","extend","customParseFormat","DateTimePicker","_ref","_ref$className","className","_ref$label","label","size","dropdownClassName","popupClassName","dateFormat","_ref$onChange","onChange","noop","_ref$nakedInput","nakedInput","_ref$error","error","defaultValue","value","labelProps","_ref$required","required","id","datePickerProps","timePickerProps","_ref$onTimeInputBlur","onTimeInputBlur","_ref$onBlur","onBlur","_useState","useState","_useState2","_slicedToArray","setDate","_useState3","_useState4","setTime","_useState5","_useState6","changedField","setChangedField","timeRef","React","useRef","defaultId","useId","errorId","useEffect","inputValue","isValid","dateTime","isDayjs","isNotPresent","handleDateChange","newDate","_timeRef$current","current","querySelector","focus","handleTimeChange","handleTimeBlur","createElement","Label","_objectSpread","classnames","DatePicker","_extends","maxDate","minDate","picker","showTime","type","TimePickerInput","_defineProperty","hyphenize","displayName","memo"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,IAAMA,WAAW,GAAG,YAAY,CAAA;AAChC,IAAMC,WAAW,GAAG,OAAO,CAAA;AAEpB,IAAMC,WAAW,GAAG,SAAdA,WAAWA,CAAIC,IAAI,EAAEC,IAAI,EAAK;EACzC,IAAIC,SAAS,CAACF,IAAI,CAAC,IAAIE,SAAS,CAACD,IAAI,CAAC,EAAE;AACtC,IAAA,OAAOE,KAAK,CAAAC,EAAAA,CAAAA,MAAA,CAAIJ,IAAI,CAACK,MAAM,CAACR,WAAW,CAAC,EAAAO,GAAAA,CAAAA,CAAAA,MAAA,CAAIH,IAAI,CAACI,MAAM,CAACP,WAAW,CAAC,CAAG,CAAA,CAAA;AACzE,GAAA;AAEA,EAAA,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAEM,IAAMQ,cAAc,GAAG,SAAjBA,cAAcA,CAAIN,IAAI,EAAEC,IAAI,EAAEM,WAAW,EAAEC,WAAW,EAAK;EACtE,IAAMC,OAAO,GAAGV,WAAW,CAACC,IAAI,EAAEC,IAAI,IAAIE,KAAK,EAAE,CAAC,CAAA;AAClD,EAAA,IACED,SAAS,CAACK,WAAW,CAAC,IACtBP,IAAI,KAAJA,IAAAA,IAAAA,IAAI,KAAJA,KAAAA,CAAAA,IAAAA,IAAI,CAAEU,MAAM,CAACH,WAAW,EAAE,KAAK,CAAC,IAChCE,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA,KAAA,CAAA,IAAPA,OAAO,CAAEE,QAAQ,CAACJ,WAAW,CAAC,EAC9B;AACA,IAAA,OAAOA,WAAW,CAAA;AACpB,GAAA;AAEA,EAAA,IACEL,SAAS,CAACM,WAAW,CAAC,IACtBR,IAAI,KAAJA,IAAAA,IAAAA,IAAI,KAAJA,KAAAA,CAAAA,IAAAA,IAAI,CAAEU,MAAM,CAACF,WAAW,EAAE,KAAK,CAAC,IAChCC,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA,KAAA,CAAA,IAAPA,OAAO,CAAEG,OAAO,CAACJ,WAAW,CAAC,EAC7B;AACA,IAAA,OAAOA,WAAW,CAAA;AACpB,GAAA;AAEA,EAAA,OAAOC,OAAO,CAAA;AAChB,CAAC,CAAA;AAEM,IAAMI,OAAO,GAAG,SAAVA,OAAOA,CAAGb,IAAI,EAAA;EAAA,OAAIA,IAAI,aAAJA,IAAI,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAJA,IAAI,CAAEK,MAAM,CAACP,WAAW,CAAC,CAAA;AAAA,CAAA;;;;AClBxDK,KAAK,CAACW,MAAM,CAACC,iBAAiB,CAAC,CAAA;AAE/B,IAAMC,cAAc,GAAG,SAAjBA,cAAcA,CAAAC,IAAA,EAqBd;AAAA,EAAA,IAAAC,cAAA,GAAAD,IAAA,CApBJE,SAAS;AAATA,IAAAA,SAAS,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,cAAA;IAAAE,UAAA,GAAAH,IAAA,CACdI,KAAK;AAALA,IAAAA,KAAK,GAAAD,UAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,UAAA;IACVE,IAAI,GAAAL,IAAA,CAAJK,IAAI;IACJC,iBAAiB,GAAAN,IAAA,CAAjBM,iBAAiB;IACjBC,cAAc,GAAAP,IAAA,CAAdO,cAAc;IACdC,UAAU,GAAAR,IAAA,CAAVQ,UAAU;IAAAC,aAAA,GAAAT,IAAA,CACVU,QAAQ;AAARA,IAAAA,QAAQ,GAAAD,aAAA,KAAGE,KAAAA,CAAAA,GAAAA,IAAI,GAAAF,aAAA;IAAAG,eAAA,GAAAZ,IAAA,CACfa,UAAU;AAAVA,IAAAA,UAAU,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,eAAA;IAAAE,UAAA,GAAAd,IAAA,CAClBe,KAAK;AAALA,IAAAA,KAAK,GAAAD,UAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,UAAA;IACVE,YAAY,GAAAhB,IAAA,CAAZgB,YAAY;IACZC,KAAK,GAAAjB,IAAA,CAALiB,KAAK;IACLC,UAAU,GAAAlB,IAAA,CAAVkB,UAAU;IAAAC,aAAA,GAAAnB,IAAA,CACVoB,QAAQ;AAARA,IAAAA,QAAQ,GAAAD,aAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,aAAA;IAChBE,EAAE,GAAArB,IAAA,CAAFqB,EAAE;IACFC,eAAe,GAAAtB,IAAA,CAAfsB,eAAe;IACfC,eAAe,GAAAvB,IAAA,CAAfuB,eAAe;IACfjC,WAAW,GAAAU,IAAA,CAAXV,WAAW;IACXC,WAAW,GAAAS,IAAA,CAAXT,WAAW;IAAAiC,oBAAA,GAAAxB,IAAA,CACXyB,eAAe;AAAfA,IAAAA,eAAe,GAAAD,oBAAA,KAAGb,KAAAA,CAAAA,GAAAA,IAAI,GAAAa,oBAAA;IAAAE,WAAA,GAAA1B,IAAA,CACtB2B,MAAM;AAANA,IAAAA,MAAM,GAAAD,WAAA,KAAGf,KAAAA,CAAAA,GAAAA,IAAI,GAAAe,WAAA,CAAA;EAEb,IAAAE,SAAA,GAAwBC,QAAQ,EAAE;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAA3B7C,IAAAA,IAAI,GAAA+C,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,OAAO,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;EACpB,IAAAG,UAAA,GAAwBJ,QAAQ,EAAE;IAAAK,UAAA,GAAAH,cAAA,CAAAE,UAAA,EAAA,CAAA,CAAA;AAA3BjD,IAAAA,IAAI,GAAAkD,UAAA,CAAA,CAAA,CAAA;AAAEC,IAAAA,OAAO,GAAAD,UAAA,CAAA,CAAA,CAAA,CAAA;EACpB,IAAAE,UAAA,GAAwCP,QAAQ,EAAE;IAAAQ,UAAA,GAAAN,cAAA,CAAAK,UAAA,EAAA,CAAA,CAAA;AAA3CE,IAAAA,YAAY,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,eAAe,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AACpC,EAAA,IAAMG,OAAO,GAAGC,cAAK,CAACC,MAAM,CAAC,IAAI,CAAC,CAAA;AAClC,EAAA,IAAMC,SAAS,GAAGC,KAAK,CAACvB,EAAE,CAAC,CAAA;AAC3B,EAAA,IAAMwB,OAAO,GAAA,QAAA,CAAA1D,MAAA,CAAYwD,SAAS,CAAE,CAAA;AAEpCG,EAAAA,SAAS,CAAC,YAAM;AACd,IAAA,IAAMC,UAAU,GAAG9B,KAAK,IAAID,YAAY,CAAA;AACxC,IAAA,IAAI/B,SAAS,CAAC8D,UAAU,CAAC,IAAI7D,KAAK,CAAC6D,UAAU,CAAC,CAACC,OAAO,EAAE,EAAE;AACxD,MAAA,IAAMC,QAAQ,GAAG/D,KAAK,CAACgE,OAAO,CAACH,UAAU,CAAC,GACtCA,UAAU,GACV7D,KAAK,CAAC6D,UAAU,CAAC,CAAA;MACrBf,OAAO,CAACiB,QAAQ,CAAC,CAAA;MACjBd,OAAO,CAACc,QAAQ,CAAC,CAAA;AACnB,KAAA;AACF,GAAC,EAAE,CAAChC,KAAK,EAAED,YAAY,CAAC,CAAC,CAAA;AAEzB8B,EAAAA,SAAS,CAAC,YAAM;AACd,IAAA,IAAIK,YAAY,CAACb,YAAY,CAAC,EAAE,OAAA;IAChC5B,QAAQ,CAAC5B,WAAW,CAACC,IAAI,EAAEC,IAAI,CAAC,EAAEsD,YAAY,CAAC,CAAA;IAC/CC,eAAe,EAAE,CAAC;GACnB,EAAE,CAACxD,IAAI,EAAEC,IAAI,EAAEsD,YAAY,CAAC,CAAC,CAAA;AAE9B,EAAA,IAAMc,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAGC,OAAO,EAAI;AAAA,IAAA,IAAAC,gBAAA,CAAA;IAClC,CAAAA,gBAAA,GAAAd,OAAO,CAACe,OAAO,MAAAD,IAAAA,IAAAA,gBAAA,KAAAA,KAAAA,CAAAA,IAAAA,CAAAA,gBAAA,GAAfA,gBAAA,CACIE,aAAa,CAAC,sCAAsC,CAAC,MAAA,IAAA,IAAAF,gBAAA,KADzDA,KAAAA,CAAAA,IAAAA,gBAAA,CAEIG,KAAK,EAAE,CAAA;IAEXzB,OAAO,CAACqB,OAAO,CAAC,CAAA;IAChBlB,OAAO,CAAC9C,cAAc,CAACgE,OAAO,EAAErE,IAAI,EAAEM,WAAW,EAAEC,WAAW,CAAC,CAAC,CAAA;IAChEgD,eAAe,CAAC,MAAM,CAAC,CAAA;GACxB,CAAA;AAED,EAAA,IAAMmB,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAGlE,OAAO,EAAI;IAClC2C,OAAO,CAAC3C,OAAO,CAACwD,OAAO,EAAE,GAAGxD,OAAO,GAAG,IAAI,CAAC,CAAA;IAC3C,IAAIA,OAAO,CAACwD,OAAO,EAAE,IAAI,CAACjE,IAAI,EAAEiD,OAAO,CAACxC,OAAO,CAAC,CAAA;IAChD+C,eAAe,CAAC,MAAM,CAAC,CAAA;GACxB,CAAA;AAED,EAAA,IAAMoB,cAAc,GAAG,SAAjBA,cAAcA,GAAS;AAC3B,IAAA,IAAMV,QAAQ,GAAGnE,WAAW,CAACC,IAAI,EAAEC,IAAI,CAAC,CAAA;IACxCyC,eAAe,CAACwB,QAAQ,CAAC,CAAA;IACzBtB,MAAM,CAACsB,QAAQ,CAAC,CAAA;GACjB,CAAA;EAED,oBACER,cAAA,CAAAmB,aAAA,CAAA,KAAA,EAAA;AAAK1D,IAAAA,SAAS,EAAC,yBAAA;GACZE,EAAAA,KAAK,iBAAIqC,cAAA,CAAAmB,aAAA,CAACC,KAAK,EAAAC,aAAA,CAAA;AAAO1C,IAAAA,QAAQ,EAARA,QAAAA;AAAQ,GAAA,EAAKF,UAAU,CAAKd,EAAAA,KAAK,CAAS,eACjEqC,cAAA,CAAAmB,aAAA,CAAA,KAAA,EAAA;AAAK1D,IAAAA,SAAS,EAAE6D,UAAU,CAAC,0BAA0B,EAAE7D,SAAS,CAAA;AAAE,GAAA,eAChEuC,cAAA,CAAAmB,aAAA,CAACI,UAAU,EAAAC,QAAA,CAAA;AAEPzD,IAAAA,UAAU,EAAVA,UAAU;AACVF,IAAAA,iBAAiB,EAAjBA,iBAAiB;AACjBO,IAAAA,UAAU,EAAVA,UAAU;AACVN,IAAAA,cAAc,EAAdA,cAAc;AACdF,IAAAA,IAAI,EAAJA,IAAI;IAENU,KAAK,EAAE,CAAC,CAACA,KAAM;AACfmD,IAAAA,OAAO,EAAE3E,WAAY;AACrB4E,IAAAA,OAAO,EAAE7E,WAAY;AACrB8E,IAAAA,MAAM,EAAC,MAAM;AACbC,IAAAA,QAAQ,EAAE,KAAM;AAChBC,IAAAA,IAAI,EAAC,MAAM;AACXrD,IAAAA,KAAK,EAAElC,IAAK;AACZ2B,IAAAA,QAAQ,EAAE0C,gBAAAA;GACN9B,EAAAA,eAAe,EACnB,eACFmB,cAAA,CAAAmB,aAAA,CAACW,eAAe,EAAAN,QAAA,CAAAO,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAA;AACRzD,IAAAA,KAAK,EAALA,KAAK;AAAEF,IAAAA,UAAU,EAAVA,UAAU;AAAER,IAAAA,IAAI,EAAJA,IAAAA;AAAI,GAAA,EAAA,OAAA,EACtB,CAAC,CAACU,KAAK,CAAA,EAAA,SAAA,EACL,CAAAhC,IAAI,KAAJA,IAAAA,IAAAA,IAAI,KAAJA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,IAAI,CAAEU,MAAM,CAACF,WAAW,EAAE,KAAK,CAAC,KAAIK,OAAO,CAACL,WAAW,CAAC,CACxD,EAAA,SAAA,EAAA,CAAAR,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAJA,IAAI,CAAEU,MAAM,CAACH,WAAW,EAAE,KAAK,CAAC,KAAIM,OAAO,CAACN,WAAW,CAAC,CAAA,EAAA,KAAA,EAC5DkD,OAAO,CAAA,EAAA,OAAA,EACLxD,IAAI,CAAA,EAAA,QAAA,EACH2E,cAAc,CAAA,EAAA,UAAA,EACZD,gBAAgB,CAAA,EACtBnC,eAAe,CAAA,CACnB,CACE,EACL,CAAC,CAACR,KAAK,iBACN0B,cAAA,CAAAmB,aAAA,CAAA,GAAA,EAAA;AACE1D,IAAAA,SAAS,EAAC,uBAAuB;AACjC,IAAA,SAAA,EAAA,EAAA,CAAAf,MAAA,CAAYsF,SAAS,CAACrE,KAAK,CAAC,EAAe,cAAA,CAAA;AAC3CiB,IAAAA,EAAE,EAAEwB,OAAAA;GAEH9B,EAAAA,KAAK,CAET,CACG,CAAA;AAEV,CAAC,CAAA;AAEDhB,cAAc,CAAC2E,WAAW,GAAG,gBAAgB,CAAA;AAqE7C,YAAA,aAAejC,cAAK,CAACkC,IAAI,CAAC5E,cAAc,CAAC;;;;"}
|
package/dist/Dropdown.js
ADDED
|
@@ -0,0 +1,303 @@
|
|
|
1
|
+
import { _ as _extends } from './extends-093996c9.js';
|
|
2
|
+
import { _ as _defineProperty } from './defineProperty-e5245270.js';
|
|
3
|
+
import { _ as _slicedToArray } from './slicedToArray-45fa766e.js';
|
|
4
|
+
import { _ as _objectWithoutProperties } from './objectWithoutProperties-a0edb288.js';
|
|
5
|
+
import React__default, { forwardRef, useState } from 'react';
|
|
6
|
+
import { T as Tooltip, i as index } from './index-c442518b.js';
|
|
7
|
+
import { c as classnames } from './index-3659771d.js';
|
|
8
|
+
import { Down } from '@bigbinary/neeto-icons';
|
|
9
|
+
import { isNil } from 'ramda';
|
|
10
|
+
import Button from './Button.js';
|
|
11
|
+
import { h as hyphenize, n as noop } from './index-c8d9113c.js';
|
|
12
|
+
import { isPresent } from '@bigbinary/neeto-cist';
|
|
13
|
+
import { Link } from 'react-router-dom';
|
|
14
|
+
import './toPropertyKey-bdc24cb9.js';
|
|
15
|
+
import 'tippy.js';
|
|
16
|
+
import 'react-dom';
|
|
17
|
+
import 'framer-motion';
|
|
18
|
+
import './createClass-601a36b2.js';
|
|
19
|
+
import 'util';
|
|
20
|
+
|
|
21
|
+
var Divider = function Divider(props) {
|
|
22
|
+
return /*#__PURE__*/React__default.createElement("li", _extends({
|
|
23
|
+
className: "neeto-ui-dropdown__popup-divider"
|
|
24
|
+
}, props));
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
var _excluded$3 = ["children", "className"];
|
|
28
|
+
var Menu = function Menu(_ref) {
|
|
29
|
+
var children = _ref.children,
|
|
30
|
+
className = _ref.className,
|
|
31
|
+
otherProps = _objectWithoutProperties(_ref, _excluded$3);
|
|
32
|
+
return /*#__PURE__*/React__default.createElement("ul", _extends({
|
|
33
|
+
className: classnames("neeto-ui-dropdown__popup-menu", className)
|
|
34
|
+
}, otherProps), children);
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
var _excluded$2 = ["children", "className", "tooltipProps"];
|
|
38
|
+
var MenuItem = function MenuItem(_ref) {
|
|
39
|
+
var children = _ref.children,
|
|
40
|
+
className = _ref.className,
|
|
41
|
+
tooltipProps = _ref.tooltipProps,
|
|
42
|
+
otherProps = _objectWithoutProperties(_ref, _excluded$2);
|
|
43
|
+
var renderMenuItem = function renderMenuItem() {
|
|
44
|
+
return /*#__PURE__*/React__default.createElement("li", _extends({
|
|
45
|
+
className: classnames("neeto-ui-dropdown__popup-menu-item", className)
|
|
46
|
+
}, otherProps), children);
|
|
47
|
+
};
|
|
48
|
+
if (isPresent(tooltipProps)) {
|
|
49
|
+
return /*#__PURE__*/React__default.createElement(Tooltip, tooltipProps, renderMenuItem());
|
|
50
|
+
}
|
|
51
|
+
return renderMenuItem();
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
var _excluded$1 = ["children", "className", "isActive", "isDisabled", "style", "prefix", "suffix", "type", "to", "href", "tooltipProps"];
|
|
55
|
+
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; }
|
|
56
|
+
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; }
|
|
57
|
+
var ITEM_BTN_STYLES = {
|
|
58
|
+
"default": "default",
|
|
59
|
+
danger: "danger"
|
|
60
|
+
};
|
|
61
|
+
var BUTTON_TYPES = {
|
|
62
|
+
button: "button",
|
|
63
|
+
reset: "reset",
|
|
64
|
+
submit: "submit"
|
|
65
|
+
};
|
|
66
|
+
var MenuItemButton = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
67
|
+
var children = _ref.children,
|
|
68
|
+
className = _ref.className,
|
|
69
|
+
isActive = _ref.isActive,
|
|
70
|
+
isDisabled = _ref.isDisabled,
|
|
71
|
+
_ref$style = _ref.style,
|
|
72
|
+
style = _ref$style === void 0 ? ITEM_BTN_STYLES["default"] : _ref$style,
|
|
73
|
+
prefix = _ref.prefix,
|
|
74
|
+
suffix = _ref.suffix,
|
|
75
|
+
_ref$type = _ref.type,
|
|
76
|
+
type = _ref$type === void 0 ? BUTTON_TYPES.button : _ref$type,
|
|
77
|
+
_ref$to = _ref.to,
|
|
78
|
+
to = _ref$to === void 0 ? "" : _ref$to,
|
|
79
|
+
_ref$href = _ref.href,
|
|
80
|
+
href = _ref$href === void 0 ? "" : _ref$href,
|
|
81
|
+
tooltipProps = _ref.tooltipProps,
|
|
82
|
+
otherProps = _objectWithoutProperties(_ref, _excluded$1);
|
|
83
|
+
var Parent, elementSpecificProps;
|
|
84
|
+
if (to) {
|
|
85
|
+
Parent = Link;
|
|
86
|
+
elementSpecificProps = {
|
|
87
|
+
to: to
|
|
88
|
+
};
|
|
89
|
+
} else if (href) {
|
|
90
|
+
Parent = "a";
|
|
91
|
+
elementSpecificProps = {
|
|
92
|
+
href: href
|
|
93
|
+
};
|
|
94
|
+
} else {
|
|
95
|
+
Parent = "button";
|
|
96
|
+
elementSpecificProps = {
|
|
97
|
+
type: type
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
return /*#__PURE__*/React__default.createElement(MenuItem, {
|
|
101
|
+
tooltipProps: tooltipProps
|
|
102
|
+
}, /*#__PURE__*/React__default.createElement(Parent, _extends({
|
|
103
|
+
disabled: isDisabled,
|
|
104
|
+
className: classnames("neeto-ui-dropdown__popup-menu-item-btn", className, {
|
|
105
|
+
"neeto-ui-dropdown__popup-menu-item-btn--active": isActive,
|
|
106
|
+
"neeto-ui-dropdown__popup-menu-item-btn--disabled": isDisabled,
|
|
107
|
+
"neeto-ui-dropdown__popup-menu-item-btn--style-danger": style === ITEM_BTN_STYLES.danger
|
|
108
|
+
})
|
|
109
|
+
}, _objectSpread$1(_objectSpread$1({
|
|
110
|
+
ref: ref
|
|
111
|
+
}, otherProps), elementSpecificProps)), prefix && /*#__PURE__*/React__default.createElement("div", {
|
|
112
|
+
className: "neeto-ui-dropdown__popup-menu-item-btn__prefix"
|
|
113
|
+
}, prefix), children, suffix && /*#__PURE__*/React__default.createElement("div", {
|
|
114
|
+
className: "neeto-ui-dropdown__popup-menu-item-btn__suffix"
|
|
115
|
+
}, suffix)));
|
|
116
|
+
});
|
|
117
|
+
MenuItemButton.displayName = "MenuItemButton";
|
|
118
|
+
|
|
119
|
+
MenuItem.Button = MenuItemButton;
|
|
120
|
+
|
|
121
|
+
var _excluded = ["style", "size"],
|
|
122
|
+
_excluded2 = ["icon", "label", "isOpen", "onClose", "dropdownProps", "position", "children", "className", "buttonStyle", "buttonSize", "buttonProps", "customTarget", "disabled", "closeOnEsc", "closeOnSelect", "closeOnOutsideClick", "dropdownModifiers", "trigger", "strategy", "onClick"],
|
|
123
|
+
_excluded3 = ["classNames"];
|
|
124
|
+
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; }
|
|
125
|
+
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; }
|
|
126
|
+
var BTN_STYLES = {
|
|
127
|
+
primary: "primary",
|
|
128
|
+
secondary: "secondary",
|
|
129
|
+
tertiary: "tertiary",
|
|
130
|
+
danger: "danger",
|
|
131
|
+
danger_text: "danger-text",
|
|
132
|
+
text: "text",
|
|
133
|
+
link: "link"
|
|
134
|
+
};
|
|
135
|
+
var BTN_SIZES = {
|
|
136
|
+
small: "small",
|
|
137
|
+
medium: "medium",
|
|
138
|
+
large: "large"
|
|
139
|
+
};
|
|
140
|
+
var STRATEGY = {
|
|
141
|
+
absolute: "absolute",
|
|
142
|
+
fixed: "fixed"
|
|
143
|
+
};
|
|
144
|
+
var PLACEMENT = {
|
|
145
|
+
auto: "auto",
|
|
146
|
+
autoStart: "auto-start",
|
|
147
|
+
autoEnd: "auto-end",
|
|
148
|
+
top: "top",
|
|
149
|
+
topStart: "top-start",
|
|
150
|
+
topEnd: "top-end",
|
|
151
|
+
bottom: "bottom",
|
|
152
|
+
bottomStart: "bottom-start",
|
|
153
|
+
bottomEnd: "bottom-end",
|
|
154
|
+
right: "right",
|
|
155
|
+
rightStart: "right-start",
|
|
156
|
+
rightEnd: "right-end",
|
|
157
|
+
left: "left",
|
|
158
|
+
leftStart: "left-start",
|
|
159
|
+
leftEnd: "left-end"
|
|
160
|
+
};
|
|
161
|
+
var TRIGGERS = {
|
|
162
|
+
click: "click",
|
|
163
|
+
hover: "mouseenter focus",
|
|
164
|
+
all: "mouseenter focus click",
|
|
165
|
+
manual: "manual"
|
|
166
|
+
};
|
|
167
|
+
var hideOnEsc = {
|
|
168
|
+
name: "hideOnEsc",
|
|
169
|
+
defaultValue: true,
|
|
170
|
+
fn: function fn(_ref) {
|
|
171
|
+
var hide = _ref.hide,
|
|
172
|
+
hideOnEsc = _ref.props.hideOnEsc;
|
|
173
|
+
function onKeyDown(event) {
|
|
174
|
+
var _event$key;
|
|
175
|
+
if (((_event$key = event.key) === null || _event$key === void 0 ? void 0 : _event$key.toLowerCase()) === "escape" && hideOnEsc) hide();
|
|
176
|
+
}
|
|
177
|
+
return {
|
|
178
|
+
onShow: function onShow() {
|
|
179
|
+
document.addEventListener("keydown", onKeyDown);
|
|
180
|
+
},
|
|
181
|
+
onHide: function onHide() {
|
|
182
|
+
document.removeEventListener("keydown", onKeyDown);
|
|
183
|
+
}
|
|
184
|
+
};
|
|
185
|
+
}
|
|
186
|
+
};
|
|
187
|
+
var plugins = [hideOnEsc];
|
|
188
|
+
var Dropdown = function Dropdown(_ref2) {
|
|
189
|
+
var icon = _ref2.icon,
|
|
190
|
+
label = _ref2.label,
|
|
191
|
+
isOpen = _ref2.isOpen,
|
|
192
|
+
_ref2$onClose = _ref2.onClose,
|
|
193
|
+
onClose = _ref2$onClose === void 0 ? noop : _ref2$onClose,
|
|
194
|
+
_ref2$dropdownProps = _ref2.dropdownProps,
|
|
195
|
+
dropdownProps = _ref2$dropdownProps === void 0 ? {} : _ref2$dropdownProps,
|
|
196
|
+
_ref2$position = _ref2.position,
|
|
197
|
+
position = _ref2$position === void 0 ? PLACEMENT.bottomEnd : _ref2$position,
|
|
198
|
+
children = _ref2.children,
|
|
199
|
+
className = _ref2.className,
|
|
200
|
+
_ref2$buttonStyle = _ref2.buttonStyle,
|
|
201
|
+
buttonStyle = _ref2$buttonStyle === void 0 ? BTN_STYLES.primary : _ref2$buttonStyle,
|
|
202
|
+
_ref2$buttonSize = _ref2.buttonSize,
|
|
203
|
+
buttonSize = _ref2$buttonSize === void 0 ? BTN_SIZES.medium : _ref2$buttonSize,
|
|
204
|
+
_ref2$buttonProps = _ref2.buttonProps,
|
|
205
|
+
_ref2$buttonProps2 = _ref2$buttonProps === void 0 ? {} : _ref2$buttonProps,
|
|
206
|
+
style = _ref2$buttonProps2.style,
|
|
207
|
+
size = _ref2$buttonProps2.size,
|
|
208
|
+
buttonProps = _objectWithoutProperties(_ref2$buttonProps2, _excluded),
|
|
209
|
+
customTarget = _ref2.customTarget,
|
|
210
|
+
_ref2$disabled = _ref2.disabled,
|
|
211
|
+
disabled = _ref2$disabled === void 0 ? false : _ref2$disabled,
|
|
212
|
+
_ref2$closeOnEsc = _ref2.closeOnEsc,
|
|
213
|
+
closeOnEsc = _ref2$closeOnEsc === void 0 ? true : _ref2$closeOnEsc,
|
|
214
|
+
_ref2$closeOnSelect = _ref2.closeOnSelect,
|
|
215
|
+
closeOnSelect = _ref2$closeOnSelect === void 0 ? true : _ref2$closeOnSelect,
|
|
216
|
+
_ref2$closeOnOutsideC = _ref2.closeOnOutsideClick,
|
|
217
|
+
closeOnOutsideClick = _ref2$closeOnOutsideC === void 0 ? true : _ref2$closeOnOutsideC,
|
|
218
|
+
_ref2$dropdownModifie = _ref2.dropdownModifiers,
|
|
219
|
+
dropdownModifiers = _ref2$dropdownModifie === void 0 ? [] : _ref2$dropdownModifie,
|
|
220
|
+
_ref2$trigger = _ref2.trigger,
|
|
221
|
+
trigger = _ref2$trigger === void 0 ? TRIGGERS.click : _ref2$trigger,
|
|
222
|
+
_ref2$strategy = _ref2.strategy,
|
|
223
|
+
strategy = _ref2$strategy === void 0 ? STRATEGY.absolute : _ref2$strategy,
|
|
224
|
+
onClick = _ref2.onClick,
|
|
225
|
+
otherProps = _objectWithoutProperties(_ref2, _excluded2);
|
|
226
|
+
var _useState = useState(null),
|
|
227
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
228
|
+
instance = _useState2[0],
|
|
229
|
+
setInstance = _useState2[1];
|
|
230
|
+
var _useState3 = useState(false),
|
|
231
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
232
|
+
mounted = _useState4[0],
|
|
233
|
+
setMounted = _useState4[1];
|
|
234
|
+
var isControlled = !isNil(isOpen);
|
|
235
|
+
var controlledProps = isControlled ? {
|
|
236
|
+
visible: isOpen
|
|
237
|
+
} : {
|
|
238
|
+
onClickOutside: function onClickOutside() {
|
|
239
|
+
return closeOnOutsideClick;
|
|
240
|
+
}
|
|
241
|
+
};
|
|
242
|
+
var dropdownClassname = dropdownProps.classNames,
|
|
243
|
+
otherDropdownProps = _objectWithoutProperties(dropdownProps, _excluded3);
|
|
244
|
+
var close = function close() {
|
|
245
|
+
return instance.hide();
|
|
246
|
+
};
|
|
247
|
+
return /*#__PURE__*/React__default.createElement(index, _extends({
|
|
248
|
+
interactive: true,
|
|
249
|
+
animation: false,
|
|
250
|
+
arrow: false,
|
|
251
|
+
duration: 0
|
|
252
|
+
// hideOnClick determines whether the dropdown should be hidden when the user clicks outside of the dropdown.
|
|
253
|
+
// https://atomiks.github.io/tippyjs/v6/all-props/#hideonclick
|
|
254
|
+
,
|
|
255
|
+
hideOnClick: isControlled ? undefined : closeOnOutsideClick || "toggle",
|
|
256
|
+
hideOnEsc: closeOnEsc,
|
|
257
|
+
maxWidth: "none",
|
|
258
|
+
offset: 0,
|
|
259
|
+
placement: position || PLACEMENT.bottomEnd,
|
|
260
|
+
popperOptions: {
|
|
261
|
+
strategy: strategy,
|
|
262
|
+
modifiers: dropdownModifiers
|
|
263
|
+
},
|
|
264
|
+
role: "dropdown",
|
|
265
|
+
theme: "light",
|
|
266
|
+
trigger: isControlled ? undefined : TRIGGERS[trigger],
|
|
267
|
+
className: classnames("neeto-ui-dropdown", _defineProperty({}, className, className)),
|
|
268
|
+
content: mounted ? /*#__PURE__*/React__default.createElement("div", _extends({
|
|
269
|
+
"data-cy": "".concat(hyphenize(label), "-dropdown-container"),
|
|
270
|
+
className: classnames("neeto-ui-dropdown__popup", _defineProperty({}, dropdownClassname, dropdownClassname)),
|
|
271
|
+
onClick: closeOnSelect ? close : noop
|
|
272
|
+
}, otherDropdownProps), children) : null,
|
|
273
|
+
onCreate: function onCreate(instance) {
|
|
274
|
+
return instance && setInstance(instance);
|
|
275
|
+
},
|
|
276
|
+
onMount: function onMount() {
|
|
277
|
+
return setMounted(true);
|
|
278
|
+
},
|
|
279
|
+
onHidden: function onHidden() {
|
|
280
|
+
onClose();
|
|
281
|
+
setMounted(false);
|
|
282
|
+
}
|
|
283
|
+
}, _objectSpread(_objectSpread({
|
|
284
|
+
plugins: plugins
|
|
285
|
+
}, otherProps), controlledProps)), customTarget ? /*#__PURE__*/React__default.createElement("span", {
|
|
286
|
+
onClick: onClick
|
|
287
|
+
}, typeof customTarget === "function" ? customTarget() : customTarget) : /*#__PURE__*/React__default.createElement(Button, _extends({
|
|
288
|
+
label: label,
|
|
289
|
+
onClick: onClick,
|
|
290
|
+
"data-cy": "".concat(hyphenize(label), "-dropdown-icon"),
|
|
291
|
+
disabled: disabled || (buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.disabled),
|
|
292
|
+
icon: icon || Down,
|
|
293
|
+
iconPosition: "right",
|
|
294
|
+
size: size !== null && size !== void 0 ? size : buttonSize,
|
|
295
|
+
style: style !== null && style !== void 0 ? style : buttonStyle
|
|
296
|
+
}, buttonProps)));
|
|
297
|
+
};
|
|
298
|
+
Dropdown.Menu = Menu;
|
|
299
|
+
Dropdown.MenuItem = MenuItem;
|
|
300
|
+
Dropdown.Divider = Divider;
|
|
301
|
+
|
|
302
|
+
export { Dropdown as default };
|
|
303
|
+
//# sourceMappingURL=Dropdown.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Dropdown.js","sources":["../src/components/Dropdown/Divider.jsx","../src/components/Dropdown/Menu.jsx","../src/components/Dropdown/MenuItem/MenuItem.jsx","../src/components/Dropdown/MenuItem/MenuItemButton.jsx","../src/components/Dropdown/MenuItem/index.js","../src/components/Dropdown/index.jsx"],"sourcesContent":["import React from \"react\";\n\nconst Divider = props => (\n <li className=\"neeto-ui-dropdown__popup-divider\" {...props} />\n);\n\nexport default Divider;\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\n\nconst Menu = ({ children, className, ...otherProps }) => (\n <ul\n className={classnames(\"neeto-ui-dropdown__popup-menu\", className)}\n {...otherProps}\n >\n {children}\n </ul>\n);\n\nMenu.propTypes = {\n /**\n * To specify className to be applied to the Menu.\n */\n className: PropTypes.string,\n /**\n * To specify the content to be rendered inside the Menu.\n */\n children: PropTypes.node,\n};\n\nexport default Menu;\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport { isPresent } from \"neetocist\";\nimport PropTypes from \"prop-types\";\n\nimport Tooltip from \"components/Tooltip\";\n\nconst MenuItem = ({ children, className, tooltipProps, ...otherProps }) => {\n const renderMenuItem = () => (\n <li\n className={classnames(\"neeto-ui-dropdown__popup-menu-item\", className)}\n {...otherProps}\n >\n {children}\n </li>\n );\n\n if (isPresent(tooltipProps)) {\n return <Tooltip {...tooltipProps}>{renderMenuItem()}</Tooltip>;\n }\n\n return renderMenuItem();\n};\n\nMenuItem.propTypes = {\n /**\n * To specify className to be applied to the MenuItem.\n */\n className: PropTypes.string,\n /**\n * To specify the content to be rendered inside the MenuItem.\n */\n children: PropTypes.node,\n /**\n * To specify the active state of the MenuItem.\n */\n isActive: PropTypes.bool,\n /**\n * To specify the props to be passed to the tooltip.\n */\n tooltipProps: PropTypes.object,\n};\n\nexport default MenuItem;\n","import React, { forwardRef } from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\nimport { Link } from \"react-router-dom\";\n\nimport MenuItem from \"./MenuItem\";\n\nconst ITEM_BTN_STYLES = { default: \"default\", danger: \"danger\" };\n\nconst BUTTON_TYPES = { button: \"button\", reset: \"reset\", submit: \"submit\" };\n\nconst MenuItemButton = forwardRef(\n (\n {\n children,\n className,\n isActive,\n isDisabled,\n style = ITEM_BTN_STYLES.default,\n prefix,\n suffix,\n type = BUTTON_TYPES.button,\n to = \"\",\n href = \"\",\n tooltipProps,\n ...otherProps\n },\n ref\n ) => {\n let Parent, elementSpecificProps;\n if (to) {\n Parent = Link;\n elementSpecificProps = { to };\n } else if (href) {\n Parent = \"a\";\n elementSpecificProps = { href };\n } else {\n Parent = \"button\";\n elementSpecificProps = { type };\n }\n\n return (\n <MenuItem {...{ tooltipProps }}>\n <Parent\n disabled={isDisabled}\n className={classnames(\n \"neeto-ui-dropdown__popup-menu-item-btn\",\n className,\n {\n \"neeto-ui-dropdown__popup-menu-item-btn--active\": isActive,\n \"neeto-ui-dropdown__popup-menu-item-btn--disabled\": isDisabled,\n \"neeto-ui-dropdown__popup-menu-item-btn--style-danger\":\n style === ITEM_BTN_STYLES.danger,\n }\n )}\n {...{ ref, ...otherProps, ...elementSpecificProps }}\n >\n {prefix && (\n <div className=\"neeto-ui-dropdown__popup-menu-item-btn__prefix\">\n {prefix}\n </div>\n )}\n {children}\n {suffix && (\n <div className=\"neeto-ui-dropdown__popup-menu-item-btn__suffix\">\n {suffix}\n </div>\n )}\n </Parent>\n </MenuItem>\n );\n }\n);\n\nMenuItemButton.displayName = \"MenuItemButton\";\n\nMenuItemButton.propTypes = {\n /**\n * To specify className to be applied to the MenuItem.\n */\n className: PropTypes.string,\n /**\n * To specify the content to be rendered inside the MenuItem.\n */\n children: PropTypes.node,\n /**\n * To specify the active state of the MenuItem.\n */\n isActive: PropTypes.bool,\n /**\n * To specify whether the MenuItem is disabled.\n */\n isDisabled: PropTypes.bool,\n /**\n * To specify an internal route to which the button points to.\n */\n to: PropTypes.string,\n /**\n * To specify an external link to which the button points to.\n */\n href: PropTypes.string,\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 type of button.\n */\n type: PropTypes.oneOf(Object.values(BUTTON_TYPES)),\n /**\n * To specify the style of button.\n */\n style: PropTypes.oneOf(Object.values(ITEM_BTN_STYLES)),\n /**\n * To specify the props to be passed to the tooltip.\n */\n tooltipProps: PropTypes.object,\n};\n\nexport default MenuItemButton;\n","import MenuItem from \"./MenuItem\";\nimport MenuItemButton from \"./MenuItemButton\";\n\nMenuItem.Button = MenuItemButton;\n\nexport default MenuItem;\n","import React, { useState } from \"react\";\n\nimport Tippy from \"@tippyjs/react\";\nimport classnames from \"classnames\";\nimport { Down } from \"neetoicons\";\nimport PropTypes from \"prop-types\";\nimport { isNil } from \"ramda\";\n\nimport Button from \"components/Button\";\nimport { hyphenize, noop } from \"utils\";\n\nimport Divider from \"./Divider\";\nimport Menu from \"./Menu\";\nimport MenuItem from \"./MenuItem\";\n\nconst BTN_STYLES = {\n primary: \"primary\",\n secondary: \"secondary\",\n tertiary: \"tertiary\",\n danger: \"danger\",\n danger_text: \"danger-text\",\n text: \"text\",\n link: \"link\",\n};\n\nconst BTN_SIZES = {\n small: \"small\",\n medium: \"medium\",\n large: \"large\",\n};\n\nconst STRATEGY = { absolute: \"absolute\", fixed: \"fixed\" };\n\nconst PLACEMENT = {\n auto: \"auto\",\n autoStart: \"auto-start\",\n autoEnd: \"auto-end\",\n top: \"top\",\n topStart: \"top-start\",\n topEnd: \"top-end\",\n bottom: \"bottom\",\n bottomStart: \"bottom-start\",\n bottomEnd: \"bottom-end\",\n right: \"right\",\n rightStart: \"right-start\",\n rightEnd: \"right-end\",\n left: \"left\",\n leftStart: \"left-start\",\n leftEnd: \"left-end\",\n};\n\nconst TRIGGERS = {\n click: \"click\",\n hover: \"mouseenter focus\",\n all: \"mouseenter focus click\",\n manual: \"manual\",\n};\n\nconst hideOnEsc = {\n name: \"hideOnEsc\",\n defaultValue: true,\n fn({ hide, props: { hideOnEsc } }) {\n function onKeyDown(event) {\n if (event.key?.toLowerCase() === \"escape\" && hideOnEsc) hide();\n }\n\n return {\n onShow() {\n document.addEventListener(\"keydown\", onKeyDown);\n },\n onHide() {\n document.removeEventListener(\"keydown\", onKeyDown);\n },\n };\n },\n};\n\nconst plugins = [hideOnEsc];\n\nconst Dropdown = ({\n icon,\n label,\n isOpen,\n onClose = noop,\n dropdownProps = {},\n position = PLACEMENT.bottomEnd,\n children,\n className,\n buttonStyle = BTN_STYLES.primary,\n buttonSize = BTN_SIZES.medium,\n buttonProps: { style, size, ...buttonProps } = {},\n customTarget,\n disabled = false,\n closeOnEsc = true,\n closeOnSelect = true,\n closeOnOutsideClick = true,\n dropdownModifiers = [],\n trigger = TRIGGERS.click,\n strategy = STRATEGY.absolute,\n onClick,\n ...otherProps\n}) => {\n const [instance, setInstance] = useState(null);\n const [mounted, setMounted] = useState(false);\n\n const isControlled = !isNil(isOpen);\n\n const controlledProps = isControlled\n ? { visible: isOpen }\n : { onClickOutside: () => closeOnOutsideClick };\n\n const { classNames: dropdownClassname, ...otherDropdownProps } =\n dropdownProps;\n\n const close = () => instance.hide();\n\n return (\n <Tippy\n interactive\n animation={false}\n arrow={false}\n duration={0}\n // hideOnClick determines whether the dropdown should be hidden when the user clicks outside of the dropdown.\n // https://atomiks.github.io/tippyjs/v6/all-props/#hideonclick\n hideOnClick={isControlled ? undefined : closeOnOutsideClick || \"toggle\"}\n hideOnEsc={closeOnEsc}\n maxWidth=\"none\"\n offset={0}\n placement={position || PLACEMENT.bottomEnd}\n popperOptions={{ strategy, modifiers: dropdownModifiers }}\n role=\"dropdown\"\n theme=\"light\"\n trigger={isControlled ? undefined : TRIGGERS[trigger]}\n className={classnames(\"neeto-ui-dropdown\", {\n [className]: className,\n })}\n content={\n mounted ? (\n <div\n data-cy={`${hyphenize(label)}-dropdown-container`}\n className={classnames(\"neeto-ui-dropdown__popup\", {\n [dropdownClassname]: dropdownClassname,\n })}\n onClick={closeOnSelect ? close : noop}\n {...otherDropdownProps}\n >\n {children}\n </div>\n ) : null\n }\n onCreate={instance => instance && setInstance(instance)}\n onMount={() => setMounted(true)}\n onHidden={() => {\n onClose();\n setMounted(false);\n }}\n {...{ plugins, ...otherProps, ...controlledProps }}\n >\n {customTarget ? (\n <span {...{ onClick }}>\n {typeof customTarget === \"function\" ? customTarget() : customTarget}\n </span>\n ) : (\n <Button\n {...{ label, onClick }}\n data-cy={`${hyphenize(label)}-dropdown-icon`}\n disabled={disabled || buttonProps?.disabled}\n icon={icon || Down}\n iconPosition=\"right\"\n size={size ?? buttonSize}\n style={style ?? buttonStyle}\n {...buttonProps}\n />\n )}\n </Tippy>\n );\n};\n\nDropdown.Menu = Menu;\nDropdown.MenuItem = MenuItem;\nDropdown.Divider = Divider;\n\nDropdown.propTypes = {\n /**\n * To specify the icon to be rendered in the Dropdown target.\n */\n icon: PropTypes.oneOfType([PropTypes.element, PropTypes.func]),\n /**\n * To specify the label for Dropdown target button.\n */\n label: PropTypes.string,\n /**\n * To specify whether the Dropdown is open or not.\n */\n isOpen: PropTypes.bool,\n /**\n * To specify the action to be triggered on closing the Dropdown.\n */\n onClose: PropTypes.func,\n /**\n * To specify the triggering action for Dropdown.\n */\n trigger: PropTypes.oneOf(Object.keys(TRIGGERS)),\n /**\n * To specify the positioning strategy to use. By default, it is absolute, which in the simplest cases does not require repositioning of the Dropdown.\n *\n * If your reference element is in a fixed container, use the fixed strategy\n */\n strategy: PropTypes.oneOf(Object.values(STRATEGY)),\n /**\n * To specify the classes to be passed to the Dropdown menu.\n */\n dropdownProps: PropTypes.object,\n /**\n * To specify the position of the Dropdown menu.\n */\n position: PropTypes.oneOf(Object.values(PLACEMENT)),\n /**\n * To specify the content to be rendered inside the Dropdown.\n */\n children: PropTypes.node,\n /**\n * To specify whether the Dropdown menu width needs to be set to auto or not.\n */\n autoWidth: PropTypes.bool,\n /**\n * To provide external classnames to Dropdown target wrapper.\n */\n className: PropTypes.string,\n /**\n * <div class=\"neeto-ui-tag neeto-ui-tag--size-small neeto-ui-tag--style-outline neeto-ui-tag--style-success mb-2\">\n * New\n * </div>\n * To specify the size of the button to be rendered as the Dropdown target.\n */\n buttonSize: PropTypes.oneOf(Object.values(BTN_SIZES)),\n /**\n * To specify the style of the button to be rendered as the Dropdown target.\n */\n buttonStyle: PropTypes.oneOf(Object.values(BTN_STYLES)),\n /**\n * To specify the props to be passed to the Dropdown target button.\n */\n buttonProps: PropTypes.object,\n /**\n * To provide a custom target to be rendered instead of the default button target.\n */\n customTarget: PropTypes.node,\n /**\n * To specify whether the Dropdown is disabled or not.\n */\n disabled: PropTypes.bool,\n /**\n * To specify whether the Dropdown should close on pressing esc key.\n */\n closeOnEsc: PropTypes.bool,\n /**\n * To specify whether the Dropdown should close on selecting an option.\n */\n closeOnSelect: PropTypes.bool,\n /**\n * To specify whether the Dropdown should close on clicking outside the Dropdown content. (will not have any effect if the component is controlled.)\n */\n closeOnOutsideClick: PropTypes.bool,\n /**\n * To provide custom modifiers to Dropdown component.\n */\n dropdownModifiers: PropTypes.array,\n /**\n * To specify whether the Dropdown should be multilevel.\n */\n isMultiLevel: PropTypes.bool,\n /**\n * <div class=\"neeto-ui-tag neeto-ui-tag--size-small neeto-ui-tag--style-outline neeto-ui-tag--style-danger mb-2\">\n * Removed\n * </div>\n * _Use `dropdownProps` props instead._\n *\n */\n ulProps: PropTypes.object,\n /**\n * To specify the action that should be triggered when clicking outside of the controlled dropdown component.\n */\n onClickOutside: PropTypes.func,\n};\n\nexport default Dropdown;\n"],"names":["Divider","props","React","createElement","_extends","className","Menu","_ref","children","otherProps","_objectWithoutProperties","_excluded","classnames","MenuItem","tooltipProps","renderMenuItem","isPresent","Tooltip","ITEM_BTN_STYLES","danger","BUTTON_TYPES","button","reset","submit","MenuItemButton","forwardRef","ref","isActive","isDisabled","_ref$style","style","prefix","suffix","_ref$type","type","_ref$to","to","_ref$href","href","Parent","elementSpecificProps","Link","disabled","_objectSpread","displayName","Button","BTN_STYLES","primary","secondary","tertiary","danger_text","text","link","BTN_SIZES","small","medium","large","STRATEGY","absolute","fixed","PLACEMENT","auto","autoStart","autoEnd","top","topStart","topEnd","bottom","bottomStart","bottomEnd","right","rightStart","rightEnd","left","leftStart","leftEnd","TRIGGERS","click","hover","all","manual","hideOnEsc","name","defaultValue","fn","hide","onKeyDown","event","_event$key","key","toLowerCase","onShow","document","addEventListener","onHide","removeEventListener","plugins","Dropdown","_ref2","icon","label","isOpen","_ref2$onClose","onClose","noop","_ref2$dropdownProps","dropdownProps","_ref2$position","position","_ref2$buttonStyle","buttonStyle","_ref2$buttonSize","buttonSize","_ref2$buttonProps","buttonProps","_ref2$buttonProps2","size","customTarget","_ref2$disabled","_ref2$closeOnEsc","closeOnEsc","_ref2$closeOnSelect","closeOnSelect","_ref2$closeOnOutsideC","closeOnOutsideClick","_ref2$dropdownModifie","dropdownModifiers","_ref2$trigger","trigger","_ref2$strategy","strategy","onClick","_excluded2","_useState","useState","_useState2","_slicedToArray","instance","setInstance","_useState3","_useState4","mounted","setMounted","isControlled","isNil","controlledProps","visible","onClickOutside","dropdownClassname","classNames","otherDropdownProps","_excluded3","close","Tippy","interactive","animation","arrow","duration","hideOnClick","undefined","maxWidth","offset","placement","popperOptions","modifiers","role","theme","_defineProperty","content","concat","hyphenize","onCreate","onMount","onHidden","Down","iconPosition"],"mappings":"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"}
|