NeonKit
esc
  • IntroductionGetting started
  • InstallationGetting started
  • ThemingGetting started
  • Use with AIGetting started
  • All componentsGetting started
  • ButtonSolid, outline, soft, ghost and link buttons that light up on hover.Forms
  • InputText field with an animated neon focus ring, icons, labels and error states.Forms
  • TextareaMulti-line field that grows with its content and counts characters.Forms
  • SelectKeyboard-friendly listbox with a glowing popover and typeahead.Forms
  • CheckboxCheckbox with a drawn-on checkmark and indeterminate state.Forms
  • Radio GroupSingle choice from a set, with arrow-key navigation and card layouts.Forms
  • SwitchA toggle that powers on like a neon tube.Forms
  • SliderPointer and keyboard slider with a glowing track and optional range.Forms
  • OTP InputOne-time code input with auto-advance, paste and backspace handling.Forms
  • BadgeStatus labels with optional live dot and remove button.Data Display
  • AvatarProfile image with initials fallback, status light and stacked groups.Data Display
  • CardSurface with header, content and footer slots and a lit edge.Data Display
  • KbdKeyboard keys and shortcuts that glow when pressed.Data Display
  • TabsTabbed panels with a sliding light indicator and roving focus.Data Display
  • AccordionCollapsible sections with smooth height animation.Data Display
  • ProgressLinear and circular progress with a moving highlight.Feedback
  • SpinnerRing, dots and bars loaders in any neon color.Feedback
  • SkeletonLoading placeholders with a scanning shimmer.Feedback
  • AlertInline messages for info, success, warning and errors.Feedback
  • ToastStacked notifications with a tiny toast() API. No provider needed.Feedback
  • DialogAccessible modal built on the native dialog element.Overlay
  • TooltipHover and focus hints on four sides.Overlay
  • Neon TextText rendered as a glowing tube sign, with optional power-on flicker.Effects
  • Border BeamA beam of light that travels around any element's border.Effects
  • Spotlight CardCard whose border and surface light up under the cursor.Effects
  • Retro GridSynthwave perspective grid that scrolls toward the horizon.Effects

Components/Forms

Slider

Pointer and keyboard slider with a glowing track and optional range.

Installation#

npx shadcn@latest add https://get-neonkit.vercel.app/r/slider.json

Usage#

import { Slider } from "@/components/ui/slider"

<Slider defaultValue={[64]} aria-label="Volume" />

Examples#

Range

Pass two values for two thumbs. They stop at each other instead of crossing.

Price$120 – $480

Named steps

Map a small integer range to labels with formatValue, which is also what screen readers hear.

Auto-lock15 min

Colors

Pass a palette name or any hex value to color.

#22d3ee
Red
34
Green
211
Blue
238

API reference#

Slider

Accepts every div attribute; the ref points at the root.

PropTypeDefault
valuenumber[]

Controlled values. One number for a single thumb, two for a range.

—
defaultValuenumber[]

Initial values when uncontrolled.

[min]
onValueChange(value: number[]) => void

Called on every change while dragging or pressing keys.

—
onValueCommit(value: number[]) => void

Called once when the pointer or key is released.

—
minnumber

Lowest value.

0
maxnumber

Highest value.

100
stepnumber

Values snap to multiples of step from min.

1
showValueboolean | "hover"

Value bubble above each thumb, always or only on hover, drag and focus.

false
formatValue(value: number) => string

Formats the bubble and aria-valuetext.

—
thumbLabelsstring[]

Accessible name per thumb. Ranges default to "Minimum" and "Maximum".

—
namestring

Submits the values with a form, as name[] for ranges.

—
colorNeonColor

Palette name or hex. Falls back to --neon-accent, then cyan.

inherited
size"sm" | "md" | "lg"

Track of 4, 6 or 8px high.

"md"
disabledboolean

Blocks interaction and removes thumbs from the tab order.

false

Accessibility#

  • Each thumb has role="slider" with aria-valuemin, aria-valuemax and aria-valuenow.
  • Arrow keys move by one step, Shift+Arrow and Page Up/Down by ten, Home and End jump to the ends.
  • A single slider takes its name from aria-label or aria-labelledby; a range uses them to label the group and thumbLabels to name each thumb.
  • Pressing the track jumps the nearest thumb there and keeps dragging; grabbing a thumb never makes it jump.