Foundations
FoundationsTier 2 · Primitives
cva helpers
Variant authoring plus the shared focus-ring, disabled and touch-target fragments.
bunx --bun shadcn@latest add @woohl/cvaReference
Installs this item, its registry dependencies and the token layer.
bunx --bun shadcn@latest add @woohl/cvaregistry/tier-2-primitives/lib/cva.ts
export { cva, cx, type VariantProps } from "class-variance-authority";
/** Focus ring for clickable controls (buttons, links, tabs, chips). */
export const focusRing =
"outline-none focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--focus-ring)]";
/** Focus ring for form field boxes (input, textarea, select). */
export const focusField =
"outline-none focus-visible:border-border-accent focus-visible:shadow-focus";
export const disabledState =
"disabled:cursor-not-allowed disabled:opacity-45 disabled:pointer-events-none";
/** Invisible hit area expanding small controls to 44px touch target. */
export const touchTarget =
"relative after:absolute after:left-1/2 after:top-1/2 after:-translate-x-1/2 after:-translate-y-1/2 after:size-11 after:content-['']";
This item exports no props — it is a stylesheet, a helper or a set of constants.
Registry items
npm packages
- class-variance-authority