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