@antadesign/anta
    Preparing search index...

    Interface IconPropsUnreviewed

    Common props for JSX component wrappers.

    interface IconProps {
        shape: keyof IconShapes;
        size?: number;
        label?: string;
        className?: string;
        style?: CSSProperties;
        children?: ReactNode;
        id?: string;
        title?: string;
        slot?: string;
        tabIndex?: number;
        key?: string | number | null;
        [key: `data-${string}`]: unknown;
        [key: `aria-${string}`]: unknown;
    }

    Hierarchy (View Summary)

    Indexable

    • [key: `data-${string}`]: unknown

      Any data-* attribute is forwarded to the rendered element.

    • [key: `aria-${string}`]: unknown

      Any aria-* attribute is forwarded to the rendered element.

    Index
    shape: keyof IconShapes

    Which icon to render. The set of valid shapes comes from Anta's built-in icons plus any consumer-generated shapes (via the IconShapes interface module augmentation).

    size?: number

    Width and height in pixels.

    16
    
    label?: string

    Accessible name for the icon. When set, the wrapper exposes role="img" and aria-label={label} so screen readers announce the icon. When omitted (the default), the icon is treated as decorative — aria-hidden="true" is applied so it doesn't add noise alongside neighbouring text.

    className?: string

    CSS class on the component's root element (merged with the component's own classes). Use it directly for layout and positioning — grid/flex placement, margins, alignment — rather than wrapping the component in a <div>/<span>.

    style?: CSSProperties

    Inline styles on the component's root element. Set layout/positioning here (or via className) directly on the component instead of adding a wrapper.

    children?: ReactNode

    Child elements. When provided, replaces the component's default label/content.

    id?: string

    HTML id attribute.

    title?: string

    HTML title attribute — native browser tooltip on hover.

    slot?: string

    Assigns the element to a named <slot> of a parent web component (e.g. slot="header" inside a <Card>, slot="footer" inside a <Dialog>).

    tabIndex?: number

    Tab order. Set to -1 to skip the element when tabbing.

    key?: string | number | null

    React/Preact reconciliation key when rendered inside a list. Consumed by the JSX runtime (not forwarded as a DOM attribute).