Portable UI

useSettingsForm

v1.0.0

React hook for managing a module settings form backed by a SettingsSchema. Provides values, errors, dirty tracking, validation, and submission.

Import

import { useSettingsForm } from '@meteorack/modules-sdk-ui/forms';

How To Use It

  • Pass a SettingsSchema and optional initialValues to get a fully managed form state.
  • Call form.setValue(key, value) on input changes. Call form.submit() to validate and invoke the onSubmit callback.
  • Use form.getDefinition(key) to read label, type, and validation rules for rendering field-specific UI.

Methods

values: FieldValues

Current field values.

errors: FieldErrors

Current validation errors.

dirty: boolean

Whether any field has changed.

submitting: boolean

Whether async submit is in progress.

setValue(key: string, value: unknown): void

Update a single field.

validate(): boolean

Validate all fields, returning true if valid.

submit(): Promise<void>

Validate and submit.

reset(): void

Reset to initial values.

Example

bootstrap.php
import { useSettingsForm } from '@meteorack/modules-sdk-ui/forms';

const form = useSettingsForm({
  schema: myModule.settingsSchema,
  initialValues: currentSettings,
  onSubmit: (values) => sdk.settings.save(values),
});