@digigov/form 0.6.7 → 0.6.10

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 (252) hide show
  1. package/CHANGELOG.md +22 -1
  2. package/Field/index.js +129 -39
  3. package/Field/types.js +5 -0
  4. package/Fieldset/FieldsetWithContext.js +63 -0
  5. package/Fieldset/index.js +5 -64
  6. package/Fieldset/types.js +5 -0
  7. package/FormBuilder.js +178 -0
  8. package/FormContext.js +14 -0
  9. package/Questions/Questions.js +105 -0
  10. package/Questions/QuestionsContext.js +20 -0
  11. package/Questions/Step/ReviewStep.js +11 -7
  12. package/Questions/Step/Step.js +93 -0
  13. package/Questions/Step/StepArrayReview.js +79 -0
  14. package/Questions/Step/StepContext.js +37 -0
  15. package/Questions/Step/StepDescription.js +2 -2
  16. package/Questions/Step/StepForm.js +10 -6
  17. package/Questions/Step/StepTitle.js +2 -2
  18. package/Questions/Step/getAddMoreFields.js +31 -0
  19. package/Questions/Step/index.js +81 -200
  20. package/Questions/Step/types.js +5 -0
  21. package/Questions/getNextStep.js +30 -0
  22. package/Questions/index.js +4 -150
  23. package/Questions/types.js +5 -0
  24. package/es/Field/index.js +124 -35
  25. package/es/Field/types.js +1 -0
  26. package/es/Fieldset/FieldsetWithContext.js +41 -0
  27. package/es/Fieldset/index.js +4 -52
  28. package/es/Fieldset/types.js +1 -0
  29. package/es/FormBuilder.js +148 -0
  30. package/es/FormContext.js +5 -0
  31. package/es/Questions/Questions.js +84 -0
  32. package/es/Questions/QuestionsContext.js +11 -0
  33. package/es/Questions/Step/ReviewStep.js +5 -3
  34. package/es/Questions/Step/Step.js +69 -0
  35. package/es/Questions/Step/StepArrayReview.js +50 -0
  36. package/es/Questions/Step/StepContext.js +27 -0
  37. package/es/Questions/Step/StepDescription.js +1 -1
  38. package/es/Questions/Step/StepForm.js +4 -2
  39. package/es/Questions/Step/StepTitle.js +1 -1
  40. package/es/Questions/Step/getAddMoreFields.js +22 -0
  41. package/es/Questions/Step/index.js +13 -165
  42. package/es/Questions/Step/types.js +1 -0
  43. package/es/Questions/getNextStep.js +23 -0
  44. package/es/Questions/index.js +2 -119
  45. package/es/Questions/index.spec.js +2 -1
  46. package/es/Questions/types.js +1 -0
  47. package/es/index.js +2 -153
  48. package/es/inputs/Checkboxes/index.js +12 -2
  49. package/es/inputs/DateInput/index.js +6 -3
  50. package/es/inputs/FileInput/index.js +10 -3
  51. package/es/inputs/Input/index.js +7 -2
  52. package/es/inputs/Radio/index.js +12 -3
  53. package/es/inputs/Select/index.js +10 -3
  54. package/es/inputs/index.js +5 -4
  55. package/es/internal.js +29 -0
  56. package/es/types.js +1 -0
  57. package/esm/Field/index.js +124 -35
  58. package/esm/Field/types.js +1 -0
  59. package/esm/Fieldset/FieldsetWithContext.js +41 -0
  60. package/esm/Fieldset/index.js +4 -52
  61. package/esm/Fieldset/types.js +1 -0
  62. package/esm/FormBuilder.js +148 -0
  63. package/esm/FormContext.js +5 -0
  64. package/esm/Questions/Questions.js +84 -0
  65. package/esm/Questions/QuestionsContext.js +11 -0
  66. package/esm/Questions/Step/ReviewStep.js +5 -3
  67. package/esm/Questions/Step/Step.js +69 -0
  68. package/esm/Questions/Step/StepArrayReview.js +50 -0
  69. package/esm/Questions/Step/StepContext.js +27 -0
  70. package/esm/Questions/Step/StepDescription.js +1 -1
  71. package/esm/Questions/Step/StepForm.js +4 -2
  72. package/esm/Questions/Step/StepTitle.js +1 -1
  73. package/esm/Questions/Step/getAddMoreFields.js +22 -0
  74. package/esm/Questions/Step/index.js +13 -165
  75. package/esm/Questions/Step/types.js +1 -0
  76. package/esm/Questions/getNextStep.js +23 -0
  77. package/esm/Questions/index.js +2 -119
  78. package/esm/Questions/index.spec.js +2 -1
  79. package/esm/Questions/types.js +1 -0
  80. package/esm/index.js +3 -154
  81. package/esm/inputs/Checkboxes/index.js +12 -2
  82. package/esm/inputs/DateInput/index.js +6 -3
  83. package/esm/inputs/FileInput/index.js +10 -3
  84. package/esm/inputs/Input/index.js +7 -2
  85. package/esm/inputs/Radio/index.js +12 -3
  86. package/esm/inputs/Select/index.js +10 -3
  87. package/esm/inputs/index.js +5 -4
  88. package/esm/internal.js +29 -0
  89. package/esm/types.js +1 -0
  90. package/index.js +8 -191
  91. package/inputs/Checkboxes/index.js +13 -2
  92. package/inputs/DateInput/index.js +6 -3
  93. package/inputs/FileInput/index.js +13 -3
  94. package/inputs/Input/index.js +7 -2
  95. package/inputs/Radio/index.js +14 -3
  96. package/inputs/Select/index.js +12 -3
  97. package/inputs/index.js +13 -5
  98. package/internal.js +335 -0
  99. package/libs/form/src/Field/index.d.ts +2 -59
  100. package/libs/form/src/Field/types.d.ts +75 -0
  101. package/libs/form/src/Fieldset/FieldsetWithContext.d.ts +4 -0
  102. package/libs/form/src/Fieldset/index.d.ts +2 -12
  103. package/libs/form/src/Fieldset/types.d.ts +6 -0
  104. package/libs/form/src/FormBuilder.d.ts +5 -0
  105. package/libs/form/src/FormContext.d.ts +3 -0
  106. package/libs/form/src/Questions/Questions.d.ts +8 -0
  107. package/libs/form/src/Questions/QuestionsContext.d.ts +3 -0
  108. package/libs/form/src/Questions/Step/ReviewStep.d.ts +1 -0
  109. package/libs/form/src/Questions/Step/Step.d.ts +9 -0
  110. package/libs/form/src/Questions/Step/StepArrayReview.d.ts +4 -0
  111. package/libs/form/src/Questions/Step/StepContext.d.ts +4 -0
  112. package/libs/form/src/Questions/Step/StepForm.d.ts +2 -1
  113. package/libs/form/src/Questions/Step/getAddMoreFields.d.ts +3 -0
  114. package/libs/form/src/Questions/Step/index.d.ts +12 -47
  115. package/libs/form/src/Questions/Step/types.d.ts +31 -0
  116. package/libs/form/src/Questions/getNextStep.d.ts +2 -0
  117. package/libs/form/src/Questions/index.d.ts +1 -28
  118. package/libs/form/src/Questions/types.d.ts +19 -0
  119. package/libs/form/src/index.d.ts +2 -73
  120. package/libs/form/src/inputs/Checkboxes/index.d.ts +1 -1
  121. package/libs/form/src/inputs/DateInput/index.d.ts +1 -1
  122. package/libs/form/src/inputs/FileInput/index.d.ts +1 -1
  123. package/libs/form/src/inputs/Input/index.d.ts +1 -1
  124. package/libs/form/src/inputs/Label/index.d.ts +2 -1
  125. package/libs/form/src/inputs/Radio/index.d.ts +1 -1
  126. package/libs/form/src/inputs/Select/index.d.ts +1 -1
  127. package/libs/form/src/inputs/index.d.ts +4 -3
  128. package/libs/form/src/internal.d.ts +29 -0
  129. package/libs/form/src/types.d.ts +69 -0
  130. package/libs/form/src/validators.d.ts +1 -1
  131. package/libs/ui/src/core/Accordion/index.d.ts +3 -3
  132. package/libs/ui/src/core/BackLink/index.d.ts +3 -0
  133. package/libs/ui/src/core/Blockquote/index.d.ts +1 -1
  134. package/libs/ui/src/core/Breadcrumbs/index.d.ts +2 -0
  135. package/libs/ui/src/core/Button/BackButton.d.ts +1 -1
  136. package/libs/ui/src/core/Button/ButtonLink.d.ts +1 -1
  137. package/libs/ui/src/core/Button/index.d.ts +1 -1
  138. package/libs/ui/src/core/Confirmation/index.d.ts +5 -0
  139. package/libs/ui/src/core/Divider/index.d.ts +1 -1
  140. package/libs/ui/src/core/NavList/NavList.d.ts +1 -14
  141. package/libs/ui/src/core/NavList/NavListBase.d.ts +4 -0
  142. package/libs/ui/src/core/NavList/NavListItem.d.ts +1 -1
  143. package/libs/ui/src/core/NavList/NavListItemBase.d.ts +1 -1
  144. package/libs/ui/src/core/NavList/NavListSubMenu.d.ts +1 -1
  145. package/libs/ui/src/core/NavList/types.d.ts +13 -0
  146. package/libs/ui/src/core/NotificationBanner/index.d.ts +1 -1
  147. package/libs/ui/src/core/PhaseBanner/index.d.ts +6 -0
  148. package/libs/ui/src/core/Table/TableFloatingScroll.d.ts +3 -0
  149. package/libs/ui/src/core/Table/index.d.ts +1 -0
  150. package/libs/ui/src/core/TextArea/index.d.ts +3 -0
  151. package/libs/ui/src/core/TextInput/index.d.ts +3 -0
  152. package/libs/ui/src/core/VisuallyHidden/index.d.ts +2 -0
  153. package/libs/ui/src/core/index.d.ts +8 -2
  154. package/libs/ui/src/hooks/useTogglableSections.d.ts +3 -2
  155. package/libs/ui/src/layouts/Grid/index.d.ts +4 -0
  156. package/libs/ui/src/locales/el.d.ts +1 -0
  157. package/libs/ui/src/typography/{Caption.d.ts → Caption/index.d.ts} +1 -1
  158. package/libs/ui/src/typography/{NormalText.d.ts → NormalText/index.d.ts} +0 -0
  159. package/libs/ui/src/typography/{Paragraph.d.ts → Paragraph/index.d.ts} +0 -0
  160. package/libs/ui/src/typography/{Title.d.ts → Title/index.d.ts} +0 -0
  161. package/libs-ui/react-core/src/Accordion/index.d.ts +1 -1
  162. package/libs-ui/react-core/src/AccordionControls/index.d.ts +1 -1
  163. package/libs-ui/react-core/src/AccordionSection/index.d.ts +1 -1
  164. package/libs-ui/react-core/src/AccordionSectionContent/index.d.ts +1 -1
  165. package/libs-ui/react-core/src/AccordionSectionHeader/index.d.ts +1 -1
  166. package/libs-ui/react-core/src/AccordionSectionSummary/index.d.ts +1 -1
  167. package/libs-ui/react-core/src/AccordionSectionSummaryHeading/index.d.ts +1 -1
  168. package/libs-ui/react-core/src/BackLink/index.d.ts +1 -1
  169. package/libs-ui/react-core/src/Blockquote/index.d.ts +1 -1
  170. package/libs-ui/react-core/src/Breadcrumbs/index.d.ts +1 -1
  171. package/libs-ui/react-core/src/BreadcrumbsList/index.d.ts +1 -1
  172. package/libs-ui/react-core/src/BreadcrumbsListItem/index.d.ts +1 -1
  173. package/libs-ui/react-core/src/Button/index.d.ts +1 -1
  174. package/libs-ui/react-core/src/ButtonGroup/index.d.ts +1 -1
  175. package/libs-ui/react-core/src/ButtonLink/index.d.ts +1 -1
  176. package/libs-ui/react-core/src/CallToAction/index.d.ts +1 -1
  177. package/libs-ui/react-core/src/Card/index.d.ts +1 -1
  178. package/libs-ui/react-core/src/CardAction/index.d.ts +1 -1
  179. package/libs-ui/react-core/src/CardHeading/index.d.ts +1 -1
  180. package/libs-ui/react-core/src/CardText/index.d.ts +1 -1
  181. package/libs-ui/react-core/src/Checkbox/index.d.ts +1 -1
  182. package/libs-ui/react-core/src/CheckboxItem/index.d.ts +1 -1
  183. package/libs-ui/react-core/src/Confirmation/index.d.ts +9 -0
  184. package/libs-ui/react-core/src/ConfirmationBody/index.d.ts +9 -0
  185. package/libs-ui/react-core/src/ConfirmationTitle/index.d.ts +9 -0
  186. package/libs-ui/react-core/src/DateInput/index.d.ts +1 -1
  187. package/libs-ui/react-core/src/DateInputItem/index.d.ts +1 -1
  188. package/libs-ui/react-core/src/Details/index.d.ts +1 -1
  189. package/libs-ui/react-core/src/DetailsContent/index.d.ts +1 -1
  190. package/libs-ui/react-core/src/DetailsSummary/index.d.ts +1 -1
  191. package/libs-ui/react-core/src/ErrorMessage/index.d.ts +1 -1
  192. package/libs-ui/react-core/src/ErrorSummary/index.d.ts +1 -1
  193. package/libs-ui/react-core/src/Field/index.d.ts +1 -1
  194. package/libs-ui/react-core/src/Fieldset/index.d.ts +1 -1
  195. package/libs-ui/react-core/src/FieldsetLegend/index.d.ts +1 -1
  196. package/libs-ui/react-core/src/FileUpload/index.d.ts +1 -1
  197. package/libs-ui/react-core/src/Grid/index.d.ts +20 -0
  198. package/libs-ui/react-core/src/Heading/index.d.ts +1 -1
  199. package/libs-ui/react-core/src/HeadingCaption/index.d.ts +1 -1
  200. package/libs-ui/react-core/src/Hidden/index.d.ts +1 -1
  201. package/libs-ui/react-core/src/Hint/index.d.ts +1 -1
  202. package/libs-ui/react-core/src/Label/index.d.ts +1 -1
  203. package/libs-ui/react-core/src/LabelTitle/index.d.ts +1 -1
  204. package/libs-ui/react-core/src/Link/index.d.ts +1 -1
  205. package/libs-ui/react-core/src/List/index.d.ts +1 -1
  206. package/libs-ui/react-core/src/ListItem/index.d.ts +1 -1
  207. package/libs-ui/react-core/src/NormalText/index.d.ts +1 -1
  208. package/libs-ui/react-core/src/NotificationBanner/index.d.ts +1 -1
  209. package/libs-ui/react-core/src/NotificationBannerContent/index.d.ts +1 -1
  210. package/libs-ui/react-core/src/NotificationBannerHeader/index.d.ts +1 -1
  211. package/libs-ui/react-core/src/NotificationBannerHeading/index.d.ts +1 -1
  212. package/libs-ui/react-core/src/NotificationBannerLink/index.d.ts +1 -1
  213. package/libs-ui/react-core/src/Paragraph/index.d.ts +1 -1
  214. package/libs-ui/react-core/src/PhaseBanner/index.d.ts +1 -1
  215. package/libs-ui/react-core/src/PhaseBannerHeaderContainer/index.d.ts +8 -0
  216. package/libs-ui/react-core/src/PhaseBannerTag/index.d.ts +1 -1
  217. package/libs-ui/react-core/src/PhaseBannerText/index.d.ts +1 -1
  218. package/libs-ui/react-core/src/Radio/index.d.ts +5 -1
  219. package/libs-ui/react-core/src/RadioItem/index.d.ts +1 -1
  220. package/libs-ui/react-core/src/SectionBreak/index.d.ts +1 -1
  221. package/libs-ui/react-core/src/Select/index.d.ts +1 -1
  222. package/libs-ui/react-core/src/SelectOption/index.d.ts +1 -1
  223. package/libs-ui/react-core/src/SummaryList/index.d.ts +7 -1
  224. package/libs-ui/react-core/src/SummaryListItem/index.d.ts +1 -1
  225. package/libs-ui/react-core/src/SummaryListItemAction/index.d.ts +1 -1
  226. package/libs-ui/react-core/src/SummaryListItemKey/index.d.ts +1 -1
  227. package/libs-ui/react-core/src/SummaryListItemValue/index.d.ts +1 -1
  228. package/libs-ui/react-core/src/SvgIcon/index.d.ts +1 -1
  229. package/libs-ui/react-core/src/Table/index.d.ts +1 -1
  230. package/libs-ui/react-core/src/TableBody/index.d.ts +1 -1
  231. package/libs-ui/react-core/src/TableCaption/index.d.ts +1 -1
  232. package/libs-ui/react-core/src/TableContainer/index.d.ts +1 -1
  233. package/libs-ui/react-core/src/TableDataCell/index.d.ts +1 -1
  234. package/libs-ui/react-core/src/TableHead/index.d.ts +1 -1
  235. package/libs-ui/react-core/src/TableHeadCell/index.d.ts +1 -1
  236. package/libs-ui/react-core/src/TableNoDataRow/index.d.ts +1 -1
  237. package/libs-ui/react-core/src/TableRow/index.d.ts +1 -1
  238. package/libs-ui/react-core/src/Tabs/index.d.ts +1 -1
  239. package/libs-ui/react-core/src/TabsHeading/index.d.ts +1 -1
  240. package/libs-ui/react-core/src/TabsList/index.d.ts +1 -1
  241. package/libs-ui/react-core/src/TabsListItem/index.d.ts +1 -1
  242. package/libs-ui/react-core/src/TabsPanel/index.d.ts +1 -1
  243. package/libs-ui/react-core/src/TextArea/index.d.ts +1 -1
  244. package/libs-ui/react-core/src/TextInput/index.d.ts +1 -1
  245. package/libs-ui/react-core/src/VisuallyHidden/index.d.ts +1 -1
  246. package/libs-ui/react-core/src/WarningText/index.d.ts +1 -1
  247. package/package.json +2 -4
  248. package/types.js +5 -0
  249. package/Field/ConditionalField.js +0 -92
  250. package/es/Field/ConditionalField.js +0 -77
  251. package/esm/Field/ConditionalField.js +0 -77
  252. package/libs/form/src/Field/ConditionalField.d.ts +0 -17
package/CHANGELOG.md CHANGED
@@ -1,6 +1,27 @@
1
1
  # Change Log - @digigov/form
2
2
 
3
- This log was last generated on Wed, 08 Jun 2022 12:26:07 GMT and should not be manually modified.
3
+ This log was last generated on Thu, 07 Jul 2022 13:01:18 GMT and should not be manually modified.
4
+
5
+ ## 0.6.10
6
+ Thu, 07 Jul 2022 13:01:18 GMT
7
+
8
+ ### Patches
9
+
10
+ - refactor code to resolve circular dependencies
11
+
12
+ ## 0.6.9
13
+ Thu, 23 Jun 2022 11:49:45 GMT
14
+
15
+ ### Patches
16
+
17
+ - change material ui Grid with digigov ui Grid
18
+
19
+ ## 0.6.8
20
+ Tue, 14 Jun 2022 14:49:36 GMT
21
+
22
+ ### Patches
23
+
24
+ - add aria-required and aria-describedby in Field components, add id to ErrorMessage component, add and destructure props in CheckBoxes FileInput Input Radio and Select components",
4
25
 
5
26
  ## 0.6.7
6
27
  Wed, 08 Jun 2022 12:26:07 GMT
package/Field/index.js CHANGED
@@ -7,19 +7,17 @@ var _typeof = require("@babel/runtime/helpers/typeof");
7
7
  Object.defineProperty(exports, "__esModule", {
8
8
  value: true
9
9
  });
10
- exports["default"] = exports.FieldBase = exports.Field = void 0;
11
-
12
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
+ exports["default"] = exports.FieldBase = exports.Field = exports.ConditionalField = void 0;
13
11
 
14
12
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
15
13
 
16
- var _react = _interopRequireWildcard(require("react"));
14
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
17
15
 
18
- var _ConditionalField = require("@digigov/form/Field/ConditionalField");
16
+ var _react = _interopRequireWildcard(require("react"));
19
17
 
20
18
  var _reactHookForm = require("react-hook-form");
21
19
 
22
- var _form = require("@digigov/form");
20
+ var _FormContext = require("@digigov/form/FormContext");
23
21
 
24
22
  var _Field = _interopRequireDefault(require("@digigov/react-core/Field"));
25
23
 
@@ -49,13 +47,88 @@ var _Label2 = _interopRequireDefault(require("@digigov/form/inputs/Label"));
49
47
 
50
48
  var _i18n = require("@digigov/ui/app/i18n");
51
49
 
52
- var _excluded = ["name", "component", "wrapper", "control", "type", "controlled", "enabled", "editable", "defaultValue", "label", "extra", "layout", "error", "register"],
50
+ var _excluded = ["required", "name", "component", "wrapper", "control", "type", "controlled", "enabled", "editable", "defaultValue", "label", "extra", "layout", "error", "register"],
53
51
  _excluded2 = ["name", "children"];
54
52
 
55
53
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
56
54
 
57
55
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
58
56
 
57
+ function evaluateFieldWithConditions(field, variables) {
58
+ var newField = (0, _extends2["default"])({}, field);
59
+
60
+ if (variables) {
61
+ for (var key in variables) {
62
+ if (field.condition[key] && field.condition[key].is === variables[key]) {
63
+ var then = field.condition[key].then || {};
64
+
65
+ for (var attr in then) {
66
+ newField[attr] = then[attr];
67
+ }
68
+ } else if (field.condition[key]) {
69
+ var otherwise = field.condition[key]["else"] || {};
70
+
71
+ for (var _attr in otherwise) {
72
+ newField[_attr] = otherwise[_attr];
73
+ }
74
+ }
75
+ }
76
+ }
77
+
78
+ return newField;
79
+ }
80
+
81
+ var ChildFieldMemo = /*#__PURE__*/_react["default"].memo(function ChildField(_ref) {
82
+ var dependencies = _ref.dependencies,
83
+ field = _ref.field,
84
+ control = _ref.control,
85
+ register = _ref.register,
86
+ error = _ref.error;
87
+ var newField = evaluateFieldWithConditions(field, dependencies);
88
+ return /*#__PURE__*/_react["default"].createElement(FieldBase, (0, _extends2["default"])({}, newField, {
89
+ name: newField.key,
90
+ control: control,
91
+ register: register,
92
+ error: error
93
+ }));
94
+ }, function (prev, next) {
95
+ if (!prev || !prev.dependencies) {
96
+ return false;
97
+ }
98
+
99
+ if (prev.error !== next.error) {
100
+ return false;
101
+ }
102
+
103
+ for (var dep in next.dependencies) {
104
+ if (next.dependencies[dep] !== prev.dependencies[dep]) {
105
+ return false;
106
+ }
107
+ }
108
+
109
+ return true;
110
+ });
111
+
112
+ var ConditionalField = function ConditionalField(_ref2) {
113
+ var control = _ref2.control,
114
+ field = _ref2.field,
115
+ register = _ref2.register,
116
+ error = _ref2.error;
117
+ var dependencyKeys = Object.keys(field.condition);
118
+ var variables = (0, _reactHookForm.useWatch)({
119
+ name: dependencyKeys,
120
+ control: control
121
+ });
122
+ return /*#__PURE__*/_react["default"].createElement(ChildFieldMemo, {
123
+ dependencies: variables,
124
+ field: field,
125
+ control: control,
126
+ register: register,
127
+ error: error
128
+ });
129
+ };
130
+
131
+ exports.ConditionalField = ConditionalField;
59
132
  var FIELD_COMPONENTS = {
60
133
  text: {
61
134
  component: _Input["default"]
@@ -90,11 +163,12 @@ var ALTERNATIVE_COMPONENTS = {
90
163
  }
91
164
  };
92
165
 
93
- var FieldContainer = function FieldContainer(_ref) {
94
- var wrapper = _ref.wrapper,
95
- label = _ref.label,
96
- children = _ref.children,
97
- error = _ref.error;
166
+ var FieldContainer = function FieldContainer(_ref3) {
167
+ var name = _ref3.name,
168
+ wrapper = _ref3.wrapper,
169
+ label = _ref3.label,
170
+ children = _ref3.children,
171
+ error = _ref3.error;
98
172
 
99
173
  var _useTranslation = (0, _i18n.useTranslation)(),
100
174
  t = _useTranslation.t;
@@ -104,18 +178,23 @@ var FieldContainer = function FieldContainer(_ref) {
104
178
  error: !!error
105
179
  }, /*#__PURE__*/_react["default"].createElement(_Fieldset["default"], null, /*#__PURE__*/_react["default"].createElement(_FieldsetLegend["default"], {
106
180
  size: "s"
107
- }, label && label.primary, label && label.secondary && /*#__PURE__*/_react["default"].createElement(_Hint["default"], null, t(label.secondary)), error && /*#__PURE__*/_react["default"].createElement(_ErrorMessage["default"], null, t((error === null || error === void 0 ? void 0 : error.message) || ''))), children));
181
+ }, label && label.primary, label && label.secondary && /*#__PURE__*/_react["default"].createElement(_Hint["default"], null, t(label.secondary)), error && /*#__PURE__*/_react["default"].createElement(_ErrorMessage["default"], {
182
+ id: "".concat(name, "-error")
183
+ }, t((error === null || error === void 0 ? void 0 : error.message) || ''))), children));
108
184
  } else {
109
185
  return /*#__PURE__*/_react["default"].createElement(_Field["default"], {
110
186
  error: !!error
111
187
  }, /*#__PURE__*/_react["default"].createElement(_Label["default"], null, label && /*#__PURE__*/_react["default"].createElement(_Label2["default"], {
112
188
  label: label
113
- }), error && /*#__PURE__*/_react["default"].createElement(_ErrorMessage["default"], null, t((error === null || error === void 0 ? void 0 : error.message) || '')), children));
189
+ }), error && /*#__PURE__*/_react["default"].createElement(_ErrorMessage["default"], {
190
+ id: "".concat(name, "-error")
191
+ }, t((error === null || error === void 0 ? void 0 : error.message) || '')), children));
114
192
  }
115
193
  };
116
194
 
117
195
  var FieldBase = function FieldBase(props) {
118
- var name = props.name,
196
+ var required = props.required,
197
+ name = props.name,
119
198
  Component = props.component,
120
199
  wrapper = props.wrapper,
121
200
  control = props.control,
@@ -143,14 +222,15 @@ var FieldBase = function FieldBase(props) {
143
222
  label: label,
144
223
  layout: layout,
145
224
  error: error,
146
- wrapper: wrapper
225
+ wrapper: wrapper,
226
+ name: name
147
227
  }, /*#__PURE__*/_react["default"].createElement(_reactHookForm.Controller, {
148
228
  control: control,
149
229
  name: name,
150
- render: function render(_ref2) {
151
- var onChange = _ref2.onChange,
152
- onBlur = _ref2.onBlur,
153
- value = _ref2.value;
230
+ render: function render(_ref4) {
231
+ var onChange = _ref4.onChange,
232
+ onBlur = _ref4.onBlur,
233
+ value = _ref4.value;
154
234
  return /*#__PURE__*/_react["default"].createElement(Component, (0, _extends2["default"])({
155
235
  name: name,
156
236
  onChange: onChange,
@@ -160,6 +240,9 @@ var FieldBase = function FieldBase(props) {
160
240
  extra: extra,
161
241
  error: !!error,
162
242
  type: type,
243
+ "aria-required": !!required,
244
+ "aria-describedby": error && "".concat(name, "-error"),
245
+ required: required,
163
246
  disabled: editable === false
164
247
  }, componentProps));
165
248
  }
@@ -170,7 +253,8 @@ var FieldBase = function FieldBase(props) {
170
253
  label: label,
171
254
  layout: layout,
172
255
  error: error,
173
- wrapper: wrapper
256
+ wrapper: wrapper,
257
+ name: name
174
258
  }, Component !== null && Component !== void 0 && Component.render ? /*#__PURE__*/_react["default"].createElement(Component, (0, _extends2["default"])({
175
259
  name: name,
176
260
  ref: register,
@@ -178,6 +262,9 @@ var FieldBase = function FieldBase(props) {
178
262
  error: !!error,
179
263
  extra: extra,
180
264
  type: type,
265
+ "aria-required": !!required,
266
+ "aria-describedby": error && "".concat(name, "-error"),
267
+ required: required,
181
268
  disabled: editable === false
182
269
  }, componentProps)) : /*#__PURE__*/_react["default"].createElement(Component, (0, _extends2["default"])({
183
270
  name: name,
@@ -186,6 +273,9 @@ var FieldBase = function FieldBase(props) {
186
273
  error: !!error,
187
274
  extra: extra,
188
275
  type: type,
276
+ "aria-required": !!required,
277
+ "aria-describedby": error && "".concat(name, "-error"),
278
+ required: required,
189
279
  disabled: editable === false
190
280
  }, componentProps)));
191
281
  };
@@ -193,7 +283,7 @@ var FieldBase = function FieldBase(props) {
193
283
  exports.FieldBase = FieldBase;
194
284
 
195
285
  var useField = function useField(name, customField) {
196
- var _useContext = (0, _react.useContext)(_form.FormContext),
286
+ var _useContext = (0, _react.useContext)(_FormContext.FormContext),
197
287
  fieldsMap = _useContext.fieldsMap,
198
288
  control = _useContext.control,
199
289
  register = _useContext.register,
@@ -219,41 +309,41 @@ function calculateField(children, field, componentRegistry) {
219
309
  var _field$extra;
220
310
 
221
311
  var calculatedField = (0, _extends2["default"])({}, field);
222
- var FieldComponentRegistry = (0, _extends2["default"])({}, FIELD_COMPONENTS, componentRegistry);
312
+ var fieldComponentRegistry = (0, _extends2["default"])({}, FIELD_COMPONENTS, componentRegistry);
223
313
 
224
314
  if (children) {
225
315
  calculatedField.component = children;
226
316
  } else if (typeof field.component === 'function') {// leave as is
227
317
  } else if (!field.component && !field.type) {
228
- var _FieldComponentRegist;
318
+ var _fieldComponentRegist;
229
319
 
230
- calculatedField.component = FieldComponentRegistry.string.component;
231
- calculatedField.controlled = ((_FieldComponentRegist = FieldComponentRegistry.string) === null || _FieldComponentRegist === void 0 ? void 0 : _FieldComponentRegist.controlled) || false;
320
+ calculatedField.component = fieldComponentRegistry.string.component;
321
+ calculatedField.controlled = ((_fieldComponentRegist = fieldComponentRegistry.string) === null || _fieldComponentRegist === void 0 ? void 0 : _fieldComponentRegist.controlled) || false;
232
322
  } else if (typeof (field === null || field === void 0 ? void 0 : (_field$extra = field.extra) === null || _field$extra === void 0 ? void 0 : _field$extra.component) === 'string' && ALTERNATIVE_COMPONENTS[field.extra.component]) {
233
323
  var _ALTERNATIVE_COMPONEN;
234
324
 
235
325
  calculatedField.controlled = ((_ALTERNATIVE_COMPONEN = ALTERNATIVE_COMPONENTS[field.extra.component]) === null || _ALTERNATIVE_COMPONEN === void 0 ? void 0 : _ALTERNATIVE_COMPONEN.controlled) || false;
236
326
  calculatedField.component = ALTERNATIVE_COMPONENTS[field.extra.component].component;
237
- } else if (!field.component && field.type && FieldComponentRegistry[field.type]) {
238
- var _FieldComponentRegist2;
327
+ } else if (!field.component && field.type && fieldComponentRegistry[field.type]) {
328
+ var _fieldComponentRegist2;
239
329
 
240
- calculatedField.component = FieldComponentRegistry[field.type].component;
241
- calculatedField.wrapper = FieldComponentRegistry[field.type].wrapper;
242
- calculatedField.controlled = ((_FieldComponentRegist2 = FieldComponentRegistry[field.type]) === null || _FieldComponentRegist2 === void 0 ? void 0 : _FieldComponentRegist2.controlled) || false;
330
+ calculatedField.component = fieldComponentRegistry[field.type].component;
331
+ calculatedField.wrapper = fieldComponentRegistry[field.type].wrapper;
332
+ calculatedField.controlled = ((_fieldComponentRegist2 = fieldComponentRegistry[field.type]) === null || _fieldComponentRegist2 === void 0 ? void 0 : _fieldComponentRegist2.controlled) || false;
243
333
  } else {
244
- var _FieldComponentRegist3;
334
+ var _fieldComponentRegist3;
245
335
 
246
- calculatedField.component = FieldComponentRegistry.string.component;
247
- calculatedField.controlled = ((_FieldComponentRegist3 = FieldComponentRegistry.string) === null || _FieldComponentRegist3 === void 0 ? void 0 : _FieldComponentRegist3.controlled) || false;
336
+ calculatedField.component = fieldComponentRegistry.string.component;
337
+ calculatedField.controlled = ((_fieldComponentRegist3 = fieldComponentRegistry.string) === null || _fieldComponentRegist3 === void 0 ? void 0 : _fieldComponentRegist3.controlled) || false;
248
338
  }
249
339
 
250
340
  return calculatedField;
251
341
  }
252
342
 
253
- var Field = function Field(_ref3) {
254
- var name = _ref3.name,
255
- children = _ref3.children,
256
- customField = (0, _objectWithoutProperties2["default"])(_ref3, _excluded2);
343
+ var Field = function Field(_ref5) {
344
+ var name = _ref5.name,
345
+ children = _ref5.children,
346
+ customField = (0, _objectWithoutProperties2["default"])(_ref5, _excluded2);
257
347
 
258
348
  var _useField = useField(name, customField !== null && customField !== void 0 && customField.type ? customField : null),
259
349
  field = _useField.field,
@@ -267,7 +357,7 @@ var Field = function Field(_ref3) {
267
357
  }, [field]);
268
358
 
269
359
  if (calculatedField.condition) {
270
- return /*#__PURE__*/_react["default"].createElement(_ConditionalField.ConditionalField, {
360
+ return /*#__PURE__*/_react["default"].createElement(ConditionalField, {
271
361
  control: control,
272
362
  register: register,
273
363
  field: calculatedField,
package/Field/types.js ADDED
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.FieldsetWithContext = void 0;
11
+
12
+ var _react = _interopRequireWildcard(require("react"));
13
+
14
+ var _FormContext = require("@digigov/form/FormContext");
15
+
16
+ var _Field = _interopRequireDefault(require("@digigov/form/Field"));
17
+
18
+ var _i18n = require("@digigov/ui/app/i18n");
19
+
20
+ var _Fieldset = require("@digigov/form/Fieldset/");
21
+
22
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
23
+
24
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
25
+
26
+ var FieldsetWithContext = function FieldsetWithContext(_ref) {
27
+ var name = _ref.name;
28
+
29
+ var _useFieldset = useFieldset(name),
30
+ label = _useFieldset.label,
31
+ body = _useFieldset.body,
32
+ fields = _useFieldset.fields;
33
+
34
+ var _useTranslation = (0, _i18n.useTranslation)(),
35
+ t = _useTranslation.t;
36
+
37
+ var _ref2 = /*#__PURE__*/_react["default"].createElement(_Fieldset.FieldsetBody, null, body);
38
+
39
+ return (0, _react.useMemo)(function () {
40
+ return /*#__PURE__*/_react["default"].createElement(_Fieldset.Fieldset, null, (label === null || label === void 0 ? void 0 : label.primary) && /*#__PURE__*/_react["default"].createElement(_Fieldset.FieldsetLabel, null, t(label.primary)), (label === null || label === void 0 ? void 0 : label.secondary) && /*#__PURE__*/_react["default"].createElement(_Fieldset.FieldsetCaption, null, t(label.secondary)), body && _ref2, fields.map(function (field) {
41
+ return /*#__PURE__*/_react["default"].createElement(_Field["default"], {
42
+ key: field,
43
+ name: field
44
+ });
45
+ }));
46
+ }, [label === null || label === void 0 ? void 0 : label.primary, label === null || label === void 0 ? void 0 : label.secondary, body, fields]);
47
+ };
48
+
49
+ exports.FieldsetWithContext = FieldsetWithContext;
50
+
51
+ var useFieldset = function useFieldset(name) {
52
+ var _useContext = (0, _react.useContext)(_FormContext.FormContext),
53
+ fieldsetsMap = _useContext.fieldsetsMap;
54
+
55
+ if (fieldsetsMap && fieldsetsMap[name]) {
56
+ return (0, _react.useMemo)(function () {
57
+ return fieldsetsMap[name];
58
+ }, [name]);
59
+ } else {
60
+ if (!fieldsetsMap) throw new Error("Fieldsets is not defined");
61
+ throw new Error("No fieldset with name ".concat(name, " found"));
62
+ }
63
+ };
package/Fieldset/index.js CHANGED
@@ -2,16 +2,14 @@
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
- var _typeof = require("@babel/runtime/helpers/typeof");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
- exports["default"] = exports.FieldsetWithContext = exports.FieldsetLabel = exports.FieldsetCaption = exports.FieldsetBody = exports.Fieldset = void 0;
8
+ exports["default"] = exports.FieldsetLabel = exports.FieldsetCaption = exports.FieldsetBody = exports.Fieldset = void 0;
11
9
 
12
- var _react = _interopRequireWildcard(require("react"));
10
+ var _react = _interopRequireDefault(require("react"));
13
11
 
14
- var _Grid = _interopRequireDefault(require("@material-ui/core/Grid"));
12
+ var _Grid = _interopRequireDefault(require("@digigov/ui/layouts/Grid"));
15
13
 
16
14
  var _Fieldset = _interopRequireDefault(require("@digigov/react-core/Fieldset"));
17
15
 
@@ -19,18 +17,8 @@ var _FieldsetLegend = _interopRequireDefault(require("@digigov/react-core/Fields
19
17
 
20
18
  var _Hint = _interopRequireDefault(require("@digigov/react-core/Hint"));
21
19
 
22
- var _form = require("@digigov/form");
23
-
24
- var _Field = _interopRequireDefault(require("@digigov/form/Field"));
25
-
26
20
  var _NormalText = _interopRequireDefault(require("@digigov/ui/typography/NormalText"));
27
21
 
28
- var _i18n = require("@digigov/ui/app/i18n");
29
-
30
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
31
-
32
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
33
-
34
22
  var FieldsetLabel = function FieldsetLabel(_ref) {
35
23
  var children = _ref.children;
36
24
  return /*#__PURE__*/_react["default"].createElement(_FieldsetLegend["default"], {
@@ -58,55 +46,8 @@ var FieldsetBody = function FieldsetBody(_ref3) {
58
46
 
59
47
  exports.FieldsetBody = FieldsetBody;
60
48
 
61
- var useFieldset = function useFieldset(name) {
62
- var _useContext = (0, _react.useContext)(_form.FormContext),
63
- fieldsetsMap = _useContext.fieldsetsMap;
64
-
65
- if (fieldsetsMap && fieldsetsMap[name]) {
66
- return (0, _react.useMemo)(function () {
67
- return fieldsetsMap[name];
68
- }, [name]);
69
- } else {
70
- if (!fieldsetsMap) throw new Error("Fieldsets is not defined");
71
- throw new Error("No fieldset with name ".concat(name, " found"));
72
- }
73
- };
74
-
75
- var FieldsetWithContext = function FieldsetWithContext(_ref4) {
76
- var name = _ref4.name;
77
-
78
- var _useFieldset = useFieldset(name),
79
- label = _useFieldset.label,
80
- body = _useFieldset.body,
81
- fields = _useFieldset.fields;
82
-
83
- var _useTranslation = (0, _i18n.useTranslation)(),
84
- t = _useTranslation.t;
85
-
86
- var _ref5 = /*#__PURE__*/_react["default"].createElement(FieldsetBody, null, body);
87
-
88
- return (0, _react.useMemo)(function () {
89
- return /*#__PURE__*/_react["default"].createElement(Fieldset, null, (label === null || label === void 0 ? void 0 : label.primary) && /*#__PURE__*/_react["default"].createElement(FieldsetLabel, null, t(label.primary)), (label === null || label === void 0 ? void 0 : label.secondary) && /*#__PURE__*/_react["default"].createElement(FieldsetCaption, null, t(label.secondary)), body && _ref5, fields.map(function (field) {
90
- return /*#__PURE__*/_react["default"].createElement(_Field["default"], {
91
- key: field,
92
- name: field
93
- });
94
- }));
95
- }, [label === null || label === void 0 ? void 0 : label.primary, label === null || label === void 0 ? void 0 : label.secondary, body, fields]);
96
- };
97
-
98
- exports.FieldsetWithContext = FieldsetWithContext;
99
-
100
- var Fieldset = function Fieldset(_ref6) {
101
- var name = _ref6.name,
102
- children = _ref6.children;
103
-
104
- if (name && !children) {
105
- return /*#__PURE__*/_react["default"].createElement(FieldsetWithContext, {
106
- name: name
107
- });
108
- }
109
-
49
+ var Fieldset = function Fieldset(_ref4) {
50
+ var children = _ref4.children;
110
51
  return /*#__PURE__*/_react["default"].createElement(_Fieldset["default"], null, children);
111
52
  };
112
53
 
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });