1.3.0 ā€¢ Published 4 months ago

@spark-web/utils v1.3.0

Weekly downloads
-
License
-
Repository
github
Last release
4 months ago

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
    />
  );
});