@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.
Files changed (298) hide show
  1. package/Field/FieldBase.js +1 -1
  2. package/{esm/Field/FieldBase.js → Field/FieldBase.mjs} +1 -1
  3. package/Field/FieldBaseContainer.js +1 -1
  4. package/{esm/Field/FieldBaseContainer.js → Field/FieldBaseContainer.mjs} +1 -1
  5. package/Field/FieldConditional.js +2 -2
  6. package/{esm/Field/FieldConditional.js → Field/FieldConditional.mjs} +2 -2
  7. package/Field/index.js +5 -5
  8. package/{esm/Field/index.js → Field/index.mjs} +5 -5
  9. package/Field/utils.js +9 -9
  10. package/{esm/Field/utils.js → Field/utils.mjs} +9 -9
  11. package/FieldArray/FieldArray.stories.js +4 -4
  12. package/FieldArray/FieldArray.stories.mjs +8 -0
  13. package/FieldArray/__stories__/Default.js +5 -5
  14. package/{esm/FieldArray/__stories__/Default.js → FieldArray/__stories__/Default.mjs} +1 -1
  15. package/FieldArray/__stories__/WithExactLength.js +5 -5
  16. package/{esm/FieldArray/__stories__/WithExactLength.js → FieldArray/__stories__/WithExactLength.mjs} +1 -1
  17. package/FieldArray/index.js +3 -3
  18. package/{esm/FieldArray/index.js → FieldArray/index.mjs} +3 -3
  19. package/FieldObject/index.js +3 -3
  20. package/{esm/FieldObject/index.js → FieldObject/index.mjs} +3 -3
  21. package/Fieldset/FieldsetWithContext.js +5 -5
  22. package/{esm/Fieldset/FieldsetWithContext.js → Fieldset/FieldsetWithContext.mjs} +3 -3
  23. package/FormBuilder/FormBuilder.js +5 -5
  24. package/{esm/FormBuilder/FormBuilder.js → FormBuilder/FormBuilder.mjs} +5 -5
  25. package/FormBuilder/FormBuilder.stories.js +3 -3
  26. package/FormBuilder/FormBuilder.stories.mjs +7 -0
  27. package/FormBuilder/__stories__/Default.js +3 -3
  28. package/{esm/FormBuilder/__stories__/Default.js → FormBuilder/__stories__/Default.mjs} +1 -1
  29. package/FormBuilder/index.js +1 -1
  30. package/FormBuilder/index.mjs +2 -0
  31. package/MultiplicityField/MultiplicityField.stories.js +8 -8
  32. package/MultiplicityField/MultiplicityField.stories.mjs +12 -0
  33. package/MultiplicityField/__stories__/Default.js +5 -5
  34. package/{esm/MultiplicityField/__stories__/Default.js → MultiplicityField/__stories__/Default.mjs} +1 -1
  35. package/MultiplicityField/__stories__/WithExactLength.js +5 -5
  36. package/{esm/MultiplicityField/__stories__/WithExactLength.js → MultiplicityField/__stories__/WithExactLength.mjs} +1 -1
  37. package/MultiplicityField/__stories__/WithMaxLength.js +5 -5
  38. package/{esm/MultiplicityField/__stories__/WithMaxLength.js → MultiplicityField/__stories__/WithMaxLength.mjs} +1 -1
  39. package/MultiplicityField/__stories__/WithMinAndMaxLength.js +5 -5
  40. package/{esm/MultiplicityField/__stories__/WithMinAndMaxLength.js → MultiplicityField/__stories__/WithMinAndMaxLength.mjs} +1 -1
  41. package/MultiplicityField/__stories__/WithMinLength.js +5 -5
  42. package/{esm/MultiplicityField/__stories__/WithMinLength.js → MultiplicityField/__stories__/WithMinLength.mjs} +1 -1
  43. package/MultiplicityField/add-objects.js +3 -3
  44. package/{esm/MultiplicityField/add-objects.js → MultiplicityField/add-objects.mjs} +3 -3
  45. package/MultiplicityField/index.js +3 -3
  46. package/{esm/MultiplicityField/index.js → MultiplicityField/index.mjs} +3 -3
  47. package/Questions/Questions.js +2 -2
  48. package/{esm/Questions/Questions.js → Questions/Questions.mjs} +2 -2
  49. package/Questions/Questions.stories.js +3 -3
  50. package/Questions/Questions.stories.mjs +7 -0
  51. package/Questions/Step/ReviewStep.js +3 -3
  52. package/{esm/Questions/Step/ReviewStep.js → Questions/Step/ReviewStep.mjs} +3 -3
  53. package/Questions/Step/Step.js +3 -3
  54. package/{esm/Questions/Step/Step.js → Questions/Step/Step.mjs} +3 -3
  55. package/Questions/Step/StepArrayReview.js +6 -6
  56. package/{esm/Questions/Step/StepArrayReview.js → Questions/Step/StepArrayReview.mjs} +6 -6
  57. package/Questions/Step/StepDescription.js +1 -1
  58. package/{esm/Questions/Step/StepDescription.js → Questions/Step/StepDescription.mjs} +1 -1
  59. package/Questions/Step/StepForm.js +4 -4
  60. package/{esm/Questions/Step/StepForm.js → Questions/Step/StepForm.mjs} +4 -4
  61. package/Questions/Step/StepTitle.js +1 -1
  62. package/{esm/Questions/Step/StepTitle.js → Questions/Step/StepTitle.mjs} +1 -1
  63. package/Questions/Step/index.js +14 -14
  64. package/Questions/Step/index.mjs +13 -0
  65. package/Questions/__stories__/Default.js +13 -13
  66. package/{esm/Questions/__stories__/Default.js → Questions/__stories__/Default.mjs} +2 -2
  67. package/Questions/index.js +2 -2
  68. package/Questions/index.mjs +3 -0
  69. package/Questions/index.spec.js +9 -9
  70. package/{esm/Questions/index.spec.js → Questions/index.spec.mjs} +3 -3
  71. package/es/Field/FieldBase.js +1 -1
  72. package/es/Field/FieldBaseContainer.js +1 -1
  73. package/es/Field/FieldConditional.js +2 -2
  74. package/es/Field/index.js +5 -5
  75. package/es/Field/utils.js +9 -9
  76. package/es/FieldArray/FieldArray.stories.js +3 -3
  77. package/es/FieldArray/__stories__/Default.js +1 -1
  78. package/es/FieldArray/__stories__/WithExactLength.js +1 -1
  79. package/es/FieldArray/index.js +3 -3
  80. package/es/FieldObject/index.js +3 -3
  81. package/es/Fieldset/FieldsetWithContext.js +3 -3
  82. package/es/FormBuilder/FormBuilder.js +5 -5
  83. package/es/FormBuilder/FormBuilder.stories.js +2 -2
  84. package/es/FormBuilder/__stories__/Default.js +1 -1
  85. package/es/FormBuilder/index.js +1 -1
  86. package/es/MultiplicityField/MultiplicityField.stories.js +7 -7
  87. package/es/MultiplicityField/__stories__/Default.js +1 -1
  88. package/es/MultiplicityField/__stories__/WithExactLength.js +1 -1
  89. package/es/MultiplicityField/__stories__/WithMaxLength.js +1 -1
  90. package/es/MultiplicityField/__stories__/WithMinAndMaxLength.js +1 -1
  91. package/es/MultiplicityField/__stories__/WithMinLength.js +1 -1
  92. package/es/MultiplicityField/add-objects.js +3 -3
  93. package/es/MultiplicityField/index.js +3 -3
  94. package/es/Questions/Questions.js +2 -2
  95. package/es/Questions/Questions.stories.js +2 -2
  96. package/es/Questions/Step/ReviewStep.js +3 -3
  97. package/es/Questions/Step/Step.js +3 -3
  98. package/es/Questions/Step/StepArrayReview.js +6 -6
  99. package/es/Questions/Step/StepDescription.js +1 -1
  100. package/es/Questions/Step/StepForm.js +4 -4
  101. package/es/Questions/Step/StepTitle.js +1 -1
  102. package/es/Questions/Step/index.js +12 -12
  103. package/es/Questions/__stories__/Default.js +2 -2
  104. package/es/Questions/index.js +2 -2
  105. package/es/Questions/index.spec.js +3 -3
  106. package/es/index.js +2 -2
  107. package/es/inputs/AutoComplete/AutoComplete.stories.js +2 -2
  108. package/es/inputs/AutoComplete/__stories__/Default.js +2 -2
  109. package/es/inputs/Checkboxes/Checkboxes.stories.js +4 -4
  110. package/es/inputs/Checkboxes/__stories__/Conditional.js +1 -1
  111. package/es/inputs/Checkboxes/__stories__/Default.js +1 -1
  112. package/es/inputs/Checkboxes/__stories__/WithDivider.js +1 -1
  113. package/es/inputs/Checkboxes/index.js +1 -1
  114. package/es/inputs/DateInput/DateInput.stories.js +2 -2
  115. package/es/inputs/DateInput/__stories__/Default.js +1 -1
  116. package/es/inputs/FileInput/FileInput.stories.js +2 -2
  117. package/es/inputs/FileInput/__stories__/Default.js +1 -1
  118. package/es/inputs/Input/Input.stories.js +10 -10
  119. package/es/inputs/Input/__stories__/AFM.js +1 -1
  120. package/es/inputs/Input/__stories__/Boolean.js +1 -1
  121. package/es/inputs/Input/__stories__/Default.js +1 -1
  122. package/es/inputs/Input/__stories__/IBAN.js +1 -1
  123. package/es/inputs/Input/__stories__/Integer.js +1 -1
  124. package/es/inputs/Input/__stories__/MobilePhone.js +1 -1
  125. package/es/inputs/Input/__stories__/PhoneNumber.js +1 -1
  126. package/es/inputs/Input/__stories__/PostalCode.js +1 -1
  127. package/es/inputs/Input/__stories__/TextWithCharacterLimit.js +1 -1
  128. package/es/inputs/Label/Label.stories.js +2 -2
  129. package/es/inputs/Label/__stories__/Default.js +1 -1
  130. package/es/inputs/OtpInput/OtpInput.stories.js +2 -2
  131. package/es/inputs/OtpInput/__stories__/Default.js +1 -1
  132. package/es/inputs/Radio/Radio.stories.js +4 -4
  133. package/es/inputs/Radio/__stories__/Conditional.js +1 -1
  134. package/es/inputs/Radio/__stories__/Default.js +1 -1
  135. package/es/inputs/Radio/__stories__/WithDivider.js +1 -1
  136. package/es/inputs/Radio/index.js +1 -1
  137. package/es/inputs/Select/Select.stories.js +2 -2
  138. package/es/inputs/Select/__stories__/Default.js +1 -1
  139. package/es/inputs/index.js +8 -8
  140. package/es/internal.js +34 -34
  141. package/es/registry.js +59 -59
  142. package/es/validators/index.js +3 -3
  143. package/es/validators/utils/index.js +8 -8
  144. package/es/validators/validators.spec.js +1 -1
  145. package/index.js +2 -2
  146. package/index.mjs +8 -0
  147. package/inputs/AutoComplete/AutoComplete.stories.js +3 -3
  148. package/inputs/AutoComplete/AutoComplete.stories.mjs +7 -0
  149. package/inputs/AutoComplete/__stories__/Default.js +2 -2
  150. package/{esm/inputs/AutoComplete/__stories__/Default.js → inputs/AutoComplete/__stories__/Default.mjs} +2 -2
  151. package/inputs/Checkboxes/Checkboxes.stories.js +5 -5
  152. package/inputs/Checkboxes/Checkboxes.stories.mjs +9 -0
  153. package/inputs/Checkboxes/__stories__/Conditional.js +3 -3
  154. package/{esm/inputs/Checkboxes/__stories__/Conditional.js → inputs/Checkboxes/__stories__/Conditional.mjs} +1 -1
  155. package/inputs/Checkboxes/__stories__/Default.js +3 -3
  156. package/{esm/inputs/Checkboxes/__stories__/Default.js → inputs/Checkboxes/__stories__/Default.mjs} +1 -1
  157. package/inputs/Checkboxes/__stories__/WithDivider.js +3 -3
  158. package/{esm/inputs/Checkboxes/__stories__/WithDivider.js → inputs/Checkboxes/__stories__/WithDivider.mjs} +1 -1
  159. package/inputs/Checkboxes/index.js +2 -2
  160. package/{esm/inputs/Checkboxes/index.js → inputs/Checkboxes/index.mjs} +1 -1
  161. package/inputs/DateInput/DateInput.stories.js +3 -3
  162. package/inputs/DateInput/DateInput.stories.mjs +7 -0
  163. package/inputs/DateInput/__stories__/Default.js +3 -3
  164. package/{esm/inputs/DateInput/__stories__/Default.js → inputs/DateInput/__stories__/Default.mjs} +1 -1
  165. package/inputs/FileInput/FileInput.stories.js +3 -3
  166. package/inputs/FileInput/FileInput.stories.mjs +7 -0
  167. package/inputs/FileInput/__stories__/Default.js +3 -3
  168. package/{esm/inputs/FileInput/__stories__/Default.js → inputs/FileInput/__stories__/Default.mjs} +1 -1
  169. package/inputs/Input/Input.stories.js +11 -11
  170. package/inputs/Input/Input.stories.mjs +15 -0
  171. package/inputs/Input/__stories__/AFM.js +3 -3
  172. package/{esm/inputs/Input/__stories__/AFM.js → inputs/Input/__stories__/AFM.mjs} +1 -1
  173. package/inputs/Input/__stories__/Boolean.js +3 -3
  174. package/{esm/inputs/Input/__stories__/Boolean.js → inputs/Input/__stories__/Boolean.mjs} +1 -1
  175. package/inputs/Input/__stories__/Default.js +3 -3
  176. package/{esm/inputs/Input/__stories__/Default.js → inputs/Input/__stories__/Default.mjs} +1 -1
  177. package/inputs/Input/__stories__/IBAN.js +3 -3
  178. package/{esm/inputs/Input/__stories__/IBAN.js → inputs/Input/__stories__/IBAN.mjs} +1 -1
  179. package/inputs/Input/__stories__/Integer.js +4 -4
  180. package/{esm/inputs/Input/__stories__/Integer.js → inputs/Input/__stories__/Integer.mjs} +1 -1
  181. package/inputs/Input/__stories__/MobilePhone.js +3 -3
  182. package/{esm/inputs/Input/__stories__/MobilePhone.js → inputs/Input/__stories__/MobilePhone.mjs} +1 -1
  183. package/inputs/Input/__stories__/PhoneNumber.js +3 -3
  184. package/{esm/inputs/Input/__stories__/PhoneNumber.js → inputs/Input/__stories__/PhoneNumber.mjs} +1 -1
  185. package/inputs/Input/__stories__/PostalCode.js +3 -3
  186. package/{esm/inputs/Input/__stories__/PostalCode.js → inputs/Input/__stories__/PostalCode.mjs} +1 -1
  187. package/inputs/Input/__stories__/TextWithCharacterLimit.js +5 -5
  188. package/{esm/inputs/Input/__stories__/TextWithCharacterLimit.js → inputs/Input/__stories__/TextWithCharacterLimit.mjs} +1 -1
  189. package/inputs/Label/Label.stories.js +3 -3
  190. package/inputs/Label/Label.stories.mjs +7 -0
  191. package/inputs/Label/__stories__/Default.js +4 -4
  192. package/{esm/inputs/Label/__stories__/Default.js → inputs/Label/__stories__/Default.mjs} +1 -1
  193. package/inputs/OtpInput/OtpInput.stories.js +3 -3
  194. package/inputs/OtpInput/OtpInput.stories.mjs +7 -0
  195. package/inputs/OtpInput/__stories__/Default.js +4 -4
  196. package/{esm/inputs/OtpInput/__stories__/Default.js → inputs/OtpInput/__stories__/Default.mjs} +1 -1
  197. package/inputs/Radio/Radio.stories.js +5 -5
  198. package/inputs/Radio/Radio.stories.mjs +9 -0
  199. package/inputs/Radio/__stories__/Conditional.js +3 -3
  200. package/{esm/inputs/Radio/__stories__/Conditional.js → inputs/Radio/__stories__/Conditional.mjs} +1 -1
  201. package/inputs/Radio/__stories__/Default.js +3 -3
  202. package/{esm/inputs/Radio/__stories__/Default.js → inputs/Radio/__stories__/Default.mjs} +1 -1
  203. package/inputs/Radio/__stories__/WithDivider.js +3 -3
  204. package/{esm/inputs/Radio/__stories__/WithDivider.js → inputs/Radio/__stories__/WithDivider.mjs} +1 -1
  205. package/inputs/Radio/index.js +2 -2
  206. package/{esm/inputs/Radio/index.js → inputs/Radio/index.mjs} +1 -1
  207. package/inputs/Select/Select.stories.js +3 -3
  208. package/inputs/Select/Select.stories.mjs +7 -0
  209. package/inputs/Select/__stories__/Default.js +3 -3
  210. package/{esm/inputs/Select/__stories__/Default.js → inputs/Select/__stories__/Default.mjs} +1 -1
  211. package/inputs/index.js +8 -8
  212. package/inputs/index.mjs +8 -0
  213. package/internal.js +20 -20
  214. package/internal.mjs +34 -0
  215. package/package.json +5 -5
  216. package/registry.d.ts +1 -1
  217. package/registry.js +59 -59
  218. package/{esm/registry.js → registry.mjs} +59 -59
  219. package/validators/index.js +3 -3
  220. package/{esm/validators/index.js → validators/index.mjs} +3 -3
  221. package/validators/utils/index.js +8 -8
  222. package/{esm/validators/utils/index.js → validators/utils/index.mjs} +8 -8
  223. package/validators/validators.spec.js +1 -1
  224. package/{esm/validators/validators.spec.js → validators/validators.spec.mjs} +1 -1
  225. package/esm/Field/index.mdx +0 -6
  226. package/esm/FieldArray/FieldArray.stories.js +0 -8
  227. package/esm/FieldArray/FieldArray.stories.playwright.json +0 -353
  228. package/esm/FormBuilder/FormBuilder.mdx +0 -256
  229. package/esm/FormBuilder/FormBuilder.stories.js +0 -7
  230. package/esm/FormBuilder/FormBuilder.stories.playwright.json +0 -52
  231. package/esm/FormBuilder/index.js +0 -2
  232. package/esm/MultiplicityField/MultiplicityField.mdx +0 -590
  233. package/esm/MultiplicityField/MultiplicityField.stories.js +0 -12
  234. package/esm/MultiplicityField/MultiplicityField.stories.playwright.json +0 -1370
  235. package/esm/Questions/Questions.stories.js +0 -7
  236. package/esm/Questions/Step/index.js +0 -13
  237. package/esm/Questions/__snapshots__/index.spec.tsx.snap +0 -596
  238. package/esm/Questions/index.js +0 -3
  239. package/esm/Questions/index.mdx +0 -415
  240. package/esm/create-simple-form.mdx +0 -539
  241. package/esm/index.js +0 -8
  242. package/esm/index.mdx +0 -51
  243. package/esm/inputs/AutoComplete/AutoComplete.stories.js +0 -7
  244. package/esm/inputs/Checkboxes/Checkboxes.stories.js +0 -9
  245. package/esm/inputs/Checkboxes/Checkboxes.stories.playwright.json +0 -85
  246. package/esm/inputs/Checkboxes/index.mdx +0 -0
  247. package/esm/inputs/DateInput/DateInput.stories.js +0 -7
  248. package/esm/inputs/DateInput/DateInput.stories.playwright.json +0 -72
  249. package/esm/inputs/FileInput/FileInput.stories.js +0 -7
  250. package/esm/inputs/FileInput/FileInput.stories.playwright.json +0 -75
  251. package/esm/inputs/Input/Input.stories.js +0 -15
  252. package/esm/inputs/Input/Input.stories.playwright.json +0 -376
  253. package/esm/inputs/Input/index.mdx +0 -8
  254. package/esm/inputs/Label/Label.stories.js +0 -7
  255. package/esm/inputs/Label/Label.stories.playwright.json +0 -40
  256. package/esm/inputs/Label/index.mdx +0 -0
  257. package/esm/inputs/OtpInput/OtpInput.stories.js +0 -7
  258. package/esm/inputs/Radio/Radio.stories.js +0 -9
  259. package/esm/inputs/Radio/Radio.stories.playwright.json +0 -73
  260. package/esm/inputs/Radio/index.mdx +0 -0
  261. package/esm/inputs/Select/Select.stories.js +0 -7
  262. package/esm/inputs/Select/Select.stories.playwright.json +0 -22
  263. package/esm/inputs/index.js +0 -8
  264. package/esm/installation.mdx +0 -68
  265. package/esm/internal.js +0 -34
  266. /package/{esm/Field/types.js → Field/types.mjs} +0 -0
  267. /package/{esm/Fieldset/index.js → Fieldset/index.mjs} +0 -0
  268. /package/{esm/Fieldset/types.js → Fieldset/types.mjs} +0 -0
  269. /package/{esm/Form.stories.js → Form.stories.mjs} +0 -0
  270. /package/{esm/FormContext.js → FormContext.mjs} +0 -0
  271. /package/{esm/MultiplicityField/__stories__/PreviewDisplay.js → MultiplicityField/__stories__/PreviewDisplay.mjs} +0 -0
  272. /package/{esm/Questions/QuestionsContext.js → Questions/QuestionsContext.mjs} +0 -0
  273. /package/{esm/Questions/Step/StepContext.js → Questions/Step/StepContext.mjs} +0 -0
  274. /package/{esm/Questions/Step/StepQuote.js → Questions/Step/StepQuote.mjs} +0 -0
  275. /package/{esm/Questions/Step/getAddMoreFields.js → Questions/Step/getAddMoreFields.mjs} +0 -0
  276. /package/{esm/Questions/Step/types.js → Questions/Step/types.mjs} +0 -0
  277. /package/{esm/Questions/getNextStep.js → Questions/getNextStep.mjs} +0 -0
  278. /package/{esm/Questions/types.js → Questions/types.mjs} +0 -0
  279. /package/{esm/inputs/AutoComplete/index.js → inputs/AutoComplete/index.mjs} +0 -0
  280. /package/{esm/inputs/DateInput/index.js → inputs/DateInput/index.mjs} +0 -0
  281. /package/{esm/inputs/FileInput/index.js → inputs/FileInput/index.mjs} +0 -0
  282. /package/{esm/inputs/Input/index.js → inputs/Input/index.mjs} +0 -0
  283. /package/{esm/inputs/Label/index.js → inputs/Label/index.mjs} +0 -0
  284. /package/{esm/inputs/OtpInput/index.js → inputs/OtpInput/index.mjs} +0 -0
  285. /package/{esm/inputs/Select/index.js → inputs/Select/index.mjs} +0 -0
  286. /package/{esm/types.js → types.mjs} +0 -0
  287. /package/{esm/utils.js → utils.mjs} +0 -0
  288. /package/{esm/validators/types.js → validators/types.mjs} +0 -0
  289. /package/{esm/validators/utils/afm.js → validators/utils/afm.mjs} +0 -0
  290. /package/{esm/validators/utils/file.js → validators/utils/file.mjs} +0 -0
  291. /package/{esm/validators/utils/iban.js → validators/utils/iban.mjs} +0 -0
  292. /package/{esm/validators/utils/int.js → validators/utils/int.mjs} +0 -0
  293. /package/{esm/validators/utils/number.js → validators/utils/number.mjs} +0 -0
  294. /package/{esm/validators/utils/otp.js → validators/utils/otp.mjs} +0 -0
  295. /package/{esm/validators/utils/phone.js → validators/utils/phone.mjs} +0 -0
  296. /package/{esm/validators/utils/postal_code.js → validators/utils/postal_code.mjs} +0 -0
  297. /package/{esm/validators/utils/text_limit.js → validators/utils/text_limit.mjs} +0 -0
  298. /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,7 +0,0 @@
1
- import FormBuilder from '@digigov/form/FormBuilder';
2
- export default {
3
- title: 'Digigov Form/FormBuilder',
4
- component: FormBuilder,
5
- displayName: 'FormBuilder'
6
- };
7
- export * from '@digigov/form/FormBuilder/__stories__/Default';
@@ -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
- }
@@ -1,2 +0,0 @@
1
- import { FormBuilder } from '@digigov/form/FormBuilder/FormBuilder';
2
- export default FormBuilder;