@classed-elements/solidjs
is a utility that simplifies the process of reusing components with Tailwind CSS in React.
This tool is inspired by styled-components and aims to streamline the development of reusable tailwind css components in your React applications.
pnpm add @classed-elements/react
# or
npm install @classed-elements/react
import classed from "@classed-elements/react";
function Hello(props: { className?: string; name: string }) {
return <p className={props.className}>Hello {props.name}!</p>;
}
const WhiteHello = classed(Hello)`text-white`;
const Wrapper = classed.div`relative w-[200px] h-[100px] bg-blue-500`;
export function App() {
return (
<Wrapper>
<span>App Content</span>
<Hello name="Github" />
<WhiteHello name="Classed" />
</Wrapper>
);
}
In this example, we've created a classed Wrapper component using classed-elements, applying Tailwind CSS classes to it. You can then use the Wrapper component in your React application as you would with any other component.
In order to support tailwind auto-completion,
you need to add the following content in the vscode configuration file .vscode/settings.json
{
"tailwindCSS.experimental.classRegex": ["classed\\(.+\\)`(.*)`", "classed\\.\\w+`(.*)`"]
}
-
Reusability: Styled components created with Classed-Elements can be reused across your application, reducing code duplication and improving maintainability.
-
TypeScript Support: Classed-Elements offers seamless integration with TypeScript, ensuring type safety and enhanced development with static typing.