@digigov/form 0.13.2 → 1.0.0-079f34f3d
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 +2 -2
- package/Field/FieldBaseContainer.js +8 -8
- package/Field/FieldConditional.js +2 -2
- package/Field/utils.js +6 -6
- package/FieldArray/__stories__/Default.js +2 -2
- package/FieldArray/__stories__/WithExactLength.js +2 -2
- package/FieldArray/index.js +3 -3
- package/FieldObject/index.d.ts +1 -1
- package/FieldObject/index.js +5 -5
- package/Fieldset/FieldsetWithContext.js +4 -4
- package/Fieldset/index.d.ts +1 -1
- package/Fieldset/index.js +2 -2
- package/Fieldset/types.d.ts +2 -2
- package/FormBuilder/FormBuilder.js +5 -5
- package/FormBuilder/FormBuilder.mdx +29 -44
- package/FormBuilder/__stories__/Default.js +2 -2
- package/MultiplicityField/MultiplicityField.mdx +277 -267
- package/MultiplicityField/__stories__/Default.js +2 -2
- package/MultiplicityField/__stories__/PreviewDisplay.js +9 -9
- package/MultiplicityField/__stories__/WithExactLength.js +2 -2
- package/MultiplicityField/__stories__/WithMaxLength.js +2 -2
- package/MultiplicityField/__stories__/WithMinAndMaxLength.js +2 -2
- package/MultiplicityField/__stories__/WithMinLength.js +2 -2
- package/MultiplicityField/add-objects.js +6 -6
- package/MultiplicityField/index.d.ts +2 -2
- package/MultiplicityField/index.js +7 -7
- package/Questions/Questions.js +2 -2
- package/Questions/Step/ReviewStep.js +8 -8
- package/Questions/Step/Step.js +2 -2
- package/Questions/Step/StepArrayReview.js +11 -11
- package/Questions/Step/StepDescription.js +2 -2
- package/Questions/Step/StepForm.d.ts +1 -1
- package/Questions/Step/StepForm.js +6 -6
- package/Questions/Step/StepTitle.d.ts +2 -2
- package/Questions/Step/StepTitle.js +11 -5
- package/Questions/Step/getAddMoreFields.d.ts +1 -1
- package/Questions/__snapshots__/index.spec.tsx.snap +72 -359
- package/Questions/__stories__/Default.js +7 -7
- package/Questions/index.mdx +45 -48
- package/Questions/index.spec.js +2 -2
- package/create-simple-form.mdx +258 -237
- package/es/Field/FieldBase.js +1 -1
- package/es/Field/FieldBaseContainer.js +6 -6
- package/es/Field/FieldConditional.js +1 -1
- package/es/Field/utils.js +5 -5
- package/es/FieldArray/__stories__/Default.js +1 -1
- package/es/FieldArray/__stories__/WithExactLength.js +1 -1
- package/es/FieldArray/index.js +2 -2
- package/es/FieldObject/index.js +3 -3
- package/es/Fieldset/FieldsetWithContext.js +2 -2
- package/es/Fieldset/index.js +1 -1
- package/es/FormBuilder/FormBuilder.js +3 -3
- package/es/FormBuilder/FormBuilder.mdx +29 -44
- package/es/FormBuilder/__stories__/Default.js +1 -1
- package/es/MultiplicityField/MultiplicityField.mdx +277 -267
- package/es/MultiplicityField/__stories__/Default.js +1 -1
- package/es/MultiplicityField/__stories__/PreviewDisplay.js +8 -8
- 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 +5 -5
- package/es/Questions/Questions.js +1 -1
- package/es/Questions/Step/ReviewStep.js +5 -5
- package/es/Questions/Step/Step.js +1 -1
- package/es/Questions/Step/StepArrayReview.js +7 -7
- package/es/Questions/Step/StepDescription.js +1 -1
- package/es/Questions/Step/StepForm.js +5 -5
- package/es/Questions/Step/StepTitle.js +9 -5
- package/es/Questions/__snapshots__/index.spec.tsx.snap +72 -359
- package/es/Questions/__stories__/Default.js +5 -5
- package/es/Questions/index.mdx +45 -48
- package/es/Questions/index.spec.js +1 -1
- package/es/create-simple-form.mdx +258 -237
- package/es/index.mdx +13 -6
- package/es/inputs/AutoComplete/__stories__/Default.js +3 -3
- package/es/inputs/AutoComplete/index.js +1 -1
- 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 +2 -2
- package/es/inputs/Checkboxes/index.js +3 -3
- package/es/inputs/DateInput/__stories__/Default.js +1 -1
- package/es/inputs/DateInput/index.js +1 -1
- package/es/inputs/FileInput/__stories__/Default.js +1 -1
- package/es/inputs/FileInput/index.js +6 -6
- 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/Input/index.js +1 -1
- package/es/inputs/Label/__stories__/Default.js +1 -1
- package/es/inputs/Label/index.js +3 -3
- package/es/inputs/OtpInput/__stories__/Default.js +1 -1
- package/es/inputs/OtpInput/index.js +5 -5
- 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 +2 -2
- package/es/inputs/Radio/index.js +4 -4
- package/es/inputs/Select/__stories__/Default.js +1 -1
- package/es/installation.mdx +12 -16
- package/es/utils.js +1 -1
- package/es/validators/index.js +2 -2
- package/esm/Field/FieldBase.js +1 -1
- package/esm/Field/FieldBaseContainer.js +6 -6
- package/esm/Field/FieldConditional.js +1 -1
- package/esm/Field/utils.js +5 -5
- package/esm/FieldArray/__stories__/Default.js +1 -1
- package/esm/FieldArray/__stories__/WithExactLength.js +1 -1
- package/esm/FieldArray/index.js +2 -2
- package/esm/FieldObject/index.js +3 -3
- package/esm/Fieldset/FieldsetWithContext.js +2 -2
- package/esm/Fieldset/index.js +1 -1
- package/esm/FormBuilder/FormBuilder.js +3 -3
- package/esm/FormBuilder/FormBuilder.mdx +29 -44
- package/esm/FormBuilder/__stories__/Default.js +1 -1
- package/esm/MultiplicityField/MultiplicityField.mdx +277 -267
- package/esm/MultiplicityField/__stories__/Default.js +1 -1
- package/esm/MultiplicityField/__stories__/PreviewDisplay.js +8 -8
- package/esm/MultiplicityField/__stories__/WithExactLength.js +1 -1
- package/esm/MultiplicityField/__stories__/WithMaxLength.js +1 -1
- package/esm/MultiplicityField/__stories__/WithMinAndMaxLength.js +1 -1
- package/esm/MultiplicityField/__stories__/WithMinLength.js +1 -1
- package/esm/MultiplicityField/add-objects.js +3 -3
- package/esm/MultiplicityField/index.js +5 -5
- package/esm/Questions/Questions.js +1 -1
- package/esm/Questions/Step/ReviewStep.js +5 -5
- package/esm/Questions/Step/Step.js +1 -1
- package/esm/Questions/Step/StepArrayReview.js +7 -7
- package/esm/Questions/Step/StepDescription.js +1 -1
- package/esm/Questions/Step/StepForm.js +5 -5
- package/esm/Questions/Step/StepTitle.js +9 -5
- package/esm/Questions/__snapshots__/index.spec.tsx.snap +72 -359
- package/esm/Questions/__stories__/Default.js +5 -5
- package/esm/Questions/index.mdx +45 -48
- package/esm/Questions/index.spec.js +1 -1
- package/esm/create-simple-form.mdx +258 -237
- package/esm/index.js +1 -1
- package/esm/index.mdx +13 -6
- package/esm/inputs/AutoComplete/__stories__/Default.js +3 -3
- package/esm/inputs/AutoComplete/index.js +1 -1
- package/esm/inputs/Checkboxes/__stories__/Conditional.js +1 -1
- package/esm/inputs/Checkboxes/__stories__/Default.js +1 -1
- package/esm/inputs/Checkboxes/__stories__/WithDivider.js +2 -2
- package/esm/inputs/Checkboxes/index.js +3 -3
- package/esm/inputs/DateInput/__stories__/Default.js +1 -1
- package/esm/inputs/DateInput/index.js +1 -1
- package/esm/inputs/FileInput/__stories__/Default.js +1 -1
- package/esm/inputs/FileInput/index.js +6 -6
- package/esm/inputs/Input/__stories__/AFM.js +1 -1
- package/esm/inputs/Input/__stories__/Boolean.js +1 -1
- package/esm/inputs/Input/__stories__/Default.js +1 -1
- package/esm/inputs/Input/__stories__/IBAN.js +1 -1
- package/esm/inputs/Input/__stories__/Integer.js +1 -1
- package/esm/inputs/Input/__stories__/MobilePhone.js +1 -1
- package/esm/inputs/Input/__stories__/PhoneNumber.js +1 -1
- package/esm/inputs/Input/__stories__/PostalCode.js +1 -1
- package/esm/inputs/Input/__stories__/TextWithCharacterLimit.js +1 -1
- package/esm/inputs/Input/index.js +1 -1
- package/esm/inputs/Label/__stories__/Default.js +1 -1
- package/esm/inputs/Label/index.js +3 -3
- package/esm/inputs/OtpInput/__stories__/Default.js +1 -1
- package/esm/inputs/OtpInput/index.js +5 -5
- package/esm/inputs/Radio/__stories__/Conditional.js +1 -1
- package/esm/inputs/Radio/__stories__/Default.js +1 -1
- package/esm/inputs/Radio/__stories__/WithDivider.js +2 -2
- package/esm/inputs/Radio/index.js +4 -4
- package/esm/inputs/Select/__stories__/Default.js +1 -1
- package/esm/installation.mdx +12 -16
- package/esm/utils.js +1 -1
- package/esm/validators/index.js +2 -2
- package/index.mdx +13 -6
- package/inputs/AutoComplete/__stories__/Default.js +4 -4
- package/inputs/AutoComplete/index.d.ts +2 -2
- package/inputs/AutoComplete/index.js +2 -2
- package/inputs/Checkboxes/__stories__/Conditional.js +2 -2
- package/inputs/Checkboxes/__stories__/Default.js +2 -2
- package/inputs/Checkboxes/__stories__/WithDivider.js +3 -3
- package/inputs/Checkboxes/index.d.ts +1 -1
- package/inputs/Checkboxes/index.js +4 -4
- package/inputs/DateInput/__stories__/Default.js +2 -2
- package/inputs/DateInput/index.js +2 -2
- package/inputs/FileInput/__stories__/Default.js +2 -2
- package/inputs/FileInput/index.js +6 -6
- package/inputs/Input/__stories__/AFM.js +2 -2
- package/inputs/Input/__stories__/Boolean.js +2 -2
- package/inputs/Input/__stories__/Default.js +2 -2
- package/inputs/Input/__stories__/IBAN.js +2 -2
- package/inputs/Input/__stories__/Integer.js +2 -2
- package/inputs/Input/__stories__/MobilePhone.js +2 -2
- package/inputs/Input/__stories__/PhoneNumber.js +2 -2
- package/inputs/Input/__stories__/PostalCode.js +2 -2
- package/inputs/Input/__stories__/TextWithCharacterLimit.js +2 -2
- package/inputs/Input/index.js +1 -1
- package/inputs/Label/__stories__/Default.js +2 -2
- package/inputs/Label/index.js +4 -4
- package/inputs/OtpInput/__stories__/Default.js +2 -2
- package/inputs/OtpInput/index.js +5 -5
- package/inputs/Radio/__stories__/Conditional.js +2 -2
- package/inputs/Radio/__stories__/Default.js +2 -2
- package/inputs/Radio/__stories__/WithDivider.js +3 -3
- package/inputs/Radio/index.d.ts +1 -1
- package/inputs/Radio/index.js +7 -7
- package/inputs/Select/__stories__/Default.js +2 -2
- package/inputs/Select/index.d.ts +1 -1
- package/installation.mdx +12 -16
- package/package.json +5 -5
- package/src/Field/FieldBase.tsx +1 -1
- package/src/Field/FieldBaseContainer.tsx +7 -7
- package/src/Field/FieldConditional.tsx +1 -1
- package/src/Field/index.tsx +1 -1
- package/src/Field/utils.ts +7 -7
- package/src/FieldArray/FieldArray.stories.js +1 -1
- package/src/FieldArray/__stories__/Default.tsx +1 -1
- package/src/FieldArray/__stories__/WithExactLength.tsx +1 -1
- package/src/FieldArray/index.tsx +3 -3
- package/src/FieldObject/index.tsx +6 -6
- package/src/Fieldset/FieldsetWithContext.tsx +3 -3
- package/src/Fieldset/index.tsx +5 -5
- package/src/Fieldset/types.tsx +3 -3
- package/src/FormBuilder/FormBuilder.mdx +29 -44
- package/src/FormBuilder/FormBuilder.stories.js +1 -1
- package/src/FormBuilder/FormBuilder.tsx +4 -4
- package/src/FormBuilder/__stories__/Default.tsx +1 -1
- package/src/MultiplicityField/MultiplicityField.mdx +277 -267
- package/src/MultiplicityField/MultiplicityField.stories.js +1 -1
- package/src/MultiplicityField/__stories__/Default.tsx +1 -1
- package/src/MultiplicityField/__stories__/PreviewDisplay.tsx +18 -18
- package/src/MultiplicityField/__stories__/WithExactLength.tsx +1 -1
- package/src/MultiplicityField/__stories__/WithMaxLength.tsx +1 -1
- package/src/MultiplicityField/__stories__/WithMinAndMaxLength.tsx +1 -1
- package/src/MultiplicityField/__stories__/WithMinLength.tsx +1 -1
- package/src/MultiplicityField/add-objects.tsx +3 -3
- package/src/MultiplicityField/index.tsx +9 -9
- package/src/Questions/Questions.stories.js +1 -1
- package/src/Questions/Questions.tsx +2 -2
- package/src/Questions/Step/ReviewStep.tsx +6 -6
- package/src/Questions/Step/Step.tsx +1 -1
- package/src/Questions/Step/StepArrayReview.tsx +11 -11
- package/src/Questions/Step/StepDescription.tsx +1 -1
- package/src/Questions/Step/StepForm.tsx +6 -6
- package/src/Questions/Step/StepTitle.tsx +19 -17
- package/src/Questions/Step/getAddMoreFields.tsx +1 -1
- package/src/Questions/__snapshots__/index.spec.tsx.snap +72 -359
- package/src/Questions/__stories__/Default.tsx +8 -8
- package/src/Questions/index.mdx +45 -48
- package/src/Questions/index.spec.tsx +1 -1
- package/src/create-simple-form.mdx +258 -237
- package/src/index.mdx +13 -6
- package/src/inputs/AutoComplete/__stories__/Default.tsx +3 -3
- package/src/inputs/AutoComplete/index.tsx +4 -4
- package/src/inputs/Checkboxes/Checkboxes.stories.js +1 -1
- package/src/inputs/Checkboxes/__stories__/Conditional.tsx +2 -2
- package/src/inputs/Checkboxes/__stories__/Default.tsx +1 -1
- package/src/inputs/Checkboxes/__stories__/WithDivider.tsx +2 -2
- package/src/inputs/Checkboxes/index.tsx +4 -4
- package/src/inputs/DateInput/DateInput.stories.js +1 -1
- package/src/inputs/DateInput/__stories__/Default.tsx +1 -1
- package/src/inputs/DateInput/index.tsx +2 -2
- package/src/inputs/FileInput/FileInput.stories.js +1 -1
- package/src/inputs/FileInput/__stories__/Default.tsx +1 -1
- package/src/inputs/FileInput/index.tsx +6 -6
- package/src/inputs/Input/__stories__/AFM.tsx +1 -1
- package/src/inputs/Input/__stories__/Boolean.tsx +1 -1
- package/src/inputs/Input/__stories__/Default.tsx +1 -1
- package/src/inputs/Input/__stories__/IBAN.tsx +1 -1
- package/src/inputs/Input/__stories__/Integer.tsx +1 -1
- package/src/inputs/Input/__stories__/MobilePhone.tsx +1 -1
- package/src/inputs/Input/__stories__/PhoneNumber.tsx +1 -1
- package/src/inputs/Input/__stories__/PostalCode.tsx +1 -1
- package/src/inputs/Input/__stories__/TextWithCharacterLimit.tsx +1 -1
- package/src/inputs/Input/index.tsx +3 -3
- package/src/inputs/Label/Label.stories.js +1 -1
- package/src/inputs/Label/__stories__/Default.tsx +1 -1
- package/src/inputs/Label/index.tsx +4 -4
- package/src/inputs/OtpInput/__stories__/Default.tsx +1 -1
- package/src/inputs/OtpInput/index.tsx +14 -10
- package/src/inputs/Radio/Radio.stories.js +1 -2
- package/src/inputs/Radio/__stories__/Conditional.tsx +3 -3
- package/src/inputs/Radio/__stories__/Default.tsx +1 -1
- package/src/inputs/Radio/__stories__/WithDivider.tsx +2 -2
- package/src/inputs/Radio/index.tsx +6 -6
- package/src/inputs/Select/Select.stories.js +1 -1
- package/src/inputs/Select/__stories__/Default.tsx +1 -1
- package/src/inputs/Select/index.tsx +2 -2
- package/src/installation.mdx +12 -16
- package/src/types.tsx +4 -2
- package/src/utils.ts +1 -1
- package/src/validators/index.ts +10 -10
- package/src/validators/utils/file.ts +1 -1
- package/src/validators/utils/phone.ts +1 -1
- package/src/validators/utils/postal_code.ts +1 -1
- package/types.d.ts +4 -2
- package/validators/index.d.ts +3 -3
- package/validators/index.js +4 -4
- package/validators/utils/file.d.ts +1 -1
- package/validators/utils/phone.d.ts +1 -1
- package/validators/utils/postal_code.d.ts +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@digigov/form",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "1.0.0-079f34f3d",
|
|
4
4
|
"description": "@digigov form builder",
|
|
5
5
|
"author": "GRNET Developers <devs@lists.grnet.gr>",
|
|
6
6
|
"license": "BSD-2-Clause",
|
|
@@ -16,12 +16,12 @@
|
|
|
16
16
|
"google-libphonenumber": "3.2.8",
|
|
17
17
|
"dayjs": "1.10.4",
|
|
18
18
|
"@hookform/resolvers": "2.9.6",
|
|
19
|
-
"publint": "0.1.8"
|
|
19
|
+
"publint": "0.1.8",
|
|
20
|
+
"@digigov/react-icons": "1.0.0-079f34f3d"
|
|
20
21
|
},
|
|
21
22
|
"peerDependencies": {
|
|
22
|
-
"@digigov/ui": "0.
|
|
23
|
-
"@digigov/react-core": "0.
|
|
24
|
-
"@digigov/react-extensions": "0.23.5",
|
|
23
|
+
"@digigov/ui": "1.0.0-079f34f3d",
|
|
24
|
+
"@digigov/react-core": "1.0.0-079f34f3d",
|
|
25
25
|
"clsx": "1.1.1",
|
|
26
26
|
"react": "^16.8.0 || ^17.0.0",
|
|
27
27
|
"react-dom": "^16.8.0 || ^17.0.0"
|
package/src/Field/FieldBase.tsx
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
+
import { Controller } from 'react-hook-form';
|
|
2
3
|
import FieldBaseContainer from '@digigov/form/Field/FieldBaseContainer';
|
|
3
4
|
import { FieldBaseProps } from '@digigov/form/Field/types';
|
|
4
|
-
import { Controller } from 'react-hook-form';
|
|
5
5
|
|
|
6
6
|
export const FieldBase: React.FC<FieldBaseProps> = (props) => {
|
|
7
7
|
const {
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
+
import { FieldContainerProps } from '@digigov/form/Field/types';
|
|
3
|
+
import Label from '@digigov/form/inputs/Label';
|
|
4
|
+
import ErrorMessage from '@digigov/react-core/ErrorMessage';
|
|
2
5
|
import FieldContainer from '@digigov/react-core/FieldContainer';
|
|
3
|
-
import LabelContainer from '@digigov/react-core/LabelContainer';
|
|
4
6
|
import CoreFieldset from '@digigov/react-core/Fieldset';
|
|
5
|
-
import Hint from '@digigov/react-core/Hint';
|
|
6
7
|
import FieldsetLegend from '@digigov/react-core/FieldsetLegend';
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import {
|
|
10
|
-
import Label from '@digigov/form/inputs/Label';
|
|
8
|
+
import Hint from '@digigov/react-core/Hint';
|
|
9
|
+
import LabelContainer from '@digigov/react-core/LabelContainer';
|
|
10
|
+
import { useTranslation } from '@digigov/ui/i18n';
|
|
11
11
|
|
|
12
12
|
export const FieldBaseContainer: React.FC<FieldContainerProps> = ({
|
|
13
13
|
name,
|
|
@@ -26,7 +26,7 @@ export const FieldBaseContainer: React.FC<FieldContainerProps> = ({
|
|
|
26
26
|
return (
|
|
27
27
|
<FieldContainer error={!!error} {...layout}>
|
|
28
28
|
<CoreFieldset>
|
|
29
|
-
<FieldsetLegend size="
|
|
29
|
+
<FieldsetLegend size="sm">{label && label.primary}</FieldsetLegend>
|
|
30
30
|
{label && label.secondary && <Hint>{t(label.secondary)}</Hint>}
|
|
31
31
|
{error && (
|
|
32
32
|
<ErrorMessage id={`${name}-error`}>
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { useWatch } from 'react-hook-form';
|
|
3
|
-
import { evaluateFieldWithConditions } from '@digigov/form/Field/utils';
|
|
4
3
|
import { FieldBase } from '@digigov/form/Field/FieldBase';
|
|
5
4
|
import {
|
|
6
5
|
ChildFieldMemoProps,
|
|
7
6
|
FieldConditionalProps,
|
|
8
7
|
} from '@digigov/form/Field/types';
|
|
8
|
+
import { evaluateFieldWithConditions } from '@digigov/form/Field/utils';
|
|
9
9
|
|
|
10
10
|
const ChildFieldMemo = React.memo(
|
|
11
11
|
function ChildField({
|
package/src/Field/index.tsx
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import React, { useMemo } from 'react';
|
|
2
2
|
import { FieldBase } from '@digigov/form/Field/FieldBase';
|
|
3
|
+
import FieldConditional from '@digigov/form/Field/FieldConditional';
|
|
3
4
|
import {
|
|
4
5
|
FieldWithCondition,
|
|
5
6
|
CalculatedField,
|
|
6
7
|
FieldProps,
|
|
7
8
|
} from '@digigov/form/Field/types';
|
|
8
|
-
import FieldConditional from '@digigov/form/Field/FieldConditional';
|
|
9
9
|
import { useField, calculateField } from '@digigov/form/Field/utils';
|
|
10
10
|
import FieldArray from '@digigov/form/FieldArray';
|
|
11
11
|
import Multiplicity from '@digigov/form/MultiplicityField';
|
package/src/Field/utils.ts
CHANGED
|
@@ -6,16 +6,16 @@ import {
|
|
|
6
6
|
FieldWithCondition,
|
|
7
7
|
UseFieldProps,
|
|
8
8
|
} from '@digigov/form/Field/types';
|
|
9
|
-
import {
|
|
10
|
-
|
|
11
|
-
import Input from '@digigov/form/inputs/Input';
|
|
9
|
+
import { FormContext } from '@digigov/form/FormContext';
|
|
12
10
|
import Checkboxes from '@digigov/form/inputs/Checkboxes';
|
|
13
|
-
import Radio from '@digigov/form/inputs/Radio';
|
|
14
|
-
import Select from '@digigov/form/inputs/Select';
|
|
15
|
-
import FileInput from '@digigov/form/inputs/FileInput';
|
|
16
11
|
import DateInput from '@digigov/form/inputs/DateInput';
|
|
12
|
+
import FileInput from '@digigov/form/inputs/FileInput';
|
|
13
|
+
import Input from '@digigov/form/inputs/Input';
|
|
17
14
|
import OtpInput from '@digigov/form/inputs/OtpInput';
|
|
18
|
-
import
|
|
15
|
+
import Radio from '@digigov/form/inputs/Radio';
|
|
16
|
+
import Select from '@digigov/form/inputs/Select';
|
|
17
|
+
import { FieldSpec } from '@digigov/form/types';
|
|
18
|
+
|
|
19
19
|
const AutoComplete = lazy(() => import('@digigov/form/inputs/AutoComplete'));
|
|
20
20
|
|
|
21
21
|
const FIELD_COMPONENTS: FieldComponentRegistry = {
|
|
@@ -2,7 +2,7 @@ import FieldArray from '@digigov/form/FieldArray';
|
|
|
2
2
|
export default {
|
|
3
3
|
title: 'Digigov Form/FieldArray',
|
|
4
4
|
component: FieldArray,
|
|
5
|
-
displayName: 'FieldArray'
|
|
5
|
+
displayName: 'FieldArray',
|
|
6
6
|
};
|
|
7
7
|
export * from '@digigov/form/FieldArray/__stories__/Default';
|
|
8
8
|
export * from '@digigov/form/FieldArray/__stories__/WithExactLength';
|
package/src/FieldArray/index.tsx
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { ErrorOption, useFieldArray, UseFormReturn } from 'react-hook-form';
|
|
3
|
+
import FieldContainer from '@digigov/form/Field/FieldBaseContainer';
|
|
4
|
+
import { FieldProps } from '@digigov/form/Field/types';
|
|
3
5
|
import FieldObject from '@digigov/form/FieldObject';
|
|
4
|
-
import { Button, Card, Hint } from '@digigov/ui';
|
|
5
6
|
import { FieldsetLabel } from '@digigov/form/Fieldset';
|
|
6
7
|
import Fieldset from '@digigov/react-core/Fieldset';
|
|
7
|
-
import {
|
|
8
|
-
import FieldContainer from '@digigov/form/Field/FieldBaseContainer';
|
|
8
|
+
import { Button, Card, Hint } from '@digigov/ui';
|
|
9
9
|
export interface FieldArrayProps extends FieldProps {
|
|
10
10
|
control: UseFormReturn['control'];
|
|
11
11
|
register: UseFormReturn['register'];
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import React, { useMemo } from 'react';
|
|
2
|
-
import {
|
|
3
|
-
import Fieldset, { FieldsetCaption } from '@digigov/form/Fieldset';
|
|
4
|
-
import { useTranslation } from '@digigov/ui/app/i18n';
|
|
2
|
+
import { ErrorOption, UseFormReturn } from 'react-hook-form';
|
|
5
3
|
import { FieldBase } from '@digigov/form/Field/FieldBase';
|
|
4
|
+
import { CalculatedField, FieldProps } from '@digigov/form/Field/types';
|
|
6
5
|
import { calculateField } from '@digigov/form/Field/utils';
|
|
7
|
-
import {
|
|
8
|
-
import { ErrorOption, UseFormReturn } from 'react-hook-form';
|
|
6
|
+
import Fieldset, { FieldsetCaption } from '@digigov/form/Fieldset';
|
|
9
7
|
import { FieldSpec } from '@digigov/form/types';
|
|
8
|
+
import { FieldsetLegend } from '@digigov/react-core';
|
|
9
|
+
import { useTranslation } from '@digigov/ui/i18n';
|
|
10
10
|
|
|
11
11
|
export interface FieldObjectProps extends Omit<FieldProps, 'key'> {
|
|
12
12
|
control: UseFormReturn['control'];
|
|
@@ -30,7 +30,7 @@ export const FieldObject: React.FC<FieldObjectProps> = ({
|
|
|
30
30
|
return (
|
|
31
31
|
<Fieldset>
|
|
32
32
|
{label?.primary && (
|
|
33
|
-
<FieldsetLegend size="
|
|
33
|
+
<FieldsetLegend size="sm">{t(label.primary)}</FieldsetLegend>
|
|
34
34
|
)}
|
|
35
35
|
{label?.secondary && (
|
|
36
36
|
<FieldsetCaption>{t(label.secondary)}</FieldsetCaption>
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import React, { useContext, useMemo } from 'react';
|
|
2
|
-
import { FormContext } from '@digigov/form/FormContext';
|
|
3
|
-
import { FieldsetSpec } from '@digigov/form/types';
|
|
4
2
|
import Field from '@digigov/form/Field';
|
|
5
|
-
import { useTranslation } from '@digigov/ui/app/i18n';
|
|
6
3
|
import {
|
|
7
4
|
Fieldset,
|
|
8
5
|
FieldsetLabel,
|
|
9
6
|
FieldsetCaption,
|
|
10
7
|
FieldsetBody,
|
|
11
8
|
} from '@digigov/form/Fieldset/';
|
|
9
|
+
import { FormContext } from '@digigov/form/FormContext';
|
|
10
|
+
import { FieldsetSpec } from '@digigov/form/types';
|
|
11
|
+
import { useTranslation } from '@digigov/ui/i18n';
|
|
12
12
|
|
|
13
13
|
export const FieldsetWithContext: React.FC<{ name: string }> = ({ name }) => {
|
|
14
14
|
const { label, body, fields } = useFieldset(name);
|
package/src/Fieldset/index.tsx
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import Grid from '@digigov/ui/layouts/Grid';
|
|
3
|
-
import Fieldset from '@digigov/react-core/Fieldset';
|
|
4
|
-
import FieldsetLegend from '@digigov/react-core/FieldsetLegend';
|
|
5
|
-
import Hint from '@digigov/react-core/Hint';
|
|
6
|
-
import NormalText from '@digigov/ui/typography/NormalText';
|
|
7
2
|
import {
|
|
8
3
|
FieldsetLabelProps,
|
|
9
4
|
FieldsetCaptionProps,
|
|
10
5
|
FieldsetBodyProps,
|
|
11
6
|
} from '@digigov/form/Fieldset/types';
|
|
7
|
+
import Fieldset from '@digigov/react-core/Fieldset';
|
|
8
|
+
import FieldsetLegend from '@digigov/react-core/FieldsetLegend';
|
|
9
|
+
import Hint from '@digigov/react-core/Hint';
|
|
10
|
+
import Grid from '@digigov/ui/layouts/Grid';
|
|
11
|
+
import NormalText from '@digigov/ui/typography/NormalText';
|
|
12
12
|
|
|
13
13
|
export const FieldsetLabel: React.FC<FieldsetLabelProps> = ({
|
|
14
14
|
children,
|
package/src/Fieldset/types.tsx
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { FieldsetLegendProps } from
|
|
2
|
-
import { HintProps } from
|
|
1
|
+
import { FieldsetLegendProps } from '@digigov/react-core/FieldsetLegend';
|
|
2
|
+
import { HintProps } from '@digigov/react-core/Hint';
|
|
3
3
|
|
|
4
4
|
export interface FieldsetLabelProps extends FieldsetLegendProps {}
|
|
5
|
-
export interface FieldsetCaptionProps extends HintProps{}
|
|
5
|
+
export interface FieldsetCaptionProps extends HintProps {}
|
|
6
6
|
export interface FieldsetBodyProps {}
|
|
@@ -4,23 +4,25 @@ title: FormBuilder
|
|
|
4
4
|
sidebar_label: FormBuilder
|
|
5
5
|
---
|
|
6
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
|
|
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
8
|
|
|
9
|
-
`stepForm` component:
|
|
9
|
+
`stepForm` component:
|
|
10
10
|
|
|
11
|
-
<Story
|
|
11
|
+
<Story
|
|
12
|
+
packageName="@digigov/form"
|
|
13
|
+
component="FormBuilder"
|
|
14
|
+
story="Default.tsx"
|
|
15
|
+
/>
|
|
12
16
|
|
|
13
17
|
### Importing and using FormBuilder Component
|
|
14
18
|
|
|
15
19
|
To import `FormBuilder` component simply import it from `'@digigov/form`.
|
|
16
20
|
|
|
17
21
|
```javascript
|
|
18
|
-
|
|
19
|
-
import {FormBuilder} from '@digigov/form';
|
|
20
|
-
|
|
22
|
+
import { FormBuilder } from '@digigov/form';
|
|
21
23
|
```
|
|
22
|
-
Now you can use the current component inisde of your component
|
|
23
24
|
|
|
25
|
+
Now you can use the current component inisde of your component
|
|
24
26
|
|
|
25
27
|
```javascript
|
|
26
28
|
import BasicLayout, {
|
|
@@ -59,33 +61,29 @@ export default function MyComponent({ props }) {
|
|
|
59
61
|
|
|
60
62
|
`FormBuilder` component accepts several arguments as input props.
|
|
61
63
|
|
|
62
|
-
| Name
|
|
63
|
-
|
|
|
64
|
-
| children
|
|
65
|
-
| steps
|
|
66
|
-
| name
|
|
67
|
-
| title
|
|
68
|
-
| fields
|
|
69
|
-
| key
|
|
70
|
-
| label
|
|
71
|
-
| primary | string
|
|
72
|
-
| required
|
|
73
|
-
| submitButton
|
|
74
|
-
| type
|
|
75
|
-
|
|
76
|
-
|
|
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
77
|
|
|
78
78
|
### Field types
|
|
79
79
|
|
|
80
80
|
Below are demostrated some examples for each type of field
|
|
81
81
|
|
|
82
|
-
|
|
83
82
|
### FormBuilder implementation
|
|
84
83
|
|
|
85
84
|
The examples above are implemented by using the code below
|
|
86
85
|
|
|
87
86
|
```javascript
|
|
88
|
-
|
|
89
87
|
import React, { useState } from 'react';
|
|
90
88
|
import BasicLayout, {
|
|
91
89
|
Top,
|
|
@@ -96,15 +94,14 @@ import BasicLayout, {
|
|
|
96
94
|
import Header, { HeaderTitle } from '@digigov/ui/app/Header';
|
|
97
95
|
import GovGRLogo from '@digigov/ui/govgr/GovGRLogo';
|
|
98
96
|
import GovGRFooter from '@digigov/ui/govgr/Footer';
|
|
99
|
-
import Button from '@digigov/ui/
|
|
100
|
-
import
|
|
101
|
-
PageTitleSection,
|
|
97
|
+
import Button from '@digigov/ui/form/Button';
|
|
98
|
+
import PageTitleContainer, {
|
|
102
99
|
PageTitleCaption,
|
|
103
100
|
PageTitleHeading,
|
|
104
|
-
} from '@digigov/ui/app/
|
|
105
|
-
import BackButton from '@digigov/ui/
|
|
101
|
+
} from '@digigov/ui/app/PageTitleContainer';
|
|
102
|
+
import BackButton from '@digigov/ui/form/Button/BackButton';
|
|
106
103
|
import FormBuilder, { Fieldset, FieldsetLabel, Field } from '@digigov/form';
|
|
107
|
-
import { useTranslation } from '@digigov/ui/
|
|
104
|
+
import { useTranslation } from '@digigov/ui/i18n';
|
|
108
105
|
|
|
109
106
|
const FIELDS = [
|
|
110
107
|
{
|
|
@@ -230,12 +227,10 @@ export default function Index() {
|
|
|
230
227
|
<Content>
|
|
231
228
|
<Main className={styles.main}>
|
|
232
229
|
<BackButton>{t('button.back')}</BackButton>
|
|
233
|
-
<
|
|
234
|
-
<PageTitleSection>
|
|
230
|
+
<PageTitleContainer>
|
|
235
231
|
<PageTitleCaption>Before we start</PageTitleCaption>
|
|
236
|
-
</PageTitleSection>
|
|
237
232
|
<PageTitleHeading>Submit a form</PageTitleHeading>
|
|
238
|
-
</
|
|
233
|
+
</PageTitleContainer>
|
|
239
234
|
<FormBuilder
|
|
240
235
|
fields={FIELDS}
|
|
241
236
|
onSubmit={setData}
|
|
@@ -258,14 +253,4 @@ export default function Index() {
|
|
|
258
253
|
</BasicLayout>
|
|
259
254
|
);
|
|
260
255
|
}
|
|
261
|
-
|
|
262
256
|
```
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
2
|
import React, { useCallback, useRef } from 'react';
|
|
3
3
|
import { useForm } from 'react-hook-form';
|
|
4
|
-
import { yupResolver } from '@digigov/form/utils';
|
|
5
|
-
import { useValidationSchema } from '@digigov/form/validators';
|
|
6
|
-
import Fieldset from '@digigov/form/Fieldset';
|
|
7
4
|
import Field from '@digigov/form/Field';
|
|
8
|
-
import
|
|
5
|
+
import Fieldset from '@digigov/form/Fieldset';
|
|
9
6
|
import { FormContext } from '@digigov/form/FormContext';
|
|
7
|
+
import { FormBaseProps, FormData, FormBuilderProps } from '@digigov/form/types';
|
|
8
|
+
import { yupResolver } from '@digigov/form/utils';
|
|
9
|
+
import { useValidationSchema } from '@digigov/form/validators';
|
|
10
10
|
import { Form } from '@digigov/react-core/Form';
|
|
11
11
|
|
|
12
12
|
export const FormBase = React.forwardRef(function FormBase(
|