4 Repos
UI components that allow dynamic switching of the underlying HTML element while retaining behavior.
Distinguishing note: Focuses on the architectural pattern of element swapping rather than standard component composition.
Explore 4 awesome GitHub repositories matching user interface & experience · Polymorphic Components. Refine with filters or upvote what's useful.
HeroUI is a declarative toolkit for building accessible user interfaces through modular, React-based component composition. It provides a comprehensive set of reusable building blocks designed to standardize visual language and interaction patterns across web and mobile applications. The library distinguishes itself through an integrated approach to accessibility and styling. It automatically manages state and keyboard interactions by injecting appropriate attributes, while utilizing a utility-driven styling architecture to enforce design system consistency. Developers can leverage polymorphi
Enables dynamic changes to underlying HTML element types while preserving semantic structure.
Rebass is a React design system library that provides a collection of theme-driven, responsive UI primitives. It functions as a theme-based layout engine, using a set of stateless components to standardize spacing, typography, and colors across a user interface. The library distinguishes itself by mapping style properties to a central design theme through a styled-system approach. This allows for responsive style mapping where components automatically adapt their appearance based on screen size and provides the ability to swap underlying HTML elements while preserving styling logic to maintai
Allows the underlying HTML element to be swapped via a prop while preserving the component's styling logic.
cva is a TypeScript utility for defining and resolving visual variants for UI components with full type safety. It generates CSS class strings from typed variant definitions, enabling compile-time validation of component usage by deriving the union of all variant prop types from a configuration object. The library distinguishes itself through compound variant matching, which activates styles only when multiple independent variant conditions are simultaneously satisfied, merging their class names. It also provides default value propagation to ensure consistent rendering when no explicit varian
Provides polymorphic element binding so variant logic applies to any HTML element.
This project is a component library that bridges the Bulma CSS framework with React. It provides a set of declarative building blocks that map standard CSS framework patterns to reusable interface elements, enabling the construction of responsive and accessible web layouts. The library utilizes a compositional architecture where modular components encapsulate specific styling rules and structural behaviors. It supports polymorphic rendering, allowing components to dynamically change their underlying HTML tags at runtime to maintain semantic structure. Developers can also utilize property mapp
Allows dynamic switching of the underlying HTML element while retaining component behavior.