diff --git a/packages/lucide-angular/scripts/exportTemplate.mjs b/packages/lucide-angular/scripts/exportTemplate.mjs index 67ecb12d5ca..064d70ecb14 100644 --- a/packages/lucide-angular/scripts/exportTemplate.mjs +++ b/packages/lucide-angular/scripts/exportTemplate.mjs @@ -1,8 +1,26 @@ -export default ({ componentName, children }) => ` +/* eslint-disable import/no-extraneous-dependencies */ +import base64SVG from '@lucide/build-icons/utils/base64SVG.mjs'; + +export default ({ componentName, iconName, children, getSvg, deprecated }) => { + const svgContents = getSvg(); + const svgBase64 = base64SVG(svgContents); + + return `\ import { LucideIconData } from './types'; -/* eslint-disable no-shadow-restricted-names */ -const ${componentName}: LucideIconData = ${JSON.stringify(children)}; +/** + * @component @name ${componentName} + * @description Lucide SVG icon component, renders SVG Element with children. + * + * @preview ![img](data:image/svg+xml;base64,${svgBase64}) - https://lucide.dev/icons/${iconName} + * @see https://lucide.dev/guide/packages/lucide-vue-next - Documentation + * + * @param {Object} props - Lucide icons props and any valid SVG attribute + * @returns {FunctionalComponent} Vue component + * ${deprecated ? '@deprecated' : ''} +*/ +const ${componentName}: LucideIconData = ${JSON.stringify(children)}; //eslint-disable-line no-shadow-restricted-names export default ${componentName}; -`; +` +};