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