intelicoreact 1.4.55 → 1.4.57
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 +219 -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,133 @@ 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 => {
|
|
506
|
+
if (item.isHiddenInList) return false;
|
|
445
507
|
const title = item.title || item.label;
|
|
446
508
|
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
|
-
|
|
509
|
+
}; // --- GENERAL FUNCTIONS END --- //
|
|
510
|
+
|
|
449
511
|
|
|
450
512
|
const prepareOptions = options => {
|
|
451
513
|
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
514
|
};
|
|
515
|
+
|
|
453
516
|
const getFilteredOptions = options => options === null || options === void 0 ? void 0 : options.reduce((result, option) => {
|
|
454
517
|
if (option.groupName) {
|
|
455
518
|
var _option$list;
|
|
456
|
-
|
|
519
|
+
|
|
520
|
+
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));
|
|
521
|
+
|
|
457
522
|
if (filteredGroupItems !== null && filteredGroupItems !== void 0 && filteredGroupItems.length) {
|
|
458
|
-
result.push({
|
|
459
|
-
...option,
|
|
523
|
+
result.push({ ...option,
|
|
460
524
|
list: filteredGroupItems
|
|
461
525
|
});
|
|
462
526
|
}
|
|
463
527
|
} else if (isItemMatchesSearch(option)) {
|
|
464
528
|
result.push(option);
|
|
465
529
|
}
|
|
530
|
+
|
|
466
531
|
return result;
|
|
467
532
|
}, []);
|
|
533
|
+
|
|
468
534
|
const getTotalOptions = (0, _react.useCallback)(() => {
|
|
469
535
|
return options === null || options === void 0 ? void 0 : options.reduce((result, item) => {
|
|
470
536
|
if (item !== null && item !== void 0 && item.list) {
|
|
471
537
|
var _item$list2;
|
|
472
|
-
|
|
538
|
+
|
|
539
|
+
result += (item === null || item === void 0 ? void 0 : (_item$list2 = item.list) === null || _item$list2 === void 0 ? void 0 : _item$list2.length) || 0;
|
|
473
540
|
} else {
|
|
474
541
|
++result;
|
|
475
542
|
}
|
|
543
|
+
|
|
476
544
|
return result;
|
|
477
545
|
}, 0);
|
|
478
546
|
}, [options]);
|
|
547
|
+
|
|
479
548
|
const onChangeHandler = item => {
|
|
480
549
|
if (item !== null && item !== void 0 && item.isFreezed) return false;
|
|
550
|
+
|
|
481
551
|
if ((item === null || item === void 0 ? void 0 : item.closeOnOptionSelect) !== undefined) {
|
|
482
552
|
if (item.closeOnOptionSelect) setIsOpen(false);
|
|
483
553
|
} else if (isMobile ? closeOnSelectMobile : closeOnSelect) setIsOpen(false);
|
|
554
|
+
|
|
484
555
|
setSearchValueInterceptor("");
|
|
556
|
+
|
|
485
557
|
if (chosenOptions.some(el => el === item.value)) {
|
|
486
558
|
deleteChosen(item.value);
|
|
487
559
|
return null;
|
|
488
560
|
}
|
|
561
|
+
|
|
489
562
|
if (isUseLocalOptionsStore) {
|
|
490
|
-
setLocalOptionsStore(options => ({
|
|
491
|
-
...options,
|
|
563
|
+
setLocalOptionsStore(options => ({ ...options,
|
|
492
564
|
[item === null || item === void 0 ? void 0 : item.value]: item === null || item === void 0 ? void 0 : item.label
|
|
493
565
|
}));
|
|
494
566
|
}
|
|
567
|
+
|
|
495
568
|
onChange([...chosenOptions, item.value], "chosenOptions");
|
|
496
569
|
return null;
|
|
497
570
|
};
|
|
571
|
+
|
|
498
572
|
const onSearchHandler = name => {
|
|
499
573
|
let inputValue = name;
|
|
500
574
|
if (!isNotValidateASCII) inputValue = (0, _fieldValueFormatters.formatToOnlyASCIICodeText)(inputValue);
|
|
501
575
|
setSearchValueInterceptor(inputValue);
|
|
502
576
|
};
|
|
577
|
+
|
|
503
578
|
const onWrapperClick = e => {
|
|
504
579
|
if (e.target === (wrapperRef === null || wrapperRef === void 0 ? void 0 : wrapperRef.current)) {
|
|
505
580
|
e.stopPropagation();
|
|
@@ -507,8 +582,10 @@ const TagsDropdown = _ref => {
|
|
|
507
582
|
setIsOpen(false);
|
|
508
583
|
}
|
|
509
584
|
};
|
|
585
|
+
|
|
510
586
|
const selectAllItems = () => {
|
|
511
587
|
var _prepareOptions;
|
|
588
|
+
|
|
512
589
|
const preparedOptions = (_prepareOptions = prepareOptions(options)) === null || _prepareOptions === void 0 ? void 0 : _prepareOptions.filter(_ref7 => {
|
|
513
590
|
let {
|
|
514
591
|
isFreezed,
|
|
@@ -516,6 +593,7 @@ const TagsDropdown = _ref => {
|
|
|
516
593
|
} = _ref7;
|
|
517
594
|
return !isFreezed && !(chosenOptions !== null && chosenOptions !== void 0 && chosenOptions.includes(value)) && value !== "open_modal";
|
|
518
595
|
});
|
|
596
|
+
|
|
519
597
|
if (isUseLocalOptionsStore) {
|
|
520
598
|
setLocalOptionsStore(options => preparedOptions === null || preparedOptions === void 0 ? void 0 : preparedOptions.reduce((result, _ref8) => {
|
|
521
599
|
let {
|
|
@@ -526,6 +604,7 @@ const TagsDropdown = _ref => {
|
|
|
526
604
|
return result;
|
|
527
605
|
}, options));
|
|
528
606
|
}
|
|
607
|
+
|
|
529
608
|
onChange([...chosenOptions, ...((preparedOptions === null || preparedOptions === void 0 ? void 0 : preparedOptions.map(_ref9 => {
|
|
530
609
|
let {
|
|
531
610
|
value
|
|
@@ -534,37 +613,42 @@ const TagsDropdown = _ref => {
|
|
|
534
613
|
})) || [])], "chosenOptions");
|
|
535
614
|
if (isMobile ? closeOnSelectAllMobile : closeOnSelectAll) setIsOpen(false);
|
|
536
615
|
};
|
|
616
|
+
|
|
537
617
|
const unselectAllItems = () => {
|
|
538
618
|
if (isUseLocalOptionsStore) setLocalOptionsStore({});
|
|
539
619
|
onChange(chosenOptions === null || chosenOptions === void 0 ? void 0 : chosenOptions.filter(item => {
|
|
540
|
-
var _prepareOptions2;
|
|
541
|
-
|
|
620
|
+
var _prepareOptions2, _prepareOptions2$find;
|
|
621
|
+
|
|
622
|
+
return (_prepareOptions2 = prepareOptions(options)) === null || _prepareOptions2 === void 0 ? void 0 : (_prepareOptions2$find = _prepareOptions2.find(_ref10 => {
|
|
542
623
|
let {
|
|
543
624
|
value
|
|
544
625
|
} = _ref10;
|
|
545
626
|
return value === item;
|
|
546
|
-
})) === null || _prepareOptions2 === void 0 ? void 0 : _prepareOptions2.isFreezed;
|
|
627
|
+
})) === null || _prepareOptions2$find === void 0 ? void 0 : _prepareOptions2$find.isFreezed;
|
|
547
628
|
}), "chosenOptions");
|
|
548
629
|
if (isMobile ? closeOnRemoveAllMobile : closeOnRemoveAll) setIsOpen(false);
|
|
549
630
|
};
|
|
631
|
+
|
|
550
632
|
const doScrollCallback = (0, _react.useCallback)(e => {
|
|
551
633
|
if (doLiveSearchRequest && typeof doLiveSearchRequest === "function") {
|
|
552
634
|
if (Math.round(e.target.clientHeight + e.target.scrollTop) == e.target.scrollHeight) {
|
|
553
635
|
doLiveSearchRequest(searchValueRef.current, true);
|
|
554
636
|
}
|
|
555
637
|
}
|
|
556
|
-
}, [options]);
|
|
638
|
+
}, [options]); // --- RENDER FUNCTIONS BEGIN --- //
|
|
557
639
|
|
|
558
|
-
// --- RENDER FUNCTIONS BEGIN --- //
|
|
559
640
|
const getMarkupForElement = item => {
|
|
560
641
|
var _item$customMobileIco;
|
|
642
|
+
|
|
561
643
|
const {
|
|
562
644
|
description
|
|
563
645
|
} = item;
|
|
564
646
|
const title = item.title || item.label;
|
|
647
|
+
|
|
565
648
|
const hightlightSearchValue = title => {
|
|
566
649
|
var _title$toLowerCase;
|
|
567
|
-
|
|
650
|
+
|
|
651
|
+
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
652
|
if (index === -1) return title;
|
|
569
653
|
return /*#__PURE__*/_react.default.createElement("pre", {
|
|
570
654
|
className: "inherit-styles"
|
|
@@ -572,6 +656,7 @@ const TagsDropdown = _ref => {
|
|
|
572
656
|
className: "search-match bg--yellow"
|
|
573
657
|
}, 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
658
|
};
|
|
659
|
+
|
|
575
660
|
return /*#__PURE__*/_react.default.createElement("button", {
|
|
576
661
|
ref: item === null || item === void 0 ? void 0 : item.ref,
|
|
577
662
|
key: "".concat(RC, "__list-item-").concat(item.id || item.value),
|
|
@@ -622,19 +707,24 @@ const TagsDropdown = _ref => {
|
|
|
622
707
|
}
|
|
623
708
|
}) : "");
|
|
624
709
|
};
|
|
710
|
+
|
|
625
711
|
const getListMarkUp = () => {
|
|
626
|
-
var _filteredOptions$filt, _filteredOptions$filt2, _document$
|
|
712
|
+
var _filteredOptions$filt, _filteredOptions$filt2, _document$getElementB5;
|
|
713
|
+
|
|
627
714
|
const filteredOptions = getFilteredOptions(options);
|
|
628
715
|
const arrToPrint = [];
|
|
716
|
+
|
|
629
717
|
for (const option of filteredOptions) {
|
|
630
|
-
var _option$groupName, _option$list2;
|
|
718
|
+
var _option$groupName, _option$groupName$toS, _option$list2;
|
|
719
|
+
|
|
631
720
|
if (option.groupName) arrToPrint.push( /*#__PURE__*/_react.default.createElement("div", {
|
|
632
|
-
key: (_option$groupName = option.groupName) === null || _option$groupName === void 0
|
|
721
|
+
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
722
|
className: (0, _classnames.default)("".concat(RC, "-group"), option.className)
|
|
634
723
|
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
635
724
|
className: "".concat(RC, "-group__name")
|
|
636
725
|
}, 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
726
|
}
|
|
727
|
+
|
|
638
728
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
639
729
|
className: (0, _classnames.default)("".concat(RC, "__container-wrapper")),
|
|
640
730
|
ref: wrapperRef,
|
|
@@ -710,7 +800,7 @@ const TagsDropdown = _ref => {
|
|
|
710
800
|
})
|
|
711
801
|
}, footerContent, isMobile && /*#__PURE__*/_react.default.createElement("button", {
|
|
712
802
|
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$
|
|
803
|
+
}, "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
804
|
let {
|
|
715
805
|
label
|
|
716
806
|
} = _ref14;
|
|
@@ -726,6 +816,7 @@ const TagsDropdown = _ref => {
|
|
|
726
816
|
isNoDismiss: true
|
|
727
817
|
}))));
|
|
728
818
|
};
|
|
819
|
+
|
|
729
820
|
const renderSearchInput = () => {
|
|
730
821
|
return /*#__PURE__*/_react.default.createElement(_Input.default, (0, _extends2.default)({
|
|
731
822
|
ref: inputRef,
|
|
@@ -735,8 +826,7 @@ const TagsDropdown = _ref => {
|
|
|
735
826
|
value: searchValue,
|
|
736
827
|
onChange: onSearchHandler,
|
|
737
828
|
placeholder: placeholder || "Select from list",
|
|
738
|
-
attributesOfNativeInput: {
|
|
739
|
-
...attributesOfNativeInput,
|
|
829
|
+
attributesOfNativeInput: { ...attributesOfNativeInput,
|
|
740
830
|
onKeyDown: e => {
|
|
741
831
|
if (e.keyCode === 13 && withCreateLogic && onOptionCreate && singleLevelOptions.every(_ref15 => {
|
|
742
832
|
let {
|
|
@@ -746,18 +836,21 @@ const TagsDropdown = _ref => {
|
|
|
746
836
|
})) {
|
|
747
837
|
onOptionCreateClick();
|
|
748
838
|
}
|
|
839
|
+
|
|
749
840
|
onKeyPress(e, searchValue);
|
|
750
|
-
}
|
|
751
|
-
// onFocus: (e) => {
|
|
841
|
+
} // onFocus: (e) => {
|
|
752
842
|
// if (isMobile) e?.target?.blur();
|
|
753
843
|
// },
|
|
844
|
+
|
|
754
845
|
}
|
|
755
846
|
}, withCreateLogic ? {
|
|
756
847
|
symbolsLimit: 50
|
|
757
848
|
} : {}));
|
|
758
849
|
};
|
|
850
|
+
|
|
759
851
|
const renderDropdownTrigger = (0, _react.useCallback)(() => {
|
|
760
852
|
var _renderCustomTrigger;
|
|
853
|
+
|
|
761
854
|
const renderDefaultDropdownTrigger = () => {
|
|
762
855
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
763
856
|
className: (0, _classnames.default)("".concat(RC, "__trigger"), {
|
|
@@ -768,6 +861,7 @@ const TagsDropdown = _ref => {
|
|
|
768
861
|
let {
|
|
769
862
|
target
|
|
770
863
|
} = _ref16;
|
|
864
|
+
|
|
771
865
|
if ((target === null || target === void 0 ? void 0 : target.tagName) === "INPUT") {
|
|
772
866
|
setIsOpen(true);
|
|
773
867
|
} else if (isTargetInParent(target)) {
|
|
@@ -812,6 +906,7 @@ const TagsDropdown = _ref => {
|
|
|
812
906
|
className: "color--text"
|
|
813
907
|
})));
|
|
814
908
|
};
|
|
909
|
+
|
|
815
910
|
return (_renderCustomTrigger = renderCustomTrigger === null || renderCustomTrigger === void 0 ? void 0 : renderCustomTrigger({
|
|
816
911
|
chosenOptions,
|
|
817
912
|
singleLevelOptions,
|
|
@@ -821,20 +916,21 @@ const TagsDropdown = _ref => {
|
|
|
821
916
|
isOpen,
|
|
822
917
|
setIsOpen
|
|
823
918
|
})) !== null && _renderCustomTrigger !== void 0 ? _renderCustomTrigger : renderDefaultDropdownTrigger();
|
|
824
|
-
}, [chosenOptions, singleLevelOptions, inputRef, isOpen]);
|
|
825
|
-
// --- RENDER FUNCTIONS END --- //
|
|
919
|
+
}, [chosenOptions, singleLevelOptions, inputRef, isOpen]); // --- RENDER FUNCTIONS END --- //
|
|
826
920
|
|
|
827
921
|
(0, _react.useLayoutEffect)(() => {
|
|
828
922
|
initListContainer();
|
|
829
923
|
if (isDefaultOpened && !isMobileProp) setIsOpen(true);
|
|
830
924
|
return () => {
|
|
831
925
|
var _getListContainer2, _getListContainerWrap;
|
|
832
|
-
|
|
833
|
-
(
|
|
926
|
+
|
|
927
|
+
(_getListContainer2 = getListContainer()) === null || _getListContainer2 === void 0 ? void 0 : _getListContainer2.remove();
|
|
928
|
+
(_getListContainerWrap = getListContainerWrapper()) === null || _getListContainerWrap === void 0 ? void 0 : _getListContainerWrap.remove();
|
|
834
929
|
};
|
|
835
930
|
}, []);
|
|
836
931
|
(0, _react.useLayoutEffect)(() => {
|
|
837
932
|
var _getListContainer3;
|
|
933
|
+
|
|
838
934
|
if (!isMobile) {
|
|
839
935
|
window.addEventListener("mousewheel", closeList);
|
|
840
936
|
window.addEventListener("wheel", closeList);
|
|
@@ -846,14 +942,16 @@ const TagsDropdown = _ref => {
|
|
|
846
942
|
window.removeEventListener("touchmove", closeList);
|
|
847
943
|
window.removeEventListener("mouseup", handleClickOutside);
|
|
848
944
|
}
|
|
849
|
-
|
|
945
|
+
|
|
946
|
+
(_getListContainer3 = getListContainer()) === null || _getListContainer3 === void 0 ? void 0 : _getListContainer3.addEventListener("click", closeList);
|
|
850
947
|
return () => {
|
|
851
948
|
var _getListContainer4;
|
|
949
|
+
|
|
852
950
|
window.removeEventListener("mousewheel", closeList);
|
|
853
951
|
window.removeEventListener("mouseup", handleClickOutside);
|
|
854
952
|
window.removeEventListener("wheel", closeList);
|
|
855
953
|
window.removeEventListener("touchmove", closeList);
|
|
856
|
-
(_getListContainer4 = getListContainer()) === null || _getListContainer4 === void 0
|
|
954
|
+
(_getListContainer4 = getListContainer()) === null || _getListContainer4 === void 0 ? void 0 : _getListContainer4.removeEventListener("click", closeList);
|
|
857
955
|
};
|
|
858
956
|
}, [getListContainer, isMobile]);
|
|
859
957
|
(0, _react.useLayoutEffect)(() => {
|
|
@@ -861,13 +959,12 @@ const TagsDropdown = _ref => {
|
|
|
861
959
|
setListContainerStyles();
|
|
862
960
|
setEditOptionModalStyles();
|
|
863
961
|
}
|
|
864
|
-
}, [isOpen, optionsProp, chosenOptions, searchValue, isMobile, dropdownListWrapperRef === null || dropdownListWrapperRef === void 0
|
|
962
|
+
}, [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
963
|
(0, _react.useEffect)(() => {
|
|
866
964
|
if (isUseLocalOptionsStore && chosenOptions.length !== Object.keys(localOptionsStore).length) {
|
|
867
965
|
options.map(option => {
|
|
868
966
|
if (!(localOptionsStore !== null && localOptionsStore !== void 0 && localOptionsStore[option === null || option === void 0 ? void 0 : option.value])) {
|
|
869
|
-
setLocalOptionsStore(options => ({
|
|
870
|
-
...options,
|
|
967
|
+
setLocalOptionsStore(options => ({ ...options,
|
|
871
968
|
[option === null || option === void 0 ? void 0 : option.value]: option === null || option === void 0 ? void 0 : option.label
|
|
872
969
|
}));
|
|
873
970
|
}
|
|
@@ -876,28 +973,37 @@ const TagsDropdown = _ref => {
|
|
|
876
973
|
}, [chosenOptions, isUseLocalOptionsStore]);
|
|
877
974
|
(0, _react.useEffect)(() => {
|
|
878
975
|
var _selectAllButtonRef$c, _unselectAllButtonRef;
|
|
976
|
+
|
|
879
977
|
const fn = isOpen ? "addEventListener" : "removeEventListener";
|
|
880
|
-
selectAllButtonRef === null || selectAllButtonRef === void 0
|
|
881
|
-
unselectAllButtonRef === null || unselectAllButtonRef === void 0
|
|
978
|
+
selectAllButtonRef === null || selectAllButtonRef === void 0 ? void 0 : (_selectAllButtonRef$c = selectAllButtonRef.current) === null || _selectAllButtonRef$c === void 0 ? void 0 : _selectAllButtonRef$c[fn]("click", selectAllItems, true);
|
|
979
|
+
unselectAllButtonRef === null || unselectAllButtonRef === void 0 ? void 0 : (_unselectAllButtonRef = unselectAllButtonRef.current) === null || _unselectAllButtonRef === void 0 ? void 0 : _unselectAllButtonRef[fn]("click", unselectAllItems, true);
|
|
980
|
+
|
|
882
981
|
if (isOpen) {
|
|
883
982
|
var _getListContainer5;
|
|
983
|
+
|
|
884
984
|
if (customTriggerRef !== null && customTriggerRef !== void 0 && customTriggerRef.current) {
|
|
885
985
|
customTriggerRef.current.style.pointerEvents = "none";
|
|
886
986
|
}
|
|
887
|
-
|
|
987
|
+
|
|
988
|
+
(_getListContainer5 = getListContainer()) === null || _getListContainer5 === void 0 ? void 0 : _getListContainer5.classList.add("tags-dropdown__container--opened");
|
|
989
|
+
|
|
888
990
|
if (!isMobile) {
|
|
889
991
|
var _inputRef$current2, _inputRef$current2$fo;
|
|
890
|
-
|
|
992
|
+
|
|
993
|
+
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
994
|
} else {
|
|
892
995
|
var _inputRef$current3, _inputRef$current3$bl;
|
|
893
|
-
|
|
996
|
+
|
|
997
|
+
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
998
|
}
|
|
895
999
|
} else {
|
|
896
1000
|
var _getListContainer6;
|
|
1001
|
+
|
|
897
1002
|
if (customTriggerRef !== null && customTriggerRef !== void 0 && customTriggerRef.current) {
|
|
898
1003
|
customTriggerRef.current.style.pointerEvents = "auto";
|
|
899
1004
|
}
|
|
900
|
-
|
|
1005
|
+
|
|
1006
|
+
(_getListContainer6 = getListContainer()) === null || _getListContainer6 === void 0 ? void 0 : _getListContainer6.classList.remove("tags-dropdown__container--opened");
|
|
901
1007
|
if (withSearchInputInList) setSearchValueInterceptor("");
|
|
902
1008
|
setListPos(null);
|
|
903
1009
|
setSearchValue("");
|
|
@@ -907,46 +1013,54 @@ const TagsDropdown = _ref => {
|
|
|
907
1013
|
const setScrollTopValue = e => {
|
|
908
1014
|
setScrollTop(parseInt(e.target.scrollTop, 10));
|
|
909
1015
|
};
|
|
1016
|
+
|
|
910
1017
|
if (isOpen && isMobile && dropdownListRef !== null && dropdownListRef !== void 0 && dropdownListRef.current) {
|
|
911
1018
|
var _dropdownListRef$curr, _dropdownListRef$curr2, _dropdownListRef$curr3;
|
|
912
|
-
|
|
913
|
-
|
|
1019
|
+
|
|
1020
|
+
dropdownListRef === null || dropdownListRef === void 0 ? void 0 : (_dropdownListRef$curr = dropdownListRef.current) === null || _dropdownListRef$curr === void 0 ? void 0 : _dropdownListRef$curr.addEventListener("scroll", setScrollTopValue);
|
|
1021
|
+
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));
|
|
1022
|
+
|
|
914
1023
|
if (isScrollableList === null) {
|
|
915
1024
|
var _dropdownListRef$curr4, _dropdownListRef$curr5;
|
|
916
|
-
|
|
1025
|
+
|
|
1026
|
+
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
1027
|
}
|
|
918
1028
|
}
|
|
1029
|
+
|
|
919
1030
|
if (isOpen && dropdownListRef && dropdownListRef.current) {
|
|
920
1031
|
dropdownListRef.current.addEventListener("scroll", doScrollCallback);
|
|
921
1032
|
}
|
|
1033
|
+
|
|
922
1034
|
return () => {
|
|
923
1035
|
var _dropdownListRef$curr6;
|
|
1036
|
+
|
|
924
1037
|
removeEventListener("scroll", doScrollCallback);
|
|
925
|
-
dropdownListRef === null || dropdownListRef === void 0
|
|
1038
|
+
dropdownListRef === null || dropdownListRef === void 0 ? void 0 : (_dropdownListRef$curr6 = dropdownListRef.current) === null || _dropdownListRef$curr6 === void 0 ? void 0 : _dropdownListRef$curr6.removeEventListener("scroll", setScrollTopValue);
|
|
926
1039
|
};
|
|
927
|
-
}, [isOpen, isMobile, dropdownListRef === null || dropdownListRef === void 0 ? void 0 : dropdownListRef.current, dropdownListRef === null || dropdownListRef === void 0
|
|
1040
|
+
}, [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
1041
|
(0, _react.useEffect)(() => {
|
|
929
1042
|
if (dropdownListRef !== null && dropdownListRef !== void 0 && dropdownListRef.current) {
|
|
930
1043
|
var _dropdownListRef$curr9, _dropdownListRef$curr10;
|
|
931
|
-
|
|
1044
|
+
|
|
1045
|
+
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
1046
|
}
|
|
933
1047
|
}, [scrollTop, dropdownListRef === null || dropdownListRef === void 0 ? void 0 : dropdownListRef.current]);
|
|
934
1048
|
(0, _react.useEffect)(() => {
|
|
935
1049
|
if (isSearchable && useLiveSearch && (debouncedSearchTerm || isValueDeleted || isOpen)) {
|
|
936
|
-
doLiveSearchRequest === null || doLiveSearchRequest === void 0
|
|
1050
|
+
doLiveSearchRequest === null || doLiveSearchRequest === void 0 ? void 0 : doLiveSearchRequest(debouncedSearchTerm);
|
|
937
1051
|
}
|
|
938
1052
|
}, [isOpen, debouncedSearchTerm, isValueDeleted]);
|
|
939
1053
|
(0, _react.useEffect)(() => {
|
|
940
|
-
setOptions(optionsProp.map(option => ({
|
|
941
|
-
...option,
|
|
1054
|
+
setOptions(optionsProp.map(option => ({ ...option,
|
|
942
1055
|
ref: /*#__PURE__*/(0, _react.createRef)()
|
|
943
1056
|
})));
|
|
944
1057
|
}, [optionsProp]);
|
|
945
1058
|
(0, _react.useEffect)(() => {
|
|
946
1059
|
if (editingOption) {
|
|
947
1060
|
var _editingOptionInputRe, _editingOptionInputRe2;
|
|
1061
|
+
|
|
948
1062
|
setEditOptionModalStyles();
|
|
949
|
-
editingOptionInputRef === null || editingOptionInputRef === void 0
|
|
1063
|
+
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
1064
|
}
|
|
951
1065
|
}, [editingOption === null || editingOption === void 0 ? void 0 : editingOption.value]);
|
|
952
1066
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
@@ -967,4 +1081,6 @@ const TagsDropdown = _ref => {
|
|
|
967
1081
|
onClick: onActionCancelClick
|
|
968
1082
|
}, /*#__PURE__*/_react.default.createElement(_reactFeather.X, null))), isOpen && renderListContainer());
|
|
969
1083
|
};
|
|
970
|
-
|
|
1084
|
+
|
|
1085
|
+
var _default = TagsDropdown;
|
|
1086
|
+
exports.default = _default;
|