import type { ChildrenList } from './models/children-list.js' import type { PartialElement } from './models/partial-element.js' import { createComponent } from './shade-component.js' /** * Creates a shortcut for a specific custom Shade element with additional styles * @param element The element instance * @param styles The additional styles to add * @returns The updated element */ export const styledElement = ( element: TElement, styles: Partial, ): ((props: PartialElement, childrenList: ChildrenList) => JSX.Element) => { return (props: PartialElement, childrenList: ChildrenList) => { const mergedProps = { ...props, style: { ...(props?.style || {}), ...styles, }, } return createComponent(element, mergedProps, ...childrenList) as JSX.Element } }