/** * Icon Wrapper Component. * * Ensures consistent sizing across different icon types. * Some icons use explicit size props, others use CSS classes. * * @module @mks2508/mks-ui/react/lib/icon-wrapper */ import type { HTMLAttributes } from 'react'; /** * Icon wrapper props interface. */ export interface IIconWrapperProps extends HTMLAttributes { /** * The icon component to render. * Accepts ComponentType, ForwardRefExoticComponent, or any renderable component. * Broad type needed for React 19 compatibility across duplicate @types/react copies. */ icon: React.ComponentType | React.ExoticComponent; /** Size in pixels for icons that use size prop (default: 16) */ size?: number; } /** * Icon wrapper that ensures consistent sizing across different icon types. * * Some icons from the UI package use explicit size props (width/height on SVG), * while others use CSS classes (w-4 h-4). This wrapper detects the icon type * and applies the appropriate sizing method. * * @example * ```tsx * * * ``` */ export declare function IconWrapper({ icon: Icon, className, size, ...props }: IIconWrapperProps): import("react/jsx-runtime").JSX.Element; //# sourceMappingURL=icon-wrapper.d.ts.map