# NAIK component registry Install with: npx shadcn@latest add https://components.ishannaik.com/r/.json - button: Button — The button you actually ship: loading, icons, link mode, sodium/water/ghost tones. - badge: Badge — Tight status chip. Sodium, water, danger, mute. - kbd: Kbd — Keyboard key glyph that looks like a keycap, not a rounded pill. - kbd-shortcuts: Kbd shortcuts — List of chords with labels. For command palettes and help overlays. - input: Input — Single-line field with a hard edge and a sodium focus ring. - textarea: Textarea — Multiline field that grows with content when asked. - switch: Switch — Latch, not a candy pill. Square travel, sodium on-state. - checkbox: Checkbox — Square check with an ink tick. No bouncing scale. - radio-group: Radio group — Exclusive choice with a sodium disc. - labeled-switch: Labeled switch — Label, description, and switch on one row. Click the copy. - labeled-checkbox: Labeled checkbox — Label + hint wired to a checkbox. Whole row is the hit target. - form-field: Form field — Label, optional hint, error, and control. The wrapper you rewrite in every app. - search-bar: Search bar — Icon, field, clear, optional kbd. One component instead of four. - segmented-control: Segmented control — Two to five exclusive options in a machined track. - spinner: Spinner — Arc spinner. No emoji, no bouncing dots. - alert: Alert — Inline notice with a left rule instead of a pastel card. - separator: Separator — Hairline rule, horizontal or vertical. - page-header: Page header — Eyebrow, title, description, actions. The top of every settings page. - tab-panels: Tab panels — Underline tabs, not pill tabs. Keyboard-able. - help-tip: Help tip — Tiny info mark that opens a tooltip. For dense forms. - social-login: Social login — Provider button with mark, label, and loading. GitHub / Google / Discord. - mac-window: Mac window — Traffic-light chrome around a demo. For landing shots, not OS cosplay. - scrolling-header: Scrolling header — Condenses on scroll. Keeps the mark, sheds the extra. - conditional-wrap: Conditional wrap — Wrap children in an extra node only when a flag is on. - simple-tooltip: Simple tooltip — content= string. No TooltipProvider ceremony at the call site. - simple-popover: Simple popover — Trigger + content. One component, not four primitives. - simple-accordion: Simple accordion — items=[{title, content}]. For FAQs without the compound-component tax. - simple-select: Simple select — options=[{value, label}]. Searchable when the list gets long. - advanced-select: Advanced select — Multi, badges, search. The select you keep rewriting for filters. - icon-picker: Icon picker — Searchable Lucide grid. Returns the icon name, not a React node. - bottom-drawer: Bottom drawer — Vaul sheet from the bottom. Swipe to dismiss. - adaptive-dialog: Adaptive dialog — Dialog on desktop, drawer on a phone. Same props. This is the Kitze trick. - adaptive-menu: Adaptive menu — Dropdown on desktop, drawer list on mobile. - dialog-manager: Dialog manager — useConfirm() / useConfirmDelete(). Imperative dialogs from anywhere. - theme-switch: Theme switch — Sun / moon latch wired to next-themes. Compact. - theme-slider: Theme slider — Three-stop slider: light, system, dark. - tilt-card: Tilt card — Pointer tilt with a specular sheen. Dead on touch and reduced motion. - magnetic-cursor: Magnetic cursor — Dot that lerps to the pointer and snaps to data-magnetic targets. Fine pointer only. - kinetic-headline: Kinetic headline — Split-line rise on enter. One well-timed reveal, not a bounce. - pinned-reveal: Pinned reveal — Eyebrow, title, summary stagger as the chapter hits the frame. - hero-parallax: Hero parallax — Four depth planes. CSS scroll-driven where supported, rAF fallback. - depth-figure: Depth figure — Image that drifts inside its frame as you scroll past. - matrix-rain: Matrix rain — Glyph rain in Devanagari + IBM Plex Mono. Sodium, not Hollywood green. - sodium-dust: Sodium dust — Lamp-mote canvas. The air under a Mumbai street light. - gold-leaf: Gold leaf — Etched gold flakes for manuscript pages. Quiet, not glitter. - aura-ring: Aura ring — Score ring that fills on a stroke, not a gradient doughnut. - glass-panel: Glass panel — Frosted asphalt panel. Tight radius, real blur, no neon edge. - volt-button: Volt button — Pressable with a physical inset. The CTA from Apex. - uptime-bar: Uptime bar — Ninety day ticks. Status page DNA from Rush Labs. - status-rail: Status rail — Operational banner: operational / degraded / down. - money-ticker: Money ticker — Rupees (or any currency) accruing per second. - locality-chip: Locality chip — Bandra / Dadar / Andheri style place chip with a nowcast pip. - nowcast-meter: Nowcast meter — 0–2h rain intensity as a mercury column. millimetres, not vibes. - flood-badge: Flood badge — Ward-level flood risk pip. Low / watch / waterlogged. - warp-drop: Warp drop — Peer-to-peer dropzone. Dashed hatch, file list, no cloud metaphor. - doom-cracks: Doom cracks — The page fractures as you scroll. Heals when you stop. - typewriter: Typewriter — Careted type-in. Respects reduced motion (shows the full line). - marquee-rail: Marquee rail — Seamless ticker. Pauses on hover and on reduced motion. - number-ticker: Number ticker — Count up when in view. Tabular figures, no bounce. - password-meter: Password meter — Four-bar strength. Entropy-ish, not a lecture. - encryption-seal: Encryption seal — Zero-knowledge lockup banner. The CloakBin promise, as a component. - share-card: Share card — Exportable result card. Score, handle, sodium rule. - beam-frame: Beam frame — A travelling highlight on the border. CSS only, one beam. - particle-ash: Particle ash — Slow ash field. Canvas, capped, pauses offscreen. - spotlight-wash: Spotlight wash — Pointer-follow wash on a panel. Fine pointer only. - split-hatch: Split hatch — Diagonal hatch background from SplitUPI. Printable, not decorative noise. AI instructions: https://components.ishannaik.com/ai