Documentation Index
Fetch the complete documentation index at: https://mintlify.com/apursley2012/developer-dossier/llms.txt
Use this file to discover all available pages before exploring further.
LedMeter renders a horizontal row of small rectangular segments — styled to resemble hardware LED indicators — that animate into view as the user scrolls. Each segment is independently driven by Framer Motion’s whileInView hook. Lit segments glow neon lime (#84FF00) with a radial box shadow; unlit segments sit dark slate with a subdued violet border. The result is a skill proficiency indicator that feels like a diagnostic readout from a piece of classified field equipment rather than a standard progress bar.
Props
The number of segments that should appear lit (active). Any segment with an index less than
level is rendered in the lit state. Pass a value between 1 and max.The total number of segments to render. Defaults to
5, producing a five-pip scale. Increase this for a finer-grained scale — for example, pass max={10} for a ten-point proficiency rating.Animation
Each segment is wrapped in a Framer Motionmotion.div and staggers in as the component enters the viewport:
- Entry scale: each segment scales from
0.8→1and fades fromopacity: 0.2→1(lit) or stays atopacity: 0.2(unlit). - Stagger delay: segments fire sequentially with a
0.1sdelay multiplied by the segment’s index, so the bar fills left-to-right. - Duration: each segment’s transition lasts
0.2s. - Once:
viewport: { once: true }ensures the animation fires exactly once the first time the component scrolls into view — it will not replay on scroll-back.
Visual States
| State | Tailwind Classes | Effect |
|---|---|---|
| Lit | bg-lime shadow-[0_0_8px_rgba(132,255,0,0.6)] | Solid neon green fill with a soft lime glow |
| Unlit | bg-slate border border-violet/30 | Dark background with a muted violet outline |