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