UNPKG

lucide-react

Version:

A Lucide icon library package for React applications

48 lines (44 loc) 1.3 kB
/** * @license lucide-react v0.367.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */ import { forwardRef, createElement } from 'react'; import defaultAttributes from './defaultAttributes.js'; import { toKebabCase } from './shared/src/utils.js'; const createLucideIcon = (iconName, iconNode) => { const Component = forwardRef( ({ color = "currentColor", size = 24, strokeWidth = 2, absoluteStrokeWidth, className = "", children, ...rest }, ref) => { return createElement( "svg", { ref, ...defaultAttributes, width: size, height: size, stroke: color, strokeWidth: absoluteStrokeWidth ? Number(strokeWidth) * 24 / Number(size) : strokeWidth, className: ["lucide", `lucide-${toKebabCase(iconName)}`, className].join(" "), ...rest }, [ ...iconNode.map(([tag, attrs]) => createElement(tag, attrs)), ...Array.isArray(children) ? children : [children] ] ); } ); Component.displayName = `${iconName}`; return Component; }; export { createLucideIcon as default }; //# sourceMappingURL=createLucideIcon.js.map