@uncinc/uncinc-react-kitchen-sink 2.6.6 → 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/Image/AdaptivePicture/index.d.ts +10 -0
- package/dist/components/Image/AdaptivePicture/index.js +105 -0
- package/dist/components/Image/AdaptivePicture/style.scss +7 -0
- package/dist/components/Image/Picture/index.js +4 -14
- package/dist/components/Image/helpers/index.d.ts +10 -0
- package/dist/components/Image/helpers/index.js +124 -0
- package/dist/components/Image/index.d.ts +10 -0
- package/dist/components/Image/index.js +13 -4
- package/dist/components/Layout/Container/index.d.ts +6 -0
- package/dist/components/Layout/Container/index.js +6 -2
- package/dist/components/Layout/Container/style.scss +15 -1
- package/dist/components/MediaPlayer/index.d.ts +1 -1
- package/dist/components/MediaPlayer/index.js +2 -1
- package/dist/components/TableRender/index.d.ts +1 -1
- package/dist/components/TableRender/index.js +2 -4
- 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
- package/dist/helpers/index.d.ts +0 -14
- package/dist/helpers/index.js +0 -31
|
@@ -8,13 +8,25 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
8
8
|
var _reactSelect = _interopRequireDefault(require("react-select"));
|
|
9
9
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
10
10
|
var _formik = require("formik");
|
|
11
|
+
var _reactI18next = require("react-i18next");
|
|
12
|
+
var _FormikWrapper = require("../../FormikWrapper");
|
|
11
13
|
require("./style.scss");
|
|
12
14
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
|
+
var SelectInputOption = function SelectInputOption(props) {
|
|
16
|
+
return (
|
|
17
|
+
/*#__PURE__*/
|
|
18
|
+
// eslint-disable-next-line react/no-danger
|
|
19
|
+
_react.default.createElement("span", {
|
|
20
|
+
dangerouslySetInnerHTML: {
|
|
21
|
+
__html: props.label
|
|
22
|
+
}
|
|
23
|
+
})
|
|
24
|
+
);
|
|
25
|
+
};
|
|
13
26
|
var SelectInput = function SelectInput(props) {
|
|
14
27
|
var fieldName = props.fieldName,
|
|
15
28
|
id = props.id,
|
|
16
29
|
validation = props.validation,
|
|
17
|
-
value = props.value,
|
|
18
30
|
defaultValue = props.defaultValue,
|
|
19
31
|
_onChange = props.onChange,
|
|
20
32
|
options = props.options,
|
|
@@ -28,8 +40,15 @@ var SelectInput = function SelectInput(props) {
|
|
|
28
40
|
isSearchable = _props$isSearchable === void 0 ? true : _props$isSearchable,
|
|
29
41
|
_props$multiple = props.multiple,
|
|
30
42
|
multiple = _props$multiple === void 0 ? false : _props$multiple,
|
|
31
|
-
size = props.size
|
|
43
|
+
size = props.size,
|
|
44
|
+
required = props.required;
|
|
32
45
|
var selectedOption = props.selectedOption;
|
|
46
|
+
var _useExtendedFormikCon = (0, _FormikWrapper.useExtendedFormikContext)(),
|
|
47
|
+
values = _useExtendedFormikCon.values,
|
|
48
|
+
setFieldValue = _useExtendedFormikCon.setFieldValue;
|
|
49
|
+
var _useTranslation = (0, _reactI18next.useTranslation)(),
|
|
50
|
+
t = _useTranslation.t;
|
|
51
|
+
var value = values[fieldName];
|
|
33
52
|
|
|
34
53
|
// Check if options is [{value, label}] or {value: label}.
|
|
35
54
|
var optionsTransformed = options;
|
|
@@ -57,14 +76,20 @@ var SelectInput = function SelectInput(props) {
|
|
|
57
76
|
});
|
|
58
77
|
}
|
|
59
78
|
}
|
|
79
|
+
var handleValidation = function handleValidation(value) {
|
|
80
|
+
if (validation) {
|
|
81
|
+
return validation(value);
|
|
82
|
+
}
|
|
83
|
+
if (required && (value === undefined || value === null || value === '' || Array.isArray(value) && value.length === 0)) {
|
|
84
|
+
return t(['webform.components.select.required', 'webform.required', 'webform_required']);
|
|
85
|
+
}
|
|
86
|
+
};
|
|
60
87
|
return /*#__PURE__*/_react.default.createElement(_formik.Field, {
|
|
61
88
|
required: true,
|
|
62
89
|
name: fieldName,
|
|
63
90
|
value: value,
|
|
64
|
-
validate:
|
|
65
|
-
}, function (
|
|
66
|
-
var field = _ref.field,
|
|
67
|
-
form = _ref.form;
|
|
91
|
+
validate: handleValidation
|
|
92
|
+
}, function () {
|
|
68
93
|
return /*#__PURE__*/_react.default.createElement(_reactSelect.default, {
|
|
69
94
|
id: id,
|
|
70
95
|
inputId: fieldName,
|
|
@@ -89,10 +114,11 @@ var SelectInput = function SelectInput(props) {
|
|
|
89
114
|
if (_onChange) {
|
|
90
115
|
_onChange(value);
|
|
91
116
|
}
|
|
92
|
-
|
|
117
|
+
setFieldValue(fieldName, value);
|
|
93
118
|
},
|
|
94
119
|
options: optionsTransformed,
|
|
95
120
|
isMulti: multiple,
|
|
121
|
+
formatOptionLabel: SelectInputOption,
|
|
96
122
|
isOptionDisabled: function isOptionDisabled(option) {
|
|
97
123
|
if (option.disabled) {
|
|
98
124
|
return true;
|
|
@@ -8,6 +8,7 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
8
8
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
9
9
|
var _GenericFormElement = _interopRequireDefault(require("../GenericFormElement"));
|
|
10
10
|
var _Input = _interopRequireDefault(require("./Input"));
|
|
11
|
+
var _FormikWrapper = require("../FormikWrapper");
|
|
11
12
|
require("./style.scss");
|
|
12
13
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
14
|
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,9 +17,6 @@ var Select = function Select(props) {
|
|
|
16
17
|
fieldName = props.fieldName,
|
|
17
18
|
required = props.required,
|
|
18
19
|
description = props.description,
|
|
19
|
-
error = props.error,
|
|
20
|
-
touched = props.touched,
|
|
21
|
-
displayRequiredIndicator = props.displayRequiredIndicator,
|
|
22
20
|
className = props.className,
|
|
23
21
|
wrapperClassName = props.wrapperClassName,
|
|
24
22
|
_props$disabled = props.disabled,
|
|
@@ -28,25 +26,34 @@ var Select = function Select(props) {
|
|
|
28
26
|
_props$isSearchable = props.isSearchable,
|
|
29
27
|
isSearchable = _props$isSearchable === void 0 ? true : _props$isSearchable,
|
|
30
28
|
_props$isClearable = props.isClearable,
|
|
31
|
-
isClearable = _props$isClearable === void 0 ? true : _props$isClearable
|
|
29
|
+
isClearable = _props$isClearable === void 0 ? true : _props$isClearable,
|
|
30
|
+
validation = props.validation;
|
|
31
|
+
var _useExtendedFormikCon = (0, _FormikWrapper.useExtendedFormikContext)(),
|
|
32
|
+
errors = _useExtendedFormikCon.errors,
|
|
33
|
+
touched = _useExtendedFormikCon.touched,
|
|
34
|
+
displayRequiredIndicator = _useExtendedFormikCon.displayRequiredIndicator;
|
|
35
|
+
var error = errors[fieldName];
|
|
36
|
+
var isTouched = touched[fieldName];
|
|
32
37
|
return /*#__PURE__*/_react.default.createElement(_GenericFormElement.default, {
|
|
33
38
|
className: (0, _classnames.default)('Select', wrapperClassName),
|
|
34
39
|
title: title,
|
|
35
40
|
required: required,
|
|
36
41
|
description: description,
|
|
37
42
|
fieldName: fieldName,
|
|
38
|
-
touched:
|
|
43
|
+
touched: isTouched,
|
|
39
44
|
error: error,
|
|
40
45
|
displayRequiredIndicator: displayRequiredIndicator
|
|
41
46
|
}, /*#__PURE__*/_react.default.createElement(_Input.default, _extends({}, props, {
|
|
42
47
|
fieldName: fieldName,
|
|
43
48
|
className: (0, _classnames.default)(className, {
|
|
44
|
-
'error': error &&
|
|
49
|
+
'error': error && isTouched
|
|
45
50
|
}),
|
|
46
51
|
disabled: disabled,
|
|
47
52
|
multiple: multiple,
|
|
48
53
|
isSearchable: isSearchable,
|
|
49
|
-
isClearable: isClearable
|
|
54
|
+
isClearable: isClearable,
|
|
55
|
+
required: required,
|
|
56
|
+
validate: validation
|
|
50
57
|
})));
|
|
51
58
|
};
|
|
52
59
|
var _default = Select;
|
|
@@ -7,10 +7,12 @@ exports.default = exports.TextField = 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 _withMapping = _interopRequireDefault(require("../../../Context/withMapping"));
|
|
11
12
|
var _GenericFormElement = _interopRequireDefault(require("../GenericFormElement"));
|
|
13
|
+
var _FormikWrapper = require("../FormikWrapper");
|
|
12
14
|
require("./style.scss");
|
|
13
|
-
var _excluded = ["title", "required", "description", "placeholder", "fieldName", "validation", "
|
|
15
|
+
var _excluded = ["title", "required", "description", "placeholder", "fieldName", "validation", "onChange", "className", "wrapperClassName", "disabled"];
|
|
14
16
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
17
|
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
18
|
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; }
|
|
@@ -22,10 +24,6 @@ var TextField = function TextField(props) {
|
|
|
22
24
|
placeholder = props.placeholder,
|
|
23
25
|
fieldName = props.fieldName,
|
|
24
26
|
validation = props.validation,
|
|
25
|
-
touched = props.touched,
|
|
26
|
-
error = props.error,
|
|
27
|
-
value = props.value,
|
|
28
|
-
displayRequiredIndicator = props.displayRequiredIndicator,
|
|
29
27
|
onChange = props.onChange,
|
|
30
28
|
className = props.className,
|
|
31
29
|
wrapperClassName = props.wrapperClassName,
|
|
@@ -33,6 +31,16 @@ var TextField = function TextField(props) {
|
|
|
33
31
|
disabled = _props$disabled === void 0 ? false : _props$disabled,
|
|
34
32
|
restProps = _objectWithoutProperties(props, _excluded);
|
|
35
33
|
var type = props.type || 'text';
|
|
34
|
+
var _useTranslation = (0, _reactI18next.useTranslation)(),
|
|
35
|
+
t = _useTranslation.t;
|
|
36
|
+
var handleValidation = function handleValidation(value) {
|
|
37
|
+
if (validation) {
|
|
38
|
+
return validation(value);
|
|
39
|
+
}
|
|
40
|
+
if (required && (value === undefined || value === null || value === '')) {
|
|
41
|
+
return t(['webform.components.text_field.required', 'webform.required', 'webform_required']);
|
|
42
|
+
}
|
|
43
|
+
};
|
|
36
44
|
var handleChange = function handleChange(e) {
|
|
37
45
|
var handleChange = props.handleChange;
|
|
38
46
|
if (handleChange) {
|
|
@@ -42,25 +50,33 @@ var TextField = function TextField(props) {
|
|
|
42
50
|
onChange(e);
|
|
43
51
|
}
|
|
44
52
|
};
|
|
53
|
+
var _useExtendedFormikCon = (0, _FormikWrapper.useExtendedFormikContext)(),
|
|
54
|
+
values = _useExtendedFormikCon.values,
|
|
55
|
+
errors = _useExtendedFormikCon.errors,
|
|
56
|
+
touched = _useExtendedFormikCon.touched,
|
|
57
|
+
displayRequiredIndicator = _useExtendedFormikCon.displayRequiredIndicator;
|
|
58
|
+
var isTouched = touched[fieldName];
|
|
59
|
+
var value = values[fieldName];
|
|
60
|
+
var error = errors[fieldName];
|
|
45
61
|
return /*#__PURE__*/_react.default.createElement(_GenericFormElement.default, {
|
|
46
62
|
className: (0, _classnames.default)('TextField', wrapperClassName),
|
|
47
63
|
title: title,
|
|
48
64
|
required: required,
|
|
49
65
|
description: description,
|
|
50
66
|
fieldName: fieldName,
|
|
51
|
-
touched:
|
|
67
|
+
touched: isTouched,
|
|
52
68
|
error: error,
|
|
53
69
|
displayRequiredIndicator: displayRequiredIndicator
|
|
54
70
|
}, /*#__PURE__*/_react.default.createElement(_formik.Field, _extends({}, restProps, {
|
|
55
71
|
className: (0, _classnames.default)(className, {
|
|
56
|
-
'error': error &&
|
|
72
|
+
'error': error && isTouched
|
|
57
73
|
}),
|
|
58
74
|
id: fieldName,
|
|
59
75
|
name: fieldName,
|
|
60
76
|
type: type,
|
|
61
77
|
value: value,
|
|
62
78
|
placeholder: placeholder,
|
|
63
|
-
validate:
|
|
79
|
+
validate: handleValidation,
|
|
64
80
|
onKeyUp: handleChange,
|
|
65
81
|
disabled: disabled
|
|
66
82
|
})));
|
|
@@ -7,9 +7,15 @@ 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");
|
|
14
|
+
var _excluded = ["title", "required", "description", "placeholder", "fieldName", "validation", "rows", "className", "onChange", "wrapperClassName", "disabled"];
|
|
12
15
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
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); }
|
|
17
|
+
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; }
|
|
18
|
+
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; }
|
|
13
19
|
var Textarea = function Textarea(props) {
|
|
14
20
|
var title = props.title,
|
|
15
21
|
required = props.required,
|
|
@@ -17,27 +23,43 @@ var Textarea = function Textarea(props) {
|
|
|
17
23
|
placeholder = props.placeholder,
|
|
18
24
|
fieldName = props.fieldName,
|
|
19
25
|
validation = props.validation,
|
|
20
|
-
touched = props.touched,
|
|
21
|
-
error = props.error,
|
|
22
26
|
rows = props.rows,
|
|
23
|
-
value = props.value,
|
|
24
|
-
displayRequiredIndicator = props.displayRequiredIndicator,
|
|
25
27
|
className = props.className,
|
|
28
|
+
onChange = props.onChange,
|
|
26
29
|
wrapperClassName = props.wrapperClassName,
|
|
27
30
|
_props$disabled = props.disabled,
|
|
28
|
-
disabled = _props$disabled === void 0 ? false : _props$disabled
|
|
31
|
+
disabled = _props$disabled === void 0 ? false : _props$disabled,
|
|
32
|
+
restProps = _objectWithoutProperties(props, _excluded);
|
|
33
|
+
var _useExtendedFormikCon = (0, _FormikWrapper.useExtendedFormikContext)(),
|
|
34
|
+
values = _useExtendedFormikCon.values,
|
|
35
|
+
errors = _useExtendedFormikCon.errors,
|
|
36
|
+
touched = _useExtendedFormikCon.touched,
|
|
37
|
+
displayRequiredIndicator = _useExtendedFormikCon.displayRequiredIndicator;
|
|
38
|
+
var _useTranslation = (0, _reactI18next.useTranslation)(),
|
|
39
|
+
t = _useTranslation.t;
|
|
40
|
+
var isTouched = touched[fieldName];
|
|
41
|
+
var value = values[fieldName];
|
|
42
|
+
var error = errors[fieldName];
|
|
43
|
+
var handleValidation = function handleValidation(value) {
|
|
44
|
+
if (validation) {
|
|
45
|
+
return validation(value);
|
|
46
|
+
}
|
|
47
|
+
if (required && (value === undefined || value === null || value === '')) {
|
|
48
|
+
return t(['webform.components.textarea.required', 'webform.required', 'webform_required']);
|
|
49
|
+
}
|
|
50
|
+
};
|
|
29
51
|
return /*#__PURE__*/_react.default.createElement(_GenericFormElement.default, {
|
|
30
52
|
className: (0, _classnames.default)('Textarea', wrapperClassName),
|
|
31
53
|
title: title,
|
|
32
54
|
required: required,
|
|
33
55
|
description: description,
|
|
34
56
|
fieldName: fieldName,
|
|
35
|
-
touched:
|
|
57
|
+
touched: isTouched,
|
|
36
58
|
error: error,
|
|
37
59
|
displayRequiredIndicator: displayRequiredIndicator
|
|
38
|
-
}, /*#__PURE__*/_react.default.createElement(_formik.Field, {
|
|
60
|
+
}, /*#__PURE__*/_react.default.createElement(_formik.Field, _extends({}, restProps, {
|
|
39
61
|
className: (0, _classnames.default)(className, {
|
|
40
|
-
'error': error &&
|
|
62
|
+
'error': error && isTouched
|
|
41
63
|
}),
|
|
42
64
|
id: fieldName,
|
|
43
65
|
name: fieldName,
|
|
@@ -45,9 +67,14 @@ var Textarea = function Textarea(props) {
|
|
|
45
67
|
value: value,
|
|
46
68
|
placeholder: placeholder,
|
|
47
69
|
rows: rows,
|
|
48
|
-
validate:
|
|
49
|
-
disabled: disabled
|
|
50
|
-
|
|
70
|
+
validate: handleValidation,
|
|
71
|
+
disabled: disabled,
|
|
72
|
+
onKeyUp: function onKeyUp(event) {
|
|
73
|
+
if (onChange) {
|
|
74
|
+
onChange(event);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
})));
|
|
51
78
|
};
|
|
52
79
|
var _default = Textarea;
|
|
53
80
|
exports.default = _default;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export { default as FormikWrapper } from "./FormikWrapper";
|
|
2
|
+
export { default as FormCheckbox } from "./Checkbox";
|
|
3
|
+
export { default as FormCheckboxes } from "./Checkboxes";
|
|
4
|
+
export { default as FormDate } from "./DateField";
|
|
5
|
+
export { default as FormDatePicker } from "./DatePicker";
|
|
6
|
+
export { default as FormDateSelect } from "./DateSelect";
|
|
7
|
+
export { default as FormEmail } from "./Email";
|
|
8
|
+
export { default as FormNumber } from "./Number";
|
|
9
|
+
export { default as FormRadioButtons } from "./RadioButtons";
|
|
10
|
+
export { default as FormSearchField } from "./SearchField";
|
|
11
|
+
export { default as FormSelect } from "./Select";
|
|
12
|
+
export { default as FormTextarea } from "./Textarea";
|
|
13
|
+
export { default as FormTextField } from "./TextField";
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "FormCheckbox", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function get() {
|
|
9
|
+
return _Checkbox.default;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
Object.defineProperty(exports, "FormCheckboxes", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function get() {
|
|
15
|
+
return _Checkboxes.default;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
Object.defineProperty(exports, "FormDate", {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
get: function get() {
|
|
21
|
+
return _DateField.default;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
Object.defineProperty(exports, "FormDatePicker", {
|
|
25
|
+
enumerable: true,
|
|
26
|
+
get: function get() {
|
|
27
|
+
return _DatePicker.default;
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
Object.defineProperty(exports, "FormDateSelect", {
|
|
31
|
+
enumerable: true,
|
|
32
|
+
get: function get() {
|
|
33
|
+
return _DateSelect.default;
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
Object.defineProperty(exports, "FormEmail", {
|
|
37
|
+
enumerable: true,
|
|
38
|
+
get: function get() {
|
|
39
|
+
return _Email.default;
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
Object.defineProperty(exports, "FormNumber", {
|
|
43
|
+
enumerable: true,
|
|
44
|
+
get: function get() {
|
|
45
|
+
return _Number.default;
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
Object.defineProperty(exports, "FormRadioButtons", {
|
|
49
|
+
enumerable: true,
|
|
50
|
+
get: function get() {
|
|
51
|
+
return _RadioButtons.default;
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
Object.defineProperty(exports, "FormSearchField", {
|
|
55
|
+
enumerable: true,
|
|
56
|
+
get: function get() {
|
|
57
|
+
return _SearchField.default;
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
Object.defineProperty(exports, "FormSelect", {
|
|
61
|
+
enumerable: true,
|
|
62
|
+
get: function get() {
|
|
63
|
+
return _Select.default;
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
Object.defineProperty(exports, "FormTextField", {
|
|
67
|
+
enumerable: true,
|
|
68
|
+
get: function get() {
|
|
69
|
+
return _TextField.default;
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
Object.defineProperty(exports, "FormTextarea", {
|
|
73
|
+
enumerable: true,
|
|
74
|
+
get: function get() {
|
|
75
|
+
return _Textarea.default;
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
Object.defineProperty(exports, "FormikWrapper", {
|
|
79
|
+
enumerable: true,
|
|
80
|
+
get: function get() {
|
|
81
|
+
return _FormikWrapper.default;
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
var _FormikWrapper = _interopRequireDefault(require("./FormikWrapper"));
|
|
85
|
+
var _Checkbox = _interopRequireDefault(require("./Checkbox"));
|
|
86
|
+
var _Checkboxes = _interopRequireDefault(require("./Checkboxes"));
|
|
87
|
+
var _DateField = _interopRequireDefault(require("./DateField"));
|
|
88
|
+
var _DatePicker = _interopRequireDefault(require("./DatePicker"));
|
|
89
|
+
var _DateSelect = _interopRequireDefault(require("./DateSelect"));
|
|
90
|
+
var _Email = _interopRequireDefault(require("./Email"));
|
|
91
|
+
var _Number = _interopRequireDefault(require("./Number"));
|
|
92
|
+
var _RadioButtons = _interopRequireDefault(require("./RadioButtons"));
|
|
93
|
+
var _SearchField = _interopRequireDefault(require("./SearchField"));
|
|
94
|
+
var _Select = _interopRequireDefault(require("./Select"));
|
|
95
|
+
var _Textarea = _interopRequireDefault(require("./Textarea"));
|
|
96
|
+
var _TextField = _interopRequireDefault(require("./TextField"));
|
|
97
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import './style.scss';
|
|
3
|
+
interface Props extends Omit<React.ImgHTMLAttributes<HTMLImageElement>, 'src'> {
|
|
4
|
+
src: string | string[];
|
|
5
|
+
onLoad: (e: any) => void;
|
|
6
|
+
objectFit?: 'fill' | 'contain' | 'cover' | 'none' | 'scale-down';
|
|
7
|
+
aspectRatio?: number | string;
|
|
8
|
+
}
|
|
9
|
+
declare const AdaptivePicture: React.FC<Props>;
|
|
10
|
+
export default AdaptivePicture;
|
|
@@ -0,0 +1,105 @@
|
|
|
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 _classnames = _interopRequireDefault(require("classnames"));
|
|
9
|
+
require("./style.scss");
|
|
10
|
+
var _helpers = require("../helpers");
|
|
11
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
12
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
13
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
14
|
+
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); }
|
|
15
|
+
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; }
|
|
16
|
+
function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
|
|
17
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
18
|
+
// extend html img props
|
|
19
|
+
|
|
20
|
+
var AdaptivePicture = function AdaptivePicture(_ref) {
|
|
21
|
+
var src = _ref.src,
|
|
22
|
+
_onLoad = _ref.onLoad,
|
|
23
|
+
alt = _ref.alt,
|
|
24
|
+
objectFit = _ref.objectFit,
|
|
25
|
+
_ref$aspectRatio = _ref.aspectRatio,
|
|
26
|
+
aspectRatio = _ref$aspectRatio === void 0 ? 1 : _ref$aspectRatio;
|
|
27
|
+
var sourcesAsArray = Array.isArray(src) ? src : [src];
|
|
28
|
+
var validatedSources = sourcesAsArray.filter(_helpers.isValidImage);
|
|
29
|
+
var fallbackImage = validatedSources[0];
|
|
30
|
+
var imageRef = _react.default.useRef(null);
|
|
31
|
+
var style = {
|
|
32
|
+
objectFit: objectFit,
|
|
33
|
+
aspectRatio: aspectRatio
|
|
34
|
+
};
|
|
35
|
+
var _React$useState = _react.default.useState('PENDING'),
|
|
36
|
+
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
37
|
+
status = _React$useState2[0],
|
|
38
|
+
setStatus = _React$useState2[1];
|
|
39
|
+
var _React$useState3 = _react.default.useState(fallbackImage),
|
|
40
|
+
_React$useState4 = _slicedToArray(_React$useState3, 2),
|
|
41
|
+
targetSrc = _React$useState4[0],
|
|
42
|
+
setTargetSrc = _React$useState4[1];
|
|
43
|
+
_react.default.useEffect(function () {
|
|
44
|
+
// @ts-ignore
|
|
45
|
+
if (global.ssr) return;
|
|
46
|
+
if (!imageRef.current) return;
|
|
47
|
+
var image = imageRef.current;
|
|
48
|
+
// get parent of image element
|
|
49
|
+
var container = image.parentElement;
|
|
50
|
+
if (!container) return;
|
|
51
|
+
var resizeObserver = new ResizeObserver(function (entries) {
|
|
52
|
+
var widthAfterResize = entries[0].contentRect.width;
|
|
53
|
+
if (image.width < widthAfterResize) {
|
|
54
|
+
var newTargetSrc = (0, _helpers.calculateTargetSrc)(image.width, validatedSources, fallbackImage);
|
|
55
|
+
if (targetSrc !== newTargetSrc) {
|
|
56
|
+
setTargetSrc(newTargetSrc);
|
|
57
|
+
}
|
|
58
|
+
} else {
|
|
59
|
+
var _newTargetSrc = (0, _helpers.calculateTargetSrc)(widthAfterResize, validatedSources, fallbackImage);
|
|
60
|
+
if (targetSrc !== _newTargetSrc) {
|
|
61
|
+
setTargetSrc(_newTargetSrc);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
if (status === 'PENDING') {
|
|
65
|
+
setStatus('INITIAL_BREAKPOINT_CALCULATED');
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
resizeObserver.observe(container);
|
|
69
|
+
|
|
70
|
+
// eslint-disable-next-line consistent-return
|
|
71
|
+
return function () {
|
|
72
|
+
resizeObserver.unobserve(container);
|
|
73
|
+
};
|
|
74
|
+
}, [fallbackImage, status, targetSrc, validatedSources]);
|
|
75
|
+
var loadedUrl = (0, _helpers.useImageLoader)(fallbackImage, targetSrc, imageRef);
|
|
76
|
+
function onErrorFallback(e) {
|
|
77
|
+
if (e.target.src !== fallbackImage) {
|
|
78
|
+
e.target.src = fallbackImage;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
var classes = (0, _classnames.default)('AdaptivePicture', {
|
|
82
|
+
'AdaptivePicture--initiallyLoaded': status === 'INITIAL_LOADED'
|
|
83
|
+
});
|
|
84
|
+
if (!validatedSources.length) {
|
|
85
|
+
return null;
|
|
86
|
+
}
|
|
87
|
+
return /*#__PURE__*/_react.default.createElement("img", {
|
|
88
|
+
style: style,
|
|
89
|
+
className: classes,
|
|
90
|
+
onError: onErrorFallback,
|
|
91
|
+
onLoad: function onLoad(e) {
|
|
92
|
+
if (_onLoad) {
|
|
93
|
+
_onLoad(e);
|
|
94
|
+
}
|
|
95
|
+
if (status === 'INITIAL_BREAKPOINT_CALCULATED' && e.target.src === targetSrc) {
|
|
96
|
+
setStatus('INITIAL_LOADED');
|
|
97
|
+
}
|
|
98
|
+
},
|
|
99
|
+
src: loadedUrl,
|
|
100
|
+
ref: imageRef,
|
|
101
|
+
alt: alt
|
|
102
|
+
});
|
|
103
|
+
};
|
|
104
|
+
var _default = AdaptivePicture;
|
|
105
|
+
exports.default = _default;
|
|
@@ -10,6 +10,7 @@ var _path = _interopRequireDefault(require("path"));
|
|
|
10
10
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
11
|
var _extToMimeTypes = _interopRequireDefault(require("./data/ext-to-mime-types.json"));
|
|
12
12
|
require("./style.scss");
|
|
13
|
+
var _helpers = require("../helpers");
|
|
13
14
|
var _excluded = ["src", "className", "onLoad", "imageRef", "includeWebP"];
|
|
14
15
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
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); }
|
|
@@ -35,21 +36,10 @@ var Picture = function Picture(_ref) {
|
|
|
35
36
|
alt: alt,
|
|
36
37
|
title: title
|
|
37
38
|
};
|
|
38
|
-
var getImageExtension = function getImageExtension(url) {
|
|
39
|
-
var sanitizedUrl = url.replace(/\?.*/, '');
|
|
40
|
-
return _path.default.extname(sanitizedUrl).toLowerCase();
|
|
41
|
-
};
|
|
42
39
|
var getMimeType = function getMimeType(url) {
|
|
43
|
-
var extension = getImageExtension(url);
|
|
40
|
+
var extension = (0, _helpers.getImageExtension)(url);
|
|
44
41
|
return _extToMimeTypes.default[extension] ? _extToMimeTypes.default[extension] : FALLBACK_MIME_TYPE;
|
|
45
42
|
};
|
|
46
|
-
var isValidImage = function isValidImage(url) {
|
|
47
|
-
if (!url) {
|
|
48
|
-
return false;
|
|
49
|
-
}
|
|
50
|
-
var extension = getImageExtension(url);
|
|
51
|
-
return Object.keys(_extToMimeTypes.default).includes(extension);
|
|
52
|
-
};
|
|
53
43
|
if (_immutable.default.Iterable.isIterable(_immutable.default.fromJS(src))) {
|
|
54
44
|
// Sources have to be defined in a descending order.
|
|
55
45
|
// We sort them from best to worst quality.
|
|
@@ -57,7 +47,7 @@ var Picture = function Picture(_ref) {
|
|
|
57
47
|
return parseInt(breakpoint);
|
|
58
48
|
}).reverse();
|
|
59
49
|
var sources = sourcesAll.map(function (url) {
|
|
60
|
-
if (isValidImage(url)) {
|
|
50
|
+
if ((0, _helpers.isValidImage)(url)) {
|
|
61
51
|
return url;
|
|
62
52
|
}
|
|
63
53
|
}).filter(function (image) {
|
|
@@ -105,7 +95,7 @@ var Picture = function Picture(_ref) {
|
|
|
105
95
|
src: fallback
|
|
106
96
|
})));
|
|
107
97
|
}
|
|
108
|
-
if (src && isValidImage(src)) {
|
|
98
|
+
if (src && (0, _helpers.isValidImage)(src)) {
|
|
109
99
|
if (includeWebP) {
|
|
110
100
|
var webpUrl = src.replace(/\.(png|gif|jp(e?)g)/, '.webp');
|
|
111
101
|
return /*#__PURE__*/_react.default.createElement("picture", {
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { RefObject } from 'react';
|
|
2
|
+
export declare function getImageExtension(url: string): string;
|
|
3
|
+
/**
|
|
4
|
+
* Check if the image that belongs to an url is a valid image.
|
|
5
|
+
*
|
|
6
|
+
* @param {string} url
|
|
7
|
+
*/
|
|
8
|
+
export declare function isValidImage(url: string): boolean;
|
|
9
|
+
export declare function useImageLoader(initialSrc: string, targetSrc: string, imageRef: RefObject<HTMLImageElement>): string;
|
|
10
|
+
export declare function calculateTargetSrc(referenceWidth: number, sources: string[], fallbackImage: string): string;
|