@digigov/form 1.0.0-8bbf3ef2 → 1.0.0-a131264d
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Field/FieldBase.js +1 -1
- package/{esm/Field/FieldBase.js → Field/FieldBase.mjs} +1 -1
- package/Field/FieldBaseContainer.js +1 -1
- package/{esm/Field/FieldBaseContainer.js → Field/FieldBaseContainer.mjs} +1 -1
- package/Field/FieldConditional.js +2 -2
- package/{esm/Field/FieldConditional.js → Field/FieldConditional.mjs} +2 -2
- package/Field/index.js +5 -5
- package/{esm/Field/index.js → Field/index.mjs} +5 -5
- package/Field/utils.js +9 -9
- package/{esm/Field/utils.js → Field/utils.mjs} +9 -9
- package/FieldArray/FieldArray.stories.js +4 -4
- package/FieldArray/FieldArray.stories.mjs +8 -0
- package/FieldArray/__stories__/Default.js +5 -5
- package/{esm/FieldArray/__stories__/Default.js → FieldArray/__stories__/Default.mjs} +1 -1
- package/FieldArray/__stories__/WithExactLength.js +5 -5
- package/{esm/FieldArray/__stories__/WithExactLength.js → FieldArray/__stories__/WithExactLength.mjs} +1 -1
- package/FieldArray/index.js +3 -3
- package/{esm/FieldArray/index.js → FieldArray/index.mjs} +3 -3
- package/FieldObject/index.js +3 -3
- package/{esm/FieldObject/index.js → FieldObject/index.mjs} +3 -3
- package/Fieldset/FieldsetWithContext.js +5 -5
- package/{esm/Fieldset/FieldsetWithContext.js → Fieldset/FieldsetWithContext.mjs} +3 -3
- package/FormBuilder/FormBuilder.js +5 -5
- package/{esm/FormBuilder/FormBuilder.js → FormBuilder/FormBuilder.mjs} +5 -5
- package/FormBuilder/FormBuilder.stories.js +3 -3
- package/FormBuilder/FormBuilder.stories.mjs +7 -0
- package/FormBuilder/__stories__/Default.js +3 -3
- package/{esm/FormBuilder/__stories__/Default.js → FormBuilder/__stories__/Default.mjs} +1 -1
- package/FormBuilder/index.js +1 -1
- package/FormBuilder/index.mjs +2 -0
- package/MultiplicityField/MultiplicityField.stories.js +8 -8
- package/MultiplicityField/MultiplicityField.stories.mjs +12 -0
- package/MultiplicityField/__stories__/Default.js +5 -5
- package/{esm/MultiplicityField/__stories__/Default.js → MultiplicityField/__stories__/Default.mjs} +1 -1
- package/MultiplicityField/__stories__/WithExactLength.js +5 -5
- package/{esm/MultiplicityField/__stories__/WithExactLength.js → MultiplicityField/__stories__/WithExactLength.mjs} +1 -1
- package/MultiplicityField/__stories__/WithMaxLength.js +5 -5
- package/{esm/MultiplicityField/__stories__/WithMaxLength.js → MultiplicityField/__stories__/WithMaxLength.mjs} +1 -1
- package/MultiplicityField/__stories__/WithMinAndMaxLength.js +5 -5
- package/{esm/MultiplicityField/__stories__/WithMinAndMaxLength.js → MultiplicityField/__stories__/WithMinAndMaxLength.mjs} +1 -1
- package/MultiplicityField/__stories__/WithMinLength.js +5 -5
- package/{esm/MultiplicityField/__stories__/WithMinLength.js → MultiplicityField/__stories__/WithMinLength.mjs} +1 -1
- package/MultiplicityField/add-objects.js +3 -3
- package/{esm/MultiplicityField/add-objects.js → MultiplicityField/add-objects.mjs} +3 -3
- package/MultiplicityField/index.js +3 -3
- package/{esm/MultiplicityField/index.js → MultiplicityField/index.mjs} +3 -3
- package/Questions/Questions.js +2 -2
- package/{esm/Questions/Questions.js → Questions/Questions.mjs} +2 -2
- package/Questions/Questions.stories.js +3 -3
- package/Questions/Questions.stories.mjs +7 -0
- package/Questions/Step/ReviewStep.js +3 -3
- package/{esm/Questions/Step/ReviewStep.js → Questions/Step/ReviewStep.mjs} +3 -3
- package/Questions/Step/Step.js +3 -3
- package/{esm/Questions/Step/Step.js → Questions/Step/Step.mjs} +3 -3
- package/Questions/Step/StepArrayReview.js +6 -6
- package/{esm/Questions/Step/StepArrayReview.js → Questions/Step/StepArrayReview.mjs} +6 -6
- package/Questions/Step/StepDescription.js +1 -1
- package/{esm/Questions/Step/StepDescription.js → Questions/Step/StepDescription.mjs} +1 -1
- package/Questions/Step/StepForm.js +4 -4
- package/{esm/Questions/Step/StepForm.js → Questions/Step/StepForm.mjs} +4 -4
- package/Questions/Step/StepTitle.js +1 -1
- package/{esm/Questions/Step/StepTitle.js → Questions/Step/StepTitle.mjs} +1 -1
- package/Questions/Step/index.js +14 -14
- package/Questions/Step/index.mjs +13 -0
- package/Questions/__stories__/Default.js +13 -13
- package/{esm/Questions/__stories__/Default.js → Questions/__stories__/Default.mjs} +2 -2
- package/Questions/index.js +2 -2
- package/Questions/index.mjs +3 -0
- package/Questions/index.spec.js +9 -9
- package/{esm/Questions/index.spec.js → Questions/index.spec.mjs} +3 -3
- package/es/Field/FieldBase.js +1 -1
- package/es/Field/FieldBaseContainer.js +1 -1
- package/es/Field/FieldConditional.js +2 -2
- package/es/Field/index.js +5 -5
- package/es/Field/utils.js +9 -9
- package/es/FieldArray/FieldArray.stories.js +3 -3
- package/es/FieldArray/__stories__/Default.js +1 -1
- package/es/FieldArray/__stories__/WithExactLength.js +1 -1
- package/es/FieldArray/index.js +3 -3
- package/es/FieldObject/index.js +3 -3
- package/es/Fieldset/FieldsetWithContext.js +3 -3
- package/es/FormBuilder/FormBuilder.js +5 -5
- package/es/FormBuilder/FormBuilder.stories.js +2 -2
- package/es/FormBuilder/__stories__/Default.js +1 -1
- package/es/FormBuilder/index.js +1 -1
- package/es/MultiplicityField/MultiplicityField.stories.js +7 -7
- package/es/MultiplicityField/__stories__/Default.js +1 -1
- package/es/MultiplicityField/__stories__/WithExactLength.js +1 -1
- package/es/MultiplicityField/__stories__/WithMaxLength.js +1 -1
- package/es/MultiplicityField/__stories__/WithMinAndMaxLength.js +1 -1
- package/es/MultiplicityField/__stories__/WithMinLength.js +1 -1
- package/es/MultiplicityField/add-objects.js +3 -3
- package/es/MultiplicityField/index.js +3 -3
- package/es/Questions/Questions.js +2 -2
- package/es/Questions/Questions.stories.js +2 -2
- package/es/Questions/Step/ReviewStep.js +3 -3
- package/es/Questions/Step/Step.js +3 -3
- package/es/Questions/Step/StepArrayReview.js +6 -6
- package/es/Questions/Step/StepDescription.js +1 -1
- package/es/Questions/Step/StepForm.js +4 -4
- package/es/Questions/Step/StepTitle.js +1 -1
- package/es/Questions/Step/index.js +12 -12
- package/es/Questions/__stories__/Default.js +2 -2
- package/es/Questions/index.js +2 -2
- package/es/Questions/index.spec.js +3 -3
- package/es/index.js +2 -2
- package/es/inputs/AutoComplete/AutoComplete.stories.js +2 -2
- package/es/inputs/AutoComplete/__stories__/Default.js +2 -2
- package/es/inputs/Checkboxes/Checkboxes.stories.js +4 -4
- package/es/inputs/Checkboxes/__stories__/Conditional.js +1 -1
- package/es/inputs/Checkboxes/__stories__/Default.js +1 -1
- package/es/inputs/Checkboxes/__stories__/WithDivider.js +1 -1
- package/es/inputs/Checkboxes/index.js +1 -1
- package/es/inputs/DateInput/DateInput.stories.js +2 -2
- package/es/inputs/DateInput/__stories__/Default.js +1 -1
- package/es/inputs/FileInput/FileInput.stories.js +2 -2
- package/es/inputs/FileInput/__stories__/Default.js +1 -1
- package/es/inputs/Input/Input.stories.js +10 -10
- package/es/inputs/Input/__stories__/AFM.js +1 -1
- package/es/inputs/Input/__stories__/Boolean.js +1 -1
- package/es/inputs/Input/__stories__/Default.js +1 -1
- package/es/inputs/Input/__stories__/IBAN.js +1 -1
- package/es/inputs/Input/__stories__/Integer.js +1 -1
- package/es/inputs/Input/__stories__/MobilePhone.js +1 -1
- package/es/inputs/Input/__stories__/PhoneNumber.js +1 -1
- package/es/inputs/Input/__stories__/PostalCode.js +1 -1
- package/es/inputs/Input/__stories__/TextWithCharacterLimit.js +1 -1
- package/es/inputs/Label/Label.stories.js +2 -2
- package/es/inputs/Label/__stories__/Default.js +1 -1
- package/es/inputs/OtpInput/OtpInput.stories.js +2 -2
- package/es/inputs/OtpInput/__stories__/Default.js +1 -1
- package/es/inputs/Radio/Radio.stories.js +4 -4
- package/es/inputs/Radio/__stories__/Conditional.js +1 -1
- package/es/inputs/Radio/__stories__/Default.js +1 -1
- package/es/inputs/Radio/__stories__/WithDivider.js +1 -1
- package/es/inputs/Radio/index.js +1 -1
- package/es/inputs/Select/Select.stories.js +2 -2
- package/es/inputs/Select/__stories__/Default.js +1 -1
- package/es/inputs/index.js +8 -8
- package/es/internal.js +34 -34
- package/es/registry.js +59 -59
- package/es/validators/index.js +3 -3
- package/es/validators/utils/index.js +8 -8
- package/es/validators/validators.spec.js +1 -1
- package/index.js +2 -2
- package/index.mjs +8 -0
- package/inputs/AutoComplete/AutoComplete.stories.js +3 -3
- package/inputs/AutoComplete/AutoComplete.stories.mjs +7 -0
- package/inputs/AutoComplete/__stories__/Default.js +2 -2
- package/{esm/inputs/AutoComplete/__stories__/Default.js → inputs/AutoComplete/__stories__/Default.mjs} +2 -2
- package/inputs/Checkboxes/Checkboxes.stories.js +5 -5
- package/inputs/Checkboxes/Checkboxes.stories.mjs +9 -0
- package/inputs/Checkboxes/__stories__/Conditional.js +3 -3
- package/{esm/inputs/Checkboxes/__stories__/Conditional.js → inputs/Checkboxes/__stories__/Conditional.mjs} +1 -1
- package/inputs/Checkboxes/__stories__/Default.js +3 -3
- package/{esm/inputs/Checkboxes/__stories__/Default.js → inputs/Checkboxes/__stories__/Default.mjs} +1 -1
- package/inputs/Checkboxes/__stories__/WithDivider.js +3 -3
- package/{esm/inputs/Checkboxes/__stories__/WithDivider.js → inputs/Checkboxes/__stories__/WithDivider.mjs} +1 -1
- package/inputs/Checkboxes/index.js +2 -2
- package/{esm/inputs/Checkboxes/index.js → inputs/Checkboxes/index.mjs} +1 -1
- package/inputs/DateInput/DateInput.stories.js +3 -3
- package/inputs/DateInput/DateInput.stories.mjs +7 -0
- package/inputs/DateInput/__stories__/Default.js +3 -3
- package/{esm/inputs/DateInput/__stories__/Default.js → inputs/DateInput/__stories__/Default.mjs} +1 -1
- package/inputs/FileInput/FileInput.stories.js +3 -3
- package/inputs/FileInput/FileInput.stories.mjs +7 -0
- package/inputs/FileInput/__stories__/Default.js +3 -3
- package/{esm/inputs/FileInput/__stories__/Default.js → inputs/FileInput/__stories__/Default.mjs} +1 -1
- package/inputs/Input/Input.stories.js +11 -11
- package/inputs/Input/Input.stories.mjs +15 -0
- package/inputs/Input/__stories__/AFM.js +3 -3
- package/{esm/inputs/Input/__stories__/AFM.js → inputs/Input/__stories__/AFM.mjs} +1 -1
- package/inputs/Input/__stories__/Boolean.js +3 -3
- package/{esm/inputs/Input/__stories__/Boolean.js → inputs/Input/__stories__/Boolean.mjs} +1 -1
- package/inputs/Input/__stories__/Default.js +3 -3
- package/{esm/inputs/Input/__stories__/Default.js → inputs/Input/__stories__/Default.mjs} +1 -1
- package/inputs/Input/__stories__/IBAN.js +3 -3
- package/{esm/inputs/Input/__stories__/IBAN.js → inputs/Input/__stories__/IBAN.mjs} +1 -1
- package/inputs/Input/__stories__/Integer.js +4 -4
- package/{esm/inputs/Input/__stories__/Integer.js → inputs/Input/__stories__/Integer.mjs} +1 -1
- package/inputs/Input/__stories__/MobilePhone.js +3 -3
- package/{esm/inputs/Input/__stories__/MobilePhone.js → inputs/Input/__stories__/MobilePhone.mjs} +1 -1
- package/inputs/Input/__stories__/PhoneNumber.js +3 -3
- package/{esm/inputs/Input/__stories__/PhoneNumber.js → inputs/Input/__stories__/PhoneNumber.mjs} +1 -1
- package/inputs/Input/__stories__/PostalCode.js +3 -3
- package/{esm/inputs/Input/__stories__/PostalCode.js → inputs/Input/__stories__/PostalCode.mjs} +1 -1
- package/inputs/Input/__stories__/TextWithCharacterLimit.js +5 -5
- package/{esm/inputs/Input/__stories__/TextWithCharacterLimit.js → inputs/Input/__stories__/TextWithCharacterLimit.mjs} +1 -1
- package/inputs/Label/Label.stories.js +3 -3
- package/inputs/Label/Label.stories.mjs +7 -0
- package/inputs/Label/__stories__/Default.js +4 -4
- package/{esm/inputs/Label/__stories__/Default.js → inputs/Label/__stories__/Default.mjs} +1 -1
- package/inputs/OtpInput/OtpInput.stories.js +3 -3
- package/inputs/OtpInput/OtpInput.stories.mjs +7 -0
- package/inputs/OtpInput/__stories__/Default.js +4 -4
- package/{esm/inputs/OtpInput/__stories__/Default.js → inputs/OtpInput/__stories__/Default.mjs} +1 -1
- package/inputs/Radio/Radio.stories.js +5 -5
- package/inputs/Radio/Radio.stories.mjs +9 -0
- package/inputs/Radio/__stories__/Conditional.js +3 -3
- package/{esm/inputs/Radio/__stories__/Conditional.js → inputs/Radio/__stories__/Conditional.mjs} +1 -1
- package/inputs/Radio/__stories__/Default.js +3 -3
- package/{esm/inputs/Radio/__stories__/Default.js → inputs/Radio/__stories__/Default.mjs} +1 -1
- package/inputs/Radio/__stories__/WithDivider.js +3 -3
- package/{esm/inputs/Radio/__stories__/WithDivider.js → inputs/Radio/__stories__/WithDivider.mjs} +1 -1
- package/inputs/Radio/index.js +2 -2
- package/{esm/inputs/Radio/index.js → inputs/Radio/index.mjs} +1 -1
- package/inputs/Select/Select.stories.js +3 -3
- package/inputs/Select/Select.stories.mjs +7 -0
- package/inputs/Select/__stories__/Default.js +3 -3
- package/{esm/inputs/Select/__stories__/Default.js → inputs/Select/__stories__/Default.mjs} +1 -1
- package/inputs/index.js +8 -8
- package/inputs/index.mjs +8 -0
- package/internal.js +20 -20
- package/internal.mjs +34 -0
- package/package.json +5 -5
- package/registry.d.ts +1 -1
- package/registry.js +59 -59
- package/{esm/registry.js → registry.mjs} +59 -59
- package/validators/index.js +3 -3
- package/{esm/validators/index.js → validators/index.mjs} +3 -3
- package/validators/utils/index.js +8 -8
- package/{esm/validators/utils/index.js → validators/utils/index.mjs} +8 -8
- package/validators/validators.spec.js +1 -1
- package/{esm/validators/validators.spec.js → validators/validators.spec.mjs} +1 -1
- package/esm/Field/index.mdx +0 -6
- package/esm/FieldArray/FieldArray.stories.js +0 -8
- package/esm/FieldArray/FieldArray.stories.playwright.json +0 -353
- package/esm/FormBuilder/FormBuilder.mdx +0 -256
- package/esm/FormBuilder/FormBuilder.stories.js +0 -7
- package/esm/FormBuilder/FormBuilder.stories.playwright.json +0 -52
- package/esm/FormBuilder/index.js +0 -2
- package/esm/MultiplicityField/MultiplicityField.mdx +0 -590
- package/esm/MultiplicityField/MultiplicityField.stories.js +0 -12
- package/esm/MultiplicityField/MultiplicityField.stories.playwright.json +0 -1370
- package/esm/Questions/Questions.stories.js +0 -7
- package/esm/Questions/Step/index.js +0 -13
- package/esm/Questions/__snapshots__/index.spec.tsx.snap +0 -596
- package/esm/Questions/index.js +0 -3
- package/esm/Questions/index.mdx +0 -415
- package/esm/create-simple-form.mdx +0 -539
- package/esm/index.js +0 -8
- package/esm/index.mdx +0 -51
- package/esm/inputs/AutoComplete/AutoComplete.stories.js +0 -7
- package/esm/inputs/Checkboxes/Checkboxes.stories.js +0 -9
- package/esm/inputs/Checkboxes/Checkboxes.stories.playwright.json +0 -85
- package/esm/inputs/Checkboxes/index.mdx +0 -0
- package/esm/inputs/DateInput/DateInput.stories.js +0 -7
- package/esm/inputs/DateInput/DateInput.stories.playwright.json +0 -72
- package/esm/inputs/FileInput/FileInput.stories.js +0 -7
- package/esm/inputs/FileInput/FileInput.stories.playwright.json +0 -75
- package/esm/inputs/Input/Input.stories.js +0 -15
- package/esm/inputs/Input/Input.stories.playwright.json +0 -376
- package/esm/inputs/Input/index.mdx +0 -8
- package/esm/inputs/Label/Label.stories.js +0 -7
- package/esm/inputs/Label/Label.stories.playwright.json +0 -40
- package/esm/inputs/Label/index.mdx +0 -0
- package/esm/inputs/OtpInput/OtpInput.stories.js +0 -7
- package/esm/inputs/Radio/Radio.stories.js +0 -9
- package/esm/inputs/Radio/Radio.stories.playwright.json +0 -73
- package/esm/inputs/Radio/index.mdx +0 -0
- package/esm/inputs/Select/Select.stories.js +0 -7
- package/esm/inputs/Select/Select.stories.playwright.json +0 -22
- package/esm/inputs/index.js +0 -8
- package/esm/installation.mdx +0 -68
- package/esm/internal.js +0 -34
- /package/{esm/Field/types.js → Field/types.mjs} +0 -0
- /package/{esm/Fieldset/index.js → Fieldset/index.mjs} +0 -0
- /package/{esm/Fieldset/types.js → Fieldset/types.mjs} +0 -0
- /package/{esm/Form.stories.js → Form.stories.mjs} +0 -0
- /package/{esm/FormContext.js → FormContext.mjs} +0 -0
- /package/{esm/MultiplicityField/__stories__/PreviewDisplay.js → MultiplicityField/__stories__/PreviewDisplay.mjs} +0 -0
- /package/{esm/Questions/QuestionsContext.js → Questions/QuestionsContext.mjs} +0 -0
- /package/{esm/Questions/Step/StepContext.js → Questions/Step/StepContext.mjs} +0 -0
- /package/{esm/Questions/Step/StepQuote.js → Questions/Step/StepQuote.mjs} +0 -0
- /package/{esm/Questions/Step/getAddMoreFields.js → Questions/Step/getAddMoreFields.mjs} +0 -0
- /package/{esm/Questions/Step/types.js → Questions/Step/types.mjs} +0 -0
- /package/{esm/Questions/getNextStep.js → Questions/getNextStep.mjs} +0 -0
- /package/{esm/Questions/types.js → Questions/types.mjs} +0 -0
- /package/{esm/inputs/AutoComplete/index.js → inputs/AutoComplete/index.mjs} +0 -0
- /package/{esm/inputs/DateInput/index.js → inputs/DateInput/index.mjs} +0 -0
- /package/{esm/inputs/FileInput/index.js → inputs/FileInput/index.mjs} +0 -0
- /package/{esm/inputs/Input/index.js → inputs/Input/index.mjs} +0 -0
- /package/{esm/inputs/Label/index.js → inputs/Label/index.mjs} +0 -0
- /package/{esm/inputs/OtpInput/index.js → inputs/OtpInput/index.mjs} +0 -0
- /package/{esm/inputs/Select/index.js → inputs/Select/index.mjs} +0 -0
- /package/{esm/types.js → types.mjs} +0 -0
- /package/{esm/utils.js → utils.mjs} +0 -0
- /package/{esm/validators/types.js → validators/types.mjs} +0 -0
- /package/{esm/validators/utils/afm.js → validators/utils/afm.mjs} +0 -0
- /package/{esm/validators/utils/file.js → validators/utils/file.mjs} +0 -0
- /package/{esm/validators/utils/iban.js → validators/utils/iban.mjs} +0 -0
- /package/{esm/validators/utils/int.js → validators/utils/int.mjs} +0 -0
- /package/{esm/validators/utils/number.js → validators/utils/number.mjs} +0 -0
- /package/{esm/validators/utils/otp.js → validators/utils/otp.mjs} +0 -0
- /package/{esm/validators/utils/phone.js → validators/utils/phone.mjs} +0 -0
- /package/{esm/validators/utils/postal_code.js → validators/utils/postal_code.mjs} +0 -0
- /package/{esm/validators/utils/text_limit.js → validators/utils/text_limit.mjs} +0 -0
- /package/{esm/validators/utils/uuid4.js → validators/utils/uuid4.mjs} +0 -0
|
@@ -1,256 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
id: FormBuilder
|
|
3
|
-
title: FormBuilder
|
|
4
|
-
sidebar_label: FormBuilder
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
`FormBuilder` is a React component that provides an easy way to efficiently create reusable form page. Forms are a flexible mechanism for collecting user input because there are suitable widgets for entering many different types of data, including text boxes, checkboxes, radio buttons, dropdowns and so on for submission to a server. Actually when we use `stepForm` for building step-forms all we do is to render `FormBuilder` component.
|
|
8
|
-
|
|
9
|
-
`stepForm` component:
|
|
10
|
-
|
|
11
|
-
<Story
|
|
12
|
-
packageName="@digigov/form"
|
|
13
|
-
component="FormBuilder"
|
|
14
|
-
story="Default.tsx"
|
|
15
|
-
/>
|
|
16
|
-
|
|
17
|
-
### Importing and using FormBuilder Component
|
|
18
|
-
|
|
19
|
-
To import `FormBuilder` component simply import it from `'@digigov/form`.
|
|
20
|
-
|
|
21
|
-
```javascript
|
|
22
|
-
import { FormBuilder } from '@digigov/form';
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
Now you can use the current component inisde of your component
|
|
26
|
-
|
|
27
|
-
```javascript
|
|
28
|
-
import BasicLayout, {
|
|
29
|
-
Top,
|
|
30
|
-
Content,
|
|
31
|
-
Main,
|
|
32
|
-
Bottom,
|
|
33
|
-
} from '@digigov/ui/layouts/Basic';
|
|
34
|
-
import {FormBuilder} from '@digigov/form';
|
|
35
|
-
|
|
36
|
-
export default function MyComponent({ props }) {
|
|
37
|
-
|
|
38
|
-
return (
|
|
39
|
-
<BasicLayout>
|
|
40
|
-
.
|
|
41
|
-
.
|
|
42
|
-
<Content>
|
|
43
|
-
<Main>
|
|
44
|
-
.
|
|
45
|
-
.
|
|
46
|
-
<FormBuilder></FormBuilder>
|
|
47
|
-
.
|
|
48
|
-
.
|
|
49
|
-
</Main>
|
|
50
|
-
</Content>
|
|
51
|
-
<Bottom>
|
|
52
|
-
<GovGRFooter />
|
|
53
|
-
</Bottom>
|
|
54
|
-
</BasicLayout>
|
|
55
|
-
);
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
### Props
|
|
61
|
-
|
|
62
|
-
`FormBuilder` component accepts several arguments as input props.
|
|
63
|
-
|
|
64
|
-
| Name | Type | Default | Description |
|
|
65
|
-
| ------------ | :-----: | :-----: | :------------------------------------------------------------------------------------: |
|
|
66
|
-
| children | node | | allow you to pass components as data. |
|
|
67
|
-
| steps | array | | an array which includes each step-form format data |
|
|
68
|
-
| name | string | | the name of the step. |
|
|
69
|
-
| title | string | | the title from each step |
|
|
70
|
-
| fields | array | | an array of object fields which they describe each field for each step-form |
|
|
71
|
-
| key | string | | the key value of the input field |
|
|
72
|
-
| label | object | | an object prop which describes the label primary and the secondary name of the field |
|
|
73
|
-
| primary | string | | the name of te field |
|
|
74
|
-
| required | boolean | false | describes the validation of the field |
|
|
75
|
-
| submitButton | boolean | false | if true, it creates a button to continue to the next step |
|
|
76
|
-
| type | string | | describes the format of each field, e.x `type:'string'` is a simple input format field |
|
|
77
|
-
|
|
78
|
-
### Field types
|
|
79
|
-
|
|
80
|
-
Below are demostrated some examples for each type of field
|
|
81
|
-
|
|
82
|
-
### FormBuilder implementation
|
|
83
|
-
|
|
84
|
-
The examples above are implemented by using the code below
|
|
85
|
-
|
|
86
|
-
```javascript
|
|
87
|
-
import React, { useState } from 'react';
|
|
88
|
-
import BasicLayout, {
|
|
89
|
-
Top,
|
|
90
|
-
Content,
|
|
91
|
-
Main,
|
|
92
|
-
Bottom,
|
|
93
|
-
} from '@digigov/ui/layouts/Basic';
|
|
94
|
-
import Header, { HeaderTitle } from '@digigov/ui/app/Header';
|
|
95
|
-
import GovGRLogo from '@digigov/ui/govgr/GovGRLogo';
|
|
96
|
-
import GovGRFooter from '@digigov/ui/govgr/Footer';
|
|
97
|
-
import Button from '@digigov/ui/form/Button';
|
|
98
|
-
import PageTitleContainer, {
|
|
99
|
-
PageTitleCaption,
|
|
100
|
-
PageTitleHeading,
|
|
101
|
-
} from '@digigov/ui/app/PageTitleContainer';
|
|
102
|
-
import BackButton from '@digigov/ui/form/Button/BackButton';
|
|
103
|
-
import FormBuilder, { Fieldset, FieldsetLabel, Field } from '@digigov/form';
|
|
104
|
-
import { useTranslation } from '@digigov/ui/i18n';
|
|
105
|
-
|
|
106
|
-
const FIELDS = [
|
|
107
|
-
{
|
|
108
|
-
key: 'phone',
|
|
109
|
-
label: {
|
|
110
|
-
primary: 'Mobile phone',
|
|
111
|
-
secondary: 'A valid mobile number, eg. +306988848888',
|
|
112
|
-
},
|
|
113
|
-
required: true,
|
|
114
|
-
type: 'mobile_phone',
|
|
115
|
-
},
|
|
116
|
-
{
|
|
117
|
-
key: 'choice_single',
|
|
118
|
-
label: { primary: 'Is this true or not' },
|
|
119
|
-
type: 'choice:single',
|
|
120
|
-
required: true,
|
|
121
|
-
extra: {
|
|
122
|
-
options: [
|
|
123
|
-
{
|
|
124
|
-
label: { primary: 'Yes' },
|
|
125
|
-
value: 'yes',
|
|
126
|
-
},
|
|
127
|
-
{
|
|
128
|
-
label: { primary: 'No', secondary: 'Explanation about no option' },
|
|
129
|
-
value: 'no',
|
|
130
|
-
},
|
|
131
|
-
],
|
|
132
|
-
},
|
|
133
|
-
},
|
|
134
|
-
{
|
|
135
|
-
key: 'choice_single_notitle',
|
|
136
|
-
type: 'choice:single',
|
|
137
|
-
extra: {
|
|
138
|
-
options: [
|
|
139
|
-
{
|
|
140
|
-
label: { primary: 'One' },
|
|
141
|
-
value: '1',
|
|
142
|
-
},
|
|
143
|
-
{
|
|
144
|
-
label: { primary: 'Two' },
|
|
145
|
-
value: '2',
|
|
146
|
-
},
|
|
147
|
-
],
|
|
148
|
-
},
|
|
149
|
-
},
|
|
150
|
-
{
|
|
151
|
-
key: 'choice_multiple',
|
|
152
|
-
label: 'Select from below',
|
|
153
|
-
type: 'choice:multiple',
|
|
154
|
-
extra: {
|
|
155
|
-
options: [
|
|
156
|
-
{
|
|
157
|
-
label: { primary: 'Choice 1', secondary: 'Choice 1 explanation' },
|
|
158
|
-
value: 'choice_1',
|
|
159
|
-
},
|
|
160
|
-
{
|
|
161
|
-
label: { primary: 'Choice 2' },
|
|
162
|
-
value: 'choice_2',
|
|
163
|
-
},
|
|
164
|
-
],
|
|
165
|
-
},
|
|
166
|
-
},
|
|
167
|
-
{
|
|
168
|
-
key: 'choice_single_select',
|
|
169
|
-
label: 'Select from below',
|
|
170
|
-
type: 'choice:single',
|
|
171
|
-
extra: {
|
|
172
|
-
options: [
|
|
173
|
-
{
|
|
174
|
-
label: { primary: 'Choice 1', secondary: 'Choice 1 explanation' },
|
|
175
|
-
value: 'choice_1',
|
|
176
|
-
},
|
|
177
|
-
{
|
|
178
|
-
label: { primary: 'Choice 2 lenghty explanation without reason' },
|
|
179
|
-
value: 'choice_2',
|
|
180
|
-
},
|
|
181
|
-
],
|
|
182
|
-
component: 'Select',
|
|
183
|
-
},
|
|
184
|
-
},
|
|
185
|
-
{
|
|
186
|
-
key: 'number',
|
|
187
|
-
label: { primary: 'A positive number' },
|
|
188
|
-
required: true,
|
|
189
|
-
width: '100px',
|
|
190
|
-
type: 'int',
|
|
191
|
-
},
|
|
192
|
-
{
|
|
193
|
-
key: 'string',
|
|
194
|
-
label: null,
|
|
195
|
-
width: '100px',
|
|
196
|
-
required: true,
|
|
197
|
-
type: 'string',
|
|
198
|
-
},
|
|
199
|
-
];
|
|
200
|
-
const initialValues = {
|
|
201
|
-
phone: '6988888888',
|
|
202
|
-
choice_multiple: ['choice_2'],
|
|
203
|
-
string: 'default content',
|
|
204
|
-
};
|
|
205
|
-
|
|
206
|
-
const useStyles = makeStyles(
|
|
207
|
-
{
|
|
208
|
-
top: { minHeight: '75px' },
|
|
209
|
-
main: {},
|
|
210
|
-
side: {},
|
|
211
|
-
},
|
|
212
|
-
{ name: 'MuiSite' }
|
|
213
|
-
);
|
|
214
|
-
|
|
215
|
-
export default function Index() {
|
|
216
|
-
const styles = useStyles();
|
|
217
|
-
const [data, setData] = useState(null);
|
|
218
|
-
const { t } = useTranslation();
|
|
219
|
-
return (
|
|
220
|
-
<BasicLayout>
|
|
221
|
-
<Top className={styles.top}>
|
|
222
|
-
<Header>
|
|
223
|
-
<GovGRLogo />
|
|
224
|
-
<HeaderTitle>Service name</HeaderTitle>
|
|
225
|
-
</Header>
|
|
226
|
-
</Top>
|
|
227
|
-
<Content>
|
|
228
|
-
<Main className={styles.main}>
|
|
229
|
-
<BackButton>{t('button.back')}</BackButton>
|
|
230
|
-
<PageTitleContainer>
|
|
231
|
-
<PageTitleCaption>Before we start</PageTitleCaption>
|
|
232
|
-
<PageTitleHeading>Submit a form</PageTitleHeading>
|
|
233
|
-
</PageTitleContainer>
|
|
234
|
-
<FormBuilder
|
|
235
|
-
fields={FIELDS}
|
|
236
|
-
onSubmit={setData}
|
|
237
|
-
initial={initialValues}
|
|
238
|
-
>
|
|
239
|
-
<Fieldset>
|
|
240
|
-
<FieldsetLabel>This is a fieldset</FieldsetLabel>
|
|
241
|
-
{FIELDS.map((field) => (
|
|
242
|
-
<Field key={field.key} name={field.key} />
|
|
243
|
-
))}
|
|
244
|
-
</Fieldset>
|
|
245
|
-
<Button type="submit">{t('button.continue')}</Button>
|
|
246
|
-
</FormBuilder>
|
|
247
|
-
{data && <pre>{JSON.stringify(data, null, 2)}</pre>}
|
|
248
|
-
</Main>
|
|
249
|
-
</Content>
|
|
250
|
-
<Bottom>
|
|
251
|
-
<GovGRFooter />
|
|
252
|
-
</Bottom>
|
|
253
|
-
</BasicLayout>
|
|
254
|
-
);
|
|
255
|
-
}
|
|
256
|
-
```
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": "4",
|
|
3
|
-
"stories": {
|
|
4
|
-
"digigov-form-formbuilder--default": {
|
|
5
|
-
"actionSets": [
|
|
6
|
-
{
|
|
7
|
-
"actions": [
|
|
8
|
-
{
|
|
9
|
-
"name": "type",
|
|
10
|
-
"args": {
|
|
11
|
-
"selector": "html>body>div:nth-child(5)>form>div>label>input",
|
|
12
|
-
"text": "hello"
|
|
13
|
-
}
|
|
14
|
-
},
|
|
15
|
-
{
|
|
16
|
-
"name": "click",
|
|
17
|
-
"args": {
|
|
18
|
-
"selector": "html>body>div:nth-child(5)>form>button"
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
],
|
|
22
|
-
"id": "96MZZJqDNLCc",
|
|
23
|
-
"title": "type and submit"
|
|
24
|
-
},
|
|
25
|
-
{
|
|
26
|
-
"actions": [
|
|
27
|
-
{
|
|
28
|
-
"name": "keyboard.press",
|
|
29
|
-
"args": {
|
|
30
|
-
"key": "Tab"
|
|
31
|
-
}
|
|
32
|
-
},
|
|
33
|
-
{
|
|
34
|
-
"name": "keyboard.press",
|
|
35
|
-
"args": {
|
|
36
|
-
"key": "Tab"
|
|
37
|
-
}
|
|
38
|
-
},
|
|
39
|
-
{
|
|
40
|
-
"name": "keyboard.press",
|
|
41
|
-
"args": {
|
|
42
|
-
"key": "Enter"
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
],
|
|
46
|
-
"id": "El5R6WiI7IMr",
|
|
47
|
-
"title": "focus and show validation error"
|
|
48
|
-
}
|
|
49
|
-
]
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
}
|
package/esm/FormBuilder/index.js
DELETED