import { ForwardRefExoticComponent, ReactNode, RefAttributes } from 'react'; import { StyledComponent } from 'styled-components'; import { WithHTMLAttributes } from '@synerise/ds-utils'; import { IconName } from './useIconComponent'; export type { IconName }; export type BaseIconProps = { color?: string; /** * Icon name - use this to render an icon by its name (e.g., 'InfoM', 'AddM'). * This is the recommended way to use icons. * @example * ```tsx * * * ``` */ iconName?: IconName; /** * Display name for the icon (used as title attribute) */ name?: string; size?: string | number; stroke?: boolean; /** * @deprecated Use the `iconName` prop instead with the icon name as a string. * @example * // Before (deprecated): * } /> * * // After (recommended): * */ component?: ReactNode; }; export type IconProps = WithHTMLAttributes; export type StyledIcon = StyledComponent>, object, CustomProps, never>;