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