intelicoreact 1.4.17 → 1.4.18
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 +60 -25
- 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 +85 -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/TagListToDropdown/TagListToDropdown.js +30 -8
- package/dist/Atomic/FormElements/TagsDropdown/TagsDropdown.js +187 -96
- 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 +19 -7
- package/dist/Atomic/UI/TagList/TagList.js +38 -20
- 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 +53 -44
- 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,31 +1,51 @@
|
|
|
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 _Button = _interopRequireDefault(require("../../UI/Button/Button"));
|
|
31
|
+
|
|
19
32
|
var _Tag = _interopRequireDefault(require("../../UI/Tag/Tag"));
|
|
33
|
+
|
|
20
34
|
var _TagList = _interopRequireDefault(require("../../UI/TagList/TagList"));
|
|
35
|
+
|
|
21
36
|
require("./TagsDropdown.scss");
|
|
22
|
-
|
|
23
|
-
function
|
|
37
|
+
|
|
38
|
+
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); }
|
|
39
|
+
|
|
40
|
+
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; }
|
|
41
|
+
|
|
24
42
|
const RC = "tags-dropdown";
|
|
25
43
|
const MIN_ITEMS_FOR_SHOW_MOBILE_SEARCH = 10;
|
|
26
44
|
const COLORS = ["#F1F0F0", "#E3E2E0", "#EEDFDA", "#F9DEC9", "#FDECC8", "#DBECDB", "#D3E4EF", "#E8DEEE", "#F4E0E9", "#FFE2DD", "#D3EFED", "#ECEEDE"];
|
|
45
|
+
|
|
27
46
|
const TagsDropdown = _ref => {
|
|
28
|
-
var _Object$keys, _dropdownListWrapperR2, _dropdownListRef$curr7, _dropdownListRef$curr8;
|
|
47
|
+
var _Object$keys, _dropdownListWrapperR2, _dropdownListWrapperR3, _dropdownListRef$curr7, _dropdownListRef$curr8;
|
|
48
|
+
|
|
29
49
|
let {
|
|
30
50
|
options: optionsProp,
|
|
31
51
|
chosenOptions = [],
|
|
@@ -99,11 +119,13 @@ const TagsDropdown = _ref => {
|
|
|
99
119
|
searchValue,
|
|
100
120
|
delay: 600
|
|
101
121
|
});
|
|
122
|
+
|
|
102
123
|
const setSearchValueInterceptor = value => {
|
|
103
124
|
setSearchValue(value);
|
|
104
125
|
setIsValueDeleted(searchValue !== value && value === "");
|
|
105
126
|
searchValueRef.current = value;
|
|
106
127
|
};
|
|
128
|
+
|
|
107
129
|
const [options, setOptions] = (0, _react.useState)([]);
|
|
108
130
|
const [editingOption, setEditingOption] = (0, _react.useState)(null);
|
|
109
131
|
const [isValueDeleted, setIsValueDeleted] = (0, _react.useState)(false);
|
|
@@ -112,9 +134,9 @@ const TagsDropdown = _ref => {
|
|
|
112
134
|
const getRandomIndex = (min, max) => {
|
|
113
135
|
return Math.floor(Math.random() * (max - min + 1)) + min;
|
|
114
136
|
};
|
|
137
|
+
|
|
115
138
|
const randomIndex = getRandomIndex(0, COLORS.length - 1);
|
|
116
|
-
return COLORS[randomIndex];
|
|
117
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
139
|
+
return COLORS[randomIndex]; // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
118
140
|
}, [options.length]);
|
|
119
141
|
const singleLevelOptions = options === null || options === void 0 ? void 0 : options.reduce((acc, item) => {
|
|
120
142
|
const checkUniqAndPush = (acc, item) => {
|
|
@@ -124,113 +146,135 @@ const TagsDropdown = _ref => {
|
|
|
124
146
|
} = _ref2;
|
|
125
147
|
return value === (item === null || item === void 0 ? void 0 : item.value);
|
|
126
148
|
});
|
|
149
|
+
|
|
127
150
|
if (isExist !== -1) {
|
|
128
151
|
acc[isExist] = item;
|
|
129
152
|
} else {
|
|
130
153
|
acc.push(item);
|
|
131
154
|
}
|
|
132
155
|
};
|
|
156
|
+
|
|
133
157
|
if (item.groupName) {
|
|
134
158
|
var _item$list;
|
|
135
|
-
|
|
159
|
+
|
|
160
|
+
(_item$list = item.list) === null || _item$list === void 0 ? void 0 : _item$list.map(item => checkUniqAndPush(acc, item));
|
|
136
161
|
} else {
|
|
137
162
|
checkUniqAndPush(acc, item);
|
|
138
163
|
}
|
|
164
|
+
|
|
139
165
|
return acc;
|
|
140
166
|
}, (_Object$keys = Object.keys(localOptionsStore)) === null || _Object$keys === void 0 ? void 0 : _Object$keys.map(value => ({
|
|
141
167
|
value,
|
|
142
168
|
label: localOptionsStore === null || localOptionsStore === void 0 ? void 0 : localOptionsStore[value]
|
|
143
|
-
})));
|
|
169
|
+
}))); // --- GENERAL FUNCTIONS BEGIN --- //
|
|
144
170
|
|
|
145
|
-
// --- GENERAL FUNCTIONS BEGIN --- //
|
|
146
171
|
const handleClickOutside = e => {
|
|
147
172
|
var _editOptionModalRef$c, _getListContainer, _customTriggerRef$cur, _customTriggerRef$cur2;
|
|
173
|
+
|
|
148
174
|
const {
|
|
149
175
|
target
|
|
150
176
|
} = e;
|
|
177
|
+
|
|
151
178
|
if (editOptionModalRef.current && !((_editOptionModalRef$c = editOptionModalRef.current) !== null && _editOptionModalRef$c !== void 0 && _editOptionModalRef$c.contains(target)) && !document.getElementById(editingOption === null || editingOption === void 0 ? void 0 : editingOption.value).contains(target)) {
|
|
152
179
|
saveEditingOption();
|
|
153
180
|
} else if (!((_getListContainer = getListContainer()) !== null && _getListContainer !== void 0 && _getListContainer.contains(target)) && isOpen && (!(customTriggerRef !== null && customTriggerRef !== void 0 && customTriggerRef.current) || !(customTriggerRef !== null && customTriggerRef !== void 0 && (_customTriggerRef$cur = customTriggerRef.current) !== null && _customTriggerRef$cur !== void 0 && _customTriggerRef$cur.contains(target))) || customTriggerRef !== null && customTriggerRef !== void 0 && (_customTriggerRef$cur2 = customTriggerRef.current) !== null && _customTriggerRef$cur2 !== void 0 && _customTriggerRef$cur2.isEqualNode(target)) {
|
|
154
181
|
setIsOpen(false);
|
|
155
|
-
onDropdownListClose === null || onDropdownListClose === void 0
|
|
182
|
+
onDropdownListClose === null || onDropdownListClose === void 0 ? void 0 : onDropdownListClose(e);
|
|
156
183
|
}
|
|
157
184
|
};
|
|
185
|
+
|
|
158
186
|
const closeList = e => {
|
|
159
187
|
var _inputRef$current;
|
|
188
|
+
|
|
160
189
|
handleClickOutside(e);
|
|
161
|
-
if (!e.target.isEqualNode(inputRef === null || inputRef === void 0 ? void 0 : inputRef.current)) inputRef === null || inputRef === void 0
|
|
190
|
+
if (!e.target.isEqualNode(inputRef === null || inputRef === void 0 ? void 0 : inputRef.current)) inputRef === null || inputRef === void 0 ? void 0 : (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.blur();
|
|
162
191
|
};
|
|
192
|
+
|
|
163
193
|
const isTargetInParent = target => {
|
|
164
194
|
var _target$className, _target$className$ind, _target$className2, _target$className2$in;
|
|
195
|
+
|
|
165
196
|
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;
|
|
166
|
-
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
|
|
197
|
+
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;
|
|
167
198
|
return false;
|
|
168
199
|
};
|
|
200
|
+
|
|
169
201
|
const isItemMatchesSearch = item => {
|
|
170
202
|
const title = item.title || item.label;
|
|
171
203
|
return searchValue.length ? title.toLowerCase().includes((searchValue === null || searchValue === void 0 ? void 0 : searchValue.toLowerCase()) || "") : true;
|
|
172
|
-
};
|
|
173
|
-
|
|
204
|
+
}; // --- GENERAL FUNCTIONS END --- //
|
|
205
|
+
|
|
174
206
|
|
|
175
207
|
const prepareOptions = options => {
|
|
176
208
|
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();
|
|
177
209
|
};
|
|
210
|
+
|
|
178
211
|
const getFilteredOptions = options => options === null || options === void 0 ? void 0 : options.reduce((result, option) => {
|
|
179
212
|
if (option.groupName) {
|
|
180
213
|
var _option$list;
|
|
181
|
-
|
|
214
|
+
|
|
215
|
+
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));
|
|
216
|
+
|
|
182
217
|
if (filteredGroupItems !== null && filteredGroupItems !== void 0 && filteredGroupItems.length) {
|
|
183
|
-
result.push({
|
|
184
|
-
...option,
|
|
218
|
+
result.push({ ...option,
|
|
185
219
|
list: filteredGroupItems
|
|
186
220
|
});
|
|
187
221
|
}
|
|
188
222
|
} else if (isItemMatchesSearch(option)) {
|
|
189
223
|
result.push(option);
|
|
190
224
|
}
|
|
225
|
+
|
|
191
226
|
return result;
|
|
192
227
|
}, []);
|
|
228
|
+
|
|
193
229
|
const getTotalOptions = (0, _react.useCallback)(() => {
|
|
194
230
|
return options === null || options === void 0 ? void 0 : options.reduce((result, item) => {
|
|
195
231
|
if (item !== null && item !== void 0 && item.list) {
|
|
196
232
|
var _item$list2;
|
|
197
|
-
|
|
233
|
+
|
|
234
|
+
result += (item === null || item === void 0 ? void 0 : (_item$list2 = item.list) === null || _item$list2 === void 0 ? void 0 : _item$list2.length) || 0;
|
|
198
235
|
} else {
|
|
199
236
|
++result;
|
|
200
237
|
}
|
|
238
|
+
|
|
201
239
|
return result;
|
|
202
240
|
}, 0);
|
|
203
241
|
}, [options]);
|
|
242
|
+
|
|
204
243
|
const deleteChosen = value => {
|
|
205
244
|
if (isMobile ? closeOnRemoveMobile : closeOnRemove) setIsOpen(false);
|
|
206
|
-
setLocalOptionsStore(options => ({
|
|
207
|
-
...options,
|
|
245
|
+
setLocalOptionsStore(options => ({ ...options,
|
|
208
246
|
[value]: undefined
|
|
209
247
|
}));
|
|
210
248
|
onChange(chosenOptions.filter(item => item !== value), "chosenOptions");
|
|
211
249
|
};
|
|
250
|
+
|
|
212
251
|
const onChangeHandler = item => {
|
|
213
252
|
if (item !== null && item !== void 0 && item.isFreezed) return false;
|
|
253
|
+
|
|
214
254
|
if ((item === null || item === void 0 ? void 0 : item.closeOnOptionSelect) !== undefined) {
|
|
215
255
|
if (item.closeOnOptionSelect) setIsOpen(false);
|
|
216
256
|
} else if (isMobile ? closeOnSelectMobile : closeOnSelect) setIsOpen(false);
|
|
257
|
+
|
|
217
258
|
setSearchValueInterceptor("");
|
|
259
|
+
|
|
218
260
|
if (chosenOptions.some(el => el === item.value)) {
|
|
219
261
|
deleteChosen(item.value);
|
|
220
262
|
return null;
|
|
221
263
|
}
|
|
222
|
-
|
|
223
|
-
|
|
264
|
+
|
|
265
|
+
setLocalOptionsStore(options => ({ ...options,
|
|
224
266
|
[item === null || item === void 0 ? void 0 : item.value]: item === null || item === void 0 ? void 0 : item.label
|
|
225
267
|
}));
|
|
226
268
|
onChange([...chosenOptions, item.value], "chosenOptions");
|
|
227
269
|
return null;
|
|
228
270
|
};
|
|
271
|
+
|
|
229
272
|
const onSearchHandler = name => {
|
|
230
273
|
let inputValue = name;
|
|
231
274
|
if (!isNotValidateASCII) inputValue = (0, _fieldValueFormatters.formatToOnlyASCIICodeText)(inputValue);
|
|
232
275
|
setSearchValueInterceptor(inputValue);
|
|
233
276
|
};
|
|
277
|
+
|
|
234
278
|
const onWrapperClick = e => {
|
|
235
279
|
if (e.target === (wrapperRef === null || wrapperRef === void 0 ? void 0 : wrapperRef.current)) {
|
|
236
280
|
e.stopPropagation();
|
|
@@ -238,8 +282,10 @@ const TagsDropdown = _ref => {
|
|
|
238
282
|
setIsOpen(false);
|
|
239
283
|
}
|
|
240
284
|
};
|
|
285
|
+
|
|
241
286
|
const selectAllItems = () => {
|
|
242
287
|
var _prepareOptions;
|
|
288
|
+
|
|
243
289
|
const preparedOptions = (_prepareOptions = prepareOptions(options)) === null || _prepareOptions === void 0 ? void 0 : _prepareOptions.filter(_ref3 => {
|
|
244
290
|
let {
|
|
245
291
|
isFreezed,
|
|
@@ -263,66 +309,79 @@ const TagsDropdown = _ref => {
|
|
|
263
309
|
})) || [])], "chosenOptions");
|
|
264
310
|
if (isMobile ? closeOnSelectAllMobile : closeOnSelectAll) setIsOpen(false);
|
|
265
311
|
};
|
|
312
|
+
|
|
266
313
|
const unselectAllItems = () => {
|
|
267
314
|
setLocalOptionsStore({});
|
|
268
315
|
onChange(chosenOptions === null || chosenOptions === void 0 ? void 0 : chosenOptions.filter(item => {
|
|
269
|
-
var _prepareOptions2;
|
|
270
|
-
|
|
316
|
+
var _prepareOptions2, _prepareOptions2$find;
|
|
317
|
+
|
|
318
|
+
return (_prepareOptions2 = prepareOptions(options)) === null || _prepareOptions2 === void 0 ? void 0 : (_prepareOptions2$find = _prepareOptions2.find(_ref6 => {
|
|
271
319
|
let {
|
|
272
320
|
value
|
|
273
321
|
} = _ref6;
|
|
274
322
|
return value === item;
|
|
275
|
-
})) === null || _prepareOptions2 === void 0 ? void 0 : _prepareOptions2.isFreezed;
|
|
323
|
+
})) === null || _prepareOptions2$find === void 0 ? void 0 : _prepareOptions2$find.isFreezed;
|
|
276
324
|
}), "chosenOptions");
|
|
277
325
|
if (isMobile ? closeOnRemoveAllMobile : closeOnRemoveAll) setIsOpen(false);
|
|
278
326
|
};
|
|
327
|
+
|
|
279
328
|
const doScrollCallback = (0, _react.useCallback)(e => {
|
|
280
329
|
if (doLiveSearchRequest && typeof doLiveSearchRequest === "function") {
|
|
281
330
|
if (Math.round(e.target.clientHeight + e.target.scrollTop) == e.target.scrollHeight) {
|
|
282
331
|
doLiveSearchRequest(searchValueRef.current, true);
|
|
283
332
|
}
|
|
284
333
|
}
|
|
285
|
-
}, [options]);
|
|
334
|
+
}, [options]); // --- LIST CONTAINER FUNCTIONS BEGIN --- //
|
|
286
335
|
|
|
287
|
-
// --- LIST CONTAINER FUNCTIONS BEGIN --- //
|
|
288
336
|
const getParentNode = () => {
|
|
289
337
|
var _ref7, _document$querySelect;
|
|
338
|
+
|
|
290
339
|
return (_ref7 = (_document$querySelect = document.querySelector("div#root")) !== null && _document$querySelect !== void 0 ? _document$querySelect : document.querySelector("div#app")) !== null && _ref7 !== void 0 ? _ref7 : document.querySelector("div#storybook-root");
|
|
291
340
|
};
|
|
341
|
+
|
|
292
342
|
const initListContainer = () => {
|
|
293
343
|
const dropdownList = document.createElement("div");
|
|
294
344
|
dropdownList.setAttribute("id", dropdownId);
|
|
295
345
|
dropdownList.classList.add("tags-dropdown__container");
|
|
346
|
+
|
|
296
347
|
if (isMobile) {
|
|
297
348
|
dropdownList.addEventListener("click", e => {
|
|
298
349
|
if (e.target.id === dropdownId) setIsOpen(false);
|
|
299
350
|
});
|
|
300
351
|
}
|
|
352
|
+
|
|
301
353
|
if (isMobile) {
|
|
302
354
|
var _getParentNode;
|
|
355
|
+
|
|
303
356
|
try {
|
|
304
357
|
var _document$getElementB;
|
|
305
|
-
|
|
306
|
-
// eslint-disable-next-line no-empty
|
|
358
|
+
|
|
359
|
+
(_document$getElementB = document.getElementById("mlw-".concat(dropdownId))) === null || _document$getElementB === void 0 ? void 0 : _document$getElementB.remove(); // eslint-disable-next-line no-empty
|
|
307
360
|
} catch (e) {}
|
|
361
|
+
|
|
308
362
|
const dropdownMobileListWrapper = document.createElement("div");
|
|
309
363
|
dropdownMobileListWrapper.classList.add("tags-dropdown-mobile");
|
|
310
364
|
dropdownMobileListWrapper.setAttribute("id", "mlw-".concat(dropdownId));
|
|
311
|
-
dropdownMobileListWrapper === null || dropdownMobileListWrapper === void 0
|
|
312
|
-
(_getParentNode = getParentNode()) === null || _getParentNode === void 0
|
|
365
|
+
dropdownMobileListWrapper === null || dropdownMobileListWrapper === void 0 ? void 0 : dropdownMobileListWrapper.append(dropdownList);
|
|
366
|
+
(_getParentNode = getParentNode()) === null || _getParentNode === void 0 ? void 0 : _getParentNode.append(dropdownMobileListWrapper);
|
|
313
367
|
} else {
|
|
314
368
|
var _getParentNode2;
|
|
315
|
-
|
|
369
|
+
|
|
370
|
+
(_getParentNode2 = getParentNode()) === null || _getParentNode2 === void 0 ? void 0 : _getParentNode2.append(dropdownList);
|
|
316
371
|
}
|
|
317
372
|
};
|
|
373
|
+
|
|
318
374
|
const getListContainer = () => {
|
|
319
375
|
return document.getElementById(dropdownId);
|
|
320
376
|
};
|
|
377
|
+
|
|
321
378
|
const getListContainerWrapper = () => {
|
|
322
379
|
return document.getElementById("mlw-".concat(dropdownId));
|
|
323
380
|
};
|
|
381
|
+
|
|
324
382
|
const setListContainerStyles = () => {
|
|
325
|
-
var _dropdownRef$current$, _dropdownRef$current, _getComputedStyle$mar, _getComputedStyle, _getComputedStyle$max, _getComputedStyle2, _dl$getBoundingClient, _sw$getBoundingClient, _sw$getBoundingClient2, _lh$getBoundingClient, _lf$getBoundingClient;
|
|
383
|
+
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;
|
|
384
|
+
|
|
326
385
|
const lc = getListContainer();
|
|
327
386
|
if (!lc || !isOpen) return false;
|
|
328
387
|
const windowHeight = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;
|
|
@@ -331,40 +390,41 @@ const TagsDropdown = _ref => {
|
|
|
331
390
|
height,
|
|
332
391
|
left,
|
|
333
392
|
top
|
|
334
|
-
} = (_dropdownRef$current$ = dropdownRef === null || dropdownRef === void 0
|
|
393
|
+
} = (_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$ : {};
|
|
335
394
|
const sw = dropdownListWrapperRef === null || dropdownListWrapperRef === void 0 ? void 0 : dropdownListWrapperRef.current;
|
|
336
395
|
const dl = lc.getElementsByClassName("tags-dropdown__list")[0];
|
|
337
396
|
const lh = sw === null || sw === void 0 ? void 0 : sw.getElementsByClassName("tags-dropdown__header")[0];
|
|
338
397
|
const lf = sw === null || sw === void 0 ? void 0 : sw.getElementsByClassName("tags-dropdown__footer")[0];
|
|
339
|
-
const margin = parseInt((_getComputedStyle$mar = (_getComputedStyle = getComputedStyle(sw)) === null || _getComputedStyle === void 0
|
|
340
|
-
const maxHeight = initListHeight !== null && initListHeight !== void 0 ? initListHeight : parseInt((_getComputedStyle$max = (_getComputedStyle2 = getComputedStyle(dl)) === null || _getComputedStyle2 === void 0
|
|
398
|
+
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);
|
|
399
|
+
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);
|
|
341
400
|
if (initListHeight === null) setInitListHeight(maxHeight);
|
|
342
401
|
const toTop = top - margin;
|
|
343
402
|
const toBottom = windowHeight - top - height - margin * 2;
|
|
344
|
-
const dlHeight = dl === null || dl === void 0
|
|
345
|
-
let swHeight = sw === null || sw === void 0
|
|
403
|
+
const dlHeight = dl === null || dl === void 0 ? void 0 : (_dl$getBoundingClient = dl.getBoundingClientRect()) === null || _dl$getBoundingClient === void 0 ? void 0 : _dl$getBoundingClient.height;
|
|
404
|
+
let swHeight = sw === null || sw === void 0 ? void 0 : (_sw$getBoundingClient = sw.getBoundingClientRect()) === null || _sw$getBoundingClient === void 0 ? void 0 : _sw$getBoundingClient.height;
|
|
346
405
|
const controlsHeight = swHeight - dlHeight;
|
|
347
406
|
if (swHeight > maxHeight) swHeight = maxHeight - 2 * margin;
|
|
348
|
-
const maxSwHeight = (sw === null || sw === void 0
|
|
407
|
+
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);
|
|
349
408
|
const listPos = toTop < toBottom || toBottom >= swHeight ? "bottom" : "top";
|
|
350
409
|
if (swHeight > (listPos === "top" ? toTop : toBottom)) swHeight = (listPos === "top" ? toTop : toBottom) - 3 * margin;
|
|
351
410
|
lc.style.minWidth = "".concat(width, "px");
|
|
352
411
|
lc.style.left = "".concat(left, "px");
|
|
353
412
|
lc.style.top = "".concat(listPos === "bottom" ? top + height : top - swHeight - 2 * margin, "px");
|
|
413
|
+
|
|
354
414
|
if (isMobile) {
|
|
355
415
|
dl.style.maxHeight = "".concat(maxSwHeight, "px");
|
|
356
416
|
}
|
|
357
417
|
};
|
|
418
|
+
|
|
358
419
|
const renderListContainer = () => {
|
|
359
420
|
const lc = getListContainer();
|
|
360
|
-
if (!lc) return null;
|
|
421
|
+
if (!lc) return null; // eslint-disable-next-line no-use-before-define
|
|
361
422
|
|
|
362
|
-
// eslint-disable-next-line no-use-before-define
|
|
363
423
|
return /*#__PURE__*/(0, _reactDom.createPortal)(getListMarkUp(), lc);
|
|
364
|
-
};
|
|
365
|
-
// --- LIST CONTAINER FUNCTIONS END --- //
|
|
366
|
-
|
|
424
|
+
}; // --- LIST CONTAINER FUNCTIONS END --- //
|
|
367
425
|
// --- CREATABLE LOGIC BEGIN --- //
|
|
426
|
+
|
|
427
|
+
|
|
368
428
|
const onOptionCreateClick = () => {
|
|
369
429
|
const tempId = Math.random().toString(16).slice(2);
|
|
370
430
|
const newOption = {
|
|
@@ -382,15 +442,18 @@ const TagsDropdown = _ref => {
|
|
|
382
442
|
value: tempId,
|
|
383
443
|
label: searchValue
|
|
384
444
|
});
|
|
385
|
-
onOptionCreate === null || onOptionCreate === void 0
|
|
445
|
+
onOptionCreate === null || onOptionCreate === void 0 ? void 0 : onOptionCreate(newOption);
|
|
386
446
|
};
|
|
447
|
+
|
|
387
448
|
const onOptionEditClick = (e, item) => {
|
|
388
|
-
e === null || e === void 0
|
|
389
|
-
e === null || e === void 0
|
|
449
|
+
e === null || e === void 0 ? void 0 : e.preventDefault();
|
|
450
|
+
e === null || e === void 0 ? void 0 : e.stopPropagation();
|
|
390
451
|
setEditingOption((editingOption === null || editingOption === void 0 ? void 0 : editingOption.value) === (item === null || item === void 0 ? void 0 : item.value) ? null : item);
|
|
391
452
|
};
|
|
453
|
+
|
|
392
454
|
const onOptionDeleteClick = () => {
|
|
393
455
|
var _onOptionDelete;
|
|
456
|
+
|
|
394
457
|
((_onOptionDelete = onOptionDelete === null || onOptionDelete === void 0 ? void 0 : onOptionDelete(editingOption)) !== null && _onOptionDelete !== void 0 ? _onOptionDelete : new Promise(r => r())).then(() => {
|
|
395
458
|
deleteChosen(editingOption === null || editingOption === void 0 ? void 0 : editingOption.value);
|
|
396
459
|
setOptions(options => options.filter(_ref8 => {
|
|
@@ -402,21 +465,24 @@ const TagsDropdown = _ref => {
|
|
|
402
465
|
setEditingOption(null);
|
|
403
466
|
});
|
|
404
467
|
};
|
|
468
|
+
|
|
405
469
|
const saveEditingOption = () => {
|
|
406
|
-
onOptionEdit === null || onOptionEdit === void 0
|
|
470
|
+
onOptionEdit === null || onOptionEdit === void 0 ? void 0 : onOptionEdit(editingOption);
|
|
407
471
|
setOptions(options => options.map(option => {
|
|
408
472
|
if (editingOption && option.value === (editingOption === null || editingOption === void 0 ? void 0 : editingOption.value)) {
|
|
409
|
-
const tmp = {
|
|
410
|
-
...editingOption
|
|
473
|
+
const tmp = { ...editingOption
|
|
411
474
|
};
|
|
412
475
|
setEditingOption(null);
|
|
413
476
|
return tmp;
|
|
414
477
|
}
|
|
478
|
+
|
|
415
479
|
return option;
|
|
416
480
|
}));
|
|
417
481
|
};
|
|
482
|
+
|
|
418
483
|
const setEditOptionModalStyles = () => {
|
|
419
484
|
var _editingOption$ref, _el$getBoundingClient, _dropdownListWrapperR;
|
|
485
|
+
|
|
420
486
|
if (!editingOption || !(editOptionModalRef !== null && editOptionModalRef !== void 0 && editOptionModalRef.current)) return null;
|
|
421
487
|
const windowHeight = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;
|
|
422
488
|
const windowWidth = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
|
|
@@ -424,7 +490,7 @@ const TagsDropdown = _ref => {
|
|
|
424
490
|
windowHeight,
|
|
425
491
|
windowWidth
|
|
426
492
|
});
|
|
427
|
-
const el = editingOption === null || editingOption === void 0
|
|
493
|
+
const el = editingOption === null || editingOption === void 0 ? void 0 : (_editingOption$ref = editingOption.ref) === null || _editingOption$ref === void 0 ? void 0 : _editingOption$ref.current;
|
|
428
494
|
const {
|
|
429
495
|
top,
|
|
430
496
|
bottom,
|
|
@@ -433,14 +499,13 @@ const TagsDropdown = _ref => {
|
|
|
433
499
|
width,
|
|
434
500
|
height
|
|
435
501
|
} = (_el$getBoundingClient = el === null || el === void 0 ? void 0 : el.getBoundingClientRect()) !== null && _el$getBoundingClient !== void 0 ? _el$getBoundingClient : {};
|
|
436
|
-
const containerPosition = dropdownListWrapperRef === null || dropdownListWrapperRef === void 0
|
|
502
|
+
const containerPosition = dropdownListWrapperRef === null || dropdownListWrapperRef === void 0 ? void 0 : (_dropdownListWrapperR = dropdownListWrapperRef.current) === null || _dropdownListWrapperR === void 0 ? void 0 : _dropdownListWrapperR.getBoundingClientRect();
|
|
503
|
+
|
|
437
504
|
if ((containerPosition === null || containerPosition === void 0 ? void 0 : containerPosition.right) > (containerPosition === null || containerPosition === void 0 ? void 0 : containerPosition.left) || (containerPosition === null || containerPosition === void 0 ? void 0 : containerPosition.right) >= 182) {
|
|
438
505
|
editOptionModalRef.current.style.left = "".concat(width - 50, "px");
|
|
439
506
|
} else {
|
|
440
507
|
editOptionModalRef.current.style.right = "".concat(right - width - 12, "px");
|
|
441
|
-
}
|
|
442
|
-
|
|
443
|
-
// console.log(containerPosition.top, {
|
|
508
|
+
} // console.log(containerPosition.top, {
|
|
444
509
|
// top,
|
|
445
510
|
// bottom,
|
|
446
511
|
// left,
|
|
@@ -449,14 +514,14 @@ const TagsDropdown = _ref => {
|
|
|
449
514
|
// height,
|
|
450
515
|
// });
|
|
451
516
|
|
|
452
|
-
editOptionModalRef.current.style.top = "".concat(top - height, "px");
|
|
453
517
|
|
|
454
|
-
// if (containerPosition?.top + top <= 173) {
|
|
518
|
+
editOptionModalRef.current.style.top = "".concat(top - height, "px"); // if (containerPosition?.top + top <= 173) {
|
|
455
519
|
// editOptionModalRef.current.style.top = `${top - height}px`;
|
|
456
520
|
// } else {
|
|
457
521
|
// editOptionModalRef.current.style.bottom = `${bottom - height}px`;
|
|
458
522
|
// }
|
|
459
523
|
};
|
|
524
|
+
|
|
460
525
|
const renderEditOptionModal = () => {
|
|
461
526
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
462
527
|
ref: editOptionModalRef,
|
|
@@ -465,8 +530,7 @@ const TagsDropdown = _ref => {
|
|
|
465
530
|
className: (0, _classnames.default)("".concat(RC, "__edit-option-modal-section"))
|
|
466
531
|
}, /*#__PURE__*/_react.default.createElement(_Input.default, {
|
|
467
532
|
value: editingOption.label,
|
|
468
|
-
onChange: v => setEditingOption(state => ({
|
|
469
|
-
...state,
|
|
533
|
+
onChange: v => setEditingOption(state => ({ ...state,
|
|
470
534
|
label: v
|
|
471
535
|
})),
|
|
472
536
|
onKeyDown: keyCode => {
|
|
@@ -485,32 +549,34 @@ const TagsDropdown = _ref => {
|
|
|
485
549
|
className: (0, _classnames.default)("".concat(RC, "__edit-option-modal-section-colors"))
|
|
486
550
|
}, COLORS.map(color => {
|
|
487
551
|
var _editingOption$style;
|
|
552
|
+
|
|
488
553
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
489
554
|
className: "color-block",
|
|
490
555
|
style: {
|
|
491
556
|
backgroundColor: color
|
|
492
557
|
},
|
|
493
|
-
onClick: () => setEditingOption(state => ({
|
|
494
|
-
...state,
|
|
495
|
-
style: {
|
|
496
|
-
...state.style,
|
|
558
|
+
onClick: () => setEditingOption(state => ({ ...state,
|
|
559
|
+
style: { ...state.style,
|
|
497
560
|
backgroundColor: color
|
|
498
561
|
}
|
|
499
562
|
}))
|
|
500
|
-
}, (editingOption === null || editingOption === void 0
|
|
563
|
+
}, (editingOption === null || editingOption === void 0 ? void 0 : (_editingOption$style = editingOption.style) === null || _editingOption$style === void 0 ? void 0 : _editingOption$style.backgroundColor) === color ? /*#__PURE__*/_react.default.createElement(_reactFeather.Check, null) : null);
|
|
501
564
|
}))));
|
|
502
|
-
};
|
|
503
|
-
// --- CREATABLE LOGIC END --- //
|
|
504
|
-
|
|
565
|
+
}; // --- CREATABLE LOGIC END --- //
|
|
505
566
|
// --- RENDER FUNCTIONS BEGIN --- //
|
|
567
|
+
|
|
568
|
+
|
|
506
569
|
const getMarkupForElement = item => {
|
|
507
570
|
var _title$toString, _item$customMobileIco;
|
|
571
|
+
|
|
508
572
|
const {
|
|
509
573
|
description
|
|
510
574
|
} = item;
|
|
511
575
|
const title = item.title || item.label;
|
|
576
|
+
|
|
512
577
|
const hightlightSearchValue = title => {
|
|
513
578
|
var _title$toLowerCase;
|
|
579
|
+
|
|
514
580
|
const index = (_title$toLowerCase = title.toLowerCase()) === null || _title$toLowerCase === void 0 ? void 0 : _title$toLowerCase.indexOf(searchValue.toLowerCase());
|
|
515
581
|
if (index === -1) return title;
|
|
516
582
|
return /*#__PURE__*/_react.default.createElement("pre", {
|
|
@@ -519,9 +585,10 @@ const TagsDropdown = _ref => {
|
|
|
519
585
|
className: "search-match bg--yellow"
|
|
520
586
|
}, 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))));
|
|
521
587
|
};
|
|
588
|
+
|
|
522
589
|
return /*#__PURE__*/_react.default.createElement("button", {
|
|
523
590
|
ref: item === null || item === void 0 ? void 0 : item.ref,
|
|
524
|
-
key: title === null || title === void 0
|
|
591
|
+
key: title === null || title === void 0 ? void 0 : (_title$toString = title.toString()) === null || _title$toString === void 0 ? void 0 : _title$toString.replace(/ /g, "_"),
|
|
525
592
|
onClick: e => {
|
|
526
593
|
e.preventDefault();
|
|
527
594
|
e.stopPropagation();
|
|
@@ -569,8 +636,10 @@ const TagsDropdown = _ref => {
|
|
|
569
636
|
}
|
|
570
637
|
}) : "");
|
|
571
638
|
};
|
|
639
|
+
|
|
572
640
|
const getListMarkUp = () => {
|
|
573
641
|
var _filteredOptions$filt, _filteredOptions$filt2;
|
|
642
|
+
|
|
574
643
|
const filteredOptions = getFilteredOptions(options);
|
|
575
644
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
576
645
|
className: (0, _classnames.default)("".concat(RC, "__container-wrapper")),
|
|
@@ -629,9 +698,10 @@ const TagsDropdown = _ref => {
|
|
|
629
698
|
ref: dropdownListRef,
|
|
630
699
|
className: "".concat(RC, "__list ").concat(headerContent || isMobile ? "".concat(RC, "__list--with-header") : "", " ").concat(footerContent ? "".concat(RC, "__list--with-footer") : "")
|
|
631
700
|
}, filteredOptions === null || filteredOptions === void 0 ? void 0 : filteredOptions.map(option => {
|
|
632
|
-
var _option$groupName, _option$list2;
|
|
701
|
+
var _option$groupName, _option$groupName$toS, _option$list2;
|
|
702
|
+
|
|
633
703
|
return option.groupName ? /*#__PURE__*/_react.default.createElement("div", {
|
|
634
|
-
key: (_option$groupName = option.groupName) === null || _option$groupName === void 0
|
|
704
|
+
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()),
|
|
635
705
|
className: (0, _classnames.default)("".concat(RC, "-group"), option.className)
|
|
636
706
|
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
637
707
|
className: "".concat(RC, "-group__name")
|
|
@@ -671,6 +741,7 @@ const TagsDropdown = _ref => {
|
|
|
671
741
|
isNoDismiss: true
|
|
672
742
|
}))));
|
|
673
743
|
};
|
|
744
|
+
|
|
674
745
|
const renderSearchInput = () => {
|
|
675
746
|
return /*#__PURE__*/_react.default.createElement(_Input.default, {
|
|
676
747
|
ref: inputRef,
|
|
@@ -680,8 +751,7 @@ const TagsDropdown = _ref => {
|
|
|
680
751
|
value: searchValue,
|
|
681
752
|
onChange: onSearchHandler,
|
|
682
753
|
placeholder: placeholder || "Select from list",
|
|
683
|
-
attributesOfNativeInput: {
|
|
684
|
-
...attributesOfNativeInput,
|
|
754
|
+
attributesOfNativeInput: { ...attributesOfNativeInput,
|
|
685
755
|
onKeyDown: e => {
|
|
686
756
|
if (e.keyCode === 13 && withCreateLogic && singleLevelOptions.every(_ref13 => {
|
|
687
757
|
let {
|
|
@@ -691,17 +761,21 @@ const TagsDropdown = _ref => {
|
|
|
691
761
|
})) {
|
|
692
762
|
onOptionCreateClick();
|
|
693
763
|
}
|
|
764
|
+
|
|
694
765
|
onKeyPress(e, searchValue);
|
|
695
766
|
},
|
|
696
767
|
onFocus: e => {
|
|
697
768
|
var _e$target;
|
|
698
|
-
|
|
769
|
+
|
|
770
|
+
if (isMobile) e === null || e === void 0 ? void 0 : (_e$target = e.target) === null || _e$target === void 0 ? void 0 : _e$target.blur();
|
|
699
771
|
}
|
|
700
772
|
}
|
|
701
773
|
});
|
|
702
774
|
};
|
|
775
|
+
|
|
703
776
|
const renderDropdownTrigger = (0, _react.useCallback)(() => {
|
|
704
777
|
var _renderCustomTrigger;
|
|
778
|
+
|
|
705
779
|
const renderDefaultDropdownTrigger = () => {
|
|
706
780
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
707
781
|
className: (0, _classnames.default)("".concat(RC, "__trigger"), {
|
|
@@ -754,6 +828,7 @@ const TagsDropdown = _ref => {
|
|
|
754
828
|
className: "color--text"
|
|
755
829
|
})));
|
|
756
830
|
};
|
|
831
|
+
|
|
757
832
|
return (_renderCustomTrigger = renderCustomTrigger === null || renderCustomTrigger === void 0 ? void 0 : renderCustomTrigger({
|
|
758
833
|
chosenOptions,
|
|
759
834
|
singleLevelOptions,
|
|
@@ -763,23 +838,25 @@ const TagsDropdown = _ref => {
|
|
|
763
838
|
isOpen,
|
|
764
839
|
setIsOpen
|
|
765
840
|
})) !== null && _renderCustomTrigger !== void 0 ? _renderCustomTrigger : renderDefaultDropdownTrigger();
|
|
766
|
-
}, [chosenOptions, singleLevelOptions, inputRef, isOpen]);
|
|
767
|
-
// --- RENDER FUNCTIONS END --- //
|
|
841
|
+
}, [chosenOptions, singleLevelOptions, inputRef, isOpen]); // --- RENDER FUNCTIONS END --- //
|
|
768
842
|
|
|
769
843
|
(0, _react.useLayoutEffect)(() => {
|
|
770
844
|
initListContainer();
|
|
771
845
|
return () => {
|
|
772
846
|
var _getListContainer2, _getListContainerWrap;
|
|
773
|
-
|
|
774
|
-
(
|
|
847
|
+
|
|
848
|
+
(_getListContainer2 = getListContainer()) === null || _getListContainer2 === void 0 ? void 0 : _getListContainer2.remove();
|
|
849
|
+
(_getListContainerWrap = getListContainerWrapper()) === null || _getListContainerWrap === void 0 ? void 0 : _getListContainerWrap.remove();
|
|
775
850
|
};
|
|
776
851
|
}, []);
|
|
777
852
|
(0, _react.useLayoutEffect)(() => {
|
|
778
853
|
var _getListContainer3;
|
|
854
|
+
|
|
779
855
|
const onResize = () => {
|
|
780
856
|
setListContainerStyles();
|
|
781
857
|
setEditOptionModalStyles();
|
|
782
858
|
};
|
|
859
|
+
|
|
783
860
|
if (!isMobile) {
|
|
784
861
|
window.addEventListener("resize", onResize);
|
|
785
862
|
window.addEventListener("mousewheel", closeList);
|
|
@@ -793,27 +870,28 @@ const TagsDropdown = _ref => {
|
|
|
793
870
|
window.removeEventListener("touchmove", closeList);
|
|
794
871
|
window.removeEventListener("mouseup", handleClickOutside);
|
|
795
872
|
}
|
|
796
|
-
|
|
873
|
+
|
|
874
|
+
(_getListContainer3 = getListContainer()) === null || _getListContainer3 === void 0 ? void 0 : _getListContainer3.addEventListener("click", closeList);
|
|
797
875
|
return () => {
|
|
798
876
|
var _getListContainer4;
|
|
877
|
+
|
|
799
878
|
window.removeEventListener("resize", onResize);
|
|
800
879
|
window.removeEventListener("mousewheel", closeList);
|
|
801
880
|
window.removeEventListener("mouseup", handleClickOutside);
|
|
802
881
|
window.removeEventListener("scroll", closeList);
|
|
803
882
|
window.removeEventListener("touchmove", closeList);
|
|
804
|
-
(_getListContainer4 = getListContainer()) === null || _getListContainer4 === void 0
|
|
883
|
+
(_getListContainer4 = getListContainer()) === null || _getListContainer4 === void 0 ? void 0 : _getListContainer4.removeEventListener("click", closeList);
|
|
805
884
|
};
|
|
806
885
|
}, [getListContainer, isMobile]);
|
|
807
886
|
(0, _react.useLayoutEffect)(() => {
|
|
808
887
|
setListContainerStyles();
|
|
809
888
|
setEditOptionModalStyles();
|
|
810
|
-
}, [isOpen, chosenOptions, isMobile, dropdownListWrapperRef === null || dropdownListWrapperRef === void 0
|
|
889
|
+
}, [isOpen, chosenOptions, isMobile, dropdownListWrapperRef === null || dropdownListWrapperRef === void 0 ? void 0 : (_dropdownListWrapperR2 = dropdownListWrapperRef.current) === null || _dropdownListWrapperR2 === void 0 ? void 0 : (_dropdownListWrapperR3 = _dropdownListWrapperR2.getBoundingClientRect()) === null || _dropdownListWrapperR3 === void 0 ? void 0 : _dropdownListWrapperR3.height, recalculateListContainerStylesTrigger]);
|
|
811
890
|
(0, _react.useEffect)(() => {
|
|
812
891
|
if (chosenOptions.length !== Object.keys(localOptionsStore).length) {
|
|
813
892
|
options.map(option => {
|
|
814
893
|
if (!(localOptionsStore !== null && localOptionsStore !== void 0 && localOptionsStore[option === null || option === void 0 ? void 0 : option.value])) {
|
|
815
|
-
setLocalOptionsStore(options => ({
|
|
816
|
-
...options,
|
|
894
|
+
setLocalOptionsStore(options => ({ ...options,
|
|
817
895
|
[option === null || option === void 0 ? void 0 : option.value]: option === null || option === void 0 ? void 0 : option.label
|
|
818
896
|
}));
|
|
819
897
|
}
|
|
@@ -822,16 +900,20 @@ const TagsDropdown = _ref => {
|
|
|
822
900
|
}, [chosenOptions]);
|
|
823
901
|
(0, _react.useEffect)(() => {
|
|
824
902
|
var _selectAllButtonRef$c, _unselectAllButtonRef;
|
|
903
|
+
|
|
825
904
|
const fn = isOpen ? "addEventListener" : "removeEventListener";
|
|
826
|
-
selectAllButtonRef === null || selectAllButtonRef === void 0
|
|
827
|
-
unselectAllButtonRef === null || unselectAllButtonRef === void 0
|
|
905
|
+
selectAllButtonRef === null || selectAllButtonRef === void 0 ? void 0 : (_selectAllButtonRef$c = selectAllButtonRef.current) === null || _selectAllButtonRef$c === void 0 ? void 0 : _selectAllButtonRef$c[fn]("click", selectAllItems, true);
|
|
906
|
+
unselectAllButtonRef === null || unselectAllButtonRef === void 0 ? void 0 : (_unselectAllButtonRef = unselectAllButtonRef.current) === null || _unselectAllButtonRef === void 0 ? void 0 : _unselectAllButtonRef[fn]("click", unselectAllItems, true);
|
|
907
|
+
|
|
828
908
|
if (isOpen) {
|
|
829
909
|
var _getListContainer5, _inputRef$current2, _inputRef$current2$fo;
|
|
830
|
-
|
|
831
|
-
|
|
910
|
+
|
|
911
|
+
(_getListContainer5 = getListContainer()) === null || _getListContainer5 === void 0 ? void 0 : _getListContainer5.classList.add("tags-dropdown__container--opened");
|
|
912
|
+
inputRef === null || inputRef === void 0 ? void 0 : (_inputRef$current2 = inputRef.current) === null || _inputRef$current2 === void 0 ? void 0 : (_inputRef$current2$fo = _inputRef$current2.focus) === null || _inputRef$current2$fo === void 0 ? void 0 : _inputRef$current2$fo.call(_inputRef$current2);
|
|
832
913
|
} else {
|
|
833
914
|
var _getListContainer6;
|
|
834
|
-
|
|
915
|
+
|
|
916
|
+
(_getListContainer6 = getListContainer()) === null || _getListContainer6 === void 0 ? void 0 : _getListContainer6.classList.remove("tags-dropdown__container--opened");
|
|
835
917
|
if (withSearchInputInList) setSearchValueInterceptor("");
|
|
836
918
|
}
|
|
837
919
|
}, [isOpen]);
|
|
@@ -839,38 +921,45 @@ const TagsDropdown = _ref => {
|
|
|
839
921
|
const setScrollTopValue = e => {
|
|
840
922
|
setScrollTop(parseInt(e.target.scrollTop, 10));
|
|
841
923
|
};
|
|
924
|
+
|
|
842
925
|
if (isOpen && isMobile && dropdownListRef !== null && dropdownListRef !== void 0 && dropdownListRef.current) {
|
|
843
926
|
var _dropdownListRef$curr, _dropdownListRef$curr2, _dropdownListRef$curr3;
|
|
844
|
-
|
|
845
|
-
|
|
927
|
+
|
|
928
|
+
dropdownListRef === null || dropdownListRef === void 0 ? void 0 : (_dropdownListRef$curr = dropdownListRef.current) === null || _dropdownListRef$curr === void 0 ? void 0 : _dropdownListRef$curr.addEventListener("scroll", setScrollTopValue);
|
|
929
|
+
setIsScrollableList((dropdownListRef === null || dropdownListRef === void 0 ? void 0 : (_dropdownListRef$curr2 = dropdownListRef.current) === null || _dropdownListRef$curr2 === void 0 ? void 0 : _dropdownListRef$curr2.scrollHeight) > (dropdownListRef === null || dropdownListRef === void 0 ? void 0 : (_dropdownListRef$curr3 = dropdownListRef.current) === null || _dropdownListRef$curr3 === void 0 ? void 0 : _dropdownListRef$curr3.clientHeight));
|
|
930
|
+
|
|
846
931
|
if (isScrollableList === null) {
|
|
847
932
|
var _dropdownListRef$curr4, _dropdownListRef$curr5;
|
|
848
|
-
|
|
933
|
+
|
|
934
|
+
setIsFixedMaxHeight((dropdownListRef === null || dropdownListRef === void 0 ? void 0 : (_dropdownListRef$curr4 = dropdownListRef.current) === null || _dropdownListRef$curr4 === void 0 ? void 0 : _dropdownListRef$curr4.scrollHeight) > (dropdownListRef === null || dropdownListRef === void 0 ? void 0 : (_dropdownListRef$curr5 = dropdownListRef.current) === null || _dropdownListRef$curr5 === void 0 ? void 0 : _dropdownListRef$curr5.clientHeight));
|
|
849
935
|
}
|
|
850
936
|
}
|
|
937
|
+
|
|
851
938
|
if (isOpen && dropdownListRef && dropdownListRef.current) {
|
|
852
939
|
dropdownListRef.current.addEventListener("scroll", doScrollCallback);
|
|
853
940
|
}
|
|
941
|
+
|
|
854
942
|
return () => {
|
|
855
943
|
var _dropdownListRef$curr6;
|
|
944
|
+
|
|
856
945
|
removeEventListener("scroll", doScrollCallback);
|
|
857
|
-
dropdownListRef === null || dropdownListRef === void 0
|
|
946
|
+
dropdownListRef === null || dropdownListRef === void 0 ? void 0 : (_dropdownListRef$curr6 = dropdownListRef.current) === null || _dropdownListRef$curr6 === void 0 ? void 0 : _dropdownListRef$curr6.removeEventListener("scroll", setScrollTopValue);
|
|
858
947
|
};
|
|
859
|
-
}, [isOpen, isMobile, dropdownListRef === null || dropdownListRef === void 0 ? void 0 : dropdownListRef.current, dropdownListRef === null || dropdownListRef === void 0
|
|
948
|
+
}, [isOpen, isMobile, dropdownListRef === null || dropdownListRef === void 0 ? void 0 : dropdownListRef.current, dropdownListRef === null || dropdownListRef === void 0 ? void 0 : (_dropdownListRef$curr7 = dropdownListRef.current) === null || _dropdownListRef$curr7 === void 0 ? void 0 : _dropdownListRef$curr7.scrollHeight, dropdownListRef === null || dropdownListRef === void 0 ? void 0 : (_dropdownListRef$curr8 = dropdownListRef.current) === null || _dropdownListRef$curr8 === void 0 ? void 0 : _dropdownListRef$curr8.clientHeight]);
|
|
860
949
|
(0, _react.useEffect)(() => {
|
|
861
950
|
if (dropdownListRef !== null && dropdownListRef !== void 0 && dropdownListRef.current) {
|
|
862
951
|
var _dropdownListRef$curr9, _dropdownListRef$curr10;
|
|
863
|
-
|
|
952
|
+
|
|
953
|
+
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));
|
|
864
954
|
}
|
|
865
955
|
}, [scrollTop, dropdownListRef === null || dropdownListRef === void 0 ? void 0 : dropdownListRef.current]);
|
|
866
956
|
(0, _react.useEffect)(() => {
|
|
867
957
|
if (isSearchable && useLiveSearch && (debouncedSearchTerm || isValueDeleted || isOpen)) {
|
|
868
|
-
doLiveSearchRequest === null || doLiveSearchRequest === void 0
|
|
958
|
+
doLiveSearchRequest === null || doLiveSearchRequest === void 0 ? void 0 : doLiveSearchRequest(debouncedSearchTerm);
|
|
869
959
|
}
|
|
870
960
|
}, [isOpen, debouncedSearchTerm, isValueDeleted]);
|
|
871
961
|
(0, _react.useEffect)(() => {
|
|
872
|
-
setOptions(optionsProp.map(option => ({
|
|
873
|
-
...option,
|
|
962
|
+
setOptions(optionsProp.map(option => ({ ...option,
|
|
874
963
|
ref: /*#__PURE__*/(0, _react.createRef)()
|
|
875
964
|
})));
|
|
876
965
|
}, [optionsProp]);
|
|
@@ -894,4 +983,6 @@ const TagsDropdown = _ref => {
|
|
|
894
983
|
onClick: onActionCancelClick
|
|
895
984
|
}, /*#__PURE__*/_react.default.createElement(_reactFeather.X, null))), isOpen && renderListContainer());
|
|
896
985
|
};
|
|
897
|
-
|
|
986
|
+
|
|
987
|
+
var _default = TagsDropdown;
|
|
988
|
+
exports.default = _default;
|