@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.
43 lines (40 loc) • 1.43 kB
text/typescript
import * as react_jsx_runtime from 'react/jsx-runtime';
import * as React from 'react';
import { RDSAUDESISTEMAS_TOKENS } from '@raiadrogasil/pulso-design-tokens';
import { IconName } from '@raiadrogasil/pulso-icons';
type IconVisualSize = 'tiny' | 'extra-small' | 'small' | 'medium';
type DesignTokens = typeof RDSAUDESISTEMAS_TOKENS;
type TokenColorKeys = {
[K in keyof DesignTokens as K extends `color${string}` ? K : never]: DesignTokens[K];
};
/**
* Propriedades do componente Icon.
*/
type IconProps = React.ComponentProps<'i'> & {
/**
* Define o ícone a ser exibido, com base na lista de nomes disponíveis em `@raiadrogasil/pulso-icons`.
*
* @default 'rdicon-default'
*/
symbol?: IconName;
/**
* Define o tamanho visual do ícone, controlando o `font-size` com base nos tokens de espaçamento.
*
* Valores possíveis: 'tiny', 'extra-small', 'small', 'medium'.
*
* @default 'small'
*/
size?: IconVisualSize;
/**
* Define a cor do ícone usando uma chave de token de cor do design system.
* A cor é aplicada via `style.color`.
*
* @default 'colorActionFillBrandPrimaryEnabled'
*/
color?: keyof TokenColorKeys;
};
declare function Icon({ symbol, size, color, ...props }: IconProps): react_jsx_runtime.JSX.Element;
declare namespace Icon {
var displayName: string;
}
export { type IconProps as I, Icon as a };