@spark-web/utils
v5.1.0
Published
--- title: Utilities isExperimentalPackage: true ---
Downloads
5,032
Readme
title: Utilities isExperimentalPackage: true
🚧 — Under construction
forwardRefWithAs
A best effort attempt to provide strongly typed polymorphic components that (as the name suggests) forwards the ref onto the underlying element.
Internally this is used for our layout primitives (Box, Columns,
Container, Hidden, Inline, Row and Stack), our link components
(Link, ButtonLink and TextLink), our typographic components (Heading and
Text) and finally VisuallyHidden.
export const PolymorphicComponent = forwardRefWithAs<
'div',
PolymorphicComponentProps
>(({ as: Tag = 'div', ...consumerProps }, forwardedRef) => {
return (
<Tag
{...consumerProps}
ref={forwardedRef}
// Custom props go here
/>
);
});