import * as React from 'react'; import type { BackyardBaseProps, BackyardToken } from '../../utils/typings/BackyardProps'; /** * SVG wrapper utility that provides a container for a given icon, svg path. * Additionally PathIcon provides some helper props to easily change the color, size, additional classnames * and a title for the Icon. * * ex: * ``` * * * * ``` */ declare const PathIcon: React.ForwardRefExoticComponent; declare type PathIconRef = SVGElement; declare type PathIconOverrideProps = 'size'; interface PathIconProps extends BackyardBaseProps { /** * DOM class to be applied directly to the svg. */ className?: string; /** * Sets the fill color of the svg path. */ color?: keyof BackyardToken['color'] | string; /** * Overwrites the default size of the icon. * Takes in @lowes-tech/bds-tokens sizing/sizes token. */ size?: keyof BackyardToken['sizes'] | string; /** * Defines the position and dimension, in user space, of an SVG viewport. * Should only consist of four numbers: min-x, min-y, width and height separated * by whitespace and/or a comma. * * ex: '0 0 24 24' */ viewBox?: string; /** * Provides a human readable name for the SVG content */ title?: string; /** * Transform override for icon * * Shorthand for using `style={{ transform: value }}` */ transform?: React.SVGAttributes['transform']; /** * Set true when building custom icons for the bds-icon repo, ie credit card icons, that contains many colors * and paths to prevent defaulting the fill for all of the paths to be the same color or overriding a set fill color. * NOTE: This attribute is not to be used outside of the bds-icon repo. */ overrideColor?: boolean; } export { PathIcon }; export type { PathIconProps, PathIconRef }; export default PathIcon;