@dreamcommerce/aurora 2.5.2 → 2.5.3-2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/build/cjs/packages/aurora/src/assets/icon_wrong_file_format.js +22 -0
  2. package/build/cjs/packages/aurora/src/assets/icon_wrong_file_format.js.map +1 -0
  3. package/build/cjs/packages/aurora/src/components/controls/hoc/control_image_picker/index.js +26 -0
  4. package/build/cjs/packages/aurora/src/components/controls/hoc/control_image_picker/index.js.map +1 -0
  5. package/build/cjs/packages/aurora/src/components/file_picker/constants.js +19 -0
  6. package/build/cjs/packages/aurora/src/components/file_picker/constants.js.map +1 -0
  7. package/build/cjs/packages/aurora/src/components/file_picker/use_file_picker.js +50 -2
  8. package/build/cjs/packages/aurora/src/components/file_picker/use_file_picker.js.map +1 -1
  9. package/build/cjs/packages/aurora/src/components/image_picker/components/image_input.js +32 -0
  10. package/build/cjs/packages/aurora/src/components/image_picker/components/image_input.js.map +1 -0
  11. package/build/cjs/packages/aurora/src/components/image_picker/components/selected_image_preview.js +37 -0
  12. package/build/cjs/packages/aurora/src/components/image_picker/components/selected_image_preview.js.map +1 -0
  13. package/build/cjs/packages/aurora/src/components/image_picker/css_classes.js +29 -0
  14. package/build/cjs/packages/aurora/src/components/image_picker/css_classes.js.map +1 -0
  15. package/build/cjs/packages/aurora/src/components/image_picker/index.js +103 -0
  16. package/build/cjs/packages/aurora/src/components/image_picker/index.js.map +1 -0
  17. package/build/cjs/packages/aurora/src/components/image_picker/utils.js +12 -0
  18. package/build/cjs/packages/aurora/src/components/image_picker/utils.js.map +1 -0
  19. package/build/cjs/packages/aurora/src/components/modal/components/modal.js +2 -2
  20. package/build/cjs/packages/aurora/src/css/image_picker/main.module.less.js +12 -0
  21. package/build/cjs/packages/aurora/src/css/image_picker/main.module.less.js.map +1 -0
  22. package/build/cjs/packages/aurora/src/css/modal/main.module.less.js +1 -1
  23. package/build/cjs/packages/aurora/src/index.js +51 -47
  24. package/build/cjs/packages/aurora/src/index.js.map +1 -1
  25. package/build/cjs/packages/aurora/src/translations/en.json.js +4 -1
  26. package/build/cjs/packages/aurora/src/translations/en.json.js.map +1 -1
  27. package/build/cjs/packages/aurora/src/translations/pl.json.js +4 -1
  28. package/build/cjs/packages/aurora/src/translations/pl.json.js.map +1 -1
  29. package/build/esm/packages/aurora/src/assets/icon_wrong_file_format.d.ts +4 -0
  30. package/build/esm/packages/aurora/src/assets/icon_wrong_file_format.js +14 -0
  31. package/build/esm/packages/aurora/src/assets/icon_wrong_file_format.js.map +1 -0
  32. package/build/esm/packages/aurora/src/components/controls/hoc/control_image_picker/index.d.ts +4 -0
  33. package/build/esm/packages/aurora/src/components/controls/hoc/control_image_picker/index.js +18 -0
  34. package/build/esm/packages/aurora/src/components/controls/hoc/control_image_picker/index.js.map +1 -0
  35. package/build/esm/packages/aurora/src/components/controls/types.d.ts +10 -0
  36. package/build/esm/packages/aurora/src/components/file_picker/constants.d.ts +8 -0
  37. package/build/esm/packages/aurora/src/components/file_picker/constants.js +11 -0
  38. package/build/esm/packages/aurora/src/components/file_picker/constants.js.map +1 -0
  39. package/build/esm/packages/aurora/src/components/file_picker/types.d.ts +3 -0
  40. package/build/esm/packages/aurora/src/components/file_picker/use_file_picker.d.ts +1 -1
  41. package/build/esm/packages/aurora/src/components/file_picker/use_file_picker.js +50 -2
  42. package/build/esm/packages/aurora/src/components/file_picker/use_file_picker.js.map +1 -1
  43. package/build/esm/packages/aurora/src/components/image_picker/components/image_input.d.ts +4 -0
  44. package/build/esm/packages/aurora/src/components/image_picker/components/image_input.js +24 -0
  45. package/build/esm/packages/aurora/src/components/image_picker/components/image_input.js.map +1 -0
  46. package/build/esm/packages/aurora/src/components/image_picker/components/selected_image_preview.d.ts +4 -0
  47. package/build/esm/packages/aurora/src/components/image_picker/components/selected_image_preview.js +29 -0
  48. package/build/esm/packages/aurora/src/components/image_picker/components/selected_image_preview.js.map +1 -0
  49. package/build/esm/packages/aurora/src/components/image_picker/css_classes.d.ts +22 -0
  50. package/build/esm/packages/aurora/src/components/image_picker/css_classes.js +25 -0
  51. package/build/esm/packages/aurora/src/components/image_picker/css_classes.js.map +1 -0
  52. package/build/esm/packages/aurora/src/components/image_picker/index.d.ts +4 -0
  53. package/build/esm/packages/aurora/src/components/image_picker/index.js +94 -0
  54. package/build/esm/packages/aurora/src/components/image_picker/index.js.map +1 -0
  55. package/build/esm/packages/aurora/src/components/image_picker/types.d.ts +37 -0
  56. package/build/esm/packages/aurora/src/components/image_picker/types.js +2 -0
  57. package/build/esm/packages/aurora/src/components/image_picker/types.js.map +1 -0
  58. package/build/esm/packages/aurora/src/components/image_picker/utils.d.ts +1 -0
  59. package/build/esm/packages/aurora/src/components/image_picker/utils.js +8 -0
  60. package/build/esm/packages/aurora/src/components/image_picker/utils.js.map +1 -0
  61. package/build/esm/packages/aurora/src/components/modal/components/modal.js +2 -2
  62. package/build/esm/packages/aurora/src/css/image_picker/main.module.less.js +8 -0
  63. package/build/esm/packages/aurora/src/css/image_picker/main.module.less.js.map +1 -0
  64. package/build/esm/packages/aurora/src/css/modal/main.module.less.js +1 -1
  65. package/build/esm/packages/aurora/src/index.d.ts +7 -4
  66. package/build/esm/packages/aurora/src/index.js +4 -2
  67. package/build/esm/packages/aurora/src/index.js.map +1 -1
  68. package/build/esm/packages/aurora/src/translations/en.json +4 -1
  69. package/build/esm/packages/aurora/src/translations/en.json.js +4 -1
  70. package/build/esm/packages/aurora/src/translations/en.json.js.map +1 -1
  71. package/build/esm/packages/aurora/src/translations/pl.json +4 -1
  72. package/build/esm/packages/aurora/src/translations/pl.json.js +4 -1
  73. package/build/esm/packages/aurora/src/translations/pl.json.js.map +1 -1
  74. package/package.json +1 -1
@@ -0,0 +1,22 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var React = require('react');
6
+ var main_module = require('../css/icons/main.module.less.js');
7
+ var icon = require('./icon.js');
8
+
9
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
10
+
11
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
12
+
13
+ const IconWrongFileFormat = ({ className = '', size }) => (React__default['default'].createElement(icon['default'], null,
14
+ React__default['default'].createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 67 52", width: "67", height: "52", className: `${className || ''} ${main_module['default'][`icon_${size}`]}` },
15
+ React__default['default'].createElement("path", { d: "M36.9768 2H1.5V49.9829H29.9977M44.5374 2H65.4745V49.9829H39.8847", stroke: "#ABB4CD", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "3" }),
16
+ React__default['default'].createElement("path", { d: "m36.976 2-7.5606 7.7972 9.8869 10.196-9.8869 10.196 9.8869 10.196-9.3053 9.5965", stroke: "#ABB4CD", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "3" }),
17
+ React__default['default'].createElement("path", { d: "m34.069 45.784-15.703-15.594-16.866 16.794v2.9989h28.498l4.0711-4.1985z", fill: "#ABB4CD", stroke: "#ABB4CD", strokeLinejoin: "round", strokeWidth: "2" }),
18
+ React__default['default'].createElement("path", { d: "m45.726 24.793 19.774 20.393v4.7983h-26.753c-0.1938 0.1999 1.1365-1.3195 5.7892-6.5976 4.6526-5.2782-2.3263-8.3971-5.2076-11.996l6.3974-6.5976z", fill: "#ABB4CD", stroke: "#ABB4CD", strokeLinejoin: "round", strokeWidth: "3" }),
19
+ React__default['default'].createElement("circle", { cx: "54.352", cy: "13.197", r: "4", fill: "#ABB4CD" }))));
20
+
21
+ exports.default = IconWrongFileFormat;
22
+ //# sourceMappingURL=icon_wrong_file_format.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -0,0 +1,26 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var React = require('react');
6
+ var index = require('../../index.js');
7
+ var index$1 = require('../../../hint/index.js');
8
+ var index$2 = require('../../../image_picker/index.js');
9
+
10
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
11
+
12
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
13
+
14
+ const ControlImagePicker = ({ label, isRequired, id, name, onChange, allowedExtensions, initialFile, className, errors, hint, labelAdditionalInfo, hasWidthInput, widthInputPostfix, widthInputLabel, widthInputHint }) => {
15
+ return (React__default['default'].createElement(index['default'], { errors: errors, name: name, id: id },
16
+ (label || hint) && (React__default['default'].createElement(index['default'].Label, { id: id, isRequired: isRequired, additionalInfo: labelAdditionalInfo },
17
+ label,
18
+ hint && React__default['default'].createElement(index$1['default'], { hint: hint, spacingLeft: true }))),
19
+ React__default['default'].createElement(index['default'].Content, null,
20
+ React__default['default'].createElement(index['default'].Element, null,
21
+ React__default['default'].createElement(index$2['default'], { id: id, name: name, onChange: onChange, allowedExtensions: allowedExtensions, initialFile: initialFile, className: className, hasWidthInput: hasWidthInput, widthInputPostfix: widthInputPostfix, widthInputLabel: widthInputLabel, widthInputHint: widthInputHint }))),
22
+ React__default['default'].createElement(index['default'].Errors, null)));
23
+ };
24
+
25
+ exports.default = ControlImagePicker;
26
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -0,0 +1,19 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const FILE_PICKER_ERROR = {
6
+ invalidFileFormat: 'Invalid file format',
7
+ invalidInputWidth: 'The value cannot be greater than the width of the uploaded file'
8
+ };
9
+ const JPG_EXTENSION = 'jpg';
10
+ const JPEG_EXTENSION = 'jpeg';
11
+ const SVG_MIME_TYPE = 'svg+xml';
12
+ const SVG_EXTENSION = 'svg';
13
+
14
+ exports.FILE_PICKER_ERROR = FILE_PICKER_ERROR;
15
+ exports.JPEG_EXTENSION = JPEG_EXTENSION;
16
+ exports.JPG_EXTENSION = JPG_EXTENSION;
17
+ exports.SVG_EXTENSION = SVG_EXTENSION;
18
+ exports.SVG_MIME_TYPE = SVG_MIME_TYPE;
19
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -3,11 +3,14 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
+ var constants = require('./constants.js');
6
7
 
7
- const useFilePicker = ({ onChange, initialFile }) => {
8
+ const useFilePicker = ({ onChange, initialFile, allowedExtensions }) => {
8
9
  const [file, setFile] = React.useState(initialFile);
10
+ const [errors, setErrors] = React.useState([]);
9
11
  const [isDragOver, setDragOver] = React.useState(false);
10
12
  const [isPreview, setPreview] = React.useState(true);
13
+ const [isVectorImage, setIsVectorImage] = React.useState(false);
11
14
  React.useEffect(() => {
12
15
  setFile(initialFile);
13
16
  }, [initialFile]);
@@ -15,9 +18,49 @@ const useFilePicker = ({ onChange, initialFile }) => {
15
18
  event.stopPropagation();
16
19
  event.preventDefault();
17
20
  const { dataTransfer: { files } } = event;
21
+ setFileFormatError(checkIfFileIsInCorrectFormat(allowedExtensions, files[0].type));
22
+ checkIfImageIsVector(files[0].type);
18
23
  setDragOver(false);
19
24
  updateFile(files);
20
25
  };
26
+ const checkIfFileIsInCorrectFormat = (allowedExtensions, fileType) => {
27
+ if (!allowedExtensions)
28
+ return;
29
+ const fileExtension = getFileExtension(fileType);
30
+ let formatIsCorrect;
31
+ if (Array.isArray(fileExtension)) {
32
+ formatIsCorrect = allowedExtensions.some((extension) => fileExtension.includes(extension.toLowerCase()));
33
+ }
34
+ else {
35
+ formatIsCorrect = allowedExtensions === null || allowedExtensions === void 0 ? void 0 : allowedExtensions.some((extension) => {
36
+ return extension.toLowerCase() === fileExtension.toLowerCase();
37
+ });
38
+ }
39
+ return formatIsCorrect;
40
+ };
41
+ const setFileFormatError = (isFileFormatCorrect) => {
42
+ if (!isFileFormatCorrect) {
43
+ setErrors([...errors, constants.FILE_PICKER_ERROR.invalidFileFormat]);
44
+ }
45
+ else {
46
+ setErrors([]);
47
+ }
48
+ };
49
+ const getFileExtension = (fileType) => {
50
+ const substringIndex = fileType.lastIndexOf('/');
51
+ const fileExtension = fileType.substring(substringIndex + 1);
52
+ if (fileExtension === constants.JPG_EXTENSION || fileExtension === constants.JPEG_EXTENSION) {
53
+ return [constants.JPG_EXTENSION, constants.JPEG_EXTENSION];
54
+ }
55
+ else if (fileExtension === constants.SVG_MIME_TYPE) {
56
+ return constants.SVG_EXTENSION;
57
+ }
58
+ return fileExtension;
59
+ };
60
+ const checkIfImageIsVector = (fileType) => {
61
+ const fileExtenstion = getFileExtension(fileType);
62
+ fileExtenstion === 'svg' ? setIsVectorImage(true) : setIsVectorImage(false);
63
+ };
21
64
  const onFileChange = ({ target: { files } }) => {
22
65
  updateFile(files);
23
66
  };
@@ -27,6 +70,8 @@ const useFilePicker = ({ onChange, initialFile }) => {
27
70
  fileName: files === null || files === void 0 ? void 0 : files[0].name,
28
71
  fileUrl: URL.createObjectURL(files === null || files === void 0 ? void 0 : files[0])
29
72
  });
73
+ setFileFormatError(checkIfFileIsInCorrectFormat(allowedExtensions, files[0].type));
74
+ checkIfImageIsVector(files[0].type);
30
75
  }
31
76
  else {
32
77
  setFile(undefined);
@@ -48,6 +93,7 @@ const useFilePicker = ({ onChange, initialFile }) => {
48
93
  const onFileDelete = () => {
49
94
  setFile(undefined);
50
95
  setPreview(true);
96
+ setErrors([]);
51
97
  onChange === null || onChange === void 0 ? void 0 : onChange(null);
52
98
  };
53
99
  const onPreviewError = () => {
@@ -61,8 +107,10 @@ const useFilePicker = ({ onChange, initialFile }) => {
61
107
  onFileDelete,
62
108
  onPreviewError,
63
109
  file,
110
+ errors,
64
111
  isPreview,
65
- isDragOver
112
+ isDragOver,
113
+ isVectorImage
66
114
  };
67
115
  };
68
116
 
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -0,0 +1,32 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var React = require('react');
6
+ var useTranslation = require('../../../../../../external/react-i18next/dist/es/useTranslation.js');
7
+ var with_translation = require('../../../utilities/translation/with_translation.js');
8
+ var icon_upload = require('../../../assets/icon_upload.js');
9
+ var css_classes = require('../css_classes.js');
10
+ var main_module = require('../../../css/image_picker/main.module.less.js');
11
+
12
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
13
+
14
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
15
+
16
+ const ImageInput = ({ id, onDropFile, onDragOver, onDragLeave, allowedExtensions, isDragOver }) => {
17
+ const [t] = useTranslation.useTranslation();
18
+ return (React__default['default'].createElement("label", { htmlFor: id, onDrop: onDropFile, onDragOver: onDragOver, onDragLeave: onDragLeave, className: main_module['default'][css_classes['default'].imagePickerLabel] },
19
+ React__default['default'].createElement("div", { className: main_module['default'][css_classes['default'].imagePickerDescription] },
20
+ React__default['default'].createElement(icon_upload['default'], { className: main_module['default'][css_classes['default'].imagePickerUploadIcon] }),
21
+ React__default['default'].createElement("p", null, t('Drag a file here or browse')),
22
+ React__default['default'].createElement("span", null,
23
+ "(",
24
+ t('supported format'),
25
+ ": ",
26
+ allowedExtensions.join(', '),
27
+ ")"))));
28
+ };
29
+ var ImageInput$1 = with_translation['default'](ImageInput);
30
+
31
+ exports.default = ImageInput$1;
32
+ //# sourceMappingURL=image_input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA,6BAA6B,oEAAwE;AACrG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -0,0 +1,37 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var React = require('react');
6
+ var useTranslation = require('../../../../../../external/react-i18next/dist/es/useTranslation.js');
7
+ var utilities = require('@dreamcommerce/utilities');
8
+ var icon_delete = require('../../../assets/icon_delete.js');
9
+ var css_classes = require('../css_classes.js');
10
+ var main_module = require('../../../css/image_picker/main.module.less.js');
11
+ var icon_wrong_file_format = require('../../../assets/icon_wrong_file_format.js');
12
+
13
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
14
+
15
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
16
+
17
+ const SelectedImagePreview = ({ file, isPreview, fileFormatIsCorrect, imageSize, onPreviewError, onFileDelete }) => {
18
+ const [t] = useTranslation.useTranslation();
19
+ const imageName = utilities.FileUtils.getFileName(file.fileName);
20
+ const imageExtension = utilities.FileUtils.getFileExtension(file.fileName);
21
+ const imageWidth = imageSize && imageSize.width;
22
+ const imageHeight = imageSize && imageSize.height;
23
+ const previewMarkupJsx = fileFormatIsCorrect ? (React__default['default'].createElement("img", { alt: "", src: (file === null || file === void 0 ? void 0 : file.fileUrl) || '', onError: onPreviewError, className: main_module['default'][css_classes['default'].imagePickerImagePreview] })) : (React__default['default'].createElement(icon_wrong_file_format['default'], { className: main_module['default'][css_classes['default'].imagePickerWrongFileFormatIcon] }));
24
+ return (React__default['default'].createElement("div", null,
25
+ isPreview ? (React__default['default'].createElement("div", { className: main_module['default'][css_classes['default'].imagePickerImagePreviewWrapper] }, previewMarkupJsx)) : (React__default['default'].createElement("div", null, t('No preview'))),
26
+ React__default['default'].createElement("div", { className: main_module['default'][css_classes['default'].imagePickerSelectedFile] },
27
+ React__default['default'].createElement("div", { className: main_module['default'][css_classes['default'].imagePickerSelectedFileNameWrapper] }, fileFormatIsCorrect && (React__default['default'].createElement("span", { className: main_module['default'][css_classes['default'].imagePickerSelectedFileFullName] },
28
+ React__default['default'].createElement("span", null, utilities.FileUtils.getFileNameShortenInMiddle(imageName, 10, 5, 1)),
29
+ React__default['default'].createElement("span", null, `.${imageExtension} (${imageWidth}x${imageHeight}px)`)))),
30
+ React__default['default'].createElement("div", { className: main_module['default'][css_classes['default'].imagePickerSelectedFileRemoveWrapper] },
31
+ React__default['default'].createElement("span", { onClick: onFileDelete, className: main_module['default'][css_classes['default'].imagePickerDeleteButton] },
32
+ React__default['default'].createElement(icon_delete['default'], { className: main_module['default'][css_classes['default'].imagePickerDeleteIcon] }),
33
+ React__default['default'].createElement("span", { className: main_module['default'][css_classes['default'].imagePickerDeleteLabel] }, t('Remove')))))));
34
+ };
35
+
36
+ exports.default = SelectedImagePreview;
37
+ //# sourceMappingURL=selected_image_preview.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA,6BAA6B,oEAAwE;AACrG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -0,0 +1,29 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const imagePicker = 'image-picker';
6
+ var CSS_CLASSES = {
7
+ imagePicker: `${imagePicker}`,
8
+ imagePickerWrapper: `${imagePicker}__wrapper`,
9
+ imagePickerWrapperError: `${imagePicker}__wrapper-error`,
10
+ imagePickerWrapperHasFile: `${imagePicker}__wrapper-has-file`,
11
+ imagePickerLabel: `${imagePicker}__label`,
12
+ imagePickerDescription: `${imagePicker}__description`,
13
+ imagePickerImagePreview: `${imagePicker}__image-preview`,
14
+ imagePickerImagePreviewWrapper: `${imagePicker}__image-preview-wrapper`,
15
+ imagePickerWrongFileFormatIcon: `${imagePicker}__wrong-file-format-icon`,
16
+ imagePickerErrorText: `${imagePicker}__error-text`,
17
+ imagePickerUploadIcon: `${imagePicker}__upload-icon`,
18
+ imagePickerDeleteButton: `${imagePicker}__delete-button`,
19
+ imagePickerDeleteLabel: `${imagePicker}__delete-label`,
20
+ imagePickerDeleteIcon: `${imagePicker}__delete-icon`,
21
+ imagePickerInput: `${imagePicker}__input`,
22
+ imagePickerSelectedFile: `${imagePicker}__selected-file`,
23
+ imagePickerSelectedFileNameWrapper: `${imagePicker}__selected-file-name-wrapper`,
24
+ imagePickerSelectedFileRemoveWrapper: `${imagePicker}__selected-file-remove-wrapper`,
25
+ imagePickerSelectedFileFullName: `${imagePicker}__selected-file-full-name`
26
+ };
27
+
28
+ exports.default = CSS_CLASSES;
29
+ //# sourceMappingURL=css_classes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -0,0 +1,103 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var React = require('react');
6
+ var useTranslation = require('../../../../../external/react-i18next/dist/es/useTranslation.js');
7
+ var reactJss_esm = require('../../../../../external/react-jss/dist/react-jss.esm.js');
8
+ var classnames = require('classnames');
9
+ var constants = require('../file_picker/constants.js');
10
+ var use_file_picker = require('../file_picker/use_file_picker.js');
11
+ var utils = require('../file_picker/utils.js');
12
+ var css_classes = require('./css_classes.js');
13
+ var index$1 = require('../controls/hoc/control_input/index.js');
14
+ var main_module = require('../../css/image_picker/main.module.less.js');
15
+ var image_input = require('./components/image_input.js');
16
+ var selected_image_preview = require('./components/selected_image_preview.js');
17
+ var index = require('../spacing/index.js');
18
+ var utils$1 = require('./utils.js');
19
+
20
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
21
+
22
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
23
+ var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
24
+
25
+ const ImagePicker = ({ id, onChange, allowedExtensions = ['WEBP', 'JPG', 'PNG', 'GIF'], initialFile, name, className = '', hasWidthInput, widthInputPostfix = 'px', widthInputLabel, widthInputHint }) => {
26
+ const [t] = useTranslation.useTranslation();
27
+ const [fileFormatIsCorrect, setFileFormatIsCorrect] = React.useState(true);
28
+ const [imageSize, setImageSize] = React.useState({ width: 0, height: 0 });
29
+ const [widthInputValue, setWidthInputValue] = React.useState();
30
+ const [isInputWidthTooBig, setIsInputWidthTooBig] = React.useState(false);
31
+ const { onDropFile, onFileChange, onDragOver, onDragLeave, onFileDelete, onPreviewError, file, errors, isPreview, isDragOver, isVectorImage } = use_file_picker.useFilePicker({ initialFile, onChange, allowedExtensions });
32
+ const acceptFiles = utils.getAcceptFilesParametersFromAllowedExtensions(allowedExtensions);
33
+ const showMaxWidthInput = hasWidthInput && file && fileFormatIsCorrect && !isVectorImage;
34
+ const imagePickerClassName = classnames__default['default'](main_module['default'][css_classes['default'].imagePicker], className && className);
35
+ const imagePickerWrapperClassName = classnames__default['default'](main_module['default'][css_classes['default'].imagePickerWrapper], file && main_module['default'][css_classes['default'].imagePickerWrapperHasFile], !fileFormatIsCorrect && main_module['default'][css_classes['default'].imagePickerWrapperError]);
36
+ const useStyles = reactJss_esm.createUseStyles({
37
+ imagePickerWrapper: {
38
+ border: ({ isDragOver }) => (isDragOver ? '1px solid #135cc8' : ''),
39
+ backgroundColor: ({ isDragOver }) => (isDragOver ? 'rgba(208, 230, 255, 0.5)' : ''),
40
+ '& svg': {
41
+ // @ts-ignore
42
+ fill: ({ isDragOver }) => (isDragOver ? '#3c83ec' : '')
43
+ }
44
+ }
45
+ });
46
+ const dragOverStyles = useStyles({ isDragOver });
47
+ const getImageWidth = (event) => {
48
+ let selectedImage;
49
+ if (event.target instanceof HTMLInputElement) {
50
+ const { target: { files } } = event;
51
+ selectedImage = files[0];
52
+ }
53
+ else {
54
+ const { dataTransfer: { files } } = event;
55
+ selectedImage = files[0];
56
+ }
57
+ const imgElement = document.createElement('img');
58
+ const objectURL = URL.createObjectURL(selectedImage);
59
+ imgElement.onload = () => {
60
+ setImageSize({ width: imgElement.width, height: imgElement.height });
61
+ URL.revokeObjectURL(objectURL);
62
+ };
63
+ imgElement.src = objectURL;
64
+ };
65
+ const checkIfInputMaxWidthIsGreaterThenImageWidth = () => {
66
+ if (!widthInputValue || !imageSize.width)
67
+ return;
68
+ widthInputValue > imageSize.width ? setIsInputWidthTooBig(true) : setIsInputWidthTooBig(false);
69
+ };
70
+ const handleonDropFile = (event) => {
71
+ onDropFile(event);
72
+ getImageWidth(event);
73
+ };
74
+ const handleOnFileChange = (event) => {
75
+ onFileChange(event);
76
+ getImageWidth(event);
77
+ };
78
+ const handleOnFileDelete = () => {
79
+ setImageSize({ width: 0, height: 0 });
80
+ onFileDelete();
81
+ };
82
+ const handleOnWidthInputChange = (event) => {
83
+ setWidthInputValue(event.target.valueAsNumber);
84
+ };
85
+ React.useEffect(() => {
86
+ utils$1.checkIfInvalideFileFormatErrorOccured(errors) ? setFileFormatIsCorrect(false) : setFileFormatIsCorrect(true);
87
+ file && checkIfInputMaxWidthIsGreaterThenImageWidth();
88
+ }, [errors, file, widthInputValue]);
89
+ React.useEffect(() => {
90
+ setWidthInputValue(imageSize.width);
91
+ }, [imageSize]);
92
+ return (React__default['default'].createElement("div", { className: imagePickerClassName },
93
+ React__default['default'].createElement("div", { className: `${imagePickerWrapperClassName} ${dragOverStyles.imagePickerWrapper}` },
94
+ file && (React__default['default'].createElement(selected_image_preview['default'], { file: file, onFileDelete: handleOnFileDelete, onPreviewError: onPreviewError, isPreview: isPreview, fileFormatIsCorrect: fileFormatIsCorrect, imageSize: imageSize })),
95
+ React__default['default'].createElement(image_input['default'], { onDragLeave: onDragLeave, onDragOver: onDragOver, isDragOver: isDragOver, allowedExtensions: allowedExtensions, id: id, onDropFile: handleonDropFile }),
96
+ React__default['default'].createElement("input", { onChange: handleOnFileChange, id: id, type: "file", name: name, className: main_module['default'][css_classes['default'].imagePickerInput], accept: acceptFiles })),
97
+ !fileFormatIsCorrect && React__default['default'].createElement("p", { className: main_module['default'][css_classes['default'].imagePickerErrorText] }, t('Invalid file format')),
98
+ showMaxWidthInput && (React__default['default'].createElement(index['default'], { as: "div", "mt-xs": 2 },
99
+ React__default['default'].createElement(index$1['default'], { id: `${id}-image-width`, type: "number", postfix: widthInputPostfix, value: widthInputValue, isRequired: true, label: widthInputLabel, hint: widthInputHint, onChange: handleOnWidthInputChange, errors: isInputWidthTooBig ? [`${t(constants.FILE_PICKER_ERROR.invalidInputWidth)}`] : null })))));
100
+ };
101
+
102
+ exports.default = ImagePicker;
103
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA,6BAA6B,iEAAqE;AAClG,2BAA2B,yDAA6D;AACxF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -0,0 +1,12 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var constants = require('../file_picker/constants.js');
6
+
7
+ const checkIfInvalideFileFormatErrorOccured = (errorsArray) => {
8
+ return errorsArray && errorsArray.includes(constants.FILE_PICKER_ERROR.invalidFileFormat);
9
+ };
10
+
11
+ exports.checkIfInvalideFileFormatErrorOccured = checkIfInvalideFileFormatErrorOccured;
12
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -9,8 +9,8 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
9
9
 
10
10
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
11
11
 
12
- const Modal = ({ children, className, modalRef }) => {
13
- return (React__default['default'].createElement("div", { "data-test-id": "modal", ref: modalRef, className: `${main_module['default']['modal-window']} ${main_module['default']['modal-window_visible']} ${className}` },
12
+ const Modal = ({ children, className, modalRef, style = {} }) => {
13
+ return (React__default['default'].createElement("div", { style: style, "data-test-id": "modal", ref: modalRef, className: `${main_module['default']['modal-window']} ${main_module['default']['modal-window_visible']} ${className}` },
14
14
  React__default['default'].createElement("div", { className: main_module['default']['modal-window__body'] }, children)));
15
15
  };
16
16
 
@@ -0,0 +1,12 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var styleInject_es = require('../../../../../external/style-inject/dist/style-inject.es.js');
6
+
7
+ var css_248z = "/* font colors */\n/* actions */\n/* background */\n/* errors */\n/* borders */\n/* grid */\n/* scrollBar */\n/* sizes */\n.main-module_image-picker__wrapper__2RK3f {\n border: 1px dashed #abb4cd;\n border-radius: 2px;\n}\n.main-module_image-picker__wrapper-error__kCZeA {\n border-color: #e60c54;\n}\n.main-module_image-picker__wrapper-error__kCZeA:hover {\n border-color: #e60c54;\n}\n.main-module_image-picker__wrapper-has-file__2zmRc {\n position: relative;\n}\n.main-module_image-picker__wrapper-has-file__2zmRc .main-module_image-picker__label__1i_Fq {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 46px;\n left: 0;\n}\n.main-module_image-picker__wrapper-has-file__2zmRc .main-module_image-picker__description__1v13N {\n display: none;\n}\n.main-module_image-picker__wrapper__2RK3f:hover {\n border-color: #135cc8;\n}\n.main-module_image-picker__wrapper__2RK3f:hover .main-module_image-picker__upload-icon__3sMvN {\n fill: #3c83ec;\n}\n.main-module_image-picker__label__1i_Fq {\n cursor: pointer;\n}\n.main-module_image-picker__input__3Wu2I {\n display: none;\n}\n.main-module_image-picker__description__1v13N {\n padding: 2rem 0;\n text-align: center;\n}\n.main-module_image-picker__description__1v13N p {\n color: #3c83ec;\n}\n.main-module_image-picker__description__1v13N span {\n font-size: 12px;\n color: #59687e;\n}\n.main-module_image-picker__upload-icon__3sMvN {\n width: 1rem;\n height: auto;\n margin-bottom: 1rem;\n fill: #abb4cd;\n}\n.main-module_image-picker__delete-button__21_kT {\n display: flex;\n align-items: center;\n flex-shrink: 0;\n color: #3c83ec;\n cursor: pointer;\n}\n.main-module_image-picker__delete-button__21_kT:hover .main-module_image-picker__delete-label__3v2ot {\n text-decoration: underline;\n}\n.main-module_image-picker__wrong-file-format-icon__X-NL0 {\n margin: 2rem 0 0.5rem;\n fill: #ffffff;\n}\n.main-module_image-picker__delete-icon__30pkO {\n fill: #3c83ec;\n margin-right: 0.5rem;\n}\n.main-module_image-picker__selected-file__3bRqa {\n display: flex;\n align-items: center;\n justify-content: space-between;\n height: 46px;\n}\n.main-module_image-picker__selected-file-name-wrapper__37MKd,\n.main-module_image-picker__selected-file-remove-wrapper__2v4W2 {\n flex: 1;\n max-width: 50%;\n padding: 1rem;\n}\n.main-module_image-picker__selected-file-remove-wrapper__2v4W2 {\n display: flex;\n justify-content: flex-end;\n}\n.main-module_image-picker__selected-file-full-name__3fALB {\n color: #59687e;\n}\n.main-module_image-picker__image-preview-wrapper__1jPXU {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.main-module_image-picker__image-preview__12pRu {\n max-width: 100%;\n max-height: 100%;\n}\n.main-module_image-picker__error-text__rXAvw {\n margin-top: 0.5rem;\n color: #e60c54;\n}\n";
8
+ var styles = {"image-picker__wrapper":"main-module_image-picker__wrapper__2RK3f","image-picker__wrapper-error":"main-module_image-picker__wrapper-error__kCZeA","image-picker__wrapper-has-file":"main-module_image-picker__wrapper-has-file__2zmRc","image-picker__label":"main-module_image-picker__label__1i_Fq","image-picker__description":"main-module_image-picker__description__1v13N","image-picker__upload-icon":"main-module_image-picker__upload-icon__3sMvN","image-picker__input":"main-module_image-picker__input__3Wu2I","image-picker__delete-button":"main-module_image-picker__delete-button__21_kT","image-picker__delete-label":"main-module_image-picker__delete-label__3v2ot","image-picker__wrong-file-format-icon":"main-module_image-picker__wrong-file-format-icon__X-NL0","image-picker__delete-icon":"main-module_image-picker__delete-icon__30pkO","image-picker__selected-file":"main-module_image-picker__selected-file__3bRqa","image-picker__selected-file-name-wrapper":"main-module_image-picker__selected-file-name-wrapper__37MKd","image-picker__selected-file-remove-wrapper":"main-module_image-picker__selected-file-remove-wrapper__2v4W2","image-picker__selected-file-full-name":"main-module_image-picker__selected-file-full-name__3fALB","image-picker__image-preview-wrapper":"main-module_image-picker__image-preview-wrapper__1jPXU","image-picker__image-preview":"main-module_image-picker__image-preview__12pRu","image-picker__error-text":"main-module_image-picker__error-text__rXAvw"};
9
+ styleInject_es['default'](css_248z);
10
+
11
+ exports.default = styles;
12
+ //# sourceMappingURL=main.module.less.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA,6BAA6B,8DAAkE;AAC/F;AACA;AACA;AACA;AACA;AACA;"}
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var styleInject_es = require('../../../../../external/style-inject/dist/style-inject.es.js');
6
6
 
7
- var css_248z = "/* font colors */\n/* actions */\n/* background */\n/* errors */\n/* borders */\n/* grid */\n/* scrollBar */\n/* sizes */\n.main-module_modal-window__1epDY {\n flex-direction: column;\n position: relative;\n z-index: 2000;\n max-width: 1400px;\n max-height: 100%;\n min-width: 320px;\n background-color: #ffffff;\n border-radius: 5px;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.33);\n transition: all 0.25s ease;\n}\n.main-module_modal-window_show-transition-start__20Zyy,\n.main-module_modal-window_hide-transition-end__2tbM7 {\n opacity: 0;\n transform: translate3d(0, -20vh, 0);\n}\n.main-module_modal-window_show-transition-end__1bGXM,\n.main-module_modal-window_hide-transition-start__3v2ve {\n opacity: 1;\n transform: translate3d(0, 0, 0);\n}\n.main-module_modal-window_show-tooltip-transition-start__3T6jk,\n.main-module_modal-window_hide-tooltip-transition-end__1-Elu {\n opacity: 0;\n}\n.main-module_modal-window_show-tooltip-transition-end__3qcFY,\n.main-module_modal-window_hide-tooltip-transition-start__1LrQS {\n opacity: 1;\n}\n.main-module_modal-window_visible__Y9ArZ {\n display: flex;\n}\n.main-module_modal-window_relative__2bV4q {\n position: absolute;\n}\n.main-module_modal-window_loading__i6ehQ {\n min-width: auto;\n}\n.main-module_modal-window_small__2ohvZ {\n max-width: 440px;\n}\n.main-module_modal-window__body__o4m8Y {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n max-height: calc(var(--vh, 1vh) * 100 - (2 * 1rem));\n}\n.main-module_modal-window__body_no-overflow__144M5 {\n overflow: visible;\n}\n.main-module_modal-window__header__vMn-j {\n flex: 0 0 auto;\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 2rem 2rem 0.5rem 2rem;\n}\n.main-module_modal-window__header-actions__Qj4RZ {\n margin-left: 2rem;\n}\n.main-module_modal-window__close-icon__32GlC {\n cursor: pointer;\n fill: #5c657e;\n}\n.main-module_modal-window__close-icon__32GlC * {\n fill: #5c657e;\n}\n.main-module_modal-window__content__2Yq_0 {\n overflow-y: auto;\n -ms-scroll-chaining: none;\n overscroll-behavior: none;\n padding: 1rem 2rem 1rem 2rem;\n}\n.main-module_modal-window__content_no-overflow__d24L_ {\n overflow-y: visible;\n}\n.main-module_modal-window__footer__1o3OM {\n padding: 0.75rem 2rem;\n text-align: right;\n border-top: 1px solid #ececec;\n border-bottom: 2px solid transparent;\n}\n.main-module_modal-window-mask__mR_gM {\n align-items: center;\n justify-content: center;\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1900;\n background-color: rgba(0, 0, 0, 0.5);\n width: calc(100vw);\n height: calc(100vh);\n height: calc(var(--vh, 1vh) * 100);\n transition: all 0.25s ease;\n}\n.main-module_modal-window-mask_show-transition-start__2F24Y,\n.main-module_modal-window-mask_hide-transition-end__1SeMQ {\n opacity: 0;\n}\n.main-module_modal-window-mask_show-transition-end__3QHf6,\n.main-module_modal-window-mask_hide-transition-start__1FESf {\n opacity: 1;\n}\n";
7
+ var css_248z = "/* font colors */\n/* actions */\n/* background */\n/* errors */\n/* borders */\n/* grid */\n/* scrollBar */\n/* sizes */\n.main-module_modal-window__1epDY {\n flex-direction: column;\n position: relative;\n z-index: 2000;\n max-width: 1400px;\n max-height: 100%;\n min-width: 320px;\n background-color: #ffffff;\n border-radius: 5px;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.33);\n transition: all 0.25s ease;\n}\n.main-module_modal-window_show-transition-start__20Zyy,\n.main-module_modal-window_hide-transition-end__2tbM7 {\n opacity: 0;\n transform: translate3d(0, -20vh, 0);\n}\n.main-module_modal-window_show-transition-end__1bGXM,\n.main-module_modal-window_hide-transition-start__3v2ve {\n opacity: 1;\n transform: translate3d(0, 0, 0);\n}\n.main-module_modal-window_show-tooltip-transition-start__3T6jk,\n.main-module_modal-window_hide-tooltip-transition-end__1-Elu {\n opacity: 0;\n}\n.main-module_modal-window_show-tooltip-transition-end__3qcFY,\n.main-module_modal-window_hide-tooltip-transition-start__1LrQS {\n opacity: 1;\n}\n.main-module_modal-window_visible__Y9ArZ {\n display: flex;\n}\n.main-module_modal-window_relative__2bV4q {\n position: absolute;\n}\n.main-module_modal-window_loading__i6ehQ {\n min-width: auto;\n}\n.main-module_modal-window_small__2ohvZ {\n max-width: 440px;\n}\n.main-module_modal-window__body__o4m8Y {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n max-height: calc(var(--vh, 1vh) * 100 - (2 * 1rem));\n}\n.main-module_modal-window__body_no-overflow__144M5 {\n overflow: visible;\n}\n.main-module_modal-window__header__vMn-j {\n flex: 0 0 auto;\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n padding: 2rem 2rem 0.5rem 2rem;\n}\n.main-module_modal-window__header-actions__Qj4RZ {\n margin-left: 2rem;\n}\n.main-module_modal-window__close-icon__32GlC {\n cursor: pointer;\n fill: #5c657e;\n}\n.main-module_modal-window__close-icon__32GlC * {\n fill: #5c657e;\n}\n.main-module_modal-window__content__2Yq_0 {\n overflow-y: auto;\n -ms-scroll-chaining: none;\n overscroll-behavior: none;\n padding: 1rem 2rem 1rem 2rem;\n}\n.main-module_modal-window__content_no-overflow__d24L_ {\n overflow-y: visible;\n}\n.main-module_modal-window__footer__1o3OM {\n padding: 0.75rem 2rem;\n text-align: right;\n border-top: 1px solid #ececec;\n border-bottom: 2px solid transparent;\n}\n.main-module_modal-window-mask__mR_gM {\n align-items: center;\n justify-content: center;\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1900;\n background-color: rgba(0, 0, 0, 0.5);\n width: calc(100vw);\n height: calc(var(--vh, 1vh) * 100);\n transition: all 0.25s ease;\n}\n.main-module_modal-window-mask_show-transition-start__2F24Y,\n.main-module_modal-window-mask_hide-transition-end__1SeMQ {\n opacity: 0;\n}\n.main-module_modal-window-mask_show-transition-end__3QHf6,\n.main-module_modal-window-mask_hide-transition-start__1FESf {\n opacity: 1;\n}\n";
8
8
  var cssClasses = {"modal-window":"main-module_modal-window__1epDY","modal-window_show-transition-start":"main-module_modal-window_show-transition-start__20Zyy","modal-window_hide-transition-end":"main-module_modal-window_hide-transition-end__2tbM7","modal-window_show-transition-end":"main-module_modal-window_show-transition-end__1bGXM","modal-window_hide-transition-start":"main-module_modal-window_hide-transition-start__3v2ve","modal-window_show-tooltip-transition-start":"main-module_modal-window_show-tooltip-transition-start__3T6jk","modal-window_hide-tooltip-transition-end":"main-module_modal-window_hide-tooltip-transition-end__1-Elu","modal-window_show-tooltip-transition-end":"main-module_modal-window_show-tooltip-transition-end__3qcFY","modal-window_hide-tooltip-transition-start":"main-module_modal-window_hide-tooltip-transition-start__1LrQS","modal-window_visible":"main-module_modal-window_visible__Y9ArZ","modal-window_relative":"main-module_modal-window_relative__2bV4q","modal-window_loading":"main-module_modal-window_loading__i6ehQ","modal-window_small":"main-module_modal-window_small__2ohvZ","modal-window__body":"main-module_modal-window__body__o4m8Y","modal-window__body_no-overflow":"main-module_modal-window__body_no-overflow__144M5","modal-window__header":"main-module_modal-window__header__vMn-j","modal-window__header-actions":"main-module_modal-window__header-actions__Qj4RZ","modal-window__close-icon":"main-module_modal-window__close-icon__32GlC","modal-window__content":"main-module_modal-window__content__2Yq_0","modal-window__content_no-overflow":"main-module_modal-window__content_no-overflow__d24L_","modal-window__footer":"main-module_modal-window__footer__1o3OM","modal-window-mask":"main-module_modal-window-mask__mR_gM","modal-window-mask_show-transition-start":"main-module_modal-window-mask_show-transition-start__2F24Y","modal-window-mask_hide-transition-end":"main-module_modal-window-mask_hide-transition-end__1SeMQ","modal-window-mask_show-transition-end":"main-module_modal-window-mask_show-transition-end__3QHf6","modal-window-mask_hide-transition-start":"main-module_modal-window-mask_hide-transition-start__1FESf"};
9
9
  styleInject_es['default'](css_248z);
10
10