Auto-off

Times out after 10 s
No dependencies
Code format

Install with shadcn

Needs a free account token. Get a token

npx shadcn@latest add @movin/toggle-auto-off

About this component

A switch that turns itself off, like a stairwell light: on, the track's own outline drains away as a countdown, with the time left under the label. Hovering or focusing it pauses the timer.

Dependencies
None
Difficulty
Intermediate
Reduced motion
Respected
Theme
Light and dark
Follows page color-scheme

Triggers3

  • Click
  • State change
  • Draw

Techniques3

  • requestAnimationFrame
  • stroke-dashoffset
  • SVG stroke

Accessibility

Keyboard and screen readers

A native checkbox with role="switch" inside a <label>, so Space toggles it and the visible text names it; :focus-visible on the input outlines the track, which is aria-hidden. The time left sits outside the label, linked with aria-describedby; it is not a live region, so it does not announce every second. Hover or focus pauses the countdown, so nobody is timed out while deciding.

Reduced motion

The thumb jumps; the outline still shows the time left.

Use it in anything you build, commercial and client work included. Licence

More toggles

See all
BistableGet code
BristleGet code
BumperGet code
ConfirmGet code