(
({ variant = 'primary', className, ...props }, ref) => (
)
);
```
### React + CSS Variables
```tsx
// Uses: style prop with CSS variables, CSS modules
import styles from './Button.module.css';
export function Button({ variant = 'primary', ...props }) {
return (
);
}
```
### Vue 3 + Composition API
```vue
```
### Svelte
```svelte
```
## Accessibility Patterns
### Focus Management
```tsx
// All interactive components include visible focus
'focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2'
'focus-visible:ring-brutal-blue'
```
### Keyboard Navigation
```tsx
// Dropdown with keyboard support
function handleKeyDown(e: KeyboardEvent) {
switch (e.key) {
case 'ArrowDown': focusNext(); break;
case 'ArrowUp': focusPrev(); break;
case 'Escape': close(); break;
case 'Enter': select(); break;
}
}
```
### ARIA Attributes
```tsx
// Dialog with proper ARIA
```
## Trend-Specific Patterns
### Neobrutalism Components
```tsx
// Hard shadows, bold borders, transform on interaction
'border-3 border-black shadow-brutal'
'hover:shadow-brutal-hover hover:-translate-x-0.5 hover:-translate-y-0.5'
'active:shadow-brutal-active active:translate-x-0.5 active:translate-y-0.5'
```
### Glassmorphism Components
```tsx
// Frosted glass, subtle borders, backdrop blur
'bg-glass-white/10 backdrop-blur-glass'
'border border-glass-white/20'
'shadow-glass'
```
### Terminal Components
```tsx
// Monospace, green-on-black, CRT effects
'font-mono bg-term-bg text-term-green'
'border border-term-green/30'
'shadow-term-glow'
```
## Generation Workflow
```
1. design-system-generator → tokens (Tailwind/CSS)
2. component-template-generator → component code
3. Customize variants and props as needed
4. design-system-documenter → component docs
```
## See Also
### References
- `references/component-patterns.md` - Full patterns for neobrutalism, glassmorphism, terminal, web3, swiss
- `references/component-catalog.md` - **NEW**: 21st.dev component counts (1400+ components)
- Marketing blocks: 73 heroes, 34 CTAs, 11 nav menus, 36 features
- UI components: 130 buttons, 102 inputs, 79 cards, 40 accordions
- Design system references: Elastic UI, HeroUI, Ariakit, shadcn
### Related Skills
- design-system-generator - Generate tokens first (24 trends, 31 styles)
- design-system-documenter - Document generated components