import type { ElevationLevel, PaddingSize, ThemeColor } from '../../types';
/** Card component properties */
export type OreCardEvents = {
activate: {
originalEvent: MouseEvent | KeyboardEvent;
trigger: 'pointer' | 'keyboard';
};
};
export type OreCardProps = {
/** Theme color */
color?: ThemeColor;
/** Disable interaction */
disabled?: boolean;
/** Shadow elevation level (0-5) */
elevation?: ElevationLevel;
/** Make the card interactive (role=button, keyboard nav, emits activate) */
interactive?: boolean;
/** Show a loading progress bar */
loading?: boolean;
/** Card orientation */
orientation?: 'horizontal';
/** Internal padding size */
padding?: PaddingSize;
/** Visual style variant */
variant?: 'solid' | 'flat' | 'glass' | 'frost';
};
/**
* A versatile card container with semantic slots for media, header, body, footer, and actions.
*
* @element ore-card
*
* @attr {string} variant - Visual variant: 'solid' | 'flat' | 'glass' | 'frost'
* @attr {string} color - Theme color: 'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'error'
* @attr {string} padding - Internal padding: 'none' | 'sm' | 'md' | 'lg' | 'xl'
* @attr {string} elevation - Shadow elevation: '0' | '1' | '2' | '3' | '4' | '5'
* @attr {string} orientation - Card layout: 'horizontal'
* @attr {boolean} interactive - Enable pointer/keyboard activation
* @attr {boolean} disabled - Disable card interaction
* @attr {boolean} loading - Show loading progress bar
*
* @fires activate - Emitted when an interactive card is activated. detail: { originalEvent: MouseEvent | KeyboardEvent; trigger: 'pointer' | 'keyboard' }
*
* @slot media - Media content displayed at top/left
* @slot header - Card header (title, subtitle)
* @slot - Main card content
* @slot footer - Card footer content
* @slot actions - Action buttons or links
*
* @cssprop --card-bg - Background color
* @cssprop --card-color - Text color
* @cssprop --card-border - Border width
* @cssprop --card-border-color - Border color
* @cssprop --card-radius - Border radius
* @cssprop --card-padding - Internal padding
* @cssprop --card-shadow - Box shadow
* @cssprop --card-hover-shadow - Shadow on hover
*
* @part card - Card root container.
* @part loading-bar - Loading progress bar.
* @part media - Media slot container.
* @part body - Body content container.
* @part header - Header container.
* @part content - Content container.
* @part footer - Footer container.
* @part actions - Actions slot container.
* @example
* ```html
* Title
Content
* Click me
* Frosted card
* ```
*/
export declare const CARD_TAG: "ore-card";
//# sourceMappingURL=card.d.ts.map