# premium-ds - LLM usage guide Premium React 19 design system, shipped as built ESM + types. This is a compact per-component index; full prop types (with docs) live in node_modules/premium-ds/dist/*.d.ts. Setup: import { Button, toast } from 'premium-ds'; // barrel - or a subpath: premium-ds/button import 'premium-ds/styles.css'; // link ONCE at the app root Peers: react, react-dom, motion. (The curated Phosphor glyphs used internally are bundled in - not a peer.) No bundler/transpile config - built ESM keeps 'use client' intact for the Next.js App Router. Conventions: - Sentence case everywhere; no emoji or exclamation marks in UI. One primary Collapse - premium-ds/collapse Layout-transition primitive; eases height open/closed, never teleports.
...revealed content...
Badge - premium-ds/badge Glass or outline chip. tone neutral|info|success|warning|danger, dot, live, variant="outline", pill, size="sm". Published StatusBadge - premium-ds/status-badge Canonical post status - tone + one-word label. status draft|scheduled|processing|published|failed; add `morph` to animate in place as status changes. CountBadge - premium-ds/count-badge Mono tabular count; `roll` animates digits like an odometer. value: number | string. ============================================================ FORMS (all take label, helper/error/warning/success, size sm|md|lg, disabled) TextField - premium-ds/text-field Base text input; states disclose via Collapse. leadingIcon, clearable, optional/required. set(e.target.value)} /> NumberField - premium-ds/number-field Tabular figures, caret steppers, unit suffix, clamp to [min,max]. onChange(value: number). OtpField - premium-ds/otp-field Segmented one-time code; auto-advance, paste-to-fill. length, group, error, size. Textarea - premium-ds/textarea Auto-grow, char meter (max), ⌘/Ctrl+↵ submit (onSubmit). minRows/maxRows.