@witivio_teamspro/northstar-form
v8.0.2
Published
Witivio react-northstar form
Keywords
Readme
FluentUI React Northstar Form
How to use it?
- Create a functional React component
- Import this piece of code into your React component:
const signUpForm = useForm({
items: {
email: {
type: "input",
inputMode: "email",
required: true,
label: "Email",
placeholder: "Enter your email",
inverted: props.invertColors,
},
pseudo: {
type: "input",
inputMode: "text",
required: true,
label: "Pseudo",
placeholder: "Enter your pseudo",
inverted: props.invertColors,
},
gender: {
type: "radioGroup",
required: true,
label: "Gender",
items: [{label: "Male", value: 0}, {label: "Female", value: 1}, {label: "Other", value: 3}]
},
avatar: {
type: "imagePicker",
label: "Avatar",
},
agreeConditions: {
type: "checkbox",
label: "I agree conditions",
toggle: true,
required: true,
initialValue: false,
}
},
});useForm hook
Hook parameters
| Property | Description | |-----------|:-------------------------------------:| | items* | List of fields of the form | | locale | Locale for translations | | fluid | Take the full width of form container | | styles | Custom styles for the form | | className | Class name of the form | | readOnly | Fields can only be read | | inverted | Invert background color of fields | | disabled | Fields are disabled |
Hook returned properties
| Property | Description | |------------------------|:----------------------------------------------------:| | formItems | An object containing all fields elements of the form | | state | State properties of the form | | isValid | Form validity | | renderForm | Function to render form | | reset | Function to reset form | | clear | Function to clear form | | setFieldsInitialValues | Function to set form initial values | | setFieldsValues | Function to set form values | | hasChanged | Has form changed ? |
Update global form settings
- Use
UseFormSettingsProviderinindex.tsxfile.
const root = ReactDOM.createRoot(
window.document.getElementById('root') as HTMLElement
);
root.render(
<UseFormSettingsProvider>
<App/>
</UseFormSettingsProvider>
);- Use
useFormSettingshook to get and set global form settings.
const MyComponent = () => {
const updateFormSettings = useFormSettingsUpdater();
useEffect(() => {
updateFormSettings({
locale: "fr",
inverted: true,
readOnly: true,
});
}, [inverted, readOnly, disabled]);
return (
<div>Hello World</div>
)
}All forms will use these settings by default.
Check source code of examples for more information.
