/**
 * Non-side-effect class export for `<frame-ui>`.
 *
 * Importing this file gives you the class without auto-registering the tag.
 * The auto-register path is `@adia-ai/web-components/components/frame`
 * (which imports this file + calls `defineIfFree()`).
 *
 * @see ../../USAGE.md#registration--auto-vs-explicit
 */

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

/**
 * <frame-ui> — sticky-header / scroll-body / sticky-footer layout frame.
 *
 *   <frame-ui>
 *     <header>…</header>   <!-- optional: pinned top -->
 *     <section>…</section> <!-- scrolling body (the only overflow region) -->
 *     <footer>…</footer>   <!-- optional: pinned bottom (actions) -->
 *   </frame-ui>
 *
 * Pure-CSS layout container — no props, no template. Regions are native
 * <header>/<section>/<footer> children positioned by tag + DOM order (Light
 * DOM, no slot projection). The class exists only to register the tag; all
 * behaviour is in frame.css. See <card-ui>/<drawer-ui>/<modal-ui> for the
 * chrome'd variants that compose the same region contract.
 */
export class UIFrame extends UIElement {
  static properties = {};
  static template = () => null;
}
