@sandlada/mdc
Version:
@sandlada/mdc is an open source component library that follows the Material Design 3 design specifications.
83 lines • 3.15 kB
TypeScript
/**
* @license
* Copyright 2026 Kai-Orion & Sandlada
* SPDX-License-Identifier: MIT
*/
import { LitElement, type TemplateResult } from 'lit';
import { type CardShape, type CardVariant, type ICard } from './card.interface';
export * from './card.interface';
declare global {
interface HTMLElementTagNameMap {
'mdc-card': MDCCard;
}
}
declare const MDCCard_base: Omit<typeof LitElement, "prototype"> & (new () => LitElement & object & import("../ripple/ripple-options.mixin").IMixinRippleOptions & import("../ripple/ripple-options.mixin").IMixinRippleAttributes & import("../elevation/elevation-options.mixin").IMixinElevationOptions & import("../focus-ring/focus-ring-options.mixin").IMixinFocusRingOption);
/**
* @element mdc-card
*
* Material Design 3 Card component.
*
* Cards contain content and actions about a single subject.
* Supports 3 variants: `filled` (default), `elevated`, and `outlined`.
* Supports `interactive` mode (with ripple and focus ring) or static container mode.
* Supports `horizontal` or `stacked` (vertical, default) layout.
* Supports `shape="round"` (12px radius) or `shape="square"`.
*
* @slot - Default slot for card content.
*
* @cssproperty --mdc-card-enabled-container-color
* @cssproperty --mdc-card-container-shape-start-start
* @cssproperty --mdc-card-container-shape-start-end
* @cssproperty --mdc-card-container-shape-end-start
* @cssproperty --mdc-card-container-shape-end-end
* @cssproperty --mdc-card-container-padding-inline-start
* @cssproperty --mdc-card-container-padding-inline-end
* @cssproperty --mdc-card-container-padding-block-start
* @cssproperty --mdc-card-container-padding-block-end
* @cssproperty --mdc-card-enabled-container-elevation
* @cssproperty --mdc-card-enabled-container-shadow-color
* @cssproperty --mdc-card-enabled-outline-color
* @cssproperty --mdc-card-outline-width
*
* @version
* Material Design 3
*
* @link
* https://m3.material.io/components/cards/overview
* https://m3.material.io/components/cards/specs
* https://m3.material.io/components/cards/guidelines
*/
export declare class MDCCard extends MDCCard_base implements ICard {
static styles: import("lit").CSSResult;
static shadowRootOptions: ShadowRootInit;
variant: CardVariant;
interactive: boolean;
disabled: boolean;
horizontal: boolean;
shape: CardShape;
href: string;
target: string;
cardTabIndex: number;
protected readonly rootElement: HTMLElement | null;
get isInteractive(): boolean;
get rippleControl(): HTMLElement | null;
get focusRingControl(): HTMLElement | null;
constructor();
focus(): void;
blur(): void;
click(): void;
protected getRenderClasses(): {
[x: string]: boolean;
container: boolean;
interactive: boolean;
stacked: boolean;
horizontal: boolean;
disabled: boolean;
};
protected renderBackground(): TemplateResult;
protected renderOutline(): TemplateResult;
protected renderContent(): TemplateResult;
protected render(): TemplateResult;
private handleClick;
}
//# sourceMappingURL=card.d.ts.map