Portable UI
useSettingsForm
v1.0.0React 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.
Works Well With
Methods
values: FieldValuesCurrent field values.
errors: FieldErrorsCurrent validation errors.
dirty: booleanWhether any field has changed.
submitting: booleanWhether async submit is in progress.
setValue(key: string, value: unknown): voidUpdate a single field.
validate(): booleanValidate all fields, returning true if valid.
submit(): Promise<void>Validate and submit.
reset(): voidReset 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),
});