@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.
114 lines (109 loc) • 3.76 kB
text/typescript
import * as React$1 from 'react';
import React__default, { InputHTMLAttributes } from 'react';
import { Scope } from '@radix-ui/react-context';
import { T as TIconProps } from '../../deprecated-C8F8FhFr.cjs';
import { C as ContentProps } from '../../index-Bmt-FnzV.cjs';
import * as react_jsx_runtime from 'react/jsx-runtime';
import '@raiadrogasil/pulso-design-tokens';
import '@raiadrogasil/pulso-icons';
type SelectSize = 'md' | 'ml' | 'lg' | 'xl';
/**
* Representa as props para o componente InputSelect.
*
* Essa interface estende as atributos padrão do HTML input, excluindo 'size' e 'id' para acomodar propriedades de tamanho e id personalizadas.
* Ela também inclui propriedades adicionais específicas do componente InputSelect.
*/
interface SelectProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size' | 'id'> {
/**
* O id do input.
*/
id?: string;
/**
* Indica se o input tem um erro.
*/
hasError?: boolean;
/**
* Indica se o input é um componente filho.
*/
asChild?: boolean;
/**
* A variante de tamanho do input.
*/
size?: SelectSize;
/**
* A variante dos dados do OptionMenu.
*/
options: ContentProps[];
/**
* A altura do OptionMenu.
*/
optionsHeight?: number | string;
}
/**
* Representa as props para o componente Select.Label.
*
* Essa interface inclui propriedades específicas do componente Select.Label.
*/
interface SelectLabelProps {
htmlFor: string;
children: React__default.ReactNode;
}
interface SelectFieldContainerProps {
children: React__default.ReactNode;
}
/**
* Representa as props para o componente Select.HelperSelect.
*
* Essa interface inclui propriedades específicas do componente Select.HelperSelect.
*/
interface SelectHelperTextProps {
/**
* Indica se o componente deve renderizar o ícone.
*/
withIcon?: boolean;
/**
* O ícone exibido no feedback.
*/
iconName?: TIconProps['symbol'];
children: React__default.ReactNode;
}
/**
* Representa as props para o componente Select.Actions.
*
* Essa interface inclui propriedades específicas do componente Select.Actions.
*/
interface SelectActionsProps {
children?: React__default.ReactNode;
}
/**
* Representa as props para o componente Select.Icon.
*
* Essa interface inclui propriedades específicas do componente Select.Icon.
*/
interface SelectIconProps extends Pick<TIconProps, 'symbol' | 'color'> {
}
/**
* Define o escopo do radix-context
*/
type SelectScopedProps<P> = P & {
__scopeInputSelect?: Scope;
};
declare function SelectIcon({ __scopeInputSelect, color, ...props }: SelectScopedProps<SelectIconProps>): react_jsx_runtime.JSX.Element;
declare const Select: {
Root: {
(props: SelectScopedProps<SelectProps>): react_jsx_runtime.JSX.Element;
displayName: string;
};
Label: ({ htmlFor, __scopeInputSelect, children, }: SelectScopedProps<SelectLabelProps>) => react_jsx_runtime.JSX.Element;
FieldContainer: ({ __scopeInputSelect, children, }: SelectScopedProps<SelectFieldContainerProps>) => react_jsx_runtime.JSX.Element;
Icon: typeof SelectIcon;
Field: React$1.ForwardRefExoticComponent<Omit<React$1.SelectHTMLAttributes<HTMLSelectElement>, "size"> & {
children?: React.ReactNode;
placeholder?: string;
optionMaxHeight?: number | string;
onChangeSelectionValue?(value: string): void;
} & React$1.RefAttributes<HTMLDivElement>>;
Actions: React$1.FC<SelectActionsProps>;
HelperText: ({ withIcon, iconName, __scopeInputSelect, children, ...props }: SelectScopedProps<SelectHelperTextProps>) => react_jsx_runtime.JSX.Element | null;
};
export { Select, type SelectProps };