intelicoreact 1.4.4 → 1.4.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Atomic/FormElements/ActionAlert/ActionAlert.js +9 -1
- package/dist/Atomic/FormElements/AdvancedStatus/AdvancedStatus.js +10 -1
- package/dist/Atomic/FormElements/Calendar/Calendar.js +24 -4
- package/dist/Atomic/FormElements/CheckboxInput/CheckboxInput.js +10 -1
- package/dist/Atomic/FormElements/CheckboxesLine/CheckboxesLine.js +14 -2
- package/dist/Atomic/FormElements/Datepicker/Datepicker.js +54 -5
- package/dist/Atomic/FormElements/Datepicker/components/Calendar.js +21 -3
- package/dist/Atomic/FormElements/Dropdown/Dropdown.js +144 -51
- package/dist/Atomic/FormElements/Dropdown/components/DropdownLoader.js +7 -1
- package/dist/Atomic/FormElements/DropdownLiveSearch/DropdownLiveSearch.js +91 -25
- package/dist/Atomic/FormElements/FileLoader/FileLoader.js +15 -3
- package/dist/Atomic/FormElements/FileLoader/partial/LoadZone.js +29 -15
- package/dist/Atomic/FormElements/FileLoader/partial/LoadedContent.js +15 -5
- package/dist/Atomic/FormElements/FileLoaderLocal/FileLoaderLocal.js +26 -6
- package/dist/Atomic/FormElements/FileLoaderLocalGroup/FileLoaderLocalGroup.js +35 -19
- package/dist/Atomic/FormElements/FormattedRawSSN/FormattedRawSSN.js +38 -9
- package/dist/Atomic/FormElements/Input/Input.js +57 -24
- package/dist/Atomic/FormElements/InputCalendar/InputCalendar.js +31 -4
- package/dist/Atomic/FormElements/InputColor/InputColor.js +14 -4
- package/dist/Atomic/FormElements/InputCurrency/InputCurrency.js +29 -6
- package/dist/Atomic/FormElements/InputDateRange/InputDateRange.js +43 -8
- package/dist/Atomic/FormElements/InputDateRange/components/DateInput.js +21 -3
- package/dist/Atomic/FormElements/InputDateRange/components/Datepicker.js +81 -58
- package/dist/Atomic/FormElements/InputDateRange/components/OpenedPart.js +41 -6
- package/dist/Atomic/FormElements/InputDateRange/components/SelectItem.js +8 -1
- package/dist/Atomic/FormElements/InputDateRange/dependencies.js +46 -16
- package/dist/Atomic/FormElements/InputLink/InputLink.js +23 -6
- package/dist/Atomic/FormElements/InputMask/InputCarretPosition.js +4 -0
- package/dist/Atomic/FormElements/InputMask/InputMask.js +208 -77
- package/dist/Atomic/FormElements/InputMask/functions.js +28 -2
- package/dist/Atomic/FormElements/InputMask2/InputMask2.js +119 -43
- package/dist/Atomic/FormElements/InputMask2/functions.js +28 -2
- package/dist/Atomic/FormElements/InputMask3/InputMask3.js +137 -44
- package/dist/Atomic/FormElements/InputMask3/functions.js +28 -2
- package/dist/Atomic/FormElements/InputWithAction/InputWithAction.js +17 -3
- package/dist/Atomic/FormElements/InputsRow/InputsRow.js +24 -5
- package/dist/Atomic/FormElements/Label/Label.js +9 -1
- package/dist/Atomic/FormElements/MobileCalendar/MobileCalendar.js +73 -35
- package/dist/Atomic/FormElements/MultiSelect/MultiSelect.js +15 -3
- package/dist/Atomic/FormElements/NumericInput/NumericInput.js +44 -23
- package/dist/Atomic/FormElements/RadioGroup/RadioGroup.js +17 -7
- package/dist/Atomic/FormElements/RadioGroupWithInput/RadioGroupWithInput.js +14 -3
- package/dist/Atomic/FormElements/RadioInput/RadioInput.js +10 -1
- package/dist/Atomic/FormElements/RadioRowSwitcher/RadioRowSwitcher.js +14 -3
- package/dist/Atomic/FormElements/RangeCalendar/RangeCalendar.js +23 -3
- package/dist/Atomic/FormElements/RangeInputs/RangeInputs.js +34 -17
- package/dist/Atomic/FormElements/RangeList/RangeList.js +25 -6
- package/dist/Atomic/FormElements/RangeList/partial/RangeListRow.js +11 -1
- package/dist/Atomic/FormElements/RangeSlider/RangeSlider.js +126 -22
- package/dist/Atomic/FormElements/RangeSlider2/RangeSlider2.js +132 -43
- package/dist/Atomic/FormElements/SwitchableRow/SwitchableRow.js +10 -1
- package/dist/Atomic/FormElements/Switcher/Switcher.js +10 -1
- package/dist/Atomic/FormElements/SwitcherCheckbox/SwitcherCheckbox.js +13 -1
- package/dist/Atomic/FormElements/SwitcherHide/SwitcherHide.js +10 -1
- package/dist/Atomic/FormElements/SwitcherRadio/SwitcherRadio.js +17 -2
- package/dist/Atomic/FormElements/SwitcherRange/SwitcherRange.js +17 -3
- package/dist/Atomic/FormElements/SwitcherRangeList/SwitcherRangeList.js +11 -1
- package/dist/Atomic/FormElements/SwitcherTagsDropdown/SwitcherTagsDropdown.js +29 -6
- package/dist/Atomic/FormElements/SwitcherTagsDropdown/partial/States.js +3 -2
- package/dist/Atomic/FormElements/SwitcherTextarea/SwitcherTextarea.js +12 -1
- package/dist/Atomic/FormElements/TagsDropdown/TagsDropdown.js +152 -57
- package/dist/Atomic/FormElements/Text/Text.js +16 -10
- package/dist/Atomic/FormElements/TextSwitcher/TextSwitcher.js +9 -1
- package/dist/Atomic/FormElements/Textarea/Textarea.js +17 -3
- package/dist/Atomic/FormElements/TieredCheckboxes/TieredCheckboxes.js +35 -6
- package/dist/Atomic/FormElements/TieredCheckboxes/partial/AccordionWithCheckbox.js +13 -4
- package/dist/Atomic/FormElements/TimeRange/TimeRange.js +21 -7
- package/dist/Atomic/FormElements/UserContacts/UserContacts.js +35 -8
- package/dist/Atomic/FormElements/UserContacts/partial/defaultIcons.js +91 -0
- package/dist/Atomic/FormElements/VariantsListRadio/VariantsListRadio.js +18 -5
- package/dist/Atomic/FormElements/VariantsListRadio/partials/VariantsListRadioItem.js +10 -3
- package/dist/Atomic/FormElements/WidgetPseudoTable/WidgetPseudoTable.js +11 -3
- package/dist/Atomic/FormElements/WidgetPseudoTable/partial/constructor.js +2 -1
- package/dist/Atomic/FormElements/WidgetWithSwitchableRows/WidgetWithSwitchableRows.js +12 -5
- package/dist/Atomic/FormElements/WidgetWithSwitchableRows/partial/constructor.js +3 -3
- package/dist/Atomic/Layout/Header/Header.js +15 -3
- package/dist/Atomic/Layout/MainMenu/MainMenu.js +20 -3
- package/dist/Atomic/Layout/Spinner/Spinner.js +8 -1
- package/dist/Atomic/UI/Accordion/Accordion.js +19 -3
- package/dist/Atomic/UI/Accordion/AccordionItem.js +23 -9
- package/dist/Atomic/UI/AccordionTable/AccordionTable.js +32 -7
- package/dist/Atomic/UI/AccordionText/AccordionText.js +15 -3
- package/dist/Atomic/UI/AdvancedTag/AdvTag.js +21 -4
- package/dist/Atomic/UI/AdvancedTag/AdvancedTags.js +15 -3
- package/dist/Atomic/UI/Alert/Alert.js +19 -3
- package/dist/Atomic/UI/Arrow/Arrow.js +16 -3
- package/dist/Atomic/UI/Box/Box.js +9 -3
- package/dist/Atomic/UI/Button/Button.js +11 -2
- package/dist/Atomic/UI/ButtonsBar/ButtonsBar.js +10 -1
- package/dist/Atomic/UI/Chart/Chart.js +29 -4
- package/dist/Atomic/UI/Chart/partial/Chart.constants.js +19 -11
- package/dist/Atomic/UI/Chart/partial/ChartTypeSwitcherIcon/ChartTypeSwitcherIcon.js +12 -1
- package/dist/Atomic/UI/Chart/partial/datasetSetters.js +34 -11
- package/dist/Atomic/UI/Chart/partial/optionsConstructor.js +56 -82
- package/dist/Atomic/UI/Chart/partial/optionsSetters.js +19 -15
- package/dist/Atomic/UI/Chart/partial/utils.js +20 -6
- package/dist/Atomic/UI/CircleProgressBar/CircleProgressBar.js +13 -3
- package/dist/Atomic/UI/DateTime/DateTime.js +14 -3
- package/dist/Atomic/UI/DebugContainer/DebugContainer.js +16 -4
- package/dist/Atomic/UI/DebugContainer/useDebugContainer.js +11 -3
- package/dist/Atomic/UI/DoubleString/DoubleString.js +17 -5
- package/dist/Atomic/UI/DynamicIcon/DynamicIcon.js +10 -3
- package/dist/Atomic/UI/ExampleChartIntegration/ExampleChartIntegration.js +52 -17
- package/dist/Atomic/UI/ExampleChartIntegration/partial/utils.js +29 -1
- package/dist/Atomic/UI/Hint/Hint.js +31 -5
- package/dist/Atomic/UI/Modal/Modal.js +28 -6
- package/dist/Atomic/UI/Modal/ModalHOC.js +9 -1
- package/dist/Atomic/UI/Modal/partials/ModalFooter.js +7 -1
- package/dist/Atomic/UI/Modal/partials/ModalTitle.js +8 -1
- package/dist/Atomic/UI/Modal/partials/useMobileModal.js +49 -32
- package/dist/Atomic/UI/ModalBackup/Modal.js +174 -0
- package/dist/Atomic/UI/ModalBackup/Modal.scss +333 -0
- package/dist/Atomic/UI/ModalBackup/ModalHOC.js +51 -0
- package/dist/Atomic/UI/ModalBackup/partials/ModalFooter.js +24 -0
- package/dist/Atomic/UI/ModalBackup/partials/ModalTitle.js +41 -0
- package/dist/Atomic/UI/MonoAccordion/MonoAccordion.js +21 -6
- package/dist/Atomic/UI/NavLine/NavLine.js +55 -26
- package/dist/Atomic/UI/NavLine/Tabs.js +3 -2
- package/dist/Atomic/UI/PageTitle/PageTitle.js +10 -2
- package/dist/Atomic/UI/PieChart/PieChart.js +10 -1
- package/dist/Atomic/UI/Price/Price.js +8 -3
- package/dist/Atomic/UI/PriceRange/PriceRange.js +7 -1
- package/dist/Atomic/UI/ProgressLine/ProgressLine.js +16 -1
- package/dist/Atomic/UI/Status/Status.js +8 -1
- package/dist/Atomic/UI/Table/Partials/TdCell.js +29 -5
- package/dist/Atomic/UI/Table/Partials/TdHeader.js +11 -1
- package/dist/Atomic/UI/Table/Partials/TdRow.js +17 -5
- package/dist/Atomic/UI/Table/Partials/TdTitle.js +14 -3
- package/dist/Atomic/UI/Table/Table.js +12 -1
- package/dist/Atomic/UI/Table/TdTypes/TdActions.js +18 -2
- package/dist/Atomic/UI/Table/TdTypes/TdPriority.js +9 -1
- package/dist/Atomic/UI/Table/TdTypes/TdRange.js +4 -1
- package/dist/Atomic/UI/Table/TdTypes/TdWeight.js +13 -1
- package/dist/Atomic/UI/Tag/Tag.js +14 -3
- package/dist/Atomic/UI/TagList/TagList.js +35 -19
- package/dist/Atomic/UI/UserBox/UserBox.js +13 -1
- package/dist/Classes/AbortableFetch.js +93 -36
- package/dist/Classes/AnimatedHandler.js +7 -3
- package/dist/Classes/RESTAPI/index.js +44 -39
- package/dist/Classes/RESTAPI/partials/AbortableFetch.js +93 -35
- package/dist/Classes/RESTAPI/partials/ApiBase.js +9 -1
- package/dist/Classes/RESTAPI/partials/ApiRequestCreators.js +32 -24
- package/dist/Classes/RESTAPI/partials/ApiUtils.js +41 -34
- package/dist/Classes/RESTAPI/partials/CredentialsProcessing.js +44 -21
- package/dist/Classes/RESTAPI/partials/Utils.js +19 -6
- package/dist/Classes/RESTAPI/partials/_outerDependencies.js +6 -2
- package/dist/Classes/RESTAPI/partials/_utils.js +36 -13
- package/dist/Constants/index.constants.js +15 -8
- package/dist/Functions/Portal.js +16 -5
- package/dist/Functions/customEventListener.js +17 -4
- package/dist/Functions/fieldValueFormatters.js +83 -43
- package/dist/Functions/hooks/useFormFieldsChangesManager.js +26 -23
- package/dist/Functions/locale/createTranslator.js +9 -4
- package/dist/Functions/operations.js +22 -12
- package/dist/Functions/presets/inputMaskPresets.js +11 -9
- package/dist/Functions/presets/inputPresets.js +11 -8
- package/dist/Functions/presets/mobileKeyboardTypesPresets.js +9 -7
- package/dist/Functions/schemas.js +13 -6
- package/dist/Functions/useBodyScrollLock.js +6 -1
- package/dist/Functions/useClickOutside.js +4 -0
- package/dist/Functions/useDebounce.js +7 -2
- package/dist/Functions/useFieldFocus.js +18 -6
- package/dist/Functions/useFormTools/form-drivers/ArrayWithObjects.js +9 -0
- package/dist/Functions/useFormTools/form-drivers/ObjectWithIterableObjects.js +23 -12
- package/dist/Functions/useFormTools/form-drivers/ObjectWithNamedKeyObjects.js +15 -6
- package/dist/Functions/useFormTools/functions/General.js +28 -18
- package/dist/Functions/useFormTools/functions/RenderFields.js +11 -2
- package/dist/Functions/useFormTools/functions/usePrevious.js +5 -1
- package/dist/Functions/useFormTools/index.js +144 -85
- package/dist/Functions/useInputHighlightError.js +12 -3
- package/dist/Functions/useIsMobile.js +13 -7
- package/dist/Functions/useKeyPress/useHandleKeyPress.js +7 -1
- package/dist/Functions/useKeyPress/useKeyPress.js +9 -1
- package/dist/Functions/useLocalStorage.js +9 -1
- package/dist/Functions/useLocationParams.js +5 -4
- package/dist/Functions/useMediaQuery.js +9 -3
- package/dist/Functions/useMetaInfo.js +10 -3
- package/dist/Functions/useMouseUpOutside.js +3 -0
- package/dist/Functions/useOnlineStatus.js +9 -1
- package/dist/Functions/usePasswordChecker.js +20 -4
- package/dist/Functions/usePrevious.js +5 -1
- package/dist/Functions/useResize.js +10 -2
- package/dist/Functions/useScrollTo.js +7 -2
- package/dist/Functions/useToggle.js +5 -1
- package/dist/Functions/utils.js +131 -56
- package/dist/Molecular/CustomIcons/components/AffiliateNetworks.js +9 -2
- package/dist/Molecular/CustomIcons/components/AlertCircle.js +9 -2
- package/dist/Molecular/CustomIcons/components/AppStore.js +9 -2
- package/dist/Molecular/CustomIcons/components/Arrow.js +9 -2
- package/dist/Molecular/CustomIcons/components/ArrowDown.js +9 -2
- package/dist/Molecular/CustomIcons/components/ArrowLeft.js +9 -2
- package/dist/Molecular/CustomIcons/components/ArrowRight.js +9 -2
- package/dist/Molecular/CustomIcons/components/ArrowUp.js +9 -2
- package/dist/Molecular/CustomIcons/components/Bell.js +9 -2
- package/dist/Molecular/CustomIcons/components/Button.js +9 -2
- package/dist/Molecular/CustomIcons/components/Campaigns.js +9 -2
- package/dist/Molecular/CustomIcons/components/Check.js +9 -2
- package/dist/Molecular/CustomIcons/components/Check2.js +9 -2
- package/dist/Molecular/CustomIcons/components/ChevronDown.js +9 -2
- package/dist/Molecular/CustomIcons/components/ChevronDownDisabled.js +9 -2
- package/dist/Molecular/CustomIcons/components/ChevronLeft.js +9 -2
- package/dist/Molecular/CustomIcons/components/ChevronRight.js +9 -2
- package/dist/Molecular/CustomIcons/components/ChevronUp.js +9 -2
- package/dist/Molecular/CustomIcons/components/ChevronUpDown.js +9 -2
- package/dist/Molecular/CustomIcons/components/Close.js +9 -2
- package/dist/Molecular/CustomIcons/components/ColumnsOrder.js +9 -2
- package/dist/Molecular/CustomIcons/components/Delete.js +9 -2
- package/dist/Molecular/CustomIcons/components/Edit.js +9 -2
- package/dist/Molecular/CustomIcons/components/Email.js +9 -2
- package/dist/Molecular/CustomIcons/components/FinturfLogo.js +9 -2
- package/dist/Molecular/CustomIcons/components/FinturfLogo2.js +9 -2
- package/dist/Molecular/CustomIcons/components/Flows.js +9 -2
- package/dist/Molecular/CustomIcons/components/Gift.js +9 -2
- package/dist/Molecular/CustomIcons/components/GoogleAuth.js +9 -2
- package/dist/Molecular/CustomIcons/components/GooglePlay.js +9 -2
- package/dist/Molecular/CustomIcons/components/HelpCircle.js +9 -2
- package/dist/Molecular/CustomIcons/components/HelpCircle2.js +9 -2
- package/dist/Molecular/CustomIcons/components/HelpCircleFilled.js +9 -2
- package/dist/Molecular/CustomIcons/components/Home.js +9 -2
- package/dist/Molecular/CustomIcons/components/Home2.js +9 -2
- package/dist/Molecular/CustomIcons/components/Key.js +9 -2
- package/dist/Molecular/CustomIcons/components/Landers.js +9 -2
- package/dist/Molecular/CustomIcons/components/Lock.js +9 -2
- package/dist/Molecular/CustomIcons/components/Mail.js +9 -2
- package/dist/Molecular/CustomIcons/components/Mastercard.js +9 -2
- package/dist/Molecular/CustomIcons/components/Minus.js +9 -2
- package/dist/Molecular/CustomIcons/components/Offers.js +9 -2
- package/dist/Molecular/CustomIcons/components/Pause.js +9 -2
- package/dist/Molecular/CustomIcons/components/PayPal.js +9 -2
- package/dist/Molecular/CustomIcons/components/PayPalLightLarge.js +9 -2
- package/dist/Molecular/CustomIcons/components/Phone.js +9 -2
- package/dist/Molecular/CustomIcons/components/Play.js +9 -2
- package/dist/Molecular/CustomIcons/components/Plus.js +9 -2
- package/dist/Molecular/CustomIcons/components/Profile.js +9 -2
- package/dist/Molecular/CustomIcons/components/QRCode.js +9 -2
- package/dist/Molecular/CustomIcons/components/Rectangle.js +9 -2
- package/dist/Molecular/CustomIcons/components/Revert.js +9 -2
- package/dist/Molecular/CustomIcons/components/Star.js +9 -2
- package/dist/Molecular/CustomIcons/components/Star2.js +9 -2
- package/dist/Molecular/CustomIcons/components/TrafficSources.js +9 -2
- package/dist/Molecular/CustomIcons/components/Trash.js +9 -2
- package/dist/Molecular/CustomIcons/components/TrashRed.js +9 -2
- package/dist/Molecular/CustomIcons/components/Triggers.js +9 -2
- package/dist/Molecular/CustomIcons/components/User.js +9 -2
- package/dist/Molecular/CustomIcons/components/Visa.js +9 -2
- package/dist/Molecular/CustomIcons/components/X.js +9 -2
- package/dist/Molecular/CustomIcons/index.js +122 -0
- package/dist/Molecular/FormElement/FormElement.js +12 -1
- package/dist/Molecular/FormWithDependOn/FormWithDependOn.js +31 -30
- package/dist/Molecular/FormWithDependOn/partials/_utils.js +12 -9
- package/dist/Molecular/InputAddress/InputAddress.js +114 -65
- package/dist/Molecular/InputPassword/InputPassword.js +19 -5
- package/dist/index.js +2 -0
- package/package.json +1 -1
|
@@ -1,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 = [],
|
|
@@ -93,28 +112,34 @@ 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(searchValue !== value && value === "");
|
|
116
140
|
searchValueRef.current = value;
|
|
117
141
|
};
|
|
142
|
+
|
|
118
143
|
const doScrollCallback = (0, _react.useCallback)(e => {
|
|
119
144
|
if (doLiveSearchRequest && typeof doLiveSearchRequest === "function") {
|
|
120
145
|
if (Math.round(e.target.clientHeight + e.target.scrollTop) == e.target.scrollHeight) {
|
|
@@ -122,47 +147,57 @@ const TagsDropdown = _ref => {
|
|
|
122
147
|
}
|
|
123
148
|
}
|
|
124
149
|
}, [options]);
|
|
150
|
+
|
|
125
151
|
const handleClickOutside = _ref3 => {
|
|
126
152
|
var _getListContainer;
|
|
153
|
+
|
|
127
154
|
let {
|
|
128
155
|
target
|
|
129
156
|
} = _ref3;
|
|
130
|
-
|
|
131
|
-
// eslint-disable-next-line no-use-before-define
|
|
132
|
-
!((_getListContainer = getListContainer()) !== null && _getListContainer !== void 0 && _getListContainer.contains(target))
|
|
157
|
+
|
|
158
|
+
if ( // eslint-disable-next-line no-use-before-define
|
|
159
|
+
!((_getListContainer = getListContainer()) !== null && _getListContainer !== void 0 && _getListContainer.contains(target))
|
|
160
|
+
/* && !isTargetInParent(target) */
|
|
161
|
+
) {
|
|
133
162
|
setIsOpen(false);
|
|
134
163
|
}
|
|
135
164
|
};
|
|
165
|
+
|
|
136
166
|
const deleteChosen = value => {
|
|
137
167
|
if (isMobile ? closeOnRemoveMobile : closeOnRemove) setIsOpen(false);
|
|
138
|
-
setLocalOptionsStore(options => ({
|
|
139
|
-
...options,
|
|
168
|
+
setLocalOptionsStore(options => ({ ...options,
|
|
140
169
|
[value]: undefined
|
|
141
170
|
}));
|
|
142
171
|
onChange(chosenOptions.filter(item => item !== value), "chosenOptions");
|
|
143
172
|
};
|
|
173
|
+
|
|
144
174
|
const onChangeHandler = item => {
|
|
145
175
|
if (item !== null && item !== void 0 && item.isFreezed) return false;
|
|
176
|
+
|
|
146
177
|
if ((item === null || item === void 0 ? void 0 : item.closeOnOptionSelect) !== undefined) {
|
|
147
178
|
if (item.closeOnOptionSelect) setIsOpen(false);
|
|
148
179
|
} else if (isMobile ? closeOnSelectMobile : closeOnSelect) setIsOpen(false);
|
|
180
|
+
|
|
149
181
|
setSearchValueInterceptor("");
|
|
182
|
+
|
|
150
183
|
if (chosenOptions.some(el => el === item.value)) {
|
|
151
184
|
deleteChosen(item.value);
|
|
152
185
|
return null;
|
|
153
186
|
}
|
|
154
|
-
|
|
155
|
-
|
|
187
|
+
|
|
188
|
+
setLocalOptionsStore(options => ({ ...options,
|
|
156
189
|
[item === null || item === void 0 ? void 0 : item.value]: item === null || item === void 0 ? void 0 : item.label
|
|
157
190
|
}));
|
|
158
191
|
onChange([...chosenOptions, item.value], "chosenOptions");
|
|
159
192
|
return null;
|
|
160
193
|
};
|
|
194
|
+
|
|
161
195
|
const onSearchHandler = name => {
|
|
162
196
|
let inputValue = name;
|
|
163
197
|
if (!isNotValidateASCII) inputValue = (0, _fieldValueFormatters.formatToOnlyASCIICodeText)(inputValue);
|
|
164
198
|
setSearchValueInterceptor(inputValue);
|
|
165
199
|
};
|
|
200
|
+
|
|
166
201
|
const onWrapperClick = e => {
|
|
167
202
|
if (e.target === (wrapperRef === null || wrapperRef === void 0 ? void 0 : wrapperRef.current)) {
|
|
168
203
|
e.stopPropagation();
|
|
@@ -170,14 +205,18 @@ const TagsDropdown = _ref => {
|
|
|
170
205
|
setIsOpen(false);
|
|
171
206
|
}
|
|
172
207
|
};
|
|
208
|
+
|
|
173
209
|
const getMarkupForElement = item => {
|
|
174
210
|
var _title$toString, _item$customMobileIco;
|
|
211
|
+
|
|
175
212
|
const {
|
|
176
213
|
description
|
|
177
214
|
} = item;
|
|
178
215
|
const title = item.title || item.label;
|
|
216
|
+
|
|
179
217
|
const hightlightSearchValue = title => {
|
|
180
218
|
var _title$toLowerCase;
|
|
219
|
+
|
|
181
220
|
const index = (_title$toLowerCase = title.toLowerCase()) === null || _title$toLowerCase === void 0 ? void 0 : _title$toLowerCase.indexOf(searchValue.toLowerCase());
|
|
182
221
|
if (index === -1) return title;
|
|
183
222
|
return /*#__PURE__*/_react.default.createElement("pre", {
|
|
@@ -186,8 +225,9 @@ const TagsDropdown = _ref => {
|
|
|
186
225
|
className: "search-match bg--yellow"
|
|
187
226
|
}, 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))));
|
|
188
227
|
};
|
|
228
|
+
|
|
189
229
|
return /*#__PURE__*/_react.default.createElement("button", {
|
|
190
|
-
key: title === null || title === void 0
|
|
230
|
+
key: title === null || title === void 0 ? void 0 : (_title$toString = title.toString()) === null || _title$toString === void 0 ? void 0 : _title$toString.replace(/ /g, "_"),
|
|
191
231
|
onClick: e => {
|
|
192
232
|
e.preventDefault();
|
|
193
233
|
e.stopPropagation();
|
|
@@ -221,11 +261,14 @@ const TagsDropdown = _ref => {
|
|
|
221
261
|
}
|
|
222
262
|
}) : "");
|
|
223
263
|
};
|
|
264
|
+
|
|
224
265
|
const prepareOptions = options => {
|
|
225
266
|
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();
|
|
226
267
|
};
|
|
268
|
+
|
|
227
269
|
const selectAllItems = () => {
|
|
228
270
|
var _prepareOptions;
|
|
271
|
+
|
|
229
272
|
const preparedOptions = (_prepareOptions = prepareOptions(options)) === null || _prepareOptions === void 0 ? void 0 : _prepareOptions.filter(_ref4 => {
|
|
230
273
|
let {
|
|
231
274
|
isFreezed,
|
|
@@ -249,57 +292,71 @@ const TagsDropdown = _ref => {
|
|
|
249
292
|
})) || [])], "chosenOptions");
|
|
250
293
|
if (isMobile ? closeOnSelectAllMobile : closeOnSelectAll) setIsOpen(false);
|
|
251
294
|
};
|
|
295
|
+
|
|
252
296
|
const unselectAllItems = () => {
|
|
253
297
|
setLocalOptionsStore({});
|
|
254
298
|
onChange(chosenOptions === null || chosenOptions === void 0 ? void 0 : chosenOptions.filter(item => {
|
|
255
|
-
var _prepareOptions2;
|
|
256
|
-
|
|
299
|
+
var _prepareOptions2, _prepareOptions2$find;
|
|
300
|
+
|
|
301
|
+
return (_prepareOptions2 = prepareOptions(options)) === null || _prepareOptions2 === void 0 ? void 0 : (_prepareOptions2$find = _prepareOptions2.find(_ref7 => {
|
|
257
302
|
let {
|
|
258
303
|
value
|
|
259
304
|
} = _ref7;
|
|
260
305
|
return value === item;
|
|
261
|
-
})) === null || _prepareOptions2 === void 0 ? void 0 : _prepareOptions2.isFreezed;
|
|
306
|
+
})) === null || _prepareOptions2$find === void 0 ? void 0 : _prepareOptions2$find.isFreezed;
|
|
262
307
|
}), "chosenOptions");
|
|
263
308
|
if (isMobile ? closeOnRemoveAllMobile : closeOnRemoveAll) setIsOpen(false);
|
|
264
309
|
};
|
|
310
|
+
|
|
265
311
|
const getParentNode = () => {
|
|
266
312
|
var _ref8, _document$querySelect;
|
|
313
|
+
|
|
267
314
|
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");
|
|
268
315
|
};
|
|
316
|
+
|
|
269
317
|
const initListContainer = () => {
|
|
270
318
|
const dropdownList = document.createElement("div");
|
|
271
319
|
dropdownList.setAttribute("id", dropdownId);
|
|
272
320
|
dropdownList.classList.add("tags-dropdown__container");
|
|
321
|
+
|
|
273
322
|
if (isMobile) {
|
|
274
323
|
dropdownList.addEventListener("click", e => {
|
|
275
324
|
if (e.target.id === dropdownId) setIsOpen(false);
|
|
276
325
|
});
|
|
277
326
|
}
|
|
327
|
+
|
|
278
328
|
if (isMobile) {
|
|
279
329
|
var _getParentNode;
|
|
330
|
+
|
|
280
331
|
try {
|
|
281
332
|
var _document$getElementB;
|
|
282
|
-
|
|
283
|
-
// eslint-disable-next-line no-empty
|
|
333
|
+
|
|
334
|
+
(_document$getElementB = document.getElementById("mlw-".concat(dropdownId))) === null || _document$getElementB === void 0 ? void 0 : _document$getElementB.remove(); // eslint-disable-next-line no-empty
|
|
284
335
|
} catch (e) {}
|
|
336
|
+
|
|
285
337
|
const dropdownMobileListWrapper = document.createElement("div");
|
|
286
338
|
dropdownMobileListWrapper.classList.add("tags-dropdown-mobile");
|
|
287
339
|
dropdownMobileListWrapper.setAttribute("id", "mlw-".concat(dropdownId));
|
|
288
|
-
dropdownMobileListWrapper === null || dropdownMobileListWrapper === void 0
|
|
289
|
-
(_getParentNode = getParentNode()) === null || _getParentNode === void 0
|
|
340
|
+
dropdownMobileListWrapper === null || dropdownMobileListWrapper === void 0 ? void 0 : dropdownMobileListWrapper.append(dropdownList);
|
|
341
|
+
(_getParentNode = getParentNode()) === null || _getParentNode === void 0 ? void 0 : _getParentNode.append(dropdownMobileListWrapper);
|
|
290
342
|
} else {
|
|
291
343
|
var _getParentNode2;
|
|
292
|
-
|
|
344
|
+
|
|
345
|
+
(_getParentNode2 = getParentNode()) === null || _getParentNode2 === void 0 ? void 0 : _getParentNode2.append(dropdownList);
|
|
293
346
|
}
|
|
294
347
|
};
|
|
348
|
+
|
|
295
349
|
const getListContainer = () => {
|
|
296
350
|
return document.getElementById(dropdownId);
|
|
297
351
|
};
|
|
352
|
+
|
|
298
353
|
const getListContainerWrapper = () => {
|
|
299
354
|
return document.getElementById("mlw-".concat(dropdownId));
|
|
300
355
|
};
|
|
356
|
+
|
|
301
357
|
const setListContainerStyles = () => {
|
|
302
|
-
var _dropdownRef$current$, _dropdownRef$current, _getComputedStyle$mar, _getComputedStyle, _getComputedStyle$max, _getComputedStyle2, _dl$getBoundingClient, _sw$getBoundingClient, _sw$getBoundingClient2, _lh$getBoundingClient, _lf$getBoundingClient;
|
|
358
|
+
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;
|
|
359
|
+
|
|
303
360
|
const lc = getListContainer();
|
|
304
361
|
if (!lc || !isOpen) return false;
|
|
305
362
|
const windowHeight = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;
|
|
@@ -308,75 +365,87 @@ const TagsDropdown = _ref => {
|
|
|
308
365
|
height,
|
|
309
366
|
left,
|
|
310
367
|
top
|
|
311
|
-
} = (_dropdownRef$current$ = dropdownRef === null || dropdownRef === void 0
|
|
368
|
+
} = (_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$ : {};
|
|
312
369
|
const sw = dropdownListWrapperRef === null || dropdownListWrapperRef === void 0 ? void 0 : dropdownListWrapperRef.current;
|
|
313
370
|
const dl = lc.getElementsByClassName("tags-dropdown__list")[0];
|
|
314
371
|
const lh = sw === null || sw === void 0 ? void 0 : sw.getElementsByClassName("tags-dropdown__header")[0];
|
|
315
372
|
const lf = sw === null || sw === void 0 ? void 0 : sw.getElementsByClassName("tags-dropdown__footer")[0];
|
|
316
|
-
const margin = parseInt((_getComputedStyle$mar = (_getComputedStyle = getComputedStyle(sw)) === null || _getComputedStyle === void 0
|
|
317
|
-
const maxHeight = initListHeight !== null && initListHeight !== void 0 ? initListHeight : parseInt((_getComputedStyle$max = (_getComputedStyle2 = getComputedStyle(dl)) === null || _getComputedStyle2 === void 0
|
|
373
|
+
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);
|
|
374
|
+
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);
|
|
318
375
|
if (initListHeight === null) setInitListHeight(maxHeight);
|
|
319
376
|
const toTop = top - margin;
|
|
320
377
|
const toBottom = windowHeight - top - height - margin * 2;
|
|
321
|
-
const dlHeight = dl === null || dl === void 0
|
|
322
|
-
let swHeight = sw === null || sw === void 0
|
|
378
|
+
const dlHeight = dl === null || dl === void 0 ? void 0 : (_dl$getBoundingClient = dl.getBoundingClientRect()) === null || _dl$getBoundingClient === void 0 ? void 0 : _dl$getBoundingClient.height;
|
|
379
|
+
let swHeight = sw === null || sw === void 0 ? void 0 : (_sw$getBoundingClient = sw.getBoundingClientRect()) === null || _sw$getBoundingClient === void 0 ? void 0 : _sw$getBoundingClient.height;
|
|
323
380
|
const controlsHeight = swHeight - dlHeight;
|
|
324
381
|
if (swHeight > maxHeight) swHeight = maxHeight - 2 * margin;
|
|
325
|
-
const maxSwHeight = (sw === null || sw === void 0
|
|
382
|
+
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);
|
|
326
383
|
const listPos = toTop < toBottom || toBottom >= swHeight ? "bottom" : "top";
|
|
327
384
|
if (swHeight > (listPos === "top" ? toTop : toBottom)) swHeight = (listPos === "top" ? toTop : toBottom) - 3 * margin;
|
|
328
385
|
lc.style.minWidth = "".concat(width, "px");
|
|
329
386
|
lc.style.left = "".concat(left, "px");
|
|
330
387
|
lc.style.top = "".concat(listPos === "bottom" ? top + height : top - swHeight - 2 * margin, "px");
|
|
388
|
+
|
|
331
389
|
if (isMobile) {
|
|
332
390
|
dl.style.maxHeight = "".concat(maxSwHeight, "px");
|
|
333
391
|
}
|
|
334
392
|
};
|
|
393
|
+
|
|
335
394
|
const renderListContainer = () => {
|
|
336
395
|
const lc = getListContainer();
|
|
337
|
-
if (!lc) return null;
|
|
396
|
+
if (!lc) return null; // eslint-disable-next-line no-use-before-define
|
|
338
397
|
|
|
339
|
-
// eslint-disable-next-line no-use-before-define
|
|
340
398
|
return /*#__PURE__*/(0, _reactDom.createPortal)(getListMarkUp(), lc);
|
|
341
399
|
};
|
|
400
|
+
|
|
342
401
|
const isTargetInParent = target => {
|
|
343
402
|
var _target$className, _target$className$ind, _target$className2, _target$className2$in;
|
|
403
|
+
|
|
344
404
|
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;
|
|
345
|
-
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
|
|
405
|
+
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;
|
|
346
406
|
return false;
|
|
347
407
|
};
|
|
408
|
+
|
|
348
409
|
const isItemMatchesSearch = item => {
|
|
349
410
|
const title = item.title || item.label;
|
|
350
411
|
return searchValue.length ? title.toLowerCase().includes((searchValue === null || searchValue === void 0 ? void 0 : searchValue.toLowerCase()) || "") : true;
|
|
351
412
|
};
|
|
413
|
+
|
|
352
414
|
const getFilteredOptions = options => options === null || options === void 0 ? void 0 : options.reduce((result, option) => {
|
|
353
415
|
if (option.groupName) {
|
|
354
416
|
var _option$list;
|
|
355
|
-
|
|
417
|
+
|
|
418
|
+
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));
|
|
419
|
+
|
|
356
420
|
if (filteredGroupItems !== null && filteredGroupItems !== void 0 && filteredGroupItems.length) {
|
|
357
|
-
result.push({
|
|
358
|
-
...option,
|
|
421
|
+
result.push({ ...option,
|
|
359
422
|
list: filteredGroupItems
|
|
360
423
|
});
|
|
361
424
|
}
|
|
362
425
|
} else if (isItemMatchesSearch(option)) {
|
|
363
426
|
result.push(option);
|
|
364
427
|
}
|
|
428
|
+
|
|
365
429
|
return result;
|
|
366
430
|
}, []);
|
|
431
|
+
|
|
367
432
|
const getTotalOptions = (0, _react.useCallback)(() => {
|
|
368
433
|
return options === null || options === void 0 ? void 0 : options.reduce((result, item) => {
|
|
369
434
|
if (item !== null && item !== void 0 && item.list) {
|
|
370
435
|
var _item$list2;
|
|
371
|
-
|
|
436
|
+
|
|
437
|
+
result += (item === null || item === void 0 ? void 0 : (_item$list2 = item.list) === null || _item$list2 === void 0 ? void 0 : _item$list2.length) || 0;
|
|
372
438
|
} else {
|
|
373
439
|
++result;
|
|
374
440
|
}
|
|
441
|
+
|
|
375
442
|
return result;
|
|
376
443
|
}, 0);
|
|
377
444
|
}, [options]);
|
|
445
|
+
|
|
378
446
|
const getListMarkUp = () => {
|
|
379
447
|
var _filteredOptions$filt, _filteredOptions$filt2;
|
|
448
|
+
|
|
380
449
|
const filteredOptions = getFilteredOptions(options);
|
|
381
450
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
382
451
|
className: (0, _classnames.default)("".concat(RC, "__container-wrapper")),
|
|
@@ -426,9 +495,10 @@ const TagsDropdown = _ref => {
|
|
|
426
495
|
ref: dropdownListRef,
|
|
427
496
|
className: "".concat(RC, "__list ").concat(headerContent || isMobile ? "".concat(RC, "__list--with-header") : "", " ").concat(footerContent ? "".concat(RC, "__list--with-footer") : "")
|
|
428
497
|
}, filteredOptions === null || filteredOptions === void 0 ? void 0 : filteredOptions.map(option => {
|
|
429
|
-
var _option$groupName, _option$list2;
|
|
498
|
+
var _option$groupName, _option$groupName$toS, _option$list2;
|
|
499
|
+
|
|
430
500
|
return option.groupName ? /*#__PURE__*/_react.default.createElement("div", {
|
|
431
|
-
key: (_option$groupName = option.groupName) === null || _option$groupName === void 0
|
|
501
|
+
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()),
|
|
432
502
|
className: (0, _classnames.default)("".concat(RC, "-group"), option.className)
|
|
433
503
|
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
434
504
|
className: "".concat(RC, "-group__name")
|
|
@@ -454,11 +524,14 @@ const TagsDropdown = _ref => {
|
|
|
454
524
|
onClick: () => setIsOpen(false)
|
|
455
525
|
}, "Apply", chosenOptions !== null && chosenOptions !== void 0 && chosenOptions.length ? "(".concat(chosenOptions === null || chosenOptions === void 0 ? void 0 : chosenOptions.length, ")") : "")) : null));
|
|
456
526
|
};
|
|
527
|
+
|
|
457
528
|
const closeList = e => {
|
|
458
529
|
var _inputRef$current;
|
|
530
|
+
|
|
459
531
|
handleClickOutside(e);
|
|
460
|
-
inputRef === null || inputRef === void 0
|
|
532
|
+
inputRef === null || inputRef === void 0 ? void 0 : (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.blur();
|
|
461
533
|
};
|
|
534
|
+
|
|
462
535
|
(0, _react.useLayoutEffect)(() => {
|
|
463
536
|
initListContainer();
|
|
464
537
|
}, []);
|
|
@@ -472,6 +545,7 @@ const TagsDropdown = _ref => {
|
|
|
472
545
|
window.removeEventListener("mousewheel", closeList);
|
|
473
546
|
window.removeEventListener("mouseup", handleClickOutside);
|
|
474
547
|
}
|
|
548
|
+
|
|
475
549
|
return () => {
|
|
476
550
|
window.removeEventListener("resize", setListContainerStyles);
|
|
477
551
|
window.removeEventListener("mousewheel", closeList);
|
|
@@ -480,13 +554,12 @@ const TagsDropdown = _ref => {
|
|
|
480
554
|
}, [getListContainer]);
|
|
481
555
|
(0, _react.useLayoutEffect)(() => {
|
|
482
556
|
setListContainerStyles();
|
|
483
|
-
}, [isOpen, chosenOptions, isMobile, dropdownListWrapperRef === null || dropdownListWrapperRef === void 0
|
|
557
|
+
}, [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]);
|
|
484
558
|
(0, _react.useEffect)(() => {
|
|
485
559
|
if (chosenOptions.length !== Object.keys(localOptionsStore).length) {
|
|
486
560
|
options.map(option => {
|
|
487
561
|
if (!(localOptionsStore !== null && localOptionsStore !== void 0 && localOptionsStore[option === null || option === void 0 ? void 0 : option.value])) {
|
|
488
|
-
setLocalOptionsStore(options => ({
|
|
489
|
-
...options,
|
|
562
|
+
setLocalOptionsStore(options => ({ ...options,
|
|
490
563
|
[option === null || option === void 0 ? void 0 : option.value]: option === null || option === void 0 ? void 0 : option.label
|
|
491
564
|
}));
|
|
492
565
|
}
|
|
@@ -499,70 +572,87 @@ const TagsDropdown = _ref => {
|
|
|
499
572
|
} else {
|
|
500
573
|
document.removeEventListener("click", handleClickOutside, true);
|
|
501
574
|
}
|
|
575
|
+
|
|
502
576
|
return () => document.removeEventListener("click", handleClickOutside, true);
|
|
503
577
|
}, [isMobile]);
|
|
504
578
|
(0, _react.useEffect)(() => {
|
|
505
579
|
var _selectAllButtonRef$c, _unselectAllButtonRef;
|
|
580
|
+
|
|
506
581
|
const fn = isOpen ? "addEventListener" : "removeEventListener";
|
|
507
|
-
selectAllButtonRef === null || selectAllButtonRef === void 0
|
|
508
|
-
unselectAllButtonRef === null || unselectAllButtonRef === void 0
|
|
582
|
+
selectAllButtonRef === null || selectAllButtonRef === void 0 ? void 0 : (_selectAllButtonRef$c = selectAllButtonRef.current) === null || _selectAllButtonRef$c === void 0 ? void 0 : _selectAllButtonRef$c[fn]("click", selectAllItems, true);
|
|
583
|
+
unselectAllButtonRef === null || unselectAllButtonRef === void 0 ? void 0 : (_unselectAllButtonRef = unselectAllButtonRef.current) === null || _unselectAllButtonRef === void 0 ? void 0 : _unselectAllButtonRef[fn]("click", unselectAllItems, true);
|
|
584
|
+
|
|
509
585
|
if (isOpen) {
|
|
510
586
|
var _getListContainer2;
|
|
511
|
-
|
|
587
|
+
|
|
588
|
+
(_getListContainer2 = getListContainer()) === null || _getListContainer2 === void 0 ? void 0 : _getListContainer2.classList.add("tags-dropdown__container--opened");
|
|
512
589
|
} else {
|
|
513
590
|
var _getListContainer3;
|
|
514
|
-
|
|
591
|
+
|
|
592
|
+
(_getListContainer3 = getListContainer()) === null || _getListContainer3 === void 0 ? void 0 : _getListContainer3.classList.remove("tags-dropdown__container--opened");
|
|
515
593
|
}
|
|
516
594
|
}, [isOpen]);
|
|
517
595
|
(0, _react.useEffect)(() => {
|
|
518
596
|
if (isOpen && isMobile, dropdownListRef !== null && dropdownListRef !== void 0 && dropdownListRef.current) {
|
|
519
597
|
var _dropdownListRef$curr, _dropdownListRef$curr2;
|
|
520
|
-
|
|
598
|
+
|
|
599
|
+
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));
|
|
600
|
+
|
|
521
601
|
if (isScrollableList === null) {
|
|
522
602
|
var _dropdownListRef$curr3, _dropdownListRef$curr4;
|
|
523
|
-
|
|
603
|
+
|
|
604
|
+
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));
|
|
524
605
|
}
|
|
525
606
|
}
|
|
607
|
+
|
|
526
608
|
if (isOpen && dropdownListRef && dropdownListRef.current) {
|
|
527
609
|
dropdownListRef.current.addEventListener("scroll", doScrollCallback);
|
|
528
610
|
}
|
|
611
|
+
|
|
529
612
|
return () => {
|
|
530
613
|
removeEventListener("scroll", doScrollCallback);
|
|
531
614
|
};
|
|
532
|
-
}, [isOpen, isMobile, dropdownListRef === null || dropdownListRef === void 0 ? void 0 : dropdownListRef.current, dropdownListRef === null || dropdownListRef === void 0
|
|
615
|
+
}, [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]);
|
|
533
616
|
(0, _react.useEffect)(() => {
|
|
534
617
|
const setScrollTopValue = e => {
|
|
535
618
|
setScrollTop(parseInt(e.target.scrollTop, 10));
|
|
536
619
|
};
|
|
620
|
+
|
|
537
621
|
if (isOpen && isMobile && dropdownListRef !== null && dropdownListRef !== void 0 && dropdownListRef.current) {
|
|
538
622
|
var _dropdownListRef$curr7;
|
|
539
|
-
|
|
623
|
+
|
|
624
|
+
dropdownListRef === null || dropdownListRef === void 0 ? void 0 : (_dropdownListRef$curr7 = dropdownListRef.current) === null || _dropdownListRef$curr7 === void 0 ? void 0 : _dropdownListRef$curr7.addEventListener("scroll", setScrollTopValue);
|
|
540
625
|
}
|
|
626
|
+
|
|
541
627
|
return () => {
|
|
542
628
|
var _dropdownListRef$curr8;
|
|
543
|
-
|
|
629
|
+
|
|
630
|
+
dropdownListRef === null || dropdownListRef === void 0 ? void 0 : (_dropdownListRef$curr8 = dropdownListRef.current) === null || _dropdownListRef$curr8 === void 0 ? void 0 : _dropdownListRef$curr8.removeEventListener("scroll", setScrollTopValue);
|
|
544
631
|
};
|
|
545
632
|
}, [isOpen, isMobile, dropdownListRef === null || dropdownListRef === void 0 ? void 0 : dropdownListRef.current]);
|
|
546
633
|
(0, _react.useEffect)(() => {
|
|
547
634
|
if (dropdownListRef !== null && dropdownListRef !== void 0 && dropdownListRef.current) {
|
|
548
635
|
var _dropdownListRef$curr9, _dropdownListRef$curr10;
|
|
549
|
-
|
|
636
|
+
|
|
637
|
+
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));
|
|
550
638
|
}
|
|
551
639
|
}, [scrollTop, dropdownListRef === null || dropdownListRef === void 0 ? void 0 : dropdownListRef.current]);
|
|
552
640
|
(0, _react.useEffect)(() => {
|
|
553
641
|
return () => {
|
|
554
642
|
var _getListContainer4, _getListContainerWrap;
|
|
555
|
-
|
|
556
|
-
(
|
|
643
|
+
|
|
644
|
+
(_getListContainer4 = getListContainer()) === null || _getListContainer4 === void 0 ? void 0 : _getListContainer4.remove();
|
|
645
|
+
(_getListContainerWrap = getListContainerWrapper()) === null || _getListContainerWrap === void 0 ? void 0 : _getListContainerWrap.remove();
|
|
557
646
|
};
|
|
558
647
|
}, []);
|
|
559
648
|
(0, _react.useEffect)(() => {
|
|
560
649
|
if (isSearchable && useLiveSearch && (debouncedSearchTerm || isValueDeleted || isOpen)) {
|
|
561
|
-
doLiveSearchRequest === null || doLiveSearchRequest === void 0
|
|
650
|
+
doLiveSearchRequest === null || doLiveSearchRequest === void 0 ? void 0 : doLiveSearchRequest(debouncedSearchTerm);
|
|
562
651
|
}
|
|
563
652
|
}, [isOpen, debouncedSearchTerm, isValueDeleted]);
|
|
564
653
|
(0, _react.useLayoutEffect)(() => {
|
|
565
654
|
var _getListContainer5;
|
|
655
|
+
|
|
566
656
|
if (!isMobile) {
|
|
567
657
|
window.addEventListener("resize", setListContainerStyles);
|
|
568
658
|
window.addEventListener("mousewheel", closeList);
|
|
@@ -574,14 +664,16 @@ const TagsDropdown = _ref => {
|
|
|
574
664
|
window.removeEventListener("scroll", closeList);
|
|
575
665
|
window.removeEventListener("touchmove", closeList);
|
|
576
666
|
}
|
|
577
|
-
|
|
667
|
+
|
|
668
|
+
(_getListContainer5 = getListContainer()) === null || _getListContainer5 === void 0 ? void 0 : _getListContainer5.addEventListener("click", closeList);
|
|
578
669
|
return () => {
|
|
579
670
|
var _getListContainer6;
|
|
671
|
+
|
|
580
672
|
window.removeEventListener("resize", setListContainerStyles);
|
|
581
673
|
window.removeEventListener("mousewheel", closeList);
|
|
582
674
|
window.removeEventListener("scroll", closeList);
|
|
583
675
|
window.removeEventListener("touchmove", closeList);
|
|
584
|
-
(_getListContainer6 = getListContainer()) === null || _getListContainer6 === void 0
|
|
676
|
+
(_getListContainer6 = getListContainer()) === null || _getListContainer6 === void 0 ? void 0 : _getListContainer6.removeEventListener("click", closeList);
|
|
585
677
|
};
|
|
586
678
|
}, [getListContainer]);
|
|
587
679
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
@@ -635,7 +727,8 @@ const TagsDropdown = _ref => {
|
|
|
635
727
|
onKeyDown: e => onKeyPress(e, searchValue),
|
|
636
728
|
onFocus: e => {
|
|
637
729
|
var _e$target;
|
|
638
|
-
|
|
730
|
+
|
|
731
|
+
if (isMobile) e === null || e === void 0 ? void 0 : (_e$target = e.target) === null || _e$target === void 0 ? void 0 : _e$target.blur();
|
|
639
732
|
}
|
|
640
733
|
}, attributesOfNativeInput)) : "", isOpen && renderListContainer(), /*#__PURE__*/_react.default.createElement("span", {
|
|
641
734
|
className: (0, _classnames.default)("".concat(RC, "__arrow"), {
|
|
@@ -649,4 +742,6 @@ const TagsDropdown = _ref => {
|
|
|
649
742
|
className: "color--text"
|
|
650
743
|
}))));
|
|
651
744
|
};
|
|
652
|
-
|
|
745
|
+
|
|
746
|
+
var _default = TagsDropdown;
|
|
747
|
+
exports.default = _default;
|