Fylgja Card

Ask AI

The Fylgja Card component allows you to group content together, for a more contained content element.

This component is ideal for building various UI elements such as Product items, Blog items or for a Dropdown Panel.

Installation

npm install @fylgja/card

Usage

Once installed, you can import the full package with:

@import "@fylgja/card";

Alternatively, if you only need specific parts, you can import them individually:

Import Path Description
@fylgja/card/base Contains to core of the Card
@fylgja/card/elevated Contains the --elevated modifier classes
@fylgja/card/hover Contains the --hover modifier classes

Modifiers

--elevated

The --elevated modifier unset the border color and add a shadow with a depth of 2 to the card.

This variant requires the Design Token --shadow-2. This token is provided by the @fylgja/tokens or by other Token/Props frameworks such as Open Props

--hover

Simliar to the --elevated modifier, only instead this work on the hover interaction and does not unset the border. This version uses a shadow dept of 4, so the Design Token --shadow-4 is required.

This modifier is paired best with solutions such as the stretched-link which makes the card clickable.

Examples

Ready made examples built on this component live in the Fylgja UI gallery:

  • Card, the base recipe with a clickable variant
  • Media Card, an image beside text that stacks on narrow screens
  • Product Grid, cards reflowing by available width

FAQ

Do I need @fylgja/tokens to use the --elevated or --hover modifiers?

You need the --shadow-2 (for elevated) or --shadow-4 (for hover) design tokens available, but they don't have to come from @fylgja/tokens specifically. Any token system that defines those variables, like Open Props, works too, and you could also define them yourself.

How do I make the whole card clickable, not just the "Read More" link?

Pair the --hover modifier with the stretched-link utility on the link inside the card, as recommended above.

Can I use the Card component without any modifiers?

Yes, use @fylgja/card/base on its own for the core card look with a border, and add @fylgja/card/elevated or @fylgja/card/hover only if you need those modifiers.