The AssetCard component is built on top of the Card component and it provides more props to help you manage the assets of your Contentful implementation.
Import
import { AssetCard } from '@contentful/f36-components';// orimport { AssetCard } from '@contentful/f36-card';
Examples
The main props to show the content of your asset are title
and src
.
They both accept strings as values and src
needs the url of the asset’s location.
To show a badge with the status of the entry,
you can pass one of "archived", "changed", "deleted", "draft", "new", or "published" to the status
prop.
It’s also possible to pass the Asset’s type to the type
prop. The allowed values are:
- archive
- audio
- code
- image
- markup
- plaintext
- presentation
- richtext
- spreadsheet
- video
Basic usage
Card actions
To show a ...
button with a menu in the card, pass an array of MenuItem
components
Loading state
Different sizes
Props (API reference)
Open in Storybook- Name
actions
DescriptionAn array of Menu elements used to render an actions menu
ReactNodeArray - Name
actionsButtonProps
DescriptionProps to pass to the action menu button
Partial<ButtonProps<"button">> - Name
ariaLabel
DescriptionIf the card is selectable and has no title, it will need a aria-label to help screen readers identify it
string - Name
as
DescriptionHandle tag for Card component
HTML Tag or React Component (e.g. div, span, etc) - Name
children
DescriptionChild nodes to be rendered in the component
ReactNode - Name
className
DescriptionCSS class to be appended to the root element
string - Name
dragHandleRender
DescriptionCustom drag handle renderer. Useful, when integrating cards with drag-n-drop libraries
(props: { isDragging?: boolean; drag: ReactElement<any, string | JSXElementConstructor<any>>; }) => ReactElement<any, string | JSXElementConstructor<any>> - Name
href
DescriptionPassing href into the Card. You need to also add property as="a" to make it rendered as <a />
string - Name
icon
DescriptionIcon to show in the Card header
DefaultReactElement<any, string | JSXElementConstructor<any>>null - Name
isDragging
DescriptionApplies dragging styles to the card and drag handle
falsetrue - Name
isHovered
DescriptionApplies hover styles to the card
falsetrue - Name
isLoading
DescriptionLoading state for the component - when true will display loading feedback to the user
falsetrue - Name
isSelected
DescriptionApplies selected styles to the element
falsetrue - Name
margin
Descriptionsets margin to one of the corresponding spacing tokens
"spacing2Xs""spacingXs""spacingS""spacingM""spacingL""spacingXl""spacing2Xl""spacing3Xl""spacing4Xl""none" - Name
marginBottom
Descriptionsets margin-bottom to one of the corresponding spacing tokens
"spacing2Xs""spacingXs""spacingS""spacingM""spacingL""spacingXl""spacing2Xl""spacing3Xl""spacing4Xl""none" - Name
marginLeft
Descriptionsets margin-left to one of the corresponding spacing tokens
"spacing2Xs""spacingXs""spacingS""spacingM""spacingL""spacingXl""spacing2Xl""spacing3Xl""spacing4Xl""none" - Name
marginRight
Descriptionsets margin-right to one of the corresponding spacing tokens
"spacing2Xs""spacingXs""spacingS""spacingM""spacingL""spacingXl""spacing2Xl""spacing3Xl""spacing4Xl""none" - Name
marginTop
Descriptionsets margin-top to one of the corresponding spacing tokens
"spacing2Xs""spacingXs""spacingS""spacingM""spacingL""spacingXl""spacing2Xl""spacing3Xl""spacing4Xl""none" - Name
onClick
DescriptionClick event handler
MouseEventHandler<HTMLElement> - Name
size
Default"small""default"default - Name
src
string - Name
status
"archived""changed""deleted""draft""published" - Name
testId
DescriptionA [data-test-id] attribute used for testing purposes
Defaultstringcf-ui-asset-card - Name
title
DescriptionThe title of the entry. It will also be used as aria-label
string - Name
type
DescriptionType of the entity represented by the card. Shown in the header of the card
"archive""audio""code""image""markup""pdf""plaintext""presentation""richtext""spreadsheet""video" - Name
withDragHandle
DescriptionRender the component with a drag handle
Defaultfalsetruefalse
Content guidelines
Since this is a very opinionated component, we recommend using it only to show your assets. Similar to how assets are shown in Contentful's fields or in rich text.
Accessibility
It inherits the accessibility features of Card