@uncinc/uncinc-react-kitchen-sink 2.6.7 → 2.7.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/dist/components/Cookie/Checkbox/style.scss +25 -23
- package/dist/components/Form/Checkbox/index.js +23 -6
- package/dist/components/Form/Checkboxes/index.js +61 -11
- package/dist/components/Form/DateField/index.d.ts +3 -0
- package/dist/components/Form/DateField/index.js +50 -0
- package/dist/components/Form/DatePicker/index.js +53 -15
- package/dist/components/Form/DateSelect/index.d.ts +1 -0
- package/dist/components/Form/DateSelect/index.js +116 -89
- package/dist/components/Form/FormikWrapper/index.d.ts +6 -1
- package/dist/components/Form/FormikWrapper/index.js +34 -53
- package/dist/components/Form/Number/index.js +19 -12
- package/dist/components/Form/RadioButtons/index.js +42 -11
- package/dist/components/Form/RadioButtons/style.scss +1 -0
- package/dist/components/Form/Select/Input/index.js +33 -7
- package/dist/components/Form/Select/index.js +14 -7
- package/dist/components/Form/TextField/index.js +24 -8
- package/dist/components/Form/Textarea/index.js +38 -11
- package/dist/components/Form/index.d.ts +13 -0
- package/dist/components/Form/index.js +97 -0
- package/dist/components/Layout/Container/index.d.ts +6 -0
- package/dist/components/Layout/Container/index.js +6 -2
- package/dist/components/MediaPlayer/index.d.ts +1 -1
- package/dist/components/MediaPlayer/index.js +2 -1
- package/dist/components/index.d.ts +2 -2
- package/dist/components/index.js +12 -3
- package/dist/index.d.ts +2 -2
- package/dist/index.js +12 -3
- package/package.json +1 -1
- package/dist/components/Form/Date/index.d.ts +0 -3
- package/dist/components/Form/Date/index.js +0 -17
|
@@ -2,35 +2,37 @@
|
|
|
2
2
|
@import '../../../styles/assets/variables';
|
|
3
3
|
|
|
4
4
|
// Radio's and checkboxes
|
|
5
|
-
|
|
6
|
-
input[type='
|
|
7
|
-
|
|
8
|
-
|
|
5
|
+
.Cookie {
|
|
6
|
+
input[type='checkbox'],
|
|
7
|
+
input[type='radio'] {
|
|
8
|
+
position: absolute;
|
|
9
|
+
opacity: 0;
|
|
9
10
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
11
|
+
// Unchecked
|
|
12
|
+
~ label:not(.no-styling) {
|
|
13
|
+
position: relative;
|
|
14
|
+
display: inline-block;
|
|
15
|
+
margin-bottom: 0;
|
|
16
|
+
font-weight: bold;
|
|
17
|
+
color: black;
|
|
18
|
+
user-select: none;
|
|
19
|
+
cursor: pointer;
|
|
19
20
|
|
|
20
|
-
|
|
21
|
-
|
|
21
|
+
display: flex;
|
|
22
|
+
align-items: center;
|
|
22
23
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
24
|
+
&:before {
|
|
25
|
+
margin-right: 1rem;
|
|
26
|
+
font-size: 1.8rem;
|
|
27
|
+
}
|
|
26
28
|
}
|
|
27
|
-
}
|
|
28
29
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
30
|
+
// Checked
|
|
31
|
+
&:checked ~ label:not(.no-styling) {
|
|
32
|
+
&:before {
|
|
32
33
|
|
|
33
|
-
|
|
34
|
+
background-position-y: -1em;
|
|
35
|
+
}
|
|
34
36
|
}
|
|
35
37
|
}
|
|
36
38
|
}
|
|
@@ -7,8 +7,10 @@ exports.default = exports.Checkbox = void 0;
|
|
|
7
7
|
var _react = _interopRequireDefault(require("react"));
|
|
8
8
|
var _formik = require("formik");
|
|
9
9
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
10
|
+
var _reactI18next = require("react-i18next");
|
|
10
11
|
var _GenericFormElement = _interopRequireDefault(require("../GenericFormElement"));
|
|
11
12
|
var _withMapping = _interopRequireDefault(require("../../../Context/withMapping"));
|
|
13
|
+
var _FormikWrapper = require("../FormikWrapper");
|
|
12
14
|
require("./style.scss");
|
|
13
15
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
14
16
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
@@ -18,28 +20,42 @@ var Checkbox = function Checkbox(props) {
|
|
|
18
20
|
description = props.description,
|
|
19
21
|
fieldName = props.fieldName,
|
|
20
22
|
validation = props.validation,
|
|
21
|
-
touched = props.touched,
|
|
22
|
-
error = props.error,
|
|
23
|
-
value = props.value,
|
|
24
|
-
displayRequiredIndicator = props.displayRequiredIndicator,
|
|
25
23
|
_onChange = props.onChange,
|
|
26
24
|
className = props.className,
|
|
27
25
|
wrapperClassName = props.wrapperClassName,
|
|
28
26
|
_props$disabled = props.disabled,
|
|
29
27
|
disabled = _props$disabled === void 0 ? false : _props$disabled;
|
|
28
|
+
var _useExtendedFormikCon = (0, _FormikWrapper.useExtendedFormikContext)(),
|
|
29
|
+
values = _useExtendedFormikCon.values,
|
|
30
|
+
errors = _useExtendedFormikCon.errors,
|
|
31
|
+
touched = _useExtendedFormikCon.touched,
|
|
32
|
+
displayRequiredIndicator = _useExtendedFormikCon.displayRequiredIndicator;
|
|
33
|
+
var _useTranslation = (0, _reactI18next.useTranslation)(),
|
|
34
|
+
t = _useTranslation.t;
|
|
35
|
+
var isTouched = touched[fieldName];
|
|
36
|
+
var value = values[fieldName];
|
|
37
|
+
var error = errors[fieldName];
|
|
38
|
+
var handleValidation = function handleValidation(value) {
|
|
39
|
+
if (validation) {
|
|
40
|
+
return validation(value);
|
|
41
|
+
}
|
|
42
|
+
if (required && !value) {
|
|
43
|
+
return t(['webform.components.checkbox.required', 'webform.required', 'webform_required']);
|
|
44
|
+
}
|
|
45
|
+
};
|
|
30
46
|
return /*#__PURE__*/_react.default.createElement(_GenericFormElement.default, {
|
|
31
47
|
className: (0, _classnames.default)('Checkbox', wrapperClassName),
|
|
32
48
|
required: required,
|
|
33
49
|
description: description,
|
|
34
50
|
fieldName: fieldName,
|
|
35
|
-
touched:
|
|
51
|
+
touched: isTouched,
|
|
36
52
|
error: error,
|
|
37
53
|
displayRequiredIndicator: displayRequiredIndicator
|
|
38
54
|
}, /*#__PURE__*/_react.default.createElement(_formik.Field, {
|
|
39
55
|
required: required,
|
|
40
56
|
name: fieldName,
|
|
41
57
|
value: value,
|
|
42
|
-
validate:
|
|
58
|
+
validate: handleValidation
|
|
43
59
|
}, function (_ref) {
|
|
44
60
|
var field = _ref.field,
|
|
45
61
|
form = _ref.form;
|
|
@@ -47,6 +63,7 @@ var Checkbox = function Checkbox(props) {
|
|
|
47
63
|
var classes = (0, _classnames.default)('WebformCheckboxes__checkbox__input', {
|
|
48
64
|
'icon-before': true,
|
|
49
65
|
'icon-checkmark': true,
|
|
66
|
+
'icon-variant-0': !field.value,
|
|
50
67
|
'icon-variant-1': field.value
|
|
51
68
|
});
|
|
52
69
|
return /*#__PURE__*/_react.default.createElement("label", {
|
|
@@ -7,16 +7,25 @@ exports.default = void 0;
|
|
|
7
7
|
var _react = _interopRequireDefault(require("react"));
|
|
8
8
|
var _formik = require("formik");
|
|
9
9
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
10
|
+
var _reactI18next = require("react-i18next");
|
|
10
11
|
var _GenericFormElement = _interopRequireDefault(require("../GenericFormElement"));
|
|
12
|
+
var _FormikWrapper = require("../FormikWrapper");
|
|
11
13
|
require("./style.scss");
|
|
12
14
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
15
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
16
|
+
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
17
|
+
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
18
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
19
|
+
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
20
|
+
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
21
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
14
22
|
function Checkbox(props) {
|
|
15
23
|
var name = props.name,
|
|
16
24
|
value = props.value,
|
|
17
25
|
validate = props.validate,
|
|
18
26
|
disabled = props.disabled,
|
|
19
|
-
className = props.className
|
|
27
|
+
className = props.className,
|
|
28
|
+
_onChange = props.onChange;
|
|
20
29
|
return /*#__PURE__*/_react.default.createElement(_formik.Field, {
|
|
21
30
|
required: true,
|
|
22
31
|
name: name,
|
|
@@ -30,8 +39,22 @@ function Checkbox(props) {
|
|
|
30
39
|
var classes = (0, _classnames.default)('WebformCheckboxes__checkbox__input', {
|
|
31
40
|
'icon-before': true,
|
|
32
41
|
'icon-checkmark': true,
|
|
42
|
+
'icon-variant-0': !checked,
|
|
33
43
|
'icon-variant-1': checked
|
|
34
44
|
});
|
|
45
|
+
var checkedValues = function checkedValues() {
|
|
46
|
+
// The value we return here is based on the current state, meaning,
|
|
47
|
+
// before we update it using setFieldValue. Therefore, when the current
|
|
48
|
+
// value is unchecked, we want to add it to the list of checked values.
|
|
49
|
+
// And if the current value is checked, we want to filter it out of the
|
|
50
|
+
// list of checked values.
|
|
51
|
+
if (!checked) {
|
|
52
|
+
return [].concat(_toConsumableArray(field.value), [value]);
|
|
53
|
+
}
|
|
54
|
+
return field.value.filter(function (item) {
|
|
55
|
+
return item !== value;
|
|
56
|
+
});
|
|
57
|
+
};
|
|
35
58
|
if (props.value === '__other__') {
|
|
36
59
|
var inputClasses = (0, _classnames.default)({
|
|
37
60
|
hidden: !field.value.includes('__other__')
|
|
@@ -46,7 +69,13 @@ function Checkbox(props) {
|
|
|
46
69
|
id: name,
|
|
47
70
|
checked: checked,
|
|
48
71
|
disabled: disabled,
|
|
49
|
-
className: className
|
|
72
|
+
className: className,
|
|
73
|
+
onChange: function onChange(event) {
|
|
74
|
+
if (_onChange) {
|
|
75
|
+
_onChange(value, checkedValues());
|
|
76
|
+
}
|
|
77
|
+
field.onChange(event);
|
|
78
|
+
}
|
|
50
79
|
})), /*#__PURE__*/_react.default.createElement("span", null, /*#__PURE__*/_react.default.createElement("span", null, props.otherLabel ? props.otherLabel : props.label), props.description && /*#__PURE__*/_react.default.createElement("span", null, props.description)), /*#__PURE__*/_react.default.createElement("textarea", {
|
|
51
80
|
placeholder: props.otherPlaceholder,
|
|
52
81
|
className: inputClasses,
|
|
@@ -65,7 +94,13 @@ function Checkbox(props) {
|
|
|
65
94
|
id: name,
|
|
66
95
|
checked: checked,
|
|
67
96
|
disabled: disabled,
|
|
68
|
-
className: className
|
|
97
|
+
className: className,
|
|
98
|
+
onChange: function onChange(event) {
|
|
99
|
+
if (_onChange) {
|
|
100
|
+
_onChange(value, checkedValues());
|
|
101
|
+
}
|
|
102
|
+
field.onChange(event);
|
|
103
|
+
}
|
|
69
104
|
})), /*#__PURE__*/_react.default.createElement("span", null, /*#__PURE__*/_react.default.createElement("span", null, props.label), props.description && /*#__PURE__*/_react.default.createElement("span", null, props.description)));
|
|
70
105
|
});
|
|
71
106
|
}
|
|
@@ -76,26 +111,40 @@ var Checkboxes = function Checkboxes(props) {
|
|
|
76
111
|
placeholder = props.placeholder,
|
|
77
112
|
fieldName = props.fieldName,
|
|
78
113
|
validation = props.validation,
|
|
79
|
-
touched = props.touched,
|
|
80
|
-
error = props.error,
|
|
81
114
|
type = props.type,
|
|
82
115
|
options = props.options,
|
|
83
116
|
_props$descriptions = props.descriptions,
|
|
84
117
|
descriptions = _props$descriptions === void 0 ? {} : _props$descriptions,
|
|
85
|
-
displayRequiredIndicator = props.displayRequiredIndicator,
|
|
86
118
|
className = props.className,
|
|
87
119
|
wrapperClassName = props.wrapperClassName,
|
|
88
120
|
_props$disabled = props.disabled,
|
|
89
121
|
disabled = _props$disabled === void 0 ? false : _props$disabled,
|
|
90
122
|
otherLabel = props.otherLabel,
|
|
91
|
-
otherPlaceholder = props.otherPlaceholder
|
|
123
|
+
otherPlaceholder = props.otherPlaceholder,
|
|
124
|
+
onChange = props.onChange;
|
|
125
|
+
var _useExtendedFormikCon = (0, _FormikWrapper.useExtendedFormikContext)(),
|
|
126
|
+
errors = _useExtendedFormikCon.errors,
|
|
127
|
+
touched = _useExtendedFormikCon.touched,
|
|
128
|
+
displayRequiredIndicator = _useExtendedFormikCon.displayRequiredIndicator;
|
|
129
|
+
var _useTranslation = (0, _reactI18next.useTranslation)(),
|
|
130
|
+
t = _useTranslation.t;
|
|
131
|
+
var isTouched = touched[fieldName];
|
|
132
|
+
var error = errors[fieldName];
|
|
133
|
+
var handleValidation = function handleValidation(value) {
|
|
134
|
+
if (validation) {
|
|
135
|
+
return validation(value);
|
|
136
|
+
}
|
|
137
|
+
if (required && (!value || !Array.isArray(value) || value.length === 0)) {
|
|
138
|
+
return t(['webform.components.checkboxes.required', 'webform.required', 'webform_required']);
|
|
139
|
+
}
|
|
140
|
+
};
|
|
92
141
|
return /*#__PURE__*/_react.default.createElement(_GenericFormElement.default, {
|
|
93
142
|
className: (0, _classnames.default)('Checkboxes', wrapperClassName),
|
|
94
143
|
title: title,
|
|
95
144
|
required: required,
|
|
96
145
|
description: description,
|
|
97
146
|
fieldName: fieldName,
|
|
98
|
-
touched:
|
|
147
|
+
touched: isTouched,
|
|
99
148
|
error: error,
|
|
100
149
|
displayRequiredIndicator: displayRequiredIndicator
|
|
101
150
|
}, Object.keys(options).map(function (value) {
|
|
@@ -106,16 +155,17 @@ var Checkboxes = function Checkboxes(props) {
|
|
|
106
155
|
label: label,
|
|
107
156
|
description: description,
|
|
108
157
|
className: (0, _classnames.default)(className, {
|
|
109
|
-
'error': error &&
|
|
158
|
+
'error': error && isTouched
|
|
110
159
|
}),
|
|
111
160
|
name: fieldName,
|
|
112
161
|
type: type || 'text',
|
|
113
162
|
value: value,
|
|
114
163
|
placeholder: placeholder,
|
|
115
|
-
validate:
|
|
164
|
+
validate: handleValidation,
|
|
116
165
|
disabled: disabled,
|
|
117
166
|
otherLabel: otherLabel,
|
|
118
|
-
otherPlaceholder: otherPlaceholder
|
|
167
|
+
otherPlaceholder: otherPlaceholder,
|
|
168
|
+
onChange: onChange
|
|
119
169
|
});
|
|
120
170
|
}));
|
|
121
171
|
};
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _reactI18next = require("react-i18next");
|
|
9
|
+
var _TextField = _interopRequireDefault(require("../TextField"));
|
|
10
|
+
var _excluded = ["required", "minDate", "maxDate", "validation"];
|
|
11
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
12
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
13
|
+
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
14
|
+
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
15
|
+
var DateField = function DateField(props) {
|
|
16
|
+
var required = props.required,
|
|
17
|
+
minDate = props.minDate,
|
|
18
|
+
maxDate = props.maxDate,
|
|
19
|
+
validation = props.validation,
|
|
20
|
+
restProps = _objectWithoutProperties(props, _excluded);
|
|
21
|
+
var _useTranslation = (0, _reactI18next.useTranslation)(),
|
|
22
|
+
t = _useTranslation.t;
|
|
23
|
+
var handleValidation = function handleValidation(value) {
|
|
24
|
+
if (validation) {
|
|
25
|
+
return validation(value);
|
|
26
|
+
}
|
|
27
|
+
if (required && (value === undefined || value === null || value === '')) {
|
|
28
|
+
return t(['webform.components.date.required', 'webform.required', 'webform_required']);
|
|
29
|
+
}
|
|
30
|
+
if (minDate && new Date(value).getTime() < new Date(minDate).getTime()) {
|
|
31
|
+
return t(['webform.components.date.min', 'webform.min', 'webform_min'], {
|
|
32
|
+
date: value,
|
|
33
|
+
minDate: minDate
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
if (maxDate && new Date(value).getTime() > new Date(maxDate).getTime()) {
|
|
37
|
+
return t(['webform.components.date.max', 'webform.max', 'webform_max'], {
|
|
38
|
+
date: value,
|
|
39
|
+
maxDate: maxDate
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
return /*#__PURE__*/_react.default.createElement(_TextField.default, _extends({}, restProps, {
|
|
44
|
+
type: "date",
|
|
45
|
+
required: required,
|
|
46
|
+
validation: handleValidation
|
|
47
|
+
}));
|
|
48
|
+
};
|
|
49
|
+
var _default = DateField;
|
|
50
|
+
exports.default = _default;
|
|
@@ -8,10 +8,16 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
8
8
|
var _reactDatepicker = _interopRequireDefault(require("react-datepicker"));
|
|
9
9
|
var _formik = require("formik");
|
|
10
10
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
11
|
+
var _reactI18next = require("react-i18next");
|
|
11
12
|
var _GenericFormElement = _interopRequireDefault(require("../GenericFormElement"));
|
|
13
|
+
var _FormikWrapper = require("../FormikWrapper");
|
|
12
14
|
require("react-datepicker/dist/react-datepicker.css");
|
|
13
15
|
require("./style.scss");
|
|
16
|
+
var _excluded = ["title", "required", "description", "placeholder", "fieldName", "validation", "className", "wrapperClassName", "disabled", "minDate", "maxDate", "onChange"];
|
|
14
17
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
18
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
19
|
+
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
20
|
+
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
15
21
|
var DatePicker = function DatePicker(props) {
|
|
16
22
|
var title = props.title,
|
|
17
23
|
required = props.required,
|
|
@@ -19,47 +25,79 @@ var DatePicker = function DatePicker(props) {
|
|
|
19
25
|
placeholder = props.placeholder,
|
|
20
26
|
fieldName = props.fieldName,
|
|
21
27
|
validation = props.validation,
|
|
22
|
-
touched = props.touched,
|
|
23
|
-
error = props.error,
|
|
24
|
-
type = props.type,
|
|
25
|
-
value = props.value,
|
|
26
|
-
displayRequiredIndicator = props.displayRequiredIndicator,
|
|
27
28
|
className = props.className,
|
|
28
29
|
wrapperClassName = props.wrapperClassName,
|
|
29
30
|
_props$disabled = props.disabled,
|
|
30
|
-
disabled = _props$disabled === void 0 ? false : _props$disabled
|
|
31
|
+
disabled = _props$disabled === void 0 ? false : _props$disabled,
|
|
32
|
+
minDate = props.minDate,
|
|
33
|
+
maxDate = props.maxDate,
|
|
34
|
+
_onChange = props.onChange,
|
|
35
|
+
restProps = _objectWithoutProperties(props, _excluded);
|
|
36
|
+
var _useExtendedFormikCon = (0, _FormikWrapper.useExtendedFormikContext)(),
|
|
37
|
+
values = _useExtendedFormikCon.values,
|
|
38
|
+
errors = _useExtendedFormikCon.errors,
|
|
39
|
+
touched = _useExtendedFormikCon.touched,
|
|
40
|
+
setFieldValue = _useExtendedFormikCon.setFieldValue,
|
|
41
|
+
displayRequiredIndicator = _useExtendedFormikCon.displayRequiredIndicator;
|
|
42
|
+
var _useTranslation = (0, _reactI18next.useTranslation)(),
|
|
43
|
+
t = _useTranslation.t;
|
|
44
|
+
var isTouched = touched[fieldName];
|
|
45
|
+
var value = values[fieldName];
|
|
46
|
+
var error = errors[fieldName];
|
|
47
|
+
var handleValidation = function handleValidation(value) {
|
|
48
|
+
if (validation) {
|
|
49
|
+
return validation(value);
|
|
50
|
+
}
|
|
51
|
+
if (required && !value) {
|
|
52
|
+
return t(['webform.components.date_picker.required', 'webform.required', 'webform_required']);
|
|
53
|
+
}
|
|
54
|
+
if (minDate && new Date(value).getTime() < new Date(minDate).getTime()) {
|
|
55
|
+
return t(['webform.components.date_picker.min', 'webform.min', 'webform_min'], {
|
|
56
|
+
date: value,
|
|
57
|
+
minDate: minDate
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
if (maxDate && new Date(value).getTime() > new Date(maxDate).getTime()) {
|
|
61
|
+
return t(['webform.components.date_picker.max', 'webform.max', 'webform_max'], {
|
|
62
|
+
date: value,
|
|
63
|
+
maxDate: maxDate
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
};
|
|
31
67
|
return /*#__PURE__*/_react.default.createElement(_GenericFormElement.default, {
|
|
32
68
|
className: (0, _classnames.default)('DatePicker', wrapperClassName),
|
|
33
69
|
title: title,
|
|
34
70
|
required: required,
|
|
35
71
|
description: description,
|
|
36
72
|
fieldName: fieldName,
|
|
37
|
-
touched:
|
|
73
|
+
touched: isTouched,
|
|
38
74
|
error: error,
|
|
39
75
|
displayRequiredIndicator: displayRequiredIndicator
|
|
40
76
|
}, /*#__PURE__*/_react.default.createElement(_formik.Field, {
|
|
77
|
+
id: fieldName,
|
|
78
|
+
name: fieldName,
|
|
79
|
+
validate: handleValidation,
|
|
41
80
|
fieldName: fieldName,
|
|
42
|
-
validation: validation,
|
|
43
81
|
touched: touched,
|
|
44
82
|
error: error,
|
|
45
|
-
type: type || 'text',
|
|
46
83
|
value: value
|
|
47
|
-
}, function (
|
|
48
|
-
|
|
49
|
-
return /*#__PURE__*/_react.default.createElement(_reactDatepicker.default, {
|
|
50
|
-
id: fieldName,
|
|
84
|
+
}, function () {
|
|
85
|
+
return /*#__PURE__*/_react.default.createElement(_reactDatepicker.default, _extends({
|
|
51
86
|
selected: value && new Date(value) || null,
|
|
52
87
|
onChange: function onChange(value) {
|
|
53
|
-
|
|
88
|
+
setFieldValue(fieldName, value);
|
|
89
|
+
if (_onChange) _onChange(value);
|
|
54
90
|
},
|
|
55
91
|
peekNextMonth: true,
|
|
56
92
|
showMonthDropdown: true,
|
|
57
93
|
showYearDropdown: true,
|
|
58
94
|
dropdownMode: "select",
|
|
95
|
+
id: fieldName,
|
|
96
|
+
name: fieldName,
|
|
59
97
|
className: className,
|
|
60
98
|
disabled: disabled,
|
|
61
99
|
placeholderText: placeholder
|
|
62
|
-
});
|
|
100
|
+
}, restProps));
|
|
63
101
|
}));
|
|
64
102
|
};
|
|
65
103
|
var _default = DatePicker;
|