intelicoreact 1.3.52 → 1.3.53
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 +142 -50
- package/dist/Atomic/FormElements/Dropdown/components/DropdownLoader.js +7 -1
- package/dist/Atomic/FormElements/DropdownLiveSearch/DropdownLiveSearch.js +52 -11
- 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 +27 -6
- package/dist/Atomic/FormElements/InputDateRange/InputDateRange.js +42 -7
- 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 +44 -14
- 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 +72 -14
- package/dist/Atomic/FormElements/RangeSlider2/RangeSlider2.js +124 -40
- 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 +154 -56
- package/dist/Atomic/FormElements/TagsDropdown/TagsDropdown.scss +5 -3
- 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 +16 -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 +16 -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 +30 -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 +90 -65
- package/dist/Atomic/UI/ModalBackup/ModalHOC.js +21 -12
- package/dist/Atomic/UI/ModalBackup/partials/ModalFooter.js +11 -6
- package/dist/Atomic/UI/ModalBackup/partials/ModalTitle.js +19 -15
- 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 +43 -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 +19 -7
- package/dist/Classes/RESTAPI/partials/ApiUtils.js +35 -28
- 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 +12 -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/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 +128 -49
- 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,22 +91,28 @@ 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]);
|
|
83
103
|
if (isMobile) isSearchable = getTotalOptions() > (minItemsForShowMobileSearch || MIN_ITEMS_FOR_SHOW_MOBILE_SEARCH);
|
|
104
|
+
|
|
84
105
|
const moveOtherToEnd = options => {
|
|
85
106
|
const otherIndex = options === null || options === void 0 ? void 0 : options.findIndex(option => (option === null || option === void 0 ? void 0 : option.value) === "other");
|
|
107
|
+
|
|
86
108
|
if (otherIndex > -1) {
|
|
87
109
|
const other = options === null || options === void 0 ? void 0 : options.splice(otherIndex, 1);
|
|
88
110
|
options.push(...other);
|
|
89
111
|
}
|
|
112
|
+
|
|
90
113
|
return options;
|
|
91
114
|
};
|
|
115
|
+
|
|
92
116
|
const optionsWithOtherAtTheEnd = moveOtherToEnd(options);
|
|
93
117
|
options.map(option => {
|
|
94
118
|
if (option.items) {
|
|
@@ -97,40 +121,48 @@ const Dropdown = _ref => {
|
|
|
97
121
|
});
|
|
98
122
|
const filteredGroups = optionsWithOtherAtTheEnd.map(item => {
|
|
99
123
|
var _item$items2;
|
|
100
|
-
|
|
101
|
-
|
|
124
|
+
|
|
125
|
+
return { ...item,
|
|
102
126
|
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 => {
|
|
103
127
|
var _el$label;
|
|
104
|
-
|
|
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) === "";
|
|
105
130
|
})
|
|
106
131
|
};
|
|
107
132
|
}).filter(item => {
|
|
108
133
|
var _item$items3;
|
|
134
|
+
|
|
109
135
|
return ((_item$items3 = item.items) === null || _item$items3 === void 0 ? void 0 : _item$items3.length) > 0;
|
|
110
136
|
});
|
|
111
137
|
const filteredItems = optionsWithOtherAtTheEnd.filter(item => {
|
|
112
138
|
var _item$items4;
|
|
139
|
+
|
|
113
140
|
return !((_item$items4 = item.items) !== null && _item$items4 !== void 0 && _item$items4.length);
|
|
114
141
|
}).filter(item => {
|
|
115
142
|
var _item$label;
|
|
143
|
+
|
|
116
144
|
if (!isSearchable || !isSearchChanged) return true;
|
|
117
|
-
return (item === null || item === void 0
|
|
145
|
+
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) === "";
|
|
118
146
|
});
|
|
119
147
|
const filteredOptions = [...filteredItems, ...filteredGroups];
|
|
120
148
|
const modalBtnTrigger = entity && entity !== "" && typeof entity === "string";
|
|
149
|
+
|
|
121
150
|
const onChangeHandler = item => {
|
|
122
151
|
setIsOpen(false);
|
|
123
152
|
onChange(item.value);
|
|
124
153
|
};
|
|
154
|
+
|
|
125
155
|
const onKeyDown = e => {
|
|
126
156
|
if (![9, 13].includes(e.keyCode)) return false;
|
|
127
157
|
setIsOpen(false);
|
|
128
158
|
};
|
|
159
|
+
|
|
129
160
|
const onKeyUp = e => {
|
|
130
161
|
if (![9, 13].includes(e.keyCode)) return false;
|
|
131
162
|
setIsOpen(true);
|
|
132
|
-
};
|
|
133
|
-
|
|
163
|
+
}; // decorator
|
|
164
|
+
|
|
165
|
+
|
|
134
166
|
const getDepends = getDependsTrigger => {
|
|
135
167
|
const newOnChange = e => {
|
|
136
168
|
if (e.value === "open_modal") {
|
|
@@ -138,9 +170,9 @@ const Dropdown = _ref => {
|
|
|
138
170
|
} else {
|
|
139
171
|
onChangeHandler(e);
|
|
140
172
|
}
|
|
141
|
-
};
|
|
173
|
+
}; // add pseudo option
|
|
174
|
+
|
|
142
175
|
|
|
143
|
-
// add pseudo option
|
|
144
176
|
const newOptions = [{
|
|
145
177
|
label: "New ".concat(entity),
|
|
146
178
|
value: "open_modal",
|
|
@@ -153,18 +185,22 @@ const Dropdown = _ref => {
|
|
|
153
185
|
options: getDependsTrigger ? newOptions : options
|
|
154
186
|
};
|
|
155
187
|
};
|
|
188
|
+
|
|
156
189
|
const handleClickOutside = event => {
|
|
157
190
|
var _getListContainer;
|
|
191
|
+
|
|
158
192
|
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))) {
|
|
159
193
|
setIsOpen(false);
|
|
160
194
|
}
|
|
161
195
|
};
|
|
196
|
+
|
|
162
197
|
const onSearchHandler = name => {
|
|
163
198
|
let inputValue = name;
|
|
164
199
|
if (!isNotValidateASCII) inputValue = (0, _fieldValueFormatters.formatToOnlyASCIICodeText)(inputValue);
|
|
165
200
|
setIsSearchChanged(true);
|
|
166
201
|
setSearchValue(inputValue);
|
|
167
202
|
};
|
|
203
|
+
|
|
168
204
|
const onWrapperClick = e => {
|
|
169
205
|
if (e.target === (wrapperRef === null || wrapperRef === void 0 ? void 0 : wrapperRef.current)) {
|
|
170
206
|
e.stopPropagation();
|
|
@@ -172,9 +208,12 @@ const Dropdown = _ref => {
|
|
|
172
208
|
setIsOpen(false);
|
|
173
209
|
}
|
|
174
210
|
};
|
|
211
|
+
|
|
175
212
|
const hightlightedText = (text, postfix, description) => {
|
|
176
213
|
var _text;
|
|
214
|
+
|
|
177
215
|
const prepare = text => text === null || text === void 0 ? void 0 : text.replace(/[|\\{}()[\]^$+*?.]/g, "\\$&");
|
|
216
|
+
|
|
178
217
|
text = text.replace(/["&<>]/g, function (a) {
|
|
179
218
|
return {
|
|
180
219
|
'"': """,
|
|
@@ -188,12 +227,15 @@ const Dropdown = _ref => {
|
|
|
188
227
|
const descriptionPart = description ? "<span class=\"dropdown__list-item-description\">".concat(description, "</span>") : "";
|
|
189
228
|
return main + postfixPart + descriptionPart;
|
|
190
229
|
};
|
|
230
|
+
|
|
191
231
|
const depend = getDepends(modalBtnTrigger);
|
|
232
|
+
|
|
192
233
|
const getMarkupForElement = (item, index, optTestId) => {
|
|
193
|
-
var _item$value, _item$value2, _item$customMobileIco;
|
|
234
|
+
var _item$value, _item$value$toString, _item$value2, _item$value2$toString, _item$customMobileIco;
|
|
235
|
+
|
|
194
236
|
return /*#__PURE__*/_react.default.createElement("button", {
|
|
195
|
-
"data-testid": "dropdown--button--key-".concat(optTestId || (item === null || item === void 0
|
|
196
|
-
key: (_item$value2 = item.value) === null || _item$value2 === void 0
|
|
237
|
+
"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"),
|
|
238
|
+
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, "_"),
|
|
197
239
|
onMouseDown: () => depend.onChange(item),
|
|
198
240
|
className: (0, _classnames.default)("".concat(RC, "__list-item"), {
|
|
199
241
|
["".concat(RC, "__list-item_active")]: item.value === value,
|
|
@@ -213,18 +255,22 @@ const Dropdown = _ref => {
|
|
|
213
255
|
checked: value
|
|
214
256
|
}) : "");
|
|
215
257
|
};
|
|
258
|
+
|
|
216
259
|
const filteredOptionList = filteredOption => {
|
|
217
|
-
var _filteredOption$items, _filteredOption$label;
|
|
260
|
+
var _filteredOption$items, _filteredOption$label, _filteredOption$label2;
|
|
261
|
+
|
|
218
262
|
return ((_filteredOption$items = filteredOption.items) === null || _filteredOption$items === void 0 ? void 0 : _filteredOption$items.length) > 0 ? /*#__PURE__*/_react.default.createElement("div", {
|
|
219
|
-
key: (_filteredOption$label = filteredOption.label) === null || _filteredOption$label === void 0
|
|
263
|
+
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()),
|
|
220
264
|
className: (0, _classnames.default)("".concat(RC, "-group"), filteredOption.className)
|
|
221
265
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
222
266
|
className: "".concat(RC, "-group__name")
|
|
223
267
|
}, filteredOption.label), filteredOption.items.map((el, index) => getMarkupForElement(el, index, el === null || el === void 0 ? void 0 : el.testId))) : null;
|
|
224
268
|
};
|
|
269
|
+
|
|
225
270
|
const selectedLabel = ((_options$find = options.find(el => el.value === value)) === null || _options$find === void 0 ? void 0 : _options$find.label) || options.reduce((acc, item) => {
|
|
226
|
-
var _item$items5;
|
|
227
|
-
|
|
271
|
+
var _item$items5, _item$items5$find;
|
|
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);
|
|
228
274
|
}, null);
|
|
229
275
|
const doScrollCallback = (0, _react.useCallback)(e => {
|
|
230
276
|
const {
|
|
@@ -232,53 +278,68 @@ const Dropdown = _ref => {
|
|
|
232
278
|
isWithAnyScrolling,
|
|
233
279
|
scrollingInaccuracy = 0
|
|
234
280
|
} = scrollReactionObj || {};
|
|
281
|
+
|
|
235
282
|
if (callback && typeof callback === "function") {
|
|
236
283
|
if (isWithAnyScrolling) callback(e);else if (Math.round(e.target.clientHeight + e.target.scrollTop + scrollingInaccuracy) >= e.target.scrollHeight) callback(e);
|
|
237
284
|
}
|
|
238
285
|
}, [filteredOptions]);
|
|
286
|
+
|
|
239
287
|
const getParentNode = () => {
|
|
240
288
|
var _ref2, _document$querySelect;
|
|
289
|
+
|
|
241
290
|
if (isDoNotPullOutListOfMainContainer) return dropdownRef.current;
|
|
242
291
|
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");
|
|
243
292
|
};
|
|
293
|
+
|
|
244
294
|
const initListContainer = () => {
|
|
245
295
|
const dropdownList = document.createElement("div");
|
|
246
296
|
dropdownList.setAttribute("id", dropdownId);
|
|
247
297
|
dropdownList.classList.add("dropdown__container");
|
|
298
|
+
|
|
248
299
|
if (isMobile) {
|
|
249
300
|
dropdownList.addEventListener("click", e => {
|
|
250
301
|
if (e.target.id === dropdownId) setIsOpen(false);
|
|
251
302
|
});
|
|
252
303
|
}
|
|
304
|
+
|
|
253
305
|
try {
|
|
254
306
|
var _getListContainer2;
|
|
255
|
-
|
|
307
|
+
|
|
308
|
+
(_getListContainer2 = getListContainer()) === null || _getListContainer2 === void 0 ? void 0 : _getListContainer2.remove();
|
|
256
309
|
} finally {
|
|
257
310
|
if (isMobile) {
|
|
258
311
|
var _getParentNode;
|
|
312
|
+
|
|
259
313
|
try {
|
|
260
314
|
var _document$getElementB;
|
|
261
|
-
|
|
315
|
+
|
|
316
|
+
(_document$getElementB = document.getElementById("mlw-".concat(dropdownId))) === null || _document$getElementB === void 0 ? void 0 : _document$getElementB.remove();
|
|
262
317
|
} catch (e) {}
|
|
318
|
+
|
|
263
319
|
const dropdownMobileListWrapper = document.createElement("div");
|
|
264
320
|
dropdownMobileListWrapper.classList.add("dropdown-mobile");
|
|
265
321
|
dropdownMobileListWrapper.setAttribute("id", "mlw-".concat(dropdownId));
|
|
266
|
-
dropdownMobileListWrapper === null || dropdownMobileListWrapper === void 0
|
|
267
|
-
(_getParentNode = getParentNode()) === null || _getParentNode === void 0
|
|
322
|
+
dropdownMobileListWrapper === null || dropdownMobileListWrapper === void 0 ? void 0 : dropdownMobileListWrapper.append(dropdownList);
|
|
323
|
+
(_getParentNode = getParentNode()) === null || _getParentNode === void 0 ? void 0 : _getParentNode.append(dropdownMobileListWrapper);
|
|
268
324
|
} else {
|
|
269
325
|
var _getParentNode2;
|
|
270
|
-
|
|
326
|
+
|
|
327
|
+
(_getParentNode2 = getParentNode()) === null || _getParentNode2 === void 0 ? void 0 : _getParentNode2.append(dropdownList);
|
|
271
328
|
}
|
|
272
329
|
}
|
|
273
330
|
};
|
|
331
|
+
|
|
274
332
|
const getListContainer = () => {
|
|
275
333
|
return document.getElementById(dropdownId);
|
|
276
334
|
};
|
|
335
|
+
|
|
277
336
|
const getListContainerWrapper = () => {
|
|
278
337
|
return document.getElementById("mlw-".concat(dropdownId));
|
|
279
338
|
};
|
|
339
|
+
|
|
280
340
|
const setListContainerStyles = () => {
|
|
281
|
-
var _dropdownRef$current$, _dropdownListWrapperR, _getComputedStyle$mar, _getComputedStyle, _getComputedStyle$max, _getComputedStyle2, _sw$getBoundingClient, _dropdownListWrapperR2, _lh$getBoundingClient;
|
|
341
|
+
var _dropdownRef$current$, _dropdownListWrapperR, _getComputedStyle$mar, _getComputedStyle, _getComputedStyle$mar2, _getComputedStyle$max, _getComputedStyle2, _getComputedStyle2$ma, _sw$getBoundingClient, _dropdownListWrapperR2, _dropdownListWrapperR3, _lh$getBoundingClient;
|
|
342
|
+
|
|
282
343
|
const lc = getListContainer();
|
|
283
344
|
if (!lc || !isOpen) return false;
|
|
284
345
|
const windowHeight = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;
|
|
@@ -289,27 +350,30 @@ const Dropdown = _ref => {
|
|
|
289
350
|
top
|
|
290
351
|
} = (_dropdownRef$current$ = dropdownRef === null || dropdownRef === void 0 ? void 0 : dropdownRef.current.getBoundingClientRect()) !== null && _dropdownRef$current$ !== void 0 ? _dropdownRef$current$ : {};
|
|
291
352
|
const sw = lc.getElementsByClassName("dropdown__list")[0];
|
|
292
|
-
const lh = dropdownListWrapperRef === null || dropdownListWrapperRef === void 0
|
|
293
|
-
const margin = parseInt((_getComputedStyle$mar = (_getComputedStyle = getComputedStyle(sw)) === null || _getComputedStyle === void 0
|
|
294
|
-
const maxHeight = initListHeight !== null && initListHeight !== void 0 ? initListHeight : parseInt((_getComputedStyle$max = (_getComputedStyle2 = getComputedStyle(sw)) === null || _getComputedStyle2 === void 0
|
|
353
|
+
const lh = dropdownListWrapperRef === null || dropdownListWrapperRef === void 0 ? void 0 : (_dropdownListWrapperR = dropdownListWrapperRef.current) === null || _dropdownListWrapperR === void 0 ? void 0 : _dropdownListWrapperR.getElementsByClassName("dropdown__list-header")[0];
|
|
354
|
+
const margin = parseInt((_getComputedStyle$mar = (_getComputedStyle = getComputedStyle(sw)) === 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);
|
|
355
|
+
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);
|
|
295
356
|
if (initListHeight === null) setInitListHeight(maxHeight);
|
|
296
357
|
const toTop = top - margin;
|
|
297
358
|
const toBottom = windowHeight - top - height - margin * 2;
|
|
298
|
-
const swHeight = sw === null || sw === void 0
|
|
299
|
-
const maxSwHeight = isMobile ? (dropdownListWrapperRef === null || dropdownListWrapperRef === void 0
|
|
359
|
+
const swHeight = sw === null || sw === void 0 ? void 0 : (_sw$getBoundingClient = sw.getBoundingClientRect()) === null || _sw$getBoundingClient === void 0 ? void 0 : _sw$getBoundingClient.height;
|
|
360
|
+
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;
|
|
300
361
|
const listPos = toTop < toBottom || toBottom >= swHeight ? "bottom" : "top";
|
|
301
362
|
lc.style.minWidth = "".concat(width, "px");
|
|
302
363
|
lc.style.left = "".concat(left, "px");
|
|
303
364
|
lc.style.top = "".concat(listPos === "bottom" ? top + height : top - swHeight - 3 * margin, "px");
|
|
304
365
|
sw.style.maxHeight = "".concat(maxSwHeight, "px");
|
|
305
366
|
};
|
|
367
|
+
|
|
306
368
|
const renderListContainer = () => {
|
|
307
369
|
const lc = getListContainer();
|
|
308
370
|
if (!lc) return null;
|
|
309
371
|
return /*#__PURE__*/(0, _reactDom.createPortal)(getListMarkUp(), lc);
|
|
310
372
|
};
|
|
373
|
+
|
|
311
374
|
const getSortedOptions = data => {
|
|
312
375
|
let newData = [...data];
|
|
376
|
+
|
|
313
377
|
if (sortAlphabetical) {
|
|
314
378
|
const openModalOption = newData.filter(_ref3 => {
|
|
315
379
|
let {
|
|
@@ -333,13 +397,17 @@ const Dropdown = _ref => {
|
|
|
333
397
|
if (item !== null && item !== void 0 && item.items) {
|
|
334
398
|
item.items = [...item.items].sort(_utils.compareAlphabetical);
|
|
335
399
|
}
|
|
400
|
+
|
|
336
401
|
return item;
|
|
337
402
|
});
|
|
338
403
|
}
|
|
404
|
+
|
|
339
405
|
return newData;
|
|
340
406
|
};
|
|
407
|
+
|
|
341
408
|
const getListMarkUp = () => {
|
|
342
409
|
var _getSortedOptions;
|
|
410
|
+
|
|
343
411
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
344
412
|
className: (0, _classnames.default)("".concat(RC, "__container-wrapper")),
|
|
345
413
|
ref: wrapperRef,
|
|
@@ -388,17 +456,19 @@ const Dropdown = _ref => {
|
|
|
388
456
|
ref: dropdownListRef
|
|
389
457
|
}, (_getSortedOptions = getSortedOptions(depend.options)) === null || _getSortedOptions === void 0 ? void 0 : _getSortedOptions.map(option => {
|
|
390
458
|
var _option$items, _option$label;
|
|
459
|
+
|
|
391
460
|
if (option !== null && option !== void 0 && (_option$items = option.items) !== null && _option$items !== void 0 && _option$items.length) {
|
|
392
461
|
if (!isSearchable || !isSearchChanged) {
|
|
393
462
|
return filteredOptionList(option);
|
|
394
463
|
} else {
|
|
395
464
|
var _option$items2;
|
|
465
|
+
|
|
396
466
|
const items = (_option$items2 = option.items) === null || _option$items2 === void 0 ? void 0 : _option$items2.slice().filter(el => {
|
|
397
467
|
var _el$label2;
|
|
398
|
-
|
|
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) === "";
|
|
399
470
|
});
|
|
400
|
-
if (items !== null && items !== void 0 && items.length) return filteredOptionList({
|
|
401
|
-
...option,
|
|
471
|
+
if (items !== null && items !== void 0 && items.length) return filteredOptionList({ ...option,
|
|
402
472
|
items
|
|
403
473
|
});
|
|
404
474
|
return null;
|
|
@@ -410,12 +480,14 @@ const Dropdown = _ref => {
|
|
|
410
480
|
className: "".concat(RC, "__list-item ").concat(RC, "__list-item--no-options")
|
|
411
481
|
}, noOptionsText), disabled && isOpen && /*#__PURE__*/_react.default.createElement(_DropdownLoader.default, null))));
|
|
412
482
|
};
|
|
483
|
+
|
|
413
484
|
const toggleList = e => {
|
|
414
|
-
e === null || e === void 0
|
|
485
|
+
e === null || e === void 0 ? void 0 : e.stopPropagation();
|
|
415
486
|
setIsOpen(isOpen => {
|
|
416
487
|
return !isOpen;
|
|
417
488
|
});
|
|
418
489
|
};
|
|
490
|
+
|
|
419
491
|
const closeList = isOpen ? handleClickOutside : () => {};
|
|
420
492
|
(0, _react.useEffect)(() => {
|
|
421
493
|
if (!isDoNotPullOutListOfMainContainer || dropdownRef.current) {
|
|
@@ -424,6 +496,7 @@ const Dropdown = _ref => {
|
|
|
424
496
|
}, [isDoNotPullOutListOfMainContainer, dropdownRef.current]);
|
|
425
497
|
(0, _react.useLayoutEffect)(() => {
|
|
426
498
|
var _getListContainer3;
|
|
499
|
+
|
|
427
500
|
if (!isMobile) {
|
|
428
501
|
window.addEventListener("resize", setListContainerStyles);
|
|
429
502
|
window.addEventListener("mousewheel", closeList);
|
|
@@ -435,19 +508,21 @@ const Dropdown = _ref => {
|
|
|
435
508
|
window.removeEventListener("scroll", closeList);
|
|
436
509
|
window.removeEventListener("touchmove", closeList);
|
|
437
510
|
}
|
|
438
|
-
|
|
511
|
+
|
|
512
|
+
(_getListContainer3 = getListContainer()) === null || _getListContainer3 === void 0 ? void 0 : _getListContainer3.addEventListener("click", closeList);
|
|
439
513
|
return () => {
|
|
440
514
|
var _getListContainer4;
|
|
515
|
+
|
|
441
516
|
window.removeEventListener("resize", setListContainerStyles);
|
|
442
517
|
window.removeEventListener("mousewheel", closeList);
|
|
443
518
|
window.removeEventListener("scroll", closeList);
|
|
444
519
|
window.removeEventListener("touchmove", closeList);
|
|
445
|
-
(_getListContainer4 = getListContainer()) === null || _getListContainer4 === void 0
|
|
520
|
+
(_getListContainer4 = getListContainer()) === null || _getListContainer4 === void 0 ? void 0 : _getListContainer4.removeEventListener("click", closeList);
|
|
446
521
|
};
|
|
447
522
|
}, [getListContainer]);
|
|
448
523
|
(0, _react.useLayoutEffect)(() => {
|
|
449
524
|
setListContainerStyles();
|
|
450
|
-
}, [isOpen, searchValue, isMobile, options, dropdownListWrapperRef === null || dropdownListWrapperRef === void 0
|
|
525
|
+
}, [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]);
|
|
451
526
|
(0, _react.useEffect)(() => {
|
|
452
527
|
document.addEventListener("click", handleClickOutside, true);
|
|
453
528
|
return () => document.removeEventListener("click", handleClickOutside, true);
|
|
@@ -456,9 +531,11 @@ const Dropdown = _ref => {
|
|
|
456
531
|
if (!isOpen) {
|
|
457
532
|
setIsSearchChanged(false);
|
|
458
533
|
}
|
|
534
|
+
|
|
459
535
|
if (scrollReactionObj && typeof scrollReactionObj === "object" && isOpen && dropdownListRef && dropdownListRef.current) {
|
|
460
536
|
dropdownListRef.current.addEventListener("scroll", doScrollCallback);
|
|
461
537
|
}
|
|
538
|
+
|
|
462
539
|
return () => {
|
|
463
540
|
if (scrollReactionObj && typeof scrollReactionObj === "object") removeEventListener("scroll", doScrollCallback);
|
|
464
541
|
};
|
|
@@ -468,20 +545,26 @@ const Dropdown = _ref => {
|
|
|
468
545
|
setSearchValue(selectedLabel);
|
|
469
546
|
setTimeout(() => searchInputRef.current.select(), 1);
|
|
470
547
|
}
|
|
548
|
+
|
|
471
549
|
if (!isSearchInputFocused && !isOpen) {
|
|
472
550
|
setSearchValue(null);
|
|
473
551
|
}
|
|
474
552
|
}, [isSearchInputFocused]);
|
|
475
553
|
(0, _react.useEffect)(() => {
|
|
476
554
|
var _searchInputRef$curre;
|
|
477
|
-
|
|
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
|
+
|
|
478
558
|
if (isOpen) {
|
|
479
559
|
var _getListContainer5;
|
|
480
|
-
|
|
560
|
+
|
|
561
|
+
(_getListContainer5 = getListContainer()) === null || _getListContainer5 === void 0 ? void 0 : _getListContainer5.classList.add("dropdown__container--opened");
|
|
481
562
|
} else {
|
|
482
563
|
var _getListContainer6;
|
|
483
|
-
|
|
564
|
+
|
|
565
|
+
(_getListContainer6 = getListContainer()) === null || _getListContainer6 === void 0 ? void 0 : _getListContainer6.classList.remove("dropdown__container--opened");
|
|
484
566
|
}
|
|
567
|
+
|
|
485
568
|
if (!isOpen && isMobile) {
|
|
486
569
|
setSearchValue(null);
|
|
487
570
|
}
|
|
@@ -489,34 +572,41 @@ const Dropdown = _ref => {
|
|
|
489
572
|
(0, _react.useEffect)(() => {
|
|
490
573
|
if (isOpen && isMobile && dropdownListRef !== null && dropdownListRef !== void 0 && dropdownListRef.current && !searchValue) {
|
|
491
574
|
var _dropdownListRef$curr, _dropdownListRef$curr2, _dropdownListRef$curr3, _dropdownListRef$curr4;
|
|
492
|
-
|
|
493
|
-
|
|
575
|
+
|
|
576
|
+
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));
|
|
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));
|
|
494
578
|
}
|
|
495
|
-
}, [isOpen, isMobile, isScrollableList, dropdownListRef === null || dropdownListRef === void 0 ? void 0 : dropdownListRef.current, dropdownListRef === null || dropdownListRef === void 0
|
|
579
|
+
}, [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]);
|
|
496
580
|
(0, _react.useEffect)(() => {
|
|
497
581
|
const setScrollTopValue = e => {
|
|
498
582
|
setScrollTop(parseInt(e.target.scrollTop, 10));
|
|
499
583
|
};
|
|
584
|
+
|
|
500
585
|
if (isOpen && isMobile && dropdownListRef !== null && dropdownListRef !== void 0 && dropdownListRef.current) {
|
|
501
586
|
var _dropdownListRef$curr7;
|
|
502
|
-
|
|
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);
|
|
503
589
|
}
|
|
590
|
+
|
|
504
591
|
return () => {
|
|
505
592
|
var _dropdownListRef$curr8;
|
|
506
|
-
|
|
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);
|
|
507
595
|
};
|
|
508
596
|
}, [isOpen, isMobile, dropdownListRef === null || dropdownListRef === void 0 ? void 0 : dropdownListRef.current]);
|
|
509
597
|
(0, _react.useEffect)(() => {
|
|
510
598
|
if (dropdownListRef !== null && dropdownListRef !== void 0 && dropdownListRef.current) {
|
|
511
599
|
var _dropdownListRef$curr9, _dropdownListRef$curr10;
|
|
512
|
-
|
|
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));
|
|
513
602
|
}
|
|
514
603
|
}, [scrollTop, dropdownListRef === null || dropdownListRef === void 0 ? void 0 : dropdownListRef.current]);
|
|
515
604
|
(0, _react.useEffect)(() => {
|
|
516
605
|
return () => {
|
|
517
606
|
var _getListContainer7, _getListContainerWrap;
|
|
518
|
-
|
|
519
|
-
(
|
|
607
|
+
|
|
608
|
+
(_getListContainer7 = getListContainer()) === null || _getListContainer7 === void 0 ? void 0 : _getListContainer7.remove();
|
|
609
|
+
(_getListContainerWrap = getListContainerWrapper()) === null || _getListContainerWrap === void 0 ? void 0 : _getListContainerWrap.remove();
|
|
520
610
|
};
|
|
521
611
|
}, []);
|
|
522
612
|
const postfixText = selectedLabel && ((_filteredOptions$find = filteredOptions.find(option => option.value === value)) === null || _filteredOptions$find === void 0 ? void 0 : _filteredOptions$find.postfix) || null;
|
|
@@ -534,7 +624,7 @@ const Dropdown = _ref => {
|
|
|
534
624
|
onClick: toggleList,
|
|
535
625
|
onKeyDown: onKeyDown,
|
|
536
626
|
onKeyUp: onKeyUp,
|
|
537
|
-
tabIndex: tabIndex === null || tabIndex === void 0
|
|
627
|
+
tabIndex: tabIndex === null || tabIndex === void 0 ? void 0 : (_tabIndex$toString = tabIndex.toString) === null || _tabIndex$toString === void 0 ? void 0 : _tabIndex$toString.call(tabIndex)
|
|
538
628
|
}, customTrigger || /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, isSearchable && !isMobile ? /*#__PURE__*/_react.default.createElement("input", (0, _extends2.default)({
|
|
539
629
|
ref: searchInputRef,
|
|
540
630
|
className: "".concat(RC, "__input"),
|
|
@@ -563,4 +653,6 @@ const Dropdown = _ref => {
|
|
|
563
653
|
className: "mobile-icon"
|
|
564
654
|
}) : isOpen ? /*#__PURE__*/_react.default.createElement(_reactFeather.ChevronUp, null) : /*#__PURE__*/_react.default.createElement(_reactFeather.ChevronDown, null)))), isOpen && renderListContainer());
|
|
565
655
|
};
|
|
566
|
-
|
|
656
|
+
|
|
657
|
+
var _default = Dropdown;
|
|
658
|
+
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;
|