/**
 * `<empty-state-ui>` — Placeholder for empty views with icon, heading, description, and action slot. Renders centered inside lists, tables, panes, or cards when no data is present. Use as a zero-state inside containers; for app-loading shells use <skeleton-ui> instead.
 *
 * @see https://ui-kit.exe.xyz/site/components/empty-state
 *
 * Type declarations generated by scripts/build/dts-codegen.mjs from
 * the component's `.a2ui.json` sidecar(s). Edit the source `.yaml`,
 * run `npm run build:components`, then `npm run codegen:dts` to
 * regenerate; or hand-author this file fully if rich event types are
 * needed beyond what the yaml `events:` block can express.
 */

import { UIElement } from '../../core/element.js';

export class UIEmptyState extends UIElement {
  /** Secondary descriptive text below the heading */
  description: string;
  /** Primary heading text. Uses 'heading' instead of 'title' to avoid native tooltip. */
  heading: string;
  /** Icon name displayed above the heading */
  icon: string;
  /** §223 (v0.5.9). Single-line muted layout — drops centered-column chrome
(no vertical padding, no row-stack, no icon-size bump). Useful for
inline empty-table-row / inline empty-list / placeholder cells where
the full-canvas placeholder is too prominent. */
  minimal: boolean;
  /** Semantic color variant. Use `danger` or `warning` for full-section error states where the data cannot be shown (API failure, permission error) — the centered layout mirrors the empty state but uses danger/ warning tones. Leave unset (default) for the canonical zero-data case. */
  variant: 'default' | 'danger' | 'warning';
}
