intelicoreact 1.4.83 → 1.4.84
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 +14 -22
- package/dist/Atomic/FormElements/AdvancedStatus/AdvancedStatus.js +14 -22
- package/dist/Atomic/FormElements/Calendar/Calendar.js +67 -122
- package/dist/Atomic/FormElements/CheckboxInput/CheckboxInput.js +27 -36
- package/dist/Atomic/FormElements/CheckboxesLine/CheckboxesLine.js +23 -39
- package/dist/Atomic/FormElements/Datepicker/Datepicker.js +110 -246
- package/dist/Atomic/FormElements/Datepicker/components/Calendar.js +44 -85
- package/dist/Atomic/FormElements/Dropdown/Dropdown.js +266 -430
- package/dist/Atomic/FormElements/Dropdown/components/DropdownLoader.js +5 -9
- package/dist/Atomic/FormElements/DropdownLiveSearch/DropdownLiveSearch.js +161 -283
- package/dist/Atomic/FormElements/FileLoader/FileLoader.js +39 -64
- package/dist/Atomic/FormElements/FileLoader/partial/LoadZone.js +51 -132
- package/dist/Atomic/FormElements/FileLoader/partial/LoadedContent.js +34 -73
- package/dist/Atomic/FormElements/FileLoaderDescription/FileLoaderDescription.js +79 -138
- package/dist/Atomic/FormElements/FileLoaderLocal/FileLoaderLocal.js +55 -77
- package/dist/Atomic/FormElements/FileLoaderLocalGroup/FileLoaderLocalGroup.js +75 -126
- package/dist/Atomic/FormElements/FormattedRawSSN/FormattedRawSSN.js +33 -83
- package/dist/Atomic/FormElements/Input/Input.js +160 -256
- package/dist/Atomic/FormElements/InputCalendar/InputCalendar.js +48 -102
- package/dist/Atomic/FormElements/InputColor/InputColor.js +26 -41
- package/dist/Atomic/FormElements/InputCurrency/InputCurrency.js +38 -76
- package/dist/Atomic/FormElements/InputDateRange/InputDateRange.js +109 -177
- package/dist/Atomic/FormElements/InputDateRange/components/DateInput.js +32 -57
- package/dist/Atomic/FormElements/InputDateRange/components/Datepicker.js +184 -302
- package/dist/Atomic/FormElements/InputDateRange/components/OpenedPart.js +85 -157
- package/dist/Atomic/FormElements/InputDateRange/components/SelectItem.js +11 -16
- package/dist/Atomic/FormElements/InputDateRange/dependencies.js +77 -194
- package/dist/Atomic/FormElements/InputLink/InputLink.js +32 -58
- package/dist/Atomic/FormElements/InputMask/InputCarretPosition.js +8 -12
- package/dist/Atomic/FormElements/InputMask/InputMask.js +554 -964
- package/dist/Atomic/FormElements/InputMask/config.js +1 -1
- package/dist/Atomic/FormElements/InputMask/functions.js +17 -43
- package/dist/Atomic/FormElements/InputMask2/InputMask2.js +268 -404
- package/dist/Atomic/FormElements/InputMask2/config.js +1 -1
- package/dist/Atomic/FormElements/InputMask2/functions.js +17 -43
- package/dist/Atomic/FormElements/InputMask3/InputMask3.js +299 -459
- package/dist/Atomic/FormElements/InputMask3/config.js +1 -1
- package/dist/Atomic/FormElements/InputMask3/functions.js +17 -43
- package/dist/Atomic/FormElements/InputWithAction/InputWithAction.js +51 -113
- package/dist/Atomic/FormElements/InputsRow/InputsRow.js +64 -118
- package/dist/Atomic/FormElements/Label/Label.js +14 -24
- package/dist/Atomic/FormElements/MobileCalendar/MobileCalendar.js +217 -349
- package/dist/Atomic/FormElements/MultiSelect/MultiSelect.js +25 -47
- package/dist/Atomic/FormElements/NumericInput/NumericInput.js +133 -207
- package/dist/Atomic/FormElements/RadioGroup/RadioGroup.js +29 -61
- package/dist/Atomic/FormElements/RadioGroupWithInput/RadioGroupWithInput.js +20 -42
- package/dist/Atomic/FormElements/RadioInput/RadioInput.js +22 -33
- package/dist/Atomic/FormElements/RadioRowSwitcher/RadioRowSwitcher.js +20 -43
- package/dist/Atomic/FormElements/RangeCalendar/RangeCalendar.js +54 -101
- package/dist/Atomic/FormElements/RangeInputs/RangeInputs.js +59 -102
- package/dist/Atomic/FormElements/RangeList/RangeList.js +89 -150
- package/dist/Atomic/FormElements/RangeList/partial/RangeListRow.js +23 -29
- package/dist/Atomic/FormElements/RangeSlider/RangeSlider.js +148 -326
- package/dist/Atomic/FormElements/RangeSlider2/RangeSlider2.js +389 -588
- package/dist/Atomic/FormElements/SwitchableRow/SwitchableRow.js +14 -24
- package/dist/Atomic/FormElements/Switcher/Switcher.js +24 -29
- package/dist/Atomic/FormElements/SwitcherCheckbox/SwitcherCheckbox.js +23 -41
- package/dist/Atomic/FormElements/SwitcherHide/SwitcherHide.js +20 -32
- package/dist/Atomic/FormElements/SwitcherRadio/SwitcherRadio.js +32 -55
- package/dist/Atomic/FormElements/SwitcherRange/SwitcherRange.js +22 -42
- package/dist/Atomic/FormElements/SwitcherRangeList/SwitcherRangeList.js +23 -33
- package/dist/Atomic/FormElements/SwitcherTagsDropdown/SwitcherTagsDropdown.js +51 -120
- package/dist/Atomic/FormElements/SwitcherTagsDropdown/partial/States.js +2 -3
- package/dist/Atomic/FormElements/SwitcherTextarea/SwitcherTextarea.js +23 -46
- package/dist/Atomic/FormElements/TagListToDropdown/TagListToDropdown.js +47 -98
- package/dist/Atomic/FormElements/TagsDropdown/TagsDropdown.js +485 -713
- package/dist/Atomic/FormElements/Text/Text.js +47 -53
- package/dist/Atomic/FormElements/TextSwitcher/TextSwitcher.js +21 -31
- package/dist/Atomic/FormElements/Textarea/Textarea.js +31 -47
- package/dist/Atomic/FormElements/TieredCheckboxes/TieredCheckboxes.js +68 -128
- package/dist/Atomic/FormElements/TieredCheckboxes/partial/AccordionWithCheckbox.js +25 -36
- package/dist/Atomic/FormElements/TimeRange/TimeRange.js +33 -70
- package/dist/Atomic/FormElements/UserContacts/UserContacts.js +58 -123
- package/dist/Atomic/FormElements/VariantsListRadio/VariantsListRadio.js +48 -80
- package/dist/Atomic/FormElements/VariantsListRadio/partials/VariantsListRadioItem.js +32 -42
- package/dist/Atomic/FormElements/WidgetPseudoTable/WidgetPseudoTable.js +40 -60
- package/dist/Atomic/FormElements/WidgetPseudoTable/partial/constructor.js +2 -3
- package/dist/Atomic/FormElements/WidgetWithSwitchableRows/WidgetWithSwitchableRows.js +50 -69
- package/dist/Atomic/FormElements/WidgetWithSwitchableRows/partial/constructor.js +3 -3
- package/dist/Atomic/Layout/Header/Header.js +21 -48
- package/dist/Atomic/Layout/MainMenu/MainMenu.js +35 -77
- package/dist/Atomic/Layout/Spinner/Spinner.js +8 -14
- package/dist/Atomic/UI/Accordion/Accordion.js +18 -48
- package/dist/Atomic/UI/Accordion/AccordionItem.js +35 -60
- package/dist/Atomic/UI/AccordionTable/AccordionTable.js +48 -104
- package/dist/Atomic/UI/AccordionText/AccordionText.js +21 -54
- package/dist/Atomic/UI/AdvancedTag/AdvTag.js +47 -92
- package/dist/Atomic/UI/AdvancedTag/AdvancedTags.js +22 -50
- package/dist/Atomic/UI/Alert/Alert.js +22 -51
- package/dist/Atomic/UI/Arrow/Arrow.js +15 -35
- package/dist/Atomic/UI/Box/Box.js +14 -21
- package/dist/Atomic/UI/Button/Button.js +26 -35
- package/dist/Atomic/UI/ButtonsBar/ButtonsBar.js +22 -31
- package/dist/Atomic/UI/Chart/Chart.js +45 -86
- package/dist/Atomic/UI/Chart/partial/Chart.constants.js +14 -24
- package/dist/Atomic/UI/Chart/partial/ChartTypeSwitcherIcon/ChartTypeSwitcherIcon.js +13 -22
- package/dist/Atomic/UI/Chart/partial/datasetSetters.js +68 -113
- package/dist/Atomic/UI/Chart/partial/optionsConstructor.js +158 -140
- package/dist/Atomic/UI/Chart/partial/optionsSetters.js +26 -42
- package/dist/Atomic/UI/Chart/partial/utils.js +20 -48
- package/dist/Atomic/UI/CircleProgressBar/CircleProgressBar.js +22 -42
- package/dist/Atomic/UI/DateTime/DateTime.js +23 -38
- package/dist/Atomic/UI/DebugContainer/DebugContainer.js +13 -37
- package/dist/Atomic/UI/DebugContainer/useDebugContainer.js +5 -21
- package/dist/Atomic/UI/DoubleString/DoubleString.js +34 -63
- package/dist/Atomic/UI/DynamicIcon/DynamicIcon.js +15 -63
- package/dist/Atomic/UI/ExampleChartIntegration/ExampleChartIntegration.js +62 -157
- package/dist/Atomic/UI/ExampleChartIntegration/partial/utils.js +47 -110
- package/dist/Atomic/UI/Hint/Hint.js +67 -122
- package/dist/Atomic/UI/Hint/partial/_utils.js +52 -0
- package/dist/Atomic/UI/Hint/partials/_utils.js +14 -29
- package/dist/Atomic/UI/Modal/Modal.js +147 -184
- package/dist/Atomic/UI/Modal/ModalHOC.js +15 -26
- package/dist/Atomic/UI/Modal/partials/ModalFooter.js +7 -12
- package/dist/Atomic/UI/Modal/partials/ModalTitle.js +17 -21
- package/dist/Atomic/UI/Modal/partials/useMobileModal.js +99 -161
- package/dist/Atomic/UI/MonoAccordion/MonoAccordion.js +32 -62
- package/dist/Atomic/UI/NavLine/NavLine.js +120 -211
- package/dist/Atomic/UI/NavLine/Tabs.js +2 -3
- package/dist/Atomic/UI/PageTitle/PageTitle.js +13 -17
- package/dist/Atomic/UI/PieChart/PieChart.js +11 -21
- package/dist/Atomic/UI/Price/Price.js +10 -13
- package/dist/Atomic/UI/PriceRange/PriceRange.js +7 -11
- package/dist/Atomic/UI/ProgressLine/ProgressLine.js +28 -58
- package/dist/Atomic/UI/Status/Status.js +19 -30
- package/dist/Atomic/UI/Table/Partials/TdCell.js +28 -71
- package/dist/Atomic/UI/Table/Partials/TdHeader.js +7 -16
- package/dist/Atomic/UI/Table/Partials/TdRow.js +29 -65
- package/dist/Atomic/UI/Table/Partials/TdTitle.js +16 -40
- package/dist/Atomic/UI/Table/Table.js +27 -47
- package/dist/Atomic/UI/Table/TdTypes/TdActions.js +18 -48
- package/dist/Atomic/UI/Table/TdTypes/TdPriority.js +9 -19
- package/dist/Atomic/UI/Table/TdTypes/TdRange.js +5 -6
- package/dist/Atomic/UI/Table/TdTypes/TdWeight.js +22 -39
- package/dist/Atomic/UI/Tag/Tag.js +59 -94
- package/dist/Atomic/UI/TagList/TagList.js +81 -144
- package/dist/Atomic/UI/UserBox/UserBox.js +14 -26
- package/dist/Atomic/UI/WizardStepper/constructor.js +7 -15
- package/dist/Atomic/UI/WizardStepper/index.js +1 -5
- package/dist/Atomic/UI/WizardStepper/ui/StateIcon/StateIcon.js +20 -26
- package/dist/Atomic/UI/WizardStepper/ui/StateIcon/index.js +1 -4
- package/dist/Atomic/UI/WizardStepper/ui/StepRow/StepRow.js +26 -39
- package/dist/Atomic/UI/WizardStepper/ui/StepRow/index.js +1 -5
- package/dist/Atomic/UI/WizardStepper/ui/StepWrapper/StepWrapper.js +23 -42
- package/dist/Atomic/UI/WizardStepper/ui/StepWrapper/index.js +1 -5
- package/dist/Atomic/UI/WizardStepper/ui/icons.js +40 -49
- package/dist/Atomic/UI/WizardStepper/ui/index.js +1 -5
- package/dist/Classes/AbortableFetch.js +283 -422
- package/dist/Classes/AnimatedHandler.js +44 -56
- package/dist/Classes/RESTAPI/index.js +158 -441
- package/dist/Classes/RESTAPI/partials/AbortableFetch.js +290 -428
- package/dist/Classes/RESTAPI/partials/ApiBase.js +24 -67
- package/dist/Classes/RESTAPI/partials/ApiRequestCreators.js +83 -353
- package/dist/Classes/RESTAPI/partials/ApiUtils.js +161 -403
- package/dist/Classes/RESTAPI/partials/CredentialsProcessing.js +159 -400
- package/dist/Classes/RESTAPI/partials/Utils.js +81 -135
- package/dist/Classes/RESTAPI/partials/_outerDependencies.js +2 -6
- package/dist/Classes/RESTAPI/partials/_utils.js +103 -398
- package/dist/Constants/index.constants.js +8 -15
- package/dist/Functions/Portal.js +14 -33
- package/dist/Functions/customEventListener.js +9 -24
- package/dist/Functions/fieldValueFormatters.js +147 -209
- package/dist/Functions/hooks/useFormFieldsChangesManager.js +75 -137
- package/dist/Functions/locale/createTranslator.js +13 -28
- package/dist/Functions/operations.js +35 -49
- package/dist/Functions/presets/inputMaskPresets.js +25 -27
- package/dist/Functions/presets/inputPresets.js +19 -22
- package/dist/Functions/presets/mobileKeyboardTypesPresets.js +7 -9
- package/dist/Functions/schemas.js +6 -15
- package/dist/Functions/useBodyScrollLock.js +4 -9
- package/dist/Functions/useClickOutside.js +3 -7
- package/dist/Functions/useDebounce.js +11 -25
- package/dist/Functions/useFieldFocus.js +42 -67
- package/dist/Functions/useFormTools/form-drivers/ArrayWithObjects.js +35 -54
- package/dist/Functions/useFormTools/form-drivers/ObjectWithIterableObjects.js +74 -95
- package/dist/Functions/useFormTools/form-drivers/ObjectWithNamedKeyObjects.js +55 -91
- package/dist/Functions/useFormTools/functions/General.js +80 -99
- package/dist/Functions/useFormTools/functions/RenderFields.js +45 -72
- package/dist/Functions/useFormTools/functions/usePrevious.js +3 -7
- package/dist/Functions/useFormTools/index.js +380 -592
- package/dist/Functions/useInputHighlightError.js +27 -52
- package/dist/Functions/useIsMobile.js +15 -39
- package/dist/Functions/useKeyPress/useHandleKeyPress.js +10 -15
- package/dist/Functions/useKeyPress/useKeyPress.js +18 -35
- package/dist/Functions/useLocalStorage.js +7 -22
- package/dist/Functions/useLocationParams.js +16 -27
- package/dist/Functions/useMediaQuery.js +10 -27
- package/dist/Functions/useMetaInfo.js +19 -50
- package/dist/Functions/useMouseUpOutside.js +2 -5
- package/dist/Functions/useOnlineStatus.js +7 -26
- package/dist/Functions/usePasswordChecker.js +42 -77
- package/dist/Functions/usePrevious.js +3 -7
- package/dist/Functions/useResize.js +12 -32
- package/dist/Functions/useScrollTo.js +6 -20
- package/dist/Functions/useToggle.js +10 -30
- package/dist/Functions/utils.js +188 -386
- package/dist/Molecular/CustomIcons/components/AffiliateNetworks.js +21 -32
- package/dist/Molecular/CustomIcons/components/AlertCircle.js +21 -32
- package/dist/Molecular/CustomIcons/components/AppStore.js +25 -36
- package/dist/Molecular/CustomIcons/components/Arrow.js +31 -42
- package/dist/Molecular/CustomIcons/components/ArrowDown.js +13 -24
- package/dist/Molecular/CustomIcons/components/ArrowLeft.js +16 -27
- package/dist/Molecular/CustomIcons/components/ArrowRight.js +16 -27
- package/dist/Molecular/CustomIcons/components/ArrowUp.js +13 -24
- package/dist/Molecular/CustomIcons/components/Bell.js +11 -22
- package/dist/Molecular/CustomIcons/components/Button.js +11 -22
- package/dist/Molecular/CustomIcons/components/Campaigns.js +12 -23
- package/dist/Molecular/CustomIcons/components/Check.js +12 -23
- package/dist/Molecular/CustomIcons/components/Check2.js +11 -22
- package/dist/Molecular/CustomIcons/components/ChevronDown.js +11 -22
- package/dist/Molecular/CustomIcons/components/ChevronDownDisabled.js +11 -22
- package/dist/Molecular/CustomIcons/components/ChevronLeft.js +11 -22
- package/dist/Molecular/CustomIcons/components/ChevronRight.js +11 -22
- package/dist/Molecular/CustomIcons/components/ChevronUp.js +11 -22
- package/dist/Molecular/CustomIcons/components/ChevronUpDown.js +26 -37
- package/dist/Molecular/CustomIcons/components/Close.js +13 -24
- package/dist/Molecular/CustomIcons/components/ColumnsOrder.js +38 -49
- package/dist/Molecular/CustomIcons/components/Delete.js +12 -23
- package/dist/Molecular/CustomIcons/components/Edit.js +11 -22
- package/dist/Molecular/CustomIcons/components/Email.js +29 -40
- package/dist/Molecular/CustomIcons/components/FinturfLogo.js +19 -30
- package/dist/Molecular/CustomIcons/components/FinturfLogo2.js +27 -38
- package/dist/Molecular/CustomIcons/components/Flows.js +11 -22
- package/dist/Molecular/CustomIcons/components/Gift.js +16 -27
- package/dist/Molecular/CustomIcons/components/GoogleAuth.js +25 -36
- package/dist/Molecular/CustomIcons/components/GooglePlay.js +25 -36
- package/dist/Molecular/CustomIcons/components/HelpCircle.js +14 -25
- package/dist/Molecular/CustomIcons/components/HelpCircle2.js +15 -26
- package/dist/Molecular/CustomIcons/components/HelpCircleFilled.js +14 -25
- package/dist/Molecular/CustomIcons/components/Home.js +14 -25
- package/dist/Molecular/CustomIcons/components/Home2.js +17 -28
- package/dist/Molecular/CustomIcons/components/Key.js +19 -30
- package/dist/Molecular/CustomIcons/components/Landers.js +15 -26
- package/dist/Molecular/CustomIcons/components/Lock.js +11 -22
- package/dist/Molecular/CustomIcons/components/Mail.js +19 -30
- package/dist/Molecular/CustomIcons/components/Mastercard.js +61 -72
- package/dist/Molecular/CustomIcons/components/Minus.js +24 -35
- package/dist/Molecular/CustomIcons/components/Offers.js +12 -23
- package/dist/Molecular/CustomIcons/components/Pause.js +24 -35
- package/dist/Molecular/CustomIcons/components/PayPal.js +38 -49
- package/dist/Molecular/CustomIcons/components/PayPalLightLarge.js +25 -36
- package/dist/Molecular/CustomIcons/components/Phone.js +26 -37
- package/dist/Molecular/CustomIcons/components/Play.js +24 -35
- package/dist/Molecular/CustomIcons/components/Plus.js +24 -35
- package/dist/Molecular/CustomIcons/components/Profile.js +16 -27
- package/dist/Molecular/CustomIcons/components/QRCode.js +26 -37
- package/dist/Molecular/CustomIcons/components/Rectangle.js +11 -22
- package/dist/Molecular/CustomIcons/components/Revert.js +14 -25
- package/dist/Molecular/CustomIcons/components/Star.js +10 -21
- package/dist/Molecular/CustomIcons/components/Star2.js +12 -23
- package/dist/Molecular/CustomIcons/components/TrafficSources.js +14 -25
- package/dist/Molecular/CustomIcons/components/Trash.js +11 -22
- package/dist/Molecular/CustomIcons/components/TrashRed.js +11 -22
- package/dist/Molecular/CustomIcons/components/Triggers.js +11 -22
- package/dist/Molecular/CustomIcons/components/User.js +16 -27
- package/dist/Molecular/CustomIcons/components/Visa.js +27 -38
- package/dist/Molecular/CustomIcons/components/X.js +11 -22
- package/dist/Molecular/CustomIcons/index.js +61 -183
- package/dist/Molecular/FormElement/FormElement.js +19 -28
- package/dist/Molecular/FormWithDependOn/FormWithDependOn.js +91 -112
- package/dist/Molecular/FormWithDependOn/partials/_utils.js +35 -37
- package/dist/Molecular/InputAddress/InputAddress.js +176 -312
- package/dist/Molecular/InputPassword/InputPassword.js +15 -39
- package/dist/index.js +1 -3
- package/package.json +1 -1
- package/dist/Atomic/FormElements/UserContacts/partial/defaultIcons.js +0 -119
- 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
- package/dist/Functions/presets/inputMaskPreset.js +0 -176
|
@@ -1,253 +1,155 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
var _typeof3 = require("@babel/runtime/helpers/typeof");
|
|
6
|
-
|
|
7
4
|
Object.defineProperty(exports, "__esModule", {
|
|
8
5
|
value: true
|
|
9
6
|
});
|
|
10
7
|
exports.default = void 0;
|
|
11
|
-
|
|
12
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
13
|
-
|
|
14
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
15
|
-
|
|
16
|
-
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
17
|
-
|
|
18
8
|
var _react = _interopRequireWildcard(require("react"));
|
|
19
|
-
|
|
20
9
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
21
|
-
|
|
22
10
|
var _reactFeather = require("react-feather");
|
|
23
|
-
|
|
24
11
|
var _Input = _interopRequireDefault(require("../../Atomic/FormElements/Input/Input"));
|
|
25
|
-
|
|
26
12
|
var _Spinner = _interopRequireDefault(require("../../Atomic/Layout/Spinner/Spinner"));
|
|
27
|
-
|
|
28
13
|
var _Hint = _interopRequireDefault(require("../../Atomic/UI/Hint/Hint"));
|
|
29
|
-
|
|
30
|
-
var _useIsMobile2 = _interopRequireDefault(require("../../Functions/useIsMobile"));
|
|
31
|
-
|
|
14
|
+
var _useIsMobile = _interopRequireDefault(require("../../Functions/useIsMobile"));
|
|
32
15
|
var _utils = require("../../Functions/utils");
|
|
33
|
-
|
|
34
16
|
require("./InputAddress.scss");
|
|
35
|
-
|
|
36
|
-
function
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
var compareValues = function compareValues(val1, val2) {
|
|
44
|
-
return (0, _typeof2.default)(val1) === (0, _typeof2.default)(val2) && ((0, _utils.getIsOnlyAnObject)(val1) ? (0, _utils.compare)(val1, val2) : val1 === val2);
|
|
17
|
+
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); }
|
|
18
|
+
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; }
|
|
19
|
+
const DEFAULT_HINT_MESSAGE = "Select the correct address from the list of suggestions (must contains house number and street name)";
|
|
20
|
+
const RC = "input-address";
|
|
21
|
+
|
|
22
|
+
// ? Если равны - true
|
|
23
|
+
const compareValues = (val1, val2) => {
|
|
24
|
+
return typeof val1 === typeof val2 && ((0, _utils.getIsOnlyAnObject)(val1) ? (0, _utils.compare)(val1, val2) : val1 === val2);
|
|
45
25
|
};
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
var id = null;
|
|
26
|
+
const throttle = (fn, ms) => {
|
|
27
|
+
let id = null;
|
|
49
28
|
return function () {
|
|
50
29
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
51
30
|
args[_key] = arguments[_key];
|
|
52
31
|
}
|
|
53
|
-
|
|
54
32
|
if (id) clearTimeout(id);
|
|
55
|
-
id = setTimeout(
|
|
56
|
-
fn
|
|
33
|
+
id = setTimeout(() => {
|
|
34
|
+
fn(...args);
|
|
57
35
|
}, ms);
|
|
58
36
|
};
|
|
59
|
-
}; // Отдает true если value валидное НЕ нулевое число
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
var getIsValidNumber = function getIsValidNumber(value) {
|
|
63
|
-
return Boolean(value) && typeof value === "number" && !Number.isNaN(value);
|
|
64
37
|
};
|
|
65
38
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
isScrollableList = _useState4[0],
|
|
121
|
-
setIsScrollableList = _useState4[1];
|
|
122
|
-
|
|
123
|
-
var _useState5 = (0, _react.useState)(0),
|
|
124
|
-
_useState6 = (0, _slicedToArray2.default)(_useState5, 2),
|
|
125
|
-
scrollTop = _useState6[0],
|
|
126
|
-
setScrollTop = _useState6[1];
|
|
127
|
-
|
|
128
|
-
var _useState7 = (0, _react.useState)(1),
|
|
129
|
-
_useState8 = (0, _slicedToArray2.default)(_useState7, 2),
|
|
130
|
-
scrollHeight = _useState8[0],
|
|
131
|
-
setScrollHeight = _useState8[1];
|
|
132
|
-
|
|
133
|
-
var _useState9 = (0, _react.useState)(value),
|
|
134
|
-
_useState10 = (0, _slicedToArray2.default)(_useState9, 2),
|
|
135
|
-
innerValue = _useState10[0],
|
|
136
|
-
setInnerValue = _useState10[1];
|
|
137
|
-
|
|
138
|
-
var _useState11 = (0, _react.useState)(null),
|
|
139
|
-
_useState12 = (0, _slicedToArray2.default)(_useState11, 2),
|
|
140
|
-
tempInnerValue = _useState12[0],
|
|
141
|
-
setTempInnerValue = _useState12[1];
|
|
142
|
-
|
|
143
|
-
var _useState13 = (0, _react.useState)(null),
|
|
144
|
-
_useState14 = (0, _slicedToArray2.default)(_useState13, 2),
|
|
145
|
-
tempValue = _useState14[0],
|
|
146
|
-
setTempValue = _useState14[1];
|
|
147
|
-
|
|
148
|
-
var _useState15 = (0, _react.useState)([]),
|
|
149
|
-
_useState16 = (0, _slicedToArray2.default)(_useState15, 2),
|
|
150
|
-
listItems = _useState16[0],
|
|
151
|
-
setListItems = _useState16[1];
|
|
152
|
-
|
|
153
|
-
var _useState17 = (0, _react.useState)(false),
|
|
154
|
-
_useState18 = (0, _slicedToArray2.default)(_useState17, 2),
|
|
155
|
-
isLoading = _useState18[0],
|
|
156
|
-
setIsLoading = _useState18[1];
|
|
157
|
-
|
|
158
|
-
var _useState19 = (0, _react.useState)(false),
|
|
159
|
-
_useState20 = (0, _slicedToArray2.default)(_useState19, 2),
|
|
160
|
-
isListLoading = _useState20[0],
|
|
161
|
-
setIsListLoading = _useState20[1];
|
|
162
|
-
|
|
163
|
-
var _useState21 = (0, _react.useState)(null),
|
|
164
|
-
_useState22 = (0, _slicedToArray2.default)(_useState21, 2),
|
|
165
|
-
hightlightedIndex = _useState22[0],
|
|
166
|
-
setHightlightedIndex = _useState22[1];
|
|
167
|
-
|
|
168
|
-
var _useState23 = (0, _react.useState)(false),
|
|
169
|
-
_useState24 = (0, _slicedToArray2.default)(_useState23, 2),
|
|
170
|
-
isFocused = _useState24[0],
|
|
171
|
-
setIsFocused = _useState24[1];
|
|
172
|
-
|
|
173
|
-
var _useState25 = (0, _react.useState)(false),
|
|
174
|
-
_useState26 = (0, _slicedToArray2.default)(_useState25, 2),
|
|
175
|
-
isListVisible = _useState26[0],
|
|
176
|
-
setIsListVisible = _useState26[1];
|
|
177
|
-
|
|
178
|
-
var isWrongAddress = (0, _react.useMemo)(function () {
|
|
39
|
+
// Отдает true если value валидное НЕ нулевое число
|
|
40
|
+
const getIsValidNumber = value => Boolean(value) && typeof value === "number" && !Number.isNaN(value);
|
|
41
|
+
const InputAddress = _ref => {
|
|
42
|
+
let {
|
|
43
|
+
label,
|
|
44
|
+
className = "",
|
|
45
|
+
isClearable = true,
|
|
46
|
+
isKeyboardControlled = true,
|
|
47
|
+
fieldKey = "",
|
|
48
|
+
testId = "",
|
|
49
|
+
throttle: throttleTime = 500,
|
|
50
|
+
// ms
|
|
51
|
+
additionalThrottleTimeForListingRequest = 0,
|
|
52
|
+
// ms
|
|
53
|
+
loader = "",
|
|
54
|
+
noItemsMessage = "",
|
|
55
|
+
error,
|
|
56
|
+
value = "",
|
|
57
|
+
onChange = () => {},
|
|
58
|
+
onChangeValueTransformer,
|
|
59
|
+
disabled,
|
|
60
|
+
getListItems = () => {},
|
|
61
|
+
clarifyAddressInfo,
|
|
62
|
+
// ! Не делать дефолтного значения! Это и метод и флаг
|
|
63
|
+
|
|
64
|
+
noValidate = false,
|
|
65
|
+
renderSelectedItem,
|
|
66
|
+
renderListItem,
|
|
67
|
+
renderHintMessage,
|
|
68
|
+
attributesOfNativeInput
|
|
69
|
+
} = _ref;
|
|
70
|
+
const {
|
|
71
|
+
isMobile
|
|
72
|
+
} = (0, _useIsMobile.default)();
|
|
73
|
+
const inputRef = (0, _react.useRef)(null);
|
|
74
|
+
const listRef = (0, _react.useRef)(null);
|
|
75
|
+
const listOverlayRef = (0, _react.useRef)(null);
|
|
76
|
+
const listWrapperRef = (0, _react.useRef)(null);
|
|
77
|
+
const listHeaderRef = (0, _react.useRef)(null);
|
|
78
|
+
const previousValueRef = (0, _react.useRef)(value);
|
|
79
|
+
const [isValueInited, setIsValueInited] = (0, _react.useState)(false);
|
|
80
|
+
const [isScrollableList, setIsScrollableList] = (0, _react.useState)(null);
|
|
81
|
+
const [scrollTop, setScrollTop] = (0, _react.useState)(0);
|
|
82
|
+
const [scrollHeight, setScrollHeight] = (0, _react.useState)(1);
|
|
83
|
+
const [innerValue, setInnerValue] = (0, _react.useState)(value);
|
|
84
|
+
const [tempInnerValue, setTempInnerValue] = (0, _react.useState)(null);
|
|
85
|
+
const [tempValue, setTempValue] = (0, _react.useState)(null);
|
|
86
|
+
const [listItems, setListItems] = (0, _react.useState)([]);
|
|
87
|
+
const [isLoading, setIsLoading] = (0, _react.useState)(false);
|
|
88
|
+
const [isListLoading, setIsListLoading] = (0, _react.useState)(false);
|
|
89
|
+
const [hightlightedIndex, setHightlightedIndex] = (0, _react.useState)(null);
|
|
90
|
+
const [isFocused, setIsFocused] = (0, _react.useState)(false);
|
|
91
|
+
const [isListVisible, setIsListVisible] = (0, _react.useState)(false);
|
|
92
|
+
const isWrongAddress = (0, _react.useMemo)(() => {
|
|
179
93
|
var _innerValue$street;
|
|
180
|
-
|
|
181
94
|
if (noValidate) return false;
|
|
182
|
-
if (innerValue === "") return false;
|
|
183
|
-
|
|
184
|
-
if (!(innerValue !== null && innerValue !== void 0 && innerValue.hasOwnProperty("streetNumber")) || !(innerValue !== null && innerValue !== void 0 && innerValue.streetNumber)) return true;
|
|
95
|
+
if (innerValue === "") return false;
|
|
96
|
+
// eslint-disable-next-line no-prototype-builtins
|
|
97
|
+
if (!(innerValue !== null && innerValue !== void 0 && innerValue.hasOwnProperty("streetNumber")) || !(innerValue !== null && innerValue !== void 0 && innerValue.streetNumber)) return true;
|
|
185
98
|
|
|
99
|
+
// eslint-disable-next-line no-prototype-builtins
|
|
186
100
|
if (!(innerValue !== null && innerValue !== void 0 && innerValue.hasOwnProperty("street")) || !(innerValue !== null && innerValue !== void 0 && (_innerValue$street = innerValue.street) !== null && _innerValue$street !== void 0 && _innerValue$street.fullName)) return true;
|
|
187
101
|
return false;
|
|
188
102
|
}, [innerValue]);
|
|
189
|
-
|
|
190
|
-
var setItemAsInnerValue = function setItemAsInnerValue(e, item) {
|
|
103
|
+
const setItemAsInnerValue = (e, item) => {
|
|
191
104
|
if (e instanceof Event) {
|
|
192
105
|
e.preventDefault();
|
|
193
106
|
e.stopPropagation();
|
|
194
107
|
}
|
|
195
|
-
|
|
196
|
-
setTimeout(function () {
|
|
108
|
+
setTimeout(() => {
|
|
197
109
|
setInnerValue(item);
|
|
198
|
-
|
|
199
110
|
if (isMobile) {
|
|
200
111
|
setIsListVisible(false);
|
|
201
112
|
}
|
|
202
113
|
}, 0);
|
|
203
|
-
};
|
|
204
|
-
|
|
114
|
+
};
|
|
205
115
|
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
116
|
+
// ? Базовый метод получения списка вариантов адреса
|
|
117
|
+
const getAddressVariants = (0, _react.useMemo)(() => innerValue => {
|
|
118
|
+
var _getListItems;
|
|
119
|
+
return (_getListItems = getListItems(innerValue)) === null || _getListItems === void 0 ? void 0 : _getListItems.then(setListItems).finally(() => setIsListLoading(false));
|
|
120
|
+
}, [getListItems]);
|
|
209
121
|
|
|
210
|
-
|
|
211
|
-
return setIsListLoading(false);
|
|
212
|
-
});
|
|
213
|
-
};
|
|
214
|
-
}, [getListItems]); // ? Метод получения списка вариантов адреса с тротлингом (основным и, если нужно, дополнительным)
|
|
122
|
+
// ? Метод получения списка вариантов адреса с тротлингом (основным и, если нужно, дополнительным)
|
|
215
123
|
// ? Без useMemo работать НЕ будет (т.к. на каждом перерендере будет создаваться новая ф-я и будет теряться замкнутая переменная id из throttle)
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
var execute = getIsValidNumber(additionalThrottleTimeForListingRequest) ? throttle(getAddressVariants, additionalThrottleTimeForListingRequest) : getAddressVariants;
|
|
124
|
+
const getAddressVariantsWithThrottling = (0, _react.useMemo)(() => {
|
|
125
|
+
const execute = getIsValidNumber(additionalThrottleTimeForListingRequest) ? throttle(getAddressVariants, additionalThrottleTimeForListingRequest) : getAddressVariants;
|
|
219
126
|
return getIsValidNumber(throttleTime) ? throttle(execute, throttleTime) : execute;
|
|
220
|
-
}, [getAddressVariants, additionalThrottleTimeForListingRequest, throttleTime]);
|
|
127
|
+
}, [getAddressVariants, additionalThrottleTimeForListingRequest, throttleTime]);
|
|
128
|
+
|
|
129
|
+
// ? Итоговый "получатель" списка вариантов адресов
|
|
130
|
+
const getAddressVariantsList = () => {
|
|
131
|
+
if (!(innerValue !== null && innerValue !== void 0 && innerValue.length)) return null;
|
|
221
132
|
|
|
222
|
-
|
|
223
|
-
if (!(innerValue !== null && innerValue !== void 0 && innerValue.length)) return null; // ? Вообще с учетом надпись "Loading" в списке вариантов включается в этом месте (т.е. сразу при начале набора),
|
|
133
|
+
// ? Вообще с учетом надпись "Loading" в списке вариантов включается в этом месте (т.е. сразу при начале набора),
|
|
224
134
|
// ? то, наверное, можно было НЕ мутить с дополнительным тротлингом )).
|
|
225
135
|
// ? Наверное, можно было увеличить время первичного тротлинга и, наверное, работало бы так же ))
|
|
226
136
|
// ? НО, раз уже сделал )) оставлю, может будет в будущем полезно )
|
|
227
|
-
|
|
228
137
|
setIsListLoading(true);
|
|
229
138
|
getAddressVariantsWithThrottling(innerValue);
|
|
230
139
|
return null;
|
|
231
140
|
};
|
|
232
|
-
|
|
233
|
-
var onClearClick = function onClearClick(e) {
|
|
141
|
+
const onClearClick = e => {
|
|
234
142
|
var _inputRef$current;
|
|
235
|
-
|
|
236
143
|
e.preventDefault();
|
|
237
144
|
e.stopPropagation();
|
|
238
|
-
|
|
239
145
|
if (!isMobile) {
|
|
240
146
|
setIsListVisible(false);
|
|
241
147
|
}
|
|
242
|
-
|
|
243
148
|
setInnerValue("");
|
|
244
|
-
inputRef === null || inputRef === void 0
|
|
245
|
-
setTimeout(
|
|
246
|
-
return setIsFocused(true);
|
|
247
|
-
}, 0);
|
|
149
|
+
inputRef === null || inputRef === void 0 || (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 || _inputRef$current.focus();
|
|
150
|
+
setTimeout(() => setIsFocused(true), 0);
|
|
248
151
|
};
|
|
249
|
-
|
|
250
|
-
var onOverlayClick = function onOverlayClick(e) {
|
|
152
|
+
const onOverlayClick = e => {
|
|
251
153
|
if (e.target === (listOverlayRef === null || listOverlayRef === void 0 ? void 0 : listOverlayRef.current)) {
|
|
252
154
|
e.stopPropagation();
|
|
253
155
|
e.preventDefault();
|
|
@@ -256,27 +158,23 @@ var InputAddress = function InputAddress(_ref) {
|
|
|
256
158
|
onChange(typeof innerValue === "string" || !onChangeValueTransformer || typeof onChangeValueTransformer !== "function" ? innerValue : onChangeValueTransformer(innerValue));
|
|
257
159
|
}
|
|
258
160
|
};
|
|
259
|
-
|
|
260
|
-
var onKeyDown = function onKeyDown(keyCode) {
|
|
161
|
+
const onKeyDown = keyCode => {
|
|
261
162
|
if (!isListVisible || !isKeyboardControlled) return false;
|
|
262
|
-
|
|
263
163
|
if (keyCode === 13) {
|
|
264
164
|
var _inputRef$current2;
|
|
265
|
-
|
|
266
165
|
// Enter Controller
|
|
267
166
|
setItemAsInnerValue(null, listItems[hightlightedIndex]);
|
|
268
167
|
setHightlightedIndex(null);
|
|
269
|
-
inputRef === null || inputRef === void 0
|
|
168
|
+
inputRef === null || inputRef === void 0 || (_inputRef$current2 = inputRef.current) === null || _inputRef$current2 === void 0 || _inputRef$current2.blur();
|
|
270
169
|
} else {
|
|
271
|
-
var _listRef$current, _listRef$
|
|
170
|
+
var _listRef$current, _listRef$current2, _newHightlightedEleme;
|
|
171
|
+
let newHightlightedIndex = null;
|
|
172
|
+
const listItemsElements = document.getElementsByClassName("input-address__list--item");
|
|
173
|
+
const listHeight = listRef === null || listRef === void 0 || (_listRef$current = listRef.current) === null || _listRef$current === void 0 || (_listRef$current = _listRef$current.getBoundingClientRect()) === null || _listRef$current === void 0 ? void 0 : _listRef$current.height;
|
|
174
|
+
const listScrollTop = (listRef === null || listRef === void 0 || (_listRef$current2 = listRef.current) === null || _listRef$current2 === void 0 ? void 0 : _listRef$current2.scrollTop) || 0;
|
|
175
|
+
const lastItemIndex = parseInt(listItems === null || listItems === void 0 ? void 0 : listItems.length, 10) - 1;
|
|
272
176
|
|
|
273
|
-
var newHightlightedIndex = null;
|
|
274
|
-
var listItemsElements = document.getElementsByClassName("input-address__list--item");
|
|
275
|
-
var listHeight = listRef === null || listRef === void 0 ? void 0 : (_listRef$current = listRef.current) === null || _listRef$current === void 0 ? void 0 : (_listRef$current$getB = _listRef$current.getBoundingClientRect()) === null || _listRef$current$getB === void 0 ? void 0 : _listRef$current$getB.height;
|
|
276
|
-
var listScrollTop = (listRef === null || listRef === void 0 ? void 0 : (_listRef$current2 = listRef.current) === null || _listRef$current2 === void 0 ? void 0 : _listRef$current2.scrollTop) || 0;
|
|
277
|
-
var lastItemIndex = parseInt(listItems === null || listItems === void 0 ? void 0 : listItems.length, 10) - 1;
|
|
278
177
|
/** Arrows Controllers **/
|
|
279
|
-
|
|
280
178
|
if (keyCode === 40) {
|
|
281
179
|
// Down Key Controller
|
|
282
180
|
if (hightlightedIndex === null || hightlightedIndex === lastItemIndex) {
|
|
@@ -291,110 +189,98 @@ var InputAddress = function InputAddress(_ref) {
|
|
|
291
189
|
} else if (hightlightedIndex - 1 >= 0) {
|
|
292
190
|
newHightlightedIndex = hightlightedIndex - 1;
|
|
293
191
|
}
|
|
294
|
-
}
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
var newHightlightedElement = listItemsElements[newHightlightedIndex];
|
|
298
|
-
var newHightlightedElementHeight = newHightlightedElement === null || newHightlightedElement === void 0 ? void 0 : (_newHightlightedEleme = newHightlightedElement.getBoundingClientRect()) === null || _newHightlightedEleme === void 0 ? void 0 : _newHightlightedEleme.height;
|
|
299
|
-
var newHightlightedElementTopInList = newHightlightedElement === null || newHightlightedElement === void 0 ? void 0 : newHightlightedElement.offsetTop;
|
|
192
|
+
}
|
|
300
193
|
|
|
194
|
+
// Scroll to Element
|
|
195
|
+
const newHightlightedElement = listItemsElements[newHightlightedIndex];
|
|
196
|
+
const newHightlightedElementHeight = newHightlightedElement === null || newHightlightedElement === void 0 || (_newHightlightedEleme = newHightlightedElement.getBoundingClientRect()) === null || _newHightlightedEleme === void 0 ? void 0 : _newHightlightedEleme.height;
|
|
197
|
+
const newHightlightedElementTopInList = newHightlightedElement === null || newHightlightedElement === void 0 ? void 0 : newHightlightedElement.offsetTop;
|
|
301
198
|
if (newHightlightedElementTopInList + newHightlightedElementHeight > listScrollTop + listHeight) {
|
|
302
199
|
if (Math.abs(newHightlightedElementTopInList + newHightlightedElementHeight - (listScrollTop + listHeight)) <= newHightlightedElementHeight) {
|
|
303
200
|
var _listRef$current3;
|
|
304
|
-
|
|
305
|
-
listRef === null || listRef === void 0 ? void 0 : (_listRef$current3 = listRef.current) === null || _listRef$current3 === void 0 ? void 0 : _listRef$current3.scrollTo(0, listScrollTop + newHightlightedElementHeight);
|
|
201
|
+
listRef === null || listRef === void 0 || (_listRef$current3 = listRef.current) === null || _listRef$current3 === void 0 || _listRef$current3.scrollTo(0, listScrollTop + newHightlightedElementHeight);
|
|
306
202
|
} else {
|
|
307
203
|
var _listRef$current4;
|
|
308
|
-
|
|
309
|
-
listRef === null || listRef === void 0 ? void 0 : (_listRef$current4 = listRef.current) === null || _listRef$current4 === void 0 ? void 0 : _listRef$current4.scrollTo(0, newHightlightedElementTopInList);
|
|
204
|
+
listRef === null || listRef === void 0 || (_listRef$current4 = listRef.current) === null || _listRef$current4 === void 0 || _listRef$current4.scrollTo(0, newHightlightedElementTopInList);
|
|
310
205
|
}
|
|
311
206
|
} else if (newHightlightedElementTopInList < listScrollTop) {
|
|
312
207
|
if (Math.abs(newHightlightedElementTopInList - listScrollTop) < newHightlightedElementHeight) {
|
|
313
208
|
var _listRef$current5;
|
|
314
|
-
|
|
315
|
-
listRef === null || listRef === void 0 ? void 0 : (_listRef$current5 = listRef.current) === null || _listRef$current5 === void 0 ? void 0 : _listRef$current5.scrollTo(0, listScrollTop - newHightlightedElementHeight);
|
|
209
|
+
listRef === null || listRef === void 0 || (_listRef$current5 = listRef.current) === null || _listRef$current5 === void 0 || _listRef$current5.scrollTo(0, listScrollTop - newHightlightedElementHeight);
|
|
316
210
|
} else {
|
|
317
211
|
var _listRef$current6;
|
|
318
|
-
|
|
319
|
-
listRef === null || listRef === void 0 ? void 0 : (_listRef$current6 = listRef.current) === null || _listRef$current6 === void 0 ? void 0 : _listRef$current6.scrollTo(0, newHightlightedElementTopInList);
|
|
212
|
+
listRef === null || listRef === void 0 || (_listRef$current6 = listRef.current) === null || _listRef$current6 === void 0 || _listRef$current6.scrollTo(0, newHightlightedElementTopInList);
|
|
320
213
|
}
|
|
321
214
|
}
|
|
322
|
-
|
|
323
215
|
if (!isMobile) setHightlightedIndex(newHightlightedIndex);
|
|
324
216
|
}
|
|
325
217
|
};
|
|
326
|
-
|
|
327
|
-
var getHintMessage = function getHintMessage() {
|
|
218
|
+
const getHintMessage = () => {
|
|
328
219
|
if (!renderHintMessage || typeof renderHintMessage !== "function") return DEFAULT_HINT_MESSAGE;
|
|
329
220
|
return renderHintMessage(innerValue);
|
|
330
221
|
};
|
|
331
|
-
|
|
332
|
-
var getSelectedItemLabel = function getSelectedItemLabel() {
|
|
222
|
+
const getSelectedItemLabel = function () {
|
|
333
223
|
var _value$street;
|
|
334
|
-
|
|
335
|
-
var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : innerValue;
|
|
224
|
+
let value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : innerValue;
|
|
336
225
|
if (!value) return "";
|
|
337
226
|
if (typeof value === "string") return value;
|
|
338
227
|
if (typeof renderSelectedItem === "function") renderSelectedItem(value);
|
|
339
|
-
|
|
228
|
+
const label = "".concat((value === null || value === void 0 ? void 0 : value.streetNumber) || "", " ").concat((value === null || value === void 0 || (_value$street = value.street) === null || _value$street === void 0 ? void 0 : _value$street.fullName) || "").trim();
|
|
340
229
|
return !label && isLoading ? previousValueRef.current : label;
|
|
341
230
|
};
|
|
342
|
-
|
|
343
|
-
var getListItemLabel = function getListItemLabel(item) {
|
|
231
|
+
const getListItemLabel = item => {
|
|
344
232
|
if (typeof item === "string") return item;
|
|
345
233
|
if (!renderListItem || typeof renderListItem !== "function") return item === null || item === void 0 ? void 0 : item.fullPrediction;
|
|
346
234
|
return renderListItem(item);
|
|
347
235
|
};
|
|
348
|
-
|
|
349
|
-
var setListHeight = function setListHeight() {
|
|
236
|
+
const setListHeight = () => {
|
|
350
237
|
if (listWrapperRef !== null && listWrapperRef !== void 0 && listWrapperRef.current && listHeaderRef !== null && listHeaderRef !== void 0 && listHeaderRef.current && listRef.current) {
|
|
351
|
-
var _listWrapperRef$curre,
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
var listHeight = listWrapperHeight - listHeaderHeight - parseInt(listWrapperStyles.paddingBottom, 10);
|
|
238
|
+
var _listWrapperRef$curre, _listHeaderRef$curren;
|
|
239
|
+
const listWrapperHeight = listWrapperRef === null || listWrapperRef === void 0 || (_listWrapperRef$curre = listWrapperRef.current) === null || _listWrapperRef$curre === void 0 || (_listWrapperRef$curre = _listWrapperRef$curre.getBoundingClientRect()) === null || _listWrapperRef$curre === void 0 ? void 0 : _listWrapperRef$curre.height;
|
|
240
|
+
const listWrapperStyles = getComputedStyle(listWrapperRef === null || listWrapperRef === void 0 ? void 0 : listWrapperRef.current);
|
|
241
|
+
const listHeaderHeight = listHeaderRef === null || listHeaderRef === void 0 || (_listHeaderRef$curren = listHeaderRef.current) === null || _listHeaderRef$curren === void 0 || (_listHeaderRef$curren = _listHeaderRef$curren.getBoundingClientRect()) === null || _listHeaderRef$curren === void 0 ? void 0 : _listHeaderRef$curren.height;
|
|
242
|
+
const listHeight = listWrapperHeight - listHeaderHeight - parseInt(listWrapperStyles.paddingBottom, 10);
|
|
357
243
|
listRef.current.style.maxHeight = "".concat(listHeight, "px");
|
|
358
244
|
}
|
|
359
245
|
};
|
|
360
|
-
|
|
361
|
-
var resetListHeight = function resetListHeight() {
|
|
246
|
+
const resetListHeight = () => {
|
|
362
247
|
if (listRef.current) {
|
|
363
248
|
listRef.current.style.maxHeight = "initial";
|
|
364
249
|
}
|
|
365
|
-
};
|
|
366
|
-
// ? Не меняйте вызовы setInnerValue и onChange не разобравшись в логике вызовов
|
|
367
|
-
|
|
250
|
+
};
|
|
368
251
|
|
|
369
|
-
|
|
252
|
+
// ? Основной блок работы со значениями адреса
|
|
253
|
+
// ? Не меняйте вызовы setInnerValue и onChange не разобравшись в логике вызовов
|
|
254
|
+
(0, _react.useEffect)(() => {
|
|
370
255
|
// ? Исключение инициализации - равны только при первом рендере компонента,
|
|
371
256
|
// ? т.к. рефка и стейт инициализируются верхним value
|
|
372
257
|
if (!compareValues(innerValue, previousValueRef.current)) {
|
|
373
|
-
|
|
258
|
+
const isObject = (0, _utils.getIsOnlyAnObject)(innerValue);
|
|
259
|
+
|
|
260
|
+
// ? innerValue меняется либо от ручного ввода, либо от выбора из списка
|
|
374
261
|
// ? Полная информация или нет - напрямую зависит от ответа getListItems
|
|
262
|
+
const isFullInfo = isObject && "streetNumber" in innerValue && "street" in innerValue && "city" in innerValue && "state" in innerValue && "country" in innerValue && "zipCode" in innerValue;
|
|
375
263
|
|
|
376
|
-
|
|
264
|
+
// ? Для старого эндпоинта возвращается список с полной информацией, поэтому на проектах ничего не поменяется,
|
|
377
265
|
// ? если не менять запросник (getListItems), все будет проходить по этой if-ке или по 3-й (для строчных значений)
|
|
378
|
-
|
|
379
266
|
if (isFullInfo) {
|
|
380
267
|
onChange(innerValue);
|
|
381
268
|
setIsLoading(false);
|
|
382
|
-
}
|
|
383
|
-
// ? Предполагается, что при этом в компонент будет прокинута ф-я "уточнятель" (clarifyAddressInfo)
|
|
384
|
-
|
|
269
|
+
}
|
|
385
270
|
|
|
271
|
+
// ? Неполная информация может быть только в том случае, когда метод getListItems использует уже новый эндпоинт гугл-апи.
|
|
272
|
+
// ? Предполагается, что при этом в компонент будет прокинута ф-я "уточнятель" (clarifyAddressInfo)
|
|
386
273
|
if (isObject && !isFullInfo) {
|
|
387
274
|
if (typeof clarifyAddressInfo === "function") {
|
|
388
275
|
var _clarifyAddressInfo, _clarifyAddressInfo$t;
|
|
389
|
-
|
|
390
|
-
|
|
276
|
+
setIsLoading(true);
|
|
277
|
+
// ? Предполагается, что clarifyAddressInfo - асинхронная ф-я, запросник уточнения опции
|
|
391
278
|
// ? Никаких await-ов НЕ нужно (тем более что в useEffect и нельзя для нового React),
|
|
392
279
|
// ? промис "выплюнется в пустоту", но НЕ будет отчищен до резолва, а useEffect (и итерация рендера в целом) при этом будет закончен(а)
|
|
393
|
-
|
|
394
|
-
(_clarifyAddressInfo = clarifyAddressInfo(innerValue)) === null || _clarifyAddressInfo === void 0 ? void 0 : (_clarifyAddressInfo$t = _clarifyAddressInfo.then) === null || _clarifyAddressInfo$t === void 0 ? void 0 : _clarifyAddressInfo$t.call(_clarifyAddressInfo, function (res) {
|
|
280
|
+
(_clarifyAddressInfo = clarifyAddressInfo(innerValue)) === null || _clarifyAddressInfo === void 0 || (_clarifyAddressInfo$t = _clarifyAddressInfo.then) === null || _clarifyAddressInfo$t === void 0 || _clarifyAddressInfo$t.call(_clarifyAddressInfo, res => {
|
|
395
281
|
if (res) setInnerValue(res);else {
|
|
396
282
|
setInnerValue(previousValueRef.current);
|
|
397
|
-
setTimeout(
|
|
283
|
+
setTimeout(() => {
|
|
398
284
|
inputRef.current.focus();
|
|
399
285
|
inputRef.current.setSelectionRange(previousValueRef.current.length, previousValueRef.current.length);
|
|
400
286
|
}, 0);
|
|
@@ -402,49 +288,49 @@ var InputAddress = function InputAddress(_ref) {
|
|
|
402
288
|
setIsLoading(false);
|
|
403
289
|
return res;
|
|
404
290
|
});
|
|
405
|
-
}
|
|
291
|
+
}
|
|
292
|
+
// ! Если сверху поменяли эндпоинт и он выдает "облегченный листинг" (айтемы с неполной инфой),
|
|
406
293
|
// ! и НЕ пробросили clarifyAddressInfo, то на этом кейсе велью инпута будет просто зануляться
|
|
407
294
|
// ! (getSelectedItemLabel вернет пустую строку если вкинуть innerValue без всей инфы)
|
|
408
295
|
else setInnerValue(getSelectedItemLabel(innerValue));
|
|
409
|
-
}
|
|
410
|
-
|
|
296
|
+
}
|
|
411
297
|
|
|
298
|
+
// ? Кейс для строчных значений
|
|
412
299
|
if (!isObject) {
|
|
413
300
|
// ? Вызываем верхний onChange если innerValue есть или если нету, но это не после логики уточнения
|
|
414
|
-
if (innerValue || !isLoading) onChange(innerValue);
|
|
415
|
-
|
|
416
|
-
if (innerValue && !isListVisible) setIsListVisible(true);
|
|
417
|
-
|
|
301
|
+
if (innerValue || !isLoading) onChange(innerValue);
|
|
302
|
+
// ? Если innerValue есть и еще не открыт листинг - открываем
|
|
303
|
+
if (innerValue && !isListVisible) setIsListVisible(true);
|
|
304
|
+
// ? Если инпут сфокусирован и значение есть - запрашиваем список вариантов
|
|
418
305
|
if (isFocused && Boolean(innerValue)) getAddressVariantsList();
|
|
419
306
|
}
|
|
420
307
|
}
|
|
421
308
|
}, [innerValue]);
|
|
422
|
-
(0, _react.useEffect)(
|
|
309
|
+
(0, _react.useEffect)(() => {
|
|
423
310
|
if (!isFocused && !isMobile) {
|
|
424
311
|
setIsListVisible(false);
|
|
425
312
|
setHightlightedIndex(null);
|
|
426
313
|
}
|
|
427
314
|
}, [isFocused]);
|
|
428
|
-
(0, _react.useEffect)(
|
|
315
|
+
(0, _react.useEffect)(() => {
|
|
429
316
|
if (!isListVisible) {
|
|
430
317
|
setListItems([]);
|
|
431
318
|
resetListHeight();
|
|
432
319
|
}
|
|
433
|
-
|
|
434
320
|
if (isMobile && isListVisible) {
|
|
435
321
|
setTempInnerValue(innerValue);
|
|
436
322
|
setListHeight();
|
|
437
323
|
}
|
|
438
324
|
}, [isListVisible]);
|
|
439
|
-
(0, _react.useEffect)(
|
|
325
|
+
(0, _react.useEffect)(() => {
|
|
440
326
|
// ? учет изменения value сверху (верхние переназначения велью)
|
|
441
|
-
if (!compareValues(value, innerValue)) setInnerValue(value);
|
|
327
|
+
if (!compareValues(value, innerValue)) setInnerValue(value);
|
|
442
328
|
|
|
329
|
+
// ? useEffect должен быть последним, т.к. рефка меняется в рамках текущей итерации
|
|
443
330
|
previousValueRef.current = value;
|
|
444
331
|
}, [value]);
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
var inputValue = getSelectedItemLabel();
|
|
332
|
+
const renderSearchableInput = () => {
|
|
333
|
+
const inputValue = getSelectedItemLabel();
|
|
448
334
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
449
335
|
className: (0, _classnames.default)("input-address__input-wrapper")
|
|
450
336
|
}, /*#__PURE__*/_react.default.createElement(_Input.default, {
|
|
@@ -453,12 +339,10 @@ var InputAddress = function InputAddress(_ref) {
|
|
|
453
339
|
className: (0, _classnames.default)("input-address__input", className),
|
|
454
340
|
value: inputValue,
|
|
455
341
|
onChange: setInnerValue,
|
|
456
|
-
onFocus:
|
|
342
|
+
onFocus: e => {
|
|
457
343
|
setIsFocused(true);
|
|
458
344
|
},
|
|
459
|
-
onBlur:
|
|
460
|
-
return setIsFocused(false);
|
|
461
|
-
},
|
|
345
|
+
onBlur: () => setIsFocused(false),
|
|
462
346
|
onKeyDown: onKeyDown,
|
|
463
347
|
attributesOfNativeInput: attributesOfNativeInput
|
|
464
348
|
}), isWrongAddress && /*#__PURE__*/_react.default.createElement("div", {
|
|
@@ -478,9 +362,8 @@ var InputAddress = function InputAddress(_ref) {
|
|
|
478
362
|
onClick: onClearClick
|
|
479
363
|
})));
|
|
480
364
|
};
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
var inputValue = getSelectedItemLabel(isListVisible ? tempInnerValue : innerValue);
|
|
365
|
+
const renderInput = () => {
|
|
366
|
+
const inputValue = getSelectedItemLabel(isListVisible ? tempInnerValue : innerValue);
|
|
484
367
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
485
368
|
className: (0, _classnames.default)("input-address__input-wrapper")
|
|
486
369
|
}, /*#__PURE__*/_react.default.createElement(_Input.default, {
|
|
@@ -488,56 +371,45 @@ var InputAddress = function InputAddress(_ref) {
|
|
|
488
371
|
className: (0, _classnames.default)("input-address__input", className),
|
|
489
372
|
value: inputValue,
|
|
490
373
|
onChange: setInnerValue,
|
|
491
|
-
onFocus:
|
|
374
|
+
onFocus: e => {
|
|
492
375
|
var _e$target;
|
|
493
|
-
|
|
494
376
|
setIsListVisible(true);
|
|
495
|
-
e === null || e === void 0
|
|
496
|
-
setTimeout(
|
|
377
|
+
e === null || e === void 0 || (_e$target = e.target) === null || _e$target === void 0 || _e$target.blur();
|
|
378
|
+
setTimeout(() => {
|
|
497
379
|
var _inputRef$current3;
|
|
498
|
-
|
|
499
|
-
return inputRef === null || inputRef === void 0 ? void 0 : (_inputRef$current3 = inputRef.current) === null || _inputRef$current3 === void 0 ? void 0 : _inputRef$current3.focus();
|
|
380
|
+
return inputRef === null || inputRef === void 0 || (_inputRef$current3 = inputRef.current) === null || _inputRef$current3 === void 0 ? void 0 : _inputRef$current3.focus();
|
|
500
381
|
}, 200);
|
|
501
382
|
}
|
|
502
383
|
}));
|
|
503
384
|
};
|
|
504
|
-
|
|
505
|
-
var renderLoader = function renderLoader() {
|
|
385
|
+
const renderLoader = () => {
|
|
506
386
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
507
387
|
className: "input-address__list--loader"
|
|
508
388
|
}, loader || "Loading...");
|
|
509
389
|
};
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
var renderListItem = function renderListItem(item, i) {
|
|
390
|
+
const renderList = () => {
|
|
391
|
+
const renderListItem = (item, i) => {
|
|
513
392
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
514
393
|
key: "input-address__list-item".concat(i),
|
|
515
394
|
className: (0, _classnames.default)("input-address__list--item", {
|
|
516
395
|
"input-address__list--item-hightlighted": i === hightlightedIndex
|
|
517
396
|
}),
|
|
518
|
-
onMouseDown:
|
|
519
|
-
return setItemAsInnerValue(e, item);
|
|
520
|
-
}
|
|
397
|
+
onMouseDown: e => setItemAsInnerValue(e, item)
|
|
521
398
|
}, getListItemLabel(item));
|
|
522
399
|
};
|
|
523
|
-
|
|
524
|
-
var renderListItemCustom = function renderListItemCustom() {
|
|
400
|
+
const renderListItemCustom = () => {
|
|
525
401
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
526
402
|
key: "input-address__list-item--custom",
|
|
527
403
|
className: (0, _classnames.default)("input-address__list--item", "input-address__list--item-custom"),
|
|
528
|
-
onMouseDown:
|
|
529
|
-
return setItemAsInnerValue(e, getSelectedItemLabel());
|
|
530
|
-
}
|
|
404
|
+
onMouseDown: e => setItemAsInnerValue(e, getSelectedItemLabel())
|
|
531
405
|
}, getSelectedItemLabel(), /*#__PURE__*/_react.default.createElement(_reactFeather.AlertTriangle, null), /*#__PURE__*/_react.default.createElement("span", null, "Choose this only if your address is not listed below"));
|
|
532
406
|
};
|
|
533
|
-
|
|
534
|
-
var renderNoItems = function renderNoItems() {
|
|
407
|
+
const renderNoItems = () => {
|
|
535
408
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
536
409
|
className: "input-address__list--no-items"
|
|
537
410
|
}, isMobile && !(innerValue !== null && innerValue !== void 0 && innerValue.length) ? "Please begin entering your address" : noItemsMessage || "No Items");
|
|
538
411
|
};
|
|
539
|
-
|
|
540
|
-
var renderListDesktop = function renderListDesktop() {
|
|
412
|
+
const renderListDesktop = () => {
|
|
541
413
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
542
414
|
className: "input-address__list-wrapper",
|
|
543
415
|
ref: listWrapperRef
|
|
@@ -546,10 +418,7 @@ var InputAddress = function InputAddress(_ref) {
|
|
|
546
418
|
ref: listRef
|
|
547
419
|
}, isListLoading ? renderLoader() : listItems !== null && listItems !== void 0 && listItems.length ? listItems === null || listItems === void 0 ? void 0 : listItems.map(renderListItem) : renderNoItems()));
|
|
548
420
|
};
|
|
549
|
-
|
|
550
|
-
var renderListMobile = function renderListMobile() {
|
|
551
|
-
var _cn;
|
|
552
|
-
|
|
421
|
+
const renderListMobile = () => {
|
|
553
422
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
554
423
|
className: "input-address__list-overlay",
|
|
555
424
|
ref: listOverlayRef,
|
|
@@ -559,20 +428,19 @@ var InputAddress = function InputAddress(_ref) {
|
|
|
559
428
|
ref: listWrapperRef
|
|
560
429
|
}, isMobile && /*#__PURE__*/_react.default.createElement("div", {
|
|
561
430
|
ref: listHeaderRef,
|
|
562
|
-
className: (0, _classnames.default)("".concat(RC, "__list-header"),
|
|
431
|
+
className: (0, _classnames.default)("".concat(RC, "__list-header"), {
|
|
432
|
+
["".concat(RC, "__list-header-with-shadow")]: isScrollableList && isMobile,
|
|
433
|
+
["".concat(RC, "__list-header-with-shadow-hidden")]: scrollTop === 0
|
|
434
|
+
})
|
|
563
435
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
564
436
|
className: (0, _classnames.default)("".concat(RC, "__list-header-row"))
|
|
565
437
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
566
438
|
className: (0, _classnames.default)("".concat(RC, "__list-label"))
|
|
567
439
|
}, label || "Address"), /*#__PURE__*/_react.default.createElement("div", {
|
|
568
440
|
className: (0, _classnames.default)("".concat(RC, "__list-close-icon")),
|
|
569
|
-
onClick:
|
|
570
|
-
return setIsListVisible(false);
|
|
571
|
-
}
|
|
441
|
+
onClick: () => setIsListVisible(false)
|
|
572
442
|
}, /*#__PURE__*/_react.default.createElement(_reactFeather.X, {
|
|
573
|
-
onClick:
|
|
574
|
-
return setIsListVisible(false);
|
|
575
|
-
}
|
|
443
|
+
onClick: () => setIsListVisible(false)
|
|
576
444
|
}))), /*#__PURE__*/_react.default.createElement("div", {
|
|
577
445
|
className: (0, _classnames.default)("".concat(RC, "__list-header-row"))
|
|
578
446
|
}, renderSearchableInput())), /*#__PURE__*/_react.default.createElement("div", {
|
|
@@ -580,10 +448,8 @@ var InputAddress = function InputAddress(_ref) {
|
|
|
580
448
|
ref: listRef
|
|
581
449
|
}, isListLoading ? renderLoader() : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, getSelectedItemLabel() && renderListItemCustom(), listItems === null || listItems === void 0 ? void 0 : listItems.map(renderListItem), !(listItems !== null && listItems !== void 0 && listItems.length) && !getSelectedItemLabel() && renderNoItems()))));
|
|
582
450
|
};
|
|
583
|
-
|
|
584
451
|
return isMobile ? renderListMobile() : renderListDesktop();
|
|
585
452
|
};
|
|
586
|
-
|
|
587
453
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
588
454
|
className: (0, _classnames.default)("input-address", {
|
|
589
455
|
"input-address--error": error || isWrongAddress && !isFocused
|
|
@@ -592,6 +458,4 @@ var InputAddress = function InputAddress(_ref) {
|
|
|
592
458
|
size: "small"
|
|
593
459
|
}), isMobile ? renderInput() : renderSearchableInput(), isListVisible && renderList());
|
|
594
460
|
};
|
|
595
|
-
|
|
596
|
-
var _default = InputAddress;
|
|
597
|
-
exports.default = _default;
|
|
461
|
+
var _default = exports.default = InputAddress;
|