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