@rdsaude/pulso-react-native-components
Version:
Biblioteca de componentes React Native 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.
1,643 lines (1,524 loc) • 178 kB
text/typescript
import * as react_jsx_runtime from 'react/jsx-runtime';
import * as React$1 from 'react';
import React__default from 'react';
import { Themes, TPulsoTokens } from '@raiadrogasil/pulso-design-tokens';
import * as react_native from 'react-native';
import { PressableProps, TextInputProps, AccessibilityProps, TextProps as TextProps$1, ViewProps, ImageProps, TouchableOpacityProps, View } from 'react-native';
import * as _raiadrogasil_pulso_icons from '@raiadrogasil/pulso-icons';
import { IconName } from '@raiadrogasil/pulso-icons';
import * as _radix_ui_react_context from '@radix-ui/react-context';
import { Scope } from '@radix-ui/react-context';
import { IHandles } from 'react-native-modalize/lib/options';
type TThemeProviderProps = {
theme: Themes;
children: React__default.ReactNode;
};
declare function ThemeProvider({ theme, children }: TThemeProviderProps): react_jsx_runtime.JSX.Element;
declare function withThemeProvider<T extends {}>(Component: React__default.ComponentType<T>, variant: Themes): (componentProps: T) => react_jsx_runtime.JSX.Element;
type TButtonVariants = 'brand-primary' | 'neutral-secondary' | 'neutral-tertiary';
type TButtonSizes = 'md' | 'ml' | 'lg' | 'xl';
interface IButtonProps extends PressableProps {
/**
* Conteúdo do botão.
*/
children: React.ReactNode;
/**
* Variante do botão (opcional).
*/
variant?: TButtonVariants;
/**
* Tamanho do botão (opcional).
*/
size?: TButtonSizes;
/**
* Indica se o botão deve exibir um estado de carregamento (opcional).
*/
loading?: boolean;
/**
* Indica se o botão está desabilitado.
*/
disabled?: boolean;
/**
* Indica se o botão deve ocupar toda a largura do contêiner (opcional).
*/
full?: boolean;
}
type TIconSizes = 'tiny' | 'extra-small' | 'small' | 'medium';
type TIconColors = {
[K in keyof TPulsoTokens as K extends `color${string}` ? K : never]: TPulsoTokens[K];
};
type TIconProps = {
/**
* Tamanho do ícone. ("tiny" | "extra-small" | "small" | "medium")
*/
size?: TIconSizes;
/**
* Configura o token da cor do ícone.
*/
color?: keyof TIconColors;
/**
* Nome do ícone que deve ser carregado. O ícone deve estar contido na biblioteca
* de [ícones do Pulso](https://pulso-react-native.rd.com.br/?path=/story/componentes-icon--lista-de-ícones).
*/
symbol?: IconName;
/**
* Propriedade para identificação do elemento na camada de testes.
*/
testID?: string;
};
type IconNameMulticolor = 'rdicon-chat-multicolor' | 'rdicon-chat-multicolor-plus' | 'rdicon-basket-multicolor' | 'rdicon-basket-multicolor-plus' | 'rdicon-notification-multicolor' | 'rdicon-notification-multicolor-plus' | 'rdicon-chat-unread-multicolor' | 'rdicon-mail-unread-multicolor';
type IconNameBullet = 'rdicon-bullet-notification-1' | 'rdicon-bullet-notification-2' | 'rdicon-bullet-notification-3' | 'rdicon-bullet-notification-4' | 'rdicon-bullet-notification-5' | 'rdicon-bullet-notification-6' | 'rdicon-bullet-notification-7' | 'rdicon-bullet-notification-8' | 'rdicon-bullet-notification-9' | 'rdicon-bullet-notification-9-plus' | 'rdicon-mail-unread-bullet-notification' | 'rdicon-chat-unread-bullet-notification';
type TIconDualColorsProps = {
symbols: [IconNameMulticolor, IconNameBullet];
colors: [keyof TIconColors, keyof TIconColors];
size?: TIconSizes;
testID?: string;
};
declare const Icon: {
({ size, color, symbol, testID, }: TIconProps): react_jsx_runtime.JSX.Element;
Dual: (props: TIconDualColorsProps) => react_jsx_runtime.JSX.Element;
};
interface IButtonIconProps extends Pick<TIconProps, 'symbol'> {
iconColor?: TIconProps["color"];
testID?: string;
}
declare function ButtonIcon({ iconColor, symbol, testID }: IButtonIconProps): react_jsx_runtime.JSX.Element;
type TButtonLabelProps = {
children: React.ReactNode;
};
declare function ButtonLabel({ children }: TButtonLabelProps): react_jsx_runtime.JSX.Element;
declare const Button: {
Root: React__default.ForwardRefExoticComponent<IButtonProps & React__default.RefAttributes<any>>;
Label: typeof ButtonLabel;
Icon: typeof ButtonIcon;
};
interface IButtonBadgeProps extends Omit<IButtonProps, 'children'> {
/**
* Indica se o botão está desabilitado.
*/
counter?: number;
}
declare const ButtonBadge: {
Basket: (props: IButtonBadgeProps) => react_jsx_runtime.JSX.Element;
Chat: (props: IButtonBadgeProps) => react_jsx_runtime.JSX.Element;
Notification: (props: IButtonBadgeProps) => react_jsx_runtime.JSX.Element;
};
type TRefreshColors = 'brand' | 'neutral' | 'black' | 'white';
type TRefreshSizes = 'sm' | 'md' | 'lg';
type TRefreshProps = {
/**
* Define as opções de cores disponíveis para o componente Refresh.
*/
color: TRefreshColors;
/**
* Define os tamanhos disponíveis para o componente Refresh.
*/
size: TRefreshSizes;
/**
* Propriedade para identificação do elemento na camada de testes.
*/
testID?: string;
};
declare const Refresh: ({ color, size, testID }: TRefreshProps) => react_jsx_runtime.JSX.Element;
type TCheckboxSizes = 'xl' | 'lg' | 'ml' | 'md';
type TCheckboxProps = {
/**
* Conteúdo do Checkbox.
*/
children?: React.ReactNode;
/**
* Método chamado para atualização do estado do Checkbox.
*/
onPress: () => void;
/**
* Define os tamanhos disponíveis para o componente Checkbox.
*/
size?: TCheckboxSizes;
/**
* Propriedade para identificação do elemento na camada de testes.
*/
testID?: string;
/**
* Propriedade para renderização do ícone de checado.
*/
checked?: boolean;
/**
* Propriedade para renderização do ícone de indeterminado.
*/
indeterminate?: boolean;
/**
* Propriedade para exibição de erro.
*/
error?: boolean;
/**
* Propriedade para desabilitar o Checkbox.
*/
disabled?: boolean;
/**
* Define se o Checkbox estará em modo somente leitura.
*/
readOnly?: boolean;
};
type TCheckboxLabelProps = {
children: string;
size?: TCheckboxSizes;
error?: boolean;
disabled?: boolean;
readOnly?: boolean;
testID?: string;
};
declare function CheckboxLabel({ children, size, error, disabled, readOnly, testID, }: TCheckboxLabelProps): react_jsx_runtime.JSX.Element;
type IHelperTextProps$1 = {
children: string;
size?: TCheckboxSizes;
testID?: string;
};
declare function CheckboxHelperText({ size, testID, ...props }: IHelperTextProps$1): react_jsx_runtime.JSX.Element;
declare const Checkbox: {
Root: ({ size, checked, indeterminate, onPress, error, disabled, readOnly, children, testID, }: TCheckboxProps) => react_jsx_runtime.JSX.Element;
Label: typeof CheckboxLabel;
HelperText: typeof CheckboxHelperText;
NestedContainer: React__default.ForwardRefExoticComponent<react_native.ViewProps & React__default.RefAttributes<any>>;
};
type ButtonBackProps = Omit<IButtonProps, 'children'> & {
testID?: string;
};
declare function ButtonBack(props: ButtonBackProps): react_jsx_runtime.JSX.Element;
type ButtonBarCodeProps = Omit<IButtonProps, 'children'> & {
testID?: string;
};
declare function ButtonBarCode(props: ButtonBarCodeProps): react_jsx_runtime.JSX.Element;
type ButtonMicrophoneProps = Omit<IButtonProps, 'children'> & {
testID?: string;
};
declare function ButtonMicrophone(props: ButtonMicrophoneProps): react_jsx_runtime.JSX.Element;
type SearchBarSize = 'medium' | 'medium-large' | 'large';
interface ISearchBarProps extends TextInputProps {
/**
* Tamanho do SearchBar (opcional).
*/
size?: SearchBarSize;
/**
* Conteúdo do SearchBar.
*/
children?: React.ReactNode;
/**
* Função para limpar o conteúdo.
*/
onClear?: () => void;
/**
* Propriedade para exibir ou não o ícone de busca
*/
showInternalSearchIcon?: boolean;
/**
* Callback de foco no componente
*/
onFocus?: () => void;
/**
* Callback de retirada de foco do componente
*/
onBlur?: () => void;
/**
* Propiedade para realizar testes
*/
testID?: string;
}
declare const SearchBar: {
Root: (props: ISearchBarProps) => react_jsx_runtime.JSX.Element;
ButtonBarCode: typeof ButtonBarCode;
ButtonMicrophone: typeof ButtonMicrophone;
ButtonBack: typeof ButtonBack;
};
type TRadioSizes = 'xl' | 'lg' | 'ml' | 'md';
type TRadioProps = AccessibilityProps & {
/**
* Conteúdo do Radio.
*/
children?: React.ReactNode;
/**
* Método chamado para atualização do estado do Radio.
*/
onPress: () => void;
/**
* Define os tamanhos disponíveis para o componente Radio.
*/
size?: TRadioSizes;
/**
* Propriedade para identificação do elemento na camada de testes.
*/
testID?: string;
/**
* Propriedade para renderização do ícone de checado.
*/
checked?: boolean;
/**
* Propriedade para renderização do ícone de indeterminado.
*/
indeterminate?: boolean;
/**
* Propriedade para exibição de erro.
*/
error?: boolean;
/**
* Propriedade para desabilitar o Radio.
*/
disabled?: boolean;
/**
* Propriedade para habilitar o modo somente leitura.
*/
readOnly?: boolean;
};
type IHelperTextProps = {
children: string;
size?: TRadioSizes;
testID?: string;
};
declare function RadioHelperText({ size, testID, ...props }: IHelperTextProps): react_jsx_runtime.JSX.Element;
type TRadioLabelProps = {
children: string;
size?: TRadioSizes;
error?: boolean;
disabled?: boolean;
readOnly?: boolean;
testID?: string;
};
declare function RadioLabel({ children, size, error, disabled, readOnly, testID, }: TRadioLabelProps): react_jsx_runtime.JSX.Element;
declare const Radio: {
Root: ({ size, checked, onPress, error, disabled, readOnly, children, testID, ...props }: TRadioProps) => react_jsx_runtime.JSX.Element;
Label: typeof RadioLabel;
HelperText: typeof RadioHelperText;
NestedContainer: React__default.ForwardRefExoticComponent<react_native.ViewProps & React__default.RefAttributes<any>>;
};
type TLinkSizes = 'md' | 'ml';
interface TLinkProps extends PressableProps {
/**
* Tamanho do Componente (opcional).
*/
size?: TLinkSizes;
/**
* Texto do Componente (Obrigatório).
*/
children: React.ReactNode;
/**
* Ícone: exibir ou não o ícone (default: true).
*/
icon?: boolean;
/**
* Indica se o Componente está desabilitado (opcional).
*/
disabled?: boolean;
/**
* Indica se o Componente deve ocupar toda a largura do contêiner (opcional).
*/
full?: boolean;
}
declare function LinkLabel({ children, size, disabled, }: Partial<TLinkProps>): react_jsx_runtime.JSX.Element;
declare const Link: {
Root: {
({ size, children, icon, disabled, full, ...props }: TLinkProps): react_jsx_runtime.JSX.Element;
displayName: string;
};
Label: typeof LinkLabel;
};
declare function Divider(): react_jsx_runtime.JSX.Element;
type OptionMenuFooterProps = {
controls: {
type: 'cancel' | 'confirm';
label: string;
handler(): void;
}[];
testID?: string;
};
declare function Footer$1({ controls, testID }: OptionMenuFooterProps): react_jsx_runtime.JSX.Element;
type GroupProps = {
children: React.ReactNode;
title?: string;
};
declare function Group({ children, title }: GroupProps): react_jsx_runtime.JSX.Element;
interface ItemProps extends Pick<PressableProps, 'onPress' | 'disabled'> {
type?: 'single' | 'multi';
content: {
prefixIcon?: IconName;
label: string;
description?: string;
};
checked?: boolean;
testID?: string;
}
declare function Item$1(props: Omit<ItemProps, 'type'>): react_jsx_runtime.JSX.Element;
type ListProps = {
children: React__default.ReactNode;
testID?: string;
};
declare function List(props: ListProps): react_jsx_runtime.JSX.Element;
type OptionMenuProps = {
/**
* Os componentes filhos a serem renderizados dentro do OptionMenu.
*/
children?: React.ReactNode;
/**
* Especifica o tipo de seleção permitido no OptionMenu. Pode ser "single" ou "multi".
*/
type?: 'single' | 'multi';
/**
* Uma mensagem personalizada a ser exibida quando nenhuma opção estiver disponível.
*/
customEmptyMessage?: string;
/**
* Propriedade para identificar o componente nos testes.
*/
testID?: string;
/**
* Propriedade para setar um tamanho máximo dos itens do OptionMenu.
*/
maxHeight?: number;
};
declare function Root$1(props: OptionMenuProps): react_jsx_runtime.JSX.Element;
declare namespace Root$1 {
var displayName: string;
}
declare const OptionMenu: {
Root: typeof Root$1;
List: typeof List;
Item: typeof Item$1;
Footer: typeof Footer$1;
Divider: typeof Divider;
Group: typeof Group;
};
type TTextInputSizes = 'md' | 'ml' | 'lg' | 'xl';
interface IInputTextProps extends TextInputProps {
/**
* Tamanho do input (opcional).
*/
size?: TTextInputSizes;
/**
* Indica se o input está desabilitado.
*/
disabled?: boolean;
/**
* Indica se o Input deve ocupar toda a largura do contêiner (opcional).
*/
full?: boolean;
/**
* Indica se o Input é apenas para leitura.
*/
readonly?: boolean;
/**
* Indica se o Input tem erro.
*/
hasError?: boolean;
/**
* Mensagem que será exibida quando houver erro de validação do campo.
*/
errorText?: string;
/**
* Identificador de teste para o componente
*/
testID?: string;
}
interface IInputTextIconProps extends TIconProps {
}
declare function InputTextIcon({ symbol, testID, ...props }: IInputTextIconProps): react_jsx_runtime.JSX.Element;
declare function InputTextButton({ onPress, testID, ...props }: Omit<IButtonProps, 'children'>): react_jsx_runtime.JSX.Element | null;
declare const InputText: {
Root: ({ children, size, full, disabled, readonly, hasError, errorText, value, onChangeText, testID, ...props }: IInputTextProps) => react_jsx_runtime.JSX.Element;
Field: React$1.ForwardRefExoticComponent<IInputTextProps & React$1.RefAttributes<react_native.TextInput>>;
Label: ({ children }: {
children: React.ReactNode;
}) => react_jsx_runtime.JSX.Element;
Actions: ({ children, }: {
children: React.ReactNode;
}) => react_jsx_runtime.JSX.Element;
Icon: typeof InputTextIcon;
Button: typeof InputTextButton;
HelperText: ({ children, withIcon, iconName, }: {
children: React.ReactNode;
withIcon?: boolean;
iconName?: TIconProps["symbol"];
}) => react_jsx_runtime.JSX.Element | null;
};
type TRatingSizes = 'tiny' | 'small';
interface IRatingProps extends Omit<PressableProps, 'onPress'> {
/**
* Tamanho do ícone. ("tiny" | "small" )
*/
size?: TRatingSizes;
/**
* Valor da avaliação.
*/
value?: number | undefined;
/**
* Propriedade para renderizar a quantidade de slots de avaliação.
*/
ratingLimit?: number;
/**
* Função de callback ao pressionar o componente.
*/
onPress?: (value: number) => void;
}
declare const Rating: ({ size, value, ratingLimit, onPress, ...rest }: IRatingProps) => react_jsx_runtime.JSX.Element;
type ContentProps = {
/**
* Os componentes filhos a serem renderizados dentro do Content.
*/
children?: React.ReactNode;
/**
* Especifica o tipo do Content. Pode ser "interactive" ou "title".
*/
type?: 'interactive' | 'title';
/**
* O tamanho do Content. Pode ser 'default' ou 'xs'.
*/
size?: 'default' | 'xs';
/**
* Propriedade para identificar o componente nos testes.
*/
testID?: string;
};
type ContentActionsProps = ContentProps;
declare function ContentActions(props: ContentActionsProps): react_jsx_runtime.JSX.Element | undefined;
type ContentActionsTextProps = ContentProps;
declare function ContentActionsText(props: ContentActionsTextProps): react_jsx_runtime.JSX.Element;
interface IContentIconProps extends TIconProps {
}
declare function ContentIcon({ testID, symbol, ...props }: IContentIconProps): react_jsx_runtime.JSX.Element;
type IContentLinkProps = TLinkProps;
declare function ContentLink(props: IContentLinkProps): react_jsx_runtime.JSX.Element;
type ContentSubtitleProps = {
children: React.ReactNode;
testID?: string;
};
declare function ContentSubtitle(props: ContentSubtitleProps): react_jsx_runtime.JSX.Element;
type ContentTitleProps = {
children: React.ReactNode;
testID?: string;
};
declare function ContentTitle(props: ContentTitleProps): react_jsx_runtime.JSX.Element;
type ContentRootProps = ContentProps & PressableProps;
declare function ContentRoot(props: ContentRootProps): react_jsx_runtime.JSX.Element;
declare const Content$2: {
Root: typeof ContentRoot;
Icon: typeof ContentIcon;
ActionsText: typeof ContentActionsText;
Title: typeof ContentTitle;
Subtitle: typeof ContentSubtitle;
Actions: typeof ContentActions;
Link: typeof ContentLink;
};
type TCardCategoryOrientation = 'vertical' | 'horizontal';
type TCardCategoryProps = {
/**
* Orientação do CardCategory.
*/
orientation?: TCardCategoryOrientation;
/**
* Conteúdo do CardCategory.
*/
children?: React.ReactNode;
/**
* Método chamado pressionar o CardCategory.
*/
onPress: () => void;
/**
* Propriedade para identificação do elemento na camada de testes.
*/
testID?: string;
/**
* Propriedade para desabilitar o CardCategory.
*/
disabled?: boolean;
};
interface CardCategoryIconProps extends TIconProps {
disabled?: boolean;
orientation?: TCardCategoryOrientation;
pressed?: boolean;
}
declare function CardCategoryIcon({ disabled, orientation, symbol, testID, pressed, }: CardCategoryIconProps): react_jsx_runtime.JSX.Element;
type TCardCategoryLabelProps = {
orientation?: TCardCategoryOrientation;
children: string;
disabled?: boolean;
testID?: string;
};
declare function CardCategoryLabel({ orientation, children, disabled, testID, }: TCardCategoryLabelProps): react_jsx_runtime.JSX.Element;
declare const CardCategory: {
Root: ({ orientation, onPress, disabled, children, testID, }: TCardCategoryProps) => react_jsx_runtime.JSX.Element;
Label: typeof CardCategoryLabel;
Icon: typeof CardCategoryIcon;
};
type TProgressIndicatorSizes = 'tiny' | 'mini' | 'micro' | 'nano';
type TProgressIndicatorVariants = 'brand' | 'neutral' | 'neutral-read-only' | 'inverse' | 'informative' | 'success' | 'warning' | 'danger';
type TProgressIndicatorProps = {
/**
* Define os tamanhos disponíveis para o componente ProgressIndicator.
*/
size?: TProgressIndicatorSizes;
/**
* Propriedade para identificação do elemento na camada de testes.
*/
testID?: string;
/**
* Define a porcentagem de preenchimento do componente.
*/
percentage?: number;
/**
* Define a duração (em milissegundos) para a animação de preenchimento de 0% a 100%. Não pode ser usado em conjunto com percentage.
*/
duration?: number;
/**
* Função a ser executada ao completar a animação de preenchimento.
*/
onComplete?: () => void;
/**
* Define se o fundo do componente deve ser transparente ou visível.
*/
bgTransparent?: boolean;
/**
* Define a variação de cor do componente.
*/
variant?: TProgressIndicatorVariants;
};
declare const ProgressIndicator: ({ size, percentage, duration, onComplete, bgTransparent, variant, testID, }: TProgressIndicatorProps) => react_jsx_runtime.JSX.Element;
/**
* `InputSelectProps` define as propriedades para o componente Select.
*
* @property {React.ReactNode} children - O conteúdo a ser renderizado dentro do Select.
* @property {'md' | 'ml' | 'lg' | 'xl'} [size] - A variante de tamanho do componente Select. Defaults to `md`.
* @property {boolean} [isDisabled] - Indica se o Select está desabilitado.
* @property {boolean} [isReadOnly] - Indica se o Select está somente leitura.
* @property {boolean} [isError] - Indica se há um estado de erro para o Select.
* @property {function} [onSelectionChange] - Função de callback acionada quando a seleção muda. Recebe o evento como argumento.
* @property {string} [defaultSelectedValue] - O valor selecionado por padrão.
* @property {string} [placeholder] - O texto do placeholder a ser exibido quando nenhum valor é selecionado.
* @property {Array<{ label: string; value: string | number }>} options - Um array de objetos, cada um com as propriedades `label` (string) e `value` (string ou number), representando as opções do select.
* @property {string} [testID] - Um ID para testes.
*/
type InputSelectProps = {
children: React.ReactNode;
size?: 'md' | 'ml' | 'lg' | 'xl';
orientation?: 'top' | 'bottom';
maxDropdownHeight?: number;
isDisabled?: boolean;
isReadOnly?: boolean;
isError?: boolean;
options: {
label: string;
value: string | number;
}[];
onSelectionChange?<T>(event: T): void;
onClearSelection?: () => void;
defaultSelectedValue?: string;
placeholder?: string;
testID?: string;
};
type SelectDropdownProps = {
children: (option: InputSelectProps['options'][0], index: number) => undefined | React.ReactNode;
testID?: string;
};
declare function SelectDropdownList(props: SelectDropdownProps): react_jsx_runtime.JSX.Element | null;
type SelectFieldProps = {
children: React.ReactNode;
testID?: string;
};
declare function SelectField(props: SelectFieldProps): react_jsx_runtime.JSX.Element;
declare const HelperText$1: React$1.ForwardRefExoticComponent<react_native.TextProps & {
isError?: boolean | undefined;
isDisabled?: boolean | undefined;
isReadOnly?: boolean | undefined;
} & React$1.RefAttributes<any>>;
type SelectHelperTextProps = React.ComponentPropsWithoutRef<typeof HelperText$1> & {
leftIcon?: IconName;
};
declare function SelectHelperText(props: SelectHelperTextProps): react_jsx_runtime.JSX.Element;
type SelectItemProps = React.ComponentProps<typeof OptionMenu.Item> & {
value: string | number;
testID?: string;
};
declare function SelectItem(props: SelectItemProps): react_jsx_runtime.JSX.Element;
declare const InputSelect: {
Root: React__default.ForwardRefExoticComponent<InputSelectProps & React__default.RefAttributes<any>>;
Field: typeof SelectField;
Label: React__default.ForwardRefExoticComponent<Omit<react_native.TextProps & {
isDisabled?: boolean | undefined;
isReadOnly?: boolean | undefined;
size?: "md" | "ml" | "lg" | "xl" | undefined;
} & React__default.RefAttributes<any>, "ref"> & React__default.RefAttributes<any>>;
Trigger: React__default.ForwardRefExoticComponent<Pick<Omit<Omit<react_native.PressableProps & React$1.RefAttributes<react_native.View> & {
size?: "md" | "ml" | "lg" | "xl" | undefined;
isFocused?: boolean | undefined;
isFilled?: boolean | undefined;
isDisabled?: boolean | undefined;
isReadOnly?: boolean | undefined;
isError?: boolean | undefined;
}, "ref"> & React__default.RefAttributes<any>, "ref">, "children"> & {
leftIcon?: TIconProps["symbol"];
testID?: string;
} & React__default.RefAttributes<any>>;
Value: React__default.ForwardRefExoticComponent<{
testID?: string;
} & React__default.RefAttributes<any>>;
HelperText: typeof SelectHelperText;
DropdownList: typeof SelectDropdownList;
Item: typeof SelectItem;
};
type SwitchLabelProps = {
children: string;
disabled?: boolean;
testID?: string;
};
declare function SwitchLabel({ children, disabled, testID }: SwitchLabelProps): react_jsx_runtime.JSX.Element;
declare function SwitchRefresh({ testID }: {
testID?: string;
}): react_jsx_runtime.JSX.Element;
type TSwitchProps = PressableProps & {
/**
* valor de ON/OFF do componente Switch.
*/
value: boolean;
/**
* Conteúdo do Switch.
*/
children?: React.ReactNode;
/**
* Método chamado pressionar o Switch.
*/
onPress?: () => void;
/**
* Propriedade para identificação do elemento na camada de testes.
*/
testID?: string;
/**
* Propriedade para desabilitar o Switch.
*/
disabled?: boolean;
};
declare const Switch: {
Root: ({ onPress, disabled, value, children, testID, }: TSwitchProps) => react_jsx_runtime.JSX.Element;
Label: typeof SwitchLabel;
Refresh: typeof SwitchRefresh;
};
interface TScrimProps {
/**
* Conteúdo do Scrim.
*/
children?: React.JSX.Element | null;
/**
* Utilizado na camada de testes
*/
testID?: string;
}
declare const Scrim: {
Root: ({ children, testID }: TScrimProps) => react_jsx_runtime.JSX.Element;
};
type SnackbarTypes = 'brand-accent' | 'info' | 'success' | 'warning' | 'danger';
type SnackbarBaseProps = {
/**
* Os componentes filhos a serem renderizados dentro do Snackbar.
*/
children?: React.ReactNode;
/**
* Define se o Snackbar deve utilizar 100% da largura disponível.
*/
full?: boolean;
/**
* Propriedade para identificar o componente nos testes.
*/
testID?: string;
/**
* Define as cores e o ícone do Snackbar.
*/
type?: SnackbarTypes;
/**
* Tempo em milissegundos de duração da exibição e animação do Snackbar.
*/
duration?: number;
/**
* Define qual será o texto do botão do Snackbar.Footer.
*/
buttonLabel?: string;
};
type SnackbarWithLayout = SnackbarBaseProps & {
/**
* Define se haverá botões no Snackbar.Footer e qual é o tipo de botão.
*/
layout: 'with-button' | 'with-link';
/**
* Função que será executada quando o botão do Snackbar.Footer for pressionado. Deve ser obrigatório se houver valor para layout.
*/
onPressFooterButton: () => void;
/**
* Define se o Snackbar deve exibir um ícone.
*/
withIcon?: boolean;
};
type SnackbarWithoutLayout = SnackbarBaseProps & {
/**
* Define se haverá botões no Snackbar.Footer e qual é o tipo de botão.
*/
layout?: never;
/**
* Função que será executada quando o botão do Snackbar.Footer for pressionado. Deve ser obrigatório se houver valor para layout.
*/
onPressFooterButton?: () => void;
/**
* Define se o Snackbar deve exibir um ícone.
*/
withIcon?: boolean;
};
type SnackbarProps = SnackbarWithLayout | SnackbarWithoutLayout;
type SnackbarContentBaseProps = {
/**
* Propriedade para identificar o componente nos testes.
*/
testID?: string;
/**
* Define as cores e o ícone do Snackbar.
*/
type?: SnackbarTypes;
/**
* Título do Snackbar.
*/
title?: string;
/**
* Descrição do Snackbar.
*/
description: string;
/**
* Exibe um botão de fechar o Snackbar quando seu valor for verdadeiro.
*/
closable?: boolean;
/**
* Função que será executada quando o usuário clicar no Snackbar.
*/
onPressRightButton?: () => void;
/**
* Define o número máximo de linhas que a descrição pode ter.
*/
numberOfLines?: 1 | 2;
};
type SnackbarContentWithIcon = SnackbarContentBaseProps & {
/**
* Nome do ícone que será exibido ao lado do título.
*/
iconName: IconName;
/**
* Define se o Snackbar deve exibir um ícone.
*/
withIcon: true;
};
type SnackbarContentWithoutIcon = SnackbarContentBaseProps & {
/**
* Nome do ícone que será exibido ao lado do título.
*/
iconName?: IconName;
/**
* Define se o Snackbar deve exibir um ícone.
*/
withIcon?: false;
};
type SnackbarContentProps = SnackbarContentWithIcon | SnackbarContentWithoutIcon;
declare function Content$1(props: SnackbarContentProps): react_jsx_runtime.JSX.Element;
type FooterProps = {
testID?: string;
};
declare function Footer(props: FooterProps): react_jsx_runtime.JSX.Element;
type TimerBarProps = {
testID?: string;
};
declare function TimerBar(props: TimerBarProps): react_jsx_runtime.JSX.Element;
declare function Root(props: SnackbarProps): react_jsx_runtime.JSX.Element;
declare namespace Root {
var displayName: string;
}
declare const Snackbar: {
Root: typeof Root;
TimerBar: typeof TimerBar;
Content: typeof Content$1;
Footer: typeof Footer;
};
type BaseProps = {
testID?: string;
variants: 'neutral' | 'positive' | 'informative' | 'warning' | 'negative';
};
type HighlightProps = {
type: 'highlight';
iconName: TIconProps['symbol'];
};
type IconProps = {
type: 'icon';
iconName: TIconProps['symbol'];
};
type TextProps = {
type: 'text';
iconName?: never;
};
type CardInformativeProps = (HighlightProps | IconProps | TextProps) & BaseProps;
type CardInformativeRootProps = CardInformativeProps & {
children: React.ReactNode;
};
declare const CardInformative: {
Root: (props: CardInformativeRootProps) => react_jsx_runtime.JSX.Element;
Content: (props: {
children: React.ReactNode;
testID?: string;
}) => react_jsx_runtime.JSX.Element;
Title: (props: {
children: React.ReactNode;
testID?: string;
}) => react_jsx_runtime.JSX.Element;
Description: (props: {
children: React.ReactNode;
testID?: string;
}) => react_jsx_runtime.JSX.Element;
};
type FilterSize = 'md' | 'ml';
type InputSize = 'sm' | 'md';
type componentType = 'input' | 'singleFilter';
interface ISingleFilterProps extends Omit<PressableProps, 'disabled'> {
/**
* Tamanho do SingleFilter (opcional).
*/
size?: FilterSize;
/**
* seleção do item (opcional).
*/
selected?: boolean;
/**
* seleção do item (opcional).
*/
checked?: boolean;
/**
* desabilita a interação (opcional).
*/
readOnly?: boolean;
/**
* Desabilita componente: ReactNode
*/
disabled?: boolean;
/**
* Componente filho ILabelProps
*/
children: React.ReactElement<ILabelProps>;
}
interface ILabelProps extends TextProps$1 {
/**
* desabilita a interação (opcional).
*/
readOnly?: boolean;
/**
* Desabilita componente: ReactNode
*/
disabled?: boolean;
/**
* seleção do item (opcional).
*/
selected?: boolean;
/**
* tipo do componente.
*/
type?: componentType;
/**
* Componente filho único: ReactElement
*/
children: string;
}
interface IInputProps extends PressableProps {
/**
* Tamanho do SingleFilter (opcional).
*/
size?: InputSize;
/**
* desabilita a interação (opcional).
*/
readOnly?: boolean;
/**
* Componente filho único: ReactElement
*/
children: React.ReactElement<ILabelProps>;
/**
* Oculta o botão de limpar (opcional).
*/
hiddenClearButton?: boolean;
}
interface IMultiFilterProps extends PressableProps {
/**
* Tamanho do SingleFilter (opcional).
*/
size?: FilterSize;
/**
* seleção do item (opcional).
*/
checked?: boolean;
/**
* seleção do item (opcional).
*/
selected?: boolean;
/**
* Desabilita componente: ReactNode
*/
disabled?: boolean;
/**
* Componente filho: ReactNode
*/
children: React.ReactNode;
/**
* desabilita a interação (opcional).
*/
readOnly?: boolean;
/**
* Altera o ícone a ser exibido.
*/
prefixIcon?: TIconProps['symbol'];
/**
* Exibir label quando ativado o padrão true (opcional).
*/
visibleLabel?: boolean;
}
interface IBadgeProps extends ViewProps {
/**
* Tamanho do badage.
*/
size?: FilterSize;
/**
* Componente filho: ReactNode
*/
children: string;
/**
* Desabilita componente: ReactNode
*/
disabled?: boolean;
/**
* desabilita a interação (opcional).
*/
readOnly?: boolean;
}
declare function Input(props: IInputProps): react_jsx_runtime.JSX.Element;
declare function MultiFilter(props: IMultiFilterProps): react_jsx_runtime.JSX.Element;
declare function SingleFilter(props: ISingleFilterProps): react_jsx_runtime.JSX.Element;
declare function Label({ children, ...rest }: ILabelProps): react_jsx_runtime.JSX.Element;
declare function Badge({ children, size, disabled, readOnly, ...rest }: IBadgeProps): react_jsx_runtime.JSX.Element;
declare const Chip: {
SingleFilter: typeof SingleFilter;
MultiFilter: typeof MultiFilter;
Input: typeof Input;
Label: typeof Label;
Badge: typeof Badge;
};
type THelperText = {
withIcon?: boolean;
children: React.ReactNode;
iconSize?: TIconProps['size'];
iconName?: TIconProps['symbol'];
hasError?: boolean;
disabled?: boolean;
readonly?: boolean;
testID?: string;
};
declare function HelperText({ children, withIcon, hasError, disabled, readonly, iconSize, iconName, testID, }: THelperText): react_jsx_runtime.JSX.Element;
type TagVariants = 'average' | 'strong' | 'weak' | 'on-sale' | 'principal' | 'secondary' | 'clube-raia' | 'clube-drogasil' | 'assinatura' | 'medicamento-de-geladeira' | 'receita-obrigatoria' | 'generico' | 'referencia' | 'similar' | 'ganhe-stix' | 'trocar-stix' | 'patrocinado';
type TTagProps = {
/**
* Conteúdo do componente Tag.
*/
children?: React.ReactNode;
/**
* Propriedade para identificação do elemento na camada de testes.
*/
testID?: string;
/**
* Propriedade utlizada para renderizar os diferentes tipos de Tag.
*/
variant: TagVariants;
};
declare function TagIcon({ symbol, testID, variant, }: {
symbol?: TIconProps['symbol'];
variant?: TagVariants;
testID?: string;
}): react_jsx_runtime.JSX.Element;
type TTagLabelProps = {
children: string;
testID?: string;
variant?: TagVariants;
};
declare function TagLabel({ children, testID, variant }: TTagLabelProps): react_jsx_runtime.JSX.Element;
declare const Tag: {
Root: ({ children, testID, variant }: TTagProps) => react_jsx_runtime.JSX.Element;
Label: typeof TagLabel;
Icon: typeof TagIcon;
};
type TContentProps = {
children: React.ReactNode;
index?: number;
};
declare function Content(props: TContentProps): react_jsx_runtime.JSX.Element | null;
type THeaderProps = {
title: string;
index?: number;
};
declare function Header(props: THeaderProps): react_jsx_runtime.JSX.Element;
type TItemProps = {
children: React__default.ReactNode;
index?: number;
defaultExpanded?: boolean;
};
declare function Item(props: TItemProps): react_jsx_runtime.JSX.Element;
declare namespace Item {
var displayName: string;
}
type TAccordionProps = {
/**
* Conteúdo do Accordion.
*/
children?: React.ReactNode;
/**
* Propriedade para identificação do elemento na camada de testes.
*/
testID?: string;
/**
* Propriedade para dizer se o componente está ou não habilitado.
*/
disabled?: boolean;
};
declare const Accordion: {
Root: (props: TAccordionProps) => react_jsx_runtime.JSX.Element;
Content: typeof Content;
Header: typeof Header;
Item: typeof Item;
};
type TModalBodyProps = {
children: React.ReactNode;
testID?: string;
};
declare function ModalBody({ children, testID }: TModalBodyProps): react_jsx_runtime.JSX.Element;
interface ModalClosableButtonProps extends AccessibilityProps {
onPress?: () => void;
testID?: string;
}
declare function ModalClosableButton({ onPress, testID, }: ModalClosableButtonProps): react_jsx_runtime.JSX.Element;
interface TModalDescriptionProps extends AccessibilityProps {
children: string;
testID?: string;
}
declare function ModalDescription({ children, testID }: TModalDescriptionProps): react_jsx_runtime.JSX.Element;
type TModalFooterProps = {
children: React__default.ReactNode;
testID?: string;
};
interface TButtonFooterProps extends AccessibilityProps {
onPress?: () => void;
children: string;
testID?: string;
}
declare function ModalFirstButtonFooter({ onPress, children, testID, }: TButtonFooterProps): react_jsx_runtime.JSX.Element;
declare function ModalSecondButtonFooter({ onPress, children, testID, }: TButtonFooterProps): react_jsx_runtime.JSX.Element;
declare function ModalFooter({ children, testID }: TModalFooterProps): react_jsx_runtime.JSX.Element;
interface TModalIconProps extends AccessibilityProps {
symbol?: TIconProps['symbol'];
testID?: string;
color?: TIconProps['color'];
}
declare function ModalIcon({ symbol, testID, color }: TModalIconProps): react_jsx_runtime.JSX.Element;
interface THeaderLabelProps extends AccessibilityProps {
children: string;
testID?: string;
}
declare function ModalTitle({ children, testID }: THeaderLabelProps): react_jsx_runtime.JSX.Element;
type ModalVariants = 'small' | 'medium';
type TModalProps = {
/**
* Controla a exibição do modal
*/
visible?: boolean;
/**
* Conteúdo do componente Modal.
*/
children?: React.ReactNode;
/**
* Propriedade para identificação do elemento na camada de testes.
*/
testID?: string;
/**
* Propriedade utlizada para renderizar o Modal em diferentes larguras.
*/
variant: ModalVariants;
};
declare const Modal: {
Root: ({ children, testID, variant, visible, }: TModalProps) => react_jsx_runtime.JSX.Element | null;
HeaderIcon: typeof ModalIcon;
HeaderTitle: typeof ModalTitle;
HeaderClosableButton: typeof ModalClosableButton;
Description: typeof ModalDescription;
Body: typeof ModalBody;
Footer: typeof ModalFooter;
PrimaryButton: typeof ModalFirstButtonFooter;
SecondaryButton: typeof ModalSecondButtonFooter;
};
type ToastProps = {
type: 'neutral' | 'informative' | 'success' | 'warning' | 'danger';
};
declare const Toast: {
Root: React__default.ForwardRefExoticComponent<ToastProps & ViewProps & {
children: React__default.ReactNode;
} & React__default.RefAttributes<any>>;
Description: (props: {
children: React__default.ReactNode;
testID?: string;
}) => react_jsx_runtime.JSX.Element;
Icon: (props: TIconProps & {
testID?: string;
}) => react_jsx_runtime.JSX.Element;
};
type InputMultiSelectProps = TextInputProps & {
children: React.ReactNode;
/** Tamanho do componente de multi-seleção de entrada
* @default 'ml'
*/
size?: 'md' | 'ml' | 'lg' | 'xl';
/** Se a entrada está em um estado de erro
* @default false
*/
isError?: boolean;
/** Se a entrada deve ocupar toda a largura do seu container
* @default false
*/
full?: boolean;
/** Se a entrada está desabilitada
* @default false
*/
isDisabled?: boolean;
/** Se a entrada é somente leitura
* @default false
*/
isReadOnly?: boolean;
/**
* Array de opções para a entrada de multi-seleção
* Cada opção tem um id, um label e uma descrição opcional
*/
options: {
id: string | number;
label: string;
description?: string;
value?: string;
}[];
/**
* Função de callback que é chamada quando a seleção de opções muda
* @param options - A nova seleção de opções
*/
onSelectionChange?(options: InputMultiSelectProps['options']): void;
/**
* Identificador de teste para o componente
*/
testID?: string;
};
declare const InputMultiSelect: {
Root: React$1.ForwardRefExoticComponent<react_native.TextInputProps & {
children: React.ReactNode;
size?: "md" | "ml" | "lg" | "xl";
isError?: boolean;
full?: boolean;
isDisabled?: boolean;
isReadOnly?: boolean;
options: {
id: string | number;
label: string;
description?: string;
value?: string;
}[];
onSelectionChange?(options: InputMultiSelectProps["options"]): void;
testID?: string;
} & React$1.RefAttributes<any>>;
Label: React$1.ForwardRefExoticComponent<{
children: React.ReactNode;
testID?: string;
} & React$1.RefAttributes<any>>;
HelperText: React$1.FC<{
withIcon?: boolean;
children: React.ReactNode;
iconSize?: TIconProps["size"];
iconName?: TIconProps["symbol"];
hasError?: boolean;
disabled?: boolean;
readonly?: boolean;
testID?: string;
}>;
Control: React$1.FC<{
leftIcon?: TIconProps["symbol"];
testID?: string;
}>;
DropdownList: React$1.FC<{
onConfirm?(): void;
onCancel?(): void;
testID?: string;
}>;
};
type TInputPasswordSizes = 'md' | 'ml' | 'lg' | 'xl';
interface IInputPasswordProps extends TextInputProps {
/**
* Tamanho do input (opcional).
*/
size?: TInputPasswordSizes;
/**
* Indica se o input está desabilitado.
*/
disabled?: boolean;
/**
* Indica se o Input deve ocupar toda a largura do contêiner (opcional).
*/
full?: boolean;
/**
* Indica se o Input é apenas para leitura.
*/
readonly?: boolean;
/**
* Indica se o Input tem erro.
*/
hasError?: boolean;
/**
* Mensagem que será exibida quando houver erro de validação do campo.
*/
errorText?: string;
/**
* Identificador de teste para o componente
*/
testID?: string;
}
type InputPasswordTagType = 'AVERAGE' | 'STRONG' | 'WEAK';
interface InputPasswordTagProps extends Omit<TTagProps, 'variant'> {
variant?: InputPasswordTagType;
active?: boolean;
}
declare function InputPasswordButton({ onPress, testID, ...props }: Omit<IButtonProps, 'children'>): react_jsx_runtime.JSX.Element | null;
declare const InputPassword: {
Root: ({ children, size, full, disabled, readonly, hasError, errorText, value, onChangeText, testID, ...props }: IInputPasswordProps) => react_jsx_runtime.JSX.Element;
Field: React$1.ForwardRefExoticComponent<IInputPasswordProps & React$1.RefAttributes<react_native.TextInput>>;
Label: ({ children, }: {
children: React.ReactNode;
}) => react_jsx_runtime.JSX.Element;
Actions: ({ children, }: {
children: React.ReactNode;
}) => react_jsx_runtime.JSX.Element;
Icon: ({ symbol, testID, ...props }: TIconProps) => react_jsx_runtime.JSX.Element;
Button: typeof InputPasswordButton;
HelperText: ({ children, withIcon, iconName, }: {
children: React.ReactNode;
withIcon?: boolean;
iconName?: TIconProps["symbol"];
}) => react_jsx_runtime.JSX.Element | null;
Tag: ({ active, variant, testID, }: InputPasswordTagProps) => react_jsx_runtime.JSX.Element | null;
};
interface TCardShapeProps extends AccessibilityProps {
/**
* Conteúdo do componente CardShape.
*/
children?: React.ReactNode;
/**
* Propriedade para identificação do elemento na camada de testes.
*/
testID?: string;
/**
* Propriedade de estado para desabilitar o componente CardShape.
*/
disabled?: boolean;
/**
* Método para pressionar o componente CardShape.
*/
onPress?: () => void;
/**
* Propriedade utilizada para selecionar o componente CardShape
*/
selected?: boolean;
}
declare const CardShape: {
Root: ({ children, testID, disabled, onPress, selected, ...rest }: TCardShapeProps) => react_jsx_runtime.JSX.Element;
};
type TInputCounterSizes = 'xl' | 'lg' | 'ml' | 'md';
interface TInputCounterProps extends AccessibilityProps {
/**
* Conteúdo do componente InputCounter.
*/
children?: React.ReactNode;
/**
* Propriedade para identificação do elemento na camada de testes.
*/
testID?: string;
/**
* Propriedade de estado para desabilitar o componente InputCounter.
*/
disabled?: boolean;
/**
* Propriedade de estado para controlar tamanho do InputCounter.
*/
size: TInputCounterSizes;
/**
* Propriedade de estado para controlar estado de erro.
*/
hasError?: boolean;
/**
* Mensagem que será exibida quando houver erro de validação do campo.
*/
errorText: string;
/**
* Propriedade de estado para estado readOnly.
*/
readonly?: boolean;
/**
* Propriedade para controlar o valor interno do InputCounter.
*/
value: number;
/**
* Propriedade para setar o estado do valor interno do InputCounter.
*/
onChange: (value: number) => void;
}
declare const InputCounter: {
Root: ({ children, testID, disabled, size, hasError, errorText, readonly, value, onChange, }: TInputCounterProps) => react_jsx_runtime.JSX.Element;
Label: ({ children }: {
children: React__default.ReactNode;
}) => react_jsx_runtime.JSX.Element;
HelperText: ({ children, withIcon, iconName, }: {
children: React__default.ReactNode;
withIcon?: boolean;
iconName?: TIconProps["symbol"];
}) => react_jsx_runtime.JSX.Element | null;
MinusButton: (props: Omit<IButtonProps, "variant" | "size" | "children"> & {
symbol?: _raiadrogasil_pulso_icons.IconName;
}) => react_jsx_runtime.JSX.Element;
PlusButton: (props: Omit<IButtonProps, "variant" | "size" | "children"> & {
symbol?: _raiadrogasil_pulso_icons.IconName;
}) => react_jsx_runtime.JSX.Element;
};
interface IBottomNavigationContainerProps extends ViewProps {
/**
* Conteúdo.
*/
children: React.ReactNode;
}
interface IBottomNavigationItemProps extends PressableProps {
/**
* Propriedade navigation.
*/
key?: string; /**
* Propriedade alias.
*/
alias?: string;
/**
* Propriedade para ordenação do item.
*/
index?: number;
/**
* Propriedade para desabilitar o item.
*/
disabled?: boolean;
/**
* propriedade para infomrar o estado ativo.
*/
isActive?: boolean;
/**
* propriedade para infomrar o estado Focus.
*/
isFocused?: boolean;
/**
* Propriedade para indicar o ícone.
*/
icon?: TIconProps['symbol'];
/**
* Propriedade para indicar o ícone ativo.
*/
iconActive?: TIconProps['symbol'];
/**
* Propriedade para indicar o label.
*/
label?: string;
/**
* Propriedade para indicar o label de acessibilidade.
*/
tabBarAccessibilityLabel?: string;
/**
* Propiedade para realizar testes
*/
testID?: string;
/**
* Action ao precionar com long press
*/
onLongPress?: () => void;
/**
* Action ao precionar
*/
onPress?: () => void;
}
declare function BottomNavigationItem({ key, disabled, isActive, icon, iconActive, label, testID, isFocused, accessibilityLabel, onPress, onLongPress, ...props }: IBottomNavigationItemProps): react_jsx_runtime.JSX.Element;
declare const BottomNavigation: {
Root: {
({ children, }: IBottomNavigationContainerProps): react_jsx_runtime.JSX.Element;
displayName: string;
};
Item: typeof BottomNavigationItem;
};
type StepRange = 1 | 2 | 3 | 4 | 5 | 6 | 7;
interface TStepperProps extends AccessibilityProps {
/**
* Propriedade para identificação do elemento na camada de testes.
*/
testID?: string;
/**
* Número total de etapas, aceita valores de 1 a 7.
*/
steps: StepRange;
/**
* Número de etapas concluídas, aceita valores de 1 até o valor definido em steps.
*/
completed: StepRange;
}
declare const Stepper: ({ testID, steps, completed, ...rest }: TStepperProps) => react_jsx_runtime.JSX.Element | null;
type LogoProps = {
type: 'white' | 'black' | 'colored' | 'yellow' | 'light-green' | 'dark-green' | 'light-orange' | 'dark-orange' | 'light-blue' | 'dark-blue';
size: 'large' | 'huge' | 'enormous';
};
declare const Logo: {
RDSaude: (props: LogoProps) => react_jsx_runtime.JSX.Element;
Pulso: (props: LogoProps & {
onlySymbol?: boolean;
}) => react_jsx_runtime.JSX.Element;
Raia: (props: LogoProps & {
onlySymbol?: boolean;
}) => react_jsx_runtime.JSX.Element;
Drogasil: (props: LogoProps & {
onlySymbol?: boolean;
}) => react_jsx_runtime.JSX.Element;
RDSaudeTagline: (props: LogoProps) => react_jsx_runtime.JSX.Element;
Univers: (props: LogoProps & {
onlySymbol?: boolean;
}) => react_jsx_runtime.JSX.Element;
};
type ListItemProps = {
/**
* Define se o item da lista está desabilitado.
*/
disabled?: boolean;
/**
* Controla a exibição da linha divisória abaixo do item da lista.
*/
enabledLine?: boolean;
};
type ListItemRootProps = ListItemProps & PressableProps & {
children: React.ReactNode;
testID?: string;
};
declare const ListItem: {
Root: (props: ListItemRootProps) => react_jsx_runtime.JSX.Element;
Title: (props: {
children: string;
testID?: string;
}) => react_jsx_runtime.JSX.Element;
Description: (props: {
children: string;
testID?: string;
}) => react_jsx_runtime.JSX.Element;
Header: (props: ListItemProps & {
children: React.ReactNode;
testID?: string;
}) => react_jsx_runtime.JSX.Element;
Tag: (props: Omit<TTagProps, "variant"> & {
variant: "principal" | "secondary";
testID?: string;
}) => react_jsx_runtime.JSX.