diff --git a/packages/lucide-preact/src/createPreactComponent.js b/packages/lucide-preact/src/createPreactComponent.js index 8f383878a..208e517f7 100644 --- a/packages/lucide-preact/src/createPreactComponent.js +++ b/packages/lucide-preact/src/createPreactComponent.js @@ -1,4 +1,4 @@ -import { h } from 'preact'; +import { h, toChildArray } from 'preact'; import defaultAttributes from './defaultAttributes'; /** @@ -12,7 +12,7 @@ import defaultAttributes from './defaultAttributes'; export const toKebabCase = string => string.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase(); export default (iconName, iconNode) => { - const Component = ({ color = 'currentColor', size = 24, strokeWidth = 2, ...rest }) => + const Component = ({ color = 'currentColor', size = 24, strokeWidth = 2, children, ...rest }) => h( 'svg', { @@ -24,7 +24,7 @@ export default (iconName, iconNode) => { class: `lucide lucide-${toKebabCase(iconName)}`, ...rest, }, - iconNode.map(([tag, attrs]) => h(tag, attrs)), + [...iconNode.map(([tag, attrs]) => h(tag, attrs)), ...toChildArray(children)], ); Component.displayName = `${iconName}`; diff --git a/packages/lucide-react/src/createReactComponent.js b/packages/lucide-react/src/createReactComponent.js index 9f4794e22..4104ff580 100644 --- a/packages/lucide-react/src/createReactComponent.js +++ b/packages/lucide-react/src/createReactComponent.js @@ -14,7 +14,7 @@ export const toKebabCase = string => string.replace(/([a-z0-9])([A-Z])/g, '$1-$2 export default (iconName, iconNode) => { const Component = forwardRef( - ({ color = 'currentColor', size = 24, strokeWidth = 2, ...rest }, ref) => + ({ color = 'currentColor', size = 24, strokeWidth = 2, children, ...rest }, ref) => createElement( 'svg', { @@ -27,7 +27,7 @@ export default (iconName, iconNode) => { className: `lucide lucide-${toKebabCase(iconName)}`, ...rest, }, - iconNode.map(([tag, attrs]) => createElement(tag, attrs)), + [...iconNode.map(([tag, attrs]) => createElement(tag, attrs)), ...(children || [])], ), );