@witivio_teamspro/northstar-form v6.1.5
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: Input({
inputMode: "email",
required: true,
label: "Email",
placeholder: "Enter your email",
inverted: props.invertColors,
}),
pseudo: Input({
inputMode: "text",
required: true,
label: "Pseudo",
placeholder: "Enter your pseudo",
inverted: props.invertColors,
}),
gender: RadioGroup({
required: true,
label: "Gender",
items: [{label: "Male", value: 0}, {label: "Female", value: 1}, {label: "Other", value: 3}]
}),
avatar: ImagePicker({
label: "Avatar",
}),
agreeConditions: 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
UseFormSettingsProvider
inindex.tsx
file.
const root = ReactDOM.createRoot(
window.document.getElementById('root') as HTMLElement
);
root.render(
<UseFormSettingsProvider>
<App/>
</UseFormSettingsProvider>
);
- Use
useFormSettings
hook to get and set global form settings.
const MyComponent = () => {
const updateFormSettings = useFormSettingsUpdater();
useEffect(() => {
updateFormSettings({
locale: "fr",
inverted: true,
readOnly: true,
onLoadRichTextImage: async (src, setSource) => {
setSource("https://static.wikia.nocookie.net/official-furby/images/e/ed/80FAD579-69DB-4057-AC22-AED3AB66BDDD.gif");
await new Promise(resolve => setTimeout(resolve, 1000));
setSource(src);
}
});
}, [inverted, readOnly, disabled]);
return (
<div>Hello World</div>
)
}
All forms will use these settings by default.
Check source code of examples for more information.
6 months ago
7 months ago
6 months ago
7 months ago
7 months ago
8 months ago
8 months ago
8 months ago
8 months ago
10 months ago
10 months ago
12 months ago
1 year ago
12 months ago
1 year ago
1 year ago
12 months ago
12 months ago
1 year ago
1 year ago
1 year ago
1 year ago
12 months ago
12 months ago
12 months ago
12 months ago
1 year ago
1 year ago
1 year ago
1 year ago
12 months ago
12 months ago
12 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago