import { type PropertyValues } from 'lit'; import { Cre8Element } from '../cre8-element'; import type { Cre8FormElement } from '../cre8-form-element'; /** * The form component groups form-associated Cre8 controls, aggregates their * validation on submit, and orchestrates submit and reset. * * # How to Use * 1. Place any Cre8 form controls inside `cre8-form`. They may be nested inside * layout components such as `cre8-grid` or `cre8-layout`. * 2. Add a `cre8-button` with `type="submit"` to submit the form. * 3. Listen for `form-submit` to receive the collected `FormData`. * * Note: this component renders to light DOM. A form-associated control's form * owner is the nearest `
` in its own node tree, so a shadow-DOM `` * would own nothing and `new FormData(form)` would come back empty. * * @slot The form's controls and layout. */ export declare class Cre8Form extends Cre8Element { /** * Skips aggregate validation on submit. */ novalidate?: boolean; /** * Disables every control in the form, for example while submitting. */ disabled?: boolean; private _form; /** Renders to light DOM so child controls are owned by the form. */ createRenderRoot(): this; /** * Renders nothing. The `` and the author's controls are managed * imperatively in `_ensureForm` so that Lit never owns, and therefore never * clears, the light-DOM children. */ render(): import("lit-html").TemplateResult<1>; connectedCallback(): void; /** * Installs the component's stylesheet into its root node. * * Light-DOM components have no shadow root, so Lit never attaches * `static styles`. The sheet is instead adopted by the document (or the * enclosing shadow root, when the form is composed inside one) exactly * once per root. Falls back to appending a `