@digigov/form 0.5.3 → 0.6.2

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 (57) hide show
  1. package/CHANGELOG.md +23 -1
  2. package/Field/index.js +14 -11
  3. package/es/Field/index.js +13 -10
  4. package/es/index.js +16 -8
  5. package/es/inputs/FileInput/index.js +19 -8
  6. package/es/inputs/Select/index.js +3 -8
  7. package/esm/Field/index.js +13 -10
  8. package/esm/index.js +17 -9
  9. package/esm/inputs/FileInput/index.js +19 -8
  10. package/esm/inputs/Select/index.js +3 -8
  11. package/index.js +15 -9
  12. package/inputs/FileInput/index.js +21 -8
  13. package/inputs/Select/index.js +3 -7
  14. package/libs/form/src/index.d.ts +1 -1
  15. package/libs/ui/src/app/App.d.ts +14 -0
  16. package/libs/ui/src/app/Header/HeaderLogo.d.ts +3 -0
  17. package/libs/ui/src/app/Header/HeaderSection.d.ts +5 -0
  18. package/libs/ui/src/app/Header/HeaderTitle.d.ts +5 -0
  19. package/libs/ui/src/app/Header/index.d.ts +11 -0
  20. package/libs/ui/src/app/I18nText.d.ts +10 -0
  21. package/libs/ui/src/app/QrCodeScanner/index.d.ts +29 -0
  22. package/libs/ui/src/app/i18n.d.ts +2 -0
  23. package/libs/ui/src/app/index.d.ts +6 -0
  24. package/libs/ui/src/core/Accordion/index.d.ts +1 -4
  25. package/libs/ui/src/core/Breadcrumbs/index.d.ts +3 -0
  26. package/libs/ui/src/core/Card/index.d.ts +4 -0
  27. package/libs/ui/src/core/Hidden/index.d.ts +1 -0
  28. package/libs/ui/src/core/PaginationLabel/index.d.ts +21 -0
  29. package/libs/ui/src/core/Table/index.d.ts +1 -1
  30. package/libs/ui/src/core/VisuallyHidden/index.d.ts +1 -0
  31. package/libs/ui/src/core/index.d.ts +9 -5
  32. package/libs/ui/src/locales/el.d.ts +13 -0
  33. package/libs-ui/react-core/src/Breadcrumbs/index.d.ts +10 -0
  34. package/libs-ui/react-core/src/{TableHeaderCell → BreadcrumbsList}/index.d.ts +5 -17
  35. package/libs-ui/react-core/src/BreadcrumbsListItem/index.d.ts +14 -0
  36. package/libs-ui/react-core/src/Card/index.d.ts +17 -0
  37. package/libs-ui/react-core/src/CardAction/index.d.ts +11 -0
  38. package/libs-ui/react-core/src/CardHeading/index.d.ts +10 -0
  39. package/libs-ui/react-core/src/CardText/index.d.ts +10 -0
  40. package/libs-ui/react-core/src/Header/index.d.ts +10 -0
  41. package/libs-ui/react-core/src/HeaderContent/index.d.ts +9 -0
  42. package/libs-ui/react-core/src/HeaderLogo/index.d.ts +17 -0
  43. package/libs-ui/react-core/src/HeaderSecondaryLogo/index.d.ts +17 -0
  44. package/libs-ui/react-core/src/HeaderSection/index.d.ts +9 -0
  45. package/libs-ui/react-core/src/HeaderSubtitle/index.d.ts +9 -0
  46. package/libs-ui/react-core/src/HeaderTitle/index.d.ts +13 -0
  47. package/libs-ui/react-core/src/Hidden/index.d.ts +17 -0
  48. package/libs-ui/react-core/src/Hint/index.d.ts +6 -1
  49. package/libs-ui/react-core/src/List/index.d.ts +1 -1
  50. package/libs-ui/react-core/src/NormalText/index.d.ts +1 -1
  51. package/libs-ui/react-core/src/Paragraph/index.d.ts +1 -1
  52. package/libs-ui/react-core/src/SvgIcon/index.d.ts +1 -1
  53. package/libs-ui/react-core/src/TableHeadCell/index.d.ts +21 -0
  54. package/libs-ui/react-core/src/VisuallyHidden/index.d.ts +10 -0
  55. package/libs-ui/react-extensions/src/admin/PaginationLabel/index.d.ts +9 -0
  56. package/package.json +2 -2
  57. package/libs-ui/react-core/src/FileUpload/index.d.ts +0 -14
package/CHANGELOG.md CHANGED
@@ -1,6 +1,28 @@
1
1
  # Change Log - @digigov/form
2
2
 
3
- This log was last generated on Mon, 28 Feb 2022 15:04:49 GMT and should not be manually modified.
3
+ This log was last generated on Thu, 14 Apr 2022 12:32:51 GMT and should not be manually modified.
4
+
5
+ ## 0.6.2
6
+ Thu, 14 Apr 2022 12:32:51 GMT
7
+
8
+ ### Patches
9
+
10
+ - fix FileInput component with input and custom button, fix Field component to add children inside fieldset
11
+ - Remove empty option from Select component
12
+
13
+ ## 0.6.1
14
+ Tue, 05 Apr 2022 12:23:28 GMT
15
+
16
+ ### Patches
17
+
18
+ - Allow passing custom props on form element
19
+
20
+ ## 0.6.0
21
+ Wed, 30 Mar 2022 12:28:30 GMT
22
+
23
+ ### Minor changes
24
+
25
+ - Add support for `characterWidth` and `cellWidth` props in `@digigov/form/Field`, these props will be used by the `@digigov/react-core/TextInput`
4
26
 
5
27
  ## 0.5.3
6
28
  Mon, 28 Feb 2022 15:04:49 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
 
@@ -63,6 +64,7 @@ var FIELD_COMPONENTS = {
63
64
  component: _Input["default"]
64
65
  },
65
66
  file: {
67
+ wrapper: 'fieldset',
66
68
  component: _FileInput["default"]
67
69
  },
68
70
  date: {
@@ -102,7 +104,7 @@ var FieldContainer = function FieldContainer(_ref) {
102
104
  error: !!error
103
105
  }, /*#__PURE__*/_react["default"].createElement(_Fieldset["default"], null, /*#__PURE__*/_react["default"].createElement(_FieldsetLegend["default"], {
104
106
  size: "s"
105
- }, 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);
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));
106
108
  } else {
107
109
  return /*#__PURE__*/_react["default"].createElement(_Field["default"], {
108
110
  error: !!error
@@ -129,7 +131,8 @@ var FieldBase = function FieldBase(props) {
129
131
  extra = _props$extra === void 0 ? {} : _props$extra,
130
132
  layout = props.layout,
131
133
  error = props.error,
132
- register = props.register;
134
+ register = props.register,
135
+ componentProps = (0, _objectWithoutProperties2["default"])(props, _excluded);
133
136
 
134
137
  if (!enabled) {
135
138
  return null;
@@ -148,7 +151,7 @@ var FieldBase = function FieldBase(props) {
148
151
  var onChange = _ref2.onChange,
149
152
  onBlur = _ref2.onBlur,
150
153
  value = _ref2.value;
151
- return /*#__PURE__*/_react["default"].createElement(Component, {
154
+ return /*#__PURE__*/_react["default"].createElement(Component, (0, _extends2["default"])({
152
155
  name: name,
153
156
  onChange: onChange,
154
157
  onBlur: onBlur,
@@ -158,7 +161,7 @@ var FieldBase = function FieldBase(props) {
158
161
  error: !!error,
159
162
  type: type,
160
163
  disabled: editable === false
161
- });
164
+ }, componentProps));
162
165
  }
163
166
  }));
164
167
  }
@@ -168,7 +171,7 @@ var FieldBase = function FieldBase(props) {
168
171
  layout: layout,
169
172
  error: error,
170
173
  wrapper: wrapper
171
- }, Component !== null && Component !== void 0 && Component.render ? /*#__PURE__*/_react["default"].createElement(Component, {
174
+ }, Component !== null && Component !== void 0 && Component.render ? /*#__PURE__*/_react["default"].createElement(Component, (0, _extends2["default"])({
172
175
  name: name,
173
176
  ref: register,
174
177
  control: control,
@@ -176,7 +179,7 @@ var FieldBase = function FieldBase(props) {
176
179
  extra: extra,
177
180
  type: type,
178
181
  disabled: editable === false
179
- }) : /*#__PURE__*/_react["default"].createElement(Component, {
182
+ }, componentProps)) : /*#__PURE__*/_react["default"].createElement(Component, (0, _extends2["default"])({
180
183
  name: name,
181
184
  register: register,
182
185
  control: control,
@@ -184,7 +187,7 @@ var FieldBase = function FieldBase(props) {
184
187
  extra: extra,
185
188
  type: type,
186
189
  disabled: editable === false
187
- }));
190
+ }, componentProps)));
188
191
  };
189
192
 
190
193
  exports.FieldBase = FieldBase;
@@ -250,7 +253,7 @@ function calculateField(children, field, componentRegistry) {
250
253
  var Field = function Field(_ref3) {
251
254
  var name = _ref3.name,
252
255
  children = _ref3.children,
253
- customField = (0, _objectWithoutProperties2["default"])(_ref3, _excluded);
256
+ customField = (0, _objectWithoutProperties2["default"])(_ref3, _excluded2);
254
257
 
255
258
  var _useField = useField(name, customField !== null && customField !== void 0 && customField.type ? customField : null),
256
259
  field = _useField.field,
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';
@@ -27,6 +28,7 @@ var FIELD_COMPONENTS = {
27
28
  component: Input
28
29
  },
29
30
  file: {
31
+ wrapper: 'fieldset',
30
32
  component: FileInput
31
33
  },
32
34
  date: {
@@ -66,7 +68,7 @@ var FieldContainer = function FieldContainer(_ref) {
66
68
  error: !!error
67
69
  }, /*#__PURE__*/React.createElement(CoreFieldset, null, /*#__PURE__*/React.createElement(FieldsetLegend, {
68
70
  size: "s"
69
- }, label && label.primary, label && label.secondary && /*#__PURE__*/React.createElement(Hint, null, t(label.secondary)), error && /*#__PURE__*/React.createElement(ErrorMessage, null, t((error === null || error === void 0 ? void 0 : error.message) || '')))), children);
71
+ }, label && label.primary, label && label.secondary && /*#__PURE__*/React.createElement(Hint, null, t(label.secondary)), error && /*#__PURE__*/React.createElement(ErrorMessage, null, t((error === null || error === void 0 ? void 0 : error.message) || ''))), children));
70
72
  } else {
71
73
  return /*#__PURE__*/React.createElement(CoreField, {
72
74
  error: !!error
@@ -93,7 +95,8 @@ export var FieldBase = function FieldBase(props) {
93
95
  extra = _props$extra === void 0 ? {} : _props$extra,
94
96
  layout = props.layout,
95
97
  error = props.error,
96
- register = props.register;
98
+ register = props.register,
99
+ componentProps = _objectWithoutProperties(props, _excluded);
97
100
 
98
101
  if (!enabled) {
99
102
  return null;
@@ -112,7 +115,7 @@ export var FieldBase = function FieldBase(props) {
112
115
  var onChange = _ref2.onChange,
113
116
  onBlur = _ref2.onBlur,
114
117
  value = _ref2.value;
115
- return /*#__PURE__*/React.createElement(Component, {
118
+ return /*#__PURE__*/React.createElement(Component, _extends({
116
119
  name: name,
117
120
  onChange: onChange,
118
121
  onBlur: onBlur,
@@ -122,7 +125,7 @@ export var FieldBase = function FieldBase(props) {
122
125
  error: !!error,
123
126
  type: type,
124
127
  disabled: editable === false
125
- });
128
+ }, componentProps));
126
129
  }
127
130
  }));
128
131
  }
@@ -132,7 +135,7 @@ export var FieldBase = function FieldBase(props) {
132
135
  layout: layout,
133
136
  error: error,
134
137
  wrapper: wrapper
135
- }, Component !== null && Component !== void 0 && Component.render ? /*#__PURE__*/React.createElement(Component, {
138
+ }, Component !== null && Component !== void 0 && Component.render ? /*#__PURE__*/React.createElement(Component, _extends({
136
139
  name: name,
137
140
  ref: register,
138
141
  control: control,
@@ -140,7 +143,7 @@ export var FieldBase = function FieldBase(props) {
140
143
  extra: extra,
141
144
  type: type,
142
145
  disabled: editable === false
143
- }) : /*#__PURE__*/React.createElement(Component, {
146
+ }, componentProps)) : /*#__PURE__*/React.createElement(Component, _extends({
144
147
  name: name,
145
148
  register: register,
146
149
  control: control,
@@ -148,7 +151,7 @@ export var FieldBase = function FieldBase(props) {
148
151
  extra: extra,
149
152
  type: type,
150
153
  disabled: editable === false
151
- }));
154
+ }, componentProps)));
152
155
  };
153
156
 
154
157
  var useField = function useField(name, customField) {
@@ -213,7 +216,7 @@ function calculateField(children, field, componentRegistry) {
213
216
  export var Field = function Field(_ref3) {
214
217
  var name = _ref3.name,
215
218
  children = _ref3.children,
216
- customField = _objectWithoutProperties(_ref3, _excluded);
219
+ customField = _objectWithoutProperties(_ref3, _excluded2);
217
220
 
218
221
  var _useField = useField(name, customField !== null && customField !== void 0 && customField.type ? customField : null),
219
222
  field = _useField.field,
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';
@@ -28,7 +31,9 @@ export var FormBase = function FormBase(_ref) {
28
31
  reValidateMode = _ref.reValidateMode,
29
32
  shouldFocusError = _ref.shouldFocusError,
30
33
  criteriaMode = _ref.criteriaMode,
31
- componentRegistry = _ref.componentRegistry;
34
+ componentRegistry = _ref.componentRegistry,
35
+ props = _objectWithoutProperties(_ref, _excluded);
36
+
32
37
  var form = useForm({
33
38
  resolver: resolver,
34
39
  mode: mode,
@@ -58,9 +63,9 @@ export var FormBase = function FormBase(_ref) {
58
63
  };
59
64
  return /*#__PURE__*/React.createElement(FormContext.Provider, {
60
65
  value: ctx
61
- }, /*#__PURE__*/React.createElement("form", {
66
+ }, /*#__PURE__*/React.createElement("form", _extends({
62
67
  onSubmit: form.handleSubmit(handleSubmit)
63
- }, /*#__PURE__*/React.createElement(Grid, {
68
+ }, props), /*#__PURE__*/React.createElement(Grid, {
64
69
  container: true
65
70
  }, /*#__PURE__*/React.createElement(Grid, {
66
71
  item: true,
@@ -86,7 +91,9 @@ export function FormBuilder(_ref2) {
86
91
  _ref2$auto = _ref2.auto,
87
92
  auto = _ref2$auto === void 0 ? false : _ref2$auto,
88
93
  validatorRegistry = _ref2.validatorRegistry,
89
- componentRegistry = _ref2.componentRegistry;
94
+ componentRegistry = _ref2.componentRegistry,
95
+ props = _objectWithoutProperties(_ref2, _excluded2);
96
+
90
97
  var fieldsState = useRef(fields);
91
98
  var setFieldsState = useCallback(function (newFields) {
92
99
  fieldsState.current = newFields;
@@ -128,7 +135,7 @@ export function FormBuilder(_ref2) {
128
135
  }
129
136
  }
130
137
 
131
- return /*#__PURE__*/React.createElement(FormBase, {
138
+ return /*#__PURE__*/React.createElement(FormBase, _extends({
132
139
  resolver: resolver,
133
140
  fieldsetsMap: fieldsetsMap,
134
141
  fieldsMap: fieldsMap,
@@ -137,9 +144,10 @@ export function FormBuilder(_ref2) {
137
144
  reValidateMode: reValidateMode,
138
145
  mode: mode,
139
146
  shouldFocusError: shouldFocusError,
140
- criteriaMode: criteriaMode,
147
+ criteriaMode: criteriaMode
148
+ }, props, {
141
149
  onSubmit: onSubmit,
142
150
  componentRegistry: componentRegistry
143
- }, fieldChildren, children);
151
+ }), fieldChildren, children);
144
152
  }
145
153
  export default FormBuilder;
@@ -1,7 +1,9 @@
1
1
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
2
  import React, { useState } from 'react';
3
- import NormalText from '@digigov/react-core/NormalText';
4
- import FileUpload from '@digigov/react-core/FileUpload';
3
+ import clsx from 'clsx';
4
+ import { useTranslation } from '@digigov/ui/app/i18n';
5
+ import Paragraph from '@digigov/ui/typography/Paragraph';
6
+ import CoreHint from '@digigov/react-core/Hint';
5
7
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
6
8
  var FileInput = /*#__PURE__*/React.forwardRef(function FileInput(_ref, ref) {
7
9
  var name = _ref.name,
@@ -9,20 +11,29 @@ var FileInput = /*#__PURE__*/React.forwardRef(function FileInput(_ref, ref) {
9
11
  extra = _ref$extra === void 0 ? {} : _ref$extra,
10
12
  disabled = _ref.disabled;
11
13
 
14
+ var _useTranslation = useTranslation(),
15
+ t = _useTranslation.t;
16
+
12
17
  var _useState = useState([]),
13
18
  _useState2 = _slicedToArray(_useState, 2),
14
19
  files = _useState2[0],
15
20
  setFiles = _useState2[1];
16
21
 
17
- var filesLabel = extra.multiple ? 'αρχεία' : 'αρχείο';
18
22
  return /*#__PURE__*/React.createElement("div", {
19
- className: extra.className
20
- }, /*#__PURE__*/React.createElement(FileUpload, {
23
+ className: clsx(extra.className, files.length > 0 && 'govgr-uploaded-file', true && 'govgr-field-file')
24
+ }, files.length ? /*#__PURE__*/React.createElement(Paragraph, null, /*#__PURE__*/React.createElement("b", null, t('upload.file'), ":"), " ", "".concat(files.join(', '))) : /*#__PURE__*/React.createElement(CoreHint, null, t('upload.no_file')), /*#__PURE__*/React.createElement("label", {
25
+ tabIndex: 0,
26
+ role: "button",
27
+ className: clsx(extra.className, files.length === 0 && ['govgr-btn', 'govgr-btn-primary'], files.length > 0 && 'govgr-link', true && 'govgr-label-file')
28
+ }, /*#__PURE__*/React.createElement("input", {
21
29
  ref: ref,
30
+ type: "file",
22
31
  name: name,
23
- id: name,
24
32
  disabled: disabled,
25
- type: 'file',
33
+ style: {
34
+ display: 'none'
35
+ },
36
+ className: "govgr-file-upload",
26
37
  onChange: function onChange(e) {
27
38
  var target = e.target;
28
39
  var selectedFiles = Array.from(target.files).map(function (_ref2) {
@@ -31,6 +42,6 @@ var FileInput = /*#__PURE__*/React.forwardRef(function FileInput(_ref, ref) {
31
42
  });
32
43
  setFiles(selectedFiles);
33
44
  }
34
- }), /*#__PURE__*/React.createElement(NormalText, null, files.length ? files.join(', ') : "\u0394\u03B5\u03BD \u03AD\u03C7\u03B5\u03C4\u03B5 \u03B5\u03C0\u03B9\u03BB\u03AD\u03BE\u03B5\u03B9 ".concat(filesLabel)));
45
+ }), files.length ? t('upload.change_file') : t('upload.choose_file')));
35
46
  });
36
47
  export default FileInput;
@@ -1,11 +1,6 @@
1
1
  import React from 'react';
2
2
  import CoreSelect from '@digigov/react-core/Select';
3
3
  import SelectOption from '@digigov/react-core/SelectOption';
4
-
5
- var _ref2 = /*#__PURE__*/React.createElement(SelectOption, {
6
- value: ""
7
- });
8
-
9
4
  export var Select = /*#__PURE__*/React.forwardRef(function WrappedSelect(_ref, ref) {
10
5
  var name = _ref.name,
11
6
  _ref$extra = _ref.extra,
@@ -17,9 +12,9 @@ export var Select = /*#__PURE__*/React.forwardRef(function WrappedSelect(_ref, r
17
12
  ref: ref,
18
13
  name: name,
19
14
  disabled: disabled
20
- }, _ref2, options.map(function (_ref3) {
21
- var value = _ref3.value,
22
- label = _ref3.label;
15
+ }, options.map(function (_ref2) {
16
+ var value = _ref2.value,
17
+ label = _ref2.label;
23
18
  return /*#__PURE__*/React.createElement(SelectOption, {
24
19
  key: value,
25
20
  value: value
@@ -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';
@@ -27,6 +28,7 @@ var FIELD_COMPONENTS = {
27
28
  component: Input
28
29
  },
29
30
  file: {
31
+ wrapper: 'fieldset',
30
32
  component: FileInput
31
33
  },
32
34
  date: {
@@ -66,7 +68,7 @@ var FieldContainer = function FieldContainer(_ref) {
66
68
  error: !!error
67
69
  }, /*#__PURE__*/React.createElement(CoreFieldset, null, /*#__PURE__*/React.createElement(FieldsetLegend, {
68
70
  size: "s"
69
- }, label && label.primary, label && label.secondary && /*#__PURE__*/React.createElement(Hint, null, t(label.secondary)), error && /*#__PURE__*/React.createElement(ErrorMessage, null, t((error === null || error === void 0 ? void 0 : error.message) || '')))), children);
71
+ }, label && label.primary, label && label.secondary && /*#__PURE__*/React.createElement(Hint, null, t(label.secondary)), error && /*#__PURE__*/React.createElement(ErrorMessage, null, t((error === null || error === void 0 ? void 0 : error.message) || ''))), children));
70
72
  } else {
71
73
  return /*#__PURE__*/React.createElement(CoreField, {
72
74
  error: !!error
@@ -93,7 +95,8 @@ export var FieldBase = function FieldBase(props) {
93
95
  extra = _props$extra === void 0 ? {} : _props$extra,
94
96
  layout = props.layout,
95
97
  error = props.error,
96
- register = props.register;
98
+ register = props.register,
99
+ componentProps = _objectWithoutProperties(props, _excluded);
97
100
 
98
101
  if (!enabled) {
99
102
  return null;
@@ -112,7 +115,7 @@ export var FieldBase = function FieldBase(props) {
112
115
  var onChange = _ref2.onChange,
113
116
  onBlur = _ref2.onBlur,
114
117
  value = _ref2.value;
115
- return /*#__PURE__*/React.createElement(Component, {
118
+ return /*#__PURE__*/React.createElement(Component, _extends({
116
119
  name: name,
117
120
  onChange: onChange,
118
121
  onBlur: onBlur,
@@ -122,7 +125,7 @@ export var FieldBase = function FieldBase(props) {
122
125
  error: !!error,
123
126
  type: type,
124
127
  disabled: editable === false
125
- });
128
+ }, componentProps));
126
129
  }
127
130
  }));
128
131
  }
@@ -132,7 +135,7 @@ export var FieldBase = function FieldBase(props) {
132
135
  layout: layout,
133
136
  error: error,
134
137
  wrapper: wrapper
135
- }, Component !== null && Component !== void 0 && Component.render ? /*#__PURE__*/React.createElement(Component, {
138
+ }, Component !== null && Component !== void 0 && Component.render ? /*#__PURE__*/React.createElement(Component, _extends({
136
139
  name: name,
137
140
  ref: register,
138
141
  control: control,
@@ -140,7 +143,7 @@ export var FieldBase = function FieldBase(props) {
140
143
  extra: extra,
141
144
  type: type,
142
145
  disabled: editable === false
143
- }) : /*#__PURE__*/React.createElement(Component, {
146
+ }, componentProps)) : /*#__PURE__*/React.createElement(Component, _extends({
144
147
  name: name,
145
148
  register: register,
146
149
  control: control,
@@ -148,7 +151,7 @@ export var FieldBase = function FieldBase(props) {
148
151
  extra: extra,
149
152
  type: type,
150
153
  disabled: editable === false
151
- }));
154
+ }, componentProps)));
152
155
  };
153
156
 
154
157
  var useField = function useField(name, customField) {
@@ -213,7 +216,7 @@ function calculateField(children, field, componentRegistry) {
213
216
  export var Field = function Field(_ref3) {
214
217
  var name = _ref3.name,
215
218
  children = _ref3.children,
216
- customField = _objectWithoutProperties(_ref3, _excluded);
219
+ customField = _objectWithoutProperties(_ref3, _excluded2);
217
220
 
218
221
  var _useField = useField(name, customField !== null && customField !== void 0 && customField.type ? customField : null),
219
222
  field = _useField.field,
package/esm/index.js CHANGED
@@ -1,11 +1,14 @@
1
- /** @license Digigov v0.5.3
1
+ /** @license Digigov v0.6.2
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';
@@ -33,7 +36,9 @@ export var FormBase = function FormBase(_ref) {
33
36
  reValidateMode = _ref.reValidateMode,
34
37
  shouldFocusError = _ref.shouldFocusError,
35
38
  criteriaMode = _ref.criteriaMode,
36
- componentRegistry = _ref.componentRegistry;
39
+ componentRegistry = _ref.componentRegistry,
40
+ props = _objectWithoutProperties(_ref, _excluded);
41
+
37
42
  var form = useForm({
38
43
  resolver: resolver,
39
44
  mode: mode,
@@ -63,9 +68,9 @@ export var FormBase = function FormBase(_ref) {
63
68
  };
64
69
  return /*#__PURE__*/React.createElement(FormContext.Provider, {
65
70
  value: ctx
66
- }, /*#__PURE__*/React.createElement("form", {
71
+ }, /*#__PURE__*/React.createElement("form", _extends({
67
72
  onSubmit: form.handleSubmit(handleSubmit)
68
- }, /*#__PURE__*/React.createElement(Grid, {
73
+ }, props), /*#__PURE__*/React.createElement(Grid, {
69
74
  container: true
70
75
  }, /*#__PURE__*/React.createElement(Grid, {
71
76
  item: true,
@@ -91,7 +96,9 @@ export function FormBuilder(_ref2) {
91
96
  _ref2$auto = _ref2.auto,
92
97
  auto = _ref2$auto === void 0 ? false : _ref2$auto,
93
98
  validatorRegistry = _ref2.validatorRegistry,
94
- componentRegistry = _ref2.componentRegistry;
99
+ componentRegistry = _ref2.componentRegistry,
100
+ props = _objectWithoutProperties(_ref2, _excluded2);
101
+
95
102
  var fieldsState = useRef(fields);
96
103
  var setFieldsState = useCallback(function (newFields) {
97
104
  fieldsState.current = newFields;
@@ -133,7 +140,7 @@ export function FormBuilder(_ref2) {
133
140
  }
134
141
  }
135
142
 
136
- return /*#__PURE__*/React.createElement(FormBase, {
143
+ return /*#__PURE__*/React.createElement(FormBase, _extends({
137
144
  resolver: resolver,
138
145
  fieldsetsMap: fieldsetsMap,
139
146
  fieldsMap: fieldsMap,
@@ -142,9 +149,10 @@ export function FormBuilder(_ref2) {
142
149
  reValidateMode: reValidateMode,
143
150
  mode: mode,
144
151
  shouldFocusError: shouldFocusError,
145
- criteriaMode: criteriaMode,
152
+ criteriaMode: criteriaMode
153
+ }, props, {
146
154
  onSubmit: onSubmit,
147
155
  componentRegistry: componentRegistry
148
- }, fieldChildren, children);
156
+ }), fieldChildren, children);
149
157
  }
150
158
  export default FormBuilder;
@@ -1,7 +1,9 @@
1
1
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
2
  import React, { useState } from 'react';
3
- import NormalText from '@digigov/react-core/NormalText';
4
- import FileUpload from '@digigov/react-core/FileUpload';
3
+ import clsx from 'clsx';
4
+ import { useTranslation } from '@digigov/ui/app/i18n';
5
+ import Paragraph from '@digigov/ui/typography/Paragraph';
6
+ import CoreHint from '@digigov/react-core/Hint';
5
7
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
6
8
  var FileInput = /*#__PURE__*/React.forwardRef(function FileInput(_ref, ref) {
7
9
  var name = _ref.name,
@@ -9,20 +11,29 @@ var FileInput = /*#__PURE__*/React.forwardRef(function FileInput(_ref, ref) {
9
11
  extra = _ref$extra === void 0 ? {} : _ref$extra,
10
12
  disabled = _ref.disabled;
11
13
 
14
+ var _useTranslation = useTranslation(),
15
+ t = _useTranslation.t;
16
+
12
17
  var _useState = useState([]),
13
18
  _useState2 = _slicedToArray(_useState, 2),
14
19
  files = _useState2[0],
15
20
  setFiles = _useState2[1];
16
21
 
17
- var filesLabel = extra.multiple ? 'αρχεία' : 'αρχείο';
18
22
  return /*#__PURE__*/React.createElement("div", {
19
- className: extra.className
20
- }, /*#__PURE__*/React.createElement(FileUpload, {
23
+ className: clsx(extra.className, files.length > 0 && 'govgr-uploaded-file', true && 'govgr-field-file')
24
+ }, files.length ? /*#__PURE__*/React.createElement(Paragraph, null, /*#__PURE__*/React.createElement("b", null, t('upload.file'), ":"), " ", "".concat(files.join(', '))) : /*#__PURE__*/React.createElement(CoreHint, null, t('upload.no_file')), /*#__PURE__*/React.createElement("label", {
25
+ tabIndex: 0,
26
+ role: "button",
27
+ className: clsx(extra.className, files.length === 0 && ['govgr-btn', 'govgr-btn-primary'], files.length > 0 && 'govgr-link', true && 'govgr-label-file')
28
+ }, /*#__PURE__*/React.createElement("input", {
21
29
  ref: ref,
30
+ type: "file",
22
31
  name: name,
23
- id: name,
24
32
  disabled: disabled,
25
- type: 'file',
33
+ style: {
34
+ display: 'none'
35
+ },
36
+ className: "govgr-file-upload",
26
37
  onChange: function onChange(e) {
27
38
  var target = e.target;
28
39
  var selectedFiles = Array.from(target.files).map(function (_ref2) {
@@ -31,6 +42,6 @@ var FileInput = /*#__PURE__*/React.forwardRef(function FileInput(_ref, ref) {
31
42
  });
32
43
  setFiles(selectedFiles);
33
44
  }
34
- }), /*#__PURE__*/React.createElement(NormalText, null, files.length ? files.join(', ') : "\u0394\u03B5\u03BD \u03AD\u03C7\u03B5\u03C4\u03B5 \u03B5\u03C0\u03B9\u03BB\u03AD\u03BE\u03B5\u03B9 ".concat(filesLabel)));
45
+ }), files.length ? t('upload.change_file') : t('upload.choose_file')));
35
46
  });
36
47
  export default FileInput;
@@ -1,11 +1,6 @@
1
1
  import React from 'react';
2
2
  import CoreSelect from '@digigov/react-core/Select';
3
3
  import SelectOption from '@digigov/react-core/SelectOption';
4
-
5
- var _ref2 = /*#__PURE__*/React.createElement(SelectOption, {
6
- value: ""
7
- });
8
-
9
4
  export var Select = /*#__PURE__*/React.forwardRef(function WrappedSelect(_ref, ref) {
10
5
  var name = _ref.name,
11
6
  _ref$extra = _ref.extra,
@@ -17,9 +12,9 @@ export var Select = /*#__PURE__*/React.forwardRef(function WrappedSelect(_ref, r
17
12
  ref: ref,
18
13
  name: name,
19
14
  disabled: disabled
20
- }, _ref2, options.map(function (_ref3) {
21
- var value = _ref3.value,
22
- label = _ref3.label;
15
+ }, options.map(function (_ref2) {
16
+ var value = _ref2.value,
17
+ label = _ref2.label;
23
18
  return /*#__PURE__*/React.createElement(SelectOption, {
24
19
  key: value,
25
20
  value: value