ns-ui / loud

Command Palette Rotary

A jump switcher navigated as a 1D rotary space instead of a ranked list — destinations sit at fixed compass bearings on an invisible ring, and you sweep past them; only the reticle item resolves fully while neighbors compress toward the edges of a periscope slit, with a Geist Mono bearing tape scrolling along the top.

Use when destinations should carry permanent, memorizable spatial addresses ("analytics lives at 120 degrees") and switching is a continuous sweep across a bounded set — pick command-palette-orbit instead for open-ended fuzzy search over a large, ranked, unbounded command set, or dropdown-drape for an ordinary hierarchical dropdown with no notion of stable position at all.

Install

npx shadcn add https://design.helpmarq.com/r/command-palette-rotary.json
  • command-palette
  • navigation
  • rotary
  • compass
  • physics
  • keyboard
  • listbox
  • spatial-memory

ns-ui / command-palette-rotary

Periscope Sweep

Every workspace lives at a fixed bearing on an invisible ring — drag, scroll, or use the arrow keys to sweep past them. Only the item under the reticle resolves fully; neighbors compress toward the edges of the slit. Bearings persist, so analytics stays at 120° every time you come back.

Jump to
Overviewcurrent
Team
Billing
Analytics
Deployments
Domains
Storage
Settings

Overview· drag, wheel, or arrow keys to sweep

enter selects · esc cancels

now viewing

Overview

Project health at a glance — builds, traffic, and the last few deploys.

Props

PropTypeDefaultDescription
destinations?PeriscopeDestination[]DEFAULT_DESTINATIONS
value?stringcontrolled current destination id
defaultValue?string
onValueChange?(id: string) => void
label?string"Jump to"accessible label for the listbox
storageKey?string"default"localStorage namespace for auto-assigned bearings
className?string