Long-form
Reading Preferences Toggle
Lets readers pick a comfortable text size and line width for a long article and remembers the choice for their next visit, instead of forcing one fixed measure on everyone. Labelled buttons and a radiogroup, never icon-only controls, and it degrades gracefully if storage is blocked.
$ velocityx add reading-preferences-toggle Built for astro.
Full docs for Reading Preferences Toggle →
Needs a licence key —
subscribe here, then
velocityx loginonce.
Props
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| target | string | Yes | `id` of the element whose font size + measure this should control. | |
| label | string | No | 'Reading preferences' | Visually hidden group label. |
File this creates
The CLI writes this path into your project, relative to its root — nothing else moves.
components/velocity/reading-preferences-toggle/ReadingPreferences.astro Using the Reading Preferences Toggle component
Install it with velocityx add reading-preferences-toggle.
The CLI writes the source straight into your project — no runtime dependency, no registry
lock-in, and it themes itself from the same primary-*/accent-* scale as the rest of the library.
Related components
More from Long-form.
The note / tip / warning / danger callout a docs page or technical article needs repeatedly, from one component instead of four. Left accent bar + icon + label so variants read apart at a glance without relying on colour alone, built for pages that stack several of these without feeling noisy.
astroThe affiliate/sponsored/review-unit disclosure strip that monetised long-form content needs near the top of the piece — calm, matter-of-fact copy with an optional link to a standing disclosure policy.
astroA lightweight 'was this helpful?' strip for the end of a post or docs page — thumbs up/down with an optional comment box that only appears after a choice is made, ending in a thank-you state. A deliberately lighter, binary take than a full satisfaction-score prompt, built to drop straight into prose with no state library.
astroThe opening block for a blog or long-form page — kicker, headline, dek, and an author/date/read-time meta row, with an optional cover image. Marked up as a proper document header with one real h1, so the rest of the article's heading order stays correct.
astro