intelicoreact 1.3.51 → 1.3.52
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/Atomic/FormElements/ActionAlert/ActionAlert.js +1 -9
- package/dist/Atomic/FormElements/AdvancedStatus/AdvancedStatus.js +1 -10
- package/dist/Atomic/FormElements/Calendar/Calendar.js +4 -24
- package/dist/Atomic/FormElements/CheckboxInput/CheckboxInput.js +1 -10
- package/dist/Atomic/FormElements/CheckboxesLine/CheckboxesLine.js +2 -14
- package/dist/Atomic/FormElements/Datepicker/Datepicker.js +5 -54
- package/dist/Atomic/FormElements/Datepicker/components/Calendar.js +3 -21
- package/dist/Atomic/FormElements/Dropdown/Dropdown.js +50 -142
- package/dist/Atomic/FormElements/Dropdown/components/DropdownLoader.js +1 -7
- package/dist/Atomic/FormElements/DropdownLiveSearch/DropdownLiveSearch.js +35 -46
- package/dist/Atomic/FormElements/FileLoader/FileLoader.js +3 -15
- package/dist/Atomic/FormElements/FileLoader/partial/LoadZone.js +15 -29
- package/dist/Atomic/FormElements/FileLoader/partial/LoadedContent.js +5 -15
- package/dist/Atomic/FormElements/FileLoaderLocal/FileLoaderLocal.js +6 -26
- package/dist/Atomic/FormElements/FileLoaderLocalGroup/FileLoaderLocalGroup.js +19 -35
- package/dist/Atomic/FormElements/FormattedRawSSN/FormattedRawSSN.js +9 -38
- package/dist/Atomic/FormElements/Input/Input.js +24 -57
- package/dist/Atomic/FormElements/InputCalendar/InputCalendar.js +4 -31
- package/dist/Atomic/FormElements/InputColor/InputColor.js +4 -14
- package/dist/Atomic/FormElements/InputCurrency/InputCurrency.js +6 -27
- package/dist/Atomic/FormElements/InputDateRange/InputDateRange.js +7 -42
- package/dist/Atomic/FormElements/InputDateRange/components/DateInput.js +3 -21
- package/dist/Atomic/FormElements/InputDateRange/components/Datepicker.js +58 -81
- package/dist/Atomic/FormElements/InputDateRange/components/OpenedPart.js +6 -41
- package/dist/Atomic/FormElements/InputDateRange/components/SelectItem.js +1 -8
- package/dist/Atomic/FormElements/InputDateRange/dependencies.js +14 -44
- package/dist/Atomic/FormElements/InputLink/InputLink.js +6 -23
- package/dist/Atomic/FormElements/InputMask/InputCarretPosition.js +0 -4
- package/dist/Atomic/FormElements/InputMask/InputMask.js +77 -208
- package/dist/Atomic/FormElements/InputMask/functions.js +2 -28
- package/dist/Atomic/FormElements/InputMask2/InputMask2.js +43 -119
- package/dist/Atomic/FormElements/InputMask2/functions.js +2 -28
- package/dist/Atomic/FormElements/InputMask3/InputMask3.js +44 -137
- package/dist/Atomic/FormElements/InputMask3/functions.js +2 -28
- package/dist/Atomic/FormElements/InputWithAction/InputWithAction.js +3 -17
- package/dist/Atomic/FormElements/InputsRow/InputsRow.js +5 -24
- package/dist/Atomic/FormElements/Label/Label.js +1 -9
- package/dist/Atomic/FormElements/MobileCalendar/MobileCalendar.js +35 -73
- package/dist/Atomic/FormElements/MultiSelect/MultiSelect.js +3 -15
- package/dist/Atomic/FormElements/NumericInput/NumericInput.js +23 -44
- package/dist/Atomic/FormElements/RadioGroup/RadioGroup.js +7 -17
- package/dist/Atomic/FormElements/RadioGroupWithInput/RadioGroupWithInput.js +3 -14
- package/dist/Atomic/FormElements/RadioInput/RadioInput.js +1 -10
- package/dist/Atomic/FormElements/RadioRowSwitcher/RadioRowSwitcher.js +3 -14
- package/dist/Atomic/FormElements/RangeCalendar/RangeCalendar.js +3 -23
- package/dist/Atomic/FormElements/RangeInputs/RangeInputs.js +17 -34
- package/dist/Atomic/FormElements/RangeList/RangeList.js +6 -25
- package/dist/Atomic/FormElements/RangeList/partial/RangeListRow.js +1 -11
- package/dist/Atomic/FormElements/RangeSlider/RangeSlider.js +14 -72
- package/dist/Atomic/FormElements/RangeSlider2/RangeSlider2.js +40 -124
- package/dist/Atomic/FormElements/SwitchableRow/SwitchableRow.js +1 -10
- package/dist/Atomic/FormElements/Switcher/Switcher.js +1 -10
- package/dist/Atomic/FormElements/SwitcherCheckbox/SwitcherCheckbox.js +1 -13
- package/dist/Atomic/FormElements/SwitcherHide/SwitcherHide.js +1 -10
- package/dist/Atomic/FormElements/SwitcherRadio/SwitcherRadio.js +2 -17
- package/dist/Atomic/FormElements/SwitcherRange/SwitcherRange.js +3 -17
- package/dist/Atomic/FormElements/SwitcherRangeList/SwitcherRangeList.js +1 -11
- package/dist/Atomic/FormElements/SwitcherTagsDropdown/SwitcherTagsDropdown.js +6 -29
- package/dist/Atomic/FormElements/SwitcherTagsDropdown/partial/States.js +2 -3
- package/dist/Atomic/FormElements/SwitcherTextarea/SwitcherTextarea.js +1 -12
- package/dist/Atomic/FormElements/TagsDropdown/TagsDropdown.js +76 -145
- package/dist/Atomic/FormElements/Text/Text.js +10 -16
- package/dist/Atomic/FormElements/TextSwitcher/TextSwitcher.js +1 -9
- package/dist/Atomic/FormElements/Textarea/Textarea.js +3 -16
- package/dist/Atomic/FormElements/TieredCheckboxes/TieredCheckboxes.js +6 -35
- package/dist/Atomic/FormElements/TieredCheckboxes/partial/AccordionWithCheckbox.js +4 -13
- package/dist/Atomic/FormElements/TimeRange/TimeRange.js +7 -21
- package/dist/Atomic/FormElements/UserContacts/UserContacts.js +8 -35
- package/dist/Atomic/FormElements/VariantsListRadio/VariantsListRadio.js +5 -18
- package/dist/Atomic/FormElements/VariantsListRadio/partials/VariantsListRadioItem.js +3 -10
- package/dist/Atomic/FormElements/WidgetPseudoTable/WidgetPseudoTable.js +3 -11
- package/dist/Atomic/FormElements/WidgetPseudoTable/partial/constructor.js +1 -2
- package/dist/Atomic/FormElements/WidgetWithSwitchableRows/WidgetWithSwitchableRows.js +5 -12
- package/dist/Atomic/FormElements/WidgetWithSwitchableRows/partial/constructor.js +3 -3
- package/dist/Atomic/Layout/Header/Header.js +3 -15
- package/dist/Atomic/Layout/MainMenu/MainMenu.js +3 -20
- package/dist/Atomic/Layout/Spinner/Spinner.js +1 -8
- package/dist/Atomic/UI/Accordion/Accordion.js +3 -19
- package/dist/Atomic/UI/Accordion/AccordionItem.js +9 -23
- package/dist/Atomic/UI/AccordionTable/AccordionTable.js +7 -32
- package/dist/Atomic/UI/AccordionText/AccordionText.js +3 -15
- package/dist/Atomic/UI/AdvancedTag/AdvTag.js +4 -21
- package/dist/Atomic/UI/AdvancedTag/AdvancedTags.js +3 -15
- package/dist/Atomic/UI/Alert/Alert.js +3 -16
- package/dist/Atomic/UI/Arrow/Arrow.js +3 -16
- package/dist/Atomic/UI/Box/Box.js +3 -9
- package/dist/Atomic/UI/Button/Button.js +2 -11
- package/dist/Atomic/UI/ButtonsBar/ButtonsBar.js +1 -10
- package/dist/Atomic/UI/Chart/Chart.js +4 -29
- package/dist/Atomic/UI/Chart/partial/Chart.constants.js +11 -19
- package/dist/Atomic/UI/Chart/partial/ChartTypeSwitcherIcon/ChartTypeSwitcherIcon.js +1 -12
- package/dist/Atomic/UI/Chart/partial/datasetSetters.js +11 -34
- package/dist/Atomic/UI/Chart/partial/optionsConstructor.js +82 -56
- package/dist/Atomic/UI/Chart/partial/optionsSetters.js +15 -19
- package/dist/Atomic/UI/Chart/partial/utils.js +6 -20
- package/dist/Atomic/UI/CircleProgressBar/CircleProgressBar.js +3 -13
- package/dist/Atomic/UI/DateTime/DateTime.js +3 -14
- package/dist/Atomic/UI/DebugContainer/DebugContainer.js +4 -16
- package/dist/Atomic/UI/DebugContainer/useDebugContainer.js +3 -11
- package/dist/Atomic/UI/DoubleString/DoubleString.js +5 -17
- package/dist/Atomic/UI/DynamicIcon/DynamicIcon.js +3 -10
- package/dist/Atomic/UI/ExampleChartIntegration/ExampleChartIntegration.js +17 -52
- package/dist/Atomic/UI/ExampleChartIntegration/partial/utils.js +1 -29
- package/dist/Atomic/UI/Hint/Hint.js +5 -30
- package/dist/Atomic/UI/Modal/Modal.js +6 -28
- package/dist/Atomic/UI/Modal/ModalHOC.js +1 -9
- package/dist/Atomic/UI/Modal/partials/ModalFooter.js +1 -7
- package/dist/Atomic/UI/Modal/partials/ModalTitle.js +1 -8
- package/dist/Atomic/UI/Modal/partials/useMobileModal.js +32 -49
- package/dist/Atomic/UI/ModalBackup/Modal.js +65 -90
- package/dist/Atomic/UI/ModalBackup/ModalHOC.js +12 -21
- package/dist/Atomic/UI/ModalBackup/partials/ModalFooter.js +6 -11
- package/dist/Atomic/UI/ModalBackup/partials/ModalTitle.js +15 -19
- package/dist/Atomic/UI/MonoAccordion/MonoAccordion.js +6 -21
- package/dist/Atomic/UI/NavLine/NavLine.js +26 -55
- package/dist/Atomic/UI/NavLine/Tabs.js +2 -3
- package/dist/Atomic/UI/PageTitle/PageTitle.js +2 -10
- package/dist/Atomic/UI/PieChart/PieChart.js +1 -10
- package/dist/Atomic/UI/Price/Price.js +3 -8
- package/dist/Atomic/UI/PriceRange/PriceRange.js +1 -7
- package/dist/Atomic/UI/ProgressLine/ProgressLine.js +1 -16
- package/dist/Atomic/UI/Status/Status.js +1 -8
- package/dist/Atomic/UI/Table/Partials/TdCell.js +5 -29
- package/dist/Atomic/UI/Table/Partials/TdHeader.js +1 -11
- package/dist/Atomic/UI/Table/Partials/TdRow.js +5 -17
- package/dist/Atomic/UI/Table/Partials/TdTitle.js +3 -14
- package/dist/Atomic/UI/Table/Table.js +1 -12
- package/dist/Atomic/UI/Table/TdTypes/TdActions.js +2 -18
- package/dist/Atomic/UI/Table/TdTypes/TdPriority.js +1 -9
- package/dist/Atomic/UI/Table/TdTypes/TdRange.js +1 -4
- package/dist/Atomic/UI/Table/TdTypes/TdWeight.js +1 -13
- package/dist/Atomic/UI/Tag/Tag.js +3 -14
- package/dist/Atomic/UI/TagList/TagList.js +19 -35
- package/dist/Atomic/UI/UserBox/UserBox.js +1 -13
- package/dist/Classes/AbortableFetch.js +36 -93
- package/dist/Classes/AnimatedHandler.js +3 -7
- package/dist/Classes/RESTAPI/index.js +39 -43
- package/dist/Classes/RESTAPI/partials/AbortableFetch.js +35 -93
- package/dist/Classes/RESTAPI/partials/ApiBase.js +1 -9
- package/dist/Classes/RESTAPI/partials/ApiRequestCreators.js +7 -19
- package/dist/Classes/RESTAPI/partials/ApiUtils.js +28 -35
- package/dist/Classes/RESTAPI/partials/CredentialsProcessing.js +21 -44
- package/dist/Classes/RESTAPI/partials/Utils.js +6 -19
- package/dist/Classes/RESTAPI/partials/_outerDependencies.js +2 -6
- package/dist/Classes/RESTAPI/partials/_utils.js +13 -36
- package/dist/Constants/index.constants.js +8 -15
- package/dist/Functions/Portal.js +5 -16
- package/dist/Functions/customEventListener.js +4 -17
- package/dist/Functions/fieldValueFormatters.js +43 -83
- package/dist/Functions/hooks/useFormFieldsChangesManager.js +23 -26
- package/dist/Functions/locale/createTranslator.js +4 -9
- package/dist/Functions/operations.js +12 -22
- package/dist/Functions/presets/inputMaskPresets.js +9 -11
- package/dist/Functions/presets/inputPresets.js +8 -11
- package/dist/Functions/presets/mobileKeyboardTypesPresets.js +7 -9
- package/dist/Functions/schemas.js +6 -13
- package/dist/Functions/useBodyScrollLock.js +1 -6
- package/dist/Functions/useClickOutside.js +0 -4
- package/dist/Functions/useDebounce.js +2 -7
- package/dist/Functions/useFieldFocus.js +6 -18
- package/dist/Functions/useFormTools/form-drivers/ArrayWithObjects.js +0 -9
- package/dist/Functions/useFormTools/form-drivers/ObjectWithIterableObjects.js +12 -23
- package/dist/Functions/useFormTools/form-drivers/ObjectWithNamedKeyObjects.js +6 -15
- package/dist/Functions/useFormTools/functions/General.js +18 -28
- package/dist/Functions/useFormTools/functions/RenderFields.js +2 -11
- package/dist/Functions/useFormTools/functions/usePrevious.js +1 -5
- package/dist/Functions/useFormTools/index.js +85 -144
- package/dist/Functions/useInputHighlightError.js +3 -12
- package/dist/Functions/useIsMobile.js +7 -12
- package/dist/Functions/useKeyPress/useHandleKeyPress.js +1 -7
- package/dist/Functions/useKeyPress/useKeyPress.js +1 -9
- package/dist/Functions/useLocalStorage.js +1 -9
- package/dist/Functions/useLocationParams.js +4 -5
- package/dist/Functions/useMetaInfo.js +3 -10
- package/dist/Functions/useMouseUpOutside.js +0 -3
- package/dist/Functions/useOnlineStatus.js +1 -9
- package/dist/Functions/usePasswordChecker.js +4 -20
- package/dist/Functions/usePrevious.js +1 -5
- package/dist/Functions/useResize.js +2 -10
- package/dist/Functions/useScrollTo.js +2 -7
- package/dist/Functions/useToggle.js +1 -5
- package/dist/Functions/utils.js +49 -128
- package/dist/Molecular/CustomIcons/components/AffiliateNetworks.js +2 -9
- package/dist/Molecular/CustomIcons/components/AlertCircle.js +2 -9
- package/dist/Molecular/CustomIcons/components/AppStore.js +2 -9
- package/dist/Molecular/CustomIcons/components/Arrow.js +2 -9
- package/dist/Molecular/CustomIcons/components/ArrowDown.js +2 -9
- package/dist/Molecular/CustomIcons/components/ArrowLeft.js +2 -9
- package/dist/Molecular/CustomIcons/components/ArrowRight.js +2 -9
- package/dist/Molecular/CustomIcons/components/ArrowUp.js +2 -9
- package/dist/Molecular/CustomIcons/components/Bell.js +2 -9
- package/dist/Molecular/CustomIcons/components/Button.js +2 -9
- package/dist/Molecular/CustomIcons/components/Campaigns.js +2 -9
- package/dist/Molecular/CustomIcons/components/Check.js +2 -9
- package/dist/Molecular/CustomIcons/components/Check2.js +2 -9
- package/dist/Molecular/CustomIcons/components/ChevronDown.js +2 -9
- package/dist/Molecular/CustomIcons/components/ChevronDownDisabled.js +2 -9
- package/dist/Molecular/CustomIcons/components/ChevronLeft.js +2 -9
- package/dist/Molecular/CustomIcons/components/ChevronRight.js +2 -9
- package/dist/Molecular/CustomIcons/components/ChevronUp.js +2 -9
- package/dist/Molecular/CustomIcons/components/ChevronUpDown.js +2 -9
- package/dist/Molecular/CustomIcons/components/Close.js +2 -9
- package/dist/Molecular/CustomIcons/components/ColumnsOrder.js +2 -9
- package/dist/Molecular/CustomIcons/components/Delete.js +2 -9
- package/dist/Molecular/CustomIcons/components/Edit.js +2 -9
- package/dist/Molecular/CustomIcons/components/Email.js +2 -9
- package/dist/Molecular/CustomIcons/components/FinturfLogo.js +2 -9
- package/dist/Molecular/CustomIcons/components/FinturfLogo2.js +2 -9
- package/dist/Molecular/CustomIcons/components/Flows.js +2 -9
- package/dist/Molecular/CustomIcons/components/Gift.js +2 -9
- package/dist/Molecular/CustomIcons/components/GoogleAuth.js +2 -9
- package/dist/Molecular/CustomIcons/components/GooglePlay.js +2 -9
- package/dist/Molecular/CustomIcons/components/HelpCircle.js +2 -9
- package/dist/Molecular/CustomIcons/components/HelpCircle2.js +2 -9
- package/dist/Molecular/CustomIcons/components/HelpCircleFilled.js +2 -9
- package/dist/Molecular/CustomIcons/components/Home.js +2 -9
- package/dist/Molecular/CustomIcons/components/Home2.js +2 -9
- package/dist/Molecular/CustomIcons/components/Key.js +2 -9
- package/dist/Molecular/CustomIcons/components/Landers.js +2 -9
- package/dist/Molecular/CustomIcons/components/Lock.js +2 -9
- package/dist/Molecular/CustomIcons/components/Mail.js +2 -9
- package/dist/Molecular/CustomIcons/components/Mastercard.js +2 -9
- package/dist/Molecular/CustomIcons/components/Minus.js +2 -9
- package/dist/Molecular/CustomIcons/components/Offers.js +2 -9
- package/dist/Molecular/CustomIcons/components/Pause.js +2 -9
- package/dist/Molecular/CustomIcons/components/PayPal.js +2 -9
- package/dist/Molecular/CustomIcons/components/PayPalLightLarge.js +2 -9
- package/dist/Molecular/CustomIcons/components/Phone.js +2 -9
- package/dist/Molecular/CustomIcons/components/Play.js +2 -9
- package/dist/Molecular/CustomIcons/components/Plus.js +2 -9
- package/dist/Molecular/CustomIcons/components/Profile.js +2 -9
- package/dist/Molecular/CustomIcons/components/QRCode.js +2 -9
- package/dist/Molecular/CustomIcons/components/Rectangle.js +2 -9
- package/dist/Molecular/CustomIcons/components/Revert.js +2 -9
- package/dist/Molecular/CustomIcons/components/Star.js +2 -9
- package/dist/Molecular/CustomIcons/components/Star2.js +2 -9
- package/dist/Molecular/CustomIcons/components/TrafficSources.js +2 -9
- package/dist/Molecular/CustomIcons/components/Trash.js +2 -9
- package/dist/Molecular/CustomIcons/components/TrashRed.js +2 -9
- package/dist/Molecular/CustomIcons/components/Triggers.js +2 -9
- package/dist/Molecular/CustomIcons/components/User.js +2 -9
- package/dist/Molecular/CustomIcons/components/Visa.js +2 -9
- package/dist/Molecular/CustomIcons/components/X.js +2 -9
- package/dist/Molecular/CustomIcons/index.js +0 -122
- package/dist/Molecular/FormElement/FormElement.js +1 -12
- package/dist/Molecular/FormWithDependOn/FormWithDependOn.js +30 -31
- package/dist/Molecular/FormWithDependOn/partials/_utils.js +9 -12
- package/dist/Molecular/InputAddress/InputAddress.js +65 -114
- package/dist/Molecular/InputPassword/InputPassword.js +5 -19
- package/dist/index.js +0 -2
- package/package.json +1 -1
- package/dist/Atomic/FormElements/UserContacts/partial/defaultIcons.js +0 -91
|
@@ -1,46 +1,28 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.default = void 0;
|
|
9
|
-
|
|
10
8
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
|
-
|
|
12
9
|
var _react = _interopRequireWildcard(require("react"));
|
|
13
|
-
|
|
14
10
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
15
|
-
|
|
16
11
|
var _reactDom = require("react-dom");
|
|
17
|
-
|
|
18
12
|
var _reactFeather = require("react-feather");
|
|
19
|
-
|
|
20
13
|
var _Input = _interopRequireDefault(require("../../../Atomic/FormElements/Input/Input"));
|
|
21
|
-
|
|
22
14
|
var _RadioInput = _interopRequireDefault(require("../../../Atomic/FormElements/RadioInput/RadioInput"));
|
|
23
|
-
|
|
24
15
|
var _fieldValueFormatters = require("../../../Functions/fieldValueFormatters");
|
|
25
|
-
|
|
26
16
|
var _useIsMobile = _interopRequireDefault(require("../../../Functions/useIsMobile"));
|
|
27
|
-
|
|
28
17
|
var _utils = require("../../../Functions/utils");
|
|
29
|
-
|
|
30
18
|
var _DropdownLoader = _interopRequireDefault(require("./components/DropdownLoader"));
|
|
31
|
-
|
|
32
19
|
require("./Dropdown.scss");
|
|
33
|
-
|
|
34
|
-
function
|
|
35
|
-
|
|
36
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
37
|
-
|
|
20
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
21
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
38
22
|
const RC = "dropdown";
|
|
39
23
|
const MIN_ITEMS_FOR_SHOW_MOBILE_SEARCH = 10;
|
|
40
|
-
|
|
41
24
|
const Dropdown = _ref => {
|
|
42
|
-
var _options$find,
|
|
43
|
-
|
|
25
|
+
var _options$find, _dropdownListWrapperR3, _dropdownListRef$curr5, _dropdownListRef$curr6, _filteredOptions$find, _tabIndex$toString;
|
|
44
26
|
let {
|
|
45
27
|
label,
|
|
46
28
|
options = [],
|
|
@@ -91,28 +73,22 @@ const Dropdown = _ref => {
|
|
|
91
73
|
return options === null || options === void 0 ? void 0 : options.reduce((result, item) => {
|
|
92
74
|
if (item !== null && item !== void 0 && item.list || item !== null && item !== void 0 && item.items) {
|
|
93
75
|
var _item$list, _item$items;
|
|
94
|
-
|
|
95
|
-
result += (item === null || item === void 0 ? void 0 : (_item$list = item.list) === null || _item$list === void 0 ? void 0 : _item$list.length) || (item === null || item === void 0 ? void 0 : (_item$items = item.items) === null || _item$items === void 0 ? void 0 : _item$items.length) || 0;
|
|
76
|
+
result += (item === null || item === void 0 || (_item$list = item.list) === null || _item$list === void 0 ? void 0 : _item$list.length) || (item === null || item === void 0 || (_item$items = item.items) === null || _item$items === void 0 ? void 0 : _item$items.length) || 0;
|
|
96
77
|
} else {
|
|
97
78
|
++result;
|
|
98
79
|
}
|
|
99
|
-
|
|
100
80
|
return result;
|
|
101
81
|
}, 0);
|
|
102
82
|
}, [options]);
|
|
103
83
|
if (isMobile) isSearchable = getTotalOptions() > (minItemsForShowMobileSearch || MIN_ITEMS_FOR_SHOW_MOBILE_SEARCH);
|
|
104
|
-
|
|
105
84
|
const moveOtherToEnd = options => {
|
|
106
85
|
const otherIndex = options === null || options === void 0 ? void 0 : options.findIndex(option => (option === null || option === void 0 ? void 0 : option.value) === "other");
|
|
107
|
-
|
|
108
86
|
if (otherIndex > -1) {
|
|
109
87
|
const other = options === null || options === void 0 ? void 0 : options.splice(otherIndex, 1);
|
|
110
88
|
options.push(...other);
|
|
111
89
|
}
|
|
112
|
-
|
|
113
90
|
return options;
|
|
114
91
|
};
|
|
115
|
-
|
|
116
92
|
const optionsWithOtherAtTheEnd = moveOtherToEnd(options);
|
|
117
93
|
options.map(option => {
|
|
118
94
|
if (option.items) {
|
|
@@ -121,48 +97,40 @@ const Dropdown = _ref => {
|
|
|
121
97
|
});
|
|
122
98
|
const filteredGroups = optionsWithOtherAtTheEnd.map(item => {
|
|
123
99
|
var _item$items2;
|
|
124
|
-
|
|
125
|
-
|
|
100
|
+
return {
|
|
101
|
+
...item,
|
|
126
102
|
items: !isSearchable || !isSearchChanged ? item === null || item === void 0 ? void 0 : item.items : (_item$items2 = item.items) === null || _item$items2 === void 0 ? void 0 : _item$items2.slice().filter(el => {
|
|
127
103
|
var _el$label;
|
|
128
|
-
|
|
129
|
-
return (el === null || el === void 0 ? void 0 : (_el$label = el.label) === null || _el$label === void 0 ? void 0 : _el$label.toLowerCase().includes((searchValue === null || searchValue === void 0 ? void 0 : searchValue.toLowerCase()) || "")) || !(el !== null && el !== void 0 && el.value) || (el === null || el === void 0 ? void 0 : el.value) === "";
|
|
104
|
+
return (el === null || el === void 0 || (_el$label = el.label) === null || _el$label === void 0 ? void 0 : _el$label.toLowerCase().includes((searchValue === null || searchValue === void 0 ? void 0 : searchValue.toLowerCase()) || "")) || !(el !== null && el !== void 0 && el.value) || (el === null || el === void 0 ? void 0 : el.value) === "";
|
|
130
105
|
})
|
|
131
106
|
};
|
|
132
107
|
}).filter(item => {
|
|
133
108
|
var _item$items3;
|
|
134
|
-
|
|
135
109
|
return ((_item$items3 = item.items) === null || _item$items3 === void 0 ? void 0 : _item$items3.length) > 0;
|
|
136
110
|
});
|
|
137
111
|
const filteredItems = optionsWithOtherAtTheEnd.filter(item => {
|
|
138
112
|
var _item$items4;
|
|
139
|
-
|
|
140
113
|
return !((_item$items4 = item.items) !== null && _item$items4 !== void 0 && _item$items4.length);
|
|
141
114
|
}).filter(item => {
|
|
142
115
|
var _item$label;
|
|
143
|
-
|
|
144
116
|
if (!isSearchable || !isSearchChanged) return true;
|
|
145
|
-
return (item === null || item === void 0
|
|
117
|
+
return (item === null || item === void 0 || (_item$label = item.label) === null || _item$label === void 0 ? void 0 : _item$label.toLowerCase().includes((searchValue === null || searchValue === void 0 ? void 0 : searchValue.toLowerCase()) || "")) || !(item !== null && item !== void 0 && item.value) || (item === null || item === void 0 ? void 0 : item.value) === "";
|
|
146
118
|
});
|
|
147
119
|
const filteredOptions = [...filteredItems, ...filteredGroups];
|
|
148
120
|
const modalBtnTrigger = entity && entity !== "" && typeof entity === "string";
|
|
149
|
-
|
|
150
121
|
const onChangeHandler = item => {
|
|
151
122
|
setIsOpen(false);
|
|
152
123
|
onChange(item.value);
|
|
153
124
|
};
|
|
154
|
-
|
|
155
125
|
const onKeyDown = e => {
|
|
156
126
|
if (![9, 13].includes(e.keyCode)) return false;
|
|
157
127
|
setIsOpen(false);
|
|
158
128
|
};
|
|
159
|
-
|
|
160
129
|
const onKeyUp = e => {
|
|
161
130
|
if (![9, 13].includes(e.keyCode)) return false;
|
|
162
131
|
setIsOpen(true);
|
|
163
|
-
};
|
|
164
|
-
|
|
165
|
-
|
|
132
|
+
};
|
|
133
|
+
// decorator
|
|
166
134
|
const getDepends = getDependsTrigger => {
|
|
167
135
|
const newOnChange = e => {
|
|
168
136
|
if (e.value === "open_modal") {
|
|
@@ -170,9 +138,9 @@ const Dropdown = _ref => {
|
|
|
170
138
|
} else {
|
|
171
139
|
onChangeHandler(e);
|
|
172
140
|
}
|
|
173
|
-
};
|
|
174
|
-
|
|
141
|
+
};
|
|
175
142
|
|
|
143
|
+
// add pseudo option
|
|
176
144
|
const newOptions = [{
|
|
177
145
|
label: "New ".concat(entity),
|
|
178
146
|
value: "open_modal",
|
|
@@ -185,22 +153,18 @@ const Dropdown = _ref => {
|
|
|
185
153
|
options: getDependsTrigger ? newOptions : options
|
|
186
154
|
};
|
|
187
155
|
};
|
|
188
|
-
|
|
189
156
|
const handleClickOutside = event => {
|
|
190
157
|
var _getListContainer;
|
|
191
|
-
|
|
192
158
|
if (!((_getListContainer = getListContainer()) !== null && _getListContainer !== void 0 && _getListContainer.contains(event === null || event === void 0 ? void 0 : event.target)) && !(dropdownRef !== null && dropdownRef !== void 0 && dropdownRef.current.contains(event === null || event === void 0 ? void 0 : event.target))) {
|
|
193
159
|
setIsOpen(false);
|
|
194
160
|
}
|
|
195
161
|
};
|
|
196
|
-
|
|
197
162
|
const onSearchHandler = name => {
|
|
198
163
|
let inputValue = name;
|
|
199
164
|
if (!isNotValidateASCII) inputValue = (0, _fieldValueFormatters.formatToOnlyASCIICodeText)(inputValue);
|
|
200
165
|
setIsSearchChanged(true);
|
|
201
166
|
setSearchValue(inputValue);
|
|
202
167
|
};
|
|
203
|
-
|
|
204
168
|
const onWrapperClick = e => {
|
|
205
169
|
if (e.target === (wrapperRef === null || wrapperRef === void 0 ? void 0 : wrapperRef.current)) {
|
|
206
170
|
e.stopPropagation();
|
|
@@ -208,12 +172,9 @@ const Dropdown = _ref => {
|
|
|
208
172
|
setIsOpen(false);
|
|
209
173
|
}
|
|
210
174
|
};
|
|
211
|
-
|
|
212
175
|
const hightlightedText = (text, postfix, description) => {
|
|
213
176
|
var _text;
|
|
214
|
-
|
|
215
177
|
const prepare = text => text === null || text === void 0 ? void 0 : text.replace(/[|\\{}()[\]^$+*?.]/g, "\\$&");
|
|
216
|
-
|
|
217
178
|
text = text.replace(/["&<>]/g, function (a) {
|
|
218
179
|
return {
|
|
219
180
|
'"': """,
|
|
@@ -227,15 +188,12 @@ const Dropdown = _ref => {
|
|
|
227
188
|
const descriptionPart = description ? "<span class=\"dropdown__list-item-description\">".concat(description, "</span>") : "";
|
|
228
189
|
return main + postfixPart + descriptionPart;
|
|
229
190
|
};
|
|
230
|
-
|
|
231
191
|
const depend = getDepends(modalBtnTrigger);
|
|
232
|
-
|
|
233
192
|
const getMarkupForElement = (item, index, optTestId) => {
|
|
234
|
-
var _item$value, _item$
|
|
235
|
-
|
|
193
|
+
var _item$value, _item$value2, _item$customMobileIco;
|
|
236
194
|
return /*#__PURE__*/_react.default.createElement("button", {
|
|
237
|
-
"data-testid": "dropdown--button--key-".concat(optTestId || (item === null || item === void 0
|
|
238
|
-
key: (_item$value2 = item.value) === null || _item$value2 === void 0
|
|
195
|
+
"data-testid": "dropdown--button--key-".concat(optTestId || (item === null || item === void 0 || (_item$value = item.value) === null || _item$value === void 0 || (_item$value = _item$value.toString()) === null || _item$value === void 0 ? void 0 : _item$value.replace(/\s/, "-")) || (item === null || item === void 0 ? void 0 : item.key) || "item", "--option"),
|
|
196
|
+
key: (_item$value2 = item.value) === null || _item$value2 === void 0 || (_item$value2 = _item$value2.toString()) === null || _item$value2 === void 0 ? void 0 : _item$value2.replace(/ /g, "_"),
|
|
239
197
|
onMouseDown: () => depend.onChange(item),
|
|
240
198
|
className: (0, _classnames.default)("".concat(RC, "__list-item"), {
|
|
241
199
|
["".concat(RC, "__list-item_active")]: item.value === value,
|
|
@@ -255,22 +213,18 @@ const Dropdown = _ref => {
|
|
|
255
213
|
checked: value
|
|
256
214
|
}) : "");
|
|
257
215
|
};
|
|
258
|
-
|
|
259
216
|
const filteredOptionList = filteredOption => {
|
|
260
|
-
var _filteredOption$items, _filteredOption$label
|
|
261
|
-
|
|
217
|
+
var _filteredOption$items, _filteredOption$label;
|
|
262
218
|
return ((_filteredOption$items = filteredOption.items) === null || _filteredOption$items === void 0 ? void 0 : _filteredOption$items.length) > 0 ? /*#__PURE__*/_react.default.createElement("div", {
|
|
263
|
-
key: (_filteredOption$label = filteredOption.label) === null || _filteredOption$label === void 0
|
|
219
|
+
key: (_filteredOption$label = filteredOption.label) === null || _filteredOption$label === void 0 || (_filteredOption$label = _filteredOption$label.toString()) === null || _filteredOption$label === void 0 ? void 0 : _filteredOption$label.replace(/ /g, "_").concat(Date.now()),
|
|
264
220
|
className: (0, _classnames.default)("".concat(RC, "-group"), filteredOption.className)
|
|
265
221
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
266
222
|
className: "".concat(RC, "-group__name")
|
|
267
223
|
}, filteredOption.label), filteredOption.items.map((el, index) => getMarkupForElement(el, index, el === null || el === void 0 ? void 0 : el.testId))) : null;
|
|
268
224
|
};
|
|
269
|
-
|
|
270
225
|
const selectedLabel = ((_options$find = options.find(el => el.value === value)) === null || _options$find === void 0 ? void 0 : _options$find.label) || options.reduce((acc, item) => {
|
|
271
|
-
var _item$items5
|
|
272
|
-
|
|
273
|
-
return acc || ((_item$items5 = item.items) === null || _item$items5 === void 0 ? void 0 : (_item$items5$find = _item$items5.find(el => el.value === value)) === null || _item$items5$find === void 0 ? void 0 : _item$items5$find.label);
|
|
226
|
+
var _item$items5;
|
|
227
|
+
return acc || ((_item$items5 = item.items) === null || _item$items5 === void 0 || (_item$items5 = _item$items5.find(el => el.value === value)) === null || _item$items5 === void 0 ? void 0 : _item$items5.label);
|
|
274
228
|
}, null);
|
|
275
229
|
const doScrollCallback = (0, _react.useCallback)(e => {
|
|
276
230
|
const {
|
|
@@ -278,68 +232,53 @@ const Dropdown = _ref => {
|
|
|
278
232
|
isWithAnyScrolling,
|
|
279
233
|
scrollingInaccuracy = 0
|
|
280
234
|
} = scrollReactionObj || {};
|
|
281
|
-
|
|
282
235
|
if (callback && typeof callback === "function") {
|
|
283
236
|
if (isWithAnyScrolling) callback(e);else if (Math.round(e.target.clientHeight + e.target.scrollTop + scrollingInaccuracy) >= e.target.scrollHeight) callback(e);
|
|
284
237
|
}
|
|
285
238
|
}, [filteredOptions]);
|
|
286
|
-
|
|
287
239
|
const getParentNode = () => {
|
|
288
240
|
var _ref2, _document$querySelect;
|
|
289
|
-
|
|
290
241
|
if (isDoNotPullOutListOfMainContainer) return dropdownRef.current;
|
|
291
242
|
return (_ref2 = (_document$querySelect = document.querySelector("div#root")) !== null && _document$querySelect !== void 0 ? _document$querySelect : document.querySelector("div#app")) !== null && _ref2 !== void 0 ? _ref2 : document.querySelector("div#storybook-root");
|
|
292
243
|
};
|
|
293
|
-
|
|
294
244
|
const initListContainer = () => {
|
|
295
245
|
const dropdownList = document.createElement("div");
|
|
296
246
|
dropdownList.setAttribute("id", dropdownId);
|
|
297
247
|
dropdownList.classList.add("dropdown__container");
|
|
298
|
-
|
|
299
248
|
if (isMobile) {
|
|
300
249
|
dropdownList.addEventListener("click", e => {
|
|
301
250
|
if (e.target.id === dropdownId) setIsOpen(false);
|
|
302
251
|
});
|
|
303
252
|
}
|
|
304
|
-
|
|
305
253
|
try {
|
|
306
254
|
var _getListContainer2;
|
|
307
|
-
|
|
308
|
-
(_getListContainer2 = getListContainer()) === null || _getListContainer2 === void 0 ? void 0 : _getListContainer2.remove();
|
|
255
|
+
(_getListContainer2 = getListContainer()) === null || _getListContainer2 === void 0 || _getListContainer2.remove();
|
|
309
256
|
} finally {
|
|
310
257
|
if (isMobile) {
|
|
311
258
|
var _getParentNode;
|
|
312
|
-
|
|
313
259
|
try {
|
|
314
260
|
var _document$getElementB;
|
|
315
|
-
|
|
316
|
-
(_document$getElementB = document.getElementById("mlw-".concat(dropdownId))) === null || _document$getElementB === void 0 ? void 0 : _document$getElementB.remove();
|
|
261
|
+
(_document$getElementB = document.getElementById("mlw-".concat(dropdownId))) === null || _document$getElementB === void 0 || _document$getElementB.remove();
|
|
317
262
|
} catch (e) {}
|
|
318
|
-
|
|
319
263
|
const dropdownMobileListWrapper = document.createElement("div");
|
|
320
264
|
dropdownMobileListWrapper.classList.add("dropdown-mobile");
|
|
321
265
|
dropdownMobileListWrapper.setAttribute("id", "mlw-".concat(dropdownId));
|
|
322
|
-
dropdownMobileListWrapper === null || dropdownMobileListWrapper === void 0
|
|
323
|
-
(_getParentNode = getParentNode()) === null || _getParentNode === void 0
|
|
266
|
+
dropdownMobileListWrapper === null || dropdownMobileListWrapper === void 0 || dropdownMobileListWrapper.append(dropdownList);
|
|
267
|
+
(_getParentNode = getParentNode()) === null || _getParentNode === void 0 || _getParentNode.append(dropdownMobileListWrapper);
|
|
324
268
|
} else {
|
|
325
269
|
var _getParentNode2;
|
|
326
|
-
|
|
327
|
-
(_getParentNode2 = getParentNode()) === null || _getParentNode2 === void 0 ? void 0 : _getParentNode2.append(dropdownList);
|
|
270
|
+
(_getParentNode2 = getParentNode()) === null || _getParentNode2 === void 0 || _getParentNode2.append(dropdownList);
|
|
328
271
|
}
|
|
329
272
|
}
|
|
330
273
|
};
|
|
331
|
-
|
|
332
274
|
const getListContainer = () => {
|
|
333
275
|
return document.getElementById(dropdownId);
|
|
334
276
|
};
|
|
335
|
-
|
|
336
277
|
const getListContainerWrapper = () => {
|
|
337
278
|
return document.getElementById("mlw-".concat(dropdownId));
|
|
338
279
|
};
|
|
339
|
-
|
|
340
280
|
const setListContainerStyles = () => {
|
|
341
|
-
var _dropdownRef$current$, _dropdownListWrapperR, _getComputedStyle$mar, _getComputedStyle, _getComputedStyle$
|
|
342
|
-
|
|
281
|
+
var _dropdownRef$current$, _dropdownListWrapperR, _getComputedStyle$mar, _getComputedStyle, _getComputedStyle$max, _getComputedStyle2, _sw$getBoundingClient, _dropdownListWrapperR2, _lh$getBoundingClient;
|
|
343
282
|
const lc = getListContainer();
|
|
344
283
|
if (!lc || !isOpen) return false;
|
|
345
284
|
const windowHeight = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;
|
|
@@ -350,30 +289,27 @@ const Dropdown = _ref => {
|
|
|
350
289
|
top
|
|
351
290
|
} = (_dropdownRef$current$ = dropdownRef === null || dropdownRef === void 0 ? void 0 : dropdownRef.current.getBoundingClientRect()) !== null && _dropdownRef$current$ !== void 0 ? _dropdownRef$current$ : {};
|
|
352
291
|
const sw = lc.getElementsByClassName("dropdown__list")[0];
|
|
353
|
-
const lh = dropdownListWrapperRef === null || dropdownListWrapperRef === void 0
|
|
354
|
-
const margin = parseInt((_getComputedStyle$mar = (_getComputedStyle = getComputedStyle(sw)) === null || _getComputedStyle === void 0
|
|
355
|
-
const maxHeight = initListHeight !== null && initListHeight !== void 0 ? initListHeight : parseInt((_getComputedStyle$max = (_getComputedStyle2 = getComputedStyle(sw)) === null || _getComputedStyle2 === void 0
|
|
292
|
+
const lh = dropdownListWrapperRef === null || dropdownListWrapperRef === void 0 || (_dropdownListWrapperR = dropdownListWrapperRef.current) === null || _dropdownListWrapperR === void 0 ? void 0 : _dropdownListWrapperR.getElementsByClassName("dropdown__list-header")[0];
|
|
293
|
+
const margin = parseInt((_getComputedStyle$mar = (_getComputedStyle = getComputedStyle(sw)) === null || _getComputedStyle === void 0 || (_getComputedStyle = _getComputedStyle.marginTop) === null || _getComputedStyle === void 0 ? void 0 : _getComputedStyle.replace("px", "")) !== null && _getComputedStyle$mar !== void 0 ? _getComputedStyle$mar : 0, 10);
|
|
294
|
+
const maxHeight = initListHeight !== null && initListHeight !== void 0 ? initListHeight : parseInt((_getComputedStyle$max = (_getComputedStyle2 = getComputedStyle(sw)) === null || _getComputedStyle2 === void 0 || (_getComputedStyle2 = _getComputedStyle2.maxHeight) === null || _getComputedStyle2 === void 0 ? void 0 : _getComputedStyle2.replace("px", "")) !== null && _getComputedStyle$max !== void 0 ? _getComputedStyle$max : 0, 10);
|
|
356
295
|
if (initListHeight === null) setInitListHeight(maxHeight);
|
|
357
296
|
const toTop = top - margin;
|
|
358
297
|
const toBottom = windowHeight - top - height - margin * 2;
|
|
359
|
-
const swHeight = sw === null || sw === void 0
|
|
360
|
-
const maxSwHeight = isMobile ? (dropdownListWrapperRef === null || dropdownListWrapperRef === void 0
|
|
298
|
+
const swHeight = sw === null || sw === void 0 || (_sw$getBoundingClient = sw.getBoundingClientRect()) === null || _sw$getBoundingClient === void 0 ? void 0 : _sw$getBoundingClient.height;
|
|
299
|
+
const maxSwHeight = isMobile ? (dropdownListWrapperRef === null || dropdownListWrapperRef === void 0 || (_dropdownListWrapperR2 = dropdownListWrapperRef.current) === null || _dropdownListWrapperR2 === void 0 || (_dropdownListWrapperR2 = _dropdownListWrapperR2.getBoundingClientRect()) === null || _dropdownListWrapperR2 === void 0 ? void 0 : _dropdownListWrapperR2.height) - (lh === null || lh === void 0 || (_lh$getBoundingClient = lh.getBoundingClientRect()) === null || _lh$getBoundingClient === void 0 ? void 0 : _lh$getBoundingClient.height) : toTop >= maxHeight || toBottom >= maxHeight ? maxHeight - 3 * margin : toTop > toBottom ? toTop - 3 * margin : toBottom - 4 * margin;
|
|
361
300
|
const listPos = toTop < toBottom || toBottom >= swHeight ? "bottom" : "top";
|
|
362
301
|
lc.style.minWidth = "".concat(width, "px");
|
|
363
302
|
lc.style.left = "".concat(left, "px");
|
|
364
303
|
lc.style.top = "".concat(listPos === "bottom" ? top + height : top - swHeight - 3 * margin, "px");
|
|
365
304
|
sw.style.maxHeight = "".concat(maxSwHeight, "px");
|
|
366
305
|
};
|
|
367
|
-
|
|
368
306
|
const renderListContainer = () => {
|
|
369
307
|
const lc = getListContainer();
|
|
370
308
|
if (!lc) return null;
|
|
371
309
|
return /*#__PURE__*/(0, _reactDom.createPortal)(getListMarkUp(), lc);
|
|
372
310
|
};
|
|
373
|
-
|
|
374
311
|
const getSortedOptions = data => {
|
|
375
312
|
let newData = [...data];
|
|
376
|
-
|
|
377
313
|
if (sortAlphabetical) {
|
|
378
314
|
const openModalOption = newData.filter(_ref3 => {
|
|
379
315
|
let {
|
|
@@ -397,17 +333,13 @@ const Dropdown = _ref => {
|
|
|
397
333
|
if (item !== null && item !== void 0 && item.items) {
|
|
398
334
|
item.items = [...item.items].sort(_utils.compareAlphabetical);
|
|
399
335
|
}
|
|
400
|
-
|
|
401
336
|
return item;
|
|
402
337
|
});
|
|
403
338
|
}
|
|
404
|
-
|
|
405
339
|
return newData;
|
|
406
340
|
};
|
|
407
|
-
|
|
408
341
|
const getListMarkUp = () => {
|
|
409
342
|
var _getSortedOptions;
|
|
410
|
-
|
|
411
343
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
412
344
|
className: (0, _classnames.default)("".concat(RC, "__container-wrapper")),
|
|
413
345
|
ref: wrapperRef,
|
|
@@ -456,19 +388,17 @@ const Dropdown = _ref => {
|
|
|
456
388
|
ref: dropdownListRef
|
|
457
389
|
}, (_getSortedOptions = getSortedOptions(depend.options)) === null || _getSortedOptions === void 0 ? void 0 : _getSortedOptions.map(option => {
|
|
458
390
|
var _option$items, _option$label;
|
|
459
|
-
|
|
460
391
|
if (option !== null && option !== void 0 && (_option$items = option.items) !== null && _option$items !== void 0 && _option$items.length) {
|
|
461
392
|
if (!isSearchable || !isSearchChanged) {
|
|
462
393
|
return filteredOptionList(option);
|
|
463
394
|
} else {
|
|
464
395
|
var _option$items2;
|
|
465
|
-
|
|
466
396
|
const items = (_option$items2 = option.items) === null || _option$items2 === void 0 ? void 0 : _option$items2.slice().filter(el => {
|
|
467
397
|
var _el$label2;
|
|
468
|
-
|
|
469
|
-
return (el === null || el === void 0 ? void 0 : (_el$label2 = el.label) === null || _el$label2 === void 0 ? void 0 : _el$label2.toLowerCase().includes((searchValue === null || searchValue === void 0 ? void 0 : searchValue.toLowerCase()) || "")) || !(el !== null && el !== void 0 && el.value) || (el === null || el === void 0 ? void 0 : el.value) === "";
|
|
398
|
+
return (el === null || el === void 0 || (_el$label2 = el.label) === null || _el$label2 === void 0 ? void 0 : _el$label2.toLowerCase().includes((searchValue === null || searchValue === void 0 ? void 0 : searchValue.toLowerCase()) || "")) || !(el !== null && el !== void 0 && el.value) || (el === null || el === void 0 ? void 0 : el.value) === "";
|
|
470
399
|
});
|
|
471
|
-
if (items !== null && items !== void 0 && items.length) return filteredOptionList({
|
|
400
|
+
if (items !== null && items !== void 0 && items.length) return filteredOptionList({
|
|
401
|
+
...option,
|
|
472
402
|
items
|
|
473
403
|
});
|
|
474
404
|
return null;
|
|
@@ -480,14 +410,12 @@ const Dropdown = _ref => {
|
|
|
480
410
|
className: "".concat(RC, "__list-item ").concat(RC, "__list-item--no-options")
|
|
481
411
|
}, noOptionsText), disabled && isOpen && /*#__PURE__*/_react.default.createElement(_DropdownLoader.default, null))));
|
|
482
412
|
};
|
|
483
|
-
|
|
484
413
|
const toggleList = e => {
|
|
485
|
-
e === null || e === void 0
|
|
414
|
+
e === null || e === void 0 || e.stopPropagation();
|
|
486
415
|
setIsOpen(isOpen => {
|
|
487
416
|
return !isOpen;
|
|
488
417
|
});
|
|
489
418
|
};
|
|
490
|
-
|
|
491
419
|
const closeList = isOpen ? handleClickOutside : () => {};
|
|
492
420
|
(0, _react.useEffect)(() => {
|
|
493
421
|
if (!isDoNotPullOutListOfMainContainer || dropdownRef.current) {
|
|
@@ -496,7 +424,6 @@ const Dropdown = _ref => {
|
|
|
496
424
|
}, [isDoNotPullOutListOfMainContainer, dropdownRef.current]);
|
|
497
425
|
(0, _react.useLayoutEffect)(() => {
|
|
498
426
|
var _getListContainer3;
|
|
499
|
-
|
|
500
427
|
if (!isMobile) {
|
|
501
428
|
window.addEventListener("resize", setListContainerStyles);
|
|
502
429
|
window.addEventListener("mousewheel", closeList);
|
|
@@ -508,21 +435,19 @@ const Dropdown = _ref => {
|
|
|
508
435
|
window.removeEventListener("scroll", closeList);
|
|
509
436
|
window.removeEventListener("touchmove", closeList);
|
|
510
437
|
}
|
|
511
|
-
|
|
512
|
-
(_getListContainer3 = getListContainer()) === null || _getListContainer3 === void 0 ? void 0 : _getListContainer3.addEventListener("click", closeList);
|
|
438
|
+
(_getListContainer3 = getListContainer()) === null || _getListContainer3 === void 0 || _getListContainer3.addEventListener("click", closeList);
|
|
513
439
|
return () => {
|
|
514
440
|
var _getListContainer4;
|
|
515
|
-
|
|
516
441
|
window.removeEventListener("resize", setListContainerStyles);
|
|
517
442
|
window.removeEventListener("mousewheel", closeList);
|
|
518
443
|
window.removeEventListener("scroll", closeList);
|
|
519
444
|
window.removeEventListener("touchmove", closeList);
|
|
520
|
-
(_getListContainer4 = getListContainer()) === null || _getListContainer4 === void 0
|
|
445
|
+
(_getListContainer4 = getListContainer()) === null || _getListContainer4 === void 0 || _getListContainer4.removeEventListener("click", closeList);
|
|
521
446
|
};
|
|
522
447
|
}, [getListContainer]);
|
|
523
448
|
(0, _react.useLayoutEffect)(() => {
|
|
524
449
|
setListContainerStyles();
|
|
525
|
-
}, [isOpen, searchValue, isMobile, options, dropdownListWrapperRef === null || dropdownListWrapperRef === void 0
|
|
450
|
+
}, [isOpen, searchValue, isMobile, options, dropdownListWrapperRef === null || dropdownListWrapperRef === void 0 || (_dropdownListWrapperR3 = dropdownListWrapperRef.current) === null || _dropdownListWrapperR3 === void 0 || (_dropdownListWrapperR3 = _dropdownListWrapperR3.getBoundingClientRect()) === null || _dropdownListWrapperR3 === void 0 ? void 0 : _dropdownListWrapperR3.height]);
|
|
526
451
|
(0, _react.useEffect)(() => {
|
|
527
452
|
document.addEventListener("click", handleClickOutside, true);
|
|
528
453
|
return () => document.removeEventListener("click", handleClickOutside, true);
|
|
@@ -531,11 +456,9 @@ const Dropdown = _ref => {
|
|
|
531
456
|
if (!isOpen) {
|
|
532
457
|
setIsSearchChanged(false);
|
|
533
458
|
}
|
|
534
|
-
|
|
535
459
|
if (scrollReactionObj && typeof scrollReactionObj === "object" && isOpen && dropdownListRef && dropdownListRef.current) {
|
|
536
460
|
dropdownListRef.current.addEventListener("scroll", doScrollCallback);
|
|
537
461
|
}
|
|
538
|
-
|
|
539
462
|
return () => {
|
|
540
463
|
if (scrollReactionObj && typeof scrollReactionObj === "object") removeEventListener("scroll", doScrollCallback);
|
|
541
464
|
};
|
|
@@ -545,26 +468,20 @@ const Dropdown = _ref => {
|
|
|
545
468
|
setSearchValue(selectedLabel);
|
|
546
469
|
setTimeout(() => searchInputRef.current.select(), 1);
|
|
547
470
|
}
|
|
548
|
-
|
|
549
471
|
if (!isSearchInputFocused && !isOpen) {
|
|
550
472
|
setSearchValue(null);
|
|
551
473
|
}
|
|
552
474
|
}, [isSearchInputFocused]);
|
|
553
475
|
(0, _react.useEffect)(() => {
|
|
554
476
|
var _searchInputRef$curre;
|
|
555
|
-
|
|
556
|
-
if (isOpen && !isSearchInputFocused && searchInputRef !== null && searchInputRef !== void 0 && searchInputRef.current && !isMobile) searchInputRef === null || searchInputRef === void 0 ? void 0 : (_searchInputRef$curre = searchInputRef.current) === null || _searchInputRef$curre === void 0 ? void 0 : _searchInputRef$curre.focus();
|
|
557
|
-
|
|
477
|
+
if (isOpen && !isSearchInputFocused && searchInputRef !== null && searchInputRef !== void 0 && searchInputRef.current && !isMobile) searchInputRef === null || searchInputRef === void 0 || (_searchInputRef$curre = searchInputRef.current) === null || _searchInputRef$curre === void 0 || _searchInputRef$curre.focus();
|
|
558
478
|
if (isOpen) {
|
|
559
479
|
var _getListContainer5;
|
|
560
|
-
|
|
561
|
-
(_getListContainer5 = getListContainer()) === null || _getListContainer5 === void 0 ? void 0 : _getListContainer5.classList.add("dropdown__container--opened");
|
|
480
|
+
(_getListContainer5 = getListContainer()) === null || _getListContainer5 === void 0 || _getListContainer5.classList.add("dropdown__container--opened");
|
|
562
481
|
} else {
|
|
563
482
|
var _getListContainer6;
|
|
564
|
-
|
|
565
|
-
(_getListContainer6 = getListContainer()) === null || _getListContainer6 === void 0 ? void 0 : _getListContainer6.classList.remove("dropdown__container--opened");
|
|
483
|
+
(_getListContainer6 = getListContainer()) === null || _getListContainer6 === void 0 || _getListContainer6.classList.remove("dropdown__container--opened");
|
|
566
484
|
}
|
|
567
|
-
|
|
568
485
|
if (!isOpen && isMobile) {
|
|
569
486
|
setSearchValue(null);
|
|
570
487
|
}
|
|
@@ -572,41 +489,34 @@ const Dropdown = _ref => {
|
|
|
572
489
|
(0, _react.useEffect)(() => {
|
|
573
490
|
if (isOpen && isMobile && dropdownListRef !== null && dropdownListRef !== void 0 && dropdownListRef.current && !searchValue) {
|
|
574
491
|
var _dropdownListRef$curr, _dropdownListRef$curr2, _dropdownListRef$curr3, _dropdownListRef$curr4;
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
setIsFixedMaxHeight(isScrollableList || (dropdownListRef === null || dropdownListRef === void 0 ? void 0 : (_dropdownListRef$curr3 = dropdownListRef.current) === null || _dropdownListRef$curr3 === void 0 ? void 0 : _dropdownListRef$curr3.scrollHeight) > (dropdownListRef === null || dropdownListRef === void 0 ? void 0 : (_dropdownListRef$curr4 = dropdownListRef.current) === null || _dropdownListRef$curr4 === void 0 ? void 0 : _dropdownListRef$curr4.clientHeight));
|
|
492
|
+
setIsScrollableList((dropdownListRef === null || dropdownListRef === void 0 || (_dropdownListRef$curr = dropdownListRef.current) === null || _dropdownListRef$curr === void 0 ? void 0 : _dropdownListRef$curr.scrollHeight) > (dropdownListRef === null || dropdownListRef === void 0 || (_dropdownListRef$curr2 = dropdownListRef.current) === null || _dropdownListRef$curr2 === void 0 ? void 0 : _dropdownListRef$curr2.clientHeight));
|
|
493
|
+
setIsFixedMaxHeight(isScrollableList || (dropdownListRef === null || dropdownListRef === void 0 || (_dropdownListRef$curr3 = dropdownListRef.current) === null || _dropdownListRef$curr3 === void 0 ? void 0 : _dropdownListRef$curr3.scrollHeight) > (dropdownListRef === null || dropdownListRef === void 0 || (_dropdownListRef$curr4 = dropdownListRef.current) === null || _dropdownListRef$curr4 === void 0 ? void 0 : _dropdownListRef$curr4.clientHeight));
|
|
578
494
|
}
|
|
579
|
-
}, [isOpen, isMobile, isScrollableList, dropdownListRef === null || dropdownListRef === void 0 ? void 0 : dropdownListRef.current, dropdownListRef === null || dropdownListRef === void 0
|
|
495
|
+
}, [isOpen, isMobile, isScrollableList, dropdownListRef === null || dropdownListRef === void 0 ? void 0 : dropdownListRef.current, dropdownListRef === null || dropdownListRef === void 0 || (_dropdownListRef$curr5 = dropdownListRef.current) === null || _dropdownListRef$curr5 === void 0 ? void 0 : _dropdownListRef$curr5.scrollHeight, dropdownListRef === null || dropdownListRef === void 0 || (_dropdownListRef$curr6 = dropdownListRef.current) === null || _dropdownListRef$curr6 === void 0 ? void 0 : _dropdownListRef$curr6.clientHeight]);
|
|
580
496
|
(0, _react.useEffect)(() => {
|
|
581
497
|
const setScrollTopValue = e => {
|
|
582
498
|
setScrollTop(parseInt(e.target.scrollTop, 10));
|
|
583
499
|
};
|
|
584
|
-
|
|
585
500
|
if (isOpen && isMobile && dropdownListRef !== null && dropdownListRef !== void 0 && dropdownListRef.current) {
|
|
586
501
|
var _dropdownListRef$curr7;
|
|
587
|
-
|
|
588
|
-
dropdownListRef === null || dropdownListRef === void 0 ? void 0 : (_dropdownListRef$curr7 = dropdownListRef.current) === null || _dropdownListRef$curr7 === void 0 ? void 0 : _dropdownListRef$curr7.addEventListener("scroll", setScrollTopValue);
|
|
502
|
+
dropdownListRef === null || dropdownListRef === void 0 || (_dropdownListRef$curr7 = dropdownListRef.current) === null || _dropdownListRef$curr7 === void 0 || _dropdownListRef$curr7.addEventListener("scroll", setScrollTopValue);
|
|
589
503
|
}
|
|
590
|
-
|
|
591
504
|
return () => {
|
|
592
505
|
var _dropdownListRef$curr8;
|
|
593
|
-
|
|
594
|
-
dropdownListRef === null || dropdownListRef === void 0 ? void 0 : (_dropdownListRef$curr8 = dropdownListRef.current) === null || _dropdownListRef$curr8 === void 0 ? void 0 : _dropdownListRef$curr8.removeEventListener("scroll", setScrollTopValue);
|
|
506
|
+
dropdownListRef === null || dropdownListRef === void 0 || (_dropdownListRef$curr8 = dropdownListRef.current) === null || _dropdownListRef$curr8 === void 0 || _dropdownListRef$curr8.removeEventListener("scroll", setScrollTopValue);
|
|
595
507
|
};
|
|
596
508
|
}, [isOpen, isMobile, dropdownListRef === null || dropdownListRef === void 0 ? void 0 : dropdownListRef.current]);
|
|
597
509
|
(0, _react.useEffect)(() => {
|
|
598
510
|
if (dropdownListRef !== null && dropdownListRef !== void 0 && dropdownListRef.current) {
|
|
599
511
|
var _dropdownListRef$curr9, _dropdownListRef$curr10;
|
|
600
|
-
|
|
601
|
-
setScrollHeight(parseInt((dropdownListRef === null || dropdownListRef === void 0 ? void 0 : (_dropdownListRef$curr9 = dropdownListRef.current) === null || _dropdownListRef$curr9 === void 0 ? void 0 : _dropdownListRef$curr9.scrollHeight) - (dropdownListRef === null || dropdownListRef === void 0 ? void 0 : (_dropdownListRef$curr10 = dropdownListRef.current) === null || _dropdownListRef$curr10 === void 0 ? void 0 : _dropdownListRef$curr10.clientHeight), 10));
|
|
512
|
+
setScrollHeight(parseInt((dropdownListRef === null || dropdownListRef === void 0 || (_dropdownListRef$curr9 = dropdownListRef.current) === null || _dropdownListRef$curr9 === void 0 ? void 0 : _dropdownListRef$curr9.scrollHeight) - (dropdownListRef === null || dropdownListRef === void 0 || (_dropdownListRef$curr10 = dropdownListRef.current) === null || _dropdownListRef$curr10 === void 0 ? void 0 : _dropdownListRef$curr10.clientHeight), 10));
|
|
602
513
|
}
|
|
603
514
|
}, [scrollTop, dropdownListRef === null || dropdownListRef === void 0 ? void 0 : dropdownListRef.current]);
|
|
604
515
|
(0, _react.useEffect)(() => {
|
|
605
516
|
return () => {
|
|
606
517
|
var _getListContainer7, _getListContainerWrap;
|
|
607
|
-
|
|
608
|
-
(
|
|
609
|
-
(_getListContainerWrap = getListContainerWrapper()) === null || _getListContainerWrap === void 0 ? void 0 : _getListContainerWrap.remove();
|
|
518
|
+
(_getListContainer7 = getListContainer()) === null || _getListContainer7 === void 0 || _getListContainer7.remove();
|
|
519
|
+
(_getListContainerWrap = getListContainerWrapper()) === null || _getListContainerWrap === void 0 || _getListContainerWrap.remove();
|
|
610
520
|
};
|
|
611
521
|
}, []);
|
|
612
522
|
const postfixText = selectedLabel && ((_filteredOptions$find = filteredOptions.find(option => option.value === value)) === null || _filteredOptions$find === void 0 ? void 0 : _filteredOptions$find.postfix) || null;
|
|
@@ -624,7 +534,7 @@ const Dropdown = _ref => {
|
|
|
624
534
|
onClick: toggleList,
|
|
625
535
|
onKeyDown: onKeyDown,
|
|
626
536
|
onKeyUp: onKeyUp,
|
|
627
|
-
tabIndex: tabIndex === null || tabIndex === void 0
|
|
537
|
+
tabIndex: tabIndex === null || tabIndex === void 0 || (_tabIndex$toString = tabIndex.toString) === null || _tabIndex$toString === void 0 ? void 0 : _tabIndex$toString.call(tabIndex)
|
|
628
538
|
}, customTrigger || /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, isSearchable && !isMobile ? /*#__PURE__*/_react.default.createElement("input", (0, _extends2.default)({
|
|
629
539
|
ref: searchInputRef,
|
|
630
540
|
className: "".concat(RC, "__input"),
|
|
@@ -653,6 +563,4 @@ const Dropdown = _ref => {
|
|
|
653
563
|
className: "mobile-icon"
|
|
654
564
|
}) : isOpen ? /*#__PURE__*/_react.default.createElement(_reactFeather.ChevronUp, null) : /*#__PURE__*/_react.default.createElement(_reactFeather.ChevronDown, null)))), isOpen && renderListContainer());
|
|
655
565
|
};
|
|
656
|
-
|
|
657
|
-
var _default = Dropdown;
|
|
658
|
-
exports.default = _default;
|
|
566
|
+
var _default = exports.default = Dropdown;
|
|
@@ -1,16 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.default = void 0;
|
|
9
|
-
|
|
10
8
|
var _react = _interopRequireDefault(require("react"));
|
|
11
|
-
|
|
12
9
|
require("./DropdownLoader.scss");
|
|
13
|
-
|
|
14
10
|
const DropdownLoader = function (_ref) {
|
|
15
11
|
let {
|
|
16
12
|
variant
|
|
@@ -21,6 +17,4 @@ const DropdownLoader = function (_ref) {
|
|
|
21
17
|
className: "lds-ring".concat(variant === "little" ? " lds-ring_little" : "")
|
|
22
18
|
}, /*#__PURE__*/_react.default.createElement("div", null), /*#__PURE__*/_react.default.createElement("div", null), /*#__PURE__*/_react.default.createElement("div", null), /*#__PURE__*/_react.default.createElement("div", null)));
|
|
23
19
|
};
|
|
24
|
-
|
|
25
|
-
var _default = DropdownLoader;
|
|
26
|
-
exports.default = _default;
|
|
20
|
+
var _default = exports.default = DropdownLoader;
|