Shine Card
A diagonal gloss streak sweeps across the surface on hover.
- cards
- card
- effect
- shine
- hover
- gloss
Studio plan
A gloss streak on hover, nothing else.
Quick usage
usage
import { ShineCard } from "@pinky-ui/components";
<ShineCard>
<PricingCard {...plan} />
</ShineCard>Presets
Default
A single sweep on hover.
Install
Add @pinky-ui/components as a dependency, or use the CLI to copy this component's source directly into your project — no dependency to manage, fully editable.
shell
npm install @pinky-ui/componentsshell
pnpm add @pinky-ui/componentsshell
yarn add @pinky-ui/componentsshell — copies source into your project
npx pinky-ui add shine-cardPrefer to run the whole repository locally instead?
repository
git clone https://github.com/florash/Pinky-UI.git
cd Pinky-UI
npm install
npm run devProps
| Prop | Type | Default | Description |
|---|---|---|---|
| children | ReactNode | — | Required. |
| radius | "md" | "lg" | "xl" | "2xl" | "xl" | Corner radius from the shape scale. |
| padded | boolean | true | Inner content padding. |
| shadow | "neutral" | "pink" | "neutral" | Shadow token pair. |
| as | ElementType | "div" | Pass Link from next/link to make the whole card navigable. |
| href | string | — | Only meaningful when as renders an anchor. |
| onClick | () => void | — | Makes the card a click target; adds the focus-visible ring automatically. |
Accessibility
- Same focus-visible rule as Basic Card once onClick/href is present.
- The sweep is decorative and aria-hidden.
Reduced motion
The sweep is skipped entirely under prefers-reduced-motion: reduce and on any device that never hovers — the card is identical to Basic Card.
When to use
- A finishing touch on an already-complete card — pricing, a featured product
When not to use
- Stacking with another hover effect that also claims the surface — see the family's self-check on hover effects fighting