import { jsx as _jsx } from "react/jsx-runtime";
import { forwardRef } from 'react';
import { useHidePersonalData } from '../personalDataSecurity';
import { TextField } from '../TextField';
import { classNames } from '../utils/classNames';
import { useLogic } from './useLogic';
/**
 * Поле для ввода email или мобильного номера телефона
 * - Форматирует значение телефона к виду +7 (999) 999-99-99 на onBlur
 * - Поддерживает ввод телефона с префиксами +7 и 8, произвольной маской
 * - Работает с объектом формата
 * { value?: string, normalizedValue?: string, type: 'email' | 'phone' | 'unknown' }
 */
export const EmailOrPhoneField = forwardRef((props, ref) => {
    const { onBlur, restProps, inputValue, onChange, isHidePersonalData, inputProps, } = useLogic(props);
    const hidePersonalDataClassname = useHidePersonalData({
        isEnabled: isHidePersonalData,
        type: 'input',
    });
    return (_jsx(TextField, { ref: ref, type: "text", onBlur: onBlur, value: inputValue, onChange: onChange, inputProps: {
            ...inputProps,
            className: classNames(inputProps?.className, hidePersonalDataClassname),
        }, ...restProps }));
});
