intelicoreact 1.4.19 → 1.4.20
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 +205 -109
- package/dist/Atomic/FormElements/TagsDropdown/TagsDropdown.scss +1 -2
- 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 +42 -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,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
|
-
return searchValue.length ? title.toLowerCase().includes((searchValue === null || searchValue === void 0 ? void 0 : searchValue.toLowerCase()) || "") : true;
|
|
172
|
-
};
|
|
173
|
-
|
|
203
|
+
return searchValue.length ? title === null || title === void 0 ? void 0 : title.toLowerCase().includes((searchValue === null || searchValue === void 0 ? void 0 : searchValue.toLowerCase()) || "") : true;
|
|
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,66 +390,75 @@ 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
|
+
var _onOptionCreate;
|
|
430
|
+
|
|
370
431
|
const newOption = {
|
|
371
432
|
label: searchValue,
|
|
372
|
-
value: tempId,
|
|
373
433
|
style: {
|
|
374
434
|
backgroundColor: randomColorForNewOption
|
|
375
435
|
},
|
|
376
436
|
isEditable: true,
|
|
377
437
|
ref: /*#__PURE__*/(0, _react.createRef)()
|
|
378
438
|
};
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
439
|
+
((_onOptionCreate = onOptionCreate === null || onOptionCreate === void 0 ? void 0 : onOptionCreate(newOption)) !== null && _onOptionCreate !== void 0 ? _onOptionCreate : new Promise(r => r())).then(result => {
|
|
440
|
+
var _result$id;
|
|
441
|
+
|
|
442
|
+
const tempId = Math.random().toString(16).slice(2);
|
|
443
|
+
newOption.value = (_result$id = result === null || result === void 0 ? void 0 : result.id) !== null && _result$id !== void 0 ? _result$id : tempId;
|
|
444
|
+
setOptions(state => [...state, newOption]);
|
|
445
|
+
setSearchValue("");
|
|
446
|
+
onChangeHandler({
|
|
447
|
+
value: tempId,
|
|
448
|
+
label: searchValue
|
|
449
|
+
});
|
|
384
450
|
});
|
|
385
|
-
onOptionCreate === null || onOptionCreate === void 0 || onOptionCreate(newOption);
|
|
386
451
|
};
|
|
452
|
+
|
|
387
453
|
const onOptionEditClick = (e, item) => {
|
|
388
|
-
e === null || e === void 0
|
|
389
|
-
e === null || e === void 0
|
|
454
|
+
e === null || e === void 0 ? void 0 : e.preventDefault();
|
|
455
|
+
e === null || e === void 0 ? void 0 : e.stopPropagation();
|
|
390
456
|
setEditingOption((editingOption === null || editingOption === void 0 ? void 0 : editingOption.value) === (item === null || item === void 0 ? void 0 : item.value) ? null : item);
|
|
391
457
|
};
|
|
458
|
+
|
|
392
459
|
const onOptionDeleteClick = () => {
|
|
393
460
|
var _onOptionDelete;
|
|
461
|
+
|
|
394
462
|
((_onOptionDelete = onOptionDelete === null || onOptionDelete === void 0 ? void 0 : onOptionDelete(editingOption)) !== null && _onOptionDelete !== void 0 ? _onOptionDelete : new Promise(r => r())).then(() => {
|
|
395
463
|
deleteChosen(editingOption === null || editingOption === void 0 ? void 0 : editingOption.value);
|
|
396
464
|
setOptions(options => options.filter(_ref8 => {
|
|
@@ -402,21 +470,24 @@ const TagsDropdown = _ref => {
|
|
|
402
470
|
setEditingOption(null);
|
|
403
471
|
});
|
|
404
472
|
};
|
|
473
|
+
|
|
405
474
|
const saveEditingOption = () => {
|
|
406
|
-
onOptionEdit === null || onOptionEdit === void 0
|
|
475
|
+
onOptionEdit === null || onOptionEdit === void 0 ? void 0 : onOptionEdit(editingOption);
|
|
407
476
|
setOptions(options => options.map(option => {
|
|
408
477
|
if (editingOption && option.value === (editingOption === null || editingOption === void 0 ? void 0 : editingOption.value)) {
|
|
409
|
-
const tmp = {
|
|
410
|
-
...editingOption
|
|
478
|
+
const tmp = { ...editingOption
|
|
411
479
|
};
|
|
412
480
|
setEditingOption(null);
|
|
413
481
|
return tmp;
|
|
414
482
|
}
|
|
483
|
+
|
|
415
484
|
return option;
|
|
416
485
|
}));
|
|
417
486
|
};
|
|
487
|
+
|
|
418
488
|
const setEditOptionModalStyles = () => {
|
|
419
489
|
var _editingOption$ref, _el$getBoundingClient, _dropdownListWrapperR;
|
|
490
|
+
|
|
420
491
|
if (!editingOption || !(editOptionModalRef !== null && editOptionModalRef !== void 0 && editOptionModalRef.current)) return null;
|
|
421
492
|
const windowHeight = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;
|
|
422
493
|
const windowWidth = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
|
|
@@ -424,7 +495,7 @@ const TagsDropdown = _ref => {
|
|
|
424
495
|
windowHeight,
|
|
425
496
|
windowWidth
|
|
426
497
|
});
|
|
427
|
-
const el = editingOption === null || editingOption === void 0
|
|
498
|
+
const el = editingOption === null || editingOption === void 0 ? void 0 : (_editingOption$ref = editingOption.ref) === null || _editingOption$ref === void 0 ? void 0 : _editingOption$ref.current;
|
|
428
499
|
const {
|
|
429
500
|
top,
|
|
430
501
|
bottom,
|
|
@@ -433,14 +504,13 @@ const TagsDropdown = _ref => {
|
|
|
433
504
|
width,
|
|
434
505
|
height
|
|
435
506
|
} = (_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
|
|
507
|
+
const containerPosition = dropdownListWrapperRef === null || dropdownListWrapperRef === void 0 ? void 0 : (_dropdownListWrapperR = dropdownListWrapperRef.current) === null || _dropdownListWrapperR === void 0 ? void 0 : _dropdownListWrapperR.getBoundingClientRect();
|
|
508
|
+
|
|
437
509
|
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
510
|
editOptionModalRef.current.style.left = "".concat(width - 50, "px");
|
|
439
511
|
} else {
|
|
440
512
|
editOptionModalRef.current.style.right = "".concat(right - width - 12, "px");
|
|
441
|
-
}
|
|
442
|
-
|
|
443
|
-
// console.log(containerPosition.top, {
|
|
513
|
+
} // console.log(containerPosition.top, {
|
|
444
514
|
// top,
|
|
445
515
|
// bottom,
|
|
446
516
|
// left,
|
|
@@ -449,14 +519,14 @@ const TagsDropdown = _ref => {
|
|
|
449
519
|
// height,
|
|
450
520
|
// });
|
|
451
521
|
|
|
452
|
-
editOptionModalRef.current.style.top = "".concat(top - height, "px");
|
|
453
522
|
|
|
454
|
-
// if (containerPosition?.top + top <= 173) {
|
|
523
|
+
editOptionModalRef.current.style.top = "".concat(top - height, "px"); // if (containerPosition?.top + top <= 173) {
|
|
455
524
|
// editOptionModalRef.current.style.top = `${top - height}px`;
|
|
456
525
|
// } else {
|
|
457
526
|
// editOptionModalRef.current.style.bottom = `${bottom - height}px`;
|
|
458
527
|
// }
|
|
459
528
|
};
|
|
529
|
+
|
|
460
530
|
const renderEditOptionModal = () => {
|
|
461
531
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
462
532
|
ref: editOptionModalRef,
|
|
@@ -465,8 +535,7 @@ const TagsDropdown = _ref => {
|
|
|
465
535
|
className: (0, _classnames.default)("".concat(RC, "__edit-option-modal-section"))
|
|
466
536
|
}, /*#__PURE__*/_react.default.createElement(_Input.default, {
|
|
467
537
|
value: editingOption.label,
|
|
468
|
-
onChange: v => setEditingOption(state => ({
|
|
469
|
-
...state,
|
|
538
|
+
onChange: v => setEditingOption(state => ({ ...state,
|
|
470
539
|
label: v
|
|
471
540
|
})),
|
|
472
541
|
onKeyDown: keyCode => {
|
|
@@ -485,33 +554,35 @@ const TagsDropdown = _ref => {
|
|
|
485
554
|
className: (0, _classnames.default)("".concat(RC, "__edit-option-modal-section-colors"))
|
|
486
555
|
}, COLORS.map(color => {
|
|
487
556
|
var _editingOption$style;
|
|
557
|
+
|
|
488
558
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
489
559
|
className: "color-block",
|
|
490
560
|
style: {
|
|
491
561
|
backgroundColor: color
|
|
492
562
|
},
|
|
493
|
-
onClick: () => setEditingOption(state => ({
|
|
494
|
-
...state,
|
|
495
|
-
style: {
|
|
496
|
-
...state.style,
|
|
563
|
+
onClick: () => setEditingOption(state => ({ ...state,
|
|
564
|
+
style: { ...state.style,
|
|
497
565
|
backgroundColor: color
|
|
498
566
|
}
|
|
499
567
|
}))
|
|
500
|
-
}, (editingOption === null || editingOption === void 0
|
|
568
|
+
}, (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
569
|
}))));
|
|
502
|
-
};
|
|
503
|
-
// --- CREATABLE LOGIC END --- //
|
|
504
|
-
|
|
570
|
+
}; // --- CREATABLE LOGIC END --- //
|
|
505
571
|
// --- RENDER FUNCTIONS BEGIN --- //
|
|
572
|
+
|
|
573
|
+
|
|
506
574
|
const getMarkupForElement = item => {
|
|
507
575
|
var _title$toString, _item$customMobileIco;
|
|
576
|
+
|
|
508
577
|
const {
|
|
509
578
|
description
|
|
510
579
|
} = item;
|
|
511
580
|
const title = item.title || item.label;
|
|
581
|
+
|
|
512
582
|
const hightlightSearchValue = title => {
|
|
513
583
|
var _title$toLowerCase;
|
|
514
|
-
|
|
584
|
+
|
|
585
|
+
const index = title === null || title === void 0 ? void 0 : (_title$toLowerCase = title.toLowerCase()) === null || _title$toLowerCase === void 0 ? void 0 : _title$toLowerCase.indexOf(searchValue === null || searchValue === void 0 ? void 0 : searchValue.toLowerCase());
|
|
515
586
|
if (index === -1) return title;
|
|
516
587
|
return /*#__PURE__*/_react.default.createElement("pre", {
|
|
517
588
|
className: "inherit-styles"
|
|
@@ -519,9 +590,10 @@ const TagsDropdown = _ref => {
|
|
|
519
590
|
className: "search-match bg--yellow"
|
|
520
591
|
}, 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
592
|
};
|
|
593
|
+
|
|
522
594
|
return /*#__PURE__*/_react.default.createElement("button", {
|
|
523
595
|
ref: item === null || item === void 0 ? void 0 : item.ref,
|
|
524
|
-
key: title === null || title === void 0
|
|
596
|
+
key: title === null || title === void 0 ? void 0 : (_title$toString = title.toString()) === null || _title$toString === void 0 ? void 0 : _title$toString.replace(/ /g, "_"),
|
|
525
597
|
onClick: e => {
|
|
526
598
|
e.preventDefault();
|
|
527
599
|
e.stopPropagation();
|
|
@@ -569,8 +641,10 @@ const TagsDropdown = _ref => {
|
|
|
569
641
|
}
|
|
570
642
|
}) : "");
|
|
571
643
|
};
|
|
644
|
+
|
|
572
645
|
const getListMarkUp = () => {
|
|
573
646
|
var _filteredOptions$filt, _filteredOptions$filt2;
|
|
647
|
+
|
|
574
648
|
const filteredOptions = getFilteredOptions(options);
|
|
575
649
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
576
650
|
className: (0, _classnames.default)("".concat(RC, "__container-wrapper")),
|
|
@@ -622,16 +696,17 @@ const TagsDropdown = _ref => {
|
|
|
622
696
|
let {
|
|
623
697
|
label
|
|
624
698
|
} = _ref9;
|
|
625
|
-
return label.toLowerCase() !== searchValue.toLowerCase();
|
|
699
|
+
return (label === null || label === void 0 ? void 0 : label.toLowerCase()) !== (searchValue === null || searchValue === void 0 ? void 0 : searchValue.toLowerCase());
|
|
626
700
|
}) ? /*#__PURE__*/_react.default.createElement("div", {
|
|
627
701
|
className: (0, _classnames.default)("".concat(RC, "__creatable-helper"))
|
|
628
|
-
}, "Select an option or create one") : null,
|
|
702
|
+
}, "Select an option or create one") : null, /*#__PURE__*/_react.default.createElement("div", {
|
|
629
703
|
ref: dropdownListRef,
|
|
630
704
|
className: "".concat(RC, "__list ").concat(headerContent || isMobile ? "".concat(RC, "__list--with-header") : "", " ").concat(footerContent ? "".concat(RC, "__list--with-footer") : "")
|
|
631
705
|
}, filteredOptions === null || filteredOptions === void 0 ? void 0 : filteredOptions.map(option => {
|
|
632
|
-
var _option$groupName, _option$list2;
|
|
706
|
+
var _option$groupName, _option$groupName$toS, _option$list2;
|
|
707
|
+
|
|
633
708
|
return option.groupName ? /*#__PURE__*/_react.default.createElement("div", {
|
|
634
|
-
key: (_option$groupName = option.groupName) === null || _option$groupName === void 0
|
|
709
|
+
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
710
|
className: (0, _classnames.default)("".concat(RC, "-group"), option.className)
|
|
636
711
|
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
637
712
|
className: "".concat(RC, "-group__name")
|
|
@@ -659,7 +734,7 @@ const TagsDropdown = _ref => {
|
|
|
659
734
|
let {
|
|
660
735
|
label
|
|
661
736
|
} = _ref12;
|
|
662
|
-
return label.toLowerCase() !== searchValue.toLowerCase();
|
|
737
|
+
return (label === null || label === void 0 ? void 0 : label.toLowerCase()) !== (searchValue === null || searchValue === void 0 ? void 0 : searchValue.toLowerCase());
|
|
663
738
|
}) && /*#__PURE__*/_react.default.createElement("div", {
|
|
664
739
|
className: (0, _classnames.default)("".concat(RC, "__create-option")),
|
|
665
740
|
onClick: onOptionCreateClick
|
|
@@ -671,6 +746,7 @@ const TagsDropdown = _ref => {
|
|
|
671
746
|
isNoDismiss: true
|
|
672
747
|
}))));
|
|
673
748
|
};
|
|
749
|
+
|
|
674
750
|
const renderSearchInput = () => {
|
|
675
751
|
return /*#__PURE__*/_react.default.createElement(_Input.default, {
|
|
676
752
|
ref: inputRef,
|
|
@@ -680,28 +756,31 @@ const TagsDropdown = _ref => {
|
|
|
680
756
|
value: searchValue,
|
|
681
757
|
onChange: onSearchHandler,
|
|
682
758
|
placeholder: placeholder || "Select from list",
|
|
683
|
-
attributesOfNativeInput: {
|
|
684
|
-
...attributesOfNativeInput,
|
|
759
|
+
attributesOfNativeInput: { ...attributesOfNativeInput,
|
|
685
760
|
onKeyDown: e => {
|
|
686
761
|
if (e.keyCode === 13 && withCreateLogic && singleLevelOptions.every(_ref13 => {
|
|
687
762
|
let {
|
|
688
763
|
label
|
|
689
764
|
} = _ref13;
|
|
690
|
-
return label.toLowerCase() !== searchValue.toLowerCase();
|
|
765
|
+
return (label === null || label === void 0 ? void 0 : label.toLowerCase()) !== (searchValue === null || searchValue === void 0 ? void 0 : searchValue.toLowerCase());
|
|
691
766
|
})) {
|
|
692
767
|
onOptionCreateClick();
|
|
693
768
|
}
|
|
769
|
+
|
|
694
770
|
onKeyPress(e, searchValue);
|
|
695
771
|
},
|
|
696
772
|
onFocus: e => {
|
|
697
773
|
var _e$target;
|
|
698
|
-
|
|
774
|
+
|
|
775
|
+
if (isMobile) e === null || e === void 0 ? void 0 : (_e$target = e.target) === null || _e$target === void 0 ? void 0 : _e$target.blur();
|
|
699
776
|
}
|
|
700
777
|
}
|
|
701
778
|
});
|
|
702
779
|
};
|
|
780
|
+
|
|
703
781
|
const renderDropdownTrigger = (0, _react.useCallback)(() => {
|
|
704
782
|
var _renderCustomTrigger;
|
|
783
|
+
|
|
705
784
|
const renderDefaultDropdownTrigger = () => {
|
|
706
785
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
707
786
|
className: (0, _classnames.default)("".concat(RC, "__trigger"), {
|
|
@@ -754,6 +833,7 @@ const TagsDropdown = _ref => {
|
|
|
754
833
|
className: "color--text"
|
|
755
834
|
})));
|
|
756
835
|
};
|
|
836
|
+
|
|
757
837
|
return (_renderCustomTrigger = renderCustomTrigger === null || renderCustomTrigger === void 0 ? void 0 : renderCustomTrigger({
|
|
758
838
|
chosenOptions,
|
|
759
839
|
singleLevelOptions,
|
|
@@ -763,23 +843,25 @@ const TagsDropdown = _ref => {
|
|
|
763
843
|
isOpen,
|
|
764
844
|
setIsOpen
|
|
765
845
|
})) !== null && _renderCustomTrigger !== void 0 ? _renderCustomTrigger : renderDefaultDropdownTrigger();
|
|
766
|
-
}, [chosenOptions, singleLevelOptions, inputRef, isOpen]);
|
|
767
|
-
// --- RENDER FUNCTIONS END --- //
|
|
846
|
+
}, [chosenOptions, singleLevelOptions, inputRef, isOpen]); // --- RENDER FUNCTIONS END --- //
|
|
768
847
|
|
|
769
848
|
(0, _react.useLayoutEffect)(() => {
|
|
770
849
|
initListContainer();
|
|
771
850
|
return () => {
|
|
772
851
|
var _getListContainer2, _getListContainerWrap;
|
|
773
|
-
|
|
774
|
-
(
|
|
852
|
+
|
|
853
|
+
(_getListContainer2 = getListContainer()) === null || _getListContainer2 === void 0 ? void 0 : _getListContainer2.remove();
|
|
854
|
+
(_getListContainerWrap = getListContainerWrapper()) === null || _getListContainerWrap === void 0 ? void 0 : _getListContainerWrap.remove();
|
|
775
855
|
};
|
|
776
856
|
}, []);
|
|
777
857
|
(0, _react.useLayoutEffect)(() => {
|
|
778
858
|
var _getListContainer3;
|
|
859
|
+
|
|
779
860
|
const onResize = () => {
|
|
780
861
|
setListContainerStyles();
|
|
781
862
|
setEditOptionModalStyles();
|
|
782
863
|
};
|
|
864
|
+
|
|
783
865
|
if (!isMobile) {
|
|
784
866
|
window.addEventListener("resize", onResize);
|
|
785
867
|
window.addEventListener("mousewheel", closeList);
|
|
@@ -793,27 +875,28 @@ const TagsDropdown = _ref => {
|
|
|
793
875
|
window.removeEventListener("touchmove", closeList);
|
|
794
876
|
window.removeEventListener("mouseup", handleClickOutside);
|
|
795
877
|
}
|
|
796
|
-
|
|
878
|
+
|
|
879
|
+
(_getListContainer3 = getListContainer()) === null || _getListContainer3 === void 0 ? void 0 : _getListContainer3.addEventListener("click", closeList);
|
|
797
880
|
return () => {
|
|
798
881
|
var _getListContainer4;
|
|
882
|
+
|
|
799
883
|
window.removeEventListener("resize", onResize);
|
|
800
884
|
window.removeEventListener("mousewheel", closeList);
|
|
801
885
|
window.removeEventListener("mouseup", handleClickOutside);
|
|
802
886
|
window.removeEventListener("scroll", closeList);
|
|
803
887
|
window.removeEventListener("touchmove", closeList);
|
|
804
|
-
(_getListContainer4 = getListContainer()) === null || _getListContainer4 === void 0
|
|
888
|
+
(_getListContainer4 = getListContainer()) === null || _getListContainer4 === void 0 ? void 0 : _getListContainer4.removeEventListener("click", closeList);
|
|
805
889
|
};
|
|
806
890
|
}, [getListContainer, isMobile]);
|
|
807
891
|
(0, _react.useLayoutEffect)(() => {
|
|
808
892
|
setListContainerStyles();
|
|
809
893
|
setEditOptionModalStyles();
|
|
810
|
-
}, [isOpen, chosenOptions, isMobile, dropdownListWrapperRef === null || dropdownListWrapperRef === void 0
|
|
894
|
+
}, [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
895
|
(0, _react.useEffect)(() => {
|
|
812
896
|
if (chosenOptions.length !== Object.keys(localOptionsStore).length) {
|
|
813
897
|
options.map(option => {
|
|
814
898
|
if (!(localOptionsStore !== null && localOptionsStore !== void 0 && localOptionsStore[option === null || option === void 0 ? void 0 : option.value])) {
|
|
815
|
-
setLocalOptionsStore(options => ({
|
|
816
|
-
...options,
|
|
899
|
+
setLocalOptionsStore(options => ({ ...options,
|
|
817
900
|
[option === null || option === void 0 ? void 0 : option.value]: option === null || option === void 0 ? void 0 : option.label
|
|
818
901
|
}));
|
|
819
902
|
}
|
|
@@ -822,16 +905,20 @@ const TagsDropdown = _ref => {
|
|
|
822
905
|
}, [chosenOptions]);
|
|
823
906
|
(0, _react.useEffect)(() => {
|
|
824
907
|
var _selectAllButtonRef$c, _unselectAllButtonRef;
|
|
908
|
+
|
|
825
909
|
const fn = isOpen ? "addEventListener" : "removeEventListener";
|
|
826
|
-
selectAllButtonRef === null || selectAllButtonRef === void 0
|
|
827
|
-
unselectAllButtonRef === null || unselectAllButtonRef === void 0
|
|
910
|
+
selectAllButtonRef === null || selectAllButtonRef === void 0 ? void 0 : (_selectAllButtonRef$c = selectAllButtonRef.current) === null || _selectAllButtonRef$c === void 0 ? void 0 : _selectAllButtonRef$c[fn]("click", selectAllItems, true);
|
|
911
|
+
unselectAllButtonRef === null || unselectAllButtonRef === void 0 ? void 0 : (_unselectAllButtonRef = unselectAllButtonRef.current) === null || _unselectAllButtonRef === void 0 ? void 0 : _unselectAllButtonRef[fn]("click", unselectAllItems, true);
|
|
912
|
+
|
|
828
913
|
if (isOpen) {
|
|
829
914
|
var _getListContainer5, _inputRef$current2, _inputRef$current2$fo;
|
|
830
|
-
|
|
831
|
-
|
|
915
|
+
|
|
916
|
+
(_getListContainer5 = getListContainer()) === null || _getListContainer5 === void 0 ? void 0 : _getListContainer5.classList.add("tags-dropdown__container--opened");
|
|
917
|
+
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
918
|
} else {
|
|
833
919
|
var _getListContainer6;
|
|
834
|
-
|
|
920
|
+
|
|
921
|
+
(_getListContainer6 = getListContainer()) === null || _getListContainer6 === void 0 ? void 0 : _getListContainer6.classList.remove("tags-dropdown__container--opened");
|
|
835
922
|
if (withSearchInputInList) setSearchValueInterceptor("");
|
|
836
923
|
}
|
|
837
924
|
}, [isOpen]);
|
|
@@ -839,38 +926,45 @@ const TagsDropdown = _ref => {
|
|
|
839
926
|
const setScrollTopValue = e => {
|
|
840
927
|
setScrollTop(parseInt(e.target.scrollTop, 10));
|
|
841
928
|
};
|
|
929
|
+
|
|
842
930
|
if (isOpen && isMobile && dropdownListRef !== null && dropdownListRef !== void 0 && dropdownListRef.current) {
|
|
843
931
|
var _dropdownListRef$curr, _dropdownListRef$curr2, _dropdownListRef$curr3;
|
|
844
|
-
|
|
845
|
-
|
|
932
|
+
|
|
933
|
+
dropdownListRef === null || dropdownListRef === void 0 ? void 0 : (_dropdownListRef$curr = dropdownListRef.current) === null || _dropdownListRef$curr === void 0 ? void 0 : _dropdownListRef$curr.addEventListener("scroll", setScrollTopValue);
|
|
934
|
+
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));
|
|
935
|
+
|
|
846
936
|
if (isScrollableList === null) {
|
|
847
937
|
var _dropdownListRef$curr4, _dropdownListRef$curr5;
|
|
848
|
-
|
|
938
|
+
|
|
939
|
+
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
940
|
}
|
|
850
941
|
}
|
|
942
|
+
|
|
851
943
|
if (isOpen && dropdownListRef && dropdownListRef.current) {
|
|
852
944
|
dropdownListRef.current.addEventListener("scroll", doScrollCallback);
|
|
853
945
|
}
|
|
946
|
+
|
|
854
947
|
return () => {
|
|
855
948
|
var _dropdownListRef$curr6;
|
|
949
|
+
|
|
856
950
|
removeEventListener("scroll", doScrollCallback);
|
|
857
|
-
dropdownListRef === null || dropdownListRef === void 0
|
|
951
|
+
dropdownListRef === null || dropdownListRef === void 0 ? void 0 : (_dropdownListRef$curr6 = dropdownListRef.current) === null || _dropdownListRef$curr6 === void 0 ? void 0 : _dropdownListRef$curr6.removeEventListener("scroll", setScrollTopValue);
|
|
858
952
|
};
|
|
859
|
-
}, [isOpen, isMobile, dropdownListRef === null || dropdownListRef === void 0 ? void 0 : dropdownListRef.current, dropdownListRef === null || dropdownListRef === void 0
|
|
953
|
+
}, [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
954
|
(0, _react.useEffect)(() => {
|
|
861
955
|
if (dropdownListRef !== null && dropdownListRef !== void 0 && dropdownListRef.current) {
|
|
862
956
|
var _dropdownListRef$curr9, _dropdownListRef$curr10;
|
|
863
|
-
|
|
957
|
+
|
|
958
|
+
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
959
|
}
|
|
865
960
|
}, [scrollTop, dropdownListRef === null || dropdownListRef === void 0 ? void 0 : dropdownListRef.current]);
|
|
866
961
|
(0, _react.useEffect)(() => {
|
|
867
962
|
if (isSearchable && useLiveSearch && (debouncedSearchTerm || isValueDeleted || isOpen)) {
|
|
868
|
-
doLiveSearchRequest === null || doLiveSearchRequest === void 0
|
|
963
|
+
doLiveSearchRequest === null || doLiveSearchRequest === void 0 ? void 0 : doLiveSearchRequest(debouncedSearchTerm);
|
|
869
964
|
}
|
|
870
965
|
}, [isOpen, debouncedSearchTerm, isValueDeleted]);
|
|
871
966
|
(0, _react.useEffect)(() => {
|
|
872
|
-
setOptions(optionsProp.map(option => ({
|
|
873
|
-
...option,
|
|
967
|
+
setOptions(optionsProp.map(option => ({ ...option,
|
|
874
968
|
ref: /*#__PURE__*/(0, _react.createRef)()
|
|
875
969
|
})));
|
|
876
970
|
}, [optionsProp]);
|
|
@@ -894,4 +988,6 @@ const TagsDropdown = _ref => {
|
|
|
894
988
|
onClick: onActionCancelClick
|
|
895
989
|
}, /*#__PURE__*/_react.default.createElement(_reactFeather.X, null))), isOpen && renderListContainer());
|
|
896
990
|
};
|
|
897
|
-
|
|
991
|
+
|
|
992
|
+
var _default = TagsDropdown;
|
|
993
|
+
exports.default = _default;
|