@bigbinary/neeto-image-uploader-frontend 2.3.9 → 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 (61) hide show
  1. package/app/javascript/src/translations/en.json +1 -1
  2. package/dist/AssetLibrary.js +9 -8
  3. package/dist/AssetLibrary.js.map +1 -1
  4. package/dist/BasicImageUploader.js +4 -4
  5. package/dist/ImageUploader.js +7 -6
  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 +9 -8
  12. package/dist/cjs/AssetLibrary.js.map +1 -1
  13. package/dist/cjs/BasicImageUploader.js +10 -18
  14. package/dist/cjs/BasicImageUploader.js.map +1 -1
  15. package/dist/cjs/ImageUploader.js +19 -29
  16. package/dist/cjs/ImageUploader.js.map +1 -1
  17. package/dist/cjs/hooks.js +4 -6
  18. package/dist/cjs/hooks.js.map +1 -1
  19. package/dist/cjs/index.js +8 -9
  20. package/dist/cjs/index.js.map +1 -1
  21. package/dist/cjs/utils.js +1 -3
  22. package/dist/cjs/utils.js.map +1 -1
  23. package/dist/hooks.js +4 -4
  24. package/dist/{index-9fdcdfac.js → index-BkKE5xo-.js} +179 -213
  25. package/dist/index-BkKE5xo-.js.map +1 -0
  26. package/dist/{index-cf7e4b89.js → index-BtHfh_eu.js} +2 -3
  27. package/dist/{index-cf7e4b89.js.map → index-BtHfh_eu.js.map} +1 -1
  28. package/dist/{index-8605e11c.js → index-CZjb2iXB.js} +2 -3
  29. package/dist/{index-8605e11c.js.map → index-CZjb2iXB.js.map} +1 -1
  30. package/dist/{index-a3668c72.js → index-FbPHXCzL.js} +107 -118
  31. package/dist/index-FbPHXCzL.js.map +1 -0
  32. package/dist/index.js +8 -7
  33. package/dist/index.js.map +1 -1
  34. package/dist/{query-dcc7b81b.js → query-B0eDmse7.js} +1 -1
  35. package/dist/{query-dcc7b81b.js.map → query-B0eDmse7.js.map} +1 -1
  36. package/dist/{query-3c31bf92.js → query-B7ahlELA.js} +1 -1
  37. package/dist/{query-3c31bf92.js.map → query-B7ahlELA.js.map} +1 -1
  38. package/dist/{useImageUploader-49fd1436.js → useImageUploader-Bm9TukCy.js} +16 -24
  39. package/dist/useImageUploader-Bm9TukCy.js.map +1 -0
  40. package/dist/{useImageUploader-9c1a27d0.js → useImageUploader-RX88_Cp-.js} +4 -4
  41. package/dist/{useImageUploader-9c1a27d0.js.map → useImageUploader-RX88_Cp-.js.map} +1 -1
  42. package/dist/{useProfileImageUpload-faa539d7.js → useProfileImageUpload-KpvcwEqx.js} +3 -3
  43. package/dist/{useProfileImageUpload-faa539d7.js.map → useProfileImageUpload-KpvcwEqx.js.map} +1 -1
  44. package/dist/{useProfileImageUpload-9c1d2b0f.js → useProfileImageUpload-UUrg2Lkw.js} +19 -26
  45. package/dist/useProfileImageUpload-UUrg2Lkw.js.map +1 -0
  46. package/dist/{utils-ede1695e.js → utils-BxC_k1lu.js} +105 -27
  47. package/dist/utils-BxC_k1lu.js.map +1 -0
  48. package/dist/{utils-fa0fa918.js → utils-WEbpTEyB.js} +101 -16
  49. package/dist/utils-WEbpTEyB.js.map +1 -0
  50. package/dist/utils.js +1 -1
  51. package/package.json +21 -20
  52. package/dist/ImageWithFallback-1ddf3f25.js +0 -154
  53. package/dist/ImageWithFallback-1ddf3f25.js.map +0 -1
  54. package/dist/ImageWithFallback-933ea4b1.js +0 -141
  55. package/dist/ImageWithFallback-933ea4b1.js.map +0 -1
  56. package/dist/index-9fdcdfac.js.map +0 -1
  57. package/dist/index-a3668c72.js.map +0 -1
  58. package/dist/useImageUploader-49fd1436.js.map +0 -1
  59. package/dist/useProfileImageUpload-9c1d2b0f.js.map +0 -1
  60. package/dist/utils-ede1695e.js.map +0 -1
  61. package/dist/utils-fa0fa918.js.map +0 -1
@@ -1,154 +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-ede1695e.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
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
18
-
19
- var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
20
- var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
21
- var Button__default = /*#__PURE__*/_interopDefaultLegacy(Button);
22
- var Typography__default = /*#__PURE__*/_interopDefaultLegacy(Typography);
23
- var ProgressBar__default = /*#__PURE__*/_interopDefaultLegacy(ProgressBar);
24
- var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
25
- var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
26
-
27
- var getAllowedTypes = function getAllowedTypes(uploadConfig) {
28
- return ramda.pipe(ramda.values, ramda.flatten, ramda.map(function (extension) {
29
- return extension.slice(1);
30
- }), ramda.map(ramda.toUpper), ramda.join(", "))(uploadConfig.allowedImageTypes);
31
- };
32
-
33
- 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; }
34
- 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__default["default"](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; }
35
- var ImageDirectUpload = function ImageDirectUpload(_ref) {
36
- var _ref$uploadConfig = _ref.uploadConfig,
37
- uploadConfig = _ref$uploadConfig === void 0 ? utils.DEFAULT_UPLOAD_CONFIG : _ref$uploadConfig,
38
- _ref$onDrop = _ref.onDrop,
39
- onDrop = _ref$onDrop === void 0 ? neetoCist.noop : _ref$onDrop,
40
- _ref$isDisabled = _ref.isDisabled,
41
- isDisabled = _ref$isDisabled === void 0 ? false : _ref$isDisabled,
42
- setIsAssetLibraryOpen = _ref.setIsAssetLibraryOpen;
43
- var _useUploadDropzone = utils.useUploadDropzone({
44
- uploadConfig: uploadConfig,
45
- onDrop: onDrop
46
- }),
47
- getRootProps = _useUploadDropzone.getRootProps,
48
- getInputProps = _useUploadDropzone.getInputProps,
49
- isDragActive = _useUploadDropzone.isDragActive,
50
- uploadProgress = _useUploadDropzone.uploadProgress;
51
- var shouldShowProgress = !!(uploadProgress && !ramda.equals(uploadProgress, 1));
52
- return /*#__PURE__*/jsxRuntime.jsx("div", _objectSpread$2(_objectSpread$2({}, getRootProps()), {}, {
53
- className: classnames__default["default"](utils.DROPZONE_ROOT_DIV_CLASSNAME, {
54
- "neeto-ui-border-gray-300": !isDragActive,
55
- "neeto-ui-border-gray-700": isDragActive
56
- }),
57
- children: shouldShowProgress ? /*#__PURE__*/jsxRuntime.jsx(ProgressBar__default["default"], {
58
- progressPercentage: uploadProgress,
59
- progressValue: "".concat(uploadProgress, "%")
60
- }) : /*#__PURE__*/jsxRuntime.jsxs("div", {
61
- className: "flex flex-col space-y-1",
62
- children: [!isDisabled && /*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
63
- className: "neeto-ui-text-gray-800 text-center leading-4",
64
- style: "body2",
65
- children: /*#__PURE__*/jsxRuntime.jsx(reactI18next.Trans, {
66
- i18nKey: "neetoImageUploader.imageUpload.dragAndDropOrBrowseFile",
67
- components: {
68
- span: /*#__PURE__*/jsxRuntime.jsx(Button__default["default"], {
69
- "data-cy": "neeto-image-uploader-browse-text",
70
- style: "link"
71
- })
72
- }
73
- })
74
- }), setIsAssetLibraryOpen && /*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
75
- className: "text-center leading-4",
76
- style: "body2",
77
- onClick: function onClick(e) {
78
- e.stopPropagation();
79
- setIsAssetLibraryOpen(true);
80
- },
81
- children: /*#__PURE__*/jsxRuntime.jsx(reactI18next.Trans, {
82
- i18nKey: "neetoImageUploader.imageUpload.selectImagefromImageLibrary",
83
- components: {
84
- span: /*#__PURE__*/jsxRuntime.jsx(Button__default["default"], {
85
- "data-cy": "open-asset-library-button",
86
- style: "link"
87
- })
88
- }
89
- })
90
- }), /*#__PURE__*/jsxRuntime.jsx("input", _objectSpread$2(_objectSpread$2({}, getInputProps()), {}, {
91
- "data-cy": "neeto-image-uploader-file-input",
92
- disabled: isDisabled
93
- })), /*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
94
- className: "neeto-ui-text-gray-700 text-center leading-4",
95
- "data-cy": "neeto-image-uploader-restriction-message",
96
- lineHeight: "snug",
97
- style: "nano",
98
- children: /*#__PURE__*/jsxRuntime.jsx(reactI18next.Trans, {
99
- i18nKey: "neetoImageUploader.imageUpload.restrictionMessage",
100
- values: {
101
- fileTypes: getAllowedTypes(uploadConfig),
102
- size: uploadConfig === null || uploadConfig === void 0 ? void 0 : uploadConfig.maxImageSize
103
- }
104
- })
105
- })]
106
- })
107
- }));
108
- };
109
-
110
- var _excluded$1 = ["className"];
111
- 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; }
112
- 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__default["default"](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; }
113
- var ImagePlaceholder = function ImagePlaceholder(_ref) {
114
- var _ref$className = _ref.className,
115
- className = _ref$className === void 0 ? "" : _ref$className,
116
- props = _objectWithoutProperties__default["default"](_ref, _excluded$1);
117
- return /*#__PURE__*/jsxRuntime.jsx("div", _objectSpread$1({
118
- className: classnames__default["default"]("neeto-ui-bg-gray-200", _defineProperty__default["default"]({}, className, className))
119
- }, props));
120
- };
121
-
122
- var _excluded = ["src", "className", "fallback"];
123
- 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; }
124
- 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__default["default"](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; }
125
- var ImageWithFallback = function ImageWithFallback(_ref) {
126
- var src = _ref.src,
127
- _ref$className = _ref.className,
128
- className = _ref$className === void 0 ? "h-full w-full" : _ref$className,
129
- _ref$fallback = _ref.fallback,
130
- Fallback = _ref$fallback === void 0 ? ImagePlaceholder : _ref$fallback,
131
- props = _objectWithoutProperties__default["default"](_ref, _excluded);
132
- var _useState = require$$0.useState(false),
133
- _useState2 = _slicedToArray__default["default"](_useState, 2),
134
- isLoaded = _useState2[0],
135
- setIsLoaded = _useState2[1];
136
- require$$0.useEffect(function () {
137
- var img = new Image();
138
- img.onload = function () {
139
- setIsLoaded(true);
140
- };
141
- img.src = src;
142
- }, [src]);
143
- return isLoaded ? /*#__PURE__*/jsxRuntime.jsx("img", _objectSpread(_objectSpread({}, _objectSpread({
144
- src: src
145
- }, props)), {}, {
146
- className: "h-full w-auto object-contain"
147
- })) : /*#__PURE__*/jsxRuntime.jsx(Fallback, _objectSpread({}, _objectSpread({
148
- className: className
149
- }, props)));
150
- };
151
-
152
- exports.ImageDirectUpload = ImageDirectUpload;
153
- exports.ImageWithFallback = ImageWithFallback;
154
- //# sourceMappingURL=ImageWithFallback-1ddf3f25.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ImageWithFallback-1ddf3f25.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, p as DROPZONE_ROOT_DIV_CLASSNAME, j as DEFAULT_UPLOAD_CONFIG } from './utils-fa0fa918.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-933ea4b1.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ImageWithFallback-933ea4b1.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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"}