Skip to main content
Forms rendered with @osforms/react use a theme system built on top of FormTheme. You can customize colors, font, font size, and border radius. Set a theme with the theme prop on OSForm, or store it in the form’s schema (formSchema.theme) through PATCH /api/v1/forms/{id}. The dashboard builder doesn’t have a theme editor yet.

Default Theme

The default theme is dark, matching the OSForms dashboard:

FormTheme Reference

colors

fontFamily

Default: Inter, -apple-system, ...system-ui, sans-serif Pass any valid CSS font-family string. The font itself is not loaded automatically — ensure it’s available in your app.

fontSize

borderRadius

fontSize and borderRadius mostly affect classic mode. Conversational mode uses its own fixed sizes.

buttonVariant

Accepted (solid, outline, ghost) but not applied yet. Buttons always render solid.

Applying Themes

Via OSForm prop

Each top-level key you pass replaces the schema’s value for that key. colors is replaced as a whole object, and colors you omit fall back to the defaults above, so pass all of them:

Via FormSchema

Themes can also be stored in the form schema. The OSForm theme prop overrides it key by key, as described above:

Common Presets

Light

Brand (purple)

Minimal