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 `