intelicoreact 1.4.76 → 1.4.78
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Atomic/FormElements/ActionAlert/ActionAlert.js +9 -1
- package/dist/Atomic/FormElements/AdvancedStatus/AdvancedStatus.js +10 -1
- package/dist/Atomic/FormElements/Calendar/Calendar.js +24 -4
- package/dist/Atomic/FormElements/CheckboxInput/CheckboxInput.js +10 -1
- package/dist/Atomic/FormElements/CheckboxesLine/CheckboxesLine.js +14 -2
- package/dist/Atomic/FormElements/Datepicker/Datepicker.js +54 -5
- package/dist/Atomic/FormElements/Datepicker/components/Calendar.js +21 -3
- package/dist/Atomic/FormElements/Dropdown/Dropdown.js +145 -52
- package/dist/Atomic/FormElements/Dropdown/components/DropdownLoader.js +7 -1
- package/dist/Atomic/FormElements/DropdownLiveSearch/DropdownLiveSearch.js +91 -25
- package/dist/Atomic/FormElements/FileLoader/FileLoader.js +15 -3
- package/dist/Atomic/FormElements/FileLoader/partial/LoadZone.js +29 -15
- package/dist/Atomic/FormElements/FileLoader/partial/LoadedContent.js +15 -5
- package/dist/Atomic/FormElements/FileLoaderDescription/FileLoaderDescription.js +23 -4
- package/dist/Atomic/FormElements/FileLoaderLocal/FileLoaderLocal.js +26 -6
- package/dist/Atomic/FormElements/FileLoaderLocalGroup/FileLoaderLocalGroup.js +38 -19
- package/dist/Atomic/FormElements/FormattedRawSSN/FormattedRawSSN.js +38 -9
- package/dist/Atomic/FormElements/Input/Input.js +60 -25
- package/dist/Atomic/FormElements/InputCalendar/InputCalendar.js +31 -4
- package/dist/Atomic/FormElements/InputColor/InputColor.js +14 -4
- package/dist/Atomic/FormElements/InputCurrency/InputCurrency.js +29 -6
- package/dist/Atomic/FormElements/InputDateRange/InputDateRange.js +43 -8
- package/dist/Atomic/FormElements/InputDateRange/components/DateInput.js +21 -3
- package/dist/Atomic/FormElements/InputDateRange/components/Datepicker.js +81 -58
- package/dist/Atomic/FormElements/InputDateRange/components/OpenedPart.js +41 -6
- package/dist/Atomic/FormElements/InputDateRange/components/SelectItem.js +8 -1
- package/dist/Atomic/FormElements/InputDateRange/dependencies.js +46 -16
- package/dist/Atomic/FormElements/InputLink/InputLink.js +23 -6
- package/dist/Atomic/FormElements/InputMask/InputCarretPosition.js +4 -0
- package/dist/Atomic/FormElements/InputMask/InputMask.js +208 -77
- package/dist/Atomic/FormElements/InputMask/functions.js +28 -2
- package/dist/Atomic/FormElements/InputMask2/InputMask2.js +119 -43
- package/dist/Atomic/FormElements/InputMask2/functions.js +28 -2
- package/dist/Atomic/FormElements/InputMask3/InputMask3.js +137 -44
- package/dist/Atomic/FormElements/InputMask3/functions.js +28 -2
- package/dist/Atomic/FormElements/InputWithAction/InputWithAction.js +17 -3
- package/dist/Atomic/FormElements/InputsRow/InputsRow.js +24 -5
- package/dist/Atomic/FormElements/Label/Label.js +9 -1
- package/dist/Atomic/FormElements/MobileCalendar/MobileCalendar.js +73 -35
- package/dist/Atomic/FormElements/MultiSelect/MultiSelect.js +15 -3
- package/dist/Atomic/FormElements/NumericInput/NumericInput.js +44 -23
- package/dist/Atomic/FormElements/RadioGroup/RadioGroup.js +17 -7
- package/dist/Atomic/FormElements/RadioGroupWithInput/RadioGroupWithInput.js +14 -3
- package/dist/Atomic/FormElements/RadioInput/RadioInput.js +10 -1
- package/dist/Atomic/FormElements/RadioRowSwitcher/RadioRowSwitcher.js +14 -3
- package/dist/Atomic/FormElements/RangeCalendar/RangeCalendar.js +23 -3
- package/dist/Atomic/FormElements/RangeInputs/RangeInputs.js +34 -17
- package/dist/Atomic/FormElements/RangeList/RangeList.js +25 -6
- package/dist/Atomic/FormElements/RangeList/partial/RangeListRow.js +11 -1
- package/dist/Atomic/FormElements/RangeSlider/RangeSlider.js +85 -14
- package/dist/Atomic/FormElements/RangeSlider2/RangeSlider2.js +132 -43
- package/dist/Atomic/FormElements/SwitchableRow/SwitchableRow.js +10 -1
- package/dist/Atomic/FormElements/Switcher/Switcher.js +10 -1
- package/dist/Atomic/FormElements/SwitcherCheckbox/SwitcherCheckbox.js +13 -1
- package/dist/Atomic/FormElements/SwitcherHide/SwitcherHide.js +10 -1
- package/dist/Atomic/FormElements/SwitcherRadio/SwitcherRadio.js +17 -2
- package/dist/Atomic/FormElements/SwitcherRange/SwitcherRange.js +17 -3
- package/dist/Atomic/FormElements/SwitcherRangeList/SwitcherRangeList.js +11 -1
- package/dist/Atomic/FormElements/SwitcherTagsDropdown/SwitcherTagsDropdown.js +29 -6
- package/dist/Atomic/FormElements/SwitcherTagsDropdown/partial/States.js +3 -2
- package/dist/Atomic/FormElements/SwitcherTextarea/SwitcherTextarea.js +12 -1
- package/dist/Atomic/FormElements/TagListToDropdown/TagListToDropdown.js +23 -6
- package/dist/Atomic/FormElements/TagsDropdown/TagsDropdown.js +223 -105
- package/dist/Atomic/FormElements/Text/Text.js +16 -10
- package/dist/Atomic/FormElements/TextSwitcher/TextSwitcher.js +9 -1
- package/dist/Atomic/FormElements/Textarea/Textarea.js +16 -5
- package/dist/Atomic/FormElements/TieredCheckboxes/TieredCheckboxes.js +35 -6
- package/dist/Atomic/FormElements/TieredCheckboxes/partial/AccordionWithCheckbox.js +13 -4
- package/dist/Atomic/FormElements/TimeRange/TimeRange.js +21 -7
- package/dist/Atomic/FormElements/UserContacts/UserContacts.js +35 -8
- package/dist/Atomic/FormElements/UserContacts/partial/defaultIcons.js +91 -0
- package/dist/Atomic/FormElements/VariantsListRadio/VariantsListRadio.js +18 -5
- package/dist/Atomic/FormElements/VariantsListRadio/partials/VariantsListRadioItem.js +10 -3
- package/dist/Atomic/FormElements/WidgetPseudoTable/WidgetPseudoTable.js +11 -3
- package/dist/Atomic/FormElements/WidgetPseudoTable/partial/constructor.js +2 -1
- package/dist/Atomic/FormElements/WidgetWithSwitchableRows/WidgetWithSwitchableRows.js +12 -5
- package/dist/Atomic/FormElements/WidgetWithSwitchableRows/partial/constructor.js +3 -3
- package/dist/Atomic/Layout/Header/Header.js +15 -3
- package/dist/Atomic/Layout/MainMenu/MainMenu.js +20 -3
- package/dist/Atomic/Layout/Spinner/Spinner.js +8 -1
- package/dist/Atomic/UI/Accordion/Accordion.js +19 -3
- package/dist/Atomic/UI/Accordion/AccordionItem.js +23 -9
- package/dist/Atomic/UI/AccordionTable/AccordionTable.js +32 -7
- package/dist/Atomic/UI/AccordionText/AccordionText.js +17 -3
- package/dist/Atomic/UI/AdvancedTag/AdvTag.js +21 -4
- package/dist/Atomic/UI/AdvancedTag/AdvancedTags.js +15 -3
- package/dist/Atomic/UI/Alert/Alert.js +19 -3
- package/dist/Atomic/UI/Arrow/Arrow.js +16 -3
- package/dist/Atomic/UI/Box/Box.js +9 -3
- package/dist/Atomic/UI/Button/Button.js +11 -2
- package/dist/Atomic/UI/ButtonsBar/ButtonsBar.js +10 -1
- package/dist/Atomic/UI/Chart/Chart.js +29 -4
- package/dist/Atomic/UI/Chart/partial/Chart.constants.js +19 -11
- package/dist/Atomic/UI/Chart/partial/ChartTypeSwitcherIcon/ChartTypeSwitcherIcon.js +12 -1
- package/dist/Atomic/UI/Chart/partial/datasetSetters.js +34 -11
- package/dist/Atomic/UI/Chart/partial/optionsConstructor.js +56 -82
- package/dist/Atomic/UI/Chart/partial/optionsSetters.js +19 -15
- package/dist/Atomic/UI/Chart/partial/utils.js +20 -6
- package/dist/Atomic/UI/CircleProgressBar/CircleProgressBar.js +13 -3
- package/dist/Atomic/UI/DateTime/DateTime.js +14 -3
- package/dist/Atomic/UI/DebugContainer/DebugContainer.js +16 -4
- package/dist/Atomic/UI/DebugContainer/useDebugContainer.js +11 -3
- package/dist/Atomic/UI/DoubleString/DoubleString.js +17 -5
- package/dist/Atomic/UI/DynamicIcon/DynamicIcon.js +10 -3
- package/dist/Atomic/UI/ExampleChartIntegration/ExampleChartIntegration.js +52 -17
- package/dist/Atomic/UI/ExampleChartIntegration/partial/utils.js +29 -1
- package/dist/Atomic/UI/Hint/Hint.js +39 -13
- package/dist/Atomic/UI/Hint/partials/_utils.js +19 -4
- package/dist/Atomic/UI/Modal/Modal.js +28 -6
- package/dist/Atomic/UI/Modal/ModalHOC.js +9 -1
- package/dist/Atomic/UI/Modal/partials/ModalFooter.js +7 -1
- package/dist/Atomic/UI/Modal/partials/ModalTitle.js +8 -1
- package/dist/Atomic/UI/Modal/partials/useMobileModal.js +49 -32
- package/dist/Atomic/UI/ModalBackup/Modal.js +174 -0
- package/dist/Atomic/UI/ModalBackup/Modal.scss +333 -0
- package/dist/Atomic/UI/ModalBackup/ModalHOC.js +51 -0
- package/dist/Atomic/UI/ModalBackup/partials/ModalFooter.js +24 -0
- package/dist/Atomic/UI/ModalBackup/partials/ModalTitle.js +41 -0
- package/dist/Atomic/UI/MonoAccordion/MonoAccordion.js +21 -6
- package/dist/Atomic/UI/NavLine/NavLine.js +55 -26
- package/dist/Atomic/UI/NavLine/Tabs.js +3 -2
- package/dist/Atomic/UI/PageTitle/PageTitle.js +10 -2
- package/dist/Atomic/UI/PieChart/PieChart.js +10 -1
- package/dist/Atomic/UI/Price/Price.js +8 -3
- package/dist/Atomic/UI/PriceRange/PriceRange.js +7 -1
- package/dist/Atomic/UI/ProgressLine/ProgressLine.js +16 -1
- package/dist/Atomic/UI/Status/Status.js +8 -1
- package/dist/Atomic/UI/Table/Partials/TdCell.js +29 -5
- package/dist/Atomic/UI/Table/Partials/TdHeader.js +11 -1
- package/dist/Atomic/UI/Table/Partials/TdRow.js +17 -5
- package/dist/Atomic/UI/Table/Partials/TdTitle.js +14 -3
- package/dist/Atomic/UI/Table/Table.js +12 -1
- package/dist/Atomic/UI/Table/TdTypes/TdActions.js +18 -2
- package/dist/Atomic/UI/Table/TdTypes/TdPriority.js +9 -1
- package/dist/Atomic/UI/Table/TdTypes/TdRange.js +4 -1
- package/dist/Atomic/UI/Table/TdTypes/TdWeight.js +13 -1
- package/dist/Atomic/UI/Tag/Tag.js +26 -11
- package/dist/Atomic/UI/TagList/TagList.js +52 -21
- package/dist/Atomic/UI/TagList/TagList.scss +3 -2
- package/dist/Atomic/UI/UserBox/UserBox.js +13 -1
- package/dist/Atomic/UI/WizardStepper/constructor.js +11 -3
- package/dist/Atomic/UI/WizardStepper/index.js +5 -1
- package/dist/Atomic/UI/WizardStepper/ui/StateIcon/StateIcon.js +10 -0
- package/dist/Atomic/UI/WizardStepper/ui/StateIcon/index.js +4 -1
- package/dist/Atomic/UI/WizardStepper/ui/StepRow/StepRow.js +17 -2
- package/dist/Atomic/UI/WizardStepper/ui/StepRow/index.js +5 -1
- package/dist/Atomic/UI/WizardStepper/ui/StepWrapper/StepWrapper.js +15 -1
- package/dist/Atomic/UI/WizardStepper/ui/StepWrapper/index.js +5 -1
- package/dist/Atomic/UI/WizardStepper/ui/icons.js +9 -2
- package/dist/Atomic/UI/WizardStepper/ui/index.js +5 -1
- package/dist/Classes/AbortableFetch.js +93 -36
- package/dist/Classes/AnimatedHandler.js +7 -3
- package/dist/Classes/RESTAPI/index.js +43 -39
- package/dist/Classes/RESTAPI/partials/AbortableFetch.js +93 -35
- package/dist/Classes/RESTAPI/partials/ApiBase.js +9 -1
- package/dist/Classes/RESTAPI/partials/ApiRequestCreators.js +32 -24
- package/dist/Classes/RESTAPI/partials/ApiUtils.js +41 -34
- package/dist/Classes/RESTAPI/partials/CredentialsProcessing.js +46 -21
- package/dist/Classes/RESTAPI/partials/Utils.js +19 -6
- package/dist/Classes/RESTAPI/partials/_outerDependencies.js +6 -2
- package/dist/Classes/RESTAPI/partials/_utils.js +39 -16
- package/dist/Constants/index.constants.js +15 -8
- package/dist/Functions/Portal.js +16 -5
- package/dist/Functions/customEventListener.js +17 -4
- package/dist/Functions/fieldValueFormatters.js +83 -43
- package/dist/Functions/hooks/useFormFieldsChangesManager.js +26 -23
- package/dist/Functions/locale/createTranslator.js +9 -4
- package/dist/Functions/operations.js +22 -12
- package/dist/Functions/presets/inputMaskPresets.js +11 -9
- package/dist/Functions/presets/inputPresets.js +11 -8
- package/dist/Functions/presets/mobileKeyboardTypesPresets.js +9 -7
- package/dist/Functions/schemas.js +13 -6
- package/dist/Functions/useBodyScrollLock.js +6 -1
- package/dist/Functions/useClickOutside.js +4 -0
- package/dist/Functions/useDebounce.js +7 -2
- package/dist/Functions/useFieldFocus.js +18 -6
- package/dist/Functions/useFormTools/form-drivers/ArrayWithObjects.js +9 -0
- package/dist/Functions/useFormTools/form-drivers/ObjectWithIterableObjects.js +23 -12
- package/dist/Functions/useFormTools/form-drivers/ObjectWithNamedKeyObjects.js +15 -6
- package/dist/Functions/useFormTools/functions/General.js +28 -18
- package/dist/Functions/useFormTools/functions/RenderFields.js +11 -2
- package/dist/Functions/useFormTools/functions/usePrevious.js +5 -1
- package/dist/Functions/useFormTools/index.js +144 -85
- package/dist/Functions/useInputHighlightError.js +12 -3
- package/dist/Functions/useIsMobile.js +13 -7
- package/dist/Functions/useKeyPress/useHandleKeyPress.js +7 -1
- package/dist/Functions/useKeyPress/useKeyPress.js +9 -1
- package/dist/Functions/useLocalStorage.js +9 -1
- package/dist/Functions/useLocationParams.js +5 -4
- package/dist/Functions/useMediaQuery.js +9 -3
- package/dist/Functions/useMetaInfo.js +10 -3
- package/dist/Functions/useMouseUpOutside.js +3 -0
- package/dist/Functions/useOnlineStatus.js +9 -1
- package/dist/Functions/usePasswordChecker.js +20 -4
- package/dist/Functions/usePrevious.js +5 -1
- package/dist/Functions/useResize.js +10 -2
- package/dist/Functions/useScrollTo.js +7 -2
- package/dist/Functions/useToggle.js +5 -1
- package/dist/Functions/utils.js +131 -56
- package/dist/Molecular/CustomIcons/components/AffiliateNetworks.js +9 -2
- package/dist/Molecular/CustomIcons/components/AlertCircle.js +9 -2
- package/dist/Molecular/CustomIcons/components/AppStore.js +9 -2
- package/dist/Molecular/CustomIcons/components/Arrow.js +9 -2
- package/dist/Molecular/CustomIcons/components/ArrowDown.js +9 -2
- package/dist/Molecular/CustomIcons/components/ArrowLeft.js +9 -2
- package/dist/Molecular/CustomIcons/components/ArrowRight.js +9 -2
- package/dist/Molecular/CustomIcons/components/ArrowUp.js +9 -2
- package/dist/Molecular/CustomIcons/components/Bell.js +9 -2
- package/dist/Molecular/CustomIcons/components/Button.js +9 -2
- package/dist/Molecular/CustomIcons/components/Campaigns.js +9 -2
- package/dist/Molecular/CustomIcons/components/Check.js +9 -2
- package/dist/Molecular/CustomIcons/components/Check2.js +9 -2
- package/dist/Molecular/CustomIcons/components/ChevronDown.js +9 -2
- package/dist/Molecular/CustomIcons/components/ChevronDownDisabled.js +9 -2
- package/dist/Molecular/CustomIcons/components/ChevronLeft.js +9 -2
- package/dist/Molecular/CustomIcons/components/ChevronRight.js +9 -2
- package/dist/Molecular/CustomIcons/components/ChevronUp.js +9 -2
- package/dist/Molecular/CustomIcons/components/ChevronUpDown.js +9 -2
- package/dist/Molecular/CustomIcons/components/Close.js +9 -2
- package/dist/Molecular/CustomIcons/components/ColumnsOrder.js +9 -2
- package/dist/Molecular/CustomIcons/components/Delete.js +9 -2
- package/dist/Molecular/CustomIcons/components/Edit.js +9 -2
- package/dist/Molecular/CustomIcons/components/Email.js +9 -2
- package/dist/Molecular/CustomIcons/components/FinturfLogo.js +9 -2
- package/dist/Molecular/CustomIcons/components/FinturfLogo2.js +9 -2
- package/dist/Molecular/CustomIcons/components/Flows.js +9 -2
- package/dist/Molecular/CustomIcons/components/Gift.js +9 -2
- package/dist/Molecular/CustomIcons/components/GoogleAuth.js +9 -2
- package/dist/Molecular/CustomIcons/components/GooglePlay.js +9 -2
- package/dist/Molecular/CustomIcons/components/HelpCircle.js +9 -2
- package/dist/Molecular/CustomIcons/components/HelpCircle2.js +9 -2
- package/dist/Molecular/CustomIcons/components/HelpCircleFilled.js +9 -2
- package/dist/Molecular/CustomIcons/components/Home.js +9 -2
- package/dist/Molecular/CustomIcons/components/Home2.js +9 -2
- package/dist/Molecular/CustomIcons/components/Key.js +9 -2
- package/dist/Molecular/CustomIcons/components/Landers.js +9 -2
- package/dist/Molecular/CustomIcons/components/Lock.js +9 -2
- package/dist/Molecular/CustomIcons/components/Mail.js +9 -2
- package/dist/Molecular/CustomIcons/components/Mastercard.js +9 -2
- package/dist/Molecular/CustomIcons/components/Minus.js +9 -2
- package/dist/Molecular/CustomIcons/components/Offers.js +9 -2
- package/dist/Molecular/CustomIcons/components/Pause.js +9 -2
- package/dist/Molecular/CustomIcons/components/PayPal.js +9 -2
- package/dist/Molecular/CustomIcons/components/PayPalLightLarge.js +9 -2
- package/dist/Molecular/CustomIcons/components/Phone.js +9 -2
- package/dist/Molecular/CustomIcons/components/Play.js +9 -2
- package/dist/Molecular/CustomIcons/components/Plus.js +9 -2
- package/dist/Molecular/CustomIcons/components/Profile.js +9 -2
- package/dist/Molecular/CustomIcons/components/QRCode.js +9 -2
- package/dist/Molecular/CustomIcons/components/Rectangle.js +9 -2
- package/dist/Molecular/CustomIcons/components/Revert.js +9 -2
- package/dist/Molecular/CustomIcons/components/Star.js +9 -2
- package/dist/Molecular/CustomIcons/components/Star2.js +9 -2
- package/dist/Molecular/CustomIcons/components/TrafficSources.js +9 -2
- package/dist/Molecular/CustomIcons/components/Trash.js +9 -2
- package/dist/Molecular/CustomIcons/components/TrashRed.js +9 -2
- package/dist/Molecular/CustomIcons/components/Triggers.js +9 -2
- package/dist/Molecular/CustomIcons/components/User.js +9 -2
- package/dist/Molecular/CustomIcons/components/Visa.js +9 -2
- package/dist/Molecular/CustomIcons/components/X.js +9 -2
- package/dist/Molecular/CustomIcons/index.js +122 -0
- package/dist/Molecular/FormElement/FormElement.js +12 -1
- package/dist/Molecular/FormWithDependOn/FormWithDependOn.js +31 -30
- package/dist/Molecular/FormWithDependOn/partials/_utils.js +12 -9
- package/dist/Molecular/InputAddress/InputAddress.js +114 -65
- package/dist/Molecular/InputPassword/InputPassword.js +19 -5
- package/dist/index.js +2 -0
- package/package.json +1 -1
- package/dist/Atomic/UI/Hint/partial/_utils.js +0 -52
|
@@ -1,43 +1,58 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
|
5
6
|
value: true
|
|
6
7
|
});
|
|
7
8
|
exports.default = void 0;
|
|
9
|
+
|
|
8
10
|
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
+
|
|
9
12
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
13
|
+
|
|
10
14
|
var _reactFeather = require("react-feather");
|
|
15
|
+
|
|
11
16
|
var _Input = _interopRequireDefault(require("../../Atomic/FormElements/Input/Input"));
|
|
17
|
+
|
|
12
18
|
var _Spinner = _interopRequireDefault(require("../../Atomic/Layout/Spinner/Spinner"));
|
|
19
|
+
|
|
13
20
|
var _Hint = _interopRequireDefault(require("../../Atomic/UI/Hint/Hint"));
|
|
21
|
+
|
|
14
22
|
var _useIsMobile = _interopRequireDefault(require("../../Functions/useIsMobile"));
|
|
23
|
+
|
|
15
24
|
var _utils = require("../../Functions/utils");
|
|
25
|
+
|
|
16
26
|
require("./InputAddress.scss");
|
|
17
|
-
|
|
18
|
-
function
|
|
27
|
+
|
|
28
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
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
|
+
|
|
19
32
|
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";
|
|
33
|
+
const RC = "input-address"; // ? Если равны - true
|
|
21
34
|
|
|
22
|
-
// ? Если равны - true
|
|
23
35
|
const compareValues = (val1, val2) => {
|
|
24
36
|
return typeof val1 === typeof val2 && ((0, _utils.getIsOnlyAnObject)(val1) ? (0, _utils.compare)(val1, val2) : val1 === val2);
|
|
25
37
|
};
|
|
38
|
+
|
|
26
39
|
const throttle = (fn, ms) => {
|
|
27
40
|
let id = null;
|
|
28
41
|
return function () {
|
|
29
42
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
30
43
|
args[_key] = arguments[_key];
|
|
31
44
|
}
|
|
45
|
+
|
|
32
46
|
if (id) clearTimeout(id);
|
|
33
47
|
id = setTimeout(() => {
|
|
34
48
|
fn(...args);
|
|
35
49
|
}, ms);
|
|
36
50
|
};
|
|
37
|
-
};
|
|
51
|
+
}; // Отдает true если value валидное НЕ нулевое число
|
|
52
|
+
|
|
38
53
|
|
|
39
|
-
// Отдает true если value валидное НЕ нулевое число
|
|
40
54
|
const getIsValidNumber = value => Boolean(value) && typeof value === "number" && !Number.isNaN(value);
|
|
55
|
+
|
|
41
56
|
const InputAddress = _ref => {
|
|
42
57
|
let {
|
|
43
58
|
label,
|
|
@@ -60,7 +75,6 @@ const InputAddress = _ref => {
|
|
|
60
75
|
getListItems = () => {},
|
|
61
76
|
clarifyAddressInfo,
|
|
62
77
|
// ! Не делать дефолтного значения! Это и метод и флаг
|
|
63
|
-
|
|
64
78
|
noValidate = false,
|
|
65
79
|
renderSelectedItem,
|
|
66
80
|
renderListItem,
|
|
@@ -91,64 +105,70 @@ const InputAddress = _ref => {
|
|
|
91
105
|
const [isListVisible, setIsListVisible] = (0, _react.useState)(false);
|
|
92
106
|
const isWrongAddress = (0, _react.useMemo)(() => {
|
|
93
107
|
var _innerValue$street;
|
|
108
|
+
|
|
94
109
|
if (noValidate) return false;
|
|
95
|
-
if (innerValue === "") return false;
|
|
96
|
-
|
|
97
|
-
if (!(innerValue !== null && innerValue !== void 0 && innerValue.hasOwnProperty("streetNumber")) || !(innerValue !== null && innerValue !== void 0 && innerValue.streetNumber)) return true;
|
|
110
|
+
if (innerValue === "") return false; // eslint-disable-next-line no-prototype-builtins
|
|
111
|
+
|
|
112
|
+
if (!(innerValue !== null && innerValue !== void 0 && innerValue.hasOwnProperty("streetNumber")) || !(innerValue !== null && innerValue !== void 0 && innerValue.streetNumber)) return true; // eslint-disable-next-line no-prototype-builtins
|
|
98
113
|
|
|
99
|
-
// eslint-disable-next-line no-prototype-builtins
|
|
100
114
|
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;
|
|
101
115
|
return false;
|
|
102
116
|
}, [innerValue]);
|
|
117
|
+
|
|
103
118
|
const setItemAsInnerValue = (e, item) => {
|
|
104
119
|
if (e instanceof Event) {
|
|
105
120
|
e.preventDefault();
|
|
106
121
|
e.stopPropagation();
|
|
107
122
|
}
|
|
123
|
+
|
|
108
124
|
setTimeout(() => {
|
|
109
125
|
setInnerValue(item);
|
|
126
|
+
|
|
110
127
|
if (isMobile) {
|
|
111
128
|
setIsListVisible(false);
|
|
112
129
|
}
|
|
113
130
|
}, 0);
|
|
114
|
-
};
|
|
131
|
+
}; // ? Базовый метод получения списка вариантов адреса
|
|
132
|
+
|
|
115
133
|
|
|
116
|
-
// ? Базовый метод получения списка вариантов адреса
|
|
117
134
|
const getAddressVariants = (0, _react.useMemo)(() => innerValue => {
|
|
118
135
|
var _getListItems;
|
|
119
|
-
return (_getListItems = getListItems(innerValue)) === null || _getListItems === void 0 ? void 0 : _getListItems.then(setListItems).finally(() => setIsListLoading(false));
|
|
120
|
-
}, [getListItems]);
|
|
121
136
|
|
|
122
|
-
|
|
137
|
+
return (_getListItems = getListItems(innerValue)) === null || _getListItems === void 0 ? void 0 : _getListItems.then(setListItems).finally(() => setIsListLoading(false));
|
|
138
|
+
}, [getListItems]); // ? Метод получения списка вариантов адреса с тротлингом (основным и, если нужно, дополнительным)
|
|
123
139
|
// ? Без useMemo работать НЕ будет (т.к. на каждом перерендере будет создаваться новая ф-я и будет теряться замкнутая переменная id из throttle)
|
|
140
|
+
|
|
124
141
|
const getAddressVariantsWithThrottling = (0, _react.useMemo)(() => {
|
|
125
142
|
const execute = getIsValidNumber(additionalThrottleTimeForListingRequest) ? throttle(getAddressVariants, additionalThrottleTimeForListingRequest) : getAddressVariants;
|
|
126
143
|
return getIsValidNumber(throttleTime) ? throttle(execute, throttleTime) : execute;
|
|
127
|
-
}, [getAddressVariants, additionalThrottleTimeForListingRequest, throttleTime]);
|
|
144
|
+
}, [getAddressVariants, additionalThrottleTimeForListingRequest, throttleTime]); // ? Итоговый "получатель" списка вариантов адресов
|
|
128
145
|
|
|
129
|
-
// ? Итоговый "получатель" списка вариантов адресов
|
|
130
146
|
const getAddressVariantsList = () => {
|
|
131
|
-
if (!(innerValue !== null && innerValue !== void 0 && innerValue.length)) return null;
|
|
132
|
-
|
|
133
|
-
// ? Вообще с учетом надпись "Loading" в списке вариантов включается в этом месте (т.е. сразу при начале набора),
|
|
147
|
+
if (!(innerValue !== null && innerValue !== void 0 && innerValue.length)) return null; // ? Вообще с учетом надпись "Loading" в списке вариантов включается в этом месте (т.е. сразу при начале набора),
|
|
134
148
|
// ? то, наверное, можно было НЕ мутить с дополнительным тротлингом )).
|
|
135
149
|
// ? Наверное, можно было увеличить время первичного тротлинга и, наверное, работало бы так же ))
|
|
136
150
|
// ? НО, раз уже сделал )) оставлю, может будет в будущем полезно )
|
|
151
|
+
|
|
137
152
|
setIsListLoading(true);
|
|
138
153
|
getAddressVariantsWithThrottling(innerValue);
|
|
139
154
|
return null;
|
|
140
155
|
};
|
|
156
|
+
|
|
141
157
|
const onClearClick = e => {
|
|
142
158
|
var _inputRef$current;
|
|
159
|
+
|
|
143
160
|
e.preventDefault();
|
|
144
161
|
e.stopPropagation();
|
|
162
|
+
|
|
145
163
|
if (!isMobile) {
|
|
146
164
|
setIsListVisible(false);
|
|
147
165
|
}
|
|
166
|
+
|
|
148
167
|
setInnerValue("");
|
|
149
|
-
inputRef === null || inputRef === void 0
|
|
168
|
+
inputRef === null || inputRef === void 0 ? void 0 : (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.focus();
|
|
150
169
|
setTimeout(() => setIsFocused(true), 0);
|
|
151
170
|
};
|
|
171
|
+
|
|
152
172
|
const onOverlayClick = e => {
|
|
153
173
|
if (e.target === (listOverlayRef === null || listOverlayRef === void 0 ? void 0 : listOverlayRef.current)) {
|
|
154
174
|
e.stopPropagation();
|
|
@@ -158,23 +178,27 @@ const InputAddress = _ref => {
|
|
|
158
178
|
onChange(typeof innerValue === "string" || !onChangeValueTransformer || typeof onChangeValueTransformer !== "function" ? innerValue : onChangeValueTransformer(innerValue));
|
|
159
179
|
}
|
|
160
180
|
};
|
|
181
|
+
|
|
161
182
|
const onKeyDown = keyCode => {
|
|
162
183
|
if (!isListVisible || !isKeyboardControlled) return false;
|
|
184
|
+
|
|
163
185
|
if (keyCode === 13) {
|
|
164
186
|
var _inputRef$current2;
|
|
187
|
+
|
|
165
188
|
// Enter Controller
|
|
166
189
|
setItemAsInnerValue(null, listItems[hightlightedIndex]);
|
|
167
190
|
setHightlightedIndex(null);
|
|
168
|
-
inputRef === null || inputRef === void 0
|
|
191
|
+
inputRef === null || inputRef === void 0 ? void 0 : (_inputRef$current2 = inputRef.current) === null || _inputRef$current2 === void 0 ? void 0 : _inputRef$current2.blur();
|
|
169
192
|
} else {
|
|
170
|
-
var _listRef$current, _listRef$current2, _newHightlightedEleme;
|
|
193
|
+
var _listRef$current, _listRef$current$getB, _listRef$current2, _newHightlightedEleme;
|
|
194
|
+
|
|
171
195
|
let newHightlightedIndex = null;
|
|
172
196
|
const listItemsElements = document.getElementsByClassName("input-address__list--item");
|
|
173
|
-
const listHeight = listRef === null || listRef === void 0
|
|
174
|
-
const listScrollTop = (listRef === null || listRef === void 0
|
|
197
|
+
const 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;
|
|
198
|
+
const listScrollTop = (listRef === null || listRef === void 0 ? void 0 : (_listRef$current2 = listRef.current) === null || _listRef$current2 === void 0 ? void 0 : _listRef$current2.scrollTop) || 0;
|
|
175
199
|
const lastItemIndex = parseInt(listItems === null || listItems === void 0 ? void 0 : listItems.length, 10) - 1;
|
|
176
|
-
|
|
177
200
|
/** Arrows Controllers **/
|
|
201
|
+
|
|
178
202
|
if (keyCode === 40) {
|
|
179
203
|
// Down Key Controller
|
|
180
204
|
if (hightlightedIndex === null || hightlightedIndex === lastItemIndex) {
|
|
@@ -189,95 +213,107 @@ const InputAddress = _ref => {
|
|
|
189
213
|
} else if (hightlightedIndex - 1 >= 0) {
|
|
190
214
|
newHightlightedIndex = hightlightedIndex - 1;
|
|
191
215
|
}
|
|
192
|
-
}
|
|
216
|
+
} // Scroll to Element
|
|
217
|
+
|
|
193
218
|
|
|
194
|
-
// Scroll to Element
|
|
195
219
|
const newHightlightedElement = listItemsElements[newHightlightedIndex];
|
|
196
|
-
const newHightlightedElementHeight = newHightlightedElement === null || newHightlightedElement === void 0
|
|
220
|
+
const newHightlightedElementHeight = newHightlightedElement === null || newHightlightedElement === void 0 ? void 0 : (_newHightlightedEleme = newHightlightedElement.getBoundingClientRect()) === null || _newHightlightedEleme === void 0 ? void 0 : _newHightlightedEleme.height;
|
|
197
221
|
const newHightlightedElementTopInList = newHightlightedElement === null || newHightlightedElement === void 0 ? void 0 : newHightlightedElement.offsetTop;
|
|
222
|
+
|
|
198
223
|
if (newHightlightedElementTopInList + newHightlightedElementHeight > listScrollTop + listHeight) {
|
|
199
224
|
if (Math.abs(newHightlightedElementTopInList + newHightlightedElementHeight - (listScrollTop + listHeight)) <= newHightlightedElementHeight) {
|
|
200
225
|
var _listRef$current3;
|
|
201
|
-
|
|
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);
|
|
202
228
|
} else {
|
|
203
229
|
var _listRef$current4;
|
|
204
|
-
|
|
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);
|
|
205
232
|
}
|
|
206
233
|
} else if (newHightlightedElementTopInList < listScrollTop) {
|
|
207
234
|
if (Math.abs(newHightlightedElementTopInList - listScrollTop) < newHightlightedElementHeight) {
|
|
208
235
|
var _listRef$current5;
|
|
209
|
-
|
|
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);
|
|
210
238
|
} else {
|
|
211
239
|
var _listRef$current6;
|
|
212
|
-
|
|
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);
|
|
213
242
|
}
|
|
214
243
|
}
|
|
244
|
+
|
|
215
245
|
if (!isMobile) setHightlightedIndex(newHightlightedIndex);
|
|
216
246
|
}
|
|
217
247
|
};
|
|
248
|
+
|
|
218
249
|
const getHintMessage = () => {
|
|
219
250
|
if (!renderHintMessage || typeof renderHintMessage !== "function") return DEFAULT_HINT_MESSAGE;
|
|
220
251
|
return renderHintMessage(innerValue);
|
|
221
252
|
};
|
|
253
|
+
|
|
222
254
|
const getSelectedItemLabel = function () {
|
|
223
255
|
var _value$street;
|
|
256
|
+
|
|
224
257
|
let value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : innerValue;
|
|
225
258
|
if (!value) return "";
|
|
226
259
|
if (typeof value === "string") return value;
|
|
227
260
|
if (typeof renderSelectedItem === "function") renderSelectedItem(value);
|
|
228
|
-
const label = "".concat((value === null || value === void 0 ? void 0 : value.streetNumber) || "", " ").concat((value === null || value === void 0
|
|
261
|
+
const label = "".concat((value === null || value === void 0 ? void 0 : value.streetNumber) || "", " ").concat((value === null || value === void 0 ? void 0 : (_value$street = value.street) === null || _value$street === void 0 ? void 0 : _value$street.fullName) || "").trim();
|
|
229
262
|
return !label && isLoading ? previousValueRef.current : label;
|
|
230
263
|
};
|
|
264
|
+
|
|
231
265
|
const getListItemLabel = item => {
|
|
232
266
|
if (typeof item === "string") return item;
|
|
233
267
|
if (!renderListItem || typeof renderListItem !== "function") return item === null || item === void 0 ? void 0 : item.fullPrediction;
|
|
234
268
|
return renderListItem(item);
|
|
235
269
|
};
|
|
270
|
+
|
|
236
271
|
const setListHeight = () => {
|
|
237
272
|
if (listWrapperRef !== null && listWrapperRef !== void 0 && listWrapperRef.current && listHeaderRef !== null && listHeaderRef !== void 0 && listHeaderRef.current && listRef.current) {
|
|
238
|
-
var _listWrapperRef$curre, _listHeaderRef$curren;
|
|
239
|
-
|
|
273
|
+
var _listWrapperRef$curre, _listWrapperRef$curre2, _listHeaderRef$curren, _listHeaderRef$curren2;
|
|
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;
|
|
240
276
|
const listWrapperStyles = getComputedStyle(listWrapperRef === null || listWrapperRef === void 0 ? void 0 : listWrapperRef.current);
|
|
241
|
-
const listHeaderHeight = listHeaderRef === null || listHeaderRef === void 0
|
|
277
|
+
const listHeaderHeight = listHeaderRef === null || listHeaderRef === void 0 ? void 0 : (_listHeaderRef$curren = listHeaderRef.current) === null || _listHeaderRef$curren === void 0 ? void 0 : (_listHeaderRef$curren2 = _listHeaderRef$curren.getBoundingClientRect()) === null || _listHeaderRef$curren2 === void 0 ? void 0 : _listHeaderRef$curren2.height;
|
|
242
278
|
const listHeight = listWrapperHeight - listHeaderHeight - parseInt(listWrapperStyles.paddingBottom, 10);
|
|
243
279
|
listRef.current.style.maxHeight = "".concat(listHeight, "px");
|
|
244
280
|
}
|
|
245
281
|
};
|
|
282
|
+
|
|
246
283
|
const resetListHeight = () => {
|
|
247
284
|
if (listRef.current) {
|
|
248
285
|
listRef.current.style.maxHeight = "initial";
|
|
249
286
|
}
|
|
250
|
-
};
|
|
251
|
-
|
|
252
|
-
// ? Основной блок работы со значениями адреса
|
|
287
|
+
}; // ? Основной блок работы со значениями адреса
|
|
253
288
|
// ? Не меняйте вызовы setInnerValue и onChange не разобравшись в логике вызовов
|
|
289
|
+
|
|
290
|
+
|
|
254
291
|
(0, _react.useEffect)(() => {
|
|
255
292
|
// ? Исключение инициализации - равны только при первом рендере компонента,
|
|
256
293
|
// ? т.к. рефка и стейт инициализируются верхним value
|
|
257
294
|
if (!compareValues(innerValue, previousValueRef.current)) {
|
|
258
|
-
const isObject = (0, _utils.getIsOnlyAnObject)(innerValue);
|
|
259
|
-
|
|
260
|
-
// ? innerValue меняется либо от ручного ввода, либо от выбора из списка
|
|
295
|
+
const isObject = (0, _utils.getIsOnlyAnObject)(innerValue); // ? innerValue меняется либо от ручного ввода, либо от выбора из списка
|
|
261
296
|
// ? Полная информация или нет - напрямую зависит от ответа getListItems
|
|
262
|
-
const isFullInfo = isObject && "streetNumber" in innerValue && "street" in innerValue && "city" in innerValue && "state" in innerValue && "country" in innerValue && "zipCode" in innerValue;
|
|
263
297
|
|
|
264
|
-
// ? Для старого эндпоинта возвращается список с полной информацией, поэтому на проектах ничего не поменяется,
|
|
298
|
+
const isFullInfo = isObject && "streetNumber" in innerValue && "street" in innerValue && "city" in innerValue && "state" in innerValue && "country" in innerValue && "zipCode" in innerValue; // ? Для старого эндпоинта возвращается список с полной информацией, поэтому на проектах ничего не поменяется,
|
|
265
299
|
// ? если не менять запросник (getListItems), все будет проходить по этой if-ке или по 3-й (для строчных значений)
|
|
300
|
+
|
|
266
301
|
if (isFullInfo) {
|
|
267
302
|
onChange(innerValue);
|
|
268
303
|
setIsLoading(false);
|
|
269
|
-
}
|
|
270
|
-
|
|
271
|
-
// ? Неполная информация может быть только в том случае, когда метод getListItems использует уже новый эндпоинт гугл-апи.
|
|
304
|
+
} // ? Неполная информация может быть только в том случае, когда метод getListItems использует уже новый эндпоинт гугл-апи.
|
|
272
305
|
// ? Предполагается, что при этом в компонент будет прокинута ф-я "уточнятель" (clarifyAddressInfo)
|
|
306
|
+
|
|
307
|
+
|
|
273
308
|
if (isObject && !isFullInfo) {
|
|
274
309
|
if (typeof clarifyAddressInfo === "function") {
|
|
275
310
|
var _clarifyAddressInfo, _clarifyAddressInfo$t;
|
|
276
|
-
|
|
277
|
-
// ? Предполагается, что clarifyAddressInfo - асинхронная ф-я, запросник уточнения опции
|
|
311
|
+
|
|
312
|
+
setIsLoading(true); // ? Предполагается, что clarifyAddressInfo - асинхронная ф-я, запросник уточнения опции
|
|
278
313
|
// ? Никаких await-ов НЕ нужно (тем более что в useEffect и нельзя для нового React),
|
|
279
314
|
// ? промис "выплюнется в пустоту", но НЕ будет отчищен до резолва, а useEffect (и итерация рендера в целом) при этом будет закончен(а)
|
|
280
|
-
|
|
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 => {
|
|
281
317
|
if (res) setInnerValue(res);else {
|
|
282
318
|
setInnerValue(previousValueRef.current);
|
|
283
319
|
setTimeout(() => {
|
|
@@ -288,20 +324,19 @@ const InputAddress = _ref => {
|
|
|
288
324
|
setIsLoading(false);
|
|
289
325
|
return res;
|
|
290
326
|
});
|
|
291
|
-
}
|
|
292
|
-
// ! Если сверху поменяли эндпоинт и он выдает "облегченный листинг" (айтемы с неполной инфой),
|
|
327
|
+
} // ! Если сверху поменяли эндпоинт и он выдает "облегченный листинг" (айтемы с неполной инфой),
|
|
293
328
|
// ! и НЕ пробросили clarifyAddressInfo, то на этом кейсе велью инпута будет просто зануляться
|
|
294
329
|
// ! (getSelectedItemLabel вернет пустую строку если вкинуть innerValue без всей инфы)
|
|
295
330
|
else setInnerValue(getSelectedItemLabel(innerValue));
|
|
296
|
-
}
|
|
331
|
+
} // ? Кейс для строчных значений
|
|
332
|
+
|
|
297
333
|
|
|
298
|
-
// ? Кейс для строчных значений
|
|
299
334
|
if (!isObject) {
|
|
300
335
|
// ? Вызываем верхний onChange если innerValue есть или если нету, но это не после логики уточнения
|
|
301
|
-
if (innerValue || !isLoading) onChange(innerValue);
|
|
302
|
-
|
|
303
|
-
if (innerValue && !isListVisible) setIsListVisible(true);
|
|
304
|
-
|
|
336
|
+
if (innerValue || !isLoading) onChange(innerValue); // ? Если innerValue есть и еще не открыт листинг - открываем
|
|
337
|
+
|
|
338
|
+
if (innerValue && !isListVisible) setIsListVisible(true); // ? Если инпут сфокусирован и значение есть - запрашиваем список вариантов
|
|
339
|
+
|
|
305
340
|
if (isFocused && Boolean(innerValue)) getAddressVariantsList();
|
|
306
341
|
}
|
|
307
342
|
}
|
|
@@ -317,6 +352,7 @@ const InputAddress = _ref => {
|
|
|
317
352
|
setListItems([]);
|
|
318
353
|
resetListHeight();
|
|
319
354
|
}
|
|
355
|
+
|
|
320
356
|
if (isMobile && isListVisible) {
|
|
321
357
|
setTempInnerValue(innerValue);
|
|
322
358
|
setListHeight();
|
|
@@ -324,11 +360,11 @@ const InputAddress = _ref => {
|
|
|
324
360
|
}, [isListVisible]);
|
|
325
361
|
(0, _react.useEffect)(() => {
|
|
326
362
|
// ? учет изменения value сверху (верхние переназначения велью)
|
|
327
|
-
if (!compareValues(value, innerValue)) setInnerValue(value);
|
|
363
|
+
if (!compareValues(value, innerValue)) setInnerValue(value); // ? useEffect должен быть последним, т.к. рефка меняется в рамках текущей итерации
|
|
328
364
|
|
|
329
|
-
// ? useEffect должен быть последним, т.к. рефка меняется в рамках текущей итерации
|
|
330
365
|
previousValueRef.current = value;
|
|
331
366
|
}, [value]);
|
|
367
|
+
|
|
332
368
|
const renderSearchableInput = () => {
|
|
333
369
|
const inputValue = getSelectedItemLabel();
|
|
334
370
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
@@ -362,6 +398,7 @@ const InputAddress = _ref => {
|
|
|
362
398
|
onClick: onClearClick
|
|
363
399
|
})));
|
|
364
400
|
};
|
|
401
|
+
|
|
365
402
|
const renderInput = () => {
|
|
366
403
|
const inputValue = getSelectedItemLabel(isListVisible ? tempInnerValue : innerValue);
|
|
367
404
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
@@ -373,20 +410,24 @@ const InputAddress = _ref => {
|
|
|
373
410
|
onChange: setInnerValue,
|
|
374
411
|
onFocus: e => {
|
|
375
412
|
var _e$target;
|
|
413
|
+
|
|
376
414
|
setIsListVisible(true);
|
|
377
|
-
e === null || e === void 0
|
|
415
|
+
e === null || e === void 0 ? void 0 : (_e$target = e.target) === null || _e$target === void 0 ? void 0 : _e$target.blur();
|
|
378
416
|
setTimeout(() => {
|
|
379
417
|
var _inputRef$current3;
|
|
380
|
-
|
|
418
|
+
|
|
419
|
+
return inputRef === null || inputRef === void 0 ? void 0 : (_inputRef$current3 = inputRef.current) === null || _inputRef$current3 === void 0 ? void 0 : _inputRef$current3.focus();
|
|
381
420
|
}, 200);
|
|
382
421
|
}
|
|
383
422
|
}));
|
|
384
423
|
};
|
|
424
|
+
|
|
385
425
|
const renderLoader = () => {
|
|
386
426
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
387
427
|
className: "input-address__list--loader"
|
|
388
428
|
}, loader || "Loading...");
|
|
389
429
|
};
|
|
430
|
+
|
|
390
431
|
const renderList = () => {
|
|
391
432
|
const renderListItem = (item, i) => {
|
|
392
433
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
@@ -397,6 +438,7 @@ const InputAddress = _ref => {
|
|
|
397
438
|
onMouseDown: e => setItemAsInnerValue(e, item)
|
|
398
439
|
}, getListItemLabel(item));
|
|
399
440
|
};
|
|
441
|
+
|
|
400
442
|
const renderListItemCustom = () => {
|
|
401
443
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
402
444
|
key: "input-address__list-item--custom",
|
|
@@ -404,11 +446,13 @@ const InputAddress = _ref => {
|
|
|
404
446
|
onMouseDown: e => setItemAsInnerValue(e, getSelectedItemLabel())
|
|
405
447
|
}, getSelectedItemLabel(), /*#__PURE__*/_react.default.createElement(_reactFeather.AlertTriangle, null), /*#__PURE__*/_react.default.createElement("span", null, "Choose this only if your address is not listed below"));
|
|
406
448
|
};
|
|
449
|
+
|
|
407
450
|
const renderNoItems = () => {
|
|
408
451
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
409
452
|
className: "input-address__list--no-items"
|
|
410
453
|
}, isMobile && !(innerValue !== null && innerValue !== void 0 && innerValue.length) ? "Please begin entering your address" : noItemsMessage || "No Items");
|
|
411
454
|
};
|
|
455
|
+
|
|
412
456
|
const renderListDesktop = () => {
|
|
413
457
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
414
458
|
className: "input-address__list-wrapper",
|
|
@@ -418,6 +462,7 @@ const InputAddress = _ref => {
|
|
|
418
462
|
ref: listRef
|
|
419
463
|
}, isListLoading ? renderLoader() : listItems !== null && listItems !== void 0 && listItems.length ? listItems === null || listItems === void 0 ? void 0 : listItems.map(renderListItem) : renderNoItems()));
|
|
420
464
|
};
|
|
465
|
+
|
|
421
466
|
const renderListMobile = () => {
|
|
422
467
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
423
468
|
className: "input-address__list-overlay",
|
|
@@ -448,8 +493,10 @@ const InputAddress = _ref => {
|
|
|
448
493
|
ref: listRef
|
|
449
494
|
}, 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()))));
|
|
450
495
|
};
|
|
496
|
+
|
|
451
497
|
return isMobile ? renderListMobile() : renderListDesktop();
|
|
452
498
|
};
|
|
499
|
+
|
|
453
500
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
454
501
|
className: (0, _classnames.default)("input-address", {
|
|
455
502
|
"input-address--error": error || isWrongAddress && !isFocused
|
|
@@ -458,4 +505,6 @@ const InputAddress = _ref => {
|
|
|
458
505
|
size: "small"
|
|
459
506
|
}), isMobile ? renderInput() : renderSearchableInput(), isListVisible && renderList());
|
|
460
507
|
};
|
|
461
|
-
|
|
508
|
+
|
|
509
|
+
var _default = InputAddress;
|
|
510
|
+
exports.default = _default;
|
|
@@ -1,19 +1,30 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
|
5
6
|
value: true
|
|
6
7
|
});
|
|
7
8
|
exports.default = void 0;
|
|
9
|
+
|
|
8
10
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
|
+
|
|
9
12
|
var _react = _interopRequireWildcard(require("react"));
|
|
13
|
+
|
|
10
14
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
15
|
+
|
|
11
16
|
var _reactFeather = require("react-feather");
|
|
17
|
+
|
|
12
18
|
var _Input = _interopRequireDefault(require("../../Atomic/FormElements/Input/Input"));
|
|
19
|
+
|
|
13
20
|
var _utils = require("../../Functions/utils");
|
|
21
|
+
|
|
14
22
|
require("./InputPassword.scss");
|
|
15
|
-
|
|
16
|
-
function
|
|
23
|
+
|
|
24
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
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
|
+
|
|
17
28
|
const InputPassword = _ref => {
|
|
18
29
|
let {
|
|
19
30
|
field = {},
|
|
@@ -25,8 +36,9 @@ const InputPassword = _ref => {
|
|
|
25
36
|
const handle = {
|
|
26
37
|
changeView: () => {
|
|
27
38
|
var _inputWrapper$current;
|
|
28
|
-
|
|
29
|
-
input === null ||
|
|
39
|
+
|
|
40
|
+
const input = inputWrapper === null || inputWrapper === void 0 ? void 0 : (_inputWrapper$current = inputWrapper.current) === null || _inputWrapper$current === void 0 ? void 0 : _inputWrapper$current.querySelector("input");
|
|
41
|
+
input === null || input === void 0 ? void 0 : input.focus();
|
|
30
42
|
(0, _utils.setCarretToEnd)(input);
|
|
31
43
|
setSP(!showPassword);
|
|
32
44
|
}
|
|
@@ -51,4 +63,6 @@ const InputPassword = _ref => {
|
|
|
51
63
|
className: "password-icon"
|
|
52
64
|
})));
|
|
53
65
|
};
|
|
54
|
-
|
|
66
|
+
|
|
67
|
+
var _default = InputPassword;
|
|
68
|
+
exports.default = _default;
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
|
5
6
|
value: true
|
|
6
7
|
});
|
|
@@ -10,4 +11,5 @@ Object.defineProperty(exports, "Button", {
|
|
|
10
11
|
return _Button.default;
|
|
11
12
|
}
|
|
12
13
|
});
|
|
14
|
+
|
|
13
15
|
var _Button = _interopRequireDefault(require("./Atomic/UI/Button/Button"));
|
package/package.json
CHANGED
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.initHintContainer = exports.getParentNode = exports.getHintContainerId = exports.getHintContainer = exports.HandleScrollObj = exports.HandleClickOutsideObj = void 0;
|
|
7
|
-
const getHintContainerId = hintId => "hint-container-for-hint--id-".concat(hintId);
|
|
8
|
-
exports.getHintContainerId = getHintContainerId;
|
|
9
|
-
const getHintContainer = hintId => {
|
|
10
|
-
return document.getElementById(getHintContainerId(hintId));
|
|
11
|
-
};
|
|
12
|
-
exports.getHintContainer = getHintContainer;
|
|
13
|
-
const getParentNode = () => {
|
|
14
|
-
var _ref, _document$querySelect;
|
|
15
|
-
return (_ref = (_document$querySelect = document.querySelector("div#root")) !== null && _document$querySelect !== void 0 ? _document$querySelect : document.querySelector("div#app")) !== null && _ref !== void 0 ? _ref : document.body;
|
|
16
|
-
};
|
|
17
|
-
exports.getParentNode = getParentNode;
|
|
18
|
-
const initHintContainer = (hintId, hintContainerSettings) => {
|
|
19
|
-
var _getParentNode;
|
|
20
|
-
const {
|
|
21
|
-
className
|
|
22
|
-
} = hintContainerSettings;
|
|
23
|
-
const hintContainer = document.createElement("div");
|
|
24
|
-
hintContainer.setAttribute("id", getHintContainerId(hintId));
|
|
25
|
-
hintContainer.classList.add("hint__container");
|
|
26
|
-
if (className) hintContainer.classList.add(className);
|
|
27
|
-
(_getParentNode = getParentNode()) === null || _getParentNode === void 0 || _getParentNode.append(hintContainer);
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
//? addEventListener можно инициализировать двумя способами
|
|
31
|
-
//? - передать прямой колбэк (ф-ю)
|
|
32
|
-
//? - передать объект в котором есть метод handleEvent (помимо handleEvent можно записать в this прочие полезные значения)
|
|
33
|
-
//? Пользуемся вторым способом, чтобы записать входные данные (вообще можно не писать, работает и просто от замыкания, но делаем по "дзену")
|
|
34
|
-
//! Метод написан с расчетом на то, что будет вызываться ТОЛЬКО открытым тултипом
|
|
35
|
-
exports.initHintContainer = initHintContainer;
|
|
36
|
-
const HandleScrollObj = function (setIsOpen) {
|
|
37
|
-
this.setIsOpen = setIsOpen;
|
|
38
|
-
this.handleEvent = function () {
|
|
39
|
-
this.setIsOpen(false);
|
|
40
|
-
};
|
|
41
|
-
};
|
|
42
|
-
exports.HandleScrollObj = HandleScrollObj;
|
|
43
|
-
const HandleClickOutsideObj = function (id, setIsOpen) {
|
|
44
|
-
this.id = id;
|
|
45
|
-
this.setIsOpen = setIsOpen;
|
|
46
|
-
this.handleEvent = function (event) {
|
|
47
|
-
if (!getHintContainer(this.id).contains(event === null || event === void 0 ? void 0 : event.target)) {
|
|
48
|
-
this.setIsOpen(false);
|
|
49
|
-
}
|
|
50
|
-
};
|
|
51
|
-
};
|
|
52
|
-
exports.HandleClickOutsideObj = HandleClickOutsideObj;
|