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