"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.EmailOrPhoneField = void 0;
const jsx_runtime_1 = require("react/jsx-runtime");
const react_1 = require("react");
const personalDataSecurity_1 = require("../personalDataSecurity");
const TextField_1 = require("../TextField");
const classNames_1 = require("../utils/classNames");
const useLogic_1 = require("./useLogic");
/**
 * Поле для ввода email или мобильного номера телефона
 * - Форматирует значение телефона к виду +7 (999) 999-99-99 на onBlur
 * - Поддерживает ввод телефона с префиксами +7 и 8, произвольной маской
 * - Работает с объектом формата
 * { value?: string, normalizedValue?: string, type: 'email' | 'phone' | 'unknown' }
 */
exports.EmailOrPhoneField = (0, react_1.forwardRef)((props, ref) => {
    const { onBlur, restProps, inputValue, onChange, isHidePersonalData, inputProps, } = (0, useLogic_1.useLogic)(props);
    const hidePersonalDataClassname = (0, personalDataSecurity_1.useHidePersonalData)({
        isEnabled: isHidePersonalData,
        type: 'input',
    });
    return ((0, jsx_runtime_1.jsx)(TextField_1.TextField, { ref: ref, type: "text", onBlur: onBlur, value: inputValue, onChange: onChange, inputProps: {
            ...inputProps,
            className: (0, classNames_1.classNames)(inputProps?.className, hidePersonalDataClassname),
        }, ...restProps }));
});
