@rdsaude/pulso-react-components
Version:
Biblioteca de componentes React do Pulso Design System da RD Saúde oferece componentes consistentes e de alto desempenho, alinhados com os padrões da RDSaúde. Ideal para desenvolver aplicações modernas e acessíveis.
106 lines (102 loc) • 2.77 kB
text/typescript
import { Scope } from '@radix-ui/react-context';
import { InputHTMLAttributes } from 'react';
import * as react_jsx_runtime from 'react/jsx-runtime';
type TRadioSizes = 'xl' | 'lg' | 'ml' | 'md';
type TRadioGroupProps = React.FieldsetHTMLAttributes<HTMLFieldSetElement> & {
/**
* Valor inicial do Grupo de Radios.
*/
defaultValue?: string;
/**
* Acessibilidade do componente.
*/
ariaLabel?: string;
/**
* Legenda do componente Grupo de Radios.
*/
legend?: string;
/**
* Action para o evento onChange.
*/
onChange: (e: React.ChangeEvent<HTMLInputElement>) => void;
};
type TRadioLabelProps = React.LabelHTMLAttributes<HTMLLabelElement> & {
/**
* Elementos a ser renderizado dentro do componente.
*/
children: React.ReactNode;
/**
* Acessibilidade do componente.
*/
ariaDisabled?: boolean;
};
interface TRadioProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size' | 'testID'> {
/**
* Propriedade Id do Radio.
*/
id: string;
/**
* Propriedade name do Radio.
*/
name: string;
/**
* Propriedade value do Radio.
*/
value: string;
/**
* Conteúdo do Radio.
*/
children?: React.ReactNode;
/**
* Opções de tamanho para o componente Radio.
*/
size?: TRadioSizes;
/**
* Propriedade para indicar se o Radio está selecionado.
*/
checked?: boolean;
/**
* Propriedade para exibição de erro.
*/
error?: boolean;
/**
* Propriedade para desabilitar o Radio.
*/
disabled?: boolean;
/**
* Propriedade para deixar somente leitura o Radio.
*/
readOnly?: boolean;
/**
* Propriedade para indicar somente ícone.
*/
iconOnly?: boolean;
}
interface RadioHelperTextProps extends Omit<React.HTMLProps<HTMLDivElement>, 'className'> {
/**
* Texto do .
*/
children?: React.ReactNode;
}
/**
* radix-context
*/
type RadioContext = TRadioProps & TRadioGroupProps & {
selectedValue?: string;
};
/**
* Define o scope do radix-context
*/
type RadioScopedProps<P> = P & {
__scopeRadio?: Scope;
};
declare const Radio: {
Root: {
(props: RadioScopedProps<TRadioProps & TRadioGroupProps>): react_jsx_runtime.JSX.Element;
displayName: string;
};
Button: (props: Omit<RadioScopedProps<TRadioProps>, "size">) => react_jsx_runtime.JSX.Element;
Label: (props: RadioScopedProps<TRadioLabelProps>) => react_jsx_runtime.JSX.Element | null;
Helper: ({ children, __scopeRadio, ...props }: RadioScopedProps<RadioHelperTextProps>) => react_jsx_runtime.JSX.Element | null;
};
export { Radio, type RadioContext, type TRadioGroupProps, type TRadioProps };