Card
Cards are versatile content containers that contain content and actions to convey information about a single subject.
Overview
There are three types of cards: default (filled), raised, and stroked. Cards can contain anything from images, blocks of text, lists, accordions, and other components.
Basic Card
The example below is a default, filled card that includes all of a card's pre-styled elements and a fixed width. Cards naturally do not have a fixed width, so they'll be 100% wide by default. The width is changeable with custom CSS
Usage
Within a standalone component
To use card in a standalone component, import it directly into your custom component:
@Component({
selector: 'custom-component',
templateUrl: './custom-component.component.html',
standalone: true,
imports: [
DAFF_CARD_COMPONENTS,
],
})
export class CustomComponent {}
Within a module (deprecated)
To use card in a module, import DaffCardModule
into your custom module:
import { NgModule } from '@angular/core';
import { DaffCardModule } from '@daffodil/design/card';
@NgModule({
declarations: [
CustomComponent,
],
exports: [
CustomComponent,
],
imports: [
DaffCardModule,
],
})
export class CustomComponentModule { }
This method is deprecated. It's recommended to update all custom components to standalone.
Supported Content Types
A card supports a wide variety of content and includes minimally pre-styled image
, icon
, tagline
, title
, content
, and actions
content containers.
Image
Image can be added to a card by using the daffCardImage
attribute. It stretches the image to a card's defined width and ensures that its border radius is flush with a card.
Icon
Icon can be added to a card by using the daffCardIcon
attribute. It's intended for visual or branding reinforcement and should not be used for actionable icons.
Tagline
Tagline can be added to a card by using the daffCardTagline
attribute. It's intended to supplement the title by providing a short, memorable description.
Title
Title can be added to a card by using the daffCardTitle
attribute.
Content
Content can be added to a card by using the daffCardContent
attribute and should only be used once. It's a wrapper container that can be used to place all additional components and text content within a card. The content container allows for a ton of control and customization because it's not affected by any of card's properties and only serves as a wrapping and spacing container.
Actions
Buttons can be added to a card by using the daffCardActions
attribute. This container will always be positioned at the bottom of a card.
Properties
Orientation
Orientation dictates how a card's content is stacked — vertical
or horizontal
. Cards are oriented vertically by default. The orientation of a card can be defined or updated by using the orientation
property. Horizontal cards will stack vertically on smaller screens due to size constraints.
Linkable Card
Cards can be linkable by adding the component selector to the <a>
tag. All card types are linkable.
Raised Card
A raised card adds elevation to the default card.
Stroked Card
A stroked card adds a border to the default card.
Theming
Cards will use the base color of your application to display the default background and/or border color. A card's colors can be defined by using the color
property.
Supported colors: primary | secondary | tertiary | white | black | theme | theme-contrast