import type { CSSResultGroup } from 'lit'; import DSAIcon from '../icon/icon'; import { ShoelaceElement } from '../../internal/shoelace-element'; /** * @summary Card content can be used for rich content cards. * @documentation https://dsa.service-public-autonomie.fr/latest/librairie-webcomponents/card-content-carte-edito/web-N4f7Bajj * * @dependency dsa-icon * * @slot - The card's main content. * @slot media - An optional media to render at the start of the card. * @slot tags - An optional list of tags to render at the start of the card. * @slot title-icon - An optional icon to render next to the card's title. * @slot title - The card title. Mandatory if the card is used as a link. * @slot subtitle - An optional subtitle for the card. * @slot footer - An optional footer for the card, which can be used to provide actions. * */ export default class DSACardContent extends ShoelaceElement { static styles: CSSResultGroup; static dependencies: { 'dsa-icon': typeof DSAIcon; }; private readonly hasSlotController; /** When set, the card title will be a link, with a clickable area covering the whole card. Since the link's accessible name is the title content, make sure to provide a title when using a card link. */ href: string; /** Tells the browser where to open the link. Only used when `href` is present. */ target: '_blank' | '_parent' | '_self' | '_top'; /** * When using `href`, this attribute will map to the underlying link's `rel` attribute. Unlike regular links, the * default is `noreferrer noopener` to prevent security exploits. However, if you're using `target` to point to a * specific tab/window, this will prevent that from working correctly. You can remove or change the default value by * setting the attribute to an empty string or a value of your choice, respectively. */ rel: string; /** Tells the browser to download the linked file as this filename. Only used when `href` is present. */ download?: string; /** The card's style variant. */ variant: 'outlined' | 'filled'; /** The card's layout variant. */ layout: 'vertical' | 'left-align' | 'right-align'; /** The card's size. */ size: 'small' | 'medium' | 'large'; /** Increase the border contrast in contexts where is could be hard to identify the card. */ contrastedBorders: boolean; private isLink; private updateTagsSizes; private handleTagsSlotChange; handleSizeChange(): void; render(): import("lit").TemplateResult; } declare global { interface HTMLElementTagNameMap { 'dsa-card-content': DSACardContent; } }