intelicoreact 1.4.13 → 1.4.14
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 +51 -144
- 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/FileLoaderLocal/FileLoaderLocal.js +6 -26
- package/dist/Atomic/FormElements/FileLoaderLocalGroup/FileLoaderLocalGroup.js +19 -35
- 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 +21 -51
- 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 +8 -30
- package/dist/Atomic/FormElements/TagsDropdown/TagsDropdown.js +96 -187
- 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 +3 -17
- 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 -15
- 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 +5 -31
- 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 +7 -19
- package/dist/Atomic/UI/TagList/TagList.js +20 -38
- package/dist/Atomic/UI/UserBox/UserBox.js +1 -13
- package/dist/Classes/AbortableFetch.js +36 -93
- package/dist/Classes/AnimatedHandler.js +3 -7
- package/dist/Classes/RESTAPI/index.js +39 -44
- 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 -44
- 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 +13 -36
- 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,58 +1,43 @@
|
|
|
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 _react = _interopRequireWildcard(require("react"));
|
|
11
|
-
|
|
12
9
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
13
|
-
|
|
14
10
|
var _reactFeather = require("react-feather");
|
|
15
|
-
|
|
16
11
|
var _Input = _interopRequireDefault(require("../../Atomic/FormElements/Input/Input"));
|
|
17
|
-
|
|
18
12
|
var _Spinner = _interopRequireDefault(require("../../Atomic/Layout/Spinner/Spinner"));
|
|
19
|
-
|
|
20
13
|
var _Hint = _interopRequireDefault(require("../../Atomic/UI/Hint/Hint"));
|
|
21
|
-
|
|
22
14
|
var _useIsMobile = _interopRequireDefault(require("../../Functions/useIsMobile"));
|
|
23
|
-
|
|
24
15
|
var _utils = require("../../Functions/utils");
|
|
25
|
-
|
|
26
16
|
require("./InputAddress.scss");
|
|
27
|
-
|
|
28
|
-
function
|
|
29
|
-
|
|
30
|
-
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; }
|
|
31
|
-
|
|
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; }
|
|
32
19
|
const DEFAULT_HINT_MESSAGE = "Select the correct address from the list of suggestions (must contains house number and street name)";
|
|
33
|
-
const RC = "input-address";
|
|
20
|
+
const RC = "input-address";
|
|
34
21
|
|
|
22
|
+
// ? Если равны - true
|
|
35
23
|
const compareValues = (val1, val2) => {
|
|
36
24
|
return typeof val1 === typeof val2 && ((0, _utils.getIsOnlyAnObject)(val1) ? (0, _utils.compare)(val1, val2) : val1 === val2);
|
|
37
25
|
};
|
|
38
|
-
|
|
39
26
|
const throttle = (fn, ms) => {
|
|
40
27
|
let id = null;
|
|
41
28
|
return function () {
|
|
42
29
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
43
30
|
args[_key] = arguments[_key];
|
|
44
31
|
}
|
|
45
|
-
|
|
46
32
|
if (id) clearTimeout(id);
|
|
47
33
|
id = setTimeout(() => {
|
|
48
34
|
fn(...args);
|
|
49
35
|
}, ms);
|
|
50
36
|
};
|
|
51
|
-
};
|
|
52
|
-
|
|
37
|
+
};
|
|
53
38
|
|
|
39
|
+
// Отдает true если value валидное НЕ нулевое число
|
|
54
40
|
const getIsValidNumber = value => Boolean(value) && typeof value === "number" && !Number.isNaN(value);
|
|
55
|
-
|
|
56
41
|
const InputAddress = _ref => {
|
|
57
42
|
let {
|
|
58
43
|
label,
|
|
@@ -75,6 +60,7 @@ const InputAddress = _ref => {
|
|
|
75
60
|
getListItems = () => {},
|
|
76
61
|
clarifyAddressInfo,
|
|
77
62
|
// ! Не делать дефолтного значения! Это и метод и флаг
|
|
63
|
+
|
|
78
64
|
noValidate = false,
|
|
79
65
|
renderSelectedItem,
|
|
80
66
|
renderListItem,
|
|
@@ -105,70 +91,64 @@ const InputAddress = _ref => {
|
|
|
105
91
|
const [isListVisible, setIsListVisible] = (0, _react.useState)(false);
|
|
106
92
|
const isWrongAddress = (0, _react.useMemo)(() => {
|
|
107
93
|
var _innerValue$street;
|
|
108
|
-
|
|
109
94
|
if (noValidate) return false;
|
|
110
|
-
if (innerValue === "") return false;
|
|
111
|
-
|
|
112
|
-
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;
|
|
113
98
|
|
|
99
|
+
// eslint-disable-next-line no-prototype-builtins
|
|
114
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;
|
|
115
101
|
return false;
|
|
116
102
|
}, [innerValue]);
|
|
117
|
-
|
|
118
103
|
const setItemAsInnerValue = (e, item) => {
|
|
119
104
|
if (e instanceof Event) {
|
|
120
105
|
e.preventDefault();
|
|
121
106
|
e.stopPropagation();
|
|
122
107
|
}
|
|
123
|
-
|
|
124
108
|
setTimeout(() => {
|
|
125
109
|
setInnerValue(item);
|
|
126
|
-
|
|
127
110
|
if (isMobile) {
|
|
128
111
|
setIsListVisible(false);
|
|
129
112
|
}
|
|
130
113
|
}, 0);
|
|
131
|
-
};
|
|
132
|
-
|
|
114
|
+
};
|
|
133
115
|
|
|
116
|
+
// ? Базовый метод получения списка вариантов адреса
|
|
134
117
|
const getAddressVariants = (0, _react.useMemo)(() => innerValue => {
|
|
135
118
|
var _getListItems;
|
|
136
|
-
|
|
137
119
|
return (_getListItems = getListItems(innerValue)) === null || _getListItems === void 0 ? void 0 : _getListItems.then(setListItems).finally(() => setIsListLoading(false));
|
|
138
|
-
}, [getListItems]);
|
|
139
|
-
// ? Без useMemo работать НЕ будет (т.к. на каждом перерендере будет создаваться новая ф-я и будет теряться замкнутая переменная id из throttle)
|
|
120
|
+
}, [getListItems]);
|
|
140
121
|
|
|
122
|
+
// ? Метод получения списка вариантов адреса с тротлингом (основным и, если нужно, дополнительным)
|
|
123
|
+
// ? Без useMemo работать НЕ будет (т.к. на каждом перерендере будет создаваться новая ф-я и будет теряться замкнутая переменная id из throttle)
|
|
141
124
|
const getAddressVariantsWithThrottling = (0, _react.useMemo)(() => {
|
|
142
125
|
const execute = getIsValidNumber(additionalThrottleTimeForListingRequest) ? throttle(getAddressVariants, additionalThrottleTimeForListingRequest) : getAddressVariants;
|
|
143
126
|
return getIsValidNumber(throttleTime) ? throttle(execute, throttleTime) : execute;
|
|
144
|
-
}, [getAddressVariants, additionalThrottleTimeForListingRequest, throttleTime]);
|
|
127
|
+
}, [getAddressVariants, additionalThrottleTimeForListingRequest, throttleTime]);
|
|
145
128
|
|
|
129
|
+
// ? Итоговый "получатель" списка вариантов адресов
|
|
146
130
|
const getAddressVariantsList = () => {
|
|
147
|
-
if (!(innerValue !== null && innerValue !== void 0 && innerValue.length)) return null;
|
|
131
|
+
if (!(innerValue !== null && innerValue !== void 0 && innerValue.length)) return null;
|
|
132
|
+
|
|
133
|
+
// ? Вообще с учетом надпись "Loading" в списке вариантов включается в этом месте (т.е. сразу при начале набора),
|
|
148
134
|
// ? то, наверное, можно было НЕ мутить с дополнительным тротлингом )).
|
|
149
135
|
// ? Наверное, можно было увеличить время первичного тротлинга и, наверное, работало бы так же ))
|
|
150
136
|
// ? НО, раз уже сделал )) оставлю, может будет в будущем полезно )
|
|
151
|
-
|
|
152
137
|
setIsListLoading(true);
|
|
153
138
|
getAddressVariantsWithThrottling(innerValue);
|
|
154
139
|
return null;
|
|
155
140
|
};
|
|
156
|
-
|
|
157
141
|
const onClearClick = e => {
|
|
158
142
|
var _inputRef$current;
|
|
159
|
-
|
|
160
143
|
e.preventDefault();
|
|
161
144
|
e.stopPropagation();
|
|
162
|
-
|
|
163
145
|
if (!isMobile) {
|
|
164
146
|
setIsListVisible(false);
|
|
165
147
|
}
|
|
166
|
-
|
|
167
148
|
setInnerValue("");
|
|
168
|
-
inputRef === null || inputRef === void 0
|
|
149
|
+
inputRef === null || inputRef === void 0 || (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 || _inputRef$current.focus();
|
|
169
150
|
setTimeout(() => setIsFocused(true), 0);
|
|
170
151
|
};
|
|
171
|
-
|
|
172
152
|
const onOverlayClick = e => {
|
|
173
153
|
if (e.target === (listOverlayRef === null || listOverlayRef === void 0 ? void 0 : listOverlayRef.current)) {
|
|
174
154
|
e.stopPropagation();
|
|
@@ -178,27 +158,23 @@ const InputAddress = _ref => {
|
|
|
178
158
|
onChange(typeof innerValue === "string" || !onChangeValueTransformer || typeof onChangeValueTransformer !== "function" ? innerValue : onChangeValueTransformer(innerValue));
|
|
179
159
|
}
|
|
180
160
|
};
|
|
181
|
-
|
|
182
161
|
const onKeyDown = keyCode => {
|
|
183
162
|
if (!isListVisible || !isKeyboardControlled) return false;
|
|
184
|
-
|
|
185
163
|
if (keyCode === 13) {
|
|
186
164
|
var _inputRef$current2;
|
|
187
|
-
|
|
188
165
|
// Enter Controller
|
|
189
166
|
setItemAsInnerValue(null, listItems[hightlightedIndex]);
|
|
190
167
|
setHightlightedIndex(null);
|
|
191
|
-
inputRef === null || inputRef === void 0
|
|
168
|
+
inputRef === null || inputRef === void 0 || (_inputRef$current2 = inputRef.current) === null || _inputRef$current2 === void 0 || _inputRef$current2.blur();
|
|
192
169
|
} else {
|
|
193
|
-
var _listRef$current, _listRef$
|
|
194
|
-
|
|
170
|
+
var _listRef$current, _listRef$current2, _newHightlightedEleme;
|
|
195
171
|
let newHightlightedIndex = null;
|
|
196
172
|
const listItemsElements = document.getElementsByClassName("input-address__list--item");
|
|
197
|
-
const listHeight = listRef === null || listRef === void 0
|
|
198
|
-
const listScrollTop = (listRef === null || listRef === void 0
|
|
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;
|
|
199
175
|
const lastItemIndex = parseInt(listItems === null || listItems === void 0 ? void 0 : listItems.length, 10) - 1;
|
|
200
|
-
/** Arrows Controllers **/
|
|
201
176
|
|
|
177
|
+
/** Arrows Controllers **/
|
|
202
178
|
if (keyCode === 40) {
|
|
203
179
|
// Down Key Controller
|
|
204
180
|
if (hightlightedIndex === null || hightlightedIndex === lastItemIndex) {
|
|
@@ -213,107 +189,95 @@ const InputAddress = _ref => {
|
|
|
213
189
|
} else if (hightlightedIndex - 1 >= 0) {
|
|
214
190
|
newHightlightedIndex = hightlightedIndex - 1;
|
|
215
191
|
}
|
|
216
|
-
}
|
|
217
|
-
|
|
192
|
+
}
|
|
218
193
|
|
|
194
|
+
// Scroll to Element
|
|
219
195
|
const newHightlightedElement = listItemsElements[newHightlightedIndex];
|
|
220
|
-
const newHightlightedElementHeight = newHightlightedElement === null || newHightlightedElement === void 0
|
|
196
|
+
const newHightlightedElementHeight = newHightlightedElement === null || newHightlightedElement === void 0 || (_newHightlightedEleme = newHightlightedElement.getBoundingClientRect()) === null || _newHightlightedEleme === void 0 ? void 0 : _newHightlightedEleme.height;
|
|
221
197
|
const newHightlightedElementTopInList = newHightlightedElement === null || newHightlightedElement === void 0 ? void 0 : newHightlightedElement.offsetTop;
|
|
222
|
-
|
|
223
198
|
if (newHightlightedElementTopInList + newHightlightedElementHeight > listScrollTop + listHeight) {
|
|
224
199
|
if (Math.abs(newHightlightedElementTopInList + newHightlightedElementHeight - (listScrollTop + listHeight)) <= newHightlightedElementHeight) {
|
|
225
200
|
var _listRef$current3;
|
|
226
|
-
|
|
227
|
-
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);
|
|
228
202
|
} else {
|
|
229
203
|
var _listRef$current4;
|
|
230
|
-
|
|
231
|
-
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);
|
|
232
205
|
}
|
|
233
206
|
} else if (newHightlightedElementTopInList < listScrollTop) {
|
|
234
207
|
if (Math.abs(newHightlightedElementTopInList - listScrollTop) < newHightlightedElementHeight) {
|
|
235
208
|
var _listRef$current5;
|
|
236
|
-
|
|
237
|
-
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);
|
|
238
210
|
} else {
|
|
239
211
|
var _listRef$current6;
|
|
240
|
-
|
|
241
|
-
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);
|
|
242
213
|
}
|
|
243
214
|
}
|
|
244
|
-
|
|
245
215
|
if (!isMobile) setHightlightedIndex(newHightlightedIndex);
|
|
246
216
|
}
|
|
247
217
|
};
|
|
248
|
-
|
|
249
218
|
const getHintMessage = () => {
|
|
250
219
|
if (!renderHintMessage || typeof renderHintMessage !== "function") return DEFAULT_HINT_MESSAGE;
|
|
251
220
|
return renderHintMessage(innerValue);
|
|
252
221
|
};
|
|
253
|
-
|
|
254
222
|
const getSelectedItemLabel = function () {
|
|
255
223
|
var _value$street;
|
|
256
|
-
|
|
257
224
|
let value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : innerValue;
|
|
258
225
|
if (!value) return "";
|
|
259
226
|
if (typeof value === "string") return value;
|
|
260
227
|
if (typeof renderSelectedItem === "function") renderSelectedItem(value);
|
|
261
|
-
const label = "".concat((value === null || value === void 0 ? void 0 : value.streetNumber) || "", " ").concat((value === null || value === void 0
|
|
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();
|
|
262
229
|
return !label && isLoading ? previousValueRef.current : label;
|
|
263
230
|
};
|
|
264
|
-
|
|
265
231
|
const getListItemLabel = item => {
|
|
266
232
|
if (typeof item === "string") return item;
|
|
267
233
|
if (!renderListItem || typeof renderListItem !== "function") return item === null || item === void 0 ? void 0 : item.fullPrediction;
|
|
268
234
|
return renderListItem(item);
|
|
269
235
|
};
|
|
270
|
-
|
|
271
236
|
const setListHeight = () => {
|
|
272
237
|
if (listWrapperRef !== null && listWrapperRef !== void 0 && listWrapperRef.current && listHeaderRef !== null && listHeaderRef !== void 0 && listHeaderRef.current && listRef.current) {
|
|
273
|
-
var _listWrapperRef$curre,
|
|
274
|
-
|
|
275
|
-
const listWrapperHeight = listWrapperRef === null || listWrapperRef === void 0 ? void 0 : (_listWrapperRef$curre = listWrapperRef.current) === null || _listWrapperRef$curre === void 0 ? void 0 : (_listWrapperRef$curre2 = _listWrapperRef$curre.getBoundingClientRect()) === null || _listWrapperRef$curre2 === void 0 ? void 0 : _listWrapperRef$curre2.height;
|
|
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;
|
|
276
240
|
const listWrapperStyles = getComputedStyle(listWrapperRef === null || listWrapperRef === void 0 ? void 0 : listWrapperRef.current);
|
|
277
|
-
const listHeaderHeight = listHeaderRef === null || listHeaderRef === void 0
|
|
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;
|
|
278
242
|
const listHeight = listWrapperHeight - listHeaderHeight - parseInt(listWrapperStyles.paddingBottom, 10);
|
|
279
243
|
listRef.current.style.maxHeight = "".concat(listHeight, "px");
|
|
280
244
|
}
|
|
281
245
|
};
|
|
282
|
-
|
|
283
246
|
const resetListHeight = () => {
|
|
284
247
|
if (listRef.current) {
|
|
285
248
|
listRef.current.style.maxHeight = "initial";
|
|
286
249
|
}
|
|
287
|
-
};
|
|
288
|
-
// ? Не меняйте вызовы setInnerValue и onChange не разобравшись в логике вызовов
|
|
289
|
-
|
|
250
|
+
};
|
|
290
251
|
|
|
252
|
+
// ? Основной блок работы со значениями адреса
|
|
253
|
+
// ? Не меняйте вызовы setInnerValue и onChange не разобравшись в логике вызовов
|
|
291
254
|
(0, _react.useEffect)(() => {
|
|
292
255
|
// ? Исключение инициализации - равны только при первом рендере компонента,
|
|
293
256
|
// ? т.к. рефка и стейт инициализируются верхним value
|
|
294
257
|
if (!compareValues(innerValue, previousValueRef.current)) {
|
|
295
|
-
const isObject = (0, _utils.getIsOnlyAnObject)(innerValue);
|
|
258
|
+
const isObject = (0, _utils.getIsOnlyAnObject)(innerValue);
|
|
259
|
+
|
|
260
|
+
// ? innerValue меняется либо от ручного ввода, либо от выбора из списка
|
|
296
261
|
// ? Полная информация или нет - напрямую зависит от ответа getListItems
|
|
262
|
+
const isFullInfo = isObject && "streetNumber" in innerValue && "street" in innerValue && "city" in innerValue && "state" in innerValue && "country" in innerValue && "zipCode" in innerValue;
|
|
297
263
|
|
|
298
|
-
|
|
264
|
+
// ? Для старого эндпоинта возвращается список с полной информацией, поэтому на проектах ничего не поменяется,
|
|
299
265
|
// ? если не менять запросник (getListItems), все будет проходить по этой if-ке или по 3-й (для строчных значений)
|
|
300
|
-
|
|
301
266
|
if (isFullInfo) {
|
|
302
267
|
onChange(innerValue);
|
|
303
268
|
setIsLoading(false);
|
|
304
|
-
}
|
|
305
|
-
// ? Предполагается, что при этом в компонент будет прокинута ф-я "уточнятель" (clarifyAddressInfo)
|
|
306
|
-
|
|
269
|
+
}
|
|
307
270
|
|
|
271
|
+
// ? Неполная информация может быть только в том случае, когда метод getListItems использует уже новый эндпоинт гугл-апи.
|
|
272
|
+
// ? Предполагается, что при этом в компонент будет прокинута ф-я "уточнятель" (clarifyAddressInfo)
|
|
308
273
|
if (isObject && !isFullInfo) {
|
|
309
274
|
if (typeof clarifyAddressInfo === "function") {
|
|
310
275
|
var _clarifyAddressInfo, _clarifyAddressInfo$t;
|
|
311
|
-
|
|
312
|
-
|
|
276
|
+
setIsLoading(true);
|
|
277
|
+
// ? Предполагается, что clarifyAddressInfo - асинхронная ф-я, запросник уточнения опции
|
|
313
278
|
// ? Никаких await-ов НЕ нужно (тем более что в useEffect и нельзя для нового React),
|
|
314
279
|
// ? промис "выплюнется в пустоту", но НЕ будет отчищен до резолва, а useEffect (и итерация рендера в целом) при этом будет закончен(а)
|
|
315
|
-
|
|
316
|
-
(_clarifyAddressInfo = clarifyAddressInfo(innerValue)) === null || _clarifyAddressInfo === void 0 ? void 0 : (_clarifyAddressInfo$t = _clarifyAddressInfo.then) === null || _clarifyAddressInfo$t === void 0 ? void 0 : _clarifyAddressInfo$t.call(_clarifyAddressInfo, res => {
|
|
280
|
+
(_clarifyAddressInfo = clarifyAddressInfo(innerValue)) === null || _clarifyAddressInfo === void 0 || (_clarifyAddressInfo$t = _clarifyAddressInfo.then) === null || _clarifyAddressInfo$t === void 0 || _clarifyAddressInfo$t.call(_clarifyAddressInfo, res => {
|
|
317
281
|
if (res) setInnerValue(res);else {
|
|
318
282
|
setInnerValue(previousValueRef.current);
|
|
319
283
|
setTimeout(() => {
|
|
@@ -324,19 +288,20 @@ const InputAddress = _ref => {
|
|
|
324
288
|
setIsLoading(false);
|
|
325
289
|
return res;
|
|
326
290
|
});
|
|
327
|
-
}
|
|
291
|
+
}
|
|
292
|
+
// ! Если сверху поменяли эндпоинт и он выдает "облегченный листинг" (айтемы с неполной инфой),
|
|
328
293
|
// ! и НЕ пробросили clarifyAddressInfo, то на этом кейсе велью инпута будет просто зануляться
|
|
329
294
|
// ! (getSelectedItemLabel вернет пустую строку если вкинуть innerValue без всей инфы)
|
|
330
295
|
else setInnerValue(getSelectedItemLabel(innerValue));
|
|
331
|
-
}
|
|
332
|
-
|
|
296
|
+
}
|
|
333
297
|
|
|
298
|
+
// ? Кейс для строчных значений
|
|
334
299
|
if (!isObject) {
|
|
335
300
|
// ? Вызываем верхний onChange если innerValue есть или если нету, но это не после логики уточнения
|
|
336
|
-
if (innerValue || !isLoading) onChange(innerValue);
|
|
337
|
-
|
|
338
|
-
if (innerValue && !isListVisible) setIsListVisible(true);
|
|
339
|
-
|
|
301
|
+
if (innerValue || !isLoading) onChange(innerValue);
|
|
302
|
+
// ? Если innerValue есть и еще не открыт листинг - открываем
|
|
303
|
+
if (innerValue && !isListVisible) setIsListVisible(true);
|
|
304
|
+
// ? Если инпут сфокусирован и значение есть - запрашиваем список вариантов
|
|
340
305
|
if (isFocused && Boolean(innerValue)) getAddressVariantsList();
|
|
341
306
|
}
|
|
342
307
|
}
|
|
@@ -352,7 +317,6 @@ const InputAddress = _ref => {
|
|
|
352
317
|
setListItems([]);
|
|
353
318
|
resetListHeight();
|
|
354
319
|
}
|
|
355
|
-
|
|
356
320
|
if (isMobile && isListVisible) {
|
|
357
321
|
setTempInnerValue(innerValue);
|
|
358
322
|
setListHeight();
|
|
@@ -360,11 +324,11 @@ const InputAddress = _ref => {
|
|
|
360
324
|
}, [isListVisible]);
|
|
361
325
|
(0, _react.useEffect)(() => {
|
|
362
326
|
// ? учет изменения value сверху (верхние переназначения велью)
|
|
363
|
-
if (!compareValues(value, innerValue)) setInnerValue(value);
|
|
327
|
+
if (!compareValues(value, innerValue)) setInnerValue(value);
|
|
364
328
|
|
|
329
|
+
// ? useEffect должен быть последним, т.к. рефка меняется в рамках текущей итерации
|
|
365
330
|
previousValueRef.current = value;
|
|
366
331
|
}, [value]);
|
|
367
|
-
|
|
368
332
|
const renderSearchableInput = () => {
|
|
369
333
|
const inputValue = getSelectedItemLabel();
|
|
370
334
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
@@ -398,7 +362,6 @@ const InputAddress = _ref => {
|
|
|
398
362
|
onClick: onClearClick
|
|
399
363
|
})));
|
|
400
364
|
};
|
|
401
|
-
|
|
402
365
|
const renderInput = () => {
|
|
403
366
|
const inputValue = getSelectedItemLabel(isListVisible ? tempInnerValue : innerValue);
|
|
404
367
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
@@ -410,24 +373,20 @@ const InputAddress = _ref => {
|
|
|
410
373
|
onChange: setInnerValue,
|
|
411
374
|
onFocus: e => {
|
|
412
375
|
var _e$target;
|
|
413
|
-
|
|
414
376
|
setIsListVisible(true);
|
|
415
|
-
e === null || e === void 0
|
|
377
|
+
e === null || e === void 0 || (_e$target = e.target) === null || _e$target === void 0 || _e$target.blur();
|
|
416
378
|
setTimeout(() => {
|
|
417
379
|
var _inputRef$current3;
|
|
418
|
-
|
|
419
|
-
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();
|
|
420
381
|
}, 200);
|
|
421
382
|
}
|
|
422
383
|
}));
|
|
423
384
|
};
|
|
424
|
-
|
|
425
385
|
const renderLoader = () => {
|
|
426
386
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
427
387
|
className: "input-address__list--loader"
|
|
428
388
|
}, loader || "Loading...");
|
|
429
389
|
};
|
|
430
|
-
|
|
431
390
|
const renderList = () => {
|
|
432
391
|
const renderListItem = (item, i) => {
|
|
433
392
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
@@ -438,7 +397,6 @@ const InputAddress = _ref => {
|
|
|
438
397
|
onMouseDown: e => setItemAsInnerValue(e, item)
|
|
439
398
|
}, getListItemLabel(item));
|
|
440
399
|
};
|
|
441
|
-
|
|
442
400
|
const renderListItemCustom = () => {
|
|
443
401
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
444
402
|
key: "input-address__list-item--custom",
|
|
@@ -446,13 +404,11 @@ const InputAddress = _ref => {
|
|
|
446
404
|
onMouseDown: e => setItemAsInnerValue(e, getSelectedItemLabel())
|
|
447
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"));
|
|
448
406
|
};
|
|
449
|
-
|
|
450
407
|
const renderNoItems = () => {
|
|
451
408
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
452
409
|
className: "input-address__list--no-items"
|
|
453
410
|
}, isMobile && !(innerValue !== null && innerValue !== void 0 && innerValue.length) ? "Please begin entering your address" : noItemsMessage || "No Items");
|
|
454
411
|
};
|
|
455
|
-
|
|
456
412
|
const renderListDesktop = () => {
|
|
457
413
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
458
414
|
className: "input-address__list-wrapper",
|
|
@@ -462,7 +418,6 @@ const InputAddress = _ref => {
|
|
|
462
418
|
ref: listRef
|
|
463
419
|
}, isListLoading ? renderLoader() : listItems !== null && listItems !== void 0 && listItems.length ? listItems === null || listItems === void 0 ? void 0 : listItems.map(renderListItem) : renderNoItems()));
|
|
464
420
|
};
|
|
465
|
-
|
|
466
421
|
const renderListMobile = () => {
|
|
467
422
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
468
423
|
className: "input-address__list-overlay",
|
|
@@ -493,10 +448,8 @@ const InputAddress = _ref => {
|
|
|
493
448
|
ref: listRef
|
|
494
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()))));
|
|
495
450
|
};
|
|
496
|
-
|
|
497
451
|
return isMobile ? renderListMobile() : renderListDesktop();
|
|
498
452
|
};
|
|
499
|
-
|
|
500
453
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
501
454
|
className: (0, _classnames.default)("input-address", {
|
|
502
455
|
"input-address--error": error || isWrongAddress && !isFocused
|
|
@@ -505,6 +458,4 @@ const InputAddress = _ref => {
|
|
|
505
458
|
size: "small"
|
|
506
459
|
}), isMobile ? renderInput() : renderSearchableInput(), isListVisible && renderList());
|
|
507
460
|
};
|
|
508
|
-
|
|
509
|
-
var _default = InputAddress;
|
|
510
|
-
exports.default = _default;
|
|
461
|
+
var _default = exports.default = InputAddress;
|
|
@@ -1,30 +1,19 @@
|
|
|
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 _reactFeather = require("react-feather");
|
|
17
|
-
|
|
18
12
|
var _Input = _interopRequireDefault(require("../../Atomic/FormElements/Input/Input"));
|
|
19
|
-
|
|
20
13
|
var _utils = require("../../Functions/utils");
|
|
21
|
-
|
|
22
14
|
require("./InputPassword.scss");
|
|
23
|
-
|
|
24
|
-
function
|
|
25
|
-
|
|
26
|
-
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; }
|
|
27
|
-
|
|
15
|
+
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); }
|
|
16
|
+
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; }
|
|
28
17
|
const InputPassword = _ref => {
|
|
29
18
|
let {
|
|
30
19
|
field = {},
|
|
@@ -36,9 +25,8 @@ const InputPassword = _ref => {
|
|
|
36
25
|
const handle = {
|
|
37
26
|
changeView: () => {
|
|
38
27
|
var _inputWrapper$current;
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
input === null || input === void 0 ? void 0 : input.focus();
|
|
28
|
+
const input = inputWrapper === null || inputWrapper === void 0 || (_inputWrapper$current = inputWrapper.current) === null || _inputWrapper$current === void 0 ? void 0 : _inputWrapper$current.querySelector("input");
|
|
29
|
+
input === null || input === void 0 || input.focus();
|
|
42
30
|
(0, _utils.setCarretToEnd)(input);
|
|
43
31
|
setSP(!showPassword);
|
|
44
32
|
}
|
|
@@ -63,6 +51,4 @@ const InputPassword = _ref => {
|
|
|
63
51
|
className: "password-icon"
|
|
64
52
|
})));
|
|
65
53
|
};
|
|
66
|
-
|
|
67
|
-
var _default = InputPassword;
|
|
68
|
-
exports.default = _default;
|
|
54
|
+
var _default = exports.default = InputPassword;
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
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
|
});
|
|
@@ -11,5 +10,4 @@ Object.defineProperty(exports, "Button", {
|
|
|
11
10
|
return _Button.default;
|
|
12
11
|
}
|
|
13
12
|
});
|
|
14
|
-
|
|
15
13
|
var _Button = _interopRequireDefault(require("./Atomic/UI/Button/Button"));
|
package/package.json
CHANGED
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.DefaultPhoneIcon = exports.DefaultEmalIcon = void 0;
|
|
9
|
-
|
|
10
|
-
var _react = _interopRequireDefault(require("react"));
|
|
11
|
-
|
|
12
|
-
/* eslint-disable react/no-unknown-property */
|
|
13
|
-
var DefaultEmalIcon = function DefaultEmalIcon() {
|
|
14
|
-
return /*#__PURE__*/_react.default.createElement("svg", {
|
|
15
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
16
|
-
width: "16",
|
|
17
|
-
height: "16",
|
|
18
|
-
viewBox: "0 0 16 16",
|
|
19
|
-
fill: "none"
|
|
20
|
-
}, /*#__PURE__*/_react.default.createElement("mask", {
|
|
21
|
-
id: "mask0_18590_7794",
|
|
22
|
-
style: {
|
|
23
|
-
maskType: 'alpha'
|
|
24
|
-
},
|
|
25
|
-
maskUnits: "userSpaceOnUse",
|
|
26
|
-
x: "0",
|
|
27
|
-
y: "0",
|
|
28
|
-
width: "16",
|
|
29
|
-
height: "16"
|
|
30
|
-
}, /*#__PURE__*/_react.default.createElement("path", {
|
|
31
|
-
d: "M2.66659 2.66675H13.3333C14.0666 2.66675 14.6666 3.26675 14.6666 4.00008V12.0001C14.6666 12.7334 14.0666 13.3334 13.3333 13.3334H2.66659C1.93325 13.3334 1.33325 12.7334 1.33325 12.0001V4.00008C1.33325 3.26675 1.93325 2.66675 2.66659 2.66675Z",
|
|
32
|
-
stroke: "black",
|
|
33
|
-
strokeWidth: "1.07",
|
|
34
|
-
strokeLinecap: "round",
|
|
35
|
-
strokeLinejoin: "round"
|
|
36
|
-
}), /*#__PURE__*/_react.default.createElement("path", {
|
|
37
|
-
d: "M14.6666 4L7.99992 8.66667L1.33325 4",
|
|
38
|
-
stroke: "black",
|
|
39
|
-
width: "1.07",
|
|
40
|
-
linecap: "round",
|
|
41
|
-
linejoin: "round"
|
|
42
|
-
})), /*#__PURE__*/_react.default.createElement("g", {
|
|
43
|
-
mask: "url(#mask0_18590_7794)"
|
|
44
|
-
}, /*#__PURE__*/_react.default.createElement("rect", {
|
|
45
|
-
width: "16",
|
|
46
|
-
height: "16",
|
|
47
|
-
fill: "#1F7499"
|
|
48
|
-
})));
|
|
49
|
-
};
|
|
50
|
-
|
|
51
|
-
exports.DefaultEmalIcon = DefaultEmalIcon;
|
|
52
|
-
|
|
53
|
-
var DefaultPhoneIcon = function DefaultPhoneIcon() {
|
|
54
|
-
return /*#__PURE__*/_react.default.createElement("svg", {
|
|
55
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
56
|
-
width: "16",
|
|
57
|
-
height: "16",
|
|
58
|
-
viewBox: "0 0 16 16",
|
|
59
|
-
fill: "none"
|
|
60
|
-
}, /*#__PURE__*/_react.default.createElement("mask", {
|
|
61
|
-
id: "mask0_18590_7803",
|
|
62
|
-
style: {
|
|
63
|
-
maskType: 'alpha'
|
|
64
|
-
},
|
|
65
|
-
maskUnits: "userSpaceOnUse",
|
|
66
|
-
x: "0",
|
|
67
|
-
y: "0",
|
|
68
|
-
width: "16",
|
|
69
|
-
height: "16"
|
|
70
|
-
}, /*#__PURE__*/_react.default.createElement("path", {
|
|
71
|
-
d: "M11.3333 1.33325H4.66659C3.93021 1.33325 3.33325 1.93021 3.33325 2.66659V13.3333C3.33325 14.0696 3.93021 14.6666 4.66659 14.6666H11.3333C12.0696 14.6666 12.6666 14.0696 12.6666 13.3333V2.66659C12.6666 1.93021 12.0696 1.33325 11.3333 1.33325Z",
|
|
72
|
-
stroke: "black",
|
|
73
|
-
strokeWidth: "1.07",
|
|
74
|
-
strokeLinecap: "round",
|
|
75
|
-
strokeLinejoin: "round"
|
|
76
|
-
}), /*#__PURE__*/_react.default.createElement("path", {
|
|
77
|
-
d: "M8 12H8.0075",
|
|
78
|
-
stroke: "black",
|
|
79
|
-
width: "1.07",
|
|
80
|
-
linecap: "round",
|
|
81
|
-
linejoin: "round"
|
|
82
|
-
})), /*#__PURE__*/_react.default.createElement("g", {
|
|
83
|
-
mask: "url(#mask0_18590_7803)"
|
|
84
|
-
}, /*#__PURE__*/_react.default.createElement("rect", {
|
|
85
|
-
width: "16",
|
|
86
|
-
height: "16",
|
|
87
|
-
fill: "#1F7499"
|
|
88
|
-
})));
|
|
89
|
-
};
|
|
90
|
-
|
|
91
|
-
exports.DefaultPhoneIcon = DefaultPhoneIcon;
|