@digigov/form 0.6.9 → 0.7.1

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 (307) hide show
  1. package/CHANGELOG.md +24 -1
  2. package/Field/FieldBase.js +110 -0
  3. package/Field/{ConditionalField.js → FieldConditional.js} +9 -29
  4. package/Field/FieldContainer.js +62 -0
  5. package/Field/index.js +11 -251
  6. package/Field/types.js +5 -0
  7. package/Field/utils.js +146 -0
  8. package/Fieldset/FieldsetWithContext.js +63 -0
  9. package/Fieldset/index.js +4 -63
  10. package/Fieldset/types.js +5 -0
  11. package/FormBuilder.js +178 -0
  12. package/FormContext.js +14 -0
  13. package/Questions/Questions.js +105 -0
  14. package/Questions/QuestionsContext.js +20 -0
  15. package/Questions/Step/ReviewStep.js +11 -7
  16. package/Questions/Step/Step.js +93 -0
  17. package/Questions/Step/StepArrayReview.js +79 -0
  18. package/Questions/Step/StepContext.js +37 -0
  19. package/Questions/Step/StepDescription.js +2 -2
  20. package/Questions/Step/StepForm.js +10 -6
  21. package/Questions/Step/StepTitle.js +2 -2
  22. package/Questions/Step/getAddMoreFields.js +31 -0
  23. package/Questions/Step/index.js +81 -200
  24. package/Questions/Step/types.js +5 -0
  25. package/Questions/__snapshots__/index.spec.tsx.snap +461 -2499
  26. package/Questions/getNextStep.js +30 -0
  27. package/Questions/index.js +4 -150
  28. package/Questions/types.js +5 -0
  29. package/es/Field/FieldBase.js +93 -0
  30. package/es/Field/{ConditionalField.js → FieldConditional.js} +5 -28
  31. package/es/Field/FieldContainer.js +40 -0
  32. package/es/Field/index.js +8 -233
  33. package/es/Field/types.js +1 -0
  34. package/es/Field/utils.js +122 -0
  35. package/es/Fieldset/FieldsetWithContext.js +41 -0
  36. package/es/Fieldset/index.js +3 -51
  37. package/es/Fieldset/types.js +1 -0
  38. package/es/FormBuilder.js +148 -0
  39. package/es/FormContext.js +5 -0
  40. package/es/Questions/Questions.js +84 -0
  41. package/es/Questions/QuestionsContext.js +11 -0
  42. package/es/Questions/Step/ReviewStep.js +5 -3
  43. package/es/Questions/Step/Step.js +69 -0
  44. package/es/Questions/Step/StepArrayReview.js +50 -0
  45. package/es/Questions/Step/StepContext.js +27 -0
  46. package/es/Questions/Step/StepDescription.js +1 -1
  47. package/es/Questions/Step/StepForm.js +4 -2
  48. package/es/Questions/Step/StepTitle.js +1 -1
  49. package/es/Questions/Step/getAddMoreFields.js +22 -0
  50. package/es/Questions/Step/index.js +13 -165
  51. package/es/Questions/Step/types.js +1 -0
  52. package/es/Questions/__snapshots__/index.spec.tsx.snap +461 -2499
  53. package/es/Questions/getNextStep.js +23 -0
  54. package/es/Questions/index.js +2 -119
  55. package/es/Questions/index.spec.js +2 -1
  56. package/es/Questions/types.js +1 -0
  57. package/es/index.js +2 -153
  58. package/es/inputs/index.js +5 -4
  59. package/es/internal.js +31 -0
  60. package/es/types.js +1 -0
  61. package/es/utils.js +5 -3
  62. package/es/validators/index.js +155 -0
  63. package/es/validators/types.js +1 -0
  64. package/es/validators/utils/afm.js +35 -0
  65. package/es/validators/utils/file.js +52 -0
  66. package/es/validators/utils/iban.js +123 -0
  67. package/es/validators/utils/index.js +105 -0
  68. package/es/validators/utils/phone.js +122 -0
  69. package/es/validators/utils/postal_code.js +29 -0
  70. package/es/validators/utils/uuid4.js +20 -0
  71. package/{esm → es/validators}/validators.spec.js +1 -1
  72. package/esm/Field/FieldBase.js +93 -0
  73. package/esm/Field/{ConditionalField.js → FieldConditional.js} +5 -28
  74. package/esm/Field/FieldContainer.js +40 -0
  75. package/esm/Field/index.js +8 -233
  76. package/esm/Field/types.js +1 -0
  77. package/esm/Field/utils.js +122 -0
  78. package/esm/Fieldset/FieldsetWithContext.js +41 -0
  79. package/esm/Fieldset/index.js +3 -51
  80. package/esm/Fieldset/types.js +1 -0
  81. package/esm/FormBuilder.js +148 -0
  82. package/esm/FormContext.js +5 -0
  83. package/esm/Questions/Questions.js +84 -0
  84. package/esm/Questions/QuestionsContext.js +11 -0
  85. package/esm/Questions/Step/ReviewStep.js +5 -3
  86. package/esm/Questions/Step/Step.js +69 -0
  87. package/esm/Questions/Step/StepArrayReview.js +50 -0
  88. package/esm/Questions/Step/StepContext.js +27 -0
  89. package/esm/Questions/Step/StepDescription.js +1 -1
  90. package/esm/Questions/Step/StepForm.js +4 -2
  91. package/esm/Questions/Step/StepTitle.js +1 -1
  92. package/esm/Questions/Step/getAddMoreFields.js +22 -0
  93. package/esm/Questions/Step/index.js +13 -165
  94. package/esm/Questions/Step/types.js +1 -0
  95. package/esm/Questions/__snapshots__/index.spec.tsx.snap +461 -2499
  96. package/esm/Questions/getNextStep.js +23 -0
  97. package/esm/Questions/index.js +2 -119
  98. package/esm/Questions/index.spec.js +2 -1
  99. package/esm/Questions/types.js +1 -0
  100. package/esm/index.js +3 -154
  101. package/esm/inputs/index.js +5 -4
  102. package/esm/internal.js +31 -0
  103. package/esm/types.js +1 -0
  104. package/esm/utils.js +5 -3
  105. package/esm/validators/index.js +155 -0
  106. package/esm/validators/types.js +1 -0
  107. package/esm/validators/utils/afm.js +35 -0
  108. package/esm/validators/utils/file.js +52 -0
  109. package/esm/validators/utils/iban.js +123 -0
  110. package/esm/validators/utils/index.js +105 -0
  111. package/esm/validators/utils/phone.js +122 -0
  112. package/esm/validators/utils/postal_code.js +29 -0
  113. package/esm/validators/utils/uuid4.js +20 -0
  114. package/{es → esm/validators}/validators.spec.js +1 -1
  115. package/index.js +8 -191
  116. package/inputs/index.js +13 -5
  117. package/internal.js +356 -0
  118. package/libs/form/src/Field/FieldBase.d.ts +3 -0
  119. package/libs/form/src/Field/FieldConditional.d.ts +4 -0
  120. package/libs/form/src/Field/FieldContainer.d.ts +4 -0
  121. package/libs/form/src/Field/index.d.ts +1 -62
  122. package/libs/form/src/Field/types.d.ts +75 -0
  123. package/libs/form/src/Field/utils.d.ts +5 -0
  124. package/libs/form/src/Fieldset/FieldsetWithContext.d.ts +4 -0
  125. package/libs/form/src/Fieldset/index.d.ts +2 -12
  126. package/libs/form/src/Fieldset/types.d.ts +6 -0
  127. package/libs/form/src/FormBuilder.d.ts +5 -0
  128. package/libs/form/src/FormContext.d.ts +3 -0
  129. package/libs/form/src/Questions/Questions.d.ts +8 -0
  130. package/libs/form/src/Questions/QuestionsContext.d.ts +3 -0
  131. package/libs/form/src/Questions/Step/ReviewStep.d.ts +1 -0
  132. package/libs/form/src/Questions/Step/Step.d.ts +9 -0
  133. package/libs/form/src/Questions/Step/StepArrayReview.d.ts +4 -0
  134. package/libs/form/src/Questions/Step/StepContext.d.ts +4 -0
  135. package/libs/form/src/Questions/Step/StepForm.d.ts +2 -1
  136. package/libs/form/src/Questions/Step/getAddMoreFields.d.ts +3 -0
  137. package/libs/form/src/Questions/Step/index.d.ts +12 -47
  138. package/libs/form/src/Questions/Step/types.d.ts +31 -0
  139. package/libs/form/src/Questions/getNextStep.d.ts +2 -0
  140. package/libs/form/src/Questions/index.d.ts +1 -28
  141. package/libs/form/src/Questions/types.d.ts +19 -0
  142. package/libs/form/src/index.d.ts +2 -73
  143. package/libs/form/src/inputs/Checkboxes/index.d.ts +1 -1
  144. package/libs/form/src/inputs/DateInput/index.d.ts +1 -2
  145. package/libs/form/src/inputs/FileInput/index.d.ts +1 -1
  146. package/libs/form/src/inputs/Input/index.d.ts +1 -1
  147. package/libs/form/src/inputs/Label/index.d.ts +2 -1
  148. package/libs/form/src/inputs/Radio/index.d.ts +1 -1
  149. package/libs/form/src/inputs/Select/index.d.ts +1 -1
  150. package/libs/form/src/inputs/index.d.ts +4 -3
  151. package/libs/form/src/internal.d.ts +31 -0
  152. package/libs/form/src/types.d.ts +70 -0
  153. package/libs/form/src/validators/index.d.ts +8 -0
  154. package/libs/form/src/validators/types.d.ts +2 -0
  155. package/libs/form/src/validators/utils/afm.d.ts +6 -0
  156. package/libs/form/src/validators/utils/file.d.ts +1 -0
  157. package/libs/form/src/validators/utils/iban.d.ts +2 -0
  158. package/libs/form/src/validators/utils/index.d.ts +12 -0
  159. package/libs/form/src/validators/utils/phone.d.ts +9 -0
  160. package/libs/form/src/validators/utils/postal_code.d.ts +2 -0
  161. package/libs/form/src/validators/utils/uuid4.d.ts +6 -0
  162. package/libs/form/src/{validators.spec.d.ts → validators/validators.spec.d.ts} +0 -0
  163. package/libs/ui/src/core/Accordion/index.d.ts +3 -3
  164. package/libs/ui/src/core/Base/index.d.ts +3 -0
  165. package/libs/ui/src/core/Blockquote/index.d.ts +1 -1
  166. package/libs/ui/src/core/Button/BackButton.d.ts +1 -1
  167. package/libs/ui/src/core/Button/ButtonLink.d.ts +1 -1
  168. package/libs/ui/src/core/Button/index.d.ts +1 -1
  169. package/libs/ui/src/core/Divider/index.d.ts +1 -1
  170. package/libs/ui/src/core/Form/index.d.ts +3 -0
  171. package/libs/ui/src/core/Label/index.d.ts +4 -0
  172. package/libs/ui/src/core/Link/index.d.ts +1 -0
  173. package/libs/ui/src/core/NavList/NavHorizontal.d.ts +3 -0
  174. package/libs/ui/src/core/NavList/NavHorizontalList.d.ts +3 -0
  175. package/libs/ui/src/core/NavList/NavHorizontalListItem.d.ts +3 -0
  176. package/libs/ui/src/core/NavList/NavList.d.ts +1 -14
  177. package/libs/ui/src/core/NavList/NavListBase.d.ts +4 -0
  178. package/libs/ui/src/core/NavList/NavListItem.d.ts +1 -0
  179. package/libs/ui/src/core/NavList/NavListItemBase.d.ts +2 -1
  180. package/libs/ui/src/core/NavList/NavListSubMenu.d.ts +1 -1
  181. package/libs/ui/src/core/NavList/NavVertical.d.ts +3 -0
  182. package/libs/ui/src/core/NavList/NavVerticalItem.d.ts +3 -0
  183. package/libs/ui/src/core/NavList/index.d.ts +5 -0
  184. package/libs/ui/src/core/NavList/types.d.ts +14 -0
  185. package/libs/ui/src/core/SkipLink/index.d.ts +3 -0
  186. package/libs/ui/src/core/SvgIcon/index.d.ts +1 -0
  187. package/libs/ui/src/core/Table/TableFloatingScroll.d.ts +2 -0
  188. package/libs/ui/src/core/Table/index.d.ts +1 -0
  189. package/libs/ui/src/core/index.d.ts +4 -0
  190. package/libs/ui/src/layouts/Grid/index.d.ts +1 -0
  191. package/libs/ui/src/typography/Caption/index.d.ts +3 -2
  192. package/libs/ui/src/typography/Title/index.d.ts +2 -1
  193. package/libs-ui/react-core/src/Accordion/index.d.ts +3 -3
  194. package/libs-ui/react-core/src/AccordionControls/index.d.ts +3 -3
  195. package/libs-ui/react-core/src/AccordionSection/index.d.ts +3 -3
  196. package/libs-ui/react-core/src/AccordionSectionContent/index.d.ts +3 -3
  197. package/libs-ui/react-core/src/AccordionSectionHeader/index.d.ts +3 -3
  198. package/libs-ui/react-core/src/AccordionSectionSummary/index.d.ts +4 -3
  199. package/libs-ui/react-core/src/AccordionSectionSummaryHeading/index.d.ts +3 -3
  200. package/libs-ui/react-core/src/BackLink/index.d.ts +3 -3
  201. package/libs-ui/react-core/src/Base/index.d.ts +43 -0
  202. package/libs-ui/react-core/src/Blockquote/index.d.ts +3 -3
  203. package/libs-ui/react-core/src/Breadcrumbs/index.d.ts +3 -3
  204. package/libs-ui/react-core/src/BreadcrumbsList/index.d.ts +3 -3
  205. package/libs-ui/react-core/src/BreadcrumbsListItem/index.d.ts +3 -3
  206. package/libs-ui/react-core/src/Button/index.d.ts +3 -3
  207. package/libs-ui/react-core/src/ButtonGroup/index.d.ts +3 -3
  208. package/libs-ui/react-core/src/ButtonLink/index.d.ts +3 -3
  209. package/libs-ui/react-core/src/CallToAction/index.d.ts +1 -1
  210. package/libs-ui/react-core/src/Card/index.d.ts +3 -3
  211. package/libs-ui/react-core/src/CardAction/index.d.ts +3 -3
  212. package/libs-ui/react-core/src/CardHeading/index.d.ts +3 -3
  213. package/libs-ui/react-core/src/CardText/index.d.ts +3 -3
  214. package/libs-ui/react-core/src/CheckIcon/index.d.ts +15 -0
  215. package/libs-ui/react-core/src/Checkbox/index.d.ts +3 -3
  216. package/libs-ui/react-core/src/CheckboxItem/index.d.ts +3 -3
  217. package/libs-ui/react-core/src/Confirmation/index.d.ts +3 -3
  218. package/libs-ui/react-core/src/ConfirmationBody/index.d.ts +3 -3
  219. package/libs-ui/react-core/src/ConfirmationTitle/index.d.ts +3 -3
  220. package/libs-ui/react-core/src/DateInput/index.d.ts +3 -3
  221. package/libs-ui/react-core/src/DateInputItem/index.d.ts +3 -3
  222. package/libs-ui/react-core/src/Details/index.d.ts +3 -3
  223. package/libs-ui/react-core/src/DetailsContent/index.d.ts +3 -3
  224. package/libs-ui/react-core/src/DetailsSummary/index.d.ts +3 -3
  225. package/libs-ui/react-core/src/ErrorMessage/index.d.ts +3 -3
  226. package/libs-ui/react-core/src/ErrorSummary/index.d.ts +3 -3
  227. package/libs-ui/react-core/src/Field/index.d.ts +3 -3
  228. package/libs-ui/react-core/src/Fieldset/index.d.ts +3 -3
  229. package/libs-ui/react-core/src/FieldsetLegend/index.d.ts +3 -3
  230. package/libs-ui/react-core/src/FileUpload/index.d.ts +3 -3
  231. package/libs-ui/react-core/src/Form/index.d.ts +11 -0
  232. package/libs-ui/react-core/src/Grid/index.d.ts +3 -3
  233. package/libs-ui/react-core/src/Heading/index.d.ts +3 -3
  234. package/libs-ui/react-core/src/HeadingCaption/index.d.ts +3 -3
  235. package/libs-ui/react-core/src/Hidden/index.d.ts +3 -3
  236. package/libs-ui/react-core/src/Hint/index.d.ts +3 -3
  237. package/libs-ui/react-core/src/Label/index.d.ts +3 -3
  238. package/libs-ui/react-core/src/LabelTitle/index.d.ts +7 -7
  239. package/libs-ui/react-core/src/Link/index.d.ts +3 -3
  240. package/libs-ui/react-core/src/List/index.d.ts +3 -3
  241. package/libs-ui/react-core/src/ListItem/index.d.ts +3 -3
  242. package/libs-ui/react-core/src/NavHorizontal/index.d.ts +16 -0
  243. package/libs-ui/react-core/src/NavHorizontalList/index.d.ts +10 -0
  244. package/libs-ui/react-core/src/NavHorizontalListItem/index.d.ts +18 -0
  245. package/libs-ui/react-core/src/NavVertical/index.d.ts +11 -0
  246. package/libs-ui/react-core/src/NavVerticalItem/index.d.ts +14 -0
  247. package/libs-ui/react-core/src/NormalText/index.d.ts +3 -3
  248. package/libs-ui/react-core/src/NotificationBanner/index.d.ts +3 -3
  249. package/libs-ui/react-core/src/NotificationBannerContent/index.d.ts +3 -3
  250. package/libs-ui/react-core/src/NotificationBannerHeader/index.d.ts +3 -3
  251. package/libs-ui/react-core/src/NotificationBannerHeading/index.d.ts +3 -3
  252. package/libs-ui/react-core/src/NotificationBannerLink/index.d.ts +3 -3
  253. package/libs-ui/react-core/src/Paragraph/index.d.ts +3 -3
  254. package/libs-ui/react-core/src/PhaseBanner/index.d.ts +3 -3
  255. package/libs-ui/react-core/src/PhaseBannerHeaderContainer/index.d.ts +3 -3
  256. package/libs-ui/react-core/src/PhaseBannerTag/index.d.ts +3 -3
  257. package/libs-ui/react-core/src/PhaseBannerText/index.d.ts +3 -3
  258. package/libs-ui/react-core/src/Radio/index.d.ts +3 -3
  259. package/libs-ui/react-core/src/RadioItem/index.d.ts +3 -3
  260. package/libs-ui/react-core/src/SectionBreak/index.d.ts +3 -3
  261. package/libs-ui/react-core/src/Select/index.d.ts +3 -3
  262. package/libs-ui/react-core/src/SelectOption/index.d.ts +3 -3
  263. package/libs-ui/react-core/src/SkipLink/index.d.ts +10 -0
  264. package/libs-ui/react-core/src/SummaryList/index.d.ts +3 -3
  265. package/libs-ui/react-core/src/SummaryListItem/index.d.ts +3 -3
  266. package/libs-ui/react-core/src/SummaryListItemAction/index.d.ts +3 -3
  267. package/libs-ui/react-core/src/SummaryListItemKey/index.d.ts +3 -3
  268. package/libs-ui/react-core/src/SummaryListItemValue/index.d.ts +3 -3
  269. package/libs-ui/react-core/src/SvgIcon/index.d.ts +3 -3
  270. package/libs-ui/react-core/src/Table/index.d.ts +3 -3
  271. package/libs-ui/react-core/src/TableBody/index.d.ts +3 -3
  272. package/libs-ui/react-core/src/TableCaption/index.d.ts +3 -3
  273. package/libs-ui/react-core/src/TableContainer/index.d.ts +3 -3
  274. package/libs-ui/react-core/src/TableDataCell/index.d.ts +3 -3
  275. package/libs-ui/react-core/src/TableHead/index.d.ts +3 -3
  276. package/libs-ui/react-core/src/TableHeadCell/index.d.ts +3 -3
  277. package/libs-ui/react-core/src/TableNoDataRow/index.d.ts +3 -3
  278. package/libs-ui/react-core/src/TableRow/index.d.ts +3 -3
  279. package/libs-ui/react-core/src/Tabs/index.d.ts +3 -3
  280. package/libs-ui/react-core/src/TabsHeading/index.d.ts +3 -3
  281. package/libs-ui/react-core/src/TabsList/index.d.ts +3 -3
  282. package/libs-ui/react-core/src/TabsListItem/index.d.ts +3 -3
  283. package/libs-ui/react-core/src/TabsPanel/index.d.ts +3 -3
  284. package/libs-ui/react-core/src/TextArea/index.d.ts +3 -3
  285. package/libs-ui/react-core/src/TextInput/index.d.ts +3 -3
  286. package/libs-ui/react-core/src/UncheckIcon/index.d.ts +4 -4
  287. package/libs-ui/react-core/src/VisuallyHidden/index.d.ts +3 -3
  288. package/libs-ui/react-core/src/WarningText/index.d.ts +3 -3
  289. package/package.json +3 -2
  290. package/types.js +5 -0
  291. package/utils.js +6 -4
  292. package/validators/index.js +181 -0
  293. package/validators/types.js +5 -0
  294. package/validators/utils/afm.js +45 -0
  295. package/validators/utils/file.js +62 -0
  296. package/validators/utils/iban.js +134 -0
  297. package/validators/utils/index.js +210 -0
  298. package/validators/utils/phone.js +144 -0
  299. package/validators/utils/postal_code.js +40 -0
  300. package/validators/utils/uuid4.js +30 -0
  301. package/validators/validators.spec.js +88 -0
  302. package/es/validators.js +0 -626
  303. package/esm/validators.js +0 -626
  304. package/libs/form/src/Field/ConditionalField.d.ts +0 -17
  305. package/libs/form/src/validators.d.ts +0 -14
  306. package/validators.js +0 -662
  307. package/validators.spec.js +0 -88
@@ -2,8 +2,10 @@ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProper
2
2
  var _excluded = ["children", "submitButton"],
3
3
  _excluded2 = ["name", "submitStep"];
4
4
  import React, { useContext } from 'react';
5
- import { StepContext } from '@digigov/form/Questions/Step';
6
- import FormBuilder, { Fieldset, Field } from '@digigov/form';
5
+ import { StepContext } from '@digigov/form/Questions/Step/StepContext';
6
+ import FormBuilder from '@digigov/form/FormBuilder';
7
+ import Fieldset from '@digigov/form/Fieldset';
8
+ import Field from '@digigov/form/Field';
7
9
  import Button from '@digigov/ui/core/Button';
8
10
  import { useTranslation } from '@digigov/ui/app/i18n';
9
11
 
@@ -1,5 +1,5 @@
1
1
  import React, { useContext } from 'react';
2
- import { StepContext } from '@digigov/form/Questions/Step';
2
+ import { StepContext } from '@digigov/form/Questions/Step/StepContext';
3
3
  import PageTitle, { PageTitleHeading, PageTitleSection, PageTitleCaption } from '@digigov/ui/app/PageTitle';
4
4
  import BackButton from '@digigov/ui/core/Button/BackButton';
5
5
  import { useTranslation } from '@digigov/ui/app/i18n';
@@ -0,0 +1,22 @@
1
+ export var getAddMoreFields = function getAddMoreFields(currentStep) {
2
+ var _currentStep$review, _currentStep$review2;
3
+
4
+ return [{
5
+ key: 'addMore',
6
+ type: 'choice:single',
7
+ required: true,
8
+ extra: {
9
+ options: [{
10
+ label: ((_currentStep$review = currentStep.review) === null || _currentStep$review === void 0 ? void 0 : _currentStep$review.addMore.answers.positive) || {
11
+ primary: 'Yes'
12
+ },
13
+ value: 'yes'
14
+ }, {
15
+ label: ((_currentStep$review2 = currentStep.review) === null || _currentStep$review2 === void 0 ? void 0 : _currentStep$review2.addMore.answers.negative) || {
16
+ primary: 'No'
17
+ },
18
+ value: 'no'
19
+ }]
20
+ }
21
+ }];
22
+ };
@@ -1,165 +1,13 @@
1
- import _extends from "@babel/runtime/helpers/extends";
2
- import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
3
- import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
4
-
5
- /* eslint-disable @typescript-eslint/no-explicit-any */
6
- import React, { createContext, useContext, useState } from 'react';
7
- import { QuestionsContext } from '@digigov/form/Questions/';
8
- import PageTitle, { PageTitleHeading } from '@digigov/ui/app/PageTitle';
9
- import Button from '@digigov/ui/core/Button';
10
- import FormBuilder, { Fieldset, Field } from '@digigov/form';
11
- import Label from '@digigov/form/inputs/Label';
12
- import { SummaryList, SummaryListItem, SummaryListItemKey, SummaryListItemValue, SummaryListItemAction } from '@digigov/ui/core/SummaryList';
13
- import { useTranslation } from '@digigov/ui/app/i18n';
14
- export var StepContext = /*#__PURE__*/createContext({
15
- name: '',
16
- fields: [],
17
- initial: [],
18
- errorLabels: [],
19
- submitStep: '',
20
- review: {
21
- title: '',
22
- primaryFieldKey: '',
23
- addMore: {
24
- title: {
25
- primary: ''
26
- },
27
- answers: {
28
- positive: {
29
- primary: 'Yes'
30
- },
31
- negative: {
32
- primary: 'No'
33
- }
34
- }
35
- }
36
- },
37
- type: 'object'
38
- });
39
- /**
40
- * The Step component accepts Step data as props
41
- * uses composable components to provide a wholesome UX
42
- *
43
- */
44
-
45
- export var Step = function Step(props) {
46
- // or return all Questions and currentStepName
47
- // or return a specific Step object
48
- var _useContext = useContext(QuestionsContext),
49
- currentStep = _useContext.currentStep,
50
- submitStep = _useContext.submitStep,
51
- data = _useContext.data;
52
-
53
- var _useState = useState([]),
54
- _useState2 = _slicedToArray(_useState, 2),
55
- stepData = _useState2[0],
56
- setStepData = _useState2[1];
57
-
58
- var _useState3 = useState(false),
59
- _useState4 = _slicedToArray(_useState3, 2),
60
- reviewActive = _useState4[0],
61
- setReviewActive = _useState4[1];
62
-
63
- var handleArraySubmit = function handleArraySubmit(_name, data) {
64
- setStepData([].concat(_toConsumableArray(stepData), [data]));
65
- setReviewActive(true);
66
- };
67
-
68
- var handleArrayDeleteItem = function handleArrayDeleteItem(deleteIndex) {
69
- var nextStepData = stepData.filter(function (_item, stepIndex) {
70
- return stepIndex !== deleteIndex;
71
- });
72
- setStepData(nextStepData);
73
-
74
- if (nextStepData.length === 0) {
75
- setReviewActive(false);
76
- }
77
- };
78
-
79
- var handleArrayReviewStep = function handleArrayReviewStep(data) {
80
- if (data.addMore === 'yes') {
81
- setReviewActive(false);
82
- } else if (data.addMore === 'no') {
83
- submitStep(currentStep.name, stepData);
84
- }
85
- };
86
-
87
- if (!currentStep || props.name !== currentStep.name) return null; // then provide the currentStep object
88
-
89
- return /*#__PURE__*/React.createElement(StepContext.Provider, {
90
- value: _extends({}, currentStep, {
91
- submitStep: currentStep.type === 'array' ? handleArraySubmit : submitStep,
92
- initial: data[props.name]
93
- })
94
- }, reviewActive ? /*#__PURE__*/React.createElement(StepArrayReview, {
95
- array: stepData,
96
- handleSubmit: handleArrayReviewStep,
97
- handleDelete: handleArrayDeleteItem
98
- }) : props.children);
99
- };
100
- export var getAddMoreFields = function getAddMoreFields(currentStep) {
101
- var _currentStep$review, _currentStep$review2;
102
-
103
- return [{
104
- key: 'addMore',
105
- type: 'choice:single',
106
- required: true,
107
- extra: {
108
- options: [{
109
- label: ((_currentStep$review = currentStep.review) === null || _currentStep$review === void 0 ? void 0 : _currentStep$review.addMore.answers.positive) || {
110
- primary: 'Yes'
111
- },
112
- value: 'yes'
113
- }, {
114
- label: ((_currentStep$review2 = currentStep.review) === null || _currentStep$review2 === void 0 ? void 0 : _currentStep$review2.addMore.answers.negative) || {
115
- primary: 'No'
116
- },
117
- value: 'no'
118
- }]
119
- }
120
- }];
121
- };
122
- export var StepArrayReview = function StepArrayReview(props) {
123
- var _currentStep$review4, _currentStep$review5, _currentStep$review6;
124
-
125
- var _useTranslation = useTranslation(),
126
- t = _useTranslation.t;
127
-
128
- var _useContext2 = useContext(QuestionsContext),
129
- currentStep = _useContext2.currentStep;
130
-
131
- var fields = getAddMoreFields(currentStep);
132
- var primaryField = currentStep.fields.find(function (field) {
133
- var _currentStep$review3;
134
-
135
- return field.key === ((_currentStep$review3 = currentStep.review) === null || _currentStep$review3 === void 0 ? void 0 : _currentStep$review3.primaryFieldKey);
136
- }) || {};
137
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(PageTitle, null, /*#__PURE__*/React.createElement(PageTitleHeading, null, ((_currentStep$review4 = currentStep.review) === null || _currentStep$review4 === void 0 ? void 0 : _currentStep$review4.title) && t((_currentStep$review5 = currentStep.review) === null || _currentStep$review5 === void 0 ? void 0 : _currentStep$review5.title))), /*#__PURE__*/React.createElement(SummaryList, null, props.array.map(function (item, idx) {
138
- return /*#__PURE__*/React.createElement(SummaryListItem, {
139
- key: idx
140
- }, /*#__PURE__*/React.createElement(SummaryListItemKey, null, t(primaryField.label.primary)), /*#__PURE__*/React.createElement(SummaryListItemValue, null, item[primaryField.key]), /*#__PURE__*/React.createElement(SummaryListItemAction, {
141
- onClick: function onClick() {
142
- return props.handleDelete(idx);
143
- }
144
- }, t('button.delete')));
145
- })), /*#__PURE__*/React.createElement(FormBuilder, {
146
- key: "addmore",
147
- fields: fields,
148
- onSubmit: props.handleSubmit
149
- }, /*#__PURE__*/React.createElement(Fieldset, null, /*#__PURE__*/React.createElement(Label, {
150
- label: (_currentStep$review6 = currentStep.review) === null || _currentStep$review6 === void 0 ? void 0 : _currentStep$review6.addMore.title
151
- }), fields.map(function (field) {
152
- return /*#__PURE__*/React.createElement(Field, {
153
- key: field.key,
154
- name: field.key
155
- });
156
- })), /*#__PURE__*/React.createElement(Button, {
157
- type: "submit"
158
- }, t('button.submit'))));
159
- };
160
- export default Step;
161
- export * from '@digigov/form/Questions/Step/StepDescription';
162
- export * from '@digigov/form/Questions/Step/StepForm';
163
- export * from '@digigov/form/Questions/Step/StepQuote';
164
- export * from '@digigov/form/Questions/Step/StepTitle';
165
- export * from '@digigov/form/Questions/Step/ReviewStep';
1
+ export * from '@digigov/form/Questions/Step/ReviewStep';
2
+ export * from '@digigov/form/Questions/Step/Step';
3
+ export * from '@digigov/form/Questions/Step/StepArrayReview';
4
+ export * from '@digigov/form/Questions/Step/StepContext';
5
+ export { default as StepDescription } from '@digigov/form/Questions/Step/StepDescription';
6
+ export { default as StepForm } from '@digigov/form/Questions/Step/StepForm';
7
+ export { default as StepQuote } from '@digigov/form/Questions/Step/StepQuote';
8
+ export { default as StepTitle } from '@digigov/form/Questions/Step/StepTitle';
9
+ export * from '@digigov/form/Questions/Step/getAddMoreFields';
10
+ export * from '@digigov/form/Questions/Step/';
11
+ export * from '@digigov/form/Questions/Step/types';
12
+ import Step from '@digigov/form/Questions/Step/Step';
13
+ export default Step;
@@ -0,0 +1 @@
1
+ export {};