diff --git a/packages/lucide-preact/scripts/exportTemplate.mts b/packages/lucide-preact/scripts/exportTemplate.mts index 8eaa0baa6..94c7922a9 100644 --- a/packages/lucide-preact/scripts/exportTemplate.mts +++ b/packages/lucide-preact/scripts/exportTemplate.mts @@ -8,9 +8,14 @@ export default defineExportTemplate( return ` import createLucideIcon from '../createLucideIcon'; -import type { LucideIconData } from '../types'; +import type { LucideIconNode, LucideIconData } from '../types'; -const iconData: LucideIconData = ${JSON.stringify(iconData)}; +export const __iconData: LucideIconData = ${JSON.stringify(iconData)}; + +/** + * @deprecated Access \`__iconData\` instead. + */ +export const __iconNode: LucideIconNode[] = __iconData.node; /** * @component @name ${componentName} @@ -23,7 +28,7 @@ const iconData: LucideIconData = ${JSON.stringify(iconData)}; * @returns {JSX.Element} JSX Element * ${deprecated ? `@deprecated ${deprecationReason}` : ''} */ -const ${componentName} = createLucideIcon(iconData); +const ${componentName} = createLucideIcon(__iconData); export default ${componentName}; `; diff --git a/packages/lucide-preact/tests/createLucideIcon.spec.tsx b/packages/lucide-preact/tests/createLucideIcon.spec.tsx index f2b20a952..22b9e1251 100644 --- a/packages/lucide-preact/tests/createLucideIcon.spec.tsx +++ b/packages/lucide-preact/tests/createLucideIcon.spec.tsx @@ -1,9 +1,18 @@ import { describe, it, expect } from 'vitest'; import { createLucideIcon } from '../src/lucide-preact'; +import { __iconData, __iconNode } from '../src/icons/air-vent'; import { airVent } from './testIconNodes'; import { render } from '@testing-library/preact'; describe('Using createLucideIcon', () => { + it('should export __iconData and __iconNode from icon module', () => { + expect(__iconData).toBeDefined(); + expect(__iconData.node).toBeDefined(); + expect(__iconNode).toBeDefined(); + expect(Array.isArray(__iconNode)).toBe(true); + expect(__iconNode.length).toBeGreaterThan(0); + }); + it('should create a component from icon data', () => { const AirVent = createLucideIcon({ name: 'air-vent', diff --git a/packages/lucide-react-native/scripts/exportTemplate.mts b/packages/lucide-react-native/scripts/exportTemplate.mts index c09cf5042..64cec733c 100644 --- a/packages/lucide-react-native/scripts/exportTemplate.mts +++ b/packages/lucide-react-native/scripts/exportTemplate.mts @@ -8,9 +8,14 @@ export default defineExportTemplate( return ` import createLucideIcon from '../createLucideIcon'; -import type { LucideIconData } from '../types'; +import type { LucideIconNode, LucideIconData } from '../types'; -const iconData: LucideIconData = ${JSON.stringify(iconData)}; +export const __iconData: LucideIconData = ${JSON.stringify(iconData)}; + +/** + * @deprecated Access \`__iconData\` instead. + */ +export const __iconNode: LucideIconNode[] = __iconData.node; /** * @component @name ${componentName} @@ -23,7 +28,7 @@ const iconData: LucideIconData = ${JSON.stringify(iconData)}; * @returns {JSX.Element} JSX Element * ${deprecated ? `@deprecated ${deprecationReason}` : ''} */ -const ${componentName} = createLucideIcon(iconData); +const ${componentName} = createLucideIcon(__iconData); export default ${componentName}; `; diff --git a/packages/lucide-solid/scripts/exportTemplate.mts b/packages/lucide-solid/scripts/exportTemplate.mts index 6a2b6d376..0dcdc8f5c 100644 --- a/packages/lucide-solid/scripts/exportTemplate.mts +++ b/packages/lucide-solid/scripts/exportTemplate.mts @@ -8,9 +8,14 @@ export default defineExportTemplate( return ` import Icon from '../Icon'; -import type { LucideIconData, LucideProps } from '../types'; +import type { LucideIconData, LucideIconNode, LucideProps } from '../types'; -const iconData: LucideIconData = ${JSON.stringify(iconData)}; +export const __iconData: LucideIconData = ${JSON.stringify(iconData)}; + +/** + * @deprecated Access \`__iconData\` instead. + */ +export const __iconNode: LucideIconNode[] = __iconData.node; /** * @component @name ${componentName} @@ -24,7 +29,7 @@ const iconData: LucideIconData = ${JSON.stringify(iconData)}; * ${deprecated ? `@deprecated ${deprecationReason}` : ''} */ const ${componentName} = (props: LucideProps) => ( - + ) export default ${componentName};