Shade inputSurface recipe
Installation
SKILL.md
Shade — inputSurface recipe
Form controls share one visual rule: border, background, radius, transition, focus ring, invalid state. That rule lives in inputSurface (apps/shade/src/components/ui/input-surface.ts) and is used by Input, Textarea, InputGroup, and the Select trigger. Don't duplicate the chrome — compose the recipe.
import {inputSurface, inputSurfaceClasses} from '@/components/ui/input-surface';
import {cn} from '@/lib/utils';
Two common modes
inputSurface('self') — directly on the focusable element
Use on <input>, <textarea>, or any element that itself receives focus.