intelicoreact 1.4.76 → 1.4.78
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 +145 -52
- 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/FileLoaderDescription/FileLoaderDescription.js +23 -4
- package/dist/Atomic/FormElements/FileLoaderLocal/FileLoaderLocal.js +26 -6
- package/dist/Atomic/FormElements/FileLoaderLocalGroup/FileLoaderLocalGroup.js +38 -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 +23 -6
- package/dist/Atomic/FormElements/TagsDropdown/TagsDropdown.js +223 -105
- package/dist/Atomic/FormElements/Text/Text.js +16 -10
- package/dist/Atomic/FormElements/TextSwitcher/TextSwitcher.js +9 -1
- package/dist/Atomic/FormElements/Textarea/Textarea.js +16 -5
- 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 +17 -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 +39 -13
- package/dist/Atomic/UI/Hint/partials/_utils.js +19 -4
- 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 +26 -11
- package/dist/Atomic/UI/TagList/TagList.js +52 -21
- package/dist/Atomic/UI/TagList/TagList.scss +3 -2
- package/dist/Atomic/UI/UserBox/UserBox.js +13 -1
- package/dist/Atomic/UI/WizardStepper/constructor.js +11 -3
- package/dist/Atomic/UI/WizardStepper/index.js +5 -1
- package/dist/Atomic/UI/WizardStepper/ui/StateIcon/StateIcon.js +10 -0
- package/dist/Atomic/UI/WizardStepper/ui/StateIcon/index.js +4 -1
- package/dist/Atomic/UI/WizardStepper/ui/StepRow/StepRow.js +17 -2
- package/dist/Atomic/UI/WizardStepper/ui/StepRow/index.js +5 -1
- package/dist/Atomic/UI/WizardStepper/ui/StepWrapper/StepWrapper.js +15 -1
- package/dist/Atomic/UI/WizardStepper/ui/StepWrapper/index.js +5 -1
- package/dist/Atomic/UI/WizardStepper/ui/icons.js +9 -2
- package/dist/Atomic/UI/WizardStepper/ui/index.js +5 -1
- package/dist/Classes/AbortableFetch.js +93 -36
- package/dist/Classes/AnimatedHandler.js +7 -3
- package/dist/Classes/RESTAPI/index.js +43 -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 +46 -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 +39 -16
- 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
- package/dist/Atomic/UI/Hint/partial/_utils.js +0 -52
|
@@ -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$curr8, _dropdownListRef$curr9;
|
|
47
|
+
var _Object$keys, _dropdownListWrapperR2, _dropdownListWrapperR3, _dropdownListRef$curr8, _dropdownListRef$curr9;
|
|
48
|
+
|
|
29
49
|
let {
|
|
30
50
|
options: optionsProp,
|
|
31
51
|
chosenOptions = [],
|
|
@@ -105,21 +125,24 @@ const TagsDropdown = _ref => {
|
|
|
105
125
|
delay: 600
|
|
106
126
|
});
|
|
107
127
|
const [isValueDeleted, setIsValueDeleted] = (0, _react.useState)(false);
|
|
128
|
+
|
|
108
129
|
const setSearchValueInterceptor = value => {
|
|
109
130
|
setSearchValue(value);
|
|
110
131
|
setIsValueDeleted(searchValue !== value && value === "");
|
|
111
132
|
searchValueRef.current = value;
|
|
112
133
|
};
|
|
134
|
+
|
|
113
135
|
const editingOptionInputRef = (0, _react.useRef)(null);
|
|
114
136
|
const [options, setOptions] = (0, _react.useState)([]);
|
|
115
137
|
const [editingOption, setEditingOptionState] = (0, _react.useState)(null);
|
|
138
|
+
|
|
116
139
|
const setEditingOption = data => {
|
|
117
|
-
setEditingOptionState(editingOption => !data ? data : {
|
|
118
|
-
...(editingOption !== null && editingOption !== void 0 ? editingOption : {}),
|
|
140
|
+
setEditingOptionState(editingOption => !data ? data : { ...(editingOption !== null && editingOption !== void 0 ? editingOption : {}),
|
|
119
141
|
...(typeof data === "function" ? data === null || data === void 0 ? void 0 : data(editingOption) : data),
|
|
120
142
|
isChanged: Boolean(editingOption)
|
|
121
143
|
});
|
|
122
144
|
};
|
|
145
|
+
|
|
123
146
|
const isEditingOptionError = (0, _react.useMemo)(() => {
|
|
124
147
|
if (!editingOption) return false;
|
|
125
148
|
return options.filter(_ref2 => {
|
|
@@ -139,9 +162,9 @@ const TagsDropdown = _ref => {
|
|
|
139
162
|
const getRandomIndex = (min, max) => {
|
|
140
163
|
return Math.floor(Math.random() * (max - min + 1)) + min;
|
|
141
164
|
};
|
|
165
|
+
|
|
142
166
|
const randomIndex = getRandomIndex(0, COLORS.length - 1);
|
|
143
|
-
return COLORS[randomIndex];
|
|
144
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
167
|
+
return COLORS[randomIndex]; // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
145
168
|
}, [options.length]);
|
|
146
169
|
const singleLevelOptions = options === null || options === void 0 ? void 0 : options.reduce((acc, item) => {
|
|
147
170
|
const checkUniqAndPush = (acc, item) => {
|
|
@@ -151,74 +174,91 @@ const TagsDropdown = _ref => {
|
|
|
151
174
|
} = _ref4;
|
|
152
175
|
return value === (item === null || item === void 0 ? void 0 : item.value);
|
|
153
176
|
});
|
|
177
|
+
|
|
154
178
|
if (isExist !== -1) {
|
|
155
179
|
acc[isExist] = item;
|
|
156
180
|
} else {
|
|
157
181
|
acc.push(item);
|
|
158
182
|
}
|
|
159
183
|
};
|
|
184
|
+
|
|
160
185
|
if (item.groupName) {
|
|
161
186
|
var _item$list;
|
|
162
|
-
|
|
187
|
+
|
|
188
|
+
(_item$list = item.list) === null || _item$list === void 0 ? void 0 : _item$list.map(item => checkUniqAndPush(acc, item));
|
|
163
189
|
} else {
|
|
164
190
|
checkUniqAndPush(acc, item);
|
|
165
191
|
}
|
|
192
|
+
|
|
166
193
|
return acc;
|
|
167
194
|
}, isUseLocalOptionsStore ? (_Object$keys = Object.keys(localOptionsStore)) === null || _Object$keys === void 0 ? void 0 : _Object$keys.map(value => ({
|
|
168
195
|
value,
|
|
169
196
|
label: localOptionsStore === null || localOptionsStore === void 0 ? void 0 : localOptionsStore[value]
|
|
170
197
|
})) : []);
|
|
198
|
+
|
|
171
199
|
const deleteChosen = value => {
|
|
172
200
|
if (isMobile ? closeOnRemoveMobile : closeOnRemove) setIsOpen(false);
|
|
201
|
+
|
|
173
202
|
if (isUseLocalOptionsStore) {
|
|
174
|
-
setLocalOptionsStore(options => ({
|
|
175
|
-
...options,
|
|
203
|
+
setLocalOptionsStore(options => ({ ...options,
|
|
176
204
|
[value]: undefined
|
|
177
205
|
}));
|
|
178
206
|
}
|
|
207
|
+
|
|
179
208
|
onChange(chosenOptions.filter(item => item !== value), "chosenOptions");
|
|
180
|
-
};
|
|
209
|
+
}; // --- LIST CONTAINER FUNCTIONS BEGIN --- //
|
|
210
|
+
|
|
181
211
|
|
|
182
|
-
// --- LIST CONTAINER FUNCTIONS BEGIN --- //
|
|
183
212
|
const getParentNode = () => {
|
|
184
213
|
var _ref5, _document$querySelect;
|
|
214
|
+
|
|
185
215
|
return (_ref5 = (_document$querySelect = document.querySelector("div#root")) !== null && _document$querySelect !== void 0 ? _document$querySelect : document.querySelector("div#app")) !== null && _ref5 !== void 0 ? _ref5 : document.querySelector("div#storybook-root");
|
|
186
216
|
};
|
|
217
|
+
|
|
187
218
|
const initListContainer = () => {
|
|
188
219
|
const dropdownList = document.createElement("div");
|
|
189
220
|
dropdownList.setAttribute("id", dropdownId);
|
|
190
221
|
dropdownList.classList.add("tags-dropdown__container");
|
|
191
222
|
listClassName && dropdownList.classList.add(listClassName);
|
|
223
|
+
|
|
192
224
|
if (isMobile) {
|
|
193
225
|
dropdownList.addEventListener("click", e => {
|
|
194
226
|
if (e.target.id === dropdownId) setIsOpen(false);
|
|
195
227
|
});
|
|
196
228
|
}
|
|
229
|
+
|
|
197
230
|
if (isMobile) {
|
|
198
231
|
var _getParentNode;
|
|
232
|
+
|
|
199
233
|
try {
|
|
200
234
|
var _document$getElementB;
|
|
201
|
-
|
|
202
|
-
// eslint-disable-next-line no-empty
|
|
235
|
+
|
|
236
|
+
(_document$getElementB = document.getElementById("mlw-".concat(dropdownId))) === null || _document$getElementB === void 0 ? void 0 : _document$getElementB.remove(); // eslint-disable-next-line no-empty
|
|
203
237
|
} catch (e) {}
|
|
238
|
+
|
|
204
239
|
const dropdownMobileListWrapper = document.createElement("div");
|
|
205
240
|
dropdownMobileListWrapper.classList.add("tags-dropdown-mobile");
|
|
206
241
|
dropdownMobileListWrapper.setAttribute("id", "mlw-".concat(dropdownId));
|
|
207
|
-
dropdownMobileListWrapper === null || dropdownMobileListWrapper === void 0
|
|
208
|
-
(_getParentNode = getParentNode()) === null || _getParentNode === void 0
|
|
242
|
+
dropdownMobileListWrapper === null || dropdownMobileListWrapper === void 0 ? void 0 : dropdownMobileListWrapper.append(dropdownList);
|
|
243
|
+
(_getParentNode = getParentNode()) === null || _getParentNode === void 0 ? void 0 : _getParentNode.append(dropdownMobileListWrapper);
|
|
209
244
|
} else {
|
|
210
245
|
var _getParentNode2;
|
|
211
|
-
|
|
246
|
+
|
|
247
|
+
(_getParentNode2 = getParentNode()) === null || _getParentNode2 === void 0 ? void 0 : _getParentNode2.append(dropdownList);
|
|
212
248
|
}
|
|
213
249
|
};
|
|
250
|
+
|
|
214
251
|
const getListContainer = () => {
|
|
215
252
|
return document.getElementById(dropdownId);
|
|
216
253
|
};
|
|
254
|
+
|
|
217
255
|
const getListContainerWrapper = () => {
|
|
218
256
|
return document.getElementById("mlw-".concat(dropdownId));
|
|
219
257
|
};
|
|
258
|
+
|
|
220
259
|
const setListContainerStyles = () => {
|
|
221
|
-
var _dropdownRef$current$, _dropdownRef$current, _getComputedStyle$mar, _getComputedStyle, _selectorWrapper$getB, _listHeader$getBoundi, _listHeader$getBoundi2, _listFooter$getBoundi, _listFooter$getBoundi2;
|
|
260
|
+
var _dropdownRef$current$, _dropdownRef$current, _getComputedStyle$mar, _getComputedStyle, _getComputedStyle$mar2, _selectorWrapper$getB, _listHeader$getBoundi, _listHeader$getBoundi2, _listFooter$getBoundi, _listFooter$getBoundi2;
|
|
261
|
+
|
|
222
262
|
const listContainer = getListContainer();
|
|
223
263
|
if (!listContainer || !isOpen) return false;
|
|
224
264
|
const windowHeight = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;
|
|
@@ -227,34 +267,41 @@ const TagsDropdown = _ref => {
|
|
|
227
267
|
height,
|
|
228
268
|
left,
|
|
229
269
|
top
|
|
230
|
-
} = (_dropdownRef$current$ = dropdownRef === null || dropdownRef === void 0
|
|
270
|
+
} = (_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$ : {};
|
|
231
271
|
const selectorWrapper = dropdownListWrapperRef === null || dropdownListWrapperRef === void 0 ? void 0 : dropdownListWrapperRef.current;
|
|
232
272
|
const dropdownList = listContainer.getElementsByClassName("tags-dropdown__list")[0];
|
|
233
273
|
const listHeader = selectorWrapper === null || selectorWrapper === void 0 ? void 0 : selectorWrapper.getElementsByClassName("tags-dropdown__header")[0];
|
|
234
274
|
const listFooter = selectorWrapper === null || selectorWrapper === void 0 ? void 0 : selectorWrapper.getElementsByClassName("tags-dropdown__footer")[0];
|
|
235
|
-
const margin = parseInt((_getComputedStyle$mar = (_getComputedStyle = getComputedStyle(selectorWrapper)) === null || _getComputedStyle === void 0
|
|
236
|
-
let selectorWrapperHeight = selectorWrapper === null || selectorWrapper === void 0
|
|
237
|
-
const maxSelectorWrapperHeight = 500 - ((_listHeader$getBoundi = listHeader === null || listHeader === void 0
|
|
275
|
+
const margin = parseInt((_getComputedStyle$mar = (_getComputedStyle = getComputedStyle(selectorWrapper)) === 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);
|
|
276
|
+
let selectorWrapperHeight = selectorWrapper === null || selectorWrapper === void 0 ? void 0 : (_selectorWrapper$getB = selectorWrapper.getBoundingClientRect()) === null || _selectorWrapper$getB === void 0 ? void 0 : _selectorWrapper$getB.height;
|
|
277
|
+
const maxSelectorWrapperHeight = 500 - ((_listHeader$getBoundi = listHeader === null || listHeader === void 0 ? void 0 : (_listHeader$getBoundi2 = listHeader.getBoundingClientRect()) === null || _listHeader$getBoundi2 === void 0 ? void 0 : _listHeader$getBoundi2.height) !== null && _listHeader$getBoundi !== void 0 ? _listHeader$getBoundi : 0) - ((_listFooter$getBoundi = listFooter === null || listFooter === void 0 ? void 0 : (_listFooter$getBoundi2 = listFooter.getBoundingClientRect()) === null || _listFooter$getBoundi2 === void 0 ? void 0 : _listFooter$getBoundi2.height) !== null && _listFooter$getBoundi !== void 0 ? _listFooter$getBoundi : 0);
|
|
278
|
+
|
|
238
279
|
if (!isMobile || !withMobileLogic) {
|
|
239
|
-
var _getComputedStyle2, _dropdownListMaxHeigh, _customTriggerRef$cur, _customTriggerRef$cur2;
|
|
280
|
+
var _getComputedStyle2, _dropdownListMaxHeigh, _customTriggerRef$cur, _customTriggerRef$cur2, _customTriggerRef$cur3;
|
|
281
|
+
|
|
240
282
|
const dropdownListMaxHeightInPx = (_getComputedStyle2 = getComputedStyle(dropdownList)) === null || _getComputedStyle2 === void 0 ? void 0 : _getComputedStyle2.maxHeight;
|
|
241
283
|
const maxHeight = initListHeight !== null && initListHeight !== void 0 ? initListHeight : parseInt((_dropdownListMaxHeigh = dropdownListMaxHeightInPx === null || dropdownListMaxHeightInPx === void 0 ? void 0 : dropdownListMaxHeightInPx.replace("px", "")) !== null && _dropdownListMaxHeigh !== void 0 ? _dropdownListMaxHeigh : 0, 10);
|
|
242
284
|
if (initListHeight === null && !isNaN(maxHeight)) setInitListHeight(maxHeight);
|
|
243
285
|
if (selectorWrapperHeight > maxHeight && !isNaN(maxHeight)) selectorWrapperHeight = maxHeight - 2 * margin;
|
|
244
|
-
const toTop = renderCustomTrigger ? top - margin - ((_customTriggerRef$cur = customTriggerRef === null || customTriggerRef === void 0
|
|
286
|
+
const toTop = renderCustomTrigger ? top - margin - ((_customTriggerRef$cur = customTriggerRef === null || customTriggerRef === void 0 ? void 0 : (_customTriggerRef$cur2 = customTriggerRef.current) === null || _customTriggerRef$cur2 === void 0 ? void 0 : (_customTriggerRef$cur3 = _customTriggerRef$cur2.getBoundingClientRect()) === null || _customTriggerRef$cur3 === void 0 ? void 0 : _customTriggerRef$cur3.height) !== null && _customTriggerRef$cur !== void 0 ? _customTriggerRef$cur : 0) : top - margin;
|
|
245
287
|
const toBottom = windowHeight - top - height - margin * 2;
|
|
246
288
|
let listPosition = listPos;
|
|
289
|
+
|
|
247
290
|
if (!listPos && options.length) {
|
|
248
291
|
listPosition = toTop < toBottom || toBottom >= selectorWrapperHeight ? "bottom" : "top";
|
|
249
292
|
setListPos(listPosition);
|
|
250
293
|
}
|
|
294
|
+
|
|
251
295
|
if (selectorWrapperHeight > (listPosition === "top" ? toTop : toBottom)) {
|
|
252
296
|
selectorWrapperHeight = (listPosition === "top" ? toTop : toBottom) - 3 * margin;
|
|
297
|
+
|
|
253
298
|
if (selectorWrapperHeight < 200) {
|
|
254
299
|
selectorWrapperHeight = 200;
|
|
255
300
|
}
|
|
301
|
+
|
|
256
302
|
selectorWrapper.style.maxHeight = "".concat(selectorWrapperHeight, "px");
|
|
257
303
|
}
|
|
304
|
+
|
|
258
305
|
listContainer.style.minWidth = "".concat(width, "px");
|
|
259
306
|
listContainer.style.left = "".concat(left, "px");
|
|
260
307
|
listContainer.style.top = "".concat(listPosition === "bottom" ? top + height : top - selectorWrapperHeight - 2 * margin, "px");
|
|
@@ -262,18 +309,19 @@ const TagsDropdown = _ref => {
|
|
|
262
309
|
dropdownList.style.maxHeight = "".concat(maxSelectorWrapperHeight, "px");
|
|
263
310
|
}
|
|
264
311
|
};
|
|
312
|
+
|
|
265
313
|
const renderListContainer = () => {
|
|
266
314
|
const lc = getListContainer();
|
|
267
|
-
if (!lc) return null;
|
|
315
|
+
if (!lc) return null; // eslint-disable-next-line no-use-before-define
|
|
268
316
|
|
|
269
|
-
// eslint-disable-next-line no-use-before-define
|
|
270
317
|
return /*#__PURE__*/(0, _reactDom.createPortal)(getListMarkUp(), lc);
|
|
271
|
-
};
|
|
272
|
-
// --- LIST CONTAINER FUNCTIONS END --- //
|
|
273
|
-
|
|
318
|
+
}; // --- LIST CONTAINER FUNCTIONS END --- //
|
|
274
319
|
// --- CREATABLE LOGIC BEGIN --- //
|
|
320
|
+
|
|
321
|
+
|
|
275
322
|
const onOptionCreateClick = () => {
|
|
276
323
|
var _onOptionCreate;
|
|
324
|
+
|
|
277
325
|
const newOption = {
|
|
278
326
|
label: searchValue,
|
|
279
327
|
style: {
|
|
@@ -281,11 +329,11 @@ const TagsDropdown = _ref => {
|
|
|
281
329
|
},
|
|
282
330
|
isEditable: true,
|
|
283
331
|
ref: /*#__PURE__*/(0, _react.createRef)()
|
|
284
|
-
};
|
|
332
|
+
}; // eslint-disable-next-line no-promise-executor-return
|
|
285
333
|
|
|
286
|
-
// eslint-disable-next-line no-promise-executor-return
|
|
287
334
|
((_onOptionCreate = onOptionCreate === null || onOptionCreate === void 0 ? void 0 : onOptionCreate(newOption)) !== null && _onOptionCreate !== void 0 ? _onOptionCreate : new Promise(r => r())).then(result => {
|
|
288
335
|
var _result$id;
|
|
336
|
+
|
|
289
337
|
const tempId = Math.random().toString(16).slice(2);
|
|
290
338
|
newOption.value = (_result$id = result === null || result === void 0 ? void 0 : result.id) !== null && _result$id !== void 0 ? _result$id : tempId;
|
|
291
339
|
setOptions(state => [...state, newOption]);
|
|
@@ -293,13 +341,16 @@ const TagsDropdown = _ref => {
|
|
|
293
341
|
onChangeHandler(newOption);
|
|
294
342
|
});
|
|
295
343
|
};
|
|
344
|
+
|
|
296
345
|
const onOptionEditClick = (e, item) => {
|
|
297
|
-
e === null || e === void 0
|
|
298
|
-
e === null || e === void 0
|
|
346
|
+
e === null || e === void 0 ? void 0 : e.preventDefault();
|
|
347
|
+
e === null || e === void 0 ? void 0 : e.stopPropagation();
|
|
299
348
|
setEditingOption((editingOption === null || editingOption === void 0 ? void 0 : editingOption.value) === (item === null || item === void 0 ? void 0 : item.value) ? null : item);
|
|
300
349
|
};
|
|
350
|
+
|
|
301
351
|
const onOptionDeleteClick = () => {
|
|
302
352
|
var _onOptionDelete;
|
|
353
|
+
|
|
303
354
|
// eslint-disable-next-line no-promise-executor-return
|
|
304
355
|
((_onOptionDelete = onOptionDelete === null || onOptionDelete === void 0 ? void 0 : onOptionDelete(editingOption)) !== null && _onOptionDelete !== void 0 ? _onOptionDelete : new Promise(r => r())).then(() => {
|
|
305
356
|
deleteChosen(editingOption === null || editingOption === void 0 ? void 0 : editingOption.value);
|
|
@@ -312,25 +363,29 @@ const TagsDropdown = _ref => {
|
|
|
312
363
|
setEditingOption(null);
|
|
313
364
|
});
|
|
314
365
|
};
|
|
366
|
+
|
|
315
367
|
const saveEditingOption = () => {
|
|
316
368
|
if (!(editingOption !== null && editingOption !== void 0 && editingOption.isChanged) || isEditingOptionError) {
|
|
317
369
|
setEditingOption(null);
|
|
318
370
|
return false;
|
|
319
371
|
}
|
|
320
|
-
|
|
372
|
+
|
|
373
|
+
onOptionEdit === null || onOptionEdit === void 0 ? void 0 : onOptionEdit(editingOption);
|
|
321
374
|
setOptions(options => options.map(option => {
|
|
322
375
|
if (editingOption && option.value === (editingOption === null || editingOption === void 0 ? void 0 : editingOption.value)) {
|
|
323
|
-
const tmp = {
|
|
324
|
-
...editingOption
|
|
376
|
+
const tmp = { ...editingOption
|
|
325
377
|
};
|
|
326
378
|
setEditingOption(null);
|
|
327
379
|
return tmp;
|
|
328
380
|
}
|
|
381
|
+
|
|
329
382
|
return option;
|
|
330
383
|
}));
|
|
331
384
|
};
|
|
385
|
+
|
|
332
386
|
const setEditOptionModalStyles = () => {
|
|
333
387
|
var _editingOption$ref, _el$getBoundingClient, _dropdownListWrapperR, _positionClasses, _positionClasses2;
|
|
388
|
+
|
|
334
389
|
if (!editingOption || !(editOptionModalRef !== null && editOptionModalRef !== void 0 && editOptionModalRef.current)) return null;
|
|
335
390
|
const modalSize = 200;
|
|
336
391
|
const {
|
|
@@ -345,14 +400,14 @@ const TagsDropdown = _ref => {
|
|
|
345
400
|
};
|
|
346
401
|
const windowWidth = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
|
|
347
402
|
const windowHeight = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;
|
|
348
|
-
const el = editingOption === null || editingOption === void 0
|
|
403
|
+
const el = editingOption === null || editingOption === void 0 ? void 0 : (_editingOption$ref = editingOption.ref) === null || _editingOption$ref === void 0 ? void 0 : _editingOption$ref.current;
|
|
349
404
|
const {
|
|
350
405
|
x,
|
|
351
406
|
y,
|
|
352
407
|
width,
|
|
353
408
|
height
|
|
354
409
|
} = (_el$getBoundingClient = el === null || el === void 0 ? void 0 : el.getBoundingClientRect()) !== null && _el$getBoundingClient !== void 0 ? _el$getBoundingClient : {};
|
|
355
|
-
const containerPosition = dropdownListWrapperRef === null || dropdownListWrapperRef === void 0
|
|
410
|
+
const containerPosition = dropdownListWrapperRef === null || dropdownListWrapperRef === void 0 ? void 0 : (_dropdownListWrapperR = dropdownListWrapperRef.current) === null || _dropdownListWrapperR === void 0 ? void 0 : _dropdownListWrapperR.getBoundingClientRect();
|
|
356
411
|
const distanceToRight = windowWidth - (containerPosition === null || containerPosition === void 0 ? void 0 : containerPosition.x) - (containerPosition === null || containerPosition === void 0 ? void 0 : containerPosition.width);
|
|
357
412
|
const distanceToBottom = windowHeight - y - scrollY - height;
|
|
358
413
|
Object.values(positionClasses).map(className => editOptionModalRef.current.classList.remove(className));
|
|
@@ -364,6 +419,7 @@ const TagsDropdown = _ref => {
|
|
|
364
419
|
editOptionModalRef.current.style.top = "".concat(y + scrollY + height, "px");
|
|
365
420
|
editOptionModalRef.current.style.transform = "translate(".concat(xTranslate, ", ").concat(yTranslate, ")");
|
|
366
421
|
};
|
|
422
|
+
|
|
367
423
|
const renderEditOptionModal = () => {
|
|
368
424
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
369
425
|
key: "editOptionModal".concat(editingOption === null || editingOption === void 0 ? void 0 : editingOption.value),
|
|
@@ -373,8 +429,7 @@ const TagsDropdown = _ref => {
|
|
|
373
429
|
className: (0, _classnames.default)("".concat(RC, "__edit-option-modal-section"))
|
|
374
430
|
}, /*#__PURE__*/_react.default.createElement(_Input.default, {
|
|
375
431
|
value: editingOption.label,
|
|
376
|
-
onChange: v => setEditingOption(state => ({
|
|
377
|
-
...state,
|
|
432
|
+
onChange: v => setEditingOption(state => ({ ...state,
|
|
378
433
|
label: v
|
|
379
434
|
})),
|
|
380
435
|
error: isEditingOptionError,
|
|
@@ -396,114 +451,133 @@ const TagsDropdown = _ref => {
|
|
|
396
451
|
className: (0, _classnames.default)("".concat(RC, "__edit-option-modal-section-colors"))
|
|
397
452
|
}, COLORS.map(color => {
|
|
398
453
|
var _editingOption$style;
|
|
454
|
+
|
|
399
455
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
400
456
|
key: color,
|
|
401
457
|
className: "color-block",
|
|
402
458
|
style: {
|
|
403
459
|
backgroundColor: color
|
|
404
460
|
},
|
|
405
|
-
onClick: () => setEditingOption(state => ({
|
|
406
|
-
...state,
|
|
407
|
-
style: {
|
|
408
|
-
...state.style,
|
|
461
|
+
onClick: () => setEditingOption(state => ({ ...state,
|
|
462
|
+
style: { ...state.style,
|
|
409
463
|
backgroundColor: color
|
|
410
464
|
}
|
|
411
465
|
}))
|
|
412
|
-
}, (editingOption === null || editingOption === void 0
|
|
466
|
+
}, (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);
|
|
413
467
|
}))));
|
|
414
|
-
};
|
|
415
|
-
// --- CREATABLE LOGIC END --- //
|
|
416
|
-
|
|
468
|
+
}; // --- CREATABLE LOGIC END --- //
|
|
417
469
|
// --- GENERAL FUNCTIONS BEGIN --- //
|
|
470
|
+
|
|
471
|
+
|
|
418
472
|
const handleClickOutside = e => {
|
|
419
473
|
var _getListContainer, _editOptionModalRef$c;
|
|
474
|
+
|
|
420
475
|
const {
|
|
421
476
|
target
|
|
422
477
|
} = e;
|
|
423
|
-
|
|
424
|
-
// &&
|
|
478
|
+
|
|
479
|
+
if (isOpen && !((_getListContainer = getListContainer()) !== null && _getListContainer !== void 0 && _getListContainer.contains(target)) && !editOptionModalRef.current // &&
|
|
425
480
|
// (
|
|
426
481
|
// customTriggerRef?.current ? customTriggerRef?.current?.contains(target) : true
|
|
427
482
|
// )
|
|
428
483
|
) {
|
|
429
484
|
setIsOpen(false);
|
|
430
|
-
onDropdownListClose === null || onDropdownListClose === void 0
|
|
485
|
+
onDropdownListClose === null || onDropdownListClose === void 0 ? void 0 : onDropdownListClose(e);
|
|
431
486
|
} else if (editOptionModalRef.current && !((_editOptionModalRef$c = editOptionModalRef.current) !== null && _editOptionModalRef$c !== void 0 && _editOptionModalRef$c.contains(target))) {
|
|
432
|
-
var _document, _document$getElementB2, _document$getElementB3;
|
|
433
|
-
|
|
487
|
+
var _document, _document$getElementB2, _document$getElementB3, _document$getElementB4;
|
|
488
|
+
|
|
489
|
+
if (!((_document = document) !== null && _document !== void 0 && (_document$getElementB2 = _document.getElementById) !== null && _document$getElementB2 !== void 0 && (_document$getElementB3 = _document$getElementB2.call(_document, "editTrigger".concat(editingOption === null || editingOption === void 0 ? void 0 : editingOption.value))) !== null && _document$getElementB3 !== void 0 && (_document$getElementB4 = _document$getElementB3.contains) !== null && _document$getElementB4 !== void 0 && _document$getElementB4.call(_document$getElementB3, target))) saveEditingOption();
|
|
434
490
|
}
|
|
435
491
|
};
|
|
492
|
+
|
|
436
493
|
const closeList = e => {
|
|
437
494
|
var _inputRef$current;
|
|
495
|
+
|
|
438
496
|
handleClickOutside(e);
|
|
439
|
-
if (!e.target.isEqualNode(inputRef === null || inputRef === void 0 ? void 0 : inputRef.current)) inputRef === null || inputRef === void 0
|
|
497
|
+
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();
|
|
440
498
|
};
|
|
499
|
+
|
|
441
500
|
const isTargetInParent = target => {
|
|
442
501
|
var _target$className, _target$className$ind, _target$className2, _target$className2$in;
|
|
502
|
+
|
|
443
503
|
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;
|
|
444
|
-
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
|
|
504
|
+
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.indexOf("".concat(RC, "__trigger"))) !== -1 || (target === null || target === void 0 ? void 0 : target.className) === "tags-dropdown__arrow") return true;
|
|
445
505
|
return false;
|
|
446
506
|
};
|
|
507
|
+
|
|
447
508
|
const isItemMatchesSearch = item => {
|
|
448
509
|
if (item.isHiddenInList) return false;
|
|
449
510
|
const title = item.title || item.label;
|
|
450
511
|
return searchValue.length ? title === null || title === void 0 ? void 0 : title.toLowerCase().includes((searchValue === null || searchValue === void 0 ? void 0 : searchValue.toLowerCase()) || "") : true;
|
|
451
|
-
};
|
|
452
|
-
|
|
512
|
+
}; // --- GENERAL FUNCTIONS END --- //
|
|
513
|
+
|
|
453
514
|
|
|
454
515
|
const prepareOptions = options => {
|
|
455
516
|
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();
|
|
456
517
|
};
|
|
518
|
+
|
|
457
519
|
const getFilteredOptions = options => options === null || options === void 0 ? void 0 : options.reduce((result, option) => {
|
|
458
520
|
if (option.groupName) {
|
|
459
521
|
var _option$list;
|
|
460
|
-
|
|
522
|
+
|
|
523
|
+
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));
|
|
524
|
+
|
|
461
525
|
if (filteredGroupItems !== null && filteredGroupItems !== void 0 && filteredGroupItems.length) {
|
|
462
|
-
result.push({
|
|
463
|
-
...option,
|
|
526
|
+
result.push({ ...option,
|
|
464
527
|
list: filteredGroupItems
|
|
465
528
|
});
|
|
466
529
|
}
|
|
467
530
|
} else if (isItemMatchesSearch(option)) {
|
|
468
531
|
result.push(option);
|
|
469
532
|
}
|
|
533
|
+
|
|
470
534
|
return result;
|
|
471
535
|
}, []);
|
|
536
|
+
|
|
472
537
|
const getTotalOptions = (0, _react.useCallback)(() => {
|
|
473
538
|
return options === null || options === void 0 ? void 0 : options.reduce((result, item) => {
|
|
474
539
|
if (item !== null && item !== void 0 && item.list) {
|
|
475
540
|
var _item$list2;
|
|
476
|
-
|
|
541
|
+
|
|
542
|
+
result += (item === null || item === void 0 ? void 0 : (_item$list2 = item.list) === null || _item$list2 === void 0 ? void 0 : _item$list2.length) || 0;
|
|
477
543
|
} else {
|
|
478
544
|
++result;
|
|
479
545
|
}
|
|
546
|
+
|
|
480
547
|
return result;
|
|
481
548
|
}, 0);
|
|
482
549
|
}, [options]);
|
|
550
|
+
|
|
483
551
|
const onChangeHandler = item => {
|
|
484
552
|
if (item !== null && item !== void 0 && item.isFreezed) return false;
|
|
553
|
+
|
|
485
554
|
if ((item === null || item === void 0 ? void 0 : item.closeOnOptionSelect) !== undefined) {
|
|
486
555
|
if (item.closeOnOptionSelect) setIsOpen(false);
|
|
487
556
|
} else if (isMobile ? closeOnSelectMobile : closeOnSelect) setIsOpen(false);
|
|
557
|
+
|
|
488
558
|
setSearchValueInterceptor("");
|
|
559
|
+
|
|
489
560
|
if (chosenOptions.some(el => el === item.value)) {
|
|
490
561
|
deleteChosen(item.value);
|
|
491
562
|
return null;
|
|
492
563
|
}
|
|
564
|
+
|
|
493
565
|
if (isUseLocalOptionsStore) {
|
|
494
|
-
setLocalOptionsStore(options => ({
|
|
495
|
-
...options,
|
|
566
|
+
setLocalOptionsStore(options => ({ ...options,
|
|
496
567
|
[item === null || item === void 0 ? void 0 : item.value]: item === null || item === void 0 ? void 0 : item.label
|
|
497
568
|
}));
|
|
498
569
|
}
|
|
570
|
+
|
|
499
571
|
onChange([...chosenOptions, item.value], "chosenOptions");
|
|
500
572
|
return null;
|
|
501
573
|
};
|
|
574
|
+
|
|
502
575
|
const onSearchHandler = name => {
|
|
503
576
|
let inputValue = name;
|
|
504
577
|
if (!isNotValidateASCII) inputValue = (0, _fieldValueFormatters.formatToOnlyASCIICodeText)(inputValue);
|
|
505
578
|
setSearchValueInterceptor(inputValue);
|
|
506
579
|
};
|
|
580
|
+
|
|
507
581
|
const onWrapperClick = e => {
|
|
508
582
|
if (e.target === (wrapperRef === null || wrapperRef === void 0 ? void 0 : wrapperRef.current)) {
|
|
509
583
|
e.stopPropagation();
|
|
@@ -511,8 +585,10 @@ const TagsDropdown = _ref => {
|
|
|
511
585
|
setIsOpen(false);
|
|
512
586
|
}
|
|
513
587
|
};
|
|
588
|
+
|
|
514
589
|
const selectAllItems = () => {
|
|
515
590
|
var _prepareOptions;
|
|
591
|
+
|
|
516
592
|
const preparedOptions = (_prepareOptions = prepareOptions(options)) === null || _prepareOptions === void 0 ? void 0 : _prepareOptions.filter(_ref7 => {
|
|
517
593
|
let {
|
|
518
594
|
isFreezed,
|
|
@@ -520,6 +596,7 @@ const TagsDropdown = _ref => {
|
|
|
520
596
|
} = _ref7;
|
|
521
597
|
return !isFreezed && !(chosenOptions !== null && chosenOptions !== void 0 && chosenOptions.includes(value)) && value !== "open_modal";
|
|
522
598
|
});
|
|
599
|
+
|
|
523
600
|
if (isUseLocalOptionsStore) {
|
|
524
601
|
setLocalOptionsStore(options => preparedOptions === null || preparedOptions === void 0 ? void 0 : preparedOptions.reduce((result, _ref8) => {
|
|
525
602
|
let {
|
|
@@ -530,6 +607,7 @@ const TagsDropdown = _ref => {
|
|
|
530
607
|
return result;
|
|
531
608
|
}, options));
|
|
532
609
|
}
|
|
610
|
+
|
|
533
611
|
onChange([...chosenOptions, ...((preparedOptions === null || preparedOptions === void 0 ? void 0 : preparedOptions.map(_ref9 => {
|
|
534
612
|
let {
|
|
535
613
|
value
|
|
@@ -538,38 +616,42 @@ const TagsDropdown = _ref => {
|
|
|
538
616
|
})) || [])], "chosenOptions");
|
|
539
617
|
if (isMobile ? closeOnSelectAllMobile : closeOnSelectAll) setIsOpen(false);
|
|
540
618
|
};
|
|
619
|
+
|
|
541
620
|
const unselectAllItems = () => {
|
|
542
621
|
if (isUseLocalOptionsStore) setLocalOptionsStore({});
|
|
543
622
|
onChange(chosenOptions === null || chosenOptions === void 0 ? void 0 : chosenOptions.filter(item => {
|
|
544
|
-
var _prepareOptions2;
|
|
545
|
-
|
|
623
|
+
var _prepareOptions2, _prepareOptions2$find;
|
|
624
|
+
|
|
625
|
+
return (_prepareOptions2 = prepareOptions(options)) === null || _prepareOptions2 === void 0 ? void 0 : (_prepareOptions2$find = _prepareOptions2.find(_ref10 => {
|
|
546
626
|
let {
|
|
547
627
|
value
|
|
548
628
|
} = _ref10;
|
|
549
629
|
return value === item;
|
|
550
|
-
})) === null || _prepareOptions2 === void 0 ? void 0 : _prepareOptions2.isFreezed;
|
|
630
|
+
})) === null || _prepareOptions2$find === void 0 ? void 0 : _prepareOptions2$find.isFreezed;
|
|
551
631
|
}), "chosenOptions");
|
|
552
632
|
if (isMobile ? closeOnRemoveAllMobile : closeOnRemoveAll) setIsOpen(false);
|
|
553
633
|
};
|
|
634
|
+
|
|
554
635
|
const doScrollCallback = (0, _react.useCallback)(e => {
|
|
555
636
|
if (doLiveSearchRequest && typeof doLiveSearchRequest === "function") {
|
|
556
637
|
if (Math.round(e.target.clientHeight + e.target.scrollTop) == e.target.scrollHeight) {
|
|
557
638
|
doLiveSearchRequest(searchValueRef.current, true);
|
|
558
639
|
}
|
|
559
640
|
}
|
|
560
|
-
}, [options]);
|
|
561
|
-
|
|
562
|
-
// --- RENDER FUNCTIONS BEGIN --- //
|
|
641
|
+
}, [options]); // --- RENDER FUNCTIONS BEGIN --- //
|
|
563
642
|
|
|
564
643
|
const getMarkupForElement = item => {
|
|
565
644
|
var _item$customMobileIco;
|
|
645
|
+
|
|
566
646
|
const {
|
|
567
647
|
description
|
|
568
648
|
} = item;
|
|
569
649
|
const title = item.title || item.label;
|
|
650
|
+
|
|
570
651
|
const hightlightSearchValue = title => {
|
|
571
652
|
var _title$toLowerCase;
|
|
572
|
-
|
|
653
|
+
|
|
654
|
+
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());
|
|
573
655
|
if (index === -1) return title;
|
|
574
656
|
return /*#__PURE__*/_react.default.createElement("pre", {
|
|
575
657
|
className: "inherit-styles"
|
|
@@ -577,6 +659,7 @@ const TagsDropdown = _ref => {
|
|
|
577
659
|
className: "search-match bg--yellow"
|
|
578
660
|
}, 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))));
|
|
579
661
|
};
|
|
662
|
+
|
|
580
663
|
return /*#__PURE__*/_react.default.createElement("button", {
|
|
581
664
|
ref: item === null || item === void 0 ? void 0 : item.ref,
|
|
582
665
|
key: "".concat(RC, "__list-item-").concat(item.id || item.value),
|
|
@@ -627,21 +710,26 @@ const TagsDropdown = _ref => {
|
|
|
627
710
|
}
|
|
628
711
|
}) : "");
|
|
629
712
|
};
|
|
713
|
+
|
|
630
714
|
const getListMarkUp = () => {
|
|
631
|
-
var _filteredOptions$filt, _filteredOptions$filt2, _document$
|
|
715
|
+
var _filteredOptions$filt, _filteredOptions$filt2, _document$getElementB5;
|
|
716
|
+
|
|
632
717
|
const filteredOptions = getFilteredOptions(options);
|
|
633
718
|
const arrToPrint = [];
|
|
719
|
+
|
|
634
720
|
for (const option of filteredOptions) {
|
|
635
721
|
if (option.groupName) {
|
|
636
|
-
var _option$groupName, _option$list2;
|
|
722
|
+
var _option$groupName, _option$groupName$toS, _option$list2;
|
|
723
|
+
|
|
637
724
|
arrToPrint.push( /*#__PURE__*/_react.default.createElement("div", {
|
|
638
|
-
key: (_option$groupName = option.groupName) === null || _option$groupName === void 0
|
|
725
|
+
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()),
|
|
639
726
|
className: (0, _classnames.default)("".concat(RC, "-group"), option.className)
|
|
640
727
|
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
641
728
|
className: "".concat(RC, "-group__name")
|
|
642
729
|
}, option.groupName), (_option$list2 = option.list) === null || _option$list2 === void 0 ? void 0 : _option$list2.map(item => getMarkupForElement(item))));
|
|
643
730
|
} else arrToPrint.push(getMarkupForElement(option));
|
|
644
731
|
}
|
|
732
|
+
|
|
645
733
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
646
734
|
className: (0, _classnames.default)("".concat(RC, "__container-wrapper")),
|
|
647
735
|
ref: wrapperRef,
|
|
@@ -717,7 +805,7 @@ const TagsDropdown = _ref => {
|
|
|
717
805
|
})
|
|
718
806
|
}, footerContent, isMobile && /*#__PURE__*/_react.default.createElement("button", {
|
|
719
807
|
onClick: () => setIsOpen(false)
|
|
720
|
-
}, "Apply", chosenOptions !== null && chosenOptions !== void 0 && chosenOptions.length ? "(".concat(chosenOptions === null || chosenOptions === void 0 ? void 0 : chosenOptions.length, ")") : "")) : null, editingOption && /*#__PURE__*/(0, _reactDom.createPortal)(renderEditOptionModal(), (_document$
|
|
808
|
+
}, "Apply", chosenOptions !== null && chosenOptions !== void 0 && chosenOptions.length ? "(".concat(chosenOptions === null || chosenOptions === void 0 ? void 0 : chosenOptions.length, ")") : "")) : null, editingOption && /*#__PURE__*/(0, _reactDom.createPortal)(renderEditOptionModal(), (_document$getElementB5 = document.getElementById("app")) !== null && _document$getElementB5 !== void 0 ? _document$getElementB5 : document.body), withCreateLogic && onOptionCreate && searchValue && singleLevelOptions.every(_ref14 => {
|
|
721
809
|
let {
|
|
722
810
|
label
|
|
723
811
|
} = _ref14;
|
|
@@ -733,6 +821,7 @@ const TagsDropdown = _ref => {
|
|
|
733
821
|
isNoDismiss: true
|
|
734
822
|
}))));
|
|
735
823
|
};
|
|
824
|
+
|
|
736
825
|
const renderSearchInput = () => {
|
|
737
826
|
return /*#__PURE__*/_react.default.createElement(_Input.default, (0, _extends2.default)({
|
|
738
827
|
ref: inputRef,
|
|
@@ -742,8 +831,7 @@ const TagsDropdown = _ref => {
|
|
|
742
831
|
value: searchValue,
|
|
743
832
|
onChange: onSearchHandler,
|
|
744
833
|
placeholder: placeholder || "Select from list",
|
|
745
|
-
attributesOfNativeInput: {
|
|
746
|
-
...attributesOfNativeInput,
|
|
834
|
+
attributesOfNativeInput: { ...attributesOfNativeInput,
|
|
747
835
|
onKeyDown: e => {
|
|
748
836
|
if (e.keyCode === 13 && withCreateLogic && onOptionCreate && singleLevelOptions.every(_ref15 => {
|
|
749
837
|
let {
|
|
@@ -753,18 +841,21 @@ const TagsDropdown = _ref => {
|
|
|
753
841
|
})) {
|
|
754
842
|
onOptionCreateClick();
|
|
755
843
|
}
|
|
844
|
+
|
|
756
845
|
onKeyPress(e, searchValue);
|
|
757
|
-
}
|
|
758
|
-
// onFocus: (e) => {
|
|
846
|
+
} // onFocus: (e) => {
|
|
759
847
|
// if (isMobile) e?.target?.blur();
|
|
760
848
|
// },
|
|
849
|
+
|
|
761
850
|
}
|
|
762
851
|
}, withCreateLogic ? {
|
|
763
852
|
symbolsLimit: 50
|
|
764
853
|
} : {}));
|
|
765
854
|
};
|
|
855
|
+
|
|
766
856
|
const renderDropdownTrigger = (0, _react.useCallback)(() => {
|
|
767
857
|
var _renderCustomTrigger;
|
|
858
|
+
|
|
768
859
|
const renderDefaultDropdownTrigger = () => {
|
|
769
860
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
770
861
|
className: (0, _classnames.default)("".concat(RC, "__trigger"), {
|
|
@@ -775,6 +866,7 @@ const TagsDropdown = _ref => {
|
|
|
775
866
|
let {
|
|
776
867
|
target
|
|
777
868
|
} = _ref16;
|
|
869
|
+
|
|
778
870
|
if ((target === null || target === void 0 ? void 0 : target.tagName) === "INPUT") {
|
|
779
871
|
setIsOpen(true);
|
|
780
872
|
} else if (isTargetInParent(target)) {
|
|
@@ -819,6 +911,7 @@ const TagsDropdown = _ref => {
|
|
|
819
911
|
className: "color--text"
|
|
820
912
|
})));
|
|
821
913
|
};
|
|
914
|
+
|
|
822
915
|
return (_renderCustomTrigger = renderCustomTrigger === null || renderCustomTrigger === void 0 ? void 0 : renderCustomTrigger({
|
|
823
916
|
chosenOptions,
|
|
824
917
|
singleLevelOptions,
|
|
@@ -828,20 +921,21 @@ const TagsDropdown = _ref => {
|
|
|
828
921
|
isOpen,
|
|
829
922
|
setIsOpen
|
|
830
923
|
})) !== null && _renderCustomTrigger !== void 0 ? _renderCustomTrigger : renderDefaultDropdownTrigger();
|
|
831
|
-
}, [chosenOptions, singleLevelOptions, inputRef, isOpen]);
|
|
832
|
-
// --- RENDER FUNCTIONS END --- //
|
|
924
|
+
}, [chosenOptions, singleLevelOptions, inputRef, isOpen]); // --- RENDER FUNCTIONS END --- //
|
|
833
925
|
|
|
834
926
|
(0, _react.useLayoutEffect)(() => {
|
|
835
927
|
initListContainer();
|
|
836
928
|
if (isDefaultOpened && !isMobileProp) setIsOpen(true);
|
|
837
929
|
return () => {
|
|
838
930
|
var _getListContainer2, _getListContainerWrap;
|
|
839
|
-
|
|
840
|
-
(
|
|
931
|
+
|
|
932
|
+
(_getListContainer2 = getListContainer()) === null || _getListContainer2 === void 0 ? void 0 : _getListContainer2.remove();
|
|
933
|
+
(_getListContainerWrap = getListContainerWrapper()) === null || _getListContainerWrap === void 0 ? void 0 : _getListContainerWrap.remove();
|
|
841
934
|
};
|
|
842
935
|
}, []);
|
|
843
936
|
(0, _react.useLayoutEffect)(() => {
|
|
844
937
|
var _getListContainer3;
|
|
938
|
+
|
|
845
939
|
if (!isMobile) {
|
|
846
940
|
window.addEventListener("mousewheel", closeList);
|
|
847
941
|
window.addEventListener("wheel", closeList);
|
|
@@ -853,14 +947,16 @@ const TagsDropdown = _ref => {
|
|
|
853
947
|
window.removeEventListener("touchmove", closeList);
|
|
854
948
|
window.removeEventListener("mouseup", handleClickOutside);
|
|
855
949
|
}
|
|
856
|
-
|
|
950
|
+
|
|
951
|
+
(_getListContainer3 = getListContainer()) === null || _getListContainer3 === void 0 ? void 0 : _getListContainer3.addEventListener("click", closeList);
|
|
857
952
|
return () => {
|
|
858
953
|
var _getListContainer4;
|
|
954
|
+
|
|
859
955
|
window.removeEventListener("mousewheel", closeList);
|
|
860
956
|
window.removeEventListener("mouseup", handleClickOutside);
|
|
861
957
|
window.removeEventListener("wheel", closeList);
|
|
862
958
|
window.removeEventListener("touchmove", closeList);
|
|
863
|
-
(_getListContainer4 = getListContainer()) === null || _getListContainer4 === void 0
|
|
959
|
+
(_getListContainer4 = getListContainer()) === null || _getListContainer4 === void 0 ? void 0 : _getListContainer4.removeEventListener("click", closeList);
|
|
864
960
|
};
|
|
865
961
|
}, [getListContainer, isMobile]);
|
|
866
962
|
(0, _react.useLayoutEffect)(() => {
|
|
@@ -868,13 +964,12 @@ const TagsDropdown = _ref => {
|
|
|
868
964
|
setListContainerStyles();
|
|
869
965
|
setEditOptionModalStyles();
|
|
870
966
|
}
|
|
871
|
-
}, [isOpen, optionsProp, chosenOptions, searchValue, isMobile, dropdownListWrapperRef === null || dropdownListWrapperRef === void 0
|
|
967
|
+
}, [isOpen, optionsProp, chosenOptions, searchValue, 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]);
|
|
872
968
|
(0, _react.useEffect)(() => {
|
|
873
969
|
if (isUseLocalOptionsStore && chosenOptions.length !== Object.keys(localOptionsStore).length) {
|
|
874
970
|
options.map(option => {
|
|
875
971
|
if (!(localOptionsStore !== null && localOptionsStore !== void 0 && localOptionsStore[option === null || option === void 0 ? void 0 : option.value])) {
|
|
876
|
-
setLocalOptionsStore(options => ({
|
|
877
|
-
...options,
|
|
972
|
+
setLocalOptionsStore(options => ({ ...options,
|
|
878
973
|
[option === null || option === void 0 ? void 0 : option.value]: option === null || option === void 0 ? void 0 : option.label
|
|
879
974
|
}));
|
|
880
975
|
}
|
|
@@ -883,33 +978,45 @@ const TagsDropdown = _ref => {
|
|
|
883
978
|
}, [chosenOptions, isUseLocalOptionsStore]);
|
|
884
979
|
(0, _react.useEffect)(() => {
|
|
885
980
|
var _selectAllButtonRef$c, _unselectAllButtonRef;
|
|
981
|
+
|
|
886
982
|
const windowScrollEventHandler = e => {
|
|
887
983
|
setWindowScrollTop(window.scrollY);
|
|
888
984
|
};
|
|
985
|
+
|
|
889
986
|
const fn = isOpen ? "addEventListener" : "removeEventListener";
|
|
890
|
-
selectAllButtonRef === null || selectAllButtonRef === void 0
|
|
891
|
-
unselectAllButtonRef === null || unselectAllButtonRef === void 0
|
|
987
|
+
selectAllButtonRef === null || selectAllButtonRef === void 0 ? void 0 : (_selectAllButtonRef$c = selectAllButtonRef.current) === null || _selectAllButtonRef$c === void 0 ? void 0 : _selectAllButtonRef$c[fn]("click", selectAllItems, true);
|
|
988
|
+
unselectAllButtonRef === null || unselectAllButtonRef === void 0 ? void 0 : (_unselectAllButtonRef = unselectAllButtonRef.current) === null || _unselectAllButtonRef === void 0 ? void 0 : _unselectAllButtonRef[fn]("click", unselectAllItems, true);
|
|
989
|
+
|
|
892
990
|
if (isOpen) {
|
|
893
991
|
var _getListContainer5;
|
|
992
|
+
|
|
894
993
|
if (!isMobile || !withMobileLogic) window.removeEventListener("scroll", windowScrollEventHandler);
|
|
994
|
+
|
|
895
995
|
if (customTriggerRef !== null && customTriggerRef !== void 0 && customTriggerRef.current) {
|
|
896
996
|
customTriggerRef.current.style.pointerEvents = "none";
|
|
897
997
|
}
|
|
898
|
-
|
|
998
|
+
|
|
999
|
+
(_getListContainer5 = getListContainer()) === null || _getListContainer5 === void 0 ? void 0 : _getListContainer5.classList.add("tags-dropdown__container--opened");
|
|
1000
|
+
|
|
899
1001
|
if (!isMobile) {
|
|
900
1002
|
var _inputRef$current2, _inputRef$current2$fo;
|
|
901
|
-
|
|
1003
|
+
|
|
1004
|
+
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);
|
|
902
1005
|
} else {
|
|
903
1006
|
var _inputRef$current3, _inputRef$current3$bl;
|
|
904
|
-
|
|
1007
|
+
|
|
1008
|
+
inputRef === null || inputRef === void 0 ? void 0 : (_inputRef$current3 = inputRef.current) === null || _inputRef$current3 === void 0 ? void 0 : (_inputRef$current3$bl = _inputRef$current3.blur) === null || _inputRef$current3$bl === void 0 ? void 0 : _inputRef$current3$bl.call(_inputRef$current3);
|
|
905
1009
|
}
|
|
906
1010
|
} else {
|
|
907
1011
|
var _getListContainer6;
|
|
1012
|
+
|
|
908
1013
|
if (!isMobile || !withMobileLogic) window.addEventListener("scroll", windowScrollEventHandler);
|
|
1014
|
+
|
|
909
1015
|
if (customTriggerRef !== null && customTriggerRef !== void 0 && customTriggerRef.current) {
|
|
910
1016
|
customTriggerRef.current.style.pointerEvents = "auto";
|
|
911
1017
|
}
|
|
912
|
-
|
|
1018
|
+
|
|
1019
|
+
(_getListContainer6 = getListContainer()) === null || _getListContainer6 === void 0 ? void 0 : _getListContainer6.classList.remove("tags-dropdown__container--opened");
|
|
913
1020
|
if (withSearchInputInList) setSearchValueInterceptor("");
|
|
914
1021
|
setListPos(null);
|
|
915
1022
|
setSearchValue("");
|
|
@@ -919,54 +1026,63 @@ const TagsDropdown = _ref => {
|
|
|
919
1026
|
const setScrollTopValue = e => {
|
|
920
1027
|
setScrollTop(parseInt(e.target.scrollTop, 10));
|
|
921
1028
|
};
|
|
1029
|
+
|
|
922
1030
|
const preventWindowScrolling = e => {
|
|
923
1031
|
e.preventDefault();
|
|
924
1032
|
window.scrollTo({
|
|
925
1033
|
top: windowScrollTop
|
|
926
1034
|
});
|
|
927
1035
|
};
|
|
1036
|
+
|
|
928
1037
|
if (isOpen && isMobile && dropdownListRef !== null && dropdownListRef !== void 0 && dropdownListRef.current) {
|
|
929
1038
|
var _dropdownListRef$curr, _dropdownListRef$curr2, _dropdownListRef$curr3;
|
|
930
|
-
|
|
931
|
-
|
|
1039
|
+
|
|
1040
|
+
dropdownListRef === null || dropdownListRef === void 0 ? void 0 : (_dropdownListRef$curr = dropdownListRef.current) === null || _dropdownListRef$curr === void 0 ? void 0 : _dropdownListRef$curr.addEventListener("scroll", setScrollTopValue);
|
|
1041
|
+
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));
|
|
1042
|
+
|
|
932
1043
|
if (isScrollableList === null) {
|
|
933
1044
|
var _dropdownListRef$curr4, _dropdownListRef$curr5;
|
|
934
|
-
|
|
1045
|
+
|
|
1046
|
+
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));
|
|
935
1047
|
}
|
|
936
1048
|
}
|
|
1049
|
+
|
|
937
1050
|
if (isOpen && dropdownListRef && dropdownListRef.current) {
|
|
938
1051
|
dropdownListRef.current.addEventListener("scroll", doScrollCallback);
|
|
939
1052
|
if (!isMobile || !withMobileLogic) window.addEventListener("scroll", preventWindowScrolling);
|
|
940
1053
|
}
|
|
1054
|
+
|
|
941
1055
|
return () => {
|
|
942
1056
|
var _dropdownListRef$curr6, _dropdownListRef$curr7;
|
|
1057
|
+
|
|
943
1058
|
if (!isMobile || !withMobileLogic) window.removeEventListener("scroll", preventWindowScrolling);
|
|
944
|
-
dropdownListRef === null || dropdownListRef === void 0
|
|
945
|
-
dropdownListRef === null || dropdownListRef === void 0
|
|
1059
|
+
dropdownListRef === null || dropdownListRef === void 0 ? void 0 : (_dropdownListRef$curr6 = dropdownListRef.current) === null || _dropdownListRef$curr6 === void 0 ? void 0 : _dropdownListRef$curr6.removeEventListener("scroll", doScrollCallback);
|
|
1060
|
+
dropdownListRef === null || dropdownListRef === void 0 ? void 0 : (_dropdownListRef$curr7 = dropdownListRef.current) === null || _dropdownListRef$curr7 === void 0 ? void 0 : _dropdownListRef$curr7.removeEventListener("scroll", setScrollTopValue);
|
|
946
1061
|
};
|
|
947
|
-
}, [isOpen, isMobile, dropdownListRef === null || dropdownListRef === void 0 ? void 0 : dropdownListRef.current, dropdownListRef === null || dropdownListRef === void 0
|
|
1062
|
+
}, [isOpen, isMobile, dropdownListRef === null || dropdownListRef === void 0 ? void 0 : dropdownListRef.current, dropdownListRef === null || dropdownListRef === void 0 ? void 0 : (_dropdownListRef$curr8 = dropdownListRef.current) === null || _dropdownListRef$curr8 === void 0 ? void 0 : _dropdownListRef$curr8.scrollHeight, dropdownListRef === null || dropdownListRef === void 0 ? void 0 : (_dropdownListRef$curr9 = dropdownListRef.current) === null || _dropdownListRef$curr9 === void 0 ? void 0 : _dropdownListRef$curr9.clientHeight]);
|
|
948
1063
|
(0, _react.useEffect)(() => {
|
|
949
1064
|
if (dropdownListRef !== null && dropdownListRef !== void 0 && dropdownListRef.current) {
|
|
950
1065
|
var _dropdownListRef$curr10, _dropdownListRef$curr11;
|
|
951
|
-
|
|
1066
|
+
|
|
1067
|
+
setScrollHeight(parseInt((dropdownListRef === null || dropdownListRef === void 0 ? void 0 : (_dropdownListRef$curr10 = dropdownListRef.current) === null || _dropdownListRef$curr10 === void 0 ? void 0 : _dropdownListRef$curr10.scrollHeight) - (dropdownListRef === null || dropdownListRef === void 0 ? void 0 : (_dropdownListRef$curr11 = dropdownListRef.current) === null || _dropdownListRef$curr11 === void 0 ? void 0 : _dropdownListRef$curr11.clientHeight), 10));
|
|
952
1068
|
}
|
|
953
1069
|
}, [scrollTop, dropdownListRef === null || dropdownListRef === void 0 ? void 0 : dropdownListRef.current]);
|
|
954
1070
|
(0, _react.useEffect)(() => {
|
|
955
1071
|
if (isSearchable && useLiveSearch && (debouncedSearchTerm || isValueDeleted || isOpen)) {
|
|
956
|
-
doLiveSearchRequest === null || doLiveSearchRequest === void 0
|
|
1072
|
+
doLiveSearchRequest === null || doLiveSearchRequest === void 0 ? void 0 : doLiveSearchRequest(debouncedSearchTerm);
|
|
957
1073
|
}
|
|
958
1074
|
}, [isOpen, debouncedSearchTerm, isValueDeleted]);
|
|
959
1075
|
(0, _react.useEffect)(() => {
|
|
960
|
-
setOptions(optionsProp.map(option => ({
|
|
961
|
-
...option,
|
|
1076
|
+
setOptions(optionsProp.map(option => ({ ...option,
|
|
962
1077
|
ref: /*#__PURE__*/(0, _react.createRef)()
|
|
963
1078
|
})));
|
|
964
1079
|
}, [optionsProp]);
|
|
965
1080
|
(0, _react.useEffect)(() => {
|
|
966
1081
|
if (editingOption) {
|
|
967
1082
|
var _editingOptionInputRe, _editingOptionInputRe2;
|
|
1083
|
+
|
|
968
1084
|
setEditOptionModalStyles();
|
|
969
|
-
editingOptionInputRef === null || editingOptionInputRef === void 0
|
|
1085
|
+
editingOptionInputRef === null || editingOptionInputRef === void 0 ? void 0 : (_editingOptionInputRe = editingOptionInputRef.current) === null || _editingOptionInputRe === void 0 ? void 0 : (_editingOptionInputRe2 = _editingOptionInputRe.focus) === null || _editingOptionInputRe2 === void 0 ? void 0 : _editingOptionInputRe2.call(_editingOptionInputRe);
|
|
970
1086
|
}
|
|
971
1087
|
}, [editingOption === null || editingOption === void 0 ? void 0 : editingOption.value]);
|
|
972
1088
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
@@ -987,4 +1103,6 @@ const TagsDropdown = _ref => {
|
|
|
987
1103
|
onClick: onActionCancelClick
|
|
988
1104
|
}, /*#__PURE__*/_react.default.createElement(_reactFeather.X, null))), isOpen && renderListContainer());
|
|
989
1105
|
};
|
|
990
|
-
|
|
1106
|
+
|
|
1107
|
+
var _default = TagsDropdown;
|
|
1108
|
+
exports.default = _default;
|