v1.2.3
Utilities
Experimental
This component is considered experimental. Reach out to the Spark team to find out more about what this means.
Installation
Install
yarn add @spark-web/utils
npm
@spark-web/utils
Source GitHub.com
Bundle unpkg.com
🚧 — 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 /> );});