OptionalchangeOptionaldisabledDisabled: never engages, so no session, no commits.
OptionalinvalidThe error key used when a rejection carries no message of its own.
OptionalonLive change notification — fires on every VALID text state. A PREVIEW channel: hosts that mutate the model per change (renaming a table) should act on onDone instead.
OptionalonThe raw TEXT channel: every display-text change the user causes — INVALID states included, and
regardless of changeOn. For hosts that persist authored text and validate it later;
onChange would leave them holding the last VALID text while the field shows something
else. An outside value change does not fire it.
OptionalonThe COMMIT channel: fires once with the final text when the edit finishes — a done key
(Enter/Tab/Escape), the adornment ✓/✗, InputFieldApi.commit/.cancel(), or blur.
args.reason distinguishes accept from cancel (a cancel delivers the reverted session baseline).
Not fired on an accept while the text is invalid — the error stays shown instead.
OptionalonValidate the text — THROW to reject it. The thrown message (an SDK validation error carries a
message key) becomes the field's error, which blocks every accept path until it clears.
The committed value. The display text re-derives whenever it changes.
'done'suppresses the live onChange notifications entirely (validation still runs, so the error state and the commit-channel value stay current) and makes Enter the field's own commit point. Default'live'.