/**
 * `<loading-overlay-ui>` — Container-scoped busy overlay. Covers a positioned parent region with a centered spinner (auto-stamped) or slotted indicator (skeleton-ui, progress-ui, custom) while async work is in flight. Wires aria-busy onto the parent on connect; applies a [delay] grace window to avoid flash on fast loads. For viewport-scoped / route loaders use a dedicated route-loader pattern; for submit-button busy use <button-ui loading>.
 *
 * @see https://ui-kit.exe.xyz/site/components/loading-overlay
 *
 * 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 UILoadingOverlay extends UIElement {
  /** When set, overlay is visible and the parent container is marked aria-busy. Toggle from consumer code; default hidden. */
  active: string;
  /** Suppress the overlay until this many ms elapse. Prevents flash on fast loads. Default 200ms. */
  delay: string;
  /** Accessible operation name used by the host aria-label and forwarded to the auto-stamped spinner. */
  label: string;
  /** Backdrop treatment — default (muted scrim), transparent (no backdrop fill — useful with full-area skeleton indicators), blur (light scrim with backdrop-filter blur). */
  variant: string;
}
