import React, { forwardRef, InputHTMLAttributes, ReactNode, useMemo } from 'react';
import { TStyle, useClassnames } from '../../hooks/use-classnames';
import { Text } from '../typography/v1/text';
import style from './index.module.pcss';
type TNative = InputHTMLAttributes;
export interface IProps {
/**
* Название поля ввода, которое будет отправлено на сервер вместе со значением.
**/
readonly name: string,
/**
* Позволяет добавить пользовательские CSS-классы
**/
readonly className?: string | TStyle,
/**
* Текст метки, связанной с переключателем.
**/
readonly label?: ReactNode,
/**
* Значение, которое будет отправлено на сервер при отправке формы.
**/
readonly value?: string,
/**
* Значение переключателя по умолчанию.
**/
readonly defaultValue?: string,
/**
* Дополнительный текст, который поясняет, что выбирает переключатель.
**/
readonly description?: ReactNode,
/**
* Устанавливает или определяет, должен ли компонент быть отмечен.
**/
readonly checked?: TNative['checked'],
/**
* Определяет, должен ли флажок быть установлен при первоначальной загрузке компонента.
**/
readonly defaultChecked?: TNative['defaultChecked'],
/**
* Функция обратного вызова, которая будет вызываться при изменении значения переключателя.
**/
readonly onChange?: TNative['onChange'],
/**
* Функция обратного вызова, которая будет вызываться при клике на переключатель.
**/
readonly onClick?: TNative['onClick'],
/**
* Функция обратного вызова, которая будет вызываться при потере фокуса на переключателе.
**/
readonly onBlur?: TNative['onBlur'],
/**
* Функция обратного вызова, которая будет вызываться при получении фокуса на переключателе.
**/
readonly onFocus?: TNative['onFocus'],
/**
* Указывает, должен ли компонент получать фокус при монтировании (отрисовке) на странице.
**/
readonly autoFocus?: TNative['autoFocus'],
/**
* Уникальный идентификатор переключателя.
**/
readonly id?: TNative['id'],
/**
* Порядковый номер элемента при переключении по `Tab`.
**/
readonly tabIndex?: TNative['tabIndex'],
/**
* Определяет, будет ли компонент отключен.
**/
readonly disabled?: TNative['disabled']
}
export const Radio = forwardRef(({ tabIndex = 0, ...props }, ref) => {
const cn = useClassnames(style, props.className);
const elDescription = useMemo(() => {
if(props.description) {
return (
);
}
}, [props.description]);
return (
);
});