Import
import { EntryCard } from '@contentful/f36-components';// orimport { EntryCard } from '@contentful/f36-card';
Examples
The two main props to show the content of your entry are title
and desciption
.
It’s also possible to pass the Entry’s content type in the contentType
prop.
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.
Basic usage
Clickable card
Like the Card
component, it’s possible to pass a function to the onClick
prop
and it will be called when the user clicks on the card.
Card actions
To show a ...
button with a menu in the card, pass an array of MenuItem
components
Loading state
Different sizes
With a drag handle
With a thumbnail
Props (API reference)
Open in StorybookName | Type | Default |
---|---|---|
actions | ReactNodeArray An array of Menu elements used to render an actions menu | |
actionsButtonProps | Partial<ButtonProps<"button">> Props to pass to the action menu button | |
ariaLabel | string If the card is selectable and has no title, it will need a aria-label to help screen readers identify it | |
as | HTML Tag or React Component (e.g. div, span, etc) Handle tag for Card component | |
children | ReactNode Child nodes to be rendered in the component | |
className | string CSS class to be appended to the root element | |
contentType | string The content type of the entry | |
description | string The description of the entry | |
dragHandleRender | (props: { isDragging?: boolean; drag: ReactElement<any, string | JSXElementConstructor<any>>; }) => ReactElement<any, string | JSXElementConstructor<any>> Custom drag handle renderer. Useful, when integrating cards with drag-n-drop libraries | |
href | string Passing href into the Card. You need to also add property as="a" to make it rendered as <a /> | |
icon | ReactElement<any, string | JSXElementConstructor<any>> Icon to show in the Card header | |
isDragging | false true Applies dragging styles to the card and drag handle | |
isHovered | false true Applies hover styles to the card | |
isLoading | false true Loading state for the component - when true will display loading feedback to the user | |
isSelected | false true Applies selected styles to the element | |
margin | "none" "spacing2Xs" "spacingXs" "spacingS" "spacingM" "spacingL" "spacingXl" "spacing2Xl" "spacing3Xl" "spacing4Xl" sets margin to one of the corresponding spacing tokens | |
marginBottom | "none" "spacing2Xs" "spacingXs" "spacingS" "spacingM" "spacingL" "spacingXl" "spacing2Xl" "spacing3Xl" "spacing4Xl" sets margin-bottom to one of the corresponding spacing tokens | |
marginLeft | "none" "spacing2Xs" "spacingXs" "spacingS" "spacingM" "spacingL" "spacingXl" "spacing2Xl" "spacing3Xl" "spacing4Xl" sets margin-left to one of the corresponding spacing tokens | |
marginRight | "none" "spacing2Xs" "spacingXs" "spacingS" "spacingM" "spacingL" "spacingXl" "spacing2Xl" "spacing3Xl" "spacing4Xl" sets margin-right to one of the corresponding spacing tokens | |
marginTop | "none" "spacing2Xs" "spacingXs" "spacingS" "spacingM" "spacingL" "spacingXl" "spacing2Xl" "spacing3Xl" "spacing4Xl" sets margin-top to one of the corresponding spacing tokens | |
onClick | MouseEventHandler<HTMLElement> Click event handler | |
size | "small" "auto" "default" Changes the height of the component. When small will also ensure thumbnail and description aren't rendered | |
status | "archived" "changed" "deleted" "draft" "new" "published" The publish status of the entry | |
testId | string A [data-test-id] attribute used for testing purposes | |
thumbnailElement | ReactElement<any, string | JSXElementConstructor<any>> The thumbnail of the entry | |
title | string The title of the entry, it will be used as the value for the tooltip | |
withDragHandle | false true Render the component with a drag handle |
Content guidelines
Since this is a very opinionated component, we recommend using it only to show your entries. Similar to how references are shown in Contentful.
Accessibility
It inherits the accessibility features of Card