Files
lucide/packages/icons/scripts/exportTemplate.mjs
2025-02-10 13:58:34 +01:00

26 lines
769 B
JavaScript

/* eslint-disable import/no-extraneous-dependencies */
import base64SVG from '@lucide/build-icons/utils/base64SVG.mjs';
import { toCamelCase } from '@lucide/helpers';
export default ({ iconName, children, getSvg, deprecated, deprecationReason }) => {
const svgContents = getSvg();
const svgBase64 = base64SVG(svgContents);
const exportName = toCamelCase(iconName)
return `
import { IconNode } from '../types';
/**
* @name ${iconName}
* @description Lucide SVG string.
*
* @preview ![img](data:image/svg+xml;base64,${svgBase64}) - https://lucide.dev/icons/${iconName}
*
* @returns {IconNode}
* ${deprecated ? `@deprecated ${deprecationReason}` : ''}
*/
const _${exportName}: IconNode = ${JSON.stringify(children)}
export default _${exportName};
`;
};