import React from 'react'; import type { SharedAccessibilityProps } from '@coinbase/cds-common/types'; import type { PictogramName, SpotSquareName } from '@coinbase/cds-illustrations'; import type { BoxBaseProps, BoxDefaultElement, BoxProps } from '../layout/Box'; export type CardMediaPlacement = 'start' | 'above' | 'end'; export type CardBodyBaseProps = Pick & BoxBaseProps & { onActionPress?: React.MouseEventHandler; /** Text to be displayed in TextHeadline when it's a string, unless you pass a ReactNode */ title?: React.ReactNode; /** Text to be displayed in TextBody when it's a string, unless you pass a ReactNode */ description?: React.ReactNode; /** * Maximum number of lines shown. Text that exceeds will be truncated. * Only applies to description * @default 3 */ numberOfLines?: number; /** Enables compact spacing around CardBody content */ compact?: boolean; children?: React.ReactNode; /** Above places media above text content, start or end places media to the side of text content * @default end */ mediaPlacement?: CardMediaPlacement; /** The name of the SpotSquare Illustration to use in CardMedia. */ spotSquare?: SpotSquareName; /** The name of the Pictogram Illustration to use in CardMedia. */ pictogram?: PictogramName; /** The image url to use in the CardMedia. Will not be used if illustration is present. */ image?: string; /** * Remote Image or other node with media content. * If illustration prop is present this will default to . * If image prop is present this will default to . */ media?: React.ReactNode; /** * Call to action to display underneath title and description. * When present this will set action prop to be CardBodyAction with some defaults. */ actionLabel?: string; /** * Call to action to display underneath title and description. * When actionLabel and onActionPress are present this will assign action to {actionLabel}. * Internally CardBodyAction is a normal CDS Button, but with some default props designed specifically for this layout. */ action?: React.ReactNode; }; export type CardBodyProps = CardBodyBaseProps & Omit, 'title'>; /** * Provides an opinionated layout for the typical content of a Card: a title, description, media, and action * * @deprecated Use ContentCardBody instead. This will be removed in a future major release. * @deprecationExpectedRemoval v10 */ export declare const CardBody: React.NamedExoticComponent; //# sourceMappingURL=CardBody.d.ts.map