Set form theme
formTheme_setSet, patch, or reset a form's theme for one color mode. Light and dark themes are stored independently — call twice for full coverage. Use load_skill("form-themes") for the preset catalog, full schema, and design guidelines.
Prefer a built-in preset over hand-building hex — pass preset and skip theme:
preset: "<id>"→ apply a named preset (e.g. "dracula"). The preset's mode must matchmode; mismatches are rejected with the valid ids. See load_skill("form-themes") for the catalog.
Otherwise supply theme directly (omit preset):
theme: null→ reset (mergeignored).theme: <partial>+merge: true(default) → patch existing theme; omitted sections/fields preserved.theme: <full 7-section object>+merge: false→ replace entirely.
Pass exactly one of preset or theme. Sections: foundation (page bg/text/font/radius), input, choice (normal + selected), rating, button, question (title/desc/asterisk), feedback (error). Colors hex (#rrggbb).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| mode | Yes | Color-mode theme to operate on. Light and dark themes are stored independently. | |
| merge | No | When true (default), `theme` is treated as a patch over the existing theme. When false, `theme` replaces entirely and must contain all 7 sections. Ignored when `theme` is null (reset) or when `preset` is used. | |
| theme | No | Full theme object (for replace) OR partial (for patch). Pass `null` to reset to default. Sizes are pixels. Use load_skill("form-themes") for design guidelines. | |
| formId | Yes | The form ID | |
| preset | No | Built-in preset id for this mode (e.g. "dracula"). Mutually exclusive with `theme`. |