@digigov/form 0.4.6 → 0.4.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (110) hide show
  1. package/CHANGELOG.md +28 -1
  2. package/Field/index.js +35 -45
  3. package/Fieldset/index.js +10 -14
  4. package/Questions/Step/index.js +1 -0
  5. package/es/Field/index.js +29 -41
  6. package/es/Fieldset/index.js +9 -14
  7. package/es/Questions/Step/index.js +2 -0
  8. package/es/index.js +2 -0
  9. package/es/index.mdx +0 -3
  10. package/es/inputs/Checkboxes/index.js +19 -51
  11. package/es/inputs/FileInput/index.js +8 -42
  12. package/es/inputs/Input/index.js +24 -18
  13. package/es/inputs/Label/index.js +6 -34
  14. package/es/inputs/Radio/index.js +24 -87
  15. package/es/inputs/Select/index.js +10 -31
  16. package/es/utils.js +1 -0
  17. package/es/validators.js +4 -4
  18. package/esm/Field/index.js +29 -41
  19. package/esm/Fieldset/index.js +9 -14
  20. package/esm/Questions/Step/index.js +2 -0
  21. package/esm/index.js +3 -1
  22. package/esm/index.mdx +0 -3
  23. package/esm/inputs/Checkboxes/index.js +19 -51
  24. package/esm/inputs/FileInput/index.js +8 -42
  25. package/esm/inputs/Input/index.js +24 -18
  26. package/esm/inputs/Label/index.js +6 -34
  27. package/esm/inputs/Radio/index.js +24 -87
  28. package/esm/inputs/Select/index.js +10 -31
  29. package/esm/utils.js +1 -0
  30. package/esm/validators.js +4 -4
  31. package/index.js +1 -0
  32. package/index.mdx +0 -3
  33. package/inputs/Checkboxes/index.js +19 -53
  34. package/inputs/FileInput/index.js +8 -45
  35. package/inputs/Input/index.js +25 -18
  36. package/inputs/Label/index.js +6 -37
  37. package/inputs/Radio/index.js +26 -95
  38. package/inputs/Select/index.js +10 -34
  39. package/libs/form/src/Field/index.d.ts +10 -7
  40. package/libs/form/src/Fieldset/index.d.ts +9 -3
  41. package/libs/form/src/index.d.ts +1 -0
  42. package/libs/form/src/inputs/Checkboxes/index.d.ts +2 -1
  43. package/libs/form/src/inputs/Input/index.d.ts +1 -1
  44. package/libs/form/src/inputs/Radio/index.d.ts +1 -11
  45. package/libs/form/src/validators.d.ts +4 -2
  46. package/libs/ui/src/core/Accordion/index.d.ts +3 -3
  47. package/libs/ui/src/core/Blockquote/index.d.ts +1 -1
  48. package/libs/ui/src/core/Button/BackButton.d.ts +1 -1
  49. package/libs/ui/src/core/Button/ButtonLink.d.ts +1 -1
  50. package/libs/ui/src/core/Button/index.d.ts +1 -1
  51. package/libs/ui/src/core/NavList/NavList.d.ts +1 -1
  52. package/libs/ui/src/core/NavList/NavListItemBase.d.ts +1 -1
  53. package/libs/ui/src/typography/Caption.d.ts +1 -1
  54. package/libs-ui/react-core/src/Accordion/index.d.ts +1 -1
  55. package/libs-ui/react-core/src/AccordionControls/index.d.ts +1 -1
  56. package/libs-ui/react-core/src/AccordionSection/index.d.ts +1 -1
  57. package/libs-ui/react-core/src/AccordionSectionContent/index.d.ts +1 -1
  58. package/libs-ui/react-core/src/AccordionSectionHeader/index.d.ts +1 -1
  59. package/libs-ui/react-core/src/BackLink/index.d.ts +1 -1
  60. package/libs-ui/react-core/src/Blockquote/index.d.ts +1 -1
  61. package/libs-ui/react-core/src/Button/index.d.ts +1 -1
  62. package/libs-ui/react-core/src/ButtonLink/index.d.ts +1 -1
  63. package/libs-ui/react-core/src/CallToAction/index.d.ts +1 -1
  64. package/libs-ui/react-core/src/Checkbox/index.d.ts +11 -0
  65. package/libs-ui/react-core/src/CheckboxItem/index.d.ts +19 -0
  66. package/libs-ui/react-core/src/Details/index.d.ts +1 -1
  67. package/libs-ui/react-core/src/DetailsContent/index.d.ts +1 -1
  68. package/libs-ui/react-core/src/DetailsSummary/index.d.ts +1 -1
  69. package/libs-ui/react-core/src/ErrorMessage/index.d.ts +11 -0
  70. package/libs-ui/react-core/src/ErrorSummary/index.d.ts +1 -1
  71. package/libs-ui/react-core/src/Field/index.d.ts +13 -0
  72. package/libs-ui/react-core/src/Fieldset/index.d.ts +10 -0
  73. package/libs-ui/react-core/src/FieldsetLegend/index.d.ts +19 -0
  74. package/libs-ui/react-core/src/FileUpload/index.d.ts +14 -0
  75. package/libs-ui/react-core/src/Heading/index.d.ts +1 -1
  76. package/libs-ui/react-core/src/HeadingCaption/index.d.ts +1 -1
  77. package/libs-ui/react-core/src/Hint/index.d.ts +9 -0
  78. package/libs-ui/react-core/src/Label/index.d.ts +9 -0
  79. package/libs-ui/react-core/src/LabelTitle/index.d.ts +19 -0
  80. package/libs-ui/react-core/src/List/index.d.ts +1 -1
  81. package/libs-ui/react-core/src/ListItem/index.d.ts +1 -1
  82. package/libs-ui/react-core/src/NormalText/index.d.ts +1 -1
  83. package/libs-ui/react-core/src/NotificationBanner/index.d.ts +1 -1
  84. package/libs-ui/react-core/src/NotificationBannerContent/index.d.ts +1 -1
  85. package/libs-ui/react-core/src/NotificationBannerHeader/index.d.ts +1 -1
  86. package/libs-ui/react-core/src/NotificationBannerHeading/index.d.ts +1 -1
  87. package/libs-ui/react-core/src/Paragraph/index.d.ts +1 -1
  88. package/libs-ui/react-core/src/PhaseBanner/index.d.ts +1 -1
  89. package/libs-ui/react-core/src/PhaseBannerTag/index.d.ts +1 -1
  90. package/libs-ui/react-core/src/Radio/index.d.ts +10 -0
  91. package/libs-ui/react-core/src/RadioItem/index.d.ts +18 -0
  92. package/libs-ui/react-core/src/SectionBreak/index.d.ts +1 -1
  93. package/libs-ui/react-core/src/Select/index.d.ts +14 -0
  94. package/libs-ui/react-core/src/SelectOption/index.d.ts +18 -0
  95. package/libs-ui/react-core/src/SummaryList/index.d.ts +1 -1
  96. package/libs-ui/react-core/src/SummaryListItem/index.d.ts +1 -1
  97. package/libs-ui/react-core/src/SummaryListItemAction/index.d.ts +1 -1
  98. package/libs-ui/react-core/src/SummaryListItemKey/index.d.ts +1 -1
  99. package/libs-ui/react-core/src/SummaryListItemValue/index.d.ts +1 -1
  100. package/libs-ui/react-core/src/Tabs/index.d.ts +1 -1
  101. package/libs-ui/react-core/src/TabsHeading/index.d.ts +1 -1
  102. package/libs-ui/react-core/src/TabsList/index.d.ts +1 -1
  103. package/libs-ui/react-core/src/TabsListItem/index.d.ts +1 -1
  104. package/libs-ui/react-core/src/TabsPanel/index.d.ts +1 -1
  105. package/libs-ui/react-core/src/TextArea/index.d.ts +23 -0
  106. package/libs-ui/react-core/src/TextInput/index.d.ts +28 -0
  107. package/libs-ui/react-core/src/WarningText/index.d.ts +1 -1
  108. package/package.json +2 -2
  109. package/utils.js +1 -0
  110. package/validators.js +4 -4
@@ -1,35 +1,13 @@
1
1
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
2
  import React, { useState } from 'react';
3
- import { makeStyles } from '@material-ui/core/styles';
4
- import TextField from '@material-ui/core/TextField';
5
- import NormalText from '@digigov/ui/typography/NormalText';
6
- import Button from '@digigov/ui/core/Button';
7
- var useStyles = makeStyles(function (theme) {
8
- return {
9
- root: {
10
- '& > *': {
11
- margin: theme.spacing(1)
12
- }
13
- },
14
- input: {
15
- display: 'none'
16
- },
17
- button: {
18
- margin: 0
19
- },
20
- text: {
21
- marginLeft: theme.spacing(2),
22
- position: 'relative',
23
- top: theme.spacing(0.5)
24
- }
25
- };
26
- });
3
+ import NormalText from '@digigov/react-core/NormalText';
4
+ import FileUpload from '@digigov/react-core/FileUpload';
5
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
27
6
  var FileInput = /*#__PURE__*/React.forwardRef(function FileInput(_ref, ref) {
28
7
  var name = _ref.name,
29
8
  _ref$extra = _ref.extra,
30
9
  extra = _ref$extra === void 0 ? {} : _ref$extra,
31
10
  disabled = _ref.disabled;
32
- var classes = useStyles();
33
11
 
34
12
  var _useState = useState([]),
35
13
  _useState2 = _slicedToArray(_useState, 2),
@@ -38,16 +16,13 @@ var FileInput = /*#__PURE__*/React.forwardRef(function FileInput(_ref, ref) {
38
16
 
39
17
  var filesLabel = extra.multiple ? 'αρχεία' : 'αρχείο';
40
18
  return /*#__PURE__*/React.createElement("div", {
41
- className: (classes.root, extra.className)
42
- }, /*#__PURE__*/React.createElement(TextField, {
19
+ className: extra.className
20
+ }, /*#__PURE__*/React.createElement(FileUpload, {
21
+ ref: ref,
43
22
  name: name,
44
23
  id: name,
45
24
  disabled: disabled,
46
25
  type: 'file',
47
- inputProps: {
48
- multiple: extra.multiple,
49
- accept: extra.accept
50
- },
51
26
  onChange: function onChange(e) {
52
27
  var target = e.target;
53
28
  var selectedFiles = Array.from(target.files).map(function (_ref2) {
@@ -55,16 +30,7 @@ var FileInput = /*#__PURE__*/React.forwardRef(function FileInput(_ref, ref) {
55
30
  return name;
56
31
  });
57
32
  setFiles(selectedFiles);
58
- },
59
- className: classes.input,
60
- inputRef: ref
61
- }), /*#__PURE__*/React.createElement("label", {
62
- htmlFor: name
63
- }, /*#__PURE__*/React.createElement(Button, {
64
- color: "secondary",
65
- className: classes.button
66
- }, "\u0395\u03C0\u03B9\u03BB\u03AD\u03BE\u03C4\u03B5 ", filesLabel)), /*#__PURE__*/React.createElement(NormalText, {
67
- className: classes.text
68
- }, files.length ? files.join(', ') : "\u0394\u03B5\u03BD \u03AD\u03C7\u03B5\u03C4\u03B5 \u03B5\u03C0\u03B9\u03BB\u03AD\u03BE\u03B5\u03B9 ".concat(filesLabel)));
33
+ }
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)));
69
35
  });
70
36
  export default FileInput;
@@ -2,7 +2,8 @@ import _extends from "@babel/runtime/helpers/extends";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
3
  var _excluded = ["name", "type", "extra"];
4
4
  import React from 'react';
5
- import TextField from '@material-ui/core/TextField';
5
+ import TextInput from '@digigov/react-core/TextInput';
6
+ import TextArea from '@digigov/react-core/TextArea';
6
7
  var TYPES_MAP = {
7
8
  string: 'text',
8
9
  "int": 'number',
@@ -16,11 +17,12 @@ var Input = /*#__PURE__*/React.forwardRef(function WrappedInput(_ref, ref) {
16
17
  props = _objectWithoutProperties(_ref, _excluded);
17
18
 
18
19
  var _ref2 = extra || {},
19
- multiline = _ref2.multiline,
20
- rows = _ref2.rows,
21
- _ref2$fullWidth = _ref2.fullWidth,
22
- fullWidth = _ref2$fullWidth === void 0 ? true : _ref2$fullWidth,
23
- className = _ref2.className; // if enforced to multiline use true. Derive from type otherwise.
20
+ _ref2$multiline = _ref2.multiline,
21
+ multiline = _ref2$multiline === void 0 ? false : _ref2$multiline,
22
+ rows = _ref2.rows;
23
+
24
+ var _ref3 = extra || {},
25
+ className = _ref3.className; // if enforced to multiline use true. Derive from type otherwise.
24
26
 
25
27
 
26
28
  multiline = multiline === true || type === 'text'; // use explicit rows value if set. Derive from multiline otherwise.
@@ -28,17 +30,21 @@ var Input = /*#__PURE__*/React.forwardRef(function WrappedInput(_ref, ref) {
28
30
  rows = rows || (multiline ? 4 : 1); // translate dilosi type to HTML Input type
29
31
 
30
32
  var fieldType = TYPES_MAP[type || 'text'] || 'text';
31
- return /*#__PURE__*/React.createElement(TextField, _extends({
32
- id: name,
33
- name: name,
34
- type: fieldType,
35
- className: className,
36
- fullWidth: fullWidth,
37
- multiline: multiline,
38
- rows: rows,
39
- margin: "normal",
40
- variant: "outlined",
41
- inputRef: ref
42
- }, props));
33
+
34
+ if (multiline === true) {
35
+ return /*#__PURE__*/React.createElement(TextArea, _extends({
36
+ name: name,
37
+ className: className,
38
+ rows: rows,
39
+ ref: ref
40
+ }, props));
41
+ } else {
42
+ return /*#__PURE__*/React.createElement(TextInput, _extends({
43
+ name: name,
44
+ type: fieldType,
45
+ className: className,
46
+ ref: ref
47
+ }, props));
48
+ }
43
49
  });
44
50
  export default Input;
@@ -1,29 +1,11 @@
1
1
  import React from 'react';
2
- import clsx from 'clsx';
3
- import Grid from '@material-ui/core/Grid';
4
- import { makeStyles } from '@material-ui/core/styles';
5
- import NormalText from '@digigov/ui/typography/NormalText';
2
+ import LabelTitle from '@digigov/react-core/LabelTitle';
3
+ import Hint from '@digigov/react-core/Hint';
6
4
  import { useTranslation } from '@digigov/ui/app/i18n';
7
- var useLabelStyles = makeStyles(function (theme) {
8
- return {
9
- labels: {
10
- padding: theme.spacing(1, 0)
11
- },
12
- primaryLabel: {
13
- fontWeight: 500,
14
- lineHeight: '1.5em'
15
- },
16
- secondaryLabel: {
17
- fontWeight: 'normal',
18
- color: theme.palette.grey['700']
19
- }
20
- };
21
- });
22
5
  export var Label = function Label(_ref) {
23
6
  var className = _ref.className,
24
7
  label = _ref.label,
25
8
  value = _ref.value;
26
- var classes = useLabelStyles();
27
9
 
28
10
  var _useTranslation = useTranslation(),
29
11
  t = _useTranslation.t;
@@ -32,20 +14,10 @@ export var Label = function Label(_ref) {
32
14
  return null;
33
15
  }
34
16
 
35
- return /*#__PURE__*/React.createElement(Grid, {
36
- container: true,
37
- className: clsx(classes.labels, className)
38
- }, /*#__PURE__*/React.createElement(Grid, {
39
- item: true,
40
- xs: 12
41
- }, /*#__PURE__*/React.createElement(NormalText, {
42
- className: classes.primaryLabel
43
- }, label && label.primary && t(label.primary) || value)), label && label.secondary && /*#__PURE__*/React.createElement(Grid, {
44
- item: true,
45
- xs: 12
46
- }, /*#__PURE__*/React.createElement(NormalText, {
47
- className: classes.secondaryLabel
48
- }, t(label.secondary))));
17
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(LabelTitle, {
18
+ className: className,
19
+ size: "s"
20
+ }, label && label.primary && t(label.primary) || value), label && label.secondary && /*#__PURE__*/React.createElement(Hint, null, t(label.secondary)));
49
21
  };
50
22
  Label.defaultProps = {
51
23
  label: {}
@@ -1,79 +1,18 @@
1
1
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
2
  import React, { useState } from 'react';
3
- import clsx from 'clsx';
4
- import { makeStyles } from '@material-ui/core/styles';
5
- import Radio from '@material-ui/core/Radio';
6
- import RadioGroup from '@material-ui/core/RadioGroup';
7
- import FormControlLabel from '@material-ui/core/FormControlLabel';
8
- import FormControl from '@material-ui/core/FormControl';
9
- import Label from '@digigov/form/inputs/Label';
3
+ import Radio from '@digigov/react-core/Radio';
4
+ import RadioItem from '@digigov/react-core/RadioItem';
5
+ import { useTranslation } from '@digigov/ui/app/i18n';
10
6
  import { useWatch } from 'react-hook-form';
11
- var useRadioButtonStyles = makeStyles(function (theme) {
12
- return {
13
- dense: {
14
- margin: theme.spacing(1, 0)
15
- },
16
- formControlLabelActive: {
17
- backgroundColor: theme.palette.grey['200'],
18
- border: "2px solid ".concat(theme.palette.primary.main)
19
- },
20
- formControlLabel: {
21
- width: '100%',
22
- alignItems: 'flex-start',
23
- fontWeight: 'bolder',
24
- padding: theme.spacing(0.5),
25
- margin: theme.spacing(0.5, 0)
26
- }
27
- };
28
- });
29
-
30
- var _ref2 = /*#__PURE__*/React.createElement(Radio, {
31
- color: "primary"
32
- });
33
-
34
- export var RadioButton = function RadioButton(_ref) {
35
- var dense = _ref.dense,
36
- value = _ref.value,
37
- label = _ref.label,
38
- register = _ref.register,
39
- active = _ref.active,
7
+ import Hint from '@digigov/react-core/Hint';
8
+ export var RadioButtonsGroup = function RadioButtonsGroup(_ref) {
9
+ var register = _ref.register,
40
10
  name = _ref.name,
11
+ control = _ref.control,
12
+ _ref$extra = _ref.extra,
13
+ options = _ref$extra.options,
14
+ className = _ref$extra.className,
41
15
  disabled = _ref.disabled;
42
- var classes = useRadioButtonStyles();
43
- return /*#__PURE__*/React.createElement(FormControlLabel, {
44
- className: clsx(classes.formControlLabel, active && classes.formControlLabelActive, dense && classes.dense),
45
- value: value,
46
- name: name,
47
- disabled: disabled,
48
- inputRef: register,
49
- control: _ref2,
50
- label: /*#__PURE__*/React.createElement(Label, {
51
- label: label,
52
- value: value
53
- })
54
- });
55
- };
56
- var useRadioButtonsGroupStyles = makeStyles(function (theme) {
57
- return {
58
- formControl: {
59
- margin: theme.spacing(0, 0, 2, 0),
60
- width: '100%'
61
- },
62
- dense: {
63
- margin: theme.spacing(1, 0)
64
- }
65
- };
66
- });
67
- export var RadioButtonsGroup = function RadioButtonsGroup(_ref3) {
68
- var name = _ref3.name,
69
- register = _ref3.register,
70
- control = _ref3.control,
71
- _ref3$extra = _ref3.extra,
72
- options = _ref3$extra.options,
73
- dense = _ref3$extra.dense,
74
- className = _ref3$extra.className,
75
- disabled = _ref3.disabled;
76
- var classes = useRadioButtonsGroupStyles();
77
16
  var currentValue = useWatch({
78
17
  control: control,
79
18
  name: name
@@ -83,26 +22,24 @@ export var RadioButtonsGroup = function RadioButtonsGroup(_ref3) {
83
22
  _useState2 = _slicedToArray(_useState, 1),
84
23
  defaultValue = _useState2[0];
85
24
 
86
- return /*#__PURE__*/React.createElement(FormControl, {
87
- component: "fieldset",
88
- className: clsx(className, classes.formControl, dense && classes.dense)
89
- }, /*#__PURE__*/React.createElement(RadioGroup, {
25
+ var _useTranslation = useTranslation(),
26
+ t = _useTranslation.t;
27
+
28
+ return /*#__PURE__*/React.createElement(Radio, {
29
+ className: className,
90
30
  defaultValue: defaultValue,
91
- id: name,
92
- name: name
93
- }, options.map(function (_ref4) {
94
- var label = _ref4.label,
95
- v = _ref4.value,
96
- optionDisabled = _ref4.disabled;
97
- return /*#__PURE__*/React.createElement(RadioButton, {
31
+ id: name
32
+ }, options.map(function (_ref2) {
33
+ var label = _ref2.label,
34
+ v = _ref2.value,
35
+ optionDisabled = _ref2.disabled;
36
+ return /*#__PURE__*/React.createElement(RadioItem, {
37
+ ref: register,
98
38
  key: v,
99
- label: label,
100
39
  name: name,
101
- active: v === currentValue,
102
40
  value: v,
103
- register: register,
104
41
  disabled: disabled || optionDisabled
105
- });
106
- })));
42
+ }, label && label.primary && t(label.primary) || v, label && label.secondary && /*#__PURE__*/React.createElement(Hint, null, t(label.secondary)));
43
+ }));
107
44
  };
108
45
  export default RadioButtonsGroup;
@@ -1,20 +1,8 @@
1
1
  import React from 'react';
2
- import clsx from 'clsx';
3
- import { makeStyles } from '@material-ui/core/styles';
4
- import FormControl from '@material-ui/core/FormControl';
5
- import MuiSelect from '@material-ui/core/Select';
6
- var useSelectStyles = makeStyles(function (theme) {
7
- return {
8
- formControl: {
9
- minWidth: 120
10
- },
11
- selectEmpty: {
12
- marginTop: theme.spacing(2)
13
- }
14
- };
15
- });
2
+ import CoreSelect from '@digigov/react-core/Select';
3
+ import SelectOption from '@digigov/react-core/SelectOption';
16
4
 
17
- var _ref2 = /*#__PURE__*/React.createElement("option", {
5
+ var _ref2 = /*#__PURE__*/React.createElement(SelectOption, {
18
6
  value: ""
19
7
  });
20
8
 
@@ -24,27 +12,18 @@ export var Select = /*#__PURE__*/React.forwardRef(function WrappedSelect(_ref, r
24
12
  options = _ref$extra.options,
25
13
  className = _ref$extra.className,
26
14
  disabled = _ref.disabled;
27
- var classes = useSelectStyles();
28
- return /*#__PURE__*/React.createElement(FormControl, {
29
- variant: "outlined",
30
- className: clsx(className, classes.formControl)
31
- }, /*#__PURE__*/React.createElement(MuiSelect, {
32
- "native": true,
33
- autoWidth: true,
34
- inputRef: ref,
35
- inputProps: {
36
- name: name,
37
- id: name
38
- },
15
+ return /*#__PURE__*/React.createElement(CoreSelect, {
16
+ className: className,
17
+ ref: ref,
18
+ name: name,
39
19
  disabled: disabled
40
20
  }, _ref2, options.map(function (_ref3) {
41
21
  var value = _ref3.value,
42
22
  label = _ref3.label;
43
- return /*#__PURE__*/React.createElement("option", {
23
+ return /*#__PURE__*/React.createElement(SelectOption, {
44
24
  key: value,
45
- value: value,
46
- title: label && label.secondary
25
+ value: value
47
26
  }, label && label.primary ? label.primary : value);
48
- })));
27
+ }));
49
28
  });
50
29
  export default Select;
package/esm/utils.js CHANGED
@@ -4,6 +4,7 @@ import _defineProperty from "@babel/runtime/helpers/defineProperty";
4
4
  import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
5
5
  import _extends from "@babel/runtime/helpers/extends";
6
6
 
7
+ /* eslint-disable @typescript-eslint/no-explicit-any */
7
8
  var parseErrorSchema = function parseErrorSchema(error, validateAllFieldCriteria) {
8
9
  return Array.isArray(error.inner) && error.inner.length ? error.inner.reduce(function (previous, _ref) {
9
10
  var path = _ref.path,
package/esm/validators.js CHANGED
@@ -366,7 +366,8 @@ function computeShape(fields, yupTypeMap, validatorRegistry) {
366
366
  return fieldSchemas;
367
367
  }
368
368
 
369
- function getYupObjectShape(fields, yupTypeMap, validatorRegistry) {
369
+ function getYupObjectShape( // eslint-disable-next-line @typescript-eslint/no-explicit-any
370
+ fields, yupTypeMap, validatorRegistry) {
370
371
  if (!fields.current) {
371
372
  var fieldSchemas = computeShape(fields, yupTypeMap, validatorRegistry);
372
373
  return yup.object().shape(fieldSchemas);
@@ -407,7 +408,6 @@ var getYUPTypeMap = function getYUPTypeMap() {
407
408
  iban: function iban(field) {
408
409
  return yup.string().test(IBAN_VALIDATOR(field));
409
410
  },
410
- // eslint-disable-next-line @typescript-eslint/camelcase
411
411
  mobile_phone: function mobile_phone() {
412
412
  return yup.string().test(MOBILE_PHONE_VALIDATOR);
413
413
  },
@@ -419,9 +419,9 @@ var getYUPTypeMap = function getYUPTypeMap() {
419
419
  }
420
420
  };
421
421
  return yupTypeMap;
422
- }; // Create a yup validation schema from given fields input
423
-
422
+ };
424
423
 
424
+ // Create a yup validation schema from given fields input
425
425
  export function useValidationSchema(fields, validatorRegistry) {
426
426
  return useMemo(function () {
427
427
  var yupTypeMap = getYUPTypeMap();
package/index.js CHANGED
@@ -64,6 +64,7 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
64
64
 
65
65
  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; }
66
66
 
67
+ /* eslint-disable @typescript-eslint/no-explicit-any */
67
68
  var FormContext = /*#__PURE__*/(0, _react.createContext)({
68
69
  fieldsMap: {},
69
70
  fieldsetsMap: {}
package/index.mdx CHANGED
@@ -3,10 +3,7 @@ title: Form
3
3
  parent: docs/ui/components
4
4
  ---
5
5
 
6
- import { useState, useEffect } from 'react';
7
6
  import FormBuilder from '@digigov/form/';
8
- import PropsDoc from '@docs-components/propsDoc';
9
- import StylesDoc from '@docs-components/stylesDoc';
10
7
 
11
8
  export const fields = [
12
9
  {
@@ -11,17 +11,13 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
11
11
 
12
12
  var _react = _interopRequireDefault(require("react"));
13
13
 
14
- var _clsx = _interopRequireDefault(require("clsx"));
14
+ var _i18n = require("@digigov/ui/app/i18n");
15
15
 
16
- var _Checkbox = _interopRequireDefault(require("@material-ui/core/Checkbox"));
16
+ var _Checkbox = _interopRequireDefault(require("@digigov/react-core/Checkbox"));
17
17
 
18
- var _styles = require("@material-ui/core/styles");
18
+ var _CheckboxItem = _interopRequireDefault(require("@digigov/react-core/CheckboxItem"));
19
19
 
20
- var _FormGroup = _interopRequireDefault(require("@material-ui/core/FormGroup"));
21
-
22
- var _FormControlLabel = _interopRequireDefault(require("@material-ui/core/FormControlLabel"));
23
-
24
- var _Label = _interopRequireDefault(require("@digigov/form/inputs/Label"));
20
+ var _Hint = _interopRequireDefault(require("@digigov/react-core/Hint"));
25
21
 
26
22
  var Checkboxes = function Checkboxes(_ref) {
27
23
  var name = _ref.name,
@@ -38,8 +34,12 @@ var Checkboxes = function Checkboxes(_ref) {
38
34
  var newValue;
39
35
 
40
36
  if (evt.currentTarget.checked) {
37
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
38
+ // @ts-ignore
41
39
  newValue = value.concat([optionValue]);
42
40
  } else {
41
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
42
+ // @ts-ignore
43
43
  newValue = value.filter(function (val) {
44
44
  return val !== optionValue;
45
45
  });
@@ -49,57 +49,23 @@ var Checkboxes = function Checkboxes(_ref) {
49
49
  };
50
50
  };
51
51
 
52
- return /*#__PURE__*/_react["default"].createElement(_FormGroup["default"], {
53
- id: name,
52
+ var _useTranslation = (0, _i18n.useTranslation)(),
53
+ t = _useTranslation.t;
54
+
55
+ return /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
54
56
  className: className
55
57
  }, options.map(function (option, key) {
56
- return /*#__PURE__*/_react["default"].createElement(Checkbox, (0, _extends2["default"])({
58
+ return /*#__PURE__*/_react["default"].createElement(_CheckboxItem["default"], (0, _extends2["default"])({
59
+ name: name,
57
60
  disabled: disabled,
58
- key: key,
61
+ key: key // eslint-disable-next-line @typescript-eslint/ban-ts-comment
62
+ // @ts-ignore
63
+ ,
59
64
  checked: value.includes(option.value),
60
- onChange: handleChange
61
- }, option));
65
+ onChange: handleChange(option.value)
66
+ }, option), option.label && option.label.primary && t(option.label.primary) || value, option.label && option.label.secondary && /*#__PURE__*/_react["default"].createElement(_Hint["default"], null, t(option.label.secondary)));
62
67
  }));
63
68
  };
64
69
 
65
- var useCheckboxStyles = (0, _styles.makeStyles)(function (theme) {
66
- return {
67
- formControlLabelActive: {
68
- backgroundColor: theme.palette.grey['200'],
69
- border: "2px solid ".concat(theme.palette.primary.main)
70
- },
71
- formControlLabel: {
72
- fontWeight: 'bolder',
73
- padding: theme.spacing(0.5),
74
- margin: theme.spacing(0.5, 0)
75
- }
76
- };
77
- });
78
-
79
- var Checkbox = function Checkbox(_ref2) {
80
- var className = _ref2.className,
81
- checked = _ref2.checked,
82
- value = _ref2.value,
83
- label = _ref2.label,
84
- onChange = _ref2.onChange,
85
- disabled = _ref2.disabled;
86
- var classes = useCheckboxStyles();
87
- return /*#__PURE__*/_react["default"].createElement(_FormControlLabel["default"], {
88
- key: value,
89
- className: (0, _clsx["default"])(classes.formControlLabel, checked && classes.formControlLabelActive, className),
90
- control: /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
91
- checked: checked,
92
- disabled: disabled,
93
- color: "primary",
94
- onChange: onChange(value),
95
- name: value
96
- }),
97
- label: /*#__PURE__*/_react["default"].createElement(_Label["default"], {
98
- label: label,
99
- value: value
100
- })
101
- });
102
- };
103
-
104
70
  var _default = Checkboxes;
105
71
  exports["default"] = _default;
@@ -13,45 +13,20 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
13
13
 
14
14
  var _react = _interopRequireWildcard(require("react"));
15
15
 
16
- var _styles = require("@material-ui/core/styles");
16
+ var _NormalText = _interopRequireDefault(require("@digigov/react-core/NormalText"));
17
17
 
18
- var _TextField = _interopRequireDefault(require("@material-ui/core/TextField"));
19
-
20
- var _NormalText = _interopRequireDefault(require("@digigov/ui/typography/NormalText"));
21
-
22
- var _Button = _interopRequireDefault(require("@digigov/ui/core/Button"));
18
+ var _FileUpload = _interopRequireDefault(require("@digigov/react-core/FileUpload"));
23
19
 
24
20
  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); }
25
21
 
26
22
  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; }
27
23
 
28
- var useStyles = (0, _styles.makeStyles)(function (theme) {
29
- return {
30
- root: {
31
- '& > *': {
32
- margin: theme.spacing(1)
33
- }
34
- },
35
- input: {
36
- display: 'none'
37
- },
38
- button: {
39
- margin: 0
40
- },
41
- text: {
42
- marginLeft: theme.spacing(2),
43
- position: 'relative',
44
- top: theme.spacing(0.5)
45
- }
46
- };
47
- });
48
-
24
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
49
25
  var FileInput = /*#__PURE__*/_react["default"].forwardRef(function FileInput(_ref, ref) {
50
26
  var name = _ref.name,
51
27
  _ref$extra = _ref.extra,
52
28
  extra = _ref$extra === void 0 ? {} : _ref$extra,
53
29
  disabled = _ref.disabled;
54
- var classes = useStyles();
55
30
 
56
31
  var _useState = (0, _react.useState)([]),
57
32
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
@@ -60,16 +35,13 @@ var FileInput = /*#__PURE__*/_react["default"].forwardRef(function FileInput(_re
60
35
 
61
36
  var filesLabel = extra.multiple ? 'αρχεία' : 'αρχείο';
62
37
  return /*#__PURE__*/_react["default"].createElement("div", {
63
- className: (classes.root, extra.className)
64
- }, /*#__PURE__*/_react["default"].createElement(_TextField["default"], {
38
+ className: extra.className
39
+ }, /*#__PURE__*/_react["default"].createElement(_FileUpload["default"], {
40
+ ref: ref,
65
41
  name: name,
66
42
  id: name,
67
43
  disabled: disabled,
68
44
  type: 'file',
69
- inputProps: {
70
- multiple: extra.multiple,
71
- accept: extra.accept
72
- },
73
45
  onChange: function onChange(e) {
74
46
  var target = e.target;
75
47
  var selectedFiles = Array.from(target.files).map(function (_ref2) {
@@ -77,17 +49,8 @@ var FileInput = /*#__PURE__*/_react["default"].forwardRef(function FileInput(_re
77
49
  return name;
78
50
  });
79
51
  setFiles(selectedFiles);
80
- },
81
- className: classes.input,
82
- inputRef: ref
83
- }), /*#__PURE__*/_react["default"].createElement("label", {
84
- htmlFor: name
85
- }, /*#__PURE__*/_react["default"].createElement(_Button["default"], {
86
- color: "secondary",
87
- className: classes.button
88
- }, "\u0395\u03C0\u03B9\u03BB\u03AD\u03BE\u03C4\u03B5 ", filesLabel)), /*#__PURE__*/_react["default"].createElement(_NormalText["default"], {
89
- className: classes.text
90
- }, files.length ? files.join(', ') : "\u0394\u03B5\u03BD \u03AD\u03C7\u03B5\u03C4\u03B5 \u03B5\u03C0\u03B9\u03BB\u03AD\u03BE\u03B5\u03B9 ".concat(filesLabel)));
52
+ }
53
+ }), /*#__PURE__*/_react["default"].createElement(_NormalText["default"], null, files.length ? files.join(', ') : "\u0394\u03B5\u03BD \u03AD\u03C7\u03B5\u03C4\u03B5 \u03B5\u03C0\u03B9\u03BB\u03AD\u03BE\u03B5\u03B9 ".concat(filesLabel)));
91
54
  });
92
55
 
93
56
  var _default = FileInput;