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