s-m-r-t
Open the s-m-r-t source on GitHub Switch to dark color scheme
← All UI components

Svelte · Forms and controls

Form

No summary has been written for Form. Everything below is generated from the declaration shipped in 0.57.40 and describes the real contract.

Public export

typescript
import { Form } from '@happyvertical/smrt-svelte/forms';
Import path
@happyvertical/smrt-svelte/forms
Props
20
Props described
20 of 20
Bindable state
0
Callback events
2
Verified release
0.57.40

Props

Also accepts Omit<HTMLFormAttributes, 'children' | 'class' | 'id' | 'name' | 'method' | 'action' | 'onsubmit'>. The table lists the component-specific contract.

NameTypeRequiredDescription
childrenSnippetYesForm children
showModeTogglebooleanNoShow mode toggle button
showFormListenbooleanNoShow form-level listen button
silenceTimeoutnumberNoSilence timeout in seconds before stopping
sttAdapterSTTAdapterTypeNoSTT adapter type
llmModelLLMModelIdNoLLM model for extraction (or 'none' for regex-only)
onsubmit(data: Record<string, unknown>) => void | Promise<void>NoCalled when form is submitted (if provided, prevents native submission)
webmcpboolean | { name?: string; description?: string; }NoLet WebMCP propose field changes for local human review.
collectionstringNoCollection/model identity used when naming the generated intent.
method'GET' | 'POST' | 'get' | 'post' | 'dialog'NoHTTP method for native form submission (default: GET)
actionstringNoForm action URL for native form submission
formIdstringNoStable identity used by control/agent interaction adapters.
subjectControlSubjectNoDefault record-qualified identity for registered fields.
interactionRegistryControlInteractionRegistryNoRegistry for form control interactions and staged edits.
oninteraction(event: ControlInteractionEvent) => voidNoCalled when a form control interaction event occurs.
stagedReviewbooleanNoRender the built-in human review surface for staged changes.
idstringNoHTML id attribute for the form element.
namestringNoHTML name attribute for the form element.
classstringNoCSS classes to apply to the form element.
enhanceFormEnhanceNoProgressive-enhancement action applied to the rendered `<form>` — pass SvelteKit's `enhance` (`<Form enhance={enhance}>`). A component cannot take `use:`, so this is the `use:enhance` equivalent; attachments (`{@attach …}`) and every other native form attribute (`enctype`, `novalidate`, `aria-*`, `data-*`, `autocomplete`, …) pass straight through.

Bindable state

This component has no bindable public state.

Callback events

  • onsubmit(data: Record<string, unknown>) => void | Promise<void>
  • oninteraction(event: ControlInteractionEvent) => void

Examples and explanation