@digigov/form 0.5.2 → 0.6.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 (51) hide show
  1. package/CHANGELOG.md +22 -1
  2. package/Field/index.js +31 -26
  3. package/es/Field/index.js +31 -25
  4. package/es/index.js +22 -10
  5. package/esm/Field/index.js +31 -25
  6. package/esm/index.js +23 -11
  7. package/index.js +21 -11
  8. package/libs/form/src/Field/index.d.ts +1 -0
  9. package/libs/form/src/index.d.ts +4 -1
  10. package/libs/ui/src/app/App.d.ts +14 -0
  11. package/libs/ui/src/app/Header/HeaderLogo.d.ts +3 -0
  12. package/libs/ui/src/app/Header/HeaderSection.d.ts +5 -0
  13. package/libs/ui/src/app/Header/HeaderTitle.d.ts +5 -0
  14. package/libs/ui/src/app/Header/index.d.ts +11 -0
  15. package/libs/ui/src/app/QrCodeScanner/index.d.ts +29 -0
  16. package/libs/ui/src/app/index.d.ts +5 -0
  17. package/libs/ui/src/core/Accordion/index.d.ts +1 -4
  18. package/libs/ui/src/core/Breadcrumbs/index.d.ts +3 -0
  19. package/libs/ui/src/core/Card/index.d.ts +4 -0
  20. package/libs/ui/src/core/Hidden/index.d.ts +1 -0
  21. package/libs/ui/src/core/PaginationLabel/index.d.ts +21 -0
  22. package/libs/ui/src/core/Table/index.d.ts +1 -1
  23. package/libs/ui/src/core/VisuallyHidden/index.d.ts +1 -0
  24. package/libs/ui/src/core/index.d.ts +9 -5
  25. package/libs/ui/src/locales/el.d.ts +6 -0
  26. package/libs-ui/react-core/src/ArrowIcon/index.d.ts +4 -3
  27. package/libs-ui/react-core/src/Breadcrumbs/index.d.ts +10 -0
  28. package/libs-ui/react-core/src/{TableHeaderCell → BreadcrumbsList}/index.d.ts +5 -17
  29. package/libs-ui/react-core/src/BreadcrumbsListItem/index.d.ts +14 -0
  30. package/libs-ui/react-core/src/Card/index.d.ts +17 -0
  31. package/libs-ui/react-core/src/CardAction/index.d.ts +11 -0
  32. package/libs-ui/react-core/src/CardHeading/index.d.ts +10 -0
  33. package/libs-ui/react-core/src/CardText/index.d.ts +10 -0
  34. package/libs-ui/react-core/src/CaretIcon/index.d.ts +4 -3
  35. package/libs-ui/react-core/src/Header/index.d.ts +10 -0
  36. package/libs-ui/react-core/src/HeaderContent/index.d.ts +9 -0
  37. package/libs-ui/react-core/src/HeaderLogo/index.d.ts +17 -0
  38. package/libs-ui/react-core/src/HeaderSecondaryLogo/index.d.ts +17 -0
  39. package/libs-ui/react-core/src/HeaderSection/index.d.ts +9 -0
  40. package/libs-ui/react-core/src/HeaderSubtitle/index.d.ts +9 -0
  41. package/libs-ui/react-core/src/HeaderTitle/index.d.ts +13 -0
  42. package/libs-ui/react-core/src/Hidden/index.d.ts +17 -0
  43. package/libs-ui/react-core/src/Hint/index.d.ts +6 -1
  44. package/libs-ui/react-core/src/List/index.d.ts +1 -1
  45. package/libs-ui/react-core/src/NormalText/index.d.ts +1 -1
  46. package/libs-ui/react-core/src/Paragraph/index.d.ts +1 -1
  47. package/libs-ui/react-core/src/SvgIcon/index.d.ts +20 -0
  48. package/libs-ui/react-core/src/TableHeadCell/index.d.ts +21 -0
  49. package/libs-ui/react-core/src/VisuallyHidden/index.d.ts +10 -0
  50. package/libs-ui/react-extensions/src/admin/PaginationLabel/index.d.ts +9 -0
  51. package/package.json +2 -2
package/CHANGELOG.md CHANGED
@@ -1,6 +1,27 @@
1
1
  # Change Log - @digigov/form
2
2
 
3
- This log was last generated on Thu, 24 Feb 2022 14:51:06 GMT and should not be manually modified.
3
+ This log was last generated on Tue, 05 Apr 2022 12:23:28 GMT and should not be manually modified.
4
+
5
+ ## 0.6.1
6
+ Tue, 05 Apr 2022 12:23:28 GMT
7
+
8
+ ### Patches
9
+
10
+ - Allow passing custom props on form element
11
+
12
+ ## 0.6.0
13
+ Wed, 30 Mar 2022 12:28:30 GMT
14
+
15
+ ### Minor changes
16
+
17
+ - Add support for `characterWidth` and `cellWidth` props in `@digigov/form/Field`, these props will be used by the `@digigov/react-core/TextInput`
18
+
19
+ ## 0.5.3
20
+ Mon, 28 Feb 2022 15:04:49 GMT
21
+
22
+ ### Patches
23
+
24
+ - pass custom component registry to formbuilder
4
25
 
5
26
  ## 0.5.1
6
27
  Thu, 24 Feb 2022 14:51:06 GMT
package/Field/index.js CHANGED
@@ -9,10 +9,10 @@ Object.defineProperty(exports, "__esModule", {
9
9
  });
10
10
  exports["default"] = exports.FieldBase = exports.Field = void 0;
11
11
 
12
- var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
13
-
14
12
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
15
13
 
14
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
15
+
16
16
  var _react = _interopRequireWildcard(require("react"));
17
17
 
18
18
  var _ConditionalField = require("@digigov/form/Field/ConditionalField");
@@ -49,7 +49,8 @@ var _Label2 = _interopRequireDefault(require("@digigov/form/inputs/Label"));
49
49
 
50
50
  var _i18n = require("@digigov/ui/app/i18n");
51
51
 
52
- var _excluded = ["name", "children"];
52
+ var _excluded = ["name", "component", "wrapper", "control", "type", "controlled", "enabled", "editable", "defaultValue", "label", "extra", "layout", "error", "register"],
53
+ _excluded2 = ["name", "children"];
53
54
 
54
55
  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); }
55
56
 
@@ -129,7 +130,8 @@ var FieldBase = function FieldBase(props) {
129
130
  extra = _props$extra === void 0 ? {} : _props$extra,
130
131
  layout = props.layout,
131
132
  error = props.error,
132
- register = props.register;
133
+ register = props.register,
134
+ componentProps = (0, _objectWithoutProperties2["default"])(props, _excluded);
133
135
 
134
136
  if (!enabled) {
135
137
  return null;
@@ -148,7 +150,7 @@ var FieldBase = function FieldBase(props) {
148
150
  var onChange = _ref2.onChange,
149
151
  onBlur = _ref2.onBlur,
150
152
  value = _ref2.value;
151
- return /*#__PURE__*/_react["default"].createElement(Component, {
153
+ return /*#__PURE__*/_react["default"].createElement(Component, (0, _extends2["default"])({
152
154
  name: name,
153
155
  onChange: onChange,
154
156
  onBlur: onBlur,
@@ -158,7 +160,7 @@ var FieldBase = function FieldBase(props) {
158
160
  error: !!error,
159
161
  type: type,
160
162
  disabled: editable === false
161
- });
163
+ }, componentProps));
162
164
  }
163
165
  }));
164
166
  }
@@ -168,7 +170,7 @@ var FieldBase = function FieldBase(props) {
168
170
  layout: layout,
169
171
  error: error,
170
172
  wrapper: wrapper
171
- }, Component !== null && Component !== void 0 && Component.render ? /*#__PURE__*/_react["default"].createElement(Component, {
173
+ }, Component !== null && Component !== void 0 && Component.render ? /*#__PURE__*/_react["default"].createElement(Component, (0, _extends2["default"])({
172
174
  name: name,
173
175
  ref: register,
174
176
  control: control,
@@ -176,7 +178,7 @@ var FieldBase = function FieldBase(props) {
176
178
  extra: extra,
177
179
  type: type,
178
180
  disabled: editable === false
179
- }) : /*#__PURE__*/_react["default"].createElement(Component, {
181
+ }, componentProps)) : /*#__PURE__*/_react["default"].createElement(Component, (0, _extends2["default"])({
180
182
  name: name,
181
183
  register: register,
182
184
  control: control,
@@ -184,7 +186,7 @@ var FieldBase = function FieldBase(props) {
184
186
  extra: extra,
185
187
  type: type,
186
188
  disabled: editable === false
187
- }));
189
+ }, componentProps)));
188
190
  };
189
191
 
190
192
  exports.FieldBase = FieldBase;
@@ -195,7 +197,8 @@ var useField = function useField(name, customField) {
195
197
  control = _useContext.control,
196
198
  register = _useContext.register,
197
199
  errors = _useContext.errors,
198
- registerField = _useContext.registerField;
200
+ registerField = _useContext.registerField,
201
+ componentRegistry = _useContext.componentRegistry;
199
202
 
200
203
  (0, _react.useMemo)(function () {
201
204
  return (customField === null || customField === void 0 ? void 0 : customField.type) && registerField((0, _extends2["default"])({}, customField, {
@@ -206,58 +209,60 @@ var useField = function useField(name, customField) {
206
209
  field: customField || fieldsMap[name],
207
210
  control: control,
208
211
  register: register,
212
+ componentRegistry: componentRegistry,
209
213
  error: errors[name]
210
214
  };
211
215
  };
212
216
 
213
- function calculateField(children, field) {
217
+ function calculateField(children, field, componentRegistry) {
214
218
  var _field$extra;
215
219
 
216
220
  var calculatedField = (0, _extends2["default"])({}, field);
221
+ var FieldComponentRegistry = (0, _extends2["default"])({}, FIELD_COMPONENTS, componentRegistry);
217
222
 
218
223
  if (children) {
219
224
  calculatedField.component = children;
220
225
  } else if (typeof field.component === 'function') {// leave as is
221
226
  } else if (!field.component && !field.type) {
222
- var _FIELD_COMPONENTS$str;
227
+ var _FieldComponentRegist;
223
228
 
224
- calculatedField.component = FIELD_COMPONENTS.string.component;
225
- calculatedField.controlled = ((_FIELD_COMPONENTS$str = FIELD_COMPONENTS.string) === null || _FIELD_COMPONENTS$str === void 0 ? void 0 : _FIELD_COMPONENTS$str.controlled) || false;
229
+ calculatedField.component = FieldComponentRegistry.string.component;
230
+ calculatedField.controlled = ((_FieldComponentRegist = FieldComponentRegistry.string) === null || _FieldComponentRegist === void 0 ? void 0 : _FieldComponentRegist.controlled) || false;
226
231
  } 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]) {
227
232
  var _ALTERNATIVE_COMPONEN;
228
233
 
229
234
  calculatedField.controlled = ((_ALTERNATIVE_COMPONEN = ALTERNATIVE_COMPONENTS[field.extra.component]) === null || _ALTERNATIVE_COMPONEN === void 0 ? void 0 : _ALTERNATIVE_COMPONEN.controlled) || false;
230
235
  calculatedField.component = ALTERNATIVE_COMPONENTS[field.extra.component].component;
231
- } else if (!field.component && field.type && FIELD_COMPONENTS[field.type]) {
232
- var _FIELD_COMPONENTS$fie;
236
+ } else if (!field.component && field.type && FieldComponentRegistry[field.type]) {
237
+ var _FieldComponentRegist2;
233
238
 
234
- calculatedField.component = FIELD_COMPONENTS[field.type].component;
235
- calculatedField.wrapper = FIELD_COMPONENTS[field.type].wrapper;
236
- calculatedField.controlled = ((_FIELD_COMPONENTS$fie = FIELD_COMPONENTS[field.type]) === null || _FIELD_COMPONENTS$fie === void 0 ? void 0 : _FIELD_COMPONENTS$fie.controlled) || false;
239
+ calculatedField.component = FieldComponentRegistry[field.type].component;
240
+ calculatedField.wrapper = FieldComponentRegistry[field.type].wrapper;
241
+ calculatedField.controlled = ((_FieldComponentRegist2 = FieldComponentRegistry[field.type]) === null || _FieldComponentRegist2 === void 0 ? void 0 : _FieldComponentRegist2.controlled) || false;
237
242
  } else {
238
- var _FIELD_COMPONENTS$str2;
243
+ var _FieldComponentRegist3;
239
244
 
240
- calculatedField.component = FIELD_COMPONENTS.string.component;
241
- calculatedField.controlled = ((_FIELD_COMPONENTS$str2 = FIELD_COMPONENTS.string) === null || _FIELD_COMPONENTS$str2 === void 0 ? void 0 : _FIELD_COMPONENTS$str2.controlled) || false;
245
+ calculatedField.component = FieldComponentRegistry.string.component;
246
+ calculatedField.controlled = ((_FieldComponentRegist3 = FieldComponentRegistry.string) === null || _FieldComponentRegist3 === void 0 ? void 0 : _FieldComponentRegist3.controlled) || false;
242
247
  }
243
248
 
244
- calculatedField.wrapper = calculatedField.wrapper || 'label';
245
249
  return calculatedField;
246
250
  }
247
251
 
248
252
  var Field = function Field(_ref3) {
249
253
  var name = _ref3.name,
250
254
  children = _ref3.children,
251
- customField = (0, _objectWithoutProperties2["default"])(_ref3, _excluded);
255
+ customField = (0, _objectWithoutProperties2["default"])(_ref3, _excluded2);
252
256
 
253
257
  var _useField = useField(name, customField !== null && customField !== void 0 && customField.type ? customField : null),
254
258
  field = _useField.field,
255
259
  control = _useField.control,
256
260
  register = _useField.register,
257
- error = _useField.error;
261
+ error = _useField.error,
262
+ componentRegistry = _useField.componentRegistry;
258
263
 
259
264
  var calculatedField = (0, _react.useMemo)(function () {
260
- return calculateField(children, field);
265
+ return calculateField(children, field, componentRegistry);
261
266
  }, [field]);
262
267
 
263
268
  if (calculatedField.condition) {
package/es/Field/index.js CHANGED
@@ -1,6 +1,7 @@
1
- import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
2
1
  import _extends from "@babel/runtime/helpers/extends";
3
- var _excluded = ["name", "children"];
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
+ var _excluded = ["name", "component", "wrapper", "control", "type", "controlled", "enabled", "editable", "defaultValue", "label", "extra", "layout", "error", "register"],
4
+ _excluded2 = ["name", "children"];
4
5
  import React, { useContext, useMemo } from 'react';
5
6
  import { ConditionalField } from '@digigov/form/Field/ConditionalField';
6
7
  import { Controller } from 'react-hook-form';
@@ -93,7 +94,8 @@ export var FieldBase = function FieldBase(props) {
93
94
  extra = _props$extra === void 0 ? {} : _props$extra,
94
95
  layout = props.layout,
95
96
  error = props.error,
96
- register = props.register;
97
+ register = props.register,
98
+ componentProps = _objectWithoutProperties(props, _excluded);
97
99
 
98
100
  if (!enabled) {
99
101
  return null;
@@ -112,7 +114,7 @@ export var FieldBase = function FieldBase(props) {
112
114
  var onChange = _ref2.onChange,
113
115
  onBlur = _ref2.onBlur,
114
116
  value = _ref2.value;
115
- return /*#__PURE__*/React.createElement(Component, {
117
+ return /*#__PURE__*/React.createElement(Component, _extends({
116
118
  name: name,
117
119
  onChange: onChange,
118
120
  onBlur: onBlur,
@@ -122,7 +124,7 @@ export var FieldBase = function FieldBase(props) {
122
124
  error: !!error,
123
125
  type: type,
124
126
  disabled: editable === false
125
- });
127
+ }, componentProps));
126
128
  }
127
129
  }));
128
130
  }
@@ -132,7 +134,7 @@ export var FieldBase = function FieldBase(props) {
132
134
  layout: layout,
133
135
  error: error,
134
136
  wrapper: wrapper
135
- }, Component !== null && Component !== void 0 && Component.render ? /*#__PURE__*/React.createElement(Component, {
137
+ }, Component !== null && Component !== void 0 && Component.render ? /*#__PURE__*/React.createElement(Component, _extends({
136
138
  name: name,
137
139
  ref: register,
138
140
  control: control,
@@ -140,7 +142,7 @@ export var FieldBase = function FieldBase(props) {
140
142
  extra: extra,
141
143
  type: type,
142
144
  disabled: editable === false
143
- }) : /*#__PURE__*/React.createElement(Component, {
145
+ }, componentProps)) : /*#__PURE__*/React.createElement(Component, _extends({
144
146
  name: name,
145
147
  register: register,
146
148
  control: control,
@@ -148,7 +150,7 @@ export var FieldBase = function FieldBase(props) {
148
150
  extra: extra,
149
151
  type: type,
150
152
  disabled: editable === false
151
- }));
153
+ }, componentProps)));
152
154
  };
153
155
 
154
156
  var useField = function useField(name, customField) {
@@ -157,7 +159,8 @@ var useField = function useField(name, customField) {
157
159
  control = _useContext.control,
158
160
  register = _useContext.register,
159
161
  errors = _useContext.errors,
160
- registerField = _useContext.registerField;
162
+ registerField = _useContext.registerField,
163
+ componentRegistry = _useContext.componentRegistry;
161
164
 
162
165
  useMemo(function () {
163
166
  return (customField === null || customField === void 0 ? void 0 : customField.type) && registerField(_extends({}, customField, {
@@ -168,58 +171,61 @@ var useField = function useField(name, customField) {
168
171
  field: customField || fieldsMap[name],
169
172
  control: control,
170
173
  register: register,
174
+ componentRegistry: componentRegistry,
171
175
  error: errors[name]
172
176
  };
173
177
  };
174
178
 
175
- function calculateField(children, field) {
179
+ function calculateField(children, field, componentRegistry) {
176
180
  var _field$extra;
177
181
 
178
182
  var calculatedField = _extends({}, field);
179
183
 
184
+ var FieldComponentRegistry = _extends({}, FIELD_COMPONENTS, componentRegistry);
185
+
180
186
  if (children) {
181
187
  calculatedField.component = children;
182
188
  } else if (typeof field.component === 'function') {// leave as is
183
189
  } else if (!field.component && !field.type) {
184
- var _FIELD_COMPONENTS$str;
190
+ var _FieldComponentRegist;
185
191
 
186
- calculatedField.component = FIELD_COMPONENTS.string.component;
187
- calculatedField.controlled = ((_FIELD_COMPONENTS$str = FIELD_COMPONENTS.string) === null || _FIELD_COMPONENTS$str === void 0 ? void 0 : _FIELD_COMPONENTS$str.controlled) || false;
192
+ calculatedField.component = FieldComponentRegistry.string.component;
193
+ calculatedField.controlled = ((_FieldComponentRegist = FieldComponentRegistry.string) === null || _FieldComponentRegist === void 0 ? void 0 : _FieldComponentRegist.controlled) || false;
188
194
  } 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]) {
189
195
  var _ALTERNATIVE_COMPONEN;
190
196
 
191
197
  calculatedField.controlled = ((_ALTERNATIVE_COMPONEN = ALTERNATIVE_COMPONENTS[field.extra.component]) === null || _ALTERNATIVE_COMPONEN === void 0 ? void 0 : _ALTERNATIVE_COMPONEN.controlled) || false;
192
198
  calculatedField.component = ALTERNATIVE_COMPONENTS[field.extra.component].component;
193
- } else if (!field.component && field.type && FIELD_COMPONENTS[field.type]) {
194
- var _FIELD_COMPONENTS$fie;
199
+ } else if (!field.component && field.type && FieldComponentRegistry[field.type]) {
200
+ var _FieldComponentRegist2;
195
201
 
196
- calculatedField.component = FIELD_COMPONENTS[field.type].component;
197
- calculatedField.wrapper = FIELD_COMPONENTS[field.type].wrapper;
198
- calculatedField.controlled = ((_FIELD_COMPONENTS$fie = FIELD_COMPONENTS[field.type]) === null || _FIELD_COMPONENTS$fie === void 0 ? void 0 : _FIELD_COMPONENTS$fie.controlled) || false;
202
+ calculatedField.component = FieldComponentRegistry[field.type].component;
203
+ calculatedField.wrapper = FieldComponentRegistry[field.type].wrapper;
204
+ calculatedField.controlled = ((_FieldComponentRegist2 = FieldComponentRegistry[field.type]) === null || _FieldComponentRegist2 === void 0 ? void 0 : _FieldComponentRegist2.controlled) || false;
199
205
  } else {
200
- var _FIELD_COMPONENTS$str2;
206
+ var _FieldComponentRegist3;
201
207
 
202
- calculatedField.component = FIELD_COMPONENTS.string.component;
203
- calculatedField.controlled = ((_FIELD_COMPONENTS$str2 = FIELD_COMPONENTS.string) === null || _FIELD_COMPONENTS$str2 === void 0 ? void 0 : _FIELD_COMPONENTS$str2.controlled) || false;
208
+ calculatedField.component = FieldComponentRegistry.string.component;
209
+ calculatedField.controlled = ((_FieldComponentRegist3 = FieldComponentRegistry.string) === null || _FieldComponentRegist3 === void 0 ? void 0 : _FieldComponentRegist3.controlled) || false;
204
210
  }
205
211
 
206
- calculatedField.wrapper = calculatedField.wrapper || 'label';
207
212
  return calculatedField;
208
213
  }
209
214
 
210
215
  export var Field = function Field(_ref3) {
211
216
  var name = _ref3.name,
212
217
  children = _ref3.children,
213
- customField = _objectWithoutProperties(_ref3, _excluded);
218
+ customField = _objectWithoutProperties(_ref3, _excluded2);
214
219
 
215
220
  var _useField = useField(name, customField !== null && customField !== void 0 && customField.type ? customField : null),
216
221
  field = _useField.field,
217
222
  control = _useField.control,
218
223
  register = _useField.register,
219
- error = _useField.error;
224
+ error = _useField.error,
225
+ componentRegistry = _useField.componentRegistry;
220
226
 
221
227
  var calculatedField = useMemo(function () {
222
- return calculateField(children, field);
228
+ return calculateField(children, field, componentRegistry);
223
229
  }, [field]);
224
230
 
225
231
  if (calculatedField.condition) {
package/es/index.js CHANGED
@@ -1,6 +1,9 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
- import _extends from "@babel/runtime/helpers/extends";
3
2
  import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
3
+ import _extends from "@babel/runtime/helpers/extends";
4
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
5
+ var _excluded = ["onSubmit", "children", "registerField", "fieldsMap", "fieldsetsMap", "resolver", "mode", "initial", "reValidateMode", "shouldFocusError", "criteriaMode", "componentRegistry"],
6
+ _excluded2 = ["fields", "fieldsets", "initial", "onSubmit", "children", "reValidateMode", "mode", "shouldFocusError", "criteriaMode", "auto", "validatorRegistry", "componentRegistry"];
4
7
 
5
8
  /* eslint-disable @typescript-eslint/no-explicit-any */
6
9
  import React, { createContext, useCallback, useRef } from 'react';
@@ -27,7 +30,10 @@ export var FormBase = function FormBase(_ref) {
27
30
  initial = _ref.initial,
28
31
  reValidateMode = _ref.reValidateMode,
29
32
  shouldFocusError = _ref.shouldFocusError,
30
- criteriaMode = _ref.criteriaMode;
33
+ criteriaMode = _ref.criteriaMode,
34
+ componentRegistry = _ref.componentRegistry,
35
+ props = _objectWithoutProperties(_ref, _excluded);
36
+
31
37
  var form = useForm({
32
38
  resolver: resolver,
33
39
  mode: mode,
@@ -52,13 +58,14 @@ export var FormBase = function FormBase(_ref) {
52
58
  register: form.register,
53
59
  registerField: registerField,
54
60
  errors: form.errors,
55
- reset: form.reset
61
+ reset: form.reset,
62
+ componentRegistry: componentRegistry
56
63
  };
57
64
  return /*#__PURE__*/React.createElement(FormContext.Provider, {
58
65
  value: ctx
59
- }, /*#__PURE__*/React.createElement("form", {
66
+ }, /*#__PURE__*/React.createElement("form", _extends({
60
67
  onSubmit: form.handleSubmit(handleSubmit)
61
- }, /*#__PURE__*/React.createElement(Grid, {
68
+ }, props), /*#__PURE__*/React.createElement(Grid, {
62
69
  container: true
63
70
  }, /*#__PURE__*/React.createElement(Grid, {
64
71
  item: true,
@@ -83,7 +90,10 @@ export function FormBuilder(_ref2) {
83
90
  criteriaMode = _ref2$criteriaMode === void 0 ? 'firstError' : _ref2$criteriaMode,
84
91
  _ref2$auto = _ref2.auto,
85
92
  auto = _ref2$auto === void 0 ? false : _ref2$auto,
86
- validatorRegistry = _ref2.validatorRegistry;
93
+ validatorRegistry = _ref2.validatorRegistry,
94
+ componentRegistry = _ref2.componentRegistry,
95
+ props = _objectWithoutProperties(_ref2, _excluded2);
96
+
87
97
  var fieldsState = useRef(fields);
88
98
  var setFieldsState = useCallback(function (newFields) {
89
99
  fieldsState.current = newFields;
@@ -125,7 +135,7 @@ export function FormBuilder(_ref2) {
125
135
  }
126
136
  }
127
137
 
128
- return /*#__PURE__*/React.createElement(FormBase, {
138
+ return /*#__PURE__*/React.createElement(FormBase, _extends({
129
139
  resolver: resolver,
130
140
  fieldsetsMap: fieldsetsMap,
131
141
  fieldsMap: fieldsMap,
@@ -134,8 +144,10 @@ export function FormBuilder(_ref2) {
134
144
  reValidateMode: reValidateMode,
135
145
  mode: mode,
136
146
  shouldFocusError: shouldFocusError,
137
- criteriaMode: criteriaMode,
138
- onSubmit: onSubmit
139
- }, fieldChildren, children);
147
+ criteriaMode: criteriaMode
148
+ }, props, {
149
+ onSubmit: onSubmit,
150
+ componentRegistry: componentRegistry
151
+ }), fieldChildren, children);
140
152
  }
141
153
  export default FormBuilder;
@@ -1,6 +1,7 @@
1
- import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
2
1
  import _extends from "@babel/runtime/helpers/extends";
3
- var _excluded = ["name", "children"];
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
+ var _excluded = ["name", "component", "wrapper", "control", "type", "controlled", "enabled", "editable", "defaultValue", "label", "extra", "layout", "error", "register"],
4
+ _excluded2 = ["name", "children"];
4
5
  import React, { useContext, useMemo } from 'react';
5
6
  import { ConditionalField } from '@digigov/form/Field/ConditionalField';
6
7
  import { Controller } from 'react-hook-form';
@@ -93,7 +94,8 @@ export var FieldBase = function FieldBase(props) {
93
94
  extra = _props$extra === void 0 ? {} : _props$extra,
94
95
  layout = props.layout,
95
96
  error = props.error,
96
- register = props.register;
97
+ register = props.register,
98
+ componentProps = _objectWithoutProperties(props, _excluded);
97
99
 
98
100
  if (!enabled) {
99
101
  return null;
@@ -112,7 +114,7 @@ export var FieldBase = function FieldBase(props) {
112
114
  var onChange = _ref2.onChange,
113
115
  onBlur = _ref2.onBlur,
114
116
  value = _ref2.value;
115
- return /*#__PURE__*/React.createElement(Component, {
117
+ return /*#__PURE__*/React.createElement(Component, _extends({
116
118
  name: name,
117
119
  onChange: onChange,
118
120
  onBlur: onBlur,
@@ -122,7 +124,7 @@ export var FieldBase = function FieldBase(props) {
122
124
  error: !!error,
123
125
  type: type,
124
126
  disabled: editable === false
125
- });
127
+ }, componentProps));
126
128
  }
127
129
  }));
128
130
  }
@@ -132,7 +134,7 @@ export var FieldBase = function FieldBase(props) {
132
134
  layout: layout,
133
135
  error: error,
134
136
  wrapper: wrapper
135
- }, Component !== null && Component !== void 0 && Component.render ? /*#__PURE__*/React.createElement(Component, {
137
+ }, Component !== null && Component !== void 0 && Component.render ? /*#__PURE__*/React.createElement(Component, _extends({
136
138
  name: name,
137
139
  ref: register,
138
140
  control: control,
@@ -140,7 +142,7 @@ export var FieldBase = function FieldBase(props) {
140
142
  extra: extra,
141
143
  type: type,
142
144
  disabled: editable === false
143
- }) : /*#__PURE__*/React.createElement(Component, {
145
+ }, componentProps)) : /*#__PURE__*/React.createElement(Component, _extends({
144
146
  name: name,
145
147
  register: register,
146
148
  control: control,
@@ -148,7 +150,7 @@ export var FieldBase = function FieldBase(props) {
148
150
  extra: extra,
149
151
  type: type,
150
152
  disabled: editable === false
151
- }));
153
+ }, componentProps)));
152
154
  };
153
155
 
154
156
  var useField = function useField(name, customField) {
@@ -157,7 +159,8 @@ var useField = function useField(name, customField) {
157
159
  control = _useContext.control,
158
160
  register = _useContext.register,
159
161
  errors = _useContext.errors,
160
- registerField = _useContext.registerField;
162
+ registerField = _useContext.registerField,
163
+ componentRegistry = _useContext.componentRegistry;
161
164
 
162
165
  useMemo(function () {
163
166
  return (customField === null || customField === void 0 ? void 0 : customField.type) && registerField(_extends({}, customField, {
@@ -168,58 +171,61 @@ var useField = function useField(name, customField) {
168
171
  field: customField || fieldsMap[name],
169
172
  control: control,
170
173
  register: register,
174
+ componentRegistry: componentRegistry,
171
175
  error: errors[name]
172
176
  };
173
177
  };
174
178
 
175
- function calculateField(children, field) {
179
+ function calculateField(children, field, componentRegistry) {
176
180
  var _field$extra;
177
181
 
178
182
  var calculatedField = _extends({}, field);
179
183
 
184
+ var FieldComponentRegistry = _extends({}, FIELD_COMPONENTS, componentRegistry);
185
+
180
186
  if (children) {
181
187
  calculatedField.component = children;
182
188
  } else if (typeof field.component === 'function') {// leave as is
183
189
  } else if (!field.component && !field.type) {
184
- var _FIELD_COMPONENTS$str;
190
+ var _FieldComponentRegist;
185
191
 
186
- calculatedField.component = FIELD_COMPONENTS.string.component;
187
- calculatedField.controlled = ((_FIELD_COMPONENTS$str = FIELD_COMPONENTS.string) === null || _FIELD_COMPONENTS$str === void 0 ? void 0 : _FIELD_COMPONENTS$str.controlled) || false;
192
+ calculatedField.component = FieldComponentRegistry.string.component;
193
+ calculatedField.controlled = ((_FieldComponentRegist = FieldComponentRegistry.string) === null || _FieldComponentRegist === void 0 ? void 0 : _FieldComponentRegist.controlled) || false;
188
194
  } 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]) {
189
195
  var _ALTERNATIVE_COMPONEN;
190
196
 
191
197
  calculatedField.controlled = ((_ALTERNATIVE_COMPONEN = ALTERNATIVE_COMPONENTS[field.extra.component]) === null || _ALTERNATIVE_COMPONEN === void 0 ? void 0 : _ALTERNATIVE_COMPONEN.controlled) || false;
192
198
  calculatedField.component = ALTERNATIVE_COMPONENTS[field.extra.component].component;
193
- } else if (!field.component && field.type && FIELD_COMPONENTS[field.type]) {
194
- var _FIELD_COMPONENTS$fie;
199
+ } else if (!field.component && field.type && FieldComponentRegistry[field.type]) {
200
+ var _FieldComponentRegist2;
195
201
 
196
- calculatedField.component = FIELD_COMPONENTS[field.type].component;
197
- calculatedField.wrapper = FIELD_COMPONENTS[field.type].wrapper;
198
- calculatedField.controlled = ((_FIELD_COMPONENTS$fie = FIELD_COMPONENTS[field.type]) === null || _FIELD_COMPONENTS$fie === void 0 ? void 0 : _FIELD_COMPONENTS$fie.controlled) || false;
202
+ calculatedField.component = FieldComponentRegistry[field.type].component;
203
+ calculatedField.wrapper = FieldComponentRegistry[field.type].wrapper;
204
+ calculatedField.controlled = ((_FieldComponentRegist2 = FieldComponentRegistry[field.type]) === null || _FieldComponentRegist2 === void 0 ? void 0 : _FieldComponentRegist2.controlled) || false;
199
205
  } else {
200
- var _FIELD_COMPONENTS$str2;
206
+ var _FieldComponentRegist3;
201
207
 
202
- calculatedField.component = FIELD_COMPONENTS.string.component;
203
- calculatedField.controlled = ((_FIELD_COMPONENTS$str2 = FIELD_COMPONENTS.string) === null || _FIELD_COMPONENTS$str2 === void 0 ? void 0 : _FIELD_COMPONENTS$str2.controlled) || false;
208
+ calculatedField.component = FieldComponentRegistry.string.component;
209
+ calculatedField.controlled = ((_FieldComponentRegist3 = FieldComponentRegistry.string) === null || _FieldComponentRegist3 === void 0 ? void 0 : _FieldComponentRegist3.controlled) || false;
204
210
  }
205
211
 
206
- calculatedField.wrapper = calculatedField.wrapper || 'label';
207
212
  return calculatedField;
208
213
  }
209
214
 
210
215
  export var Field = function Field(_ref3) {
211
216
  var name = _ref3.name,
212
217
  children = _ref3.children,
213
- customField = _objectWithoutProperties(_ref3, _excluded);
218
+ customField = _objectWithoutProperties(_ref3, _excluded2);
214
219
 
215
220
  var _useField = useField(name, customField !== null && customField !== void 0 && customField.type ? customField : null),
216
221
  field = _useField.field,
217
222
  control = _useField.control,
218
223
  register = _useField.register,
219
- error = _useField.error;
224
+ error = _useField.error,
225
+ componentRegistry = _useField.componentRegistry;
220
226
 
221
227
  var calculatedField = useMemo(function () {
222
- return calculateField(children, field);
228
+ return calculateField(children, field, componentRegistry);
223
229
  }, [field]);
224
230
 
225
231
  if (calculatedField.condition) {
package/esm/index.js CHANGED
@@ -1,11 +1,14 @@
1
- /** @license Digigov v0.5.2
1
+ /** @license Digigov v0.6.1
2
2
  *
3
3
  * This source code is licensed under the MIT license found in the
4
4
  * LICENSE file in the root directory of this source tree.
5
5
  */
6
6
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
7
- import _extends from "@babel/runtime/helpers/extends";
8
7
  import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
8
+ import _extends from "@babel/runtime/helpers/extends";
9
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
10
+ var _excluded = ["onSubmit", "children", "registerField", "fieldsMap", "fieldsetsMap", "resolver", "mode", "initial", "reValidateMode", "shouldFocusError", "criteriaMode", "componentRegistry"],
11
+ _excluded2 = ["fields", "fieldsets", "initial", "onSubmit", "children", "reValidateMode", "mode", "shouldFocusError", "criteriaMode", "auto", "validatorRegistry", "componentRegistry"];
9
12
 
10
13
  /* eslint-disable @typescript-eslint/no-explicit-any */
11
14
  import React, { createContext, useCallback, useRef } from 'react';
@@ -32,7 +35,10 @@ export var FormBase = function FormBase(_ref) {
32
35
  initial = _ref.initial,
33
36
  reValidateMode = _ref.reValidateMode,
34
37
  shouldFocusError = _ref.shouldFocusError,
35
- criteriaMode = _ref.criteriaMode;
38
+ criteriaMode = _ref.criteriaMode,
39
+ componentRegistry = _ref.componentRegistry,
40
+ props = _objectWithoutProperties(_ref, _excluded);
41
+
36
42
  var form = useForm({
37
43
  resolver: resolver,
38
44
  mode: mode,
@@ -57,13 +63,14 @@ export var FormBase = function FormBase(_ref) {
57
63
  register: form.register,
58
64
  registerField: registerField,
59
65
  errors: form.errors,
60
- reset: form.reset
66
+ reset: form.reset,
67
+ componentRegistry: componentRegistry
61
68
  };
62
69
  return /*#__PURE__*/React.createElement(FormContext.Provider, {
63
70
  value: ctx
64
- }, /*#__PURE__*/React.createElement("form", {
71
+ }, /*#__PURE__*/React.createElement("form", _extends({
65
72
  onSubmit: form.handleSubmit(handleSubmit)
66
- }, /*#__PURE__*/React.createElement(Grid, {
73
+ }, props), /*#__PURE__*/React.createElement(Grid, {
67
74
  container: true
68
75
  }, /*#__PURE__*/React.createElement(Grid, {
69
76
  item: true,
@@ -88,7 +95,10 @@ export function FormBuilder(_ref2) {
88
95
  criteriaMode = _ref2$criteriaMode === void 0 ? 'firstError' : _ref2$criteriaMode,
89
96
  _ref2$auto = _ref2.auto,
90
97
  auto = _ref2$auto === void 0 ? false : _ref2$auto,
91
- validatorRegistry = _ref2.validatorRegistry;
98
+ validatorRegistry = _ref2.validatorRegistry,
99
+ componentRegistry = _ref2.componentRegistry,
100
+ props = _objectWithoutProperties(_ref2, _excluded2);
101
+
92
102
  var fieldsState = useRef(fields);
93
103
  var setFieldsState = useCallback(function (newFields) {
94
104
  fieldsState.current = newFields;
@@ -130,7 +140,7 @@ export function FormBuilder(_ref2) {
130
140
  }
131
141
  }
132
142
 
133
- return /*#__PURE__*/React.createElement(FormBase, {
143
+ return /*#__PURE__*/React.createElement(FormBase, _extends({
134
144
  resolver: resolver,
135
145
  fieldsetsMap: fieldsetsMap,
136
146
  fieldsMap: fieldsMap,
@@ -139,8 +149,10 @@ export function FormBuilder(_ref2) {
139
149
  reValidateMode: reValidateMode,
140
150
  mode: mode,
141
151
  shouldFocusError: shouldFocusError,
142
- criteriaMode: criteriaMode,
143
- onSubmit: onSubmit
144
- }, fieldChildren, children);
152
+ criteriaMode: criteriaMode
153
+ }, props, {
154
+ onSubmit: onSubmit,
155
+ componentRegistry: componentRegistry
156
+ }), fieldChildren, children);
145
157
  }
146
158
  export default FormBuilder;