React
pnpm add typewritingclasspnpm add -D typewritingclass-compilerbun add typewritingclassbun add -D typewritingclass-compilernpm install typewritingclassnpm install -D typewritingclass-compilerimport { defineConfig } from 'vite'import react from '@vitejs/plugin-react'import twcPlugin from 'typewritingclass-compiler'
export default defineConfig({ plugins: [react(), twcPlugin()],})import 'typewritingclass/preflight.css' // optional CSS resetStatic styles
Section titled “Static styles”The compiler replaces tw chains with class name strings at build time:
import { tw } from 'typewritingclass'
function Card({ children }: { children: React.ReactNode }) { return <div className={tw.p(6).bg.blue500.textColor.white.rounded.lg.hover(tw.bg.blue600)}>{children}</div>}Dynamic values with useStyle()
Section titled “Dynamic values with useStyle()”For runtime values, add typewritingclass-react and use useStyle():
import { useStyle } from 'typewritingclass-react'import { p, bg, rounded, dynamic } from 'typewritingclass'
function Banner({ color }: { color: string }) { const props = useStyle(p(6), bg(dynamic(color)), rounded.lg) return <div {...props}>Welcome!</div>}For Next.js, see the dedicated Next.js integration guide.