6.1.5 • Published 4 months ago

@witivio_teamspro/northstar-form v6.1.5

Weekly downloads
-
License
ISC
Repository
-
Last release
4 months ago

FluentUI React Northstar Form

How to use it?

  1. Create a functional React component
  2. 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

PropertyDescription
items*List of fields of the form
localeLocale for translations
fluidTake the full width of form container
stylesCustom styles for the form
classNameClass name of the form
readOnlyFields can only be read
invertedInvert background color of fields
disabledFields are disabled

Hook returned properties

PropertyDescription
formItemsAn object containing all fields elements of the form
stateState properties of the form
isValidForm validity
renderFormFunction to render form
resetFunction to reset form
clearFunction to clear form
setFieldsInitialValuesFunction to set form initial values
setFieldsValuesFunction to set form values
hasChangedHas form changed ?

Update global form settings

  1. Use UseFormSettingsProvider in index.tsx file.
const root = ReactDOM.createRoot(
    window.document.getElementById('root') as HTMLElement
);

root.render(
    <UseFormSettingsProvider>
        <App/>
    </UseFormSettingsProvider>
);
  1. 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.1.5

4 months ago

6.1.2

5 months ago

6.1.4

5 months ago

6.1.3

5 months ago

6.1.1

5 months ago

6.1.0

6 months ago

5.6.6

6 months ago

5.6.5

6 months ago

5.6.4

6 months ago

5.6.3

8 months ago

5.6.2

8 months ago

5.3.0

10 months ago

4.0.1

11 months ago

5.4.0

10 months ago

5.0.1

11 months ago

5.0.0

11 months ago

5.5.1

10 months ago

5.5.0

10 months ago

5.1.1

11 months ago

5.1.0

11 months ago

4.2.1

11 months ago

4.2.0

11 months ago

5.6.1

10 months ago

5.2.5

10 months ago

5.6.0

10 months ago

5.2.4

10 months ago

5.2.3

11 months ago

5.2.2

11 months ago

5.2.1

11 months ago

5.2.0

11 months ago

6.0.1

10 months ago

6.0.0

10 months ago

6.0.2

10 months ago

4.1.0

11 months ago

4.0.0

11 months ago

3.5.2

11 months ago

3.5.1

11 months ago

3.5.0

11 months ago

3.4.4

11 months ago

3.4.3

11 months ago

3.4.2

11 months ago

3.4.1

11 months ago

3.4.0

12 months ago

3.3.1

12 months ago

3.3.0

12 months ago

3.2.0

12 months ago

2.1.9

1 year ago

2.1.16

1 year ago

2.1.14

1 year ago

2.1.15

1 year ago

2.1.12

1 year ago

2.1.13

1 year ago

2.1.10

1 year ago

2.1.11

1 year ago

3.1.0

12 months ago

3.0.0

1 year ago

2.1.8

1 year ago

2.1.6

1 year ago

2.1.7

1 year ago

2.1.5

1 year ago

2.1.4

1 year ago

2.0.1

1 year ago

2.0.0

1 year ago

2.1.2

1 year ago

2.1.1

1 year ago

2.1.3

1 year ago

2.1.0

1 year ago

1.2.12

1 year ago

1.2.13

1 year ago

1.2.14

1 year ago

1.2.11

1 year ago

1.2.10

1 year ago

1.2.9

1 year ago

1.2.8

1 year ago

1.2.7

1 year ago

1.2.6

1 year ago

1.2.5

1 year ago

1.2.0

1 year ago

1.2.4

1 year ago

1.2.3

1 year ago

1.2.2

1 year ago

1.2.1

1 year ago

1.1.0

1 year ago

1.0.0

1 year ago

0.3.11

1 year ago

0.3.10

1 year ago

0.3.9

2 years ago

0.3.8

2 years ago

0.3.6

2 years ago

0.3.7

2 years ago

0.3.5

2 years ago

0.3.4

2 years ago

0.3.0

2 years ago

0.3.2

2 years ago

0.3.1

2 years ago

0.3.3

2 years ago

0.2.20

2 years ago

0.2.19

2 years ago

0.2.18

2 years ago

0.2.17

2 years ago

0.2.16

2 years ago

0.2.15

2 years ago

0.2.14

2 years ago

0.2.13

2 years ago

0.2.12

2 years ago

0.2.11

2 years ago

0.2.10

2 years ago

0.2.7

2 years ago

0.2.6

2 years ago

0.2.9

2 years ago

0.2.8

2 years ago

0.2.3

2 years ago

0.2.2

2 years ago

0.2.5

2 years ago

0.2.4

2 years ago

0.1.30

2 years ago

0.1.31

2 years ago

0.1.32

2 years ago

0.2.1

2 years ago

0.2.0

2 years ago

0.1.10

2 years ago

0.1.11

2 years ago

0.1.12

2 years ago

0.1.13

2 years ago

0.1.14

2 years ago

0.1.15

2 years ago

0.1.27

2 years ago

0.1.28

2 years ago

0.1.29

2 years ago

0.1.20

2 years ago

0.1.21

2 years ago

0.1.22

2 years ago

0.1.23

2 years ago

0.1.24

2 years ago

0.1.25

2 years ago

0.1.26

2 years ago

0.1.2

2 years ago

0.1.1

2 years ago

0.1.16

2 years ago

0.1.8

2 years ago

0.1.17

2 years ago

0.1.7

2 years ago

0.1.18

2 years ago

0.1.19

2 years ago

0.1.9

2 years ago

0.1.4

2 years ago

0.1.3

2 years ago

0.1.6

2 years ago

0.1.5

2 years ago

0.1.0

2 years ago