@digigov/form 0.6.10 → 0.7.0

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 (108) hide show
  1. package/CHANGELOG.md +12 -1
  2. package/Field/FieldBase.js +110 -0
  3. package/Field/FieldConditional.js +72 -0
  4. package/Field/FieldContainer.js +62 -0
  5. package/Field/index.js +15 -328
  6. package/Field/utils.js +146 -0
  7. package/FormBuilder.js +12 -12
  8. package/Questions/__snapshots__/index.spec.tsx.snap +461 -2499
  9. package/es/Field/FieldBase.js +93 -0
  10. package/es/Field/FieldConditional.js +54 -0
  11. package/es/Field/FieldContainer.js +40 -0
  12. package/es/Field/index.js +11 -308
  13. package/es/Field/utils.js +122 -0
  14. package/es/FormBuilder.js +11 -11
  15. package/es/Questions/__snapshots__/index.spec.tsx.snap +461 -2499
  16. package/es/internal.js +2 -0
  17. package/es/utils.js +5 -3
  18. package/es/validators/index.js +155 -0
  19. package/es/validators/types.js +1 -0
  20. package/es/validators/utils/afm.js +35 -0
  21. package/es/validators/utils/file.js +52 -0
  22. package/es/validators/utils/iban.js +123 -0
  23. package/es/validators/utils/index.js +105 -0
  24. package/es/validators/utils/phone.js +122 -0
  25. package/es/validators/utils/postal_code.js +29 -0
  26. package/es/validators/utils/uuid4.js +20 -0
  27. package/es/{validators.spec.js → validators/validators.spec.js} +1 -1
  28. package/esm/Field/FieldBase.js +93 -0
  29. package/esm/Field/FieldConditional.js +54 -0
  30. package/esm/Field/FieldContainer.js +40 -0
  31. package/esm/Field/index.js +11 -308
  32. package/esm/Field/utils.js +122 -0
  33. package/esm/FormBuilder.js +11 -11
  34. package/esm/Questions/__snapshots__/index.spec.tsx.snap +461 -2499
  35. package/esm/index.js +1 -1
  36. package/esm/internal.js +2 -0
  37. package/esm/utils.js +5 -3
  38. package/esm/validators/index.js +155 -0
  39. package/esm/validators/types.js +1 -0
  40. package/esm/validators/utils/afm.js +35 -0
  41. package/esm/validators/utils/file.js +52 -0
  42. package/esm/validators/utils/iban.js +123 -0
  43. package/esm/validators/utils/index.js +105 -0
  44. package/esm/validators/utils/phone.js +122 -0
  45. package/esm/validators/utils/postal_code.js +29 -0
  46. package/esm/validators/utils/uuid4.js +20 -0
  47. package/esm/{validators.spec.js → validators/validators.spec.js} +1 -1
  48. package/internal.js +21 -0
  49. package/libs/form/src/Field/FieldBase.d.ts +3 -0
  50. package/libs/form/src/Field/FieldConditional.d.ts +4 -0
  51. package/libs/form/src/Field/FieldContainer.d.ts +4 -0
  52. package/libs/form/src/Field/index.d.ts +1 -3
  53. package/libs/form/src/Field/types.d.ts +2 -2
  54. package/libs/form/src/Field/utils.d.ts +5 -0
  55. package/libs/form/src/FormContext.d.ts +2 -2
  56. package/libs/form/src/internal.d.ts +2 -0
  57. package/libs/form/src/types.d.ts +3 -2
  58. package/libs/form/src/validators/index.d.ts +8 -0
  59. package/libs/form/src/validators/types.d.ts +2 -0
  60. package/libs/form/src/validators/utils/afm.d.ts +6 -0
  61. package/libs/form/src/validators/utils/file.d.ts +1 -0
  62. package/libs/form/src/validators/utils/iban.d.ts +2 -0
  63. package/libs/form/src/validators/utils/index.d.ts +12 -0
  64. package/libs/form/src/validators/utils/phone.d.ts +9 -0
  65. package/libs/form/src/validators/utils/postal_code.d.ts +2 -0
  66. package/libs/form/src/validators/utils/uuid4.d.ts +6 -0
  67. package/libs/form/src/{validators.spec.d.ts → validators/validators.spec.d.ts} +0 -0
  68. package/libs/ui/src/core/Button/BackButton.d.ts +1 -1
  69. package/libs/ui/src/core/Button/ButtonLink.d.ts +1 -1
  70. package/libs/ui/src/core/Button/index.d.ts +1 -1
  71. package/libs/ui/src/core/NavList/NavListItem.d.ts +1 -0
  72. package/libs/ui/src/core/NavList/NavListItemBase.d.ts +1 -0
  73. package/libs/ui/src/core/NavList/types.d.ts +1 -0
  74. package/libs-ui/react-core/src/AccordionSectionSummary/index.d.ts +2 -1
  75. package/libs-ui/react-core/src/BackLink/index.d.ts +1 -1
  76. package/libs-ui/react-core/src/Button/index.d.ts +1 -1
  77. package/libs-ui/react-core/src/ButtonLink/index.d.ts +1 -1
  78. package/libs-ui/react-core/src/CallToAction/index.d.ts +1 -1
  79. package/libs-ui/react-core/src/CheckboxItem/index.d.ts +1 -1
  80. package/libs-ui/react-core/src/DateInputItem/index.d.ts +1 -1
  81. package/libs-ui/react-core/src/Field/index.d.ts +3 -3
  82. package/libs-ui/react-core/src/FileUpload/index.d.ts +1 -1
  83. package/libs-ui/react-core/src/Form/index.d.ts +11 -0
  84. package/libs-ui/react-core/src/Link/index.d.ts +1 -1
  85. package/libs-ui/react-core/src/NotificationBannerLink/index.d.ts +1 -1
  86. package/libs-ui/react-core/src/RadioItem/index.d.ts +1 -1
  87. package/libs-ui/react-core/src/Select/index.d.ts +1 -1
  88. package/libs-ui/react-core/src/SvgIcon/index.d.ts +1 -1
  89. package/libs-ui/react-core/src/TabsListItem/index.d.ts +1 -1
  90. package/libs-ui/react-core/src/TextArea/index.d.ts +1 -1
  91. package/libs-ui/react-core/src/TextInput/index.d.ts +1 -1
  92. package/package.json +3 -2
  93. package/utils.js +6 -4
  94. package/validators/index.js +181 -0
  95. package/validators/types.js +5 -0
  96. package/validators/utils/afm.js +45 -0
  97. package/validators/utils/file.js +62 -0
  98. package/validators/utils/iban.js +134 -0
  99. package/validators/utils/index.js +210 -0
  100. package/validators/utils/phone.js +144 -0
  101. package/validators/utils/postal_code.js +40 -0
  102. package/validators/utils/uuid4.js +30 -0
  103. package/validators/validators.spec.js +88 -0
  104. package/es/validators.js +0 -626
  105. package/esm/validators.js +0 -626
  106. package/libs/form/src/validators.d.ts +0 -14
  107. package/validators.js +0 -662
  108. package/validators.spec.js +0 -88
package/CHANGELOG.md CHANGED
@@ -1,6 +1,17 @@
1
1
  # Change Log - @digigov/form
2
2
 
3
- This log was last generated on Thu, 07 Jul 2022 13:01:18 GMT and should not be manually modified.
3
+ This log was last generated on Tue, 26 Jul 2022 07:39:59 GMT and should not be manually modified.
4
+
5
+ ## 0.7.0
6
+ Tue, 26 Jul 2022 07:39:59 GMT
7
+
8
+ ### Minor changes
9
+
10
+ - Refactor code and file structure
11
+
12
+ ### Patches
13
+
14
+ - Integrate @digigov/react-core/Grid in Field component and spec
4
15
 
5
16
  ## 0.6.10
6
17
  Thu, 07 Jul 2022 13:01:18 GMT
@@ -0,0 +1,110 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.FieldBase = void 0;
9
+
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+
12
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
13
+
14
+ var _react = _interopRequireDefault(require("react"));
15
+
16
+ var _FieldContainer = _interopRequireDefault(require("@digigov/form/Field/FieldContainer"));
17
+
18
+ var _reactHookForm = require("react-hook-form");
19
+
20
+ var _excluded = ["required", "name", "component", "wrapper", "control", "type", "controlled", "enabled", "editable", "defaultValue", "label", "extra", "layout", "error", "register"];
21
+
22
+ var FieldBase = function FieldBase(props) {
23
+ var required = props.required,
24
+ name = props.name,
25
+ Component = props.component,
26
+ wrapper = props.wrapper,
27
+ control = props.control,
28
+ type = props.type,
29
+ _props$controlled = props.controlled,
30
+ controlled = _props$controlled === void 0 ? false : _props$controlled,
31
+ _props$enabled = props.enabled,
32
+ enabled = _props$enabled === void 0 ? true : _props$enabled,
33
+ editable = props.editable,
34
+ defaultValue = props.defaultValue,
35
+ label = props.label,
36
+ _props$extra = props.extra,
37
+ extra = _props$extra === void 0 ? {} : _props$extra,
38
+ layout = props.layout,
39
+ error = props.error,
40
+ register = props.register,
41
+ componentProps = (0, _objectWithoutProperties2["default"])(props, _excluded);
42
+
43
+ if (!enabled) {
44
+ return null;
45
+ }
46
+
47
+ if (controlled) {
48
+ return /*#__PURE__*/_react["default"].createElement(_FieldContainer["default"], {
49
+ label: label,
50
+ layout: layout,
51
+ error: error,
52
+ wrapper: wrapper,
53
+ name: name
54
+ }, /*#__PURE__*/_react["default"].createElement(_reactHookForm.Controller, {
55
+ control: control,
56
+ name: name,
57
+ render: function render(_ref) {
58
+ var onChange = _ref.onChange,
59
+ onBlur = _ref.onBlur,
60
+ value = _ref.value;
61
+ return /*#__PURE__*/_react["default"].createElement(Component, (0, _extends2["default"])({
62
+ name: name,
63
+ onChange: onChange,
64
+ onBlur: onBlur,
65
+ value: value,
66
+ defaultValue: defaultValue,
67
+ extra: extra,
68
+ error: !!error,
69
+ type: type,
70
+ "aria-required": !!required,
71
+ "aria-describedby": error && "".concat(name, "-error"),
72
+ required: required,
73
+ disabled: editable === false
74
+ }, componentProps));
75
+ }
76
+ }));
77
+ }
78
+
79
+ return /*#__PURE__*/_react["default"].createElement(_FieldContainer["default"], {
80
+ label: label,
81
+ layout: layout,
82
+ error: error,
83
+ wrapper: wrapper,
84
+ name: name
85
+ }, Component !== null && Component !== void 0 && Component.render ? /*#__PURE__*/_react["default"].createElement(Component, (0, _extends2["default"])({
86
+ name: name,
87
+ ref: register,
88
+ control: control,
89
+ error: !!error,
90
+ extra: extra,
91
+ type: type,
92
+ "aria-required": !!required,
93
+ "aria-describedby": error && "".concat(name, "-error"),
94
+ required: required,
95
+ disabled: editable === false
96
+ }, componentProps)) : /*#__PURE__*/_react["default"].createElement(Component, (0, _extends2["default"])({
97
+ name: name,
98
+ register: register,
99
+ control: control,
100
+ error: !!error,
101
+ extra: extra,
102
+ type: type,
103
+ "aria-required": !!required,
104
+ "aria-describedby": error && "".concat(name, "-error"),
105
+ required: required,
106
+ disabled: editable === false
107
+ }, componentProps)));
108
+ };
109
+
110
+ exports.FieldBase = FieldBase;
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = exports.FieldConditional = void 0;
9
+
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+
12
+ var _react = _interopRequireDefault(require("react"));
13
+
14
+ var _reactHookForm = require("react-hook-form");
15
+
16
+ var _utils = require("@digigov/form/Field/utils");
17
+
18
+ var _FieldBase = require("@digigov/form/Field/FieldBase");
19
+
20
+ var ChildFieldMemo = /*#__PURE__*/_react["default"].memo(function ChildField(_ref) {
21
+ var dependencies = _ref.dependencies,
22
+ field = _ref.field,
23
+ control = _ref.control,
24
+ register = _ref.register,
25
+ error = _ref.error;
26
+ var newField = (0, _utils.evaluateFieldWithConditions)(field, dependencies);
27
+ return /*#__PURE__*/_react["default"].createElement(_FieldBase.FieldBase, (0, _extends2["default"])({}, newField, {
28
+ name: newField.key,
29
+ control: control,
30
+ register: register,
31
+ error: error
32
+ }));
33
+ }, function (prev, next) {
34
+ if (!prev || !prev.dependencies) {
35
+ return false;
36
+ }
37
+
38
+ if (prev.error !== next.error) {
39
+ return false;
40
+ }
41
+
42
+ for (var dep in next.dependencies) {
43
+ if (next.dependencies[dep] !== prev.dependencies[dep]) {
44
+ return false;
45
+ }
46
+ }
47
+
48
+ return true;
49
+ });
50
+
51
+ var FieldConditional = function FieldConditional(_ref2) {
52
+ var control = _ref2.control,
53
+ field = _ref2.field,
54
+ register = _ref2.register,
55
+ error = _ref2.error;
56
+ var dependencyKeys = Object.keys(field.condition);
57
+ var variables = (0, _reactHookForm.useWatch)({
58
+ name: dependencyKeys,
59
+ control: control
60
+ });
61
+ return /*#__PURE__*/_react["default"].createElement(ChildFieldMemo, {
62
+ dependencies: variables,
63
+ field: field,
64
+ control: control,
65
+ register: register,
66
+ error: error
67
+ });
68
+ };
69
+
70
+ exports.FieldConditional = FieldConditional;
71
+ var _default = FieldConditional;
72
+ exports["default"] = _default;
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = exports.FieldContainer = void 0;
9
+
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+
12
+ var _react = _interopRequireDefault(require("react"));
13
+
14
+ var _Field = _interopRequireDefault(require("@digigov/react-core/Field"));
15
+
16
+ var _Label = _interopRequireDefault(require("@digigov/react-core/Label"));
17
+
18
+ var _Fieldset = _interopRequireDefault(require("@digigov/react-core/Fieldset"));
19
+
20
+ var _Hint = _interopRequireDefault(require("@digigov/react-core/Hint"));
21
+
22
+ var _FieldsetLegend = _interopRequireDefault(require("@digigov/react-core/FieldsetLegend"));
23
+
24
+ var _ErrorMessage = _interopRequireDefault(require("@digigov/react-core/ErrorMessage"));
25
+
26
+ var _i18n = require("@digigov/ui/app/i18n");
27
+
28
+ var _Label2 = _interopRequireDefault(require("@digigov/form/inputs/Label"));
29
+
30
+ var FieldContainer = function FieldContainer(_ref) {
31
+ var name = _ref.name,
32
+ wrapper = _ref.wrapper,
33
+ label = _ref.label,
34
+ children = _ref.children,
35
+ error = _ref.error,
36
+ layout = _ref.layout;
37
+
38
+ var _useTranslation = (0, _i18n.useTranslation)(),
39
+ t = _useTranslation.t;
40
+
41
+ if (wrapper === 'fieldset') {
42
+ return /*#__PURE__*/_react["default"].createElement(_Field["default"], (0, _extends2["default"])({
43
+ error: !!error
44
+ }, layout), /*#__PURE__*/_react["default"].createElement(_Fieldset["default"], null, /*#__PURE__*/_react["default"].createElement(_FieldsetLegend["default"], {
45
+ size: "s"
46
+ }, label && label.primary, label && label.secondary && /*#__PURE__*/_react["default"].createElement(_Hint["default"], null, t(label.secondary)), error && /*#__PURE__*/_react["default"].createElement(_ErrorMessage["default"], {
47
+ id: "".concat(name, "-error")
48
+ }, t((error === null || error === void 0 ? void 0 : error.message) || ''))), children));
49
+ } else {
50
+ return /*#__PURE__*/_react["default"].createElement(_Field["default"], (0, _extends2["default"])({
51
+ error: !!error
52
+ }, layout), /*#__PURE__*/_react["default"].createElement(_Label["default"], null, label && /*#__PURE__*/_react["default"].createElement(_Label2["default"], {
53
+ label: label
54
+ }), error && /*#__PURE__*/_react["default"].createElement(_ErrorMessage["default"], {
55
+ id: "".concat(name, "-error")
56
+ }, t((error === null || error === void 0 ? void 0 : error.message) || '')), children));
57
+ }
58
+ };
59
+
60
+ exports.FieldContainer = FieldContainer;
61
+ var _default = FieldContainer;
62
+ exports["default"] = _default;
package/Field/index.js CHANGED
@@ -7,345 +7,32 @@ 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 = exports.ConditionalField = void 0;
11
-
12
- var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
10
+ exports["default"] = exports.Field = void 0;
13
11
 
14
12
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
15
13
 
16
- var _react = _interopRequireWildcard(require("react"));
17
-
18
- var _reactHookForm = require("react-hook-form");
19
-
20
- var _FormContext = require("@digigov/form/FormContext");
21
-
22
- var _Field = _interopRequireDefault(require("@digigov/react-core/Field"));
23
-
24
- var _Label = _interopRequireDefault(require("@digigov/react-core/Label"));
25
-
26
- var _Fieldset = _interopRequireDefault(require("@digigov/react-core/Fieldset"));
27
-
28
- var _Hint = _interopRequireDefault(require("@digigov/react-core/Hint"));
29
-
30
- var _FieldsetLegend = _interopRequireDefault(require("@digigov/react-core/FieldsetLegend"));
31
-
32
- var _ErrorMessage = _interopRequireDefault(require("@digigov/react-core/ErrorMessage"));
33
-
34
- var _Input = _interopRequireDefault(require("@digigov/form/inputs/Input"));
35
-
36
- var _Checkboxes = _interopRequireDefault(require("@digigov/form/inputs/Checkboxes"));
37
-
38
- var _Radio = _interopRequireDefault(require("@digigov/form/inputs/Radio"));
39
-
40
- var _Select = _interopRequireDefault(require("@digigov/form/inputs/Select"));
14
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
41
15
 
42
- var _FileInput = _interopRequireDefault(require("@digigov/form/inputs/FileInput"));
16
+ var _react = _interopRequireWildcard(require("react"));
43
17
 
44
- var _DateInput = _interopRequireDefault(require("@digigov/form/inputs/DateInput"));
18
+ var _FieldBase = require("@digigov/form/Field/FieldBase");
45
19
 
46
- var _Label2 = _interopRequireDefault(require("@digigov/form/inputs/Label"));
20
+ var _FieldConditional = _interopRequireDefault(require("@digigov/form/Field/FieldConditional"));
47
21
 
48
- var _i18n = require("@digigov/ui/app/i18n");
22
+ var _utils = require("@digigov/form/Field/utils");
49
23
 
50
- var _excluded = ["required", "name", "component", "wrapper", "control", "type", "controlled", "enabled", "editable", "defaultValue", "label", "extra", "layout", "error", "register"],
51
- _excluded2 = ["name", "children"];
24
+ var _excluded = ["name", "children"];
52
25
 
53
26
  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); }
54
27
 
55
28
  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; }
56
29
 
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;
132
- var FIELD_COMPONENTS = {
133
- text: {
134
- component: _Input["default"]
135
- },
136
- string: {
137
- component: _Input["default"]
138
- },
139
- file: {
140
- wrapper: 'fieldset',
141
- component: _FileInput["default"]
142
- },
143
- date: {
144
- wrapper: 'fieldset',
145
- controlled: true,
146
- component: _DateInput["default"]
147
- },
148
- 'choice:multiple': {
149
- wrapper: 'fieldset',
150
- controlled: true,
151
- component: _Checkboxes["default"]
152
- },
153
- 'choice:single': {
154
- wrapper: 'fieldset',
155
- controlled: false,
156
- component: _Radio["default"]
157
- }
158
- };
159
- var ALTERNATIVE_COMPONENTS = {
160
- Select: {
161
- component: _Select["default"],
162
- controlled: false
163
- }
164
- };
165
-
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;
172
-
173
- var _useTranslation = (0, _i18n.useTranslation)(),
174
- t = _useTranslation.t;
175
-
176
- if (wrapper === 'fieldset') {
177
- return /*#__PURE__*/_react["default"].createElement(_Field["default"], {
178
- error: !!error
179
- }, /*#__PURE__*/_react["default"].createElement(_Fieldset["default"], null, /*#__PURE__*/_react["default"].createElement(_FieldsetLegend["default"], {
180
- size: "s"
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));
184
- } else {
185
- return /*#__PURE__*/_react["default"].createElement(_Field["default"], {
186
- error: !!error
187
- }, /*#__PURE__*/_react["default"].createElement(_Label["default"], null, label && /*#__PURE__*/_react["default"].createElement(_Label2["default"], {
188
- label: label
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));
192
- }
193
- };
194
-
195
- var FieldBase = function FieldBase(props) {
196
- var required = props.required,
197
- name = props.name,
198
- Component = props.component,
199
- wrapper = props.wrapper,
200
- control = props.control,
201
- type = props.type,
202
- _props$controlled = props.controlled,
203
- controlled = _props$controlled === void 0 ? false : _props$controlled,
204
- _props$enabled = props.enabled,
205
- enabled = _props$enabled === void 0 ? true : _props$enabled,
206
- editable = props.editable,
207
- defaultValue = props.defaultValue,
208
- label = props.label,
209
- _props$extra = props.extra,
210
- extra = _props$extra === void 0 ? {} : _props$extra,
211
- layout = props.layout,
212
- error = props.error,
213
- register = props.register,
214
- componentProps = (0, _objectWithoutProperties2["default"])(props, _excluded);
215
-
216
- if (!enabled) {
217
- return null;
218
- }
219
-
220
- if (controlled) {
221
- return /*#__PURE__*/_react["default"].createElement(FieldContainer, {
222
- label: label,
223
- layout: layout,
224
- error: error,
225
- wrapper: wrapper,
226
- name: name
227
- }, /*#__PURE__*/_react["default"].createElement(_reactHookForm.Controller, {
228
- control: control,
229
- name: name,
230
- render: function render(_ref4) {
231
- var onChange = _ref4.onChange,
232
- onBlur = _ref4.onBlur,
233
- value = _ref4.value;
234
- return /*#__PURE__*/_react["default"].createElement(Component, (0, _extends2["default"])({
235
- name: name,
236
- onChange: onChange,
237
- onBlur: onBlur,
238
- value: value,
239
- defaultValue: defaultValue,
240
- extra: extra,
241
- error: !!error,
242
- type: type,
243
- "aria-required": !!required,
244
- "aria-describedby": error && "".concat(name, "-error"),
245
- required: required,
246
- disabled: editable === false
247
- }, componentProps));
248
- }
249
- }));
250
- }
251
-
252
- return /*#__PURE__*/_react["default"].createElement(FieldContainer, {
253
- label: label,
254
- layout: layout,
255
- error: error,
256
- wrapper: wrapper,
257
- name: name
258
- }, Component !== null && Component !== void 0 && Component.render ? /*#__PURE__*/_react["default"].createElement(Component, (0, _extends2["default"])({
259
- name: name,
260
- ref: register,
261
- control: control,
262
- error: !!error,
263
- extra: extra,
264
- type: type,
265
- "aria-required": !!required,
266
- "aria-describedby": error && "".concat(name, "-error"),
267
- required: required,
268
- disabled: editable === false
269
- }, componentProps)) : /*#__PURE__*/_react["default"].createElement(Component, (0, _extends2["default"])({
270
- name: name,
271
- register: register,
272
- control: control,
273
- error: !!error,
274
- extra: extra,
275
- type: type,
276
- "aria-required": !!required,
277
- "aria-describedby": error && "".concat(name, "-error"),
278
- required: required,
279
- disabled: editable === false
280
- }, componentProps)));
281
- };
282
-
283
- exports.FieldBase = FieldBase;
284
-
285
- var useField = function useField(name, customField) {
286
- var _useContext = (0, _react.useContext)(_FormContext.FormContext),
287
- fieldsMap = _useContext.fieldsMap,
288
- control = _useContext.control,
289
- register = _useContext.register,
290
- errors = _useContext.errors,
291
- registerField = _useContext.registerField,
292
- componentRegistry = _useContext.componentRegistry;
293
-
294
- (0, _react.useMemo)(function () {
295
- return (customField === null || customField === void 0 ? void 0 : customField.type) && registerField((0, _extends2["default"])({}, customField, {
296
- key: name
297
- }));
298
- }, [customField, name, registerField]);
299
- return {
300
- field: customField || fieldsMap[name],
301
- control: control,
302
- register: register,
303
- componentRegistry: componentRegistry,
304
- error: errors[name]
305
- };
306
- };
307
-
308
- function calculateField(children, field, componentRegistry) {
309
- var _field$extra;
310
-
311
- var calculatedField = (0, _extends2["default"])({}, field);
312
- var fieldComponentRegistry = (0, _extends2["default"])({}, FIELD_COMPONENTS, componentRegistry);
313
-
314
- if (children) {
315
- calculatedField.component = children;
316
- } else if (typeof field.component === 'function') {// leave as is
317
- } else if (!field.component && !field.type) {
318
- var _fieldComponentRegist;
319
-
320
- calculatedField.component = fieldComponentRegistry.string.component;
321
- calculatedField.controlled = ((_fieldComponentRegist = fieldComponentRegistry.string) === null || _fieldComponentRegist === void 0 ? void 0 : _fieldComponentRegist.controlled) || false;
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]) {
323
- var _ALTERNATIVE_COMPONEN;
324
-
325
- calculatedField.controlled = ((_ALTERNATIVE_COMPONEN = ALTERNATIVE_COMPONENTS[field.extra.component]) === null || _ALTERNATIVE_COMPONEN === void 0 ? void 0 : _ALTERNATIVE_COMPONEN.controlled) || false;
326
- calculatedField.component = ALTERNATIVE_COMPONENTS[field.extra.component].component;
327
- } else if (!field.component && field.type && fieldComponentRegistry[field.type]) {
328
- var _fieldComponentRegist2;
329
-
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;
333
- } else {
334
- var _fieldComponentRegist3;
335
-
336
- calculatedField.component = fieldComponentRegistry.string.component;
337
- calculatedField.controlled = ((_fieldComponentRegist3 = fieldComponentRegistry.string) === null || _fieldComponentRegist3 === void 0 ? void 0 : _fieldComponentRegist3.controlled) || false;
338
- }
339
-
340
- return calculatedField;
341
- }
342
-
343
- var Field = function Field(_ref5) {
344
- var name = _ref5.name,
345
- children = _ref5.children,
346
- customField = (0, _objectWithoutProperties2["default"])(_ref5, _excluded2);
30
+ var Field = function Field(_ref) {
31
+ var name = _ref.name,
32
+ children = _ref.children,
33
+ customField = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
347
34
 
348
- var _useField = useField(name, customField !== null && customField !== void 0 && customField.type ? customField : null),
35
+ var _useField = (0, _utils.useField)(name, customField !== null && customField !== void 0 && customField.type ? customField : null),
349
36
  field = _useField.field,
350
37
  control = _useField.control,
351
38
  register = _useField.register,
@@ -353,11 +40,11 @@ var Field = function Field(_ref5) {
353
40
  componentRegistry = _useField.componentRegistry;
354
41
 
355
42
  var calculatedField = (0, _react.useMemo)(function () {
356
- return calculateField(children, field, componentRegistry);
43
+ return (0, _utils.calculateField)(children, field, componentRegistry);
357
44
  }, [field]);
358
45
 
359
46
  if (calculatedField.condition) {
360
- return /*#__PURE__*/_react["default"].createElement(ConditionalField, {
47
+ return /*#__PURE__*/_react["default"].createElement(_FieldConditional["default"], {
361
48
  control: control,
362
49
  register: register,
363
50
  field: calculatedField,
@@ -365,7 +52,7 @@ var Field = function Field(_ref5) {
365
52
  });
366
53
  }
367
54
 
368
- return /*#__PURE__*/_react["default"].createElement(FieldBase, (0, _extends2["default"])({}, calculatedField, {
55
+ return /*#__PURE__*/_react["default"].createElement(_FieldBase.FieldBase, (0, _extends2["default"])({}, calculatedField, {
369
56
  name: name,
370
57
  control: control,
371
58
  register: register,