@digigov/form 0.12.5 → 0.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +19 -1
- package/Field/FieldConditional.js +8 -3
- package/Field/utils.js +8 -4
- package/es/Field/FieldConditional.js +5 -1
- package/es/Field/utils.js +8 -4
- package/es/inputs/Checkboxes/Checkboxes.stories.js +3 -1
- package/es/inputs/Checkboxes/Checkboxes.stories.playwright.json +16 -0
- package/es/inputs/Checkboxes/__stories__/Conditional.js +95 -0
- package/es/inputs/Checkboxes/__stories__/WithDivider.js +43 -0
- package/es/inputs/Checkboxes/index.js +44 -12
- package/es/inputs/Input/Input.stories.js +2 -1
- package/es/inputs/Input/__stories__/TextWithCharacterLimit.js +31 -0
- package/es/inputs/Input/index.js +22 -4
- package/es/inputs/Radio/Radio.stories.js +3 -1
- package/es/inputs/Radio/Radio.stories.playwright.json +16 -0
- package/es/inputs/Radio/__stories__/Conditional.js +95 -0
- package/es/inputs/Radio/__stories__/WithDivider.js +48 -0
- package/es/inputs/Radio/index.js +15 -4
- package/es/registry.js +3 -0
- package/es/validators/index.js +10 -2
- package/es/validators/utils/index.js +16 -2
- package/es/validators/utils/text_limit.js +54 -0
- package/esm/Field/FieldConditional.js +5 -1
- package/esm/Field/utils.js +8 -4
- package/esm/index.js +1 -1
- package/esm/inputs/Checkboxes/Checkboxes.stories.js +3 -1
- package/esm/inputs/Checkboxes/Checkboxes.stories.playwright.json +16 -0
- package/esm/inputs/Checkboxes/__stories__/Conditional.js +95 -0
- package/esm/inputs/Checkboxes/__stories__/WithDivider.js +43 -0
- package/esm/inputs/Checkboxes/index.js +44 -12
- package/esm/inputs/Input/Input.stories.js +2 -1
- package/esm/inputs/Input/__stories__/TextWithCharacterLimit.js +31 -0
- package/esm/inputs/Input/index.js +22 -4
- package/esm/inputs/Radio/Radio.stories.js +3 -1
- package/esm/inputs/Radio/Radio.stories.playwright.json +16 -0
- package/esm/inputs/Radio/__stories__/Conditional.js +95 -0
- package/esm/inputs/Radio/__stories__/WithDivider.js +48 -0
- package/esm/inputs/Radio/index.js +15 -4
- package/esm/registry.js +3 -0
- package/esm/validators/index.js +10 -2
- package/esm/validators/utils/index.js +16 -2
- package/esm/validators/utils/text_limit.js +54 -0
- package/inputs/Checkboxes/Checkboxes.stories.d.ts +2 -0
- package/inputs/Checkboxes/Checkboxes.stories.js +28 -0
- package/inputs/Checkboxes/Checkboxes.stories.playwright.json +16 -0
- package/inputs/Checkboxes/__stories__/Conditional.d.ts +1 -0
- package/inputs/Checkboxes/__stories__/Conditional.js +115 -0
- package/inputs/Checkboxes/__stories__/WithDivider.d.ts +2 -0
- package/inputs/Checkboxes/__stories__/WithDivider.js +63 -0
- package/inputs/Checkboxes/index.js +52 -12
- package/inputs/Input/Input.stories.d.ts +1 -0
- package/inputs/Input/Input.stories.js +14 -0
- package/inputs/Input/__stories__/TextWithCharacterLimit.d.ts +2 -0
- package/inputs/Input/__stories__/TextWithCharacterLimit.js +51 -0
- package/inputs/Input/index.d.ts +4 -0
- package/inputs/Input/index.js +25 -4
- package/inputs/Label/index.d.ts +2 -0
- package/inputs/Radio/Radio.stories.d.ts +2 -0
- package/inputs/Radio/Radio.stories.js +28 -0
- package/inputs/Radio/Radio.stories.playwright.json +16 -0
- package/inputs/Radio/__stories__/Conditional.d.ts +1 -0
- package/inputs/Radio/__stories__/Conditional.js +115 -0
- package/inputs/Radio/__stories__/WithDivider.d.ts +2 -0
- package/inputs/Radio/__stories__/WithDivider.js +68 -0
- package/inputs/Radio/index.js +16 -4
- package/package.json +4 -4
- package/registry.d.ts +1 -0
- package/registry.js +4 -0
- package/src/Field/FieldConditional.tsx +8 -2
- package/src/Field/utils.ts +10 -4
- package/src/inputs/Checkboxes/Checkboxes.stories.js +2 -0
- package/src/inputs/Checkboxes/Checkboxes.stories.playwright.json +16 -0
- package/src/inputs/Checkboxes/__stories__/Conditional.tsx +100 -0
- package/src/inputs/Checkboxes/__stories__/WithDivider.tsx +39 -0
- package/src/inputs/Checkboxes/index.tsx +59 -29
- package/src/inputs/Input/Input.stories.js +2 -1
- package/src/inputs/Input/__stories__/TextWithCharacterLimit.tsx +24 -0
- package/src/inputs/Input/index.tsx +55 -14
- package/src/inputs/Label/index.tsx +2 -0
- package/src/inputs/Radio/Radio.stories.js +3 -0
- package/src/inputs/Radio/Radio.stories.playwright.json +16 -0
- package/src/inputs/Radio/__stories__/Conditional.tsx +97 -0
- package/src/inputs/Radio/__stories__/WithDivider.tsx +42 -0
- package/src/inputs/Radio/index.tsx +18 -1
- package/src/registry.js +3 -0
- package/src/types.tsx +4 -2
- package/src/validators/index.ts +8 -1
- package/src/validators/utils/index.ts +10 -1
- package/src/validators/utils/text_limit.ts +44 -0
- package/types.d.ts +4 -2
- package/validators/index.js +9 -1
- package/validators/utils/index.d.ts +1 -0
- package/validators/utils/index.js +29 -2
- package/validators/utils/text_limit.d.ts +4 -0
- package/validators/utils/text_limit.js +65 -0
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
4
|
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
5
7
|
Object.defineProperty(exports, "__esModule", {
|
|
6
8
|
value: true
|
|
7
9
|
});
|
|
@@ -9,9 +11,11 @@ exports["default"] = exports.Checkboxes = void 0;
|
|
|
9
11
|
|
|
10
12
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
13
|
|
|
14
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
15
|
+
|
|
12
16
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
13
17
|
|
|
14
|
-
var _react =
|
|
18
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
15
19
|
|
|
16
20
|
var _i18n = require("@digigov/ui/app/i18n");
|
|
17
21
|
|
|
@@ -21,7 +25,16 @@ var _CheckboxItem = _interopRequireDefault(require("@digigov/react-core/Checkbox
|
|
|
21
25
|
|
|
22
26
|
var _Hint = _interopRequireDefault(require("@digigov/react-core/Hint"));
|
|
23
27
|
|
|
24
|
-
var
|
|
28
|
+
var _form = require("@digigov/form");
|
|
29
|
+
|
|
30
|
+
var _reactCore = require("@digigov/react-core");
|
|
31
|
+
|
|
32
|
+
var _excluded = ["name", "onChange", "value", "extra", "disabled"],
|
|
33
|
+
_excluded2 = ["label", "value", "show", "disabled", "selected"];
|
|
34
|
+
|
|
35
|
+
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); }
|
|
36
|
+
|
|
37
|
+
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; }
|
|
25
38
|
|
|
26
39
|
var Checkboxes = function Checkboxes(_ref) {
|
|
27
40
|
var name = _ref.name,
|
|
@@ -34,7 +47,7 @@ var Checkboxes = function Checkboxes(_ref) {
|
|
|
34
47
|
props = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
|
|
35
48
|
if (!value) value = [];
|
|
36
49
|
|
|
37
|
-
var handleChange = function handleChange(optionValue) {
|
|
50
|
+
var handleChange = function handleChange(optionValue, idx, show) {
|
|
38
51
|
return function (evt) {
|
|
39
52
|
var newValue;
|
|
40
53
|
|
|
@@ -48,6 +61,14 @@ var Checkboxes = function Checkboxes(_ref) {
|
|
|
48
61
|
newValue = value.filter(function (val) {
|
|
49
62
|
return val !== optionValue;
|
|
50
63
|
});
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
if (show && show.length > 0) {
|
|
67
|
+
setChecked(function (items) {
|
|
68
|
+
return items.map(function (item, index) {
|
|
69
|
+
return index === idx ? !item : item;
|
|
70
|
+
});
|
|
71
|
+
});
|
|
51
72
|
} // reset value to undefined instead of an empty array
|
|
52
73
|
// so the error state mechanism can throw validation errors
|
|
53
74
|
|
|
@@ -60,17 +81,31 @@ var Checkboxes = function Checkboxes(_ref) {
|
|
|
60
81
|
var _useTranslation = (0, _i18n.useTranslation)(),
|
|
61
82
|
t = _useTranslation.t;
|
|
62
83
|
|
|
84
|
+
var _useState = (0, _react.useState)(Array(options.length).fill(false)),
|
|
85
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
86
|
+
checked = _useState2[0],
|
|
87
|
+
setChecked = _useState2[1];
|
|
88
|
+
|
|
63
89
|
return /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
|
|
64
90
|
className: className
|
|
65
|
-
}, options.map(function (
|
|
66
|
-
|
|
91
|
+
}, options.map(function (_ref2, index) {
|
|
92
|
+
var _value;
|
|
93
|
+
|
|
94
|
+
var label = _ref2.label,
|
|
95
|
+
v = _ref2.value,
|
|
96
|
+
show = _ref2.show,
|
|
97
|
+
optionDisabled = _ref2.disabled,
|
|
98
|
+
selected = _ref2.selected,
|
|
99
|
+
option = (0, _objectWithoutProperties2["default"])(_ref2, _excluded2);
|
|
100
|
+
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, {
|
|
101
|
+
key: index
|
|
102
|
+
}, /*#__PURE__*/_react["default"].createElement(_CheckboxItem["default"], (0, _extends2["default"])({
|
|
103
|
+
key: "".concat(name, ".").concat(index),
|
|
67
104
|
name: name,
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
,
|
|
72
|
-
checked: value.includes(option.value),
|
|
73
|
-
onChange: handleChange(option.value)
|
|
105
|
+
value: v,
|
|
106
|
+
disabled: disabled || optionDisabled,
|
|
107
|
+
checked: (_value = value) === null || _value === void 0 ? void 0 : _value.includes(v),
|
|
108
|
+
onChange: handleChange(v, index, show)
|
|
74
109
|
}, option, (0, _extends2["default"])({}, props, {
|
|
75
110
|
reset: undefined,
|
|
76
111
|
defaultValue: undefined,
|
|
@@ -78,7 +113,12 @@ var Checkboxes = function Checkboxes(_ref) {
|
|
|
78
113
|
required: undefined,
|
|
79
114
|
'aria-describedby': undefined,
|
|
80
115
|
type: 'checkbox'
|
|
81
|
-
})),
|
|
116
|
+
})), label && label.primary && t(label.primary) || value, label && label.secondary && /*#__PURE__*/_react["default"].createElement(_Hint["default"], null, t(label.secondary))), !!checked[index] && show && /*#__PURE__*/_react["default"].createElement(_reactCore.CheckboxConditional, null, show.map(function (fieldName) {
|
|
117
|
+
return /*#__PURE__*/_react["default"].createElement(_form.Field, {
|
|
118
|
+
name: fieldName,
|
|
119
|
+
key: fieldName
|
|
120
|
+
});
|
|
121
|
+
})), selected && selected());
|
|
82
122
|
}));
|
|
83
123
|
};
|
|
84
124
|
|
|
@@ -12,4 +12,5 @@ export * from "@digigov/form/inputs/Input/__stories__/MobilePhone";
|
|
|
12
12
|
export * from "@digigov/form/inputs/Input/__stories__/AFM";
|
|
13
13
|
export * from "@digigov/form/inputs/Input/__stories__/IBAN";
|
|
14
14
|
export * from "@digigov/form/inputs/Input/__stories__/PostalCode";
|
|
15
|
+
export * from "@digigov/form/inputs/Input/__stories__/TextWithCharacterLimit";
|
|
15
16
|
import Input from "@digigov/form/inputs/Input";
|
|
@@ -121,6 +121,20 @@ Object.keys(_PostalCode).forEach(function (key) {
|
|
|
121
121
|
}
|
|
122
122
|
});
|
|
123
123
|
});
|
|
124
|
+
|
|
125
|
+
var _TextWithCharacterLimit = require("@digigov/form/inputs/Input/__stories__/TextWithCharacterLimit");
|
|
126
|
+
|
|
127
|
+
Object.keys(_TextWithCharacterLimit).forEach(function (key) {
|
|
128
|
+
if (key === "default" || key === "__esModule") return;
|
|
129
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
130
|
+
if (key in exports && exports[key] === _TextWithCharacterLimit[key]) return;
|
|
131
|
+
Object.defineProperty(exports, key, {
|
|
132
|
+
enumerable: true,
|
|
133
|
+
get: function get() {
|
|
134
|
+
return _TextWithCharacterLimit[key];
|
|
135
|
+
}
|
|
136
|
+
});
|
|
137
|
+
});
|
|
124
138
|
var _default = {
|
|
125
139
|
title: 'Digigov Form/inputs/Input',
|
|
126
140
|
component: _Input["default"],
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
9
|
+
});
|
|
10
|
+
exports["default"] = exports.TextWithCharacterLimit = void 0;
|
|
11
|
+
|
|
12
|
+
var _react = _interopRequireDefault(require("react"));
|
|
13
|
+
|
|
14
|
+
var _form = _interopRequireWildcard(require("@digigov/form"));
|
|
15
|
+
|
|
16
|
+
var _core = require("@digigov/ui/core");
|
|
17
|
+
|
|
18
|
+
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); }
|
|
19
|
+
|
|
20
|
+
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; }
|
|
21
|
+
|
|
22
|
+
var _ref = /*#__PURE__*/_react["default"].createElement(_core.Button, {
|
|
23
|
+
type: "submit"
|
|
24
|
+
}, "\u03A3\u03C5\u03BD\u03AD\u03C7\u03B5\u03B9\u03B1");
|
|
25
|
+
|
|
26
|
+
var TextWithCharacterLimit = function TextWithCharacterLimit() {
|
|
27
|
+
return /*#__PURE__*/_react["default"].createElement(_form["default"], {
|
|
28
|
+
onSubmit: function onSubmit(data) {
|
|
29
|
+
console.log(data);
|
|
30
|
+
}
|
|
31
|
+
}, /*#__PURE__*/_react["default"].createElement(_form.Field, {
|
|
32
|
+
key: "text",
|
|
33
|
+
name: "text",
|
|
34
|
+
type: "text",
|
|
35
|
+
label: {
|
|
36
|
+
primary: 'Μπορείτε να δώσετε περισσότερες πληροφορίες;'
|
|
37
|
+
},
|
|
38
|
+
required: true,
|
|
39
|
+
extra: {
|
|
40
|
+
limit: {
|
|
41
|
+
min: 3,
|
|
42
|
+
max: 10
|
|
43
|
+
},
|
|
44
|
+
multiline: true
|
|
45
|
+
}
|
|
46
|
+
}), _ref);
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
exports.TextWithCharacterLimit = TextWithCharacterLimit;
|
|
50
|
+
var _default = TextWithCharacterLimit;
|
|
51
|
+
exports["default"] = _default;
|
package/inputs/Input/index.d.ts
CHANGED
|
@@ -6,6 +6,10 @@ export interface InputProps extends Omit<UncontrolledFieldProps, 'extra'> {
|
|
|
6
6
|
multiline?: boolean;
|
|
7
7
|
className?: string;
|
|
8
8
|
rows?: any;
|
|
9
|
+
limit: {
|
|
10
|
+
min?: number;
|
|
11
|
+
max?: number;
|
|
12
|
+
};
|
|
9
13
|
};
|
|
10
14
|
}
|
|
11
15
|
export declare const Input: React.ExoticComponent<InputProps>;
|
package/inputs/Input/index.js
CHANGED
|
@@ -17,7 +17,13 @@ var _TextInput = _interopRequireDefault(require("@digigov/react-core/TextInput")
|
|
|
17
17
|
|
|
18
18
|
var _TextArea = _interopRequireDefault(require("@digigov/react-core/TextArea"));
|
|
19
19
|
|
|
20
|
-
var
|
|
20
|
+
var _reactCore = require("@digigov/react-core");
|
|
21
|
+
|
|
22
|
+
var _reactHookForm = require("react-hook-form");
|
|
23
|
+
|
|
24
|
+
var _i18n = require("@digigov/ui/app/i18n");
|
|
25
|
+
|
|
26
|
+
var _excluded = ["name", "control", "type", "extra"];
|
|
21
27
|
var TYPES_MAP = {
|
|
22
28
|
string: 'text',
|
|
23
29
|
"int": 'text',
|
|
@@ -27,14 +33,17 @@ var TYPES_MAP = {
|
|
|
27
33
|
|
|
28
34
|
var Input = /*#__PURE__*/_react["default"].forwardRef(function WrappedInput(_ref, ref) {
|
|
29
35
|
var name = _ref.name,
|
|
36
|
+
control = _ref.control,
|
|
30
37
|
type = _ref.type,
|
|
31
38
|
extra = _ref.extra,
|
|
32
39
|
props = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
|
|
33
40
|
|
|
41
|
+
// eslint-disable-next-line prefer-const
|
|
34
42
|
var _ref2 = extra || {},
|
|
35
43
|
_ref2$multiline = _ref2.multiline,
|
|
36
44
|
multiline = _ref2$multiline === void 0 ? false : _ref2$multiline,
|
|
37
|
-
rows = _ref2.rows
|
|
45
|
+
rows = _ref2.rows,
|
|
46
|
+
limit = _ref2.limit;
|
|
38
47
|
|
|
39
48
|
var _ref3 = extra || {},
|
|
40
49
|
className = _ref3.className; // if enforced to multiline use true. Derive from type otherwise.
|
|
@@ -46,8 +55,16 @@ var Input = /*#__PURE__*/_react["default"].forwardRef(function WrappedInput(_ref
|
|
|
46
55
|
|
|
47
56
|
var fieldType = TYPES_MAP[type || 'text'] || 'text';
|
|
48
57
|
|
|
58
|
+
var _useTranslation = (0, _i18n.useTranslation)(),
|
|
59
|
+
t = _useTranslation.t;
|
|
60
|
+
|
|
61
|
+
var currentValue = (0, _reactHookForm.useWatch)({
|
|
62
|
+
control: control,
|
|
63
|
+
name: name
|
|
64
|
+
});
|
|
65
|
+
|
|
49
66
|
if (multiline === true) {
|
|
50
|
-
return /*#__PURE__*/_react["default"].createElement(_TextArea["default"], (0, _extends2["default"])({
|
|
67
|
+
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_TextArea["default"], (0, _extends2["default"])({
|
|
51
68
|
name: name,
|
|
52
69
|
className: className,
|
|
53
70
|
rows: rows,
|
|
@@ -56,7 +73,11 @@ var Input = /*#__PURE__*/_react["default"].forwardRef(function WrappedInput(_ref
|
|
|
56
73
|
reset: undefined,
|
|
57
74
|
required: undefined,
|
|
58
75
|
type: fieldType
|
|
59
|
-
})))
|
|
76
|
+
}))), (limit === null || limit === void 0 ? void 0 : limit.max) && /*#__PURE__*/_react["default"].createElement(_reactCore.Hint, null, currentValue === undefined || (currentValue === null || currentValue === void 0 ? void 0 : currentValue.length) >= 0 && (currentValue === null || currentValue === void 0 ? void 0 : currentValue.length) <= (limit === null || limit === void 0 ? void 0 : limit.max) ? /*#__PURE__*/_react["default"].createElement("span", null, t('form.info.text.you_have'), ' ', /*#__PURE__*/_react["default"].createElement("b", null, !currentValue ? limit.max : (limit === null || limit === void 0 ? void 0 : limit.max) - (currentValue === null || currentValue === void 0 ? void 0 : currentValue.length)), ' ', currentValue && (limit === null || limit === void 0 ? void 0 : limit.max) - (currentValue === null || currentValue === void 0 ? void 0 : currentValue.length) === 1 ? "".concat(t('form.info.text.character')) : "".concat(t('form.info.text.characters')), ' ', t('form.info.text.remaining'), ".") : /*#__PURE__*/_react["default"].createElement("span", {
|
|
77
|
+
style: {
|
|
78
|
+
color: '#b60202'
|
|
79
|
+
}
|
|
80
|
+
}, t('form.info.text.you_have'), ' ', /*#__PURE__*/_react["default"].createElement("b", null, currentValue && (currentValue === null || currentValue === void 0 ? void 0 : currentValue.length) - (limit === null || limit === void 0 ? void 0 : limit.max)), ' ', (currentValue === null || currentValue === void 0 ? void 0 : currentValue.length) - (limit === null || limit === void 0 ? void 0 : limit.max) === 1 ? "".concat(t('form.info.text.character')) : "".concat(t('form.info.text.characters')), ' ', t('form.info.text.too_many'), ".")));
|
|
60
81
|
} else {
|
|
61
82
|
return /*#__PURE__*/_react["default"].createElement(_TextInput["default"], (0, _extends2["default"])({
|
|
62
83
|
name: name,
|
package/inputs/Label/index.d.ts
CHANGED
|
@@ -3,8 +3,10 @@ import { FieldLabelProps } from '@digigov/form/types';
|
|
|
3
3
|
export interface FieldOptionProps {
|
|
4
4
|
label?: FieldLabelProps;
|
|
5
5
|
value: string;
|
|
6
|
+
show?: string[];
|
|
6
7
|
disabled?: boolean;
|
|
7
8
|
selected?: () => React.FC;
|
|
9
|
+
divider?: string;
|
|
8
10
|
}
|
|
9
11
|
export interface LabelProps {
|
|
10
12
|
primary?: string;
|
|
@@ -5,4 +5,6 @@ declare namespace _default {
|
|
|
5
5
|
}
|
|
6
6
|
export default _default;
|
|
7
7
|
export * from "@digigov/form/inputs/Radio/__stories__/Default";
|
|
8
|
+
export * from "@digigov/form/inputs/Radio/__stories__/WithDivider";
|
|
9
|
+
export * from "@digigov/form/inputs/Radio/__stories__/Conditional";
|
|
8
10
|
import Radio from "@digigov/form/inputs/Radio";
|
|
@@ -23,6 +23,34 @@ Object.keys(_Default).forEach(function (key) {
|
|
|
23
23
|
}
|
|
24
24
|
});
|
|
25
25
|
});
|
|
26
|
+
|
|
27
|
+
var _WithDivider = require("@digigov/form/inputs/Radio/__stories__/WithDivider");
|
|
28
|
+
|
|
29
|
+
Object.keys(_WithDivider).forEach(function (key) {
|
|
30
|
+
if (key === "default" || key === "__esModule") return;
|
|
31
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
32
|
+
if (key in exports && exports[key] === _WithDivider[key]) return;
|
|
33
|
+
Object.defineProperty(exports, key, {
|
|
34
|
+
enumerable: true,
|
|
35
|
+
get: function get() {
|
|
36
|
+
return _WithDivider[key];
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
var _Conditional = require("@digigov/form/inputs/Radio/__stories__/Conditional");
|
|
42
|
+
|
|
43
|
+
Object.keys(_Conditional).forEach(function (key) {
|
|
44
|
+
if (key === "default" || key === "__esModule") return;
|
|
45
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
46
|
+
if (key in exports && exports[key] === _Conditional[key]) return;
|
|
47
|
+
Object.defineProperty(exports, key, {
|
|
48
|
+
enumerable: true,
|
|
49
|
+
get: function get() {
|
|
50
|
+
return _Conditional[key];
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
});
|
|
26
54
|
var _default = {
|
|
27
55
|
title: 'Digigov Form/inputs/Radio',
|
|
28
56
|
component: _Radio["default"],
|
|
@@ -52,6 +52,22 @@
|
|
|
52
52
|
"title": "select option with keyboard and submit"
|
|
53
53
|
}
|
|
54
54
|
]
|
|
55
|
+
},
|
|
56
|
+
"digigov-form-inputs-radio--conditional": {
|
|
57
|
+
"actionSets": [
|
|
58
|
+
{
|
|
59
|
+
"actions": [
|
|
60
|
+
{
|
|
61
|
+
"name": "click",
|
|
62
|
+
"args": {
|
|
63
|
+
"selector": "html>body>div:nth-child(5)>form>div>fieldset>div>div:nth-child(1)>div>label>input"
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
],
|
|
67
|
+
"id": "LAUEuHh58XiI",
|
|
68
|
+
"title": "Radio conditional action"
|
|
69
|
+
}
|
|
70
|
+
]
|
|
55
71
|
}
|
|
56
72
|
}
|
|
57
73
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const Conditional: () => JSX.Element;
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
9
|
+
});
|
|
10
|
+
exports.Conditional = void 0;
|
|
11
|
+
|
|
12
|
+
var _react = _interopRequireDefault(require("react"));
|
|
13
|
+
|
|
14
|
+
var _form = _interopRequireWildcard(require("@digigov/form"));
|
|
15
|
+
|
|
16
|
+
var _core = require("@digigov/ui/core");
|
|
17
|
+
|
|
18
|
+
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); }
|
|
19
|
+
|
|
20
|
+
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; }
|
|
21
|
+
|
|
22
|
+
var fields = [{
|
|
23
|
+
key: 'landline',
|
|
24
|
+
type: 'phone_number',
|
|
25
|
+
label: {
|
|
26
|
+
secondary: 'Εισάγετε το νούμερο του σταθερού σας τηλεφώνου.'
|
|
27
|
+
},
|
|
28
|
+
enabled: false,
|
|
29
|
+
condition: {
|
|
30
|
+
auth_form: {
|
|
31
|
+
is: 'via_mobile_phone',
|
|
32
|
+
then: {
|
|
33
|
+
enabled: true,
|
|
34
|
+
required: true
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}, {
|
|
39
|
+
key: 'mobile_phone',
|
|
40
|
+
type: 'mobile_phone',
|
|
41
|
+
label: {
|
|
42
|
+
secondary: 'Εισάγετε το νούμερο του κινητού σας τηλεφώνου.'
|
|
43
|
+
},
|
|
44
|
+
enabled: false,
|
|
45
|
+
condition: {
|
|
46
|
+
auth_form: {
|
|
47
|
+
is: 'via_mobile_phone',
|
|
48
|
+
then: {
|
|
49
|
+
enabled: true,
|
|
50
|
+
required: true
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}, {
|
|
55
|
+
key: 'email',
|
|
56
|
+
type: 'email',
|
|
57
|
+
label: {
|
|
58
|
+
secondary: 'Εισάγετε την διεύθυνση του ηλεκτρονικού σας ταχυδρομείου.'
|
|
59
|
+
},
|
|
60
|
+
enabled: false,
|
|
61
|
+
condition: {
|
|
62
|
+
auth_form: {
|
|
63
|
+
is: 'via_email',
|
|
64
|
+
then: {
|
|
65
|
+
enabled: true,
|
|
66
|
+
required: true
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}, {
|
|
71
|
+
key: 'auth_form',
|
|
72
|
+
type: 'choice:single',
|
|
73
|
+
required: true,
|
|
74
|
+
label: {
|
|
75
|
+
primary: 'Επιλέξτε μέθοδο πιστοποίησης',
|
|
76
|
+
secondary: 'Για την ολοκλήρωση της δήλωσης σας, θα χρειαστεί επιπλέον πιστοποίηση. Θα σας στείλουμε ένα κωδικό μιας χρήσης είτε στο τηλέφωνο είτε στην ηλεκτρονική σας διεύθυνση.'
|
|
77
|
+
},
|
|
78
|
+
extra: {
|
|
79
|
+
options: [{
|
|
80
|
+
key: 'via_mobile_phone',
|
|
81
|
+
label: {
|
|
82
|
+
primary: 'Mέσω κινητού τηλεφώνου'
|
|
83
|
+
},
|
|
84
|
+
value: 'via_mobile_phone',
|
|
85
|
+
show: ['mobile_phone', 'landline']
|
|
86
|
+
}, {
|
|
87
|
+
key: 'via_email',
|
|
88
|
+
label: {
|
|
89
|
+
primary: 'Μέσω διεύθυνσης ηλεκτρονικού ταχυδρομείου (e-mail)'
|
|
90
|
+
},
|
|
91
|
+
value: 'via_email',
|
|
92
|
+
show: ['email']
|
|
93
|
+
}]
|
|
94
|
+
}
|
|
95
|
+
}];
|
|
96
|
+
|
|
97
|
+
var _ref = /*#__PURE__*/_react["default"].createElement(_form.Field, {
|
|
98
|
+
key: "auth_form",
|
|
99
|
+
name: "auth_form"
|
|
100
|
+
});
|
|
101
|
+
|
|
102
|
+
var _ref2 = /*#__PURE__*/_react["default"].createElement(_core.Button, {
|
|
103
|
+
type: "submit"
|
|
104
|
+
}, "\u03A3\u03C5\u03BD\u03AD\u03C7\u03B5\u03B9\u03B1");
|
|
105
|
+
|
|
106
|
+
var Conditional = function Conditional() {
|
|
107
|
+
return /*#__PURE__*/_react["default"].createElement(_form["default"], {
|
|
108
|
+
onSubmit: function onSubmit(data) {
|
|
109
|
+
console.log(data);
|
|
110
|
+
},
|
|
111
|
+
fields: fields
|
|
112
|
+
}, _ref, _ref2);
|
|
113
|
+
};
|
|
114
|
+
|
|
115
|
+
exports.Conditional = Conditional;
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
9
|
+
});
|
|
10
|
+
exports["default"] = exports.WithDivider = void 0;
|
|
11
|
+
|
|
12
|
+
var _react = _interopRequireDefault(require("react"));
|
|
13
|
+
|
|
14
|
+
var _form = _interopRequireWildcard(require("@digigov/form"));
|
|
15
|
+
|
|
16
|
+
var _core = require("@digigov/ui/core");
|
|
17
|
+
|
|
18
|
+
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); }
|
|
19
|
+
|
|
20
|
+
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; }
|
|
21
|
+
|
|
22
|
+
var _ref = /*#__PURE__*/_react["default"].createElement(_core.Button, {
|
|
23
|
+
type: "submit"
|
|
24
|
+
}, "\u03A3\u03C5\u03BD\u03AD\u03C7\u03B5\u03B9\u03B1");
|
|
25
|
+
|
|
26
|
+
var WithDivider = function WithDivider() {
|
|
27
|
+
return /*#__PURE__*/_react["default"].createElement(_form["default"], {
|
|
28
|
+
onSubmit: function onSubmit(data) {
|
|
29
|
+
console.log(data);
|
|
30
|
+
}
|
|
31
|
+
}, /*#__PURE__*/_react["default"].createElement(_form.Field, {
|
|
32
|
+
key: 'string',
|
|
33
|
+
name: "string",
|
|
34
|
+
type: "choice:single",
|
|
35
|
+
required: true,
|
|
36
|
+
label: {
|
|
37
|
+
primary: 'Ποια ειναι η χώρα της διαμονής σας;'
|
|
38
|
+
},
|
|
39
|
+
extra: {
|
|
40
|
+
options: [{
|
|
41
|
+
label: {
|
|
42
|
+
primary: 'Ελλάδα'
|
|
43
|
+
},
|
|
44
|
+
value: 'greece'
|
|
45
|
+
}, {
|
|
46
|
+
label: {
|
|
47
|
+
primary: 'Κύπρος'
|
|
48
|
+
},
|
|
49
|
+
value: 'cyprus'
|
|
50
|
+
}, {
|
|
51
|
+
label: {
|
|
52
|
+
primary: 'Χώρα της Ευρωπαϊκής Ένωσης'
|
|
53
|
+
},
|
|
54
|
+
value: 'eu'
|
|
55
|
+
}, {
|
|
56
|
+
label: {
|
|
57
|
+
primary: 'Ηνωμένες Πολιτείες της Αμερικής'
|
|
58
|
+
},
|
|
59
|
+
value: 'usa',
|
|
60
|
+
divider: 'ή'
|
|
61
|
+
}]
|
|
62
|
+
}
|
|
63
|
+
}), _ref);
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
exports.WithDivider = WithDivider;
|
|
67
|
+
var _default = WithDivider;
|
|
68
|
+
exports["default"] = _default;
|
package/inputs/Radio/index.js
CHANGED
|
@@ -23,7 +23,12 @@ var _reactHookForm = require("react-hook-form");
|
|
|
23
23
|
|
|
24
24
|
var _Hint = _interopRequireDefault(require("@digigov/react-core/Hint"));
|
|
25
25
|
|
|
26
|
-
var
|
|
26
|
+
var _form = require("@digigov/form");
|
|
27
|
+
|
|
28
|
+
var _reactCore = require("@digigov/react-core");
|
|
29
|
+
|
|
30
|
+
var _excluded = ["name", "control", "register", "extra", "disabled"],
|
|
31
|
+
_excluded2 = ["label", "value", "show", "disabled", "selected"];
|
|
27
32
|
|
|
28
33
|
var RadioButtonsGroup = function RadioButtonsGroup(_ref) {
|
|
29
34
|
var name = _ref.name,
|
|
@@ -49,19 +54,26 @@ var RadioButtonsGroup = function RadioButtonsGroup(_ref) {
|
|
|
49
54
|
}, options.map(function (_ref2) {
|
|
50
55
|
var label = _ref2.label,
|
|
51
56
|
v = _ref2.value,
|
|
57
|
+
show = _ref2.show,
|
|
52
58
|
optionDisabled = _ref2.disabled,
|
|
53
|
-
selected = _ref2.selected
|
|
59
|
+
selected = _ref2.selected,
|
|
60
|
+
option = (0, _objectWithoutProperties2["default"])(_ref2, _excluded2);
|
|
54
61
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
55
62
|
key: "".concat(name, ".").concat(v)
|
|
56
63
|
}, /*#__PURE__*/_react["default"].createElement(_RadioItem["default"], (0, _extends2["default"])({}, register(name), {
|
|
57
64
|
value: v,
|
|
58
65
|
disabled: disabled || optionDisabled
|
|
59
|
-
}, (0, _extends2["default"])({}, props, {
|
|
66
|
+
}, option, (0, _extends2["default"])({}, props, {
|
|
60
67
|
reset: undefined,
|
|
61
68
|
required: undefined,
|
|
62
69
|
'aria-describedby': undefined,
|
|
63
70
|
type: 'radio'
|
|
64
|
-
})), label && label.primary && t(label.primary) || v, label && label.secondary && /*#__PURE__*/_react["default"].createElement(_Hint["default"], null, t(label.secondary))), selected && selected())
|
|
71
|
+
})), label && label.primary && t(label.primary) || v, label && label.secondary && /*#__PURE__*/_react["default"].createElement(_Hint["default"], null, t(label.secondary))), selected && selected(), currentValue === v && show && /*#__PURE__*/_react["default"].createElement(_reactCore.RadioConditional, null, show.map(function (fieldName) {
|
|
72
|
+
return /*#__PURE__*/_react["default"].createElement(_form.Field, {
|
|
73
|
+
name: fieldName,
|
|
74
|
+
key: fieldName
|
|
75
|
+
});
|
|
76
|
+
})));
|
|
65
77
|
}));
|
|
66
78
|
};
|
|
67
79
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@digigov/form",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.13.0",
|
|
4
4
|
"description": "@digigov form builder",
|
|
5
5
|
"author": "GRNET Developers <devs@lists.grnet.gr>",
|
|
6
6
|
"license": "BSD-2-Clause",
|
|
@@ -19,9 +19,9 @@
|
|
|
19
19
|
"publint": "0.1.8"
|
|
20
20
|
},
|
|
21
21
|
"peerDependencies": {
|
|
22
|
-
"@digigov/ui": "0.35.
|
|
23
|
-
"@digigov/react-core": "0.
|
|
24
|
-
"@digigov/react-extensions": "0.23.
|
|
22
|
+
"@digigov/ui": "0.35.3",
|
|
23
|
+
"@digigov/react-core": "0.26.0",
|
|
24
|
+
"@digigov/react-extensions": "0.23.4",
|
|
25
25
|
"clsx": "1.1.1",
|
|
26
26
|
"react": "^16.8.0 || ^17.0.0",
|
|
27
27
|
"react-dom": "^16.8.0 || ^17.0.0"
|
package/registry.d.ts
CHANGED
|
@@ -56,6 +56,7 @@ declare var _default: {
|
|
|
56
56
|
'@digigov/form/validators/utils/otp': {};
|
|
57
57
|
'@digigov/form/validators/utils/phone': {};
|
|
58
58
|
'@digigov/form/validators/utils/postal_code': {};
|
|
59
|
+
'@digigov/form/validators/utils/text_limit': {};
|
|
59
60
|
'@digigov/form/validators/utils/uuid4': {};
|
|
60
61
|
};
|
|
61
62
|
export default _default;
|
package/registry.js
CHANGED
|
@@ -121,6 +121,8 @@ var _digigov_form_validators_utils_phone = _interopRequireWildcard(require("@dig
|
|
|
121
121
|
|
|
122
122
|
var _digigov_form_validators_utils_postal_code = _interopRequireWildcard(require("@digigov/form/validators/utils/postal_code"));
|
|
123
123
|
|
|
124
|
+
var _digigov_form_validators_utils_text_limit = _interopRequireWildcard(require("@digigov/form/validators/utils/text_limit"));
|
|
125
|
+
|
|
124
126
|
var _digigov_form_validators_utils_uuid4 = _interopRequireWildcard(require("@digigov/form/validators/utils/uuid4"));
|
|
125
127
|
|
|
126
128
|
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); }
|
|
@@ -128,6 +130,7 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
128
130
|
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; }
|
|
129
131
|
|
|
130
132
|
function lazyImport(pkgImport) {
|
|
133
|
+
// eslint-disable-next-line no-undef
|
|
131
134
|
return new Proxy({}, {
|
|
132
135
|
get: function get(_target, name) {
|
|
133
136
|
if (name === '__esModule' || name === 'default') {
|
|
@@ -199,6 +202,7 @@ var _default = {
|
|
|
199
202
|
'@digigov/form/validators/utils/otp': lazyImport(_digigov_form_validators_utils_otp),
|
|
200
203
|
'@digigov/form/validators/utils/phone': lazyImport(_digigov_form_validators_utils_phone),
|
|
201
204
|
'@digigov/form/validators/utils/postal_code': lazyImport(_digigov_form_validators_utils_postal_code),
|
|
205
|
+
'@digigov/form/validators/utils/text_limit': lazyImport(_digigov_form_validators_utils_text_limit),
|
|
202
206
|
'@digigov/form/validators/utils/uuid4': lazyImport(_digigov_form_validators_utils_uuid4)
|
|
203
207
|
};
|
|
204
208
|
exports["default"] = _default;
|