@bigbinary/neeto-image-uploader-frontend 2.3.10 → 2.3.11

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 (37) hide show
  1. package/app/javascript/src/translations/en.json +1 -1
  2. package/dist/AssetLibrary.js +6 -5
  3. package/dist/AssetLibrary.js.map +1 -1
  4. package/dist/BasicImageUploader.js +3 -3
  5. package/dist/ImageUploader.js +4 -3
  6. package/dist/ImageUploader.js.map +1 -1
  7. package/dist/ImageWithFallback-Csv6Oivd.js +51 -0
  8. package/dist/ImageWithFallback-Csv6Oivd.js.map +1 -0
  9. package/dist/ImageWithFallback-DeznMgbx.js +53 -0
  10. package/dist/ImageWithFallback-DeznMgbx.js.map +1 -0
  11. package/dist/cjs/AssetLibrary.js +6 -5
  12. package/dist/cjs/AssetLibrary.js.map +1 -1
  13. package/dist/cjs/BasicImageUploader.js +4 -4
  14. package/dist/cjs/BasicImageUploader.js.map +1 -1
  15. package/dist/cjs/ImageUploader.js +5 -4
  16. package/dist/cjs/ImageUploader.js.map +1 -1
  17. package/dist/cjs/index.js +5 -4
  18. package/dist/cjs/index.js.map +1 -1
  19. package/dist/{index-By7BkNOh.js → index-BkKE5xo-.js} +124 -131
  20. package/dist/index-BkKE5xo-.js.map +1 -0
  21. package/dist/{index-vkjNhoF3.js → index-FbPHXCzL.js} +102 -109
  22. package/dist/index-FbPHXCzL.js.map +1 -0
  23. package/dist/index.js +5 -4
  24. package/dist/index.js.map +1 -1
  25. package/dist/{utils-tPaqWDxV.js → utils-BxC_k1lu.js} +100 -16
  26. package/dist/utils-BxC_k1lu.js.map +1 -0
  27. package/dist/{utils-B5WMTXlT.js → utils-WEbpTEyB.js} +100 -15
  28. package/dist/utils-WEbpTEyB.js.map +1 -0
  29. package/package.json +19 -18
  30. package/dist/ImageWithFallback-Dz9cyV2n.js +0 -144
  31. package/dist/ImageWithFallback-Dz9cyV2n.js.map +0 -1
  32. package/dist/ImageWithFallback-c9ANE1IE.js +0 -141
  33. package/dist/ImageWithFallback-c9ANE1IE.js.map +0 -1
  34. package/dist/index-By7BkNOh.js.map +0 -1
  35. package/dist/index-vkjNhoF3.js.map +0 -1
  36. package/dist/utils-B5WMTXlT.js.map +0 -1
  37. package/dist/utils-tPaqWDxV.js.map +0 -1
@@ -1,144 +0,0 @@
1
- 'use strict';
2
-
3
- var _defineProperty = require('@babel/runtime/helpers/defineProperty');
4
- var classnames = require('classnames');
5
- var neetoCist = require('@bigbinary/neeto-cist');
6
- var Button = require('@bigbinary/neetoui/Button');
7
- var Typography = require('@bigbinary/neetoui/Typography');
8
- var ProgressBar = require('@bigbinary/neetoui/ProgressBar');
9
- var ramda = require('ramda');
10
- var reactI18next = require('react-i18next');
11
- var utils = require('./utils-tPaqWDxV.js');
12
- var jsxRuntime = require('react/jsx-runtime');
13
- var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
14
- var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
15
- var require$$0 = require('react');
16
-
17
- var getAllowedTypes = function getAllowedTypes(uploadConfig) {
18
- return ramda.pipe(ramda.values, ramda.flatten, ramda.map(function (extension) {
19
- return extension.slice(1);
20
- }), ramda.map(ramda.toUpper), ramda.join(", "))(uploadConfig.allowedImageTypes);
21
- };
22
-
23
- function ownKeys$2(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
24
- function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$2(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$2(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
25
- var ImageDirectUpload = function ImageDirectUpload(_ref) {
26
- var _ref$uploadConfig = _ref.uploadConfig,
27
- uploadConfig = _ref$uploadConfig === void 0 ? utils.DEFAULT_UPLOAD_CONFIG : _ref$uploadConfig,
28
- _ref$onDrop = _ref.onDrop,
29
- onDrop = _ref$onDrop === void 0 ? neetoCist.noop : _ref$onDrop,
30
- _ref$isDisabled = _ref.isDisabled,
31
- isDisabled = _ref$isDisabled === void 0 ? false : _ref$isDisabled,
32
- setIsAssetLibraryOpen = _ref.setIsAssetLibraryOpen;
33
- var _useUploadDropzone = utils.useUploadDropzone({
34
- uploadConfig: uploadConfig,
35
- onDrop: onDrop
36
- }),
37
- getRootProps = _useUploadDropzone.getRootProps,
38
- getInputProps = _useUploadDropzone.getInputProps,
39
- isDragActive = _useUploadDropzone.isDragActive,
40
- uploadProgress = _useUploadDropzone.uploadProgress;
41
- var shouldShowProgress = !!(uploadProgress && !ramda.equals(uploadProgress, 1));
42
- return /*#__PURE__*/jsxRuntime.jsx("div", _objectSpread$2(_objectSpread$2({}, getRootProps()), {}, {
43
- className: classnames(utils.DROPZONE_ROOT_DIV_CLASSNAME, {
44
- "neeto-ui-border-gray-300": !isDragActive,
45
- "neeto-ui-border-gray-700": isDragActive
46
- }),
47
- children: shouldShowProgress ? /*#__PURE__*/jsxRuntime.jsx(ProgressBar, {
48
- progressPercentage: uploadProgress,
49
- progressValue: "".concat(uploadProgress, "%")
50
- }) : /*#__PURE__*/jsxRuntime.jsxs("div", {
51
- className: "flex flex-col space-y-1",
52
- children: [!isDisabled && /*#__PURE__*/jsxRuntime.jsx(Typography, {
53
- className: "neeto-ui-text-gray-800 text-center leading-4",
54
- style: "body2",
55
- children: /*#__PURE__*/jsxRuntime.jsx(reactI18next.Trans, {
56
- i18nKey: "neetoImageUploader.imageUpload.dragAndDropOrBrowseFile",
57
- components: {
58
- span: /*#__PURE__*/jsxRuntime.jsx(Button, {
59
- "data-cy": "neeto-image-uploader-browse-text",
60
- style: "link"
61
- })
62
- }
63
- })
64
- }), setIsAssetLibraryOpen && /*#__PURE__*/jsxRuntime.jsx(Typography, {
65
- className: "text-center leading-4",
66
- style: "body2",
67
- onClick: function onClick(e) {
68
- e.stopPropagation();
69
- setIsAssetLibraryOpen(true);
70
- },
71
- children: /*#__PURE__*/jsxRuntime.jsx(reactI18next.Trans, {
72
- i18nKey: "neetoImageUploader.imageUpload.selectImagefromImageLibrary",
73
- components: {
74
- span: /*#__PURE__*/jsxRuntime.jsx(Button, {
75
- "data-cy": "open-asset-library-button",
76
- style: "link"
77
- })
78
- }
79
- })
80
- }), /*#__PURE__*/jsxRuntime.jsx("input", _objectSpread$2(_objectSpread$2({}, getInputProps()), {}, {
81
- "data-cy": "neeto-image-uploader-file-input",
82
- disabled: isDisabled
83
- })), /*#__PURE__*/jsxRuntime.jsx(Typography, {
84
- className: "neeto-ui-text-gray-700 text-center leading-4",
85
- "data-cy": "neeto-image-uploader-restriction-message",
86
- lineHeight: "snug",
87
- style: "nano",
88
- children: /*#__PURE__*/jsxRuntime.jsx(reactI18next.Trans, {
89
- i18nKey: "neetoImageUploader.imageUpload.restrictionMessage",
90
- values: {
91
- fileTypes: getAllowedTypes(uploadConfig),
92
- size: uploadConfig === null || uploadConfig === void 0 ? void 0 : uploadConfig.maxImageSize
93
- }
94
- })
95
- })]
96
- })
97
- }));
98
- };
99
-
100
- var _excluded$1 = ["className"];
101
- function ownKeys$1(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
102
- function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
103
- var ImagePlaceholder = function ImagePlaceholder(_ref) {
104
- var _ref$className = _ref.className,
105
- className = _ref$className === void 0 ? "" : _ref$className,
106
- props = _objectWithoutProperties(_ref, _excluded$1);
107
- return /*#__PURE__*/jsxRuntime.jsx("div", _objectSpread$1({
108
- className: classnames("neeto-ui-bg-gray-200", _defineProperty({}, className, className))
109
- }, props));
110
- };
111
-
112
- var _excluded = ["src", "className", "fallback"];
113
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
114
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
115
- var ImageWithFallback = function ImageWithFallback(_ref) {
116
- var src = _ref.src,
117
- _ref$className = _ref.className,
118
- className = _ref$className === void 0 ? "h-full w-full" : _ref$className,
119
- _ref$fallback = _ref.fallback,
120
- Fallback = _ref$fallback === void 0 ? ImagePlaceholder : _ref$fallback,
121
- props = _objectWithoutProperties(_ref, _excluded);
122
- var _useState = require$$0.useState(false),
123
- _useState2 = _slicedToArray(_useState, 2),
124
- isLoaded = _useState2[0],
125
- setIsLoaded = _useState2[1];
126
- require$$0.useEffect(function () {
127
- var img = new Image();
128
- img.onload = function () {
129
- setIsLoaded(true);
130
- };
131
- img.src = src;
132
- }, [src]);
133
- return isLoaded ? /*#__PURE__*/jsxRuntime.jsx("img", _objectSpread(_objectSpread({}, _objectSpread({
134
- src: src
135
- }, props)), {}, {
136
- className: "h-full w-auto object-contain"
137
- })) : /*#__PURE__*/jsxRuntime.jsx(Fallback, _objectSpread({}, _objectSpread({
138
- className: className
139
- }, props)));
140
- };
141
-
142
- exports.ImageDirectUpload = ImageDirectUpload;
143
- exports.ImageWithFallback = ImageWithFallback;
144
- //# sourceMappingURL=ImageWithFallback-Dz9cyV2n.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ImageWithFallback-Dz9cyV2n.js","sources":["../app/javascript/src/components/ImageUploader/utils.js","../app/javascript/src/components/common/ImageDirectUpload.jsx","../app/javascript/src/components/common/ImagePlaceholder.jsx","../app/javascript/src/components/common/ImageWithFallback.jsx"],"sourcesContent":["import { flatten, pipe, join, map, toUpper, values } from \"ramda\";\n\nexport const getAllowedTypes = uploadConfig =>\n pipe(\n values,\n flatten,\n map(extension => extension.slice(1)),\n map(toUpper),\n join(\", \")\n )(uploadConfig.allowedImageTypes);\n","import classnames from \"classnames\";\nimport { noop } from \"neetocist\";\nimport { Button, Typography, ProgressBar } from \"neetoui\";\nimport { equals } from \"ramda\";\nimport { Trans } from \"react-i18next\";\n\nimport { DEFAULT_UPLOAD_CONFIG } from \"components/ImageUploader/constants\";\nimport { getAllowedTypes } from \"components/ImageUploader/utils\";\nimport useUploadDropzone from \"hooks/useUploadDropzone\";\n\nimport { DROPZONE_ROOT_DIV_CLASSNAME } from \"./constants\";\n\nconst ImageDirectUpload = ({\n uploadConfig = DEFAULT_UPLOAD_CONFIG,\n onDrop = noop,\n isDisabled = false,\n setIsAssetLibraryOpen,\n}) => {\n const { getRootProps, getInputProps, isDragActive, uploadProgress } =\n useUploadDropzone({ uploadConfig, onDrop });\n\n const shouldShowProgress = !!(uploadProgress && !equals(uploadProgress, 1));\n\n return (\n <div\n {...getRootProps()}\n className={classnames(DROPZONE_ROOT_DIV_CLASSNAME, {\n \"neeto-ui-border-gray-300\": !isDragActive,\n \"neeto-ui-border-gray-700\": isDragActive,\n })}\n >\n {shouldShowProgress ? (\n <ProgressBar\n progressPercentage={uploadProgress}\n progressValue={`${uploadProgress}%`}\n />\n ) : (\n <div className=\"flex flex-col space-y-1\">\n {!isDisabled && (\n <Typography\n className=\"neeto-ui-text-gray-800 text-center leading-4\"\n style=\"body2\"\n >\n <Trans\n i18nKey=\"neetoImageUploader.imageUpload.dragAndDropOrBrowseFile\"\n components={{\n span: (\n <Button\n data-cy=\"neeto-image-uploader-browse-text\"\n style=\"link\"\n />\n ),\n }}\n />\n </Typography>\n )}\n {setIsAssetLibraryOpen && (\n <Typography\n className=\"text-center leading-4\"\n style=\"body2\"\n onClick={e => {\n e.stopPropagation();\n setIsAssetLibraryOpen(true);\n }}\n >\n <Trans\n i18nKey=\"neetoImageUploader.imageUpload.selectImagefromImageLibrary\"\n components={{\n span: (\n <Button data-cy=\"open-asset-library-button\" style=\"link\" />\n ),\n }}\n />\n </Typography>\n )}\n <input\n {...getInputProps()}\n data-cy=\"neeto-image-uploader-file-input\"\n disabled={isDisabled}\n />\n <Typography\n className=\"neeto-ui-text-gray-700 text-center leading-4\"\n data-cy=\"neeto-image-uploader-restriction-message\"\n lineHeight=\"snug\"\n style=\"nano\"\n >\n <Trans\n i18nKey=\"neetoImageUploader.imageUpload.restrictionMessage\"\n values={{\n fileTypes: getAllowedTypes(uploadConfig),\n size: uploadConfig?.maxImageSize,\n }}\n />\n </Typography>\n </div>\n )}\n </div>\n );\n};\n\nexport default ImageDirectUpload;\n","import classnames from \"classnames\";\n\nconst ImagePlaceholder = ({ className = \"\", ...props }) => (\n <div\n className={classnames(\"neeto-ui-bg-gray-200\", {\n [className]: className,\n })}\n {...props}\n />\n);\n\nexport default ImagePlaceholder;\n","import { useEffect, useState } from \"react\";\n\nimport ImagePlaceholder from \"./ImagePlaceholder\";\n\nconst ImageWithFallback = ({\n src,\n className = \"h-full w-full\",\n fallback: Fallback = ImagePlaceholder,\n ...props\n}) => {\n const [isLoaded, setIsLoaded] = useState(false);\n\n useEffect(() => {\n const img = new Image();\n img.onload = () => {\n setIsLoaded(true);\n };\n img.src = src;\n }, [src]);\n\n return isLoaded ? (\n <img {...{ src, ...props }} className=\"h-full w-auto object-contain\" />\n ) : (\n <Fallback {...{ className, ...props }} />\n );\n};\n\nexport default ImageWithFallback;\n"],"names":["getAllowedTypes","uploadConfig","pipe","values","flatten","map","extension","slice","toUpper","join","allowedImageTypes","ImageDirectUpload","_ref","_ref$uploadConfig","DEFAULT_UPLOAD_CONFIG","_ref$onDrop","onDrop","noop","_ref$isDisabled","isDisabled","setIsAssetLibraryOpen","_useUploadDropzone","useUploadDropzone","getRootProps","getInputProps","isDragActive","uploadProgress","shouldShowProgress","equals","_jsx","_objectSpread","className","classnames","DROPZONE_ROOT_DIV_CLASSNAME","children","ProgressBar","progressPercentage","progressValue","concat","_jsxs","Typography","style","Trans","i18nKey","components","span","Button","onClick","e","stopPropagation","disabled","lineHeight","fileTypes","size","maxImageSize","ImagePlaceholder","_ref$className","props","_objectWithoutProperties","_excluded","_defineProperty","ImageWithFallback","src","_ref$fallback","fallback","Fallback","_useState","useState","_useState2","_slicedToArray","isLoaded","setIsLoaded","useEffect","img","Image","onload"],"mappings":"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"}
@@ -1,141 +0,0 @@
1
- import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
- import classnames from 'classnames';
3
- import { noop } from '@bigbinary/neeto-cist';
4
- import Button from '@bigbinary/neetoui/Button';
5
- import Typography from '@bigbinary/neetoui/Typography';
6
- import ProgressBar from '@bigbinary/neetoui/ProgressBar';
7
- import { pipe, values, flatten, map, toUpper, join, equals } from 'ramda';
8
- import { Trans } from 'react-i18next';
9
- import { u as useUploadDropzone, b as DROPZONE_ROOT_DIV_CLASSNAME, D as DEFAULT_UPLOAD_CONFIG } from './utils-B5WMTXlT.js';
10
- import { jsx, jsxs } from 'react/jsx-runtime';
11
- import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
12
- import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
13
- import { useState, useEffect } from 'react';
14
-
15
- var getAllowedTypes = function getAllowedTypes(uploadConfig) {
16
- return pipe(values, flatten, map(function (extension) {
17
- return extension.slice(1);
18
- }), map(toUpper), join(", "))(uploadConfig.allowedImageTypes);
19
- };
20
-
21
- function ownKeys$2(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
22
- function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$2(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$2(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
23
- var ImageDirectUpload = function ImageDirectUpload(_ref) {
24
- var _ref$uploadConfig = _ref.uploadConfig,
25
- uploadConfig = _ref$uploadConfig === void 0 ? DEFAULT_UPLOAD_CONFIG : _ref$uploadConfig,
26
- _ref$onDrop = _ref.onDrop,
27
- onDrop = _ref$onDrop === void 0 ? noop : _ref$onDrop,
28
- _ref$isDisabled = _ref.isDisabled,
29
- isDisabled = _ref$isDisabled === void 0 ? false : _ref$isDisabled,
30
- setIsAssetLibraryOpen = _ref.setIsAssetLibraryOpen;
31
- var _useUploadDropzone = useUploadDropzone({
32
- uploadConfig: uploadConfig,
33
- onDrop: onDrop
34
- }),
35
- getRootProps = _useUploadDropzone.getRootProps,
36
- getInputProps = _useUploadDropzone.getInputProps,
37
- isDragActive = _useUploadDropzone.isDragActive,
38
- uploadProgress = _useUploadDropzone.uploadProgress;
39
- var shouldShowProgress = !!(uploadProgress && !equals(uploadProgress, 1));
40
- return /*#__PURE__*/jsx("div", _objectSpread$2(_objectSpread$2({}, getRootProps()), {}, {
41
- className: classnames(DROPZONE_ROOT_DIV_CLASSNAME, {
42
- "neeto-ui-border-gray-300": !isDragActive,
43
- "neeto-ui-border-gray-700": isDragActive
44
- }),
45
- children: shouldShowProgress ? /*#__PURE__*/jsx(ProgressBar, {
46
- progressPercentage: uploadProgress,
47
- progressValue: "".concat(uploadProgress, "%")
48
- }) : /*#__PURE__*/jsxs("div", {
49
- className: "flex flex-col space-y-1",
50
- children: [!isDisabled && /*#__PURE__*/jsx(Typography, {
51
- className: "neeto-ui-text-gray-800 text-center leading-4",
52
- style: "body2",
53
- children: /*#__PURE__*/jsx(Trans, {
54
- i18nKey: "neetoImageUploader.imageUpload.dragAndDropOrBrowseFile",
55
- components: {
56
- span: /*#__PURE__*/jsx(Button, {
57
- "data-cy": "neeto-image-uploader-browse-text",
58
- style: "link"
59
- })
60
- }
61
- })
62
- }), setIsAssetLibraryOpen && /*#__PURE__*/jsx(Typography, {
63
- className: "text-center leading-4",
64
- style: "body2",
65
- onClick: function onClick(e) {
66
- e.stopPropagation();
67
- setIsAssetLibraryOpen(true);
68
- },
69
- children: /*#__PURE__*/jsx(Trans, {
70
- i18nKey: "neetoImageUploader.imageUpload.selectImagefromImageLibrary",
71
- components: {
72
- span: /*#__PURE__*/jsx(Button, {
73
- "data-cy": "open-asset-library-button",
74
- style: "link"
75
- })
76
- }
77
- })
78
- }), /*#__PURE__*/jsx("input", _objectSpread$2(_objectSpread$2({}, getInputProps()), {}, {
79
- "data-cy": "neeto-image-uploader-file-input",
80
- disabled: isDisabled
81
- })), /*#__PURE__*/jsx(Typography, {
82
- className: "neeto-ui-text-gray-700 text-center leading-4",
83
- "data-cy": "neeto-image-uploader-restriction-message",
84
- lineHeight: "snug",
85
- style: "nano",
86
- children: /*#__PURE__*/jsx(Trans, {
87
- i18nKey: "neetoImageUploader.imageUpload.restrictionMessage",
88
- values: {
89
- fileTypes: getAllowedTypes(uploadConfig),
90
- size: uploadConfig === null || uploadConfig === void 0 ? void 0 : uploadConfig.maxImageSize
91
- }
92
- })
93
- })]
94
- })
95
- }));
96
- };
97
-
98
- var _excluded$1 = ["className"];
99
- function ownKeys$1(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
100
- function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
101
- var ImagePlaceholder = function ImagePlaceholder(_ref) {
102
- var _ref$className = _ref.className,
103
- className = _ref$className === void 0 ? "" : _ref$className,
104
- props = _objectWithoutProperties(_ref, _excluded$1);
105
- return /*#__PURE__*/jsx("div", _objectSpread$1({
106
- className: classnames("neeto-ui-bg-gray-200", _defineProperty({}, className, className))
107
- }, props));
108
- };
109
-
110
- var _excluded = ["src", "className", "fallback"];
111
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
112
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
113
- var ImageWithFallback = function ImageWithFallback(_ref) {
114
- var src = _ref.src,
115
- _ref$className = _ref.className,
116
- className = _ref$className === void 0 ? "h-full w-full" : _ref$className,
117
- _ref$fallback = _ref.fallback,
118
- Fallback = _ref$fallback === void 0 ? ImagePlaceholder : _ref$fallback,
119
- props = _objectWithoutProperties(_ref, _excluded);
120
- var _useState = useState(false),
121
- _useState2 = _slicedToArray(_useState, 2),
122
- isLoaded = _useState2[0],
123
- setIsLoaded = _useState2[1];
124
- useEffect(function () {
125
- var img = new Image();
126
- img.onload = function () {
127
- setIsLoaded(true);
128
- };
129
- img.src = src;
130
- }, [src]);
131
- return isLoaded ? /*#__PURE__*/jsx("img", _objectSpread(_objectSpread({}, _objectSpread({
132
- src: src
133
- }, props)), {}, {
134
- className: "h-full w-auto object-contain"
135
- })) : /*#__PURE__*/jsx(Fallback, _objectSpread({}, _objectSpread({
136
- className: className
137
- }, props)));
138
- };
139
-
140
- export { ImageWithFallback as I, ImageDirectUpload as a };
141
- //# sourceMappingURL=ImageWithFallback-c9ANE1IE.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ImageWithFallback-c9ANE1IE.js","sources":["../app/javascript/src/components/ImageUploader/utils.js","../app/javascript/src/components/common/ImageDirectUpload.jsx","../app/javascript/src/components/common/ImagePlaceholder.jsx","../app/javascript/src/components/common/ImageWithFallback.jsx"],"sourcesContent":["import { flatten, pipe, join, map, toUpper, values } from \"ramda\";\n\nexport const getAllowedTypes = uploadConfig =>\n pipe(\n values,\n flatten,\n map(extension => extension.slice(1)),\n map(toUpper),\n join(\", \")\n )(uploadConfig.allowedImageTypes);\n","import classnames from \"classnames\";\nimport { noop } from \"neetocist\";\nimport { Button, Typography, ProgressBar } from \"neetoui\";\nimport { equals } from \"ramda\";\nimport { Trans } from \"react-i18next\";\n\nimport { DEFAULT_UPLOAD_CONFIG } from \"components/ImageUploader/constants\";\nimport { getAllowedTypes } from \"components/ImageUploader/utils\";\nimport useUploadDropzone from \"hooks/useUploadDropzone\";\n\nimport { DROPZONE_ROOT_DIV_CLASSNAME } from \"./constants\";\n\nconst ImageDirectUpload = ({\n uploadConfig = DEFAULT_UPLOAD_CONFIG,\n onDrop = noop,\n isDisabled = false,\n setIsAssetLibraryOpen,\n}) => {\n const { getRootProps, getInputProps, isDragActive, uploadProgress } =\n useUploadDropzone({ uploadConfig, onDrop });\n\n const shouldShowProgress = !!(uploadProgress && !equals(uploadProgress, 1));\n\n return (\n <div\n {...getRootProps()}\n className={classnames(DROPZONE_ROOT_DIV_CLASSNAME, {\n \"neeto-ui-border-gray-300\": !isDragActive,\n \"neeto-ui-border-gray-700\": isDragActive,\n })}\n >\n {shouldShowProgress ? (\n <ProgressBar\n progressPercentage={uploadProgress}\n progressValue={`${uploadProgress}%`}\n />\n ) : (\n <div className=\"flex flex-col space-y-1\">\n {!isDisabled && (\n <Typography\n className=\"neeto-ui-text-gray-800 text-center leading-4\"\n style=\"body2\"\n >\n <Trans\n i18nKey=\"neetoImageUploader.imageUpload.dragAndDropOrBrowseFile\"\n components={{\n span: (\n <Button\n data-cy=\"neeto-image-uploader-browse-text\"\n style=\"link\"\n />\n ),\n }}\n />\n </Typography>\n )}\n {setIsAssetLibraryOpen && (\n <Typography\n className=\"text-center leading-4\"\n style=\"body2\"\n onClick={e => {\n e.stopPropagation();\n setIsAssetLibraryOpen(true);\n }}\n >\n <Trans\n i18nKey=\"neetoImageUploader.imageUpload.selectImagefromImageLibrary\"\n components={{\n span: (\n <Button data-cy=\"open-asset-library-button\" style=\"link\" />\n ),\n }}\n />\n </Typography>\n )}\n <input\n {...getInputProps()}\n data-cy=\"neeto-image-uploader-file-input\"\n disabled={isDisabled}\n />\n <Typography\n className=\"neeto-ui-text-gray-700 text-center leading-4\"\n data-cy=\"neeto-image-uploader-restriction-message\"\n lineHeight=\"snug\"\n style=\"nano\"\n >\n <Trans\n i18nKey=\"neetoImageUploader.imageUpload.restrictionMessage\"\n values={{\n fileTypes: getAllowedTypes(uploadConfig),\n size: uploadConfig?.maxImageSize,\n }}\n />\n </Typography>\n </div>\n )}\n </div>\n );\n};\n\nexport default ImageDirectUpload;\n","import classnames from \"classnames\";\n\nconst ImagePlaceholder = ({ className = \"\", ...props }) => (\n <div\n className={classnames(\"neeto-ui-bg-gray-200\", {\n [className]: className,\n })}\n {...props}\n />\n);\n\nexport default ImagePlaceholder;\n","import { useEffect, useState } from \"react\";\n\nimport ImagePlaceholder from \"./ImagePlaceholder\";\n\nconst ImageWithFallback = ({\n src,\n className = \"h-full w-full\",\n fallback: Fallback = ImagePlaceholder,\n ...props\n}) => {\n const [isLoaded, setIsLoaded] = useState(false);\n\n useEffect(() => {\n const img = new Image();\n img.onload = () => {\n setIsLoaded(true);\n };\n img.src = src;\n }, [src]);\n\n return isLoaded ? (\n <img {...{ src, ...props }} className=\"h-full w-auto object-contain\" />\n ) : (\n <Fallback {...{ className, ...props }} />\n );\n};\n\nexport default ImageWithFallback;\n"],"names":["getAllowedTypes","uploadConfig","pipe","values","flatten","map","extension","slice","toUpper","join","allowedImageTypes","ImageDirectUpload","_ref","_ref$uploadConfig","DEFAULT_UPLOAD_CONFIG","_ref$onDrop","onDrop","noop","_ref$isDisabled","isDisabled","setIsAssetLibraryOpen","_useUploadDropzone","useUploadDropzone","getRootProps","getInputProps","isDragActive","uploadProgress","shouldShowProgress","equals","_jsx","_objectSpread","className","classnames","DROPZONE_ROOT_DIV_CLASSNAME","children","ProgressBar","progressPercentage","progressValue","concat","_jsxs","Typography","style","Trans","i18nKey","components","span","Button","onClick","e","stopPropagation","disabled","lineHeight","fileTypes","size","maxImageSize","ImagePlaceholder","_ref$className","props","_objectWithoutProperties","_excluded","_defineProperty","ImageWithFallback","src","_ref$fallback","fallback","Fallback","_useState","useState","_useState2","_slicedToArray","isLoaded","setIsLoaded","useEffect","img","Image","onload"],"mappings":"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"}