TheDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/apursley2012/dyed-in-the-wool/llms.txt
Use this file to discover all available pages before exploring further.
Skills component (internally function K) turns a traditional skills list into a tactile, visual experience. Each skill is represented as a dye bottle. Clicking a bottle triggers a fill animation — liquid rises to the skill’s level percentage — and simultaneously reveals the proficiency percentage inside an animated circular badge.
What It Displays
The layout contains:- Section header — title “COLOR PALETTE” and the instructional subtitle “Select a dye bottle to see the mix.”
- Bottle row — five dye-bottle SVG/div illustrations side by side, each labeled with the skill name beneath it. The bottle cap uses
bg-dye-indigoand the liquid fill uses the skill’scolorvalue. - Detail panel — when a bottle is selected, a circular panel (rounded full) fills with the skill’s color and displays the
levelpercentage as a large number in the center.
Content Data
Skills are stored in theY array. The level field is an integer from 0 to 100, representing the fill percentage:
The
level field must be an integer between 0 and 100. It directly controls the liquid fill height inside the bottle visualization (rendered as a height percentage via Framer Motion). Values outside this range will produce visual overflow or an empty bottle.Animation Details
| Element | Technique | Details |
|---|---|---|
| Section title | initial → animate on mount | opacity: 0 → 1, y: -20 → 0 |
| Bottles | initial → animate stagger | Each bottle fades and slides up, staggered by index × 0.1 s |
| Bottle hover | whileHover | Upward nudge (y: -10) on hover |
| Liquid fill | Framer Motion animate on mount | height transitions from 0 to level% with duration: 1 s, staggered by 0.5 + index × 0.1 s |
| Detail panel | AnimatePresence with mode="wait" | Fades and scales in (scale: 0 → 1, opacity: 0 → 1) when a bottle is selected; exits with scale: 1.5, opacity: 0 |
| Level number | Static render inside panel | Displays {level}% as a large h2 inside the selected skill’s color circle |
Customization
Add or remove a skill Add a new object to theY array. The bottle and detail panel are generated automatically:
color hex in the relevant array entry. The same value tints the bottle liquid fill and the circular detail panel background:
level integer (0–100). The fill animation re-runs automatically on next render:
animate transition with duration: 1. To make it slower, increase the duration: