intelicoreact 1.4.0 → 1.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/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 +203 -109
- 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 +72 -14
- 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 +170 -58
- 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 +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,29 +1,48 @@
|
|
|
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 _fieldValueFormatters = require("../../../Functions/fieldValueFormatters");
|
|
21
|
+
|
|
14
22
|
var _useDebounce = require("../../../Functions/useDebounce");
|
|
23
|
+
|
|
15
24
|
var _useIsMobile = _interopRequireDefault(require("../../../Functions/useIsMobile"));
|
|
25
|
+
|
|
16
26
|
var _CheckboxInput = _interopRequireDefault(require("../../FormElements/CheckboxInput/CheckboxInput"));
|
|
27
|
+
|
|
17
28
|
var _Input = _interopRequireDefault(require("../../FormElements/Input/Input"));
|
|
29
|
+
|
|
18
30
|
var _Tag = _interopRequireDefault(require("../../UI/Tag/Tag"));
|
|
31
|
+
|
|
19
32
|
var _TagList = _interopRequireDefault(require("../../UI/TagList/TagList"));
|
|
33
|
+
|
|
20
34
|
require("./TagsDropdown.scss");
|
|
21
|
-
|
|
22
|
-
function
|
|
35
|
+
|
|
36
|
+
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); }
|
|
37
|
+
|
|
38
|
+
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; }
|
|
39
|
+
|
|
23
40
|
const RC = "tags-dropdown";
|
|
24
41
|
const MIN_ITEMS_FOR_SHOW_MOBILE_SEARCH = 10;
|
|
42
|
+
|
|
25
43
|
const TagsDropdown = _ref => {
|
|
26
|
-
var _Object$keys, _dropdownListWrapperR, _dropdownListRef$curr5, _dropdownListRef$curr6;
|
|
44
|
+
var _Object$keys, _dropdownListWrapperR, _dropdownListWrapperR2, _dropdownListRef$curr5, _dropdownListRef$curr6;
|
|
45
|
+
|
|
27
46
|
let {
|
|
28
47
|
options,
|
|
29
48
|
chosenOptions = [],
|
|
@@ -65,8 +84,8 @@ const TagsDropdown = _ref => {
|
|
|
65
84
|
isMobile: isMobileProp
|
|
66
85
|
} = (0, _useIsMobile.default)();
|
|
67
86
|
const isMobile = isMobileProp && withMobileLogic && window.screen.width <= 768;
|
|
68
|
-
const [dropdownId
|
|
69
|
-
const [isOpen,
|
|
87
|
+
const [dropdownId] = (0, _react.useState)(id || fieldKey || Math.random().toString(16).slice(2));
|
|
88
|
+
const [isOpen, setIsOpenState] = (0, _react.useState)(false);
|
|
70
89
|
const [searchValue, setSearchValue] = (0, _react.useState)("");
|
|
71
90
|
const dropdownRef = (0, _react.useRef)(null);
|
|
72
91
|
const dropdownListRef = (0, _react.useRef)(null);
|
|
@@ -93,28 +112,39 @@ const TagsDropdown = _ref => {
|
|
|
93
112
|
} = _ref2;
|
|
94
113
|
return value === (item === null || item === void 0 ? void 0 : item.value);
|
|
95
114
|
});
|
|
115
|
+
|
|
96
116
|
if (isExist !== -1) {
|
|
97
117
|
acc[isExist] = item;
|
|
98
118
|
} else {
|
|
99
119
|
acc.push(item);
|
|
100
120
|
}
|
|
101
121
|
};
|
|
122
|
+
|
|
102
123
|
if (item.groupName) {
|
|
103
124
|
var _item$list;
|
|
104
|
-
|
|
125
|
+
|
|
126
|
+
(_item$list = item.list) === null || _item$list === void 0 ? void 0 : _item$list.map(item => checkUniqAndPush(acc, item));
|
|
105
127
|
} else {
|
|
106
128
|
checkUniqAndPush(acc, item);
|
|
107
129
|
}
|
|
130
|
+
|
|
108
131
|
return acc;
|
|
109
132
|
}, (_Object$keys = Object.keys(localOptionsStore)) === null || _Object$keys === void 0 ? void 0 : _Object$keys.map(value => ({
|
|
110
133
|
value,
|
|
111
134
|
label: localOptionsStore === null || localOptionsStore === void 0 ? void 0 : localOptionsStore[value]
|
|
112
135
|
})));
|
|
136
|
+
|
|
113
137
|
const setSearchValueInterceptor = value => {
|
|
114
138
|
setSearchValue(value);
|
|
115
139
|
setIsValueDeleted(value === "");
|
|
116
140
|
searchValueRef.current = value;
|
|
117
141
|
};
|
|
142
|
+
|
|
143
|
+
const setIsOpen = v => {
|
|
144
|
+
setIsOpenState(v);
|
|
145
|
+
setSearchValueInterceptor(v ? "" : null);
|
|
146
|
+
};
|
|
147
|
+
|
|
118
148
|
const doScrollCallback = (0, _react.useCallback)(e => {
|
|
119
149
|
if (doLiveSearchRequest && typeof doLiveSearchRequest === "function") {
|
|
120
150
|
if (Math.round(e.target.clientHeight + e.target.scrollTop) == e.target.scrollHeight) {
|
|
@@ -122,48 +152,58 @@ const TagsDropdown = _ref => {
|
|
|
122
152
|
}
|
|
123
153
|
}
|
|
124
154
|
}, [options]);
|
|
155
|
+
|
|
125
156
|
const handleClickOutside = _ref3 => {
|
|
126
157
|
var _getListContainer;
|
|
158
|
+
|
|
127
159
|
let {
|
|
128
160
|
target
|
|
129
161
|
} = _ref3;
|
|
130
|
-
|
|
131
|
-
// eslint-disable-next-line no-use-before-define
|
|
132
|
-
!((_getListContainer = getListContainer()) !== null && _getListContainer !== void 0 && _getListContainer.contains(target))
|
|
162
|
+
|
|
163
|
+
if ( // eslint-disable-next-line no-use-before-define
|
|
164
|
+
!((_getListContainer = getListContainer()) !== null && _getListContainer !== void 0 && _getListContainer.contains(target))
|
|
165
|
+
/* && !isTargetInParent(target) */
|
|
166
|
+
) {
|
|
133
167
|
setIsOpen(false);
|
|
134
|
-
setSearchValueInterceptor(
|
|
168
|
+
setSearchValueInterceptor(null);
|
|
135
169
|
}
|
|
136
170
|
};
|
|
171
|
+
|
|
137
172
|
const deleteChosen = value => {
|
|
138
173
|
if (isMobile ? closeOnRemoveMobile : closeOnRemove) setIsOpen(false);
|
|
139
|
-
setLocalOptionsStore(options => ({
|
|
140
|
-
...options,
|
|
174
|
+
setLocalOptionsStore(options => ({ ...options,
|
|
141
175
|
[value]: undefined
|
|
142
176
|
}));
|
|
143
177
|
onChange(chosenOptions.filter(item => item !== value), "chosenOptions");
|
|
144
178
|
};
|
|
179
|
+
|
|
145
180
|
const onChangeHandler = item => {
|
|
146
181
|
if (item !== null && item !== void 0 && item.isFreezed) return false;
|
|
182
|
+
|
|
147
183
|
if ((item === null || item === void 0 ? void 0 : item.closeOnOptionSelect) !== undefined) {
|
|
148
184
|
if (item.closeOnOptionSelect) setIsOpen(false);
|
|
149
185
|
} else if (isMobile ? closeOnSelectMobile : closeOnSelect) setIsOpen(false);
|
|
186
|
+
|
|
150
187
|
setSearchValueInterceptor("");
|
|
188
|
+
|
|
151
189
|
if (chosenOptions.some(el => el === item.value)) {
|
|
152
190
|
deleteChosen(item.value);
|
|
153
191
|
return null;
|
|
154
192
|
}
|
|
155
|
-
|
|
156
|
-
|
|
193
|
+
|
|
194
|
+
setLocalOptionsStore(options => ({ ...options,
|
|
157
195
|
[item === null || item === void 0 ? void 0 : item.value]: item === null || item === void 0 ? void 0 : item.label
|
|
158
196
|
}));
|
|
159
197
|
onChange([...chosenOptions, item.value], "chosenOptions");
|
|
160
198
|
return null;
|
|
161
199
|
};
|
|
200
|
+
|
|
162
201
|
const onSearchHandler = name => {
|
|
163
202
|
let inputValue = name;
|
|
164
203
|
if (!isNotValidateASCII) inputValue = (0, _fieldValueFormatters.formatToOnlyASCIICodeText)(inputValue);
|
|
165
204
|
setSearchValueInterceptor(inputValue);
|
|
166
205
|
};
|
|
206
|
+
|
|
167
207
|
const onWrapperClick = e => {
|
|
168
208
|
if (e.target === (wrapperRef === null || wrapperRef === void 0 ? void 0 : wrapperRef.current)) {
|
|
169
209
|
e.stopPropagation();
|
|
@@ -171,14 +211,18 @@ const TagsDropdown = _ref => {
|
|
|
171
211
|
setIsOpen(false);
|
|
172
212
|
}
|
|
173
213
|
};
|
|
214
|
+
|
|
174
215
|
const getMarkupForElement = item => {
|
|
175
216
|
var _title$toString, _item$customMobileIco;
|
|
217
|
+
|
|
176
218
|
const {
|
|
177
219
|
description
|
|
178
220
|
} = item;
|
|
179
221
|
const title = item.title || item.label;
|
|
222
|
+
|
|
180
223
|
const hightlightSearchValue = title => {
|
|
181
224
|
var _title$toLowerCase;
|
|
225
|
+
|
|
182
226
|
const index = (_title$toLowerCase = title.toLowerCase()) === null || _title$toLowerCase === void 0 ? void 0 : _title$toLowerCase.indexOf(searchValue.toLowerCase());
|
|
183
227
|
if (index === -1) return title;
|
|
184
228
|
return /*#__PURE__*/_react.default.createElement("pre", {
|
|
@@ -187,8 +231,9 @@ const TagsDropdown = _ref => {
|
|
|
187
231
|
className: "search-match bg--yellow"
|
|
188
232
|
}, title.substring(index, index + (searchValue === null || searchValue === void 0 ? void 0 : searchValue.length))), /*#__PURE__*/_react.default.createElement("span", null, title.substring(index + (searchValue === null || searchValue === void 0 ? void 0 : searchValue.length))));
|
|
189
233
|
};
|
|
234
|
+
|
|
190
235
|
return /*#__PURE__*/_react.default.createElement("button", {
|
|
191
|
-
key: title === null || title === void 0
|
|
236
|
+
key: title === null || title === void 0 ? void 0 : (_title$toString = title.toString()) === null || _title$toString === void 0 ? void 0 : _title$toString.replace(/ /g, "_"),
|
|
192
237
|
onClick: e => {
|
|
193
238
|
e.preventDefault();
|
|
194
239
|
e.stopPropagation();
|
|
@@ -222,11 +267,14 @@ const TagsDropdown = _ref => {
|
|
|
222
267
|
}
|
|
223
268
|
}) : "");
|
|
224
269
|
};
|
|
270
|
+
|
|
225
271
|
const prepareOptions = options => {
|
|
226
272
|
return options === null || options === void 0 ? void 0 : options.map(option => option !== null && option !== void 0 && option.groupName ? option === null || option === void 0 ? void 0 : option.list : option).flat();
|
|
227
273
|
};
|
|
274
|
+
|
|
228
275
|
const selectAllItems = () => {
|
|
229
276
|
var _prepareOptions;
|
|
277
|
+
|
|
230
278
|
const preparedOptions = (_prepareOptions = prepareOptions(options)) === null || _prepareOptions === void 0 ? void 0 : _prepareOptions.filter(_ref4 => {
|
|
231
279
|
let {
|
|
232
280
|
isFreezed,
|
|
@@ -250,57 +298,71 @@ const TagsDropdown = _ref => {
|
|
|
250
298
|
})) || [])], "chosenOptions");
|
|
251
299
|
if (isMobile ? closeOnSelectAllMobile : closeOnSelectAll) setIsOpen(false);
|
|
252
300
|
};
|
|
301
|
+
|
|
253
302
|
const unselectAllItems = () => {
|
|
254
303
|
setLocalOptionsStore({});
|
|
255
304
|
onChange(chosenOptions === null || chosenOptions === void 0 ? void 0 : chosenOptions.filter(item => {
|
|
256
|
-
var _prepareOptions2;
|
|
257
|
-
|
|
305
|
+
var _prepareOptions2, _prepareOptions2$find;
|
|
306
|
+
|
|
307
|
+
return (_prepareOptions2 = prepareOptions(options)) === null || _prepareOptions2 === void 0 ? void 0 : (_prepareOptions2$find = _prepareOptions2.find(_ref7 => {
|
|
258
308
|
let {
|
|
259
309
|
value
|
|
260
310
|
} = _ref7;
|
|
261
311
|
return value === item;
|
|
262
|
-
})) === null || _prepareOptions2 === void 0 ? void 0 : _prepareOptions2.isFreezed;
|
|
312
|
+
})) === null || _prepareOptions2$find === void 0 ? void 0 : _prepareOptions2$find.isFreezed;
|
|
263
313
|
}), "chosenOptions");
|
|
264
314
|
if (isMobile ? closeOnRemoveAllMobile : closeOnRemoveAll) setIsOpen(false);
|
|
265
315
|
};
|
|
316
|
+
|
|
266
317
|
const getParentNode = () => {
|
|
267
318
|
var _ref8, _document$querySelect;
|
|
319
|
+
|
|
268
320
|
return (_ref8 = (_document$querySelect = document.querySelector("div#root")) !== null && _document$querySelect !== void 0 ? _document$querySelect : document.querySelector("div#app")) !== null && _ref8 !== void 0 ? _ref8 : document.querySelector("div#storybook-root");
|
|
269
321
|
};
|
|
322
|
+
|
|
270
323
|
const initListContainer = () => {
|
|
271
324
|
const dropdownList = document.createElement("div");
|
|
272
325
|
dropdownList.setAttribute("id", dropdownId);
|
|
273
326
|
dropdownList.classList.add("tags-dropdown__container");
|
|
327
|
+
|
|
274
328
|
if (isMobile) {
|
|
275
329
|
dropdownList.addEventListener("click", e => {
|
|
276
330
|
if (e.target.id === dropdownId) setIsOpen(false);
|
|
277
331
|
});
|
|
278
332
|
}
|
|
333
|
+
|
|
279
334
|
if (isMobile) {
|
|
280
335
|
var _getParentNode;
|
|
336
|
+
|
|
281
337
|
try {
|
|
282
338
|
var _document$getElementB;
|
|
283
|
-
|
|
284
|
-
// eslint-disable-next-line no-empty
|
|
339
|
+
|
|
340
|
+
(_document$getElementB = document.getElementById("mlw-".concat(dropdownId))) === null || _document$getElementB === void 0 ? void 0 : _document$getElementB.remove(); // eslint-disable-next-line no-empty
|
|
285
341
|
} catch (e) {}
|
|
342
|
+
|
|
286
343
|
const dropdownMobileListWrapper = document.createElement("div");
|
|
287
344
|
dropdownMobileListWrapper.classList.add("tags-dropdown-mobile");
|
|
288
345
|
dropdownMobileListWrapper.setAttribute("id", "mlw-".concat(dropdownId));
|
|
289
|
-
dropdownMobileListWrapper === null || dropdownMobileListWrapper === void 0
|
|
290
|
-
(_getParentNode = getParentNode()) === null || _getParentNode === void 0
|
|
346
|
+
dropdownMobileListWrapper === null || dropdownMobileListWrapper === void 0 ? void 0 : dropdownMobileListWrapper.append(dropdownList);
|
|
347
|
+
(_getParentNode = getParentNode()) === null || _getParentNode === void 0 ? void 0 : _getParentNode.append(dropdownMobileListWrapper);
|
|
291
348
|
} else {
|
|
292
349
|
var _getParentNode2;
|
|
293
|
-
|
|
350
|
+
|
|
351
|
+
(_getParentNode2 = getParentNode()) === null || _getParentNode2 === void 0 ? void 0 : _getParentNode2.append(dropdownList);
|
|
294
352
|
}
|
|
295
353
|
};
|
|
354
|
+
|
|
296
355
|
const getListContainer = () => {
|
|
297
356
|
return document.getElementById(dropdownId);
|
|
298
357
|
};
|
|
358
|
+
|
|
299
359
|
const getListContainerWrapper = () => {
|
|
300
360
|
return document.getElementById("mlw-".concat(dropdownId));
|
|
301
361
|
};
|
|
362
|
+
|
|
302
363
|
const setListContainerStyles = () => {
|
|
303
|
-
var _dropdownRef$current$, _dropdownRef$current, _getComputedStyle$mar, _getComputedStyle, _getComputedStyle$max, _getComputedStyle2, _dl$getBoundingClient, _sw$getBoundingClient, _sw$getBoundingClient2, _lh$getBoundingClient, _lf$getBoundingClient;
|
|
364
|
+
var _dropdownRef$current$, _dropdownRef$current, _getComputedStyle$mar, _getComputedStyle, _getComputedStyle$mar2, _getComputedStyle$max, _getComputedStyle2, _getComputedStyle2$ma, _dl$getBoundingClient, _sw$getBoundingClient, _sw$getBoundingClient2, _lh$getBoundingClient, _lf$getBoundingClient;
|
|
365
|
+
|
|
304
366
|
const lc = getListContainer();
|
|
305
367
|
if (!lc || !isOpen) return false;
|
|
306
368
|
const windowHeight = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;
|
|
@@ -309,75 +371,87 @@ const TagsDropdown = _ref => {
|
|
|
309
371
|
height,
|
|
310
372
|
left,
|
|
311
373
|
top
|
|
312
|
-
} = (_dropdownRef$current$ = dropdownRef === null || dropdownRef === void 0
|
|
374
|
+
} = (_dropdownRef$current$ = dropdownRef === null || dropdownRef === void 0 ? void 0 : (_dropdownRef$current = dropdownRef.current) === null || _dropdownRef$current === void 0 ? void 0 : _dropdownRef$current.getBoundingClientRect()) !== null && _dropdownRef$current$ !== void 0 ? _dropdownRef$current$ : {};
|
|
313
375
|
const sw = dropdownListWrapperRef === null || dropdownListWrapperRef === void 0 ? void 0 : dropdownListWrapperRef.current;
|
|
314
376
|
const dl = lc.getElementsByClassName("tags-dropdown__list")[0];
|
|
315
377
|
const lh = sw === null || sw === void 0 ? void 0 : sw.getElementsByClassName("tags-dropdown__header")[0];
|
|
316
378
|
const lf = sw === null || sw === void 0 ? void 0 : sw.getElementsByClassName("tags-dropdown__footer")[0];
|
|
317
|
-
const margin = parseInt((_getComputedStyle$mar = (_getComputedStyle = getComputedStyle(sw)) === null || _getComputedStyle === void 0
|
|
318
|
-
const maxHeight = initListHeight !== null && initListHeight !== void 0 ? initListHeight : parseInt((_getComputedStyle$max = (_getComputedStyle2 = getComputedStyle(dl)) === null || _getComputedStyle2 === void 0
|
|
379
|
+
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);
|
|
380
|
+
const maxHeight = initListHeight !== null && initListHeight !== void 0 ? initListHeight : parseInt((_getComputedStyle$max = (_getComputedStyle2 = getComputedStyle(dl)) === 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);
|
|
319
381
|
if (initListHeight === null) setInitListHeight(maxHeight);
|
|
320
382
|
const toTop = top - margin;
|
|
321
383
|
const toBottom = windowHeight - top - height - margin * 2;
|
|
322
|
-
const dlHeight = dl === null || dl === void 0
|
|
323
|
-
let swHeight = sw === null || sw === void 0
|
|
384
|
+
const dlHeight = dl === null || dl === void 0 ? void 0 : (_dl$getBoundingClient = dl.getBoundingClientRect()) === null || _dl$getBoundingClient === void 0 ? void 0 : _dl$getBoundingClient.height;
|
|
385
|
+
let swHeight = sw === null || sw === void 0 ? void 0 : (_sw$getBoundingClient = sw.getBoundingClientRect()) === null || _sw$getBoundingClient === void 0 ? void 0 : _sw$getBoundingClient.height;
|
|
324
386
|
const controlsHeight = swHeight - dlHeight;
|
|
325
387
|
if (swHeight > maxHeight) swHeight = maxHeight - 2 * margin;
|
|
326
|
-
const maxSwHeight = (sw === null || sw === void 0
|
|
388
|
+
const maxSwHeight = (sw === null || sw === void 0 ? void 0 : (_sw$getBoundingClient2 = sw.getBoundingClientRect()) === null || _sw$getBoundingClient2 === void 0 ? void 0 : _sw$getBoundingClient2.height) - (lh === null || lh === void 0 ? void 0 : (_lh$getBoundingClient = lh.getBoundingClientRect()) === null || _lh$getBoundingClient === void 0 ? void 0 : _lh$getBoundingClient.height) - (lf === null || lf === void 0 ? void 0 : (_lf$getBoundingClient = lf.getBoundingClientRect()) === null || _lf$getBoundingClient === void 0 ? void 0 : _lf$getBoundingClient.height);
|
|
327
389
|
const listPos = toTop < toBottom || toBottom >= swHeight ? "bottom" : "top";
|
|
328
390
|
if (swHeight > (listPos === "top" ? toTop : toBottom)) swHeight = (listPos === "top" ? toTop : toBottom) - 3 * margin;
|
|
329
391
|
lc.style.minWidth = "".concat(width, "px");
|
|
330
392
|
lc.style.left = "".concat(left, "px");
|
|
331
393
|
lc.style.top = "".concat(listPos === "bottom" ? top + height : top - swHeight - 2 * margin, "px");
|
|
394
|
+
|
|
332
395
|
if (isMobile) {
|
|
333
396
|
dl.style.maxHeight = "".concat(maxSwHeight, "px");
|
|
334
397
|
}
|
|
335
398
|
};
|
|
399
|
+
|
|
336
400
|
const renderListContainer = () => {
|
|
337
401
|
const lc = getListContainer();
|
|
338
|
-
if (!lc) return null;
|
|
402
|
+
if (!lc) return null; // eslint-disable-next-line no-use-before-define
|
|
339
403
|
|
|
340
|
-
// eslint-disable-next-line no-use-before-define
|
|
341
404
|
return /*#__PURE__*/(0, _reactDom.createPortal)(getListMarkUp(), lc);
|
|
342
405
|
};
|
|
406
|
+
|
|
343
407
|
const isTargetInParent = target => {
|
|
344
408
|
var _target$className, _target$className$ind, _target$className2, _target$className2$in;
|
|
409
|
+
|
|
345
410
|
if ((target === null || target === void 0 ? void 0 : target.tagName) === "svg" && (target === null || target === void 0 ? void 0 : target.parentNodclassName) === "tag__button" || (target === null || target === void 0 ? void 0 : target.tagName) === "line") return false;
|
|
346
|
-
if ((target === null || target === void 0 ? void 0 : target.tagName) === "svg" && (target === null || target === void 0 ? void 0 : target.parentNodclassName) !== "tag__button" || (target === null || target === void 0
|
|
411
|
+
if ((target === null || target === void 0 ? void 0 : target.tagName) === "svg" && (target === null || target === void 0 ? void 0 : target.parentNodclassName) !== "tag__button" || (target === null || target === void 0 ? void 0 : (_target$className = target.className) === null || _target$className === void 0 ? void 0 : (_target$className$ind = _target$className.indexOf) === null || _target$className$ind === void 0 ? void 0 : _target$className$ind.call(_target$className, "tag__label")) !== -1 || (target === null || target === void 0 ? void 0 : (_target$className2 = target.className) === null || _target$className2 === void 0 ? void 0 : (_target$className2$in = _target$className2.indexOf) === null || _target$className2$in === void 0 ? void 0 : _target$className2$in.call(_target$className2, "tag-list_wrapper")) !== -1 || (target === null || target === void 0 ? void 0 : target.className) === "".concat(RC, "__trigger") || (target === null || target === void 0 ? void 0 : target.className) === "tags-dropdown__arrow") return true;
|
|
347
412
|
return false;
|
|
348
413
|
};
|
|
414
|
+
|
|
349
415
|
const isItemMatchesSearch = item => {
|
|
350
416
|
const title = item.title || item.label;
|
|
351
417
|
return searchValue.length ? title.toLowerCase().includes((searchValue === null || searchValue === void 0 ? void 0 : searchValue.toLowerCase()) || "") : true;
|
|
352
418
|
};
|
|
419
|
+
|
|
353
420
|
const getFilteredOptions = options => options === null || options === void 0 ? void 0 : options.reduce((result, option) => {
|
|
354
421
|
if (option.groupName) {
|
|
355
422
|
var _option$list;
|
|
356
|
-
|
|
423
|
+
|
|
424
|
+
const filteredGroupItems = option === null || option === void 0 ? void 0 : (_option$list = option.list) === null || _option$list === void 0 ? void 0 : _option$list.filter(item => isItemMatchesSearch(item));
|
|
425
|
+
|
|
357
426
|
if (filteredGroupItems !== null && filteredGroupItems !== void 0 && filteredGroupItems.length) {
|
|
358
|
-
result.push({
|
|
359
|
-
...option,
|
|
427
|
+
result.push({ ...option,
|
|
360
428
|
list: filteredGroupItems
|
|
361
429
|
});
|
|
362
430
|
}
|
|
363
431
|
} else if (isItemMatchesSearch(option)) {
|
|
364
432
|
result.push(option);
|
|
365
433
|
}
|
|
434
|
+
|
|
366
435
|
return result;
|
|
367
436
|
}, []);
|
|
437
|
+
|
|
368
438
|
const getTotalOptions = (0, _react.useCallback)(() => {
|
|
369
439
|
return options === null || options === void 0 ? void 0 : options.reduce((result, item) => {
|
|
370
440
|
if (item !== null && item !== void 0 && item.list) {
|
|
371
441
|
var _item$list2;
|
|
372
|
-
|
|
442
|
+
|
|
443
|
+
result += (item === null || item === void 0 ? void 0 : (_item$list2 = item.list) === null || _item$list2 === void 0 ? void 0 : _item$list2.length) || 0;
|
|
373
444
|
} else {
|
|
374
445
|
++result;
|
|
375
446
|
}
|
|
447
|
+
|
|
376
448
|
return result;
|
|
377
449
|
}, 0);
|
|
378
450
|
}, [options]);
|
|
451
|
+
|
|
379
452
|
const getListMarkUp = () => {
|
|
380
453
|
var _filteredOptions$filt, _filteredOptions$filt2;
|
|
454
|
+
|
|
381
455
|
const filteredOptions = getFilteredOptions(options);
|
|
382
456
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
383
457
|
className: (0, _classnames.default)("".concat(RC, "__container-wrapper")),
|
|
@@ -427,9 +501,10 @@ const TagsDropdown = _ref => {
|
|
|
427
501
|
ref: dropdownListRef,
|
|
428
502
|
className: "".concat(RC, "__list ").concat(headerContent || isMobile ? "".concat(RC, "__list--with-header") : "", " ").concat(footerContent ? "".concat(RC, "__list--with-footer") : "")
|
|
429
503
|
}, filteredOptions === null || filteredOptions === void 0 ? void 0 : filteredOptions.map(option => {
|
|
430
|
-
var _option$groupName, _option$list2;
|
|
504
|
+
var _option$groupName, _option$groupName$toS, _option$list2;
|
|
505
|
+
|
|
431
506
|
return option.groupName ? /*#__PURE__*/_react.default.createElement("div", {
|
|
432
|
-
key: (_option$groupName = option.groupName) === null || _option$groupName === void 0
|
|
507
|
+
key: (_option$groupName = option.groupName) === null || _option$groupName === void 0 ? void 0 : (_option$groupName$toS = _option$groupName.toString()) === null || _option$groupName$toS === void 0 ? void 0 : _option$groupName$toS.replace(/ /g, "_").concat(Date.now()),
|
|
433
508
|
className: (0, _classnames.default)("".concat(RC, "-group"), option.className)
|
|
434
509
|
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
435
510
|
className: "".concat(RC, "-group__name")
|
|
@@ -455,11 +530,14 @@ const TagsDropdown = _ref => {
|
|
|
455
530
|
onClick: () => setIsOpen(false)
|
|
456
531
|
}, "Apply", chosenOptions !== null && chosenOptions !== void 0 && chosenOptions.length ? "(".concat(chosenOptions === null || chosenOptions === void 0 ? void 0 : chosenOptions.length, ")") : "")) : null));
|
|
457
532
|
};
|
|
533
|
+
|
|
458
534
|
const closeList = e => {
|
|
459
535
|
var _inputRef$current;
|
|
536
|
+
|
|
460
537
|
handleClickOutside(e);
|
|
461
|
-
inputRef === null || inputRef === void 0
|
|
538
|
+
inputRef === null || inputRef === void 0 ? void 0 : (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.blur();
|
|
462
539
|
};
|
|
540
|
+
|
|
463
541
|
(0, _react.useLayoutEffect)(() => {
|
|
464
542
|
initListContainer();
|
|
465
543
|
}, []);
|
|
@@ -473,6 +551,7 @@ const TagsDropdown = _ref => {
|
|
|
473
551
|
window.removeEventListener("mousewheel", closeList);
|
|
474
552
|
window.removeEventListener("mouseup", handleClickOutside);
|
|
475
553
|
}
|
|
554
|
+
|
|
476
555
|
return () => {
|
|
477
556
|
window.removeEventListener("resize", setListContainerStyles);
|
|
478
557
|
window.removeEventListener("mousewheel", closeList);
|
|
@@ -481,77 +560,105 @@ const TagsDropdown = _ref => {
|
|
|
481
560
|
}, [getListContainer]);
|
|
482
561
|
(0, _react.useLayoutEffect)(() => {
|
|
483
562
|
setListContainerStyles();
|
|
484
|
-
}, [isOpen, chosenOptions, isMobile, dropdownListWrapperRef === null || dropdownListWrapperRef === void 0
|
|
563
|
+
}, [isOpen, chosenOptions, isMobile, dropdownListWrapperRef === null || dropdownListWrapperRef === void 0 ? void 0 : (_dropdownListWrapperR = dropdownListWrapperRef.current) === null || _dropdownListWrapperR === void 0 ? void 0 : (_dropdownListWrapperR2 = _dropdownListWrapperR.getBoundingClientRect()) === null || _dropdownListWrapperR2 === void 0 ? void 0 : _dropdownListWrapperR2.height]);
|
|
564
|
+
(0, _react.useEffect)(() => {
|
|
565
|
+
if (chosenOptions.length !== Object.keys(localOptionsStore).length) {
|
|
566
|
+
options.map(option => {
|
|
567
|
+
if (!(localOptionsStore !== null && localOptionsStore !== void 0 && localOptionsStore[option === null || option === void 0 ? void 0 : option.value])) {
|
|
568
|
+
setLocalOptionsStore(options => ({ ...options,
|
|
569
|
+
[option === null || option === void 0 ? void 0 : option.value]: option === null || option === void 0 ? void 0 : option.label
|
|
570
|
+
}));
|
|
571
|
+
}
|
|
572
|
+
});
|
|
573
|
+
}
|
|
574
|
+
}, [chosenOptions]);
|
|
485
575
|
(0, _react.useEffect)(() => {
|
|
486
576
|
if (!isMobile) {
|
|
487
577
|
document.addEventListener("click", handleClickOutside, true);
|
|
488
578
|
} else {
|
|
489
579
|
document.removeEventListener("click", handleClickOutside, true);
|
|
490
580
|
}
|
|
581
|
+
|
|
491
582
|
return () => document.removeEventListener("click", handleClickOutside, true);
|
|
492
583
|
}, [isMobile]);
|
|
493
584
|
(0, _react.useEffect)(() => {
|
|
494
585
|
var _selectAllButtonRef$c, _unselectAllButtonRef;
|
|
586
|
+
|
|
495
587
|
const fn = isOpen ? "addEventListener" : "removeEventListener";
|
|
496
|
-
selectAllButtonRef === null || selectAllButtonRef === void 0
|
|
497
|
-
unselectAllButtonRef === null || unselectAllButtonRef === void 0
|
|
588
|
+
selectAllButtonRef === null || selectAllButtonRef === void 0 ? void 0 : (_selectAllButtonRef$c = selectAllButtonRef.current) === null || _selectAllButtonRef$c === void 0 ? void 0 : _selectAllButtonRef$c[fn]("click", selectAllItems, true);
|
|
589
|
+
unselectAllButtonRef === null || unselectAllButtonRef === void 0 ? void 0 : (_unselectAllButtonRef = unselectAllButtonRef.current) === null || _unselectAllButtonRef === void 0 ? void 0 : _unselectAllButtonRef[fn]("click", unselectAllItems, true);
|
|
590
|
+
|
|
498
591
|
if (isOpen) {
|
|
499
592
|
var _getListContainer2;
|
|
500
|
-
|
|
593
|
+
|
|
594
|
+
(_getListContainer2 = getListContainer()) === null || _getListContainer2 === void 0 ? void 0 : _getListContainer2.classList.add("tags-dropdown__container--opened");
|
|
501
595
|
} else {
|
|
502
596
|
var _getListContainer3;
|
|
503
|
-
|
|
597
|
+
|
|
598
|
+
(_getListContainer3 = getListContainer()) === null || _getListContainer3 === void 0 ? void 0 : _getListContainer3.classList.remove("tags-dropdown__container--opened");
|
|
504
599
|
}
|
|
505
600
|
}, [isOpen]);
|
|
506
601
|
(0, _react.useEffect)(() => {
|
|
507
602
|
if (isOpen && isMobile, dropdownListRef !== null && dropdownListRef !== void 0 && dropdownListRef.current) {
|
|
508
603
|
var _dropdownListRef$curr, _dropdownListRef$curr2;
|
|
509
|
-
|
|
604
|
+
|
|
605
|
+
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));
|
|
606
|
+
|
|
510
607
|
if (isScrollableList === null) {
|
|
511
608
|
var _dropdownListRef$curr3, _dropdownListRef$curr4;
|
|
512
|
-
|
|
609
|
+
|
|
610
|
+
setIsFixedMaxHeight((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));
|
|
513
611
|
}
|
|
514
612
|
}
|
|
613
|
+
|
|
515
614
|
if (isOpen && dropdownListRef && dropdownListRef.current) {
|
|
516
615
|
dropdownListRef.current.addEventListener("scroll", doScrollCallback);
|
|
517
616
|
}
|
|
617
|
+
|
|
518
618
|
return () => {
|
|
519
619
|
removeEventListener("scroll", doScrollCallback);
|
|
520
620
|
};
|
|
521
|
-
}, [isOpen, isMobile, dropdownListRef === null || dropdownListRef === void 0 ? void 0 : dropdownListRef.current, dropdownListRef === null || dropdownListRef === void 0
|
|
621
|
+
}, [isOpen, isMobile, 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]);
|
|
522
622
|
(0, _react.useEffect)(() => {
|
|
523
623
|
const setScrollTopValue = e => {
|
|
524
624
|
setScrollTop(parseInt(e.target.scrollTop, 10));
|
|
525
625
|
};
|
|
626
|
+
|
|
526
627
|
if (isOpen && isMobile && dropdownListRef !== null && dropdownListRef !== void 0 && dropdownListRef.current) {
|
|
527
628
|
var _dropdownListRef$curr7;
|
|
528
|
-
|
|
629
|
+
|
|
630
|
+
dropdownListRef === null || dropdownListRef === void 0 ? void 0 : (_dropdownListRef$curr7 = dropdownListRef.current) === null || _dropdownListRef$curr7 === void 0 ? void 0 : _dropdownListRef$curr7.addEventListener("scroll", setScrollTopValue);
|
|
529
631
|
}
|
|
632
|
+
|
|
530
633
|
return () => {
|
|
531
634
|
var _dropdownListRef$curr8;
|
|
532
|
-
|
|
635
|
+
|
|
636
|
+
dropdownListRef === null || dropdownListRef === void 0 ? void 0 : (_dropdownListRef$curr8 = dropdownListRef.current) === null || _dropdownListRef$curr8 === void 0 ? void 0 : _dropdownListRef$curr8.removeEventListener("scroll", setScrollTopValue);
|
|
533
637
|
};
|
|
534
638
|
}, [isOpen, isMobile, dropdownListRef === null || dropdownListRef === void 0 ? void 0 : dropdownListRef.current]);
|
|
535
639
|
(0, _react.useEffect)(() => {
|
|
536
640
|
if (dropdownListRef !== null && dropdownListRef !== void 0 && dropdownListRef.current) {
|
|
537
641
|
var _dropdownListRef$curr9, _dropdownListRef$curr10;
|
|
538
|
-
|
|
642
|
+
|
|
643
|
+
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));
|
|
539
644
|
}
|
|
540
645
|
}, [scrollTop, dropdownListRef === null || dropdownListRef === void 0 ? void 0 : dropdownListRef.current]);
|
|
541
646
|
(0, _react.useEffect)(() => {
|
|
542
647
|
return () => {
|
|
543
648
|
var _getListContainer4, _getListContainerWrap;
|
|
544
|
-
|
|
545
|
-
(
|
|
649
|
+
|
|
650
|
+
(_getListContainer4 = getListContainer()) === null || _getListContainer4 === void 0 ? void 0 : _getListContainer4.remove();
|
|
651
|
+
(_getListContainerWrap = getListContainerWrapper()) === null || _getListContainerWrap === void 0 ? void 0 : _getListContainerWrap.remove();
|
|
546
652
|
};
|
|
547
653
|
}, []);
|
|
548
654
|
(0, _react.useEffect)(() => {
|
|
549
655
|
if (isSearchable && useLiveSearch && debouncedSearchTerm || isValueDeleted) {
|
|
550
|
-
doLiveSearchRequest === null || doLiveSearchRequest === void 0
|
|
656
|
+
doLiveSearchRequest === null || doLiveSearchRequest === void 0 ? void 0 : doLiveSearchRequest(debouncedSearchTerm);
|
|
551
657
|
}
|
|
552
658
|
}, [debouncedSearchTerm, isValueDeleted]);
|
|
553
659
|
(0, _react.useLayoutEffect)(() => {
|
|
554
660
|
var _getListContainer5;
|
|
661
|
+
|
|
555
662
|
if (!isMobile) {
|
|
556
663
|
window.addEventListener("resize", setListContainerStyles);
|
|
557
664
|
window.addEventListener("mousewheel", closeList);
|
|
@@ -563,14 +670,16 @@ const TagsDropdown = _ref => {
|
|
|
563
670
|
window.removeEventListener("scroll", closeList);
|
|
564
671
|
window.removeEventListener("touchmove", closeList);
|
|
565
672
|
}
|
|
566
|
-
|
|
673
|
+
|
|
674
|
+
(_getListContainer5 = getListContainer()) === null || _getListContainer5 === void 0 ? void 0 : _getListContainer5.addEventListener("click", closeList);
|
|
567
675
|
return () => {
|
|
568
676
|
var _getListContainer6;
|
|
677
|
+
|
|
569
678
|
window.removeEventListener("resize", setListContainerStyles);
|
|
570
679
|
window.removeEventListener("mousewheel", closeList);
|
|
571
680
|
window.removeEventListener("scroll", closeList);
|
|
572
681
|
window.removeEventListener("touchmove", closeList);
|
|
573
|
-
(_getListContainer6 = getListContainer()) === null || _getListContainer6 === void 0
|
|
682
|
+
(_getListContainer6 = getListContainer()) === null || _getListContainer6 === void 0 ? void 0 : _getListContainer6.removeEventListener("click", closeList);
|
|
574
683
|
};
|
|
575
684
|
}, [getListContainer]);
|
|
576
685
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
@@ -624,7 +733,8 @@ const TagsDropdown = _ref => {
|
|
|
624
733
|
onKeyDown: e => onKeyPress(e, searchValue),
|
|
625
734
|
onFocus: e => {
|
|
626
735
|
var _e$target;
|
|
627
|
-
|
|
736
|
+
|
|
737
|
+
if (isMobile) e === null || e === void 0 ? void 0 : (_e$target = e.target) === null || _e$target === void 0 ? void 0 : _e$target.blur();
|
|
628
738
|
}
|
|
629
739
|
}, attributesOfNativeInput)) : "", isOpen && renderListContainer(), /*#__PURE__*/_react.default.createElement("span", {
|
|
630
740
|
className: (0, _classnames.default)("".concat(RC, "__arrow"), {
|
|
@@ -638,4 +748,6 @@ const TagsDropdown = _ref => {
|
|
|
638
748
|
className: "color--text"
|
|
639
749
|
}))));
|
|
640
750
|
};
|
|
641
|
-
|
|
751
|
+
|
|
752
|
+
var _default = TagsDropdown;
|
|
753
|
+
exports.default = _default;
|