@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.
- package/CHANGELOG.md +28 -1
- package/Field/index.js +35 -45
- package/Fieldset/index.js +10 -14
- package/Questions/Step/index.js +1 -0
- package/es/Field/index.js +29 -41
- package/es/Fieldset/index.js +9 -14
- package/es/Questions/Step/index.js +2 -0
- package/es/index.js +2 -0
- package/es/index.mdx +0 -3
- package/es/inputs/Checkboxes/index.js +19 -51
- package/es/inputs/FileInput/index.js +8 -42
- package/es/inputs/Input/index.js +24 -18
- package/es/inputs/Label/index.js +6 -34
- package/es/inputs/Radio/index.js +24 -87
- package/es/inputs/Select/index.js +10 -31
- package/es/utils.js +1 -0
- package/es/validators.js +4 -4
- package/esm/Field/index.js +29 -41
- package/esm/Fieldset/index.js +9 -14
- package/esm/Questions/Step/index.js +2 -0
- package/esm/index.js +3 -1
- package/esm/index.mdx +0 -3
- package/esm/inputs/Checkboxes/index.js +19 -51
- package/esm/inputs/FileInput/index.js +8 -42
- package/esm/inputs/Input/index.js +24 -18
- package/esm/inputs/Label/index.js +6 -34
- package/esm/inputs/Radio/index.js +24 -87
- package/esm/inputs/Select/index.js +10 -31
- package/esm/utils.js +1 -0
- package/esm/validators.js +4 -4
- package/index.js +1 -0
- package/index.mdx +0 -3
- package/inputs/Checkboxes/index.js +19 -53
- package/inputs/FileInput/index.js +8 -45
- package/inputs/Input/index.js +25 -18
- package/inputs/Label/index.js +6 -37
- package/inputs/Radio/index.js +26 -95
- package/inputs/Select/index.js +10 -34
- package/libs/form/src/Field/index.d.ts +10 -7
- package/libs/form/src/Fieldset/index.d.ts +9 -3
- package/libs/form/src/index.d.ts +1 -0
- package/libs/form/src/inputs/Checkboxes/index.d.ts +2 -1
- package/libs/form/src/inputs/Input/index.d.ts +1 -1
- package/libs/form/src/inputs/Radio/index.d.ts +1 -11
- package/libs/form/src/validators.d.ts +4 -2
- package/libs/ui/src/core/Accordion/index.d.ts +3 -3
- package/libs/ui/src/core/Blockquote/index.d.ts +1 -1
- package/libs/ui/src/core/Button/BackButton.d.ts +1 -1
- package/libs/ui/src/core/Button/ButtonLink.d.ts +1 -1
- package/libs/ui/src/core/Button/index.d.ts +1 -1
- package/libs/ui/src/core/NavList/NavList.d.ts +1 -1
- package/libs/ui/src/core/NavList/NavListItemBase.d.ts +1 -1
- package/libs/ui/src/typography/Caption.d.ts +1 -1
- package/libs-ui/react-core/src/Accordion/index.d.ts +1 -1
- package/libs-ui/react-core/src/AccordionControls/index.d.ts +1 -1
- package/libs-ui/react-core/src/AccordionSection/index.d.ts +1 -1
- package/libs-ui/react-core/src/AccordionSectionContent/index.d.ts +1 -1
- package/libs-ui/react-core/src/AccordionSectionHeader/index.d.ts +1 -1
- package/libs-ui/react-core/src/BackLink/index.d.ts +1 -1
- package/libs-ui/react-core/src/Blockquote/index.d.ts +1 -1
- package/libs-ui/react-core/src/Button/index.d.ts +1 -1
- package/libs-ui/react-core/src/ButtonLink/index.d.ts +1 -1
- package/libs-ui/react-core/src/CallToAction/index.d.ts +1 -1
- package/libs-ui/react-core/src/Checkbox/index.d.ts +11 -0
- package/libs-ui/react-core/src/CheckboxItem/index.d.ts +19 -0
- package/libs-ui/react-core/src/Details/index.d.ts +1 -1
- package/libs-ui/react-core/src/DetailsContent/index.d.ts +1 -1
- package/libs-ui/react-core/src/DetailsSummary/index.d.ts +1 -1
- package/libs-ui/react-core/src/ErrorMessage/index.d.ts +11 -0
- package/libs-ui/react-core/src/ErrorSummary/index.d.ts +1 -1
- package/libs-ui/react-core/src/Field/index.d.ts +13 -0
- package/libs-ui/react-core/src/Fieldset/index.d.ts +10 -0
- package/libs-ui/react-core/src/FieldsetLegend/index.d.ts +19 -0
- package/libs-ui/react-core/src/FileUpload/index.d.ts +14 -0
- package/libs-ui/react-core/src/Heading/index.d.ts +1 -1
- package/libs-ui/react-core/src/HeadingCaption/index.d.ts +1 -1
- package/libs-ui/react-core/src/Hint/index.d.ts +9 -0
- package/libs-ui/react-core/src/Label/index.d.ts +9 -0
- package/libs-ui/react-core/src/LabelTitle/index.d.ts +19 -0
- package/libs-ui/react-core/src/List/index.d.ts +1 -1
- package/libs-ui/react-core/src/ListItem/index.d.ts +1 -1
- package/libs-ui/react-core/src/NormalText/index.d.ts +1 -1
- package/libs-ui/react-core/src/NotificationBanner/index.d.ts +1 -1
- package/libs-ui/react-core/src/NotificationBannerContent/index.d.ts +1 -1
- package/libs-ui/react-core/src/NotificationBannerHeader/index.d.ts +1 -1
- package/libs-ui/react-core/src/NotificationBannerHeading/index.d.ts +1 -1
- package/libs-ui/react-core/src/Paragraph/index.d.ts +1 -1
- package/libs-ui/react-core/src/PhaseBanner/index.d.ts +1 -1
- package/libs-ui/react-core/src/PhaseBannerTag/index.d.ts +1 -1
- package/libs-ui/react-core/src/Radio/index.d.ts +10 -0
- package/libs-ui/react-core/src/RadioItem/index.d.ts +18 -0
- package/libs-ui/react-core/src/SectionBreak/index.d.ts +1 -1
- package/libs-ui/react-core/src/Select/index.d.ts +14 -0
- package/libs-ui/react-core/src/SelectOption/index.d.ts +18 -0
- package/libs-ui/react-core/src/SummaryList/index.d.ts +1 -1
- package/libs-ui/react-core/src/SummaryListItem/index.d.ts +1 -1
- package/libs-ui/react-core/src/SummaryListItemAction/index.d.ts +1 -1
- package/libs-ui/react-core/src/SummaryListItemKey/index.d.ts +1 -1
- package/libs-ui/react-core/src/SummaryListItemValue/index.d.ts +1 -1
- package/libs-ui/react-core/src/Tabs/index.d.ts +1 -1
- package/libs-ui/react-core/src/TabsHeading/index.d.ts +1 -1
- package/libs-ui/react-core/src/TabsList/index.d.ts +1 -1
- package/libs-ui/react-core/src/TabsListItem/index.d.ts +1 -1
- package/libs-ui/react-core/src/TabsPanel/index.d.ts +1 -1
- package/libs-ui/react-core/src/TextArea/index.d.ts +23 -0
- package/libs-ui/react-core/src/TextInput/index.d.ts +28 -0
- package/libs-ui/react-core/src/WarningText/index.d.ts +1 -1
- package/package.json +2 -2
- package/utils.js +1 -0
- 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
|
|
4
|
-
import
|
|
5
|
-
|
|
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:
|
|
42
|
-
}, /*#__PURE__*/React.createElement(
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
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
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
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
|
|
3
|
-
import
|
|
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(
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
}, /*#__PURE__*/React.createElement(
|
|
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
|
|
4
|
-
import
|
|
5
|
-
import
|
|
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
|
-
|
|
12
|
-
|
|
13
|
-
|
|
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
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
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
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
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
|
|
3
|
-
import
|
|
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(
|
|
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
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
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(
|
|
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(
|
|
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
|
-
};
|
|
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
|
|
14
|
+
var _i18n = require("@digigov/ui/app/i18n");
|
|
15
15
|
|
|
16
|
-
var _Checkbox = _interopRequireDefault(require("@
|
|
16
|
+
var _Checkbox = _interopRequireDefault(require("@digigov/react-core/Checkbox"));
|
|
17
17
|
|
|
18
|
-
var
|
|
18
|
+
var _CheckboxItem = _interopRequireDefault(require("@digigov/react-core/CheckboxItem"));
|
|
19
19
|
|
|
20
|
-
var
|
|
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
|
-
|
|
53
|
-
|
|
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(
|
|
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
|
|
16
|
+
var _NormalText = _interopRequireDefault(require("@digigov/react-core/NormalText"));
|
|
17
17
|
|
|
18
|
-
var
|
|
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
|
-
|
|
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:
|
|
64
|
-
}, /*#__PURE__*/_react["default"].createElement(
|
|
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
|
-
|
|
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;
|