@digigov/form 0.13.2 → 1.0.0-480e3d97

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 (303) hide show
  1. package/Field/FieldBase.js +2 -2
  2. package/Field/FieldBaseContainer.js +8 -8
  3. package/Field/FieldConditional.js +2 -2
  4. package/Field/utils.js +6 -6
  5. package/FieldArray/__stories__/Default.js +2 -2
  6. package/FieldArray/__stories__/WithExactLength.js +2 -2
  7. package/FieldArray/index.js +3 -3
  8. package/FieldObject/index.d.ts +1 -1
  9. package/FieldObject/index.js +5 -5
  10. package/Fieldset/FieldsetWithContext.js +4 -4
  11. package/Fieldset/index.d.ts +1 -1
  12. package/Fieldset/index.js +2 -2
  13. package/Fieldset/types.d.ts +2 -2
  14. package/FormBuilder/FormBuilder.js +5 -5
  15. package/FormBuilder/FormBuilder.mdx +29 -44
  16. package/FormBuilder/__stories__/Default.js +2 -2
  17. package/MultiplicityField/MultiplicityField.mdx +277 -267
  18. package/MultiplicityField/__stories__/Default.js +2 -2
  19. package/MultiplicityField/__stories__/PreviewDisplay.js +9 -9
  20. package/MultiplicityField/__stories__/WithExactLength.js +2 -2
  21. package/MultiplicityField/__stories__/WithMaxLength.js +2 -2
  22. package/MultiplicityField/__stories__/WithMinAndMaxLength.js +2 -2
  23. package/MultiplicityField/__stories__/WithMinLength.js +2 -2
  24. package/MultiplicityField/add-objects.js +6 -6
  25. package/MultiplicityField/index.d.ts +2 -2
  26. package/MultiplicityField/index.js +7 -7
  27. package/Questions/Questions.js +2 -2
  28. package/Questions/Step/ReviewStep.js +8 -8
  29. package/Questions/Step/Step.js +2 -2
  30. package/Questions/Step/StepArrayReview.js +11 -11
  31. package/Questions/Step/StepDescription.js +2 -2
  32. package/Questions/Step/StepForm.d.ts +1 -1
  33. package/Questions/Step/StepForm.js +6 -6
  34. package/Questions/Step/StepTitle.d.ts +1 -1
  35. package/Questions/Step/StepTitle.js +5 -5
  36. package/Questions/Step/getAddMoreFields.d.ts +1 -1
  37. package/Questions/__snapshots__/index.spec.tsx.snap +72 -359
  38. package/Questions/__stories__/Default.js +7 -7
  39. package/Questions/index.mdx +45 -48
  40. package/Questions/index.spec.js +2 -2
  41. package/create-simple-form.mdx +258 -237
  42. package/es/Field/FieldBase.js +1 -1
  43. package/es/Field/FieldBaseContainer.js +6 -6
  44. package/es/Field/FieldConditional.js +1 -1
  45. package/es/Field/utils.js +5 -5
  46. package/es/FieldArray/__stories__/Default.js +1 -1
  47. package/es/FieldArray/__stories__/WithExactLength.js +1 -1
  48. package/es/FieldArray/index.js +2 -2
  49. package/es/FieldObject/index.js +3 -3
  50. package/es/Fieldset/FieldsetWithContext.js +2 -2
  51. package/es/Fieldset/index.js +1 -1
  52. package/es/FormBuilder/FormBuilder.js +3 -3
  53. package/es/FormBuilder/FormBuilder.mdx +29 -44
  54. package/es/FormBuilder/__stories__/Default.js +1 -1
  55. package/es/MultiplicityField/MultiplicityField.mdx +277 -267
  56. package/es/MultiplicityField/__stories__/Default.js +1 -1
  57. package/es/MultiplicityField/__stories__/PreviewDisplay.js +8 -8
  58. package/es/MultiplicityField/__stories__/WithExactLength.js +1 -1
  59. package/es/MultiplicityField/__stories__/WithMaxLength.js +1 -1
  60. package/es/MultiplicityField/__stories__/WithMinAndMaxLength.js +1 -1
  61. package/es/MultiplicityField/__stories__/WithMinLength.js +1 -1
  62. package/es/MultiplicityField/add-objects.js +3 -3
  63. package/es/MultiplicityField/index.js +5 -5
  64. package/es/Questions/Questions.js +1 -1
  65. package/es/Questions/Step/ReviewStep.js +5 -5
  66. package/es/Questions/Step/Step.js +1 -1
  67. package/es/Questions/Step/StepArrayReview.js +7 -7
  68. package/es/Questions/Step/StepDescription.js +1 -1
  69. package/es/Questions/Step/StepForm.js +5 -5
  70. package/es/Questions/Step/StepTitle.js +4 -4
  71. package/es/Questions/__snapshots__/index.spec.tsx.snap +72 -359
  72. package/es/Questions/__stories__/Default.js +5 -5
  73. package/es/Questions/index.mdx +45 -48
  74. package/es/Questions/index.spec.js +1 -1
  75. package/es/create-simple-form.mdx +258 -237
  76. package/es/index.mdx +13 -6
  77. package/es/inputs/AutoComplete/__stories__/Default.js +3 -3
  78. package/es/inputs/AutoComplete/index.js +1 -1
  79. package/es/inputs/Checkboxes/__stories__/Conditional.js +1 -1
  80. package/es/inputs/Checkboxes/__stories__/Default.js +1 -1
  81. package/es/inputs/Checkboxes/__stories__/WithDivider.js +2 -2
  82. package/es/inputs/Checkboxes/index.js +3 -3
  83. package/es/inputs/DateInput/__stories__/Default.js +1 -1
  84. package/es/inputs/DateInput/index.js +1 -1
  85. package/es/inputs/FileInput/__stories__/Default.js +1 -1
  86. package/es/inputs/FileInput/index.js +6 -6
  87. package/es/inputs/Input/__stories__/AFM.js +1 -1
  88. package/es/inputs/Input/__stories__/Boolean.js +1 -1
  89. package/es/inputs/Input/__stories__/Default.js +1 -1
  90. package/es/inputs/Input/__stories__/IBAN.js +1 -1
  91. package/es/inputs/Input/__stories__/Integer.js +1 -1
  92. package/es/inputs/Input/__stories__/MobilePhone.js +1 -1
  93. package/es/inputs/Input/__stories__/PhoneNumber.js +1 -1
  94. package/es/inputs/Input/__stories__/PostalCode.js +1 -1
  95. package/es/inputs/Input/__stories__/TextWithCharacterLimit.js +1 -1
  96. package/es/inputs/Input/index.js +1 -1
  97. package/es/inputs/Label/__stories__/Default.js +1 -1
  98. package/es/inputs/Label/index.js +3 -3
  99. package/es/inputs/OtpInput/__stories__/Default.js +1 -1
  100. package/es/inputs/OtpInput/index.js +5 -5
  101. package/es/inputs/Radio/__stories__/Conditional.js +1 -1
  102. package/es/inputs/Radio/__stories__/Default.js +1 -1
  103. package/es/inputs/Radio/__stories__/WithDivider.js +2 -2
  104. package/es/inputs/Radio/index.js +4 -4
  105. package/es/inputs/Select/__stories__/Default.js +1 -1
  106. package/es/installation.mdx +12 -16
  107. package/es/utils.js +1 -1
  108. package/es/validators/index.js +2 -2
  109. package/esm/Field/FieldBase.js +1 -1
  110. package/esm/Field/FieldBaseContainer.js +6 -6
  111. package/esm/Field/FieldConditional.js +1 -1
  112. package/esm/Field/utils.js +5 -5
  113. package/esm/FieldArray/__stories__/Default.js +1 -1
  114. package/esm/FieldArray/__stories__/WithExactLength.js +1 -1
  115. package/esm/FieldArray/index.js +2 -2
  116. package/esm/FieldObject/index.js +3 -3
  117. package/esm/Fieldset/FieldsetWithContext.js +2 -2
  118. package/esm/Fieldset/index.js +1 -1
  119. package/esm/FormBuilder/FormBuilder.js +3 -3
  120. package/esm/FormBuilder/FormBuilder.mdx +29 -44
  121. package/esm/FormBuilder/__stories__/Default.js +1 -1
  122. package/esm/MultiplicityField/MultiplicityField.mdx +277 -267
  123. package/esm/MultiplicityField/__stories__/Default.js +1 -1
  124. package/esm/MultiplicityField/__stories__/PreviewDisplay.js +8 -8
  125. package/esm/MultiplicityField/__stories__/WithExactLength.js +1 -1
  126. package/esm/MultiplicityField/__stories__/WithMaxLength.js +1 -1
  127. package/esm/MultiplicityField/__stories__/WithMinAndMaxLength.js +1 -1
  128. package/esm/MultiplicityField/__stories__/WithMinLength.js +1 -1
  129. package/esm/MultiplicityField/add-objects.js +3 -3
  130. package/esm/MultiplicityField/index.js +5 -5
  131. package/esm/Questions/Questions.js +1 -1
  132. package/esm/Questions/Step/ReviewStep.js +5 -5
  133. package/esm/Questions/Step/Step.js +1 -1
  134. package/esm/Questions/Step/StepArrayReview.js +7 -7
  135. package/esm/Questions/Step/StepDescription.js +1 -1
  136. package/esm/Questions/Step/StepForm.js +5 -5
  137. package/esm/Questions/Step/StepTitle.js +4 -4
  138. package/esm/Questions/__snapshots__/index.spec.tsx.snap +72 -359
  139. package/esm/Questions/__stories__/Default.js +5 -5
  140. package/esm/Questions/index.mdx +45 -48
  141. package/esm/Questions/index.spec.js +1 -1
  142. package/esm/create-simple-form.mdx +258 -237
  143. package/esm/index.js +1 -1
  144. package/esm/index.mdx +13 -6
  145. package/esm/inputs/AutoComplete/__stories__/Default.js +3 -3
  146. package/esm/inputs/AutoComplete/index.js +1 -1
  147. package/esm/inputs/Checkboxes/__stories__/Conditional.js +1 -1
  148. package/esm/inputs/Checkboxes/__stories__/Default.js +1 -1
  149. package/esm/inputs/Checkboxes/__stories__/WithDivider.js +2 -2
  150. package/esm/inputs/Checkboxes/index.js +3 -3
  151. package/esm/inputs/DateInput/__stories__/Default.js +1 -1
  152. package/esm/inputs/DateInput/index.js +1 -1
  153. package/esm/inputs/FileInput/__stories__/Default.js +1 -1
  154. package/esm/inputs/FileInput/index.js +6 -6
  155. package/esm/inputs/Input/__stories__/AFM.js +1 -1
  156. package/esm/inputs/Input/__stories__/Boolean.js +1 -1
  157. package/esm/inputs/Input/__stories__/Default.js +1 -1
  158. package/esm/inputs/Input/__stories__/IBAN.js +1 -1
  159. package/esm/inputs/Input/__stories__/Integer.js +1 -1
  160. package/esm/inputs/Input/__stories__/MobilePhone.js +1 -1
  161. package/esm/inputs/Input/__stories__/PhoneNumber.js +1 -1
  162. package/esm/inputs/Input/__stories__/PostalCode.js +1 -1
  163. package/esm/inputs/Input/__stories__/TextWithCharacterLimit.js +1 -1
  164. package/esm/inputs/Input/index.js +1 -1
  165. package/esm/inputs/Label/__stories__/Default.js +1 -1
  166. package/esm/inputs/Label/index.js +3 -3
  167. package/esm/inputs/OtpInput/__stories__/Default.js +1 -1
  168. package/esm/inputs/OtpInput/index.js +5 -5
  169. package/esm/inputs/Radio/__stories__/Conditional.js +1 -1
  170. package/esm/inputs/Radio/__stories__/Default.js +1 -1
  171. package/esm/inputs/Radio/__stories__/WithDivider.js +2 -2
  172. package/esm/inputs/Radio/index.js +4 -4
  173. package/esm/inputs/Select/__stories__/Default.js +1 -1
  174. package/esm/installation.mdx +12 -16
  175. package/esm/utils.js +1 -1
  176. package/esm/validators/index.js +2 -2
  177. package/index.mdx +13 -6
  178. package/inputs/AutoComplete/__stories__/Default.js +4 -4
  179. package/inputs/AutoComplete/index.d.ts +2 -2
  180. package/inputs/AutoComplete/index.js +2 -2
  181. package/inputs/Checkboxes/__stories__/Conditional.js +2 -2
  182. package/inputs/Checkboxes/__stories__/Default.js +2 -2
  183. package/inputs/Checkboxes/__stories__/WithDivider.js +3 -3
  184. package/inputs/Checkboxes/index.d.ts +1 -1
  185. package/inputs/Checkboxes/index.js +4 -4
  186. package/inputs/DateInput/__stories__/Default.js +2 -2
  187. package/inputs/DateInput/index.js +2 -2
  188. package/inputs/FileInput/__stories__/Default.js +2 -2
  189. package/inputs/FileInput/index.js +6 -6
  190. package/inputs/Input/__stories__/AFM.js +2 -2
  191. package/inputs/Input/__stories__/Boolean.js +2 -2
  192. package/inputs/Input/__stories__/Default.js +2 -2
  193. package/inputs/Input/__stories__/IBAN.js +2 -2
  194. package/inputs/Input/__stories__/Integer.js +2 -2
  195. package/inputs/Input/__stories__/MobilePhone.js +2 -2
  196. package/inputs/Input/__stories__/PhoneNumber.js +2 -2
  197. package/inputs/Input/__stories__/PostalCode.js +2 -2
  198. package/inputs/Input/__stories__/TextWithCharacterLimit.js +2 -2
  199. package/inputs/Input/index.js +1 -1
  200. package/inputs/Label/__stories__/Default.js +2 -2
  201. package/inputs/Label/index.js +4 -4
  202. package/inputs/OtpInput/__stories__/Default.js +2 -2
  203. package/inputs/OtpInput/index.js +5 -5
  204. package/inputs/Radio/__stories__/Conditional.js +2 -2
  205. package/inputs/Radio/__stories__/Default.js +2 -2
  206. package/inputs/Radio/__stories__/WithDivider.js +3 -3
  207. package/inputs/Radio/index.d.ts +1 -1
  208. package/inputs/Radio/index.js +7 -7
  209. package/inputs/Select/__stories__/Default.js +2 -2
  210. package/inputs/Select/index.d.ts +1 -1
  211. package/installation.mdx +12 -16
  212. package/package.json +5 -5
  213. package/src/Field/FieldBase.tsx +1 -1
  214. package/src/Field/FieldBaseContainer.tsx +7 -7
  215. package/src/Field/FieldConditional.tsx +1 -1
  216. package/src/Field/index.tsx +1 -1
  217. package/src/Field/utils.ts +7 -7
  218. package/src/FieldArray/FieldArray.stories.js +1 -1
  219. package/src/FieldArray/__stories__/Default.tsx +1 -1
  220. package/src/FieldArray/__stories__/WithExactLength.tsx +1 -1
  221. package/src/FieldArray/index.tsx +3 -3
  222. package/src/FieldObject/index.tsx +6 -6
  223. package/src/Fieldset/FieldsetWithContext.tsx +3 -3
  224. package/src/Fieldset/index.tsx +5 -5
  225. package/src/Fieldset/types.tsx +3 -3
  226. package/src/FormBuilder/FormBuilder.mdx +29 -44
  227. package/src/FormBuilder/FormBuilder.stories.js +1 -1
  228. package/src/FormBuilder/FormBuilder.tsx +4 -4
  229. package/src/FormBuilder/__stories__/Default.tsx +1 -1
  230. package/src/MultiplicityField/MultiplicityField.mdx +277 -267
  231. package/src/MultiplicityField/MultiplicityField.stories.js +1 -1
  232. package/src/MultiplicityField/__stories__/Default.tsx +1 -1
  233. package/src/MultiplicityField/__stories__/PreviewDisplay.tsx +18 -18
  234. package/src/MultiplicityField/__stories__/WithExactLength.tsx +1 -1
  235. package/src/MultiplicityField/__stories__/WithMaxLength.tsx +1 -1
  236. package/src/MultiplicityField/__stories__/WithMinAndMaxLength.tsx +1 -1
  237. package/src/MultiplicityField/__stories__/WithMinLength.tsx +1 -1
  238. package/src/MultiplicityField/add-objects.tsx +3 -3
  239. package/src/MultiplicityField/index.tsx +9 -9
  240. package/src/Questions/Questions.stories.js +1 -1
  241. package/src/Questions/Questions.tsx +2 -2
  242. package/src/Questions/Step/ReviewStep.tsx +6 -6
  243. package/src/Questions/Step/Step.tsx +1 -1
  244. package/src/Questions/Step/StepArrayReview.tsx +11 -11
  245. package/src/Questions/Step/StepDescription.tsx +1 -1
  246. package/src/Questions/Step/StepForm.tsx +6 -6
  247. package/src/Questions/Step/StepTitle.tsx +15 -13
  248. package/src/Questions/Step/getAddMoreFields.tsx +1 -1
  249. package/src/Questions/__snapshots__/index.spec.tsx.snap +72 -359
  250. package/src/Questions/__stories__/Default.tsx +8 -8
  251. package/src/Questions/index.mdx +45 -48
  252. package/src/Questions/index.spec.tsx +1 -1
  253. package/src/create-simple-form.mdx +258 -237
  254. package/src/index.mdx +13 -6
  255. package/src/inputs/AutoComplete/__stories__/Default.tsx +3 -3
  256. package/src/inputs/AutoComplete/index.tsx +4 -4
  257. package/src/inputs/Checkboxes/Checkboxes.stories.js +1 -1
  258. package/src/inputs/Checkboxes/__stories__/Conditional.tsx +2 -2
  259. package/src/inputs/Checkboxes/__stories__/Default.tsx +1 -1
  260. package/src/inputs/Checkboxes/__stories__/WithDivider.tsx +2 -2
  261. package/src/inputs/Checkboxes/index.tsx +4 -4
  262. package/src/inputs/DateInput/DateInput.stories.js +1 -1
  263. package/src/inputs/DateInput/__stories__/Default.tsx +1 -1
  264. package/src/inputs/DateInput/index.tsx +2 -2
  265. package/src/inputs/FileInput/FileInput.stories.js +1 -1
  266. package/src/inputs/FileInput/__stories__/Default.tsx +1 -1
  267. package/src/inputs/FileInput/index.tsx +6 -6
  268. package/src/inputs/Input/__stories__/AFM.tsx +1 -1
  269. package/src/inputs/Input/__stories__/Boolean.tsx +1 -1
  270. package/src/inputs/Input/__stories__/Default.tsx +1 -1
  271. package/src/inputs/Input/__stories__/IBAN.tsx +1 -1
  272. package/src/inputs/Input/__stories__/Integer.tsx +1 -1
  273. package/src/inputs/Input/__stories__/MobilePhone.tsx +1 -1
  274. package/src/inputs/Input/__stories__/PhoneNumber.tsx +1 -1
  275. package/src/inputs/Input/__stories__/PostalCode.tsx +1 -1
  276. package/src/inputs/Input/__stories__/TextWithCharacterLimit.tsx +1 -1
  277. package/src/inputs/Input/index.tsx +3 -3
  278. package/src/inputs/Label/Label.stories.js +1 -1
  279. package/src/inputs/Label/__stories__/Default.tsx +1 -1
  280. package/src/inputs/Label/index.tsx +4 -4
  281. package/src/inputs/OtpInput/__stories__/Default.tsx +1 -1
  282. package/src/inputs/OtpInput/index.tsx +14 -10
  283. package/src/inputs/Radio/Radio.stories.js +1 -2
  284. package/src/inputs/Radio/__stories__/Conditional.tsx +3 -3
  285. package/src/inputs/Radio/__stories__/Default.tsx +1 -1
  286. package/src/inputs/Radio/__stories__/WithDivider.tsx +2 -2
  287. package/src/inputs/Radio/index.tsx +6 -6
  288. package/src/inputs/Select/Select.stories.js +1 -1
  289. package/src/inputs/Select/__stories__/Default.tsx +1 -1
  290. package/src/inputs/Select/index.tsx +2 -2
  291. package/src/installation.mdx +12 -16
  292. package/src/types.tsx +4 -2
  293. package/src/utils.ts +1 -1
  294. package/src/validators/index.ts +10 -10
  295. package/src/validators/utils/file.ts +1 -1
  296. package/src/validators/utils/phone.ts +1 -1
  297. package/src/validators/utils/postal_code.ts +1 -1
  298. package/types.d.ts +4 -2
  299. package/validators/index.d.ts +3 -3
  300. package/validators/index.js +4 -4
  301. package/validators/utils/file.d.ts +1 -1
  302. package/validators/utils/phone.d.ts +1 -1
  303. package/validators/utils/postal_code.d.ts +1 -1
package/src/index.mdx CHANGED
@@ -4,12 +4,19 @@ title: Digigov Form
4
4
  sidebar_label: Introduction to Digigov Form
5
5
  ---
6
6
 
7
- import LeadText from "@site/src/components/LeadText";
7
+ import LeadText from '@site/src/components/LeadText';
8
8
 
9
- <LeadText>Digigov Form is an off-the-shelf solution for managing web forms using Reactjs. It supports flexible and multi-step forms and easy-to-use validation. This page will guide you through everything you need to create accessible and
10
- dynamic forms that can handle all sorts of user inputs.</LeadText>
11
-
12
- <img src="/img/form.svg" style={{margin: '3rem 0', maxWidth: '450px', width: '60%'}}/>
9
+ <LeadText>
10
+ Digigov Form is an off-the-shelf solution for managing web forms using
11
+ Reactjs. It supports flexible and multi-step forms and easy-to-use validation.
12
+ This page will guide you through everything you need to create accessible and
13
+ dynamic forms that can handle all sorts of user inputs.
14
+ </LeadText>
15
+
16
+ <img
17
+ src="/img/form.svg"
18
+ style={{ margin: '3rem 0', maxWidth: '450px', width: '60%' }}
19
+ />
13
20
 
14
21
  ## Before we start
15
22
 
@@ -22,7 +29,7 @@ Finally, we also offer an easy way to spread your forms across multiple pages or
22
29
  steps and still be able to gather data in a single serialized object that you
23
30
  will be able to save via an JSON API.
24
31
 
25
- ## Overview
32
+ ## Overview
26
33
 
27
34
  The `@digigov/form` NPM package contains React components and validators. The
28
35
  library uses basic, semantically correct HTML5 input fields.
@@ -1,9 +1,9 @@
1
1
  import React, { Suspense } from 'react';
2
- import FormBuilder from '@digigov/form/FormBuilder';
3
2
  import { Field } from '@digigov/form/Field';
3
+ import FormBuilder from '@digigov/form/FormBuilder';
4
4
  import { FieldSpec } from '@digigov/form/types';
5
- import Button from '@digigov/ui/core/Button';
6
- import { results } from '@digigov/ui/admin/AutoComplete/utils';
5
+ import { results } from '@digigov/ui/form/AutoComplete/utils';
6
+ import Button from '@digigov/ui/form/Button';
7
7
  const fields: FieldSpec[] = [
8
8
  {
9
9
  key: 'autocomplete',
@@ -1,10 +1,10 @@
1
1
  import React, { useCallback } from 'react';
2
- import UIAutoComplete, {
3
- AutoCompleteProps as UIAutoCompleteProps,
4
- } from '@digigov/ui/admin/AutoComplete';
5
- import { FieldOptionProps } from '@digigov/form/inputs/Label';
6
2
  import { ControlledFieldProps } from '@digigov/form/Field/types';
3
+ import { FieldOptionProps } from '@digigov/form/inputs/Label';
7
4
  import { Hint } from '@digigov/react-core';
5
+ import UIAutoComplete, {
6
+ AutoCompleteProps as UIAutoCompleteProps,
7
+ } from '@digigov/ui/form/AutoComplete';
8
8
 
9
9
  export interface AutoCompleteExtra
10
10
  extends Omit<
@@ -2,7 +2,7 @@ import Checkboxes from '@digigov/form/inputs/Checkboxes';
2
2
  export default {
3
3
  title: 'Digigov Form/inputs/Checkboxes',
4
4
  component: Checkboxes,
5
- displayName: 'Checkboxes'
5
+ displayName: 'Checkboxes',
6
6
  };
7
7
  export * from '@digigov/form/inputs/Checkboxes/__stories__/Default';
8
8
  export * from '@digigov/form/inputs/Checkboxes/__stories__/WithDivider';
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import FormBuilder, { Field, FieldSpec } from '@digigov/form';
3
- import { Button } from '@digigov/ui/core';
3
+ import { Button } from '@digigov/ui/form/Button';
4
4
 
5
5
  const fields: FieldSpec[] = [
6
6
  {
@@ -60,7 +60,7 @@ const fields: FieldSpec[] = [
60
60
  {
61
61
  key: 'auth_form',
62
62
  type: 'choice:multiple',
63
- required:true,
63
+ required: true,
64
64
  label: {
65
65
  primary: 'Επιλέξτε μέθοδο πιστοποίησης',
66
66
  secondary:
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import FormBuilder, { Field } from '@digigov/form';
3
- import { Button } from '@digigov/ui/core';
3
+ import { Button } from '@digigov/ui/form/Button';
4
4
 
5
5
  export const Default = () => (
6
6
  <FormBuilder
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import FormBuilder, { Field } from '@digigov/form';
3
- import { Button } from '@digigov/ui/core';
3
+ import { Button } from '@digigov/ui/form/Button';
4
4
 
5
5
  export const WithDivider = () => (
6
6
  <FormBuilder
@@ -27,7 +27,7 @@ export const WithDivider = () => (
27
27
  {
28
28
  label: { primary: 'Αισθάνομαι κούραση' },
29
29
  value: 'fatigue',
30
- divider: 'ή'
30
+ dividerText: 'ή',
31
31
  },
32
32
  ],
33
33
  }}
@@ -1,12 +1,12 @@
1
1
  import React, { useState } from 'react';
2
- import { FieldOptionProps } from '@digigov/form/inputs/Label';
2
+ import { Field } from '@digigov/form';
3
3
  import { ControlledFieldProps } from '@digigov/form/Field/types';
4
- import { useTranslation } from '@digigov/ui/app/i18n';
4
+ import { FieldOptionProps } from '@digigov/form/inputs/Label';
5
+ import { CheckboxConditional } from '@digigov/react-core';
5
6
  import CoreCheckboxes from '@digigov/react-core/Checkbox';
6
7
  import CheckboxItem from '@digigov/react-core/CheckboxItem';
7
8
  import Hint from '@digigov/react-core/Hint';
8
- import { Field } from '@digigov/form';
9
- import { CheckboxConditional } from '@digigov/react-core';
9
+ import { useTranslation } from '@digigov/ui/i18n';
10
10
 
11
11
  export interface CheckboxesProps
12
12
  extends Omit<ControlledFieldProps, 'extra' | 'value'> {
@@ -2,6 +2,6 @@ import DateInput from '@digigov/form/inputs/DateInput';
2
2
  export default {
3
3
  title: 'Digigov Form/inputs/DateInput',
4
4
  component: DateInput,
5
- displayName: 'DateInput'
5
+ displayName: 'DateInput',
6
6
  };
7
7
  export * from '@digigov/form/inputs/DateInput/__stories__/Default';
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import FormBuilder, { Field } from '@digigov/form';
3
- import { Button } from '@digigov/ui/core';
3
+ import { Button } from '@digigov/ui/form/Button';
4
4
 
5
5
  export const Default = () => (
6
6
  <FormBuilder
@@ -1,10 +1,10 @@
1
1
  import React, { useMemo, useState } from 'react';
2
- import { UncontrolledFieldProps } from '@digigov/form/Field/types';
3
2
  import dayjs from 'dayjs';
4
3
  import customParseFormat from 'dayjs/plugin/customParseFormat';
5
- import { useTranslation } from '@digigov/ui/app/i18n';
4
+ import { UncontrolledFieldProps } from '@digigov/form/Field/types';
6
5
  import DateInputContainer from '@digigov/react-core/DateInputContainer';
7
6
  import CoreDateInputItem from '@digigov/react-core/DateInputItem';
7
+ import { useTranslation } from '@digigov/ui/i18n';
8
8
  dayjs.extend(customParseFormat);
9
9
 
10
10
  export interface DateInputProps extends Omit<UncontrolledFieldProps, 'extra'> {
@@ -2,6 +2,6 @@ import FileInput from '@digigov/form/inputs/FileInput';
2
2
  export default {
3
3
  title: 'Digigov Form/inputs/FileInput',
4
4
  component: FileInput,
5
- displayName: 'FileInput'
5
+ displayName: 'FileInput',
6
6
  };
7
7
  export * from '@digigov/form/inputs/FileInput/__stories__/Default';
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import FormBuilder, { Field } from '@digigov/form';
3
- import { Button } from '@digigov/ui/core';
3
+ import { Button } from '@digigov/ui/form/Button';
4
4
 
5
5
  export const Default = () => (
6
6
  <FormBuilder
@@ -1,11 +1,11 @@
1
1
  import React, { useState } from 'react';
2
2
  import { UncontrolledFieldProps } from '@digigov/form/Field/types';
3
- import { useTranslation } from '@digigov/ui/app/i18n';
4
- import Paragraph from '@digigov/ui/typography/Paragraph';
5
- import CoreHint from '@digigov/react-core/Hint';
6
- import Button from '@digigov/ui/core/Button';
7
- import FileUploadContainer from '@digigov/react-core/FileUploadContainer';
8
3
  import FileUpload from '@digigov/react-core/FileUpload';
4
+ import FileUploadContainer from '@digigov/react-core/FileUploadContainer';
5
+ import CoreHint from '@digigov/react-core/Hint';
6
+ import Button from '@digigov/ui/form/Button';
7
+ import { useTranslation } from '@digigov/ui/i18n';
8
+ import Paragraph from '@digigov/ui/typography/Paragraph';
9
9
  export interface FileInputProps extends Omit<UncontrolledFieldProps, 'extra'> {
10
10
  extra?: {
11
11
  className?: string;
@@ -34,7 +34,7 @@ export const FileInput: React.FC<any> = React.forwardRef(function FileInput(
34
34
  };
35
35
  return (
36
36
  <>
37
- <FileUploadContainer hasUploadedFile={files && files.length > 0}>
37
+ <FileUploadContainer hasFiles={files && files.length > 0}>
38
38
  {files?.length ? (
39
39
  <>
40
40
  <Paragraph>
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import FormBuilder, { Field } from '@digigov/form';
3
- import { Button } from '@digigov/ui/core';
3
+ import { Button } from '@digigov/ui/form/Button';
4
4
 
5
5
  export const AFM = () => (
6
6
  <FormBuilder
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import FormBuilder, { Field } from '@digigov/form';
3
- import { Button } from '@digigov/ui/core';
3
+ import { Button } from '@digigov/ui/form/Button';
4
4
 
5
5
  export const Boolean = () => (
6
6
  <FormBuilder
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import FormBuilder, { Field } from '@digigov/form';
3
- import { Button } from '@digigov/ui/core';
3
+ import { Button } from '@digigov/ui/form/Button';
4
4
 
5
5
  export const Default = () => (
6
6
  <FormBuilder
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import FormBuilder, { Field } from '@digigov/form';
3
- import { Button } from '@digigov/ui/core';
3
+ import { Button } from '@digigov/ui/form/Button';
4
4
 
5
5
  export const IBAN = () => (
6
6
  <FormBuilder
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import FormBuilder, { Field } from '@digigov/form';
3
- import { Button } from '@digigov/ui/core';
3
+ import { Button } from '@digigov/ui/form/Button';
4
4
 
5
5
  export const Integer = () => {
6
6
  return (
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import FormBuilder, { Field } from '@digigov/form';
3
- import { Button } from '@digigov/ui/core';
3
+ import { Button } from '@digigov/ui/form/Button';
4
4
 
5
5
  export const MobilePhone = () => (
6
6
  <FormBuilder
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import FormBuilder, { Field } from '@digigov/form';
3
- import { Button } from '@digigov/ui/core';
3
+ import { Button } from '@digigov/ui/form/Button';
4
4
 
5
5
  export const PhoneNumber = () => (
6
6
  <FormBuilder
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import FormBuilder, { Field } from '@digigov/form';
3
- import { Button } from '@digigov/ui/core';
3
+ import { Button } from '@digigov/ui/form/Button';
4
4
 
5
5
  export const PostalCode = () => (
6
6
  <FormBuilder
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import FormBuilder, { Field } from '@digigov/form';
3
- import { Button } from '@digigov/ui/core';
3
+ import { Button } from '@digigov/ui/form';
4
4
 
5
5
  export const TextWithCharacterLimit = () => (
6
6
  <FormBuilder
@@ -4,7 +4,7 @@ import TextArea from '@digigov/react-core/TextArea';
4
4
  import { Hint } from '@digigov/react-core';
5
5
  import { UncontrolledFieldProps } from '@digigov/form/Field/types';
6
6
  import { useWatch } from 'react-hook-form';
7
- import { useTranslation } from '@digigov/ui/app/i18n';
7
+ import { useTranslation } from '@digigov/ui/i18n';
8
8
 
9
9
  const TYPES_MAP = {
10
10
  string: 'text',
@@ -58,8 +58,8 @@ export const Input: React.ExoticComponent<InputProps> = React.forwardRef(
58
58
  {limit?.max && (
59
59
  <Hint>
60
60
  {currentValue === undefined ||
61
- (currentValue?.length >= 0 &&
62
- currentValue?.length <= limit?.max) ? (
61
+ (currentValue?.length >= 0 &&
62
+ currentValue?.length <= limit?.max) ? (
63
63
  <span>
64
64
  {t('form.info.text.you_have')}{' '}
65
65
  <b>
@@ -2,6 +2,6 @@ import Label from '@digigov/form/inputs/Label';
2
2
  export default {
3
3
  title: 'Digigov Form/inputs/Label',
4
4
  component: Label,
5
- displayName: 'Label'
5
+ displayName: 'Label',
6
6
  };
7
7
  export * from '@digigov/form/inputs/Label/__stories__/Default';
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import FormBuilder, { Field, Label } from '@digigov/form';
3
- import { Button } from '@digigov/ui/core';
3
+ import { Button } from '@digigov/ui/form/Button';
4
4
 
5
5
  export const Default = () => (
6
6
  <FormBuilder
@@ -1,8 +1,8 @@
1
1
  import React from 'react';
2
- import LabelTitle from '@digigov/react-core/LabelTitle';
3
- import Hint from '@digigov/react-core/Hint';
4
- import { useTranslation } from '@digigov/ui/app/i18n';
5
2
  import { FieldLabelProps } from '@digigov/form/types';
3
+ import Hint from '@digigov/react-core/Hint';
4
+ import LabelTitle from '@digigov/react-core/LabelTitle';
5
+ import { useTranslation } from '@digigov/ui/i18n';
6
6
 
7
7
  export interface FieldOptionProps {
8
8
  label?: FieldLabelProps;
@@ -31,7 +31,7 @@ export const Label: React.FC<LabelProps> = ({ className, label, value }) => {
31
31
  }
32
32
  return (
33
33
  <>
34
- <LabelTitle className={className} size="s">
34
+ <LabelTitle className={className} size="sm">
35
35
  {(label && label.primary && t(label.primary)) || value}
36
36
  </LabelTitle>
37
37
  {label && label.secondary && <Hint>{t(label.secondary)}</Hint>}
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import FormBuilder, { Field, Fieldset } from '@digigov/form';
3
- import { Button } from '@digigov/ui/core';
4
3
  import { FieldSpec } from '@digigov/form/types';
4
+ import { Button } from '@digigov/ui/form/Button';
5
5
  const FIELDS: FieldSpec[] = [
6
6
  {
7
7
  key: 'otp',
@@ -1,7 +1,7 @@
1
1
  import React, { useState, useCallback } from 'react';
2
- import SingleCharacterInputContainer, {
3
- SingleCharacterInputItem,
4
- } from '@digigov/ui/core/SingleCharacterInputContainer';
2
+ import SingleCharacterInputs, {
3
+ SingleCharacterInput,
4
+ } from '@digigov/ui/form/SingleCharacterInputs';
5
5
 
6
6
  export const RE_DIGIT = new RegExp(/^\d+$/);
7
7
  export const REMOVE_SPACES = new RegExp(/\s+/g);
@@ -83,7 +83,7 @@ function useOtp(onChange, maxLength) {
83
83
  const handleOtpChange = useCallback(
84
84
  (e: React.ChangeEvent<HTMLInputElement>, idx: number) => {
85
85
  const target = e.target;
86
- let targetValue = target.value;
86
+ const targetValue = target.value;
87
87
  const isTargetValueDigit = RE_DIGIT.test(targetValue);
88
88
  // We want to pass the empty string when the value is deleted
89
89
  // emptry string replaces the deleted value
@@ -119,16 +119,16 @@ function useOtp(onChange, maxLength) {
119
119
  };
120
120
  }
121
121
 
122
- const SingleCharacterInputItemPart = ({ ...props }) => {
123
- return <SingleCharacterInputItem {...props} />;
122
+ const SingleCharacterInputPart = ({ ...props }) => {
123
+ return <SingleCharacterInput {...props} />;
124
124
  };
125
125
 
126
126
  export const OtpInput = function OtpInput({ name, maxLength = 6, ...props }) {
127
127
  const otp = useOtp(props.onChange, maxLength);
128
128
  return (
129
- <SingleCharacterInputContainer>
129
+ <SingleCharacterInputs>
130
130
  {otp.otpValues.map((digit, idx) => (
131
- <SingleCharacterInputItemPart
131
+ <SingleCharacterInputPart
132
132
  name={`${name}-${idx}`}
133
133
  type="text"
134
134
  key={idx}
@@ -139,14 +139,18 @@ export const OtpInput = function OtpInput({ name, maxLength = 6, ...props }) {
139
139
  disabled={props.disabled}
140
140
  aria-required={props['aria-required']}
141
141
  onChange={(e) => otp.handleOtpChange(e, idx)}
142
- onInput={(e) => { if (e.target.value === digit) { otp.handleOtpChange(e, idx) } }}
142
+ onInput={(e) => {
143
+ if (e.target.value === digit) {
144
+ otp.handleOtpChange(e, idx);
145
+ }
146
+ }}
143
147
  onKeyDown={(e) => otp.handleKeyDown(e, idx)}
144
148
  onFocus={otp.handleFocus}
145
149
  onPaste={otp.handlePaste}
146
150
  error={!digit ? props.error : false}
147
151
  />
148
152
  ))}
149
- </SingleCharacterInputContainer>
153
+ </SingleCharacterInputs>
150
154
  );
151
155
  };
152
156
 
@@ -2,9 +2,8 @@ import Radio from '@digigov/form/inputs/Radio';
2
2
  export default {
3
3
  title: 'Digigov Form/inputs/Radio',
4
4
  component: Radio,
5
- displayName: 'Radio'
5
+ displayName: 'Radio',
6
6
  };
7
7
  export * from '@digigov/form/inputs/Radio/__stories__/Default';
8
8
  export * from '@digigov/form/inputs/Radio/__stories__/WithDivider';
9
9
  export * from '@digigov/form/inputs/Radio/__stories__/Conditional';
10
-
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import FormBuilder, { Field, FieldSpec } from '@digigov/form';
3
- import { Button } from '@digigov/ui/core';
3
+ import { Button } from '@digigov/ui/form/Button';
4
4
 
5
5
  const fields: FieldSpec[] = [
6
6
  {
@@ -57,7 +57,7 @@ const fields: FieldSpec[] = [
57
57
  {
58
58
  key: 'auth_form',
59
59
  type: 'choice:single',
60
- required:true,
60
+ required: true,
61
61
  label: {
62
62
  primary: 'Επιλέξτε μέθοδο πιστοποίησης',
63
63
  secondary:
@@ -94,4 +94,4 @@ export const Conditional = () => (
94
94
  <Field key="auth_form" name="auth_form" />
95
95
  <Button type="submit">Συνέχεια</Button>
96
96
  </FormBuilder>
97
- );
97
+ );
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import FormBuilder, { Field } from '@digigov/form';
3
- import { Button } from '@digigov/ui/core';
3
+ import { Button } from '@digigov/ui/form/Button';
4
4
 
5
5
  export const Default = () => (
6
6
  <FormBuilder
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import FormBuilder, { Field } from '@digigov/form';
3
- import { Button } from '@digigov/ui/core';
3
+ import { Button } from '@digigov/ui/form/Button';
4
4
 
5
5
  export const WithDivider = () => (
6
6
  <FormBuilder
@@ -31,7 +31,7 @@ export const WithDivider = () => (
31
31
  {
32
32
  label: { primary: 'Ηνωμένες Πολιτείες της Αμερικής' },
33
33
  value: 'usa',
34
- divider:'ή'
34
+ dividerText: 'ή',
35
35
  },
36
36
  ],
37
37
  }}
@@ -1,13 +1,13 @@
1
1
  import React from 'react';
2
- import RadioContainer from '@digigov/react-core/RadioContainer';
3
- import RadioItem from '@digigov/react-core/RadioItem';
4
- import { useTranslation } from '@digigov/ui/app/i18n';
5
- import { FieldOptionProps } from '@digigov/form/inputs/Label';
6
- import { UncontrolledFieldProps } from '@digigov/form/Field/types';
7
2
  import { useWatch } from 'react-hook-form';
8
- import Hint from '@digigov/react-core/Hint';
9
3
  import { Field } from '@digigov/form';
4
+ import { UncontrolledFieldProps } from '@digigov/form/Field/types';
5
+ import { FieldOptionProps } from '@digigov/form/inputs/Label';
10
6
  import { RadioConditional } from '@digigov/react-core';
7
+ import Hint from '@digigov/react-core/Hint';
8
+ import RadioContainer from '@digigov/react-core/RadioContainer';
9
+ import RadioItem from '@digigov/react-core/RadioItem';
10
+ import { useTranslation } from '@digigov/ui/i18n';
11
11
 
12
12
  export interface RadioButtonsGroupProps
13
13
  extends Omit<UncontrolledFieldProps, 'extra'> {
@@ -2,6 +2,6 @@ import Select from '@digigov/form/inputs/Select';
2
2
  export default {
3
3
  title: 'Digigov Form/inputs/Select',
4
4
  component: Select,
5
- displayName: 'Select'
5
+ displayName: 'Select',
6
6
  };
7
7
  export * from '@digigov/form/inputs/Select/__stories__/Default';
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import FormBuilder, { Field } from '@digigov/form';
3
- import { Button } from '@digigov/ui/core';
3
+ import { Button } from '@digigov/ui/form/Button';
4
4
 
5
5
  export const Default = () => (
6
6
  <FormBuilder
@@ -1,8 +1,8 @@
1
1
  import React from 'react';
2
+ import { UncontrolledFieldProps } from '@digigov/form/Field/types';
3
+ import { FieldOptionProps } from '@digigov/form/inputs/Label';
2
4
  import SelectContainer from '@digigov/react-core/SelectContainer';
3
5
  import SelectOption from '@digigov/react-core/SelectOption';
4
- import { FieldOptionProps } from '@digigov/form/inputs/Label';
5
- import { UncontrolledFieldProps } from '@digigov/form/Field/types';
6
6
 
7
7
  export interface SelectProps extends Omit<UncontrolledFieldProps, 'extra'> {
8
8
  extra: {
@@ -7,39 +7,35 @@ sidebar_label: Installation
7
7
  import Tabs from '@theme/Tabs';
8
8
  import TabItem from '@theme/TabItem';
9
9
  import CodeBlock from '@theme/CodeBlock';
10
- import LeadText from "@site/src/components/LeadText";
10
+ import LeadText from '@site/src/components/LeadText';
11
11
 
12
12
  <LeadText>
13
- This page will help you install Digigov Form depending on the framework that you
14
- use and the application architecture.
13
+ This page will help you install Digigov Form depending on the framework that
14
+ you use and the application architecture.
15
15
  </LeadText>
16
16
 
17
17
  We assume that your stack uses some of the following tools.
18
18
 
19
- * React v16 or later
20
- * Nextjs or create-react-app to run your code
21
- * Digigov CSS, as a CSS import or as Tailwind plugin
19
+ - React v16 or later
20
+ - Nextjs or create-react-app to run your code
21
+ - Digigov CSS, as a CSS import or as Tailwind plugin
22
22
 
23
23
  ## Using create-digigov-app
24
24
 
25
25
  We highly recommend using `create-digigov-app`. Our scaffolder was created to save development teams time and effort. This way
26
26
  everything you need is already configured.
27
27
 
28
- If you choose to use our scaffolder tool, make sure you follow this
28
+ If you choose to use our scaffolder tool, make sure you follow this
29
29
  [guide](/docs/building-apps) first, if you haven't already done so.
30
30
 
31
31
  Then you just install the `@digigov/form` package from NPM.
32
32
 
33
33
  <Tabs>
34
34
  <TabItem value="npm" label="NPM" default>
35
- <CodeBlock>
36
- npm install @digigov/form --save
37
- </CodeBlock>
35
+ <CodeBlock>npm install @digigov/form --save</CodeBlock>
38
36
  </TabItem>
39
37
  <TabItem value="yarn" label="Yarn">
40
- <CodeBlock>
41
- yarn add @digigov/form
42
- </CodeBlock>
38
+ <CodeBlock>yarn add @digigov/form</CodeBlock>
43
39
  </TabItem>
44
40
  </Tabs>
45
41
 
@@ -48,9 +44,9 @@ Then you just install the `@digigov/form` package from NPM.
48
44
  This method is not recommended and you should proceed at your own risk. For
49
45
  Digigov Form to work properly, it is essential to do some configuration.
50
46
 
51
- * A working React application, ideally [Nextjs](https://nextjs.org/) or [Create
47
+ - A working React application, ideally [Nextjs](https://nextjs.org/) or [Create
52
48
  React App](https://create-react-app.dev/)
53
- * You should already have [installed and configured Digigov
49
+ - You should already have [installed and configured Digigov
54
50
  CSS](https://guide.services.gov.gr/docs/installation)
55
51
 
56
52
  If you meet these prerequisites, now it is time to install the dependencies.
@@ -69,4 +65,4 @@ and install `@digigov/form` and it's dependencies.
69
65
  yarn add @digigov/form @digigov/ui @digigov/react-core
70
66
  </CodeBlock>
71
67
  </TabItem>
72
- </Tabs>
68
+ </Tabs>
package/src/types.tsx CHANGED
@@ -1,7 +1,7 @@
1
1
  import { UseFormReturn, UseFormProps } from 'react-hook-form';
2
- import { GridProps } from '@digigov/ui/layouts/Grid';
3
- import { ValidatorSchema } from '@digigov/form/validators/types';
4
2
  import { FieldComponentRegistry } from '@digigov/form/Field/types';
3
+ import { ValidatorSchema } from '@digigov/form/validators/types';
4
+ import { GridProps } from '@digigov/ui/layouts/Grid';
5
5
 
6
6
  export type FieldError = {
7
7
  message: string;
@@ -59,6 +59,8 @@ export interface FieldSpec {
59
59
  >;
60
60
  validators?: ValidatorSchema[];
61
61
  wrapper?: 'label' | 'fieldset';
62
+ maxWidth?: string;
63
+ width?: string;
62
64
  }
63
65
 
64
66
  export interface FieldsetSpec {
package/src/utils.ts CHANGED
@@ -1,6 +1,6 @@
1
- import * as Yup from 'yup';
2
1
  import { validateFieldsNatively } from '@hookform/resolvers';
3
2
  import { appendErrors, FieldError } from 'react-hook-form';
3
+ import * as Yup from 'yup';
4
4
 
5
5
  /**
6
6
  * Why `path!` ? because it could be `undefined` in some case