/**
 * `<frame-ui>` — Sticky-header / scrolling-body / sticky-footer layout frame — the
chrome-less app-shell skeleton. A flex column that fills its parent's
block size: a native <header> child pins to the top, a <footer> child
pins to the bottom, and the <section> child scrolls between them (the
only region with overflow). Regions are positioned by tag + DOM order, OR any
element can take a region role via slot="header|body|footer" (a CSS [slot] match,
not native projection — ADR-0033) — e.g. <section slot="header"> as a pinned rail.
All three are OPTIONAL, so the common shape is just <section> + <footer>. Use for
tab / panel content
where actions stay visible while the body scrolls. Distinct from <card-ui>
(adds border + elevation + a rich header grid), <drawer-ui> / <modal-ui>
(add a backdrop + dismiss), and the page shells (<admin-page> / <page-ui>) —
those layer chrome over this same region contract. Requires a definite-height
parent (a flex/grid chain rooted at a viewport height) for the section to
scroll; in a content-sized parent it collapses to its content (no scroll,
not broken).

 *
 * @see https://ui-kit.exe.xyz/site/components/frame
 *
 * 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 UIFrame extends UIElement {
}
