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

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 (55) hide show
  1. package/README.md +1 -0
  2. package/app/javascript/src/translations/en.json +3 -2
  3. package/dist/AssetLibrary.js +6 -5
  4. package/dist/AssetLibrary.js.map +1 -1
  5. package/dist/BasicImageUploader.js +3 -3
  6. package/dist/BasicImageUploader.js.map +1 -1
  7. package/dist/ImageUploader.js +9 -4
  8. package/dist/ImageUploader.js.map +1 -1
  9. package/dist/ImageWithFallback-Csv6Oivd.js +51 -0
  10. package/dist/ImageWithFallback-Csv6Oivd.js.map +1 -0
  11. package/dist/ImageWithFallback-DzT_N2Su.js +53 -0
  12. package/dist/ImageWithFallback-DzT_N2Su.js.map +1 -0
  13. package/dist/cjs/AssetLibrary.js +6 -5
  14. package/dist/cjs/AssetLibrary.js.map +1 -1
  15. package/dist/cjs/BasicImageUploader.js +4 -4
  16. package/dist/cjs/BasicImageUploader.js.map +1 -1
  17. package/dist/cjs/ImageUploader.js +14 -9
  18. package/dist/cjs/ImageUploader.js.map +1 -1
  19. package/dist/cjs/hooks.js +1 -1
  20. package/dist/cjs/index.js +6 -5
  21. package/dist/cjs/index.js.map +1 -1
  22. package/dist/cjs/utils.js.map +1 -1
  23. package/dist/{index-vkjNhoF3.js → index-2Z-tiNdY.js} +819 -391
  24. package/dist/index-2Z-tiNdY.js.map +1 -0
  25. package/dist/{index-By7BkNOh.js → index-BsGnAVUR.js} +846 -418
  26. package/dist/index-BsGnAVUR.js.map +1 -0
  27. package/dist/index-BtHfh_eu.js.map +1 -1
  28. package/dist/index-CZjb2iXB.js.map +1 -1
  29. package/dist/index.js +5 -4
  30. package/dist/index.js.map +1 -1
  31. package/dist/query-B0eDmse7.js.map +1 -1
  32. package/dist/query-B7ahlELA.js.map +1 -1
  33. package/dist/useImageUploader-Bm9TukCy.js.map +1 -1
  34. package/dist/useImageUploader-RX88_Cp-.js.map +1 -1
  35. package/dist/{useProfileImageUpload-UUrg2Lkw.js → useProfileImageUpload-C6Gat9NR.js} +6 -6
  36. package/dist/useProfileImageUpload-C6Gat9NR.js.map +1 -0
  37. package/dist/useProfileImageUpload-KpvcwEqx.js.map +1 -1
  38. package/dist/utils-C58No1u2.js +410 -0
  39. package/dist/utils-C58No1u2.js.map +1 -0
  40. package/dist/utils-CFUW0P-E.js +382 -0
  41. package/dist/utils-CFUW0P-E.js.map +1 -0
  42. package/dist/utils.js.map +1 -1
  43. package/package.json +58 -54
  44. package/types.d.ts +1 -0
  45. package/dist/ImageWithFallback-Dz9cyV2n.js +0 -144
  46. package/dist/ImageWithFallback-Dz9cyV2n.js.map +0 -1
  47. package/dist/ImageWithFallback-c9ANE1IE.js +0 -141
  48. package/dist/ImageWithFallback-c9ANE1IE.js.map +0 -1
  49. package/dist/index-By7BkNOh.js.map +0 -1
  50. package/dist/index-vkjNhoF3.js.map +0 -1
  51. package/dist/useProfileImageUpload-UUrg2Lkw.js.map +0 -1
  52. package/dist/utils-B5WMTXlT.js +0 -256
  53. package/dist/utils-B5WMTXlT.js.map +0 -1
  54. package/dist/utils-tPaqWDxV.js +0 -280
  55. package/dist/utils-tPaqWDxV.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bigbinary/neeto-image-uploader-frontend",
3
- "version": "2.3.10",
3
+ "version": "2.3.14",
4
4
  "license": "UNLICENSED",
5
5
  "bugs": {
6
6
  "url": "https://github.com/bigbinary/neeto-image-uploader-nano/issues"
@@ -57,71 +57,74 @@
57
57
  }
58
58
  },
59
59
  "devDependencies": {
60
- "@babel/core": "^7.19.1",
61
- "@babel/eslint-parser": "7.17.0",
62
- "@babel/plugin-transform-runtime": "^7.19.1",
63
- "@babel/preset-env": "7.17.10",
64
- "@babel/preset-react": "7.16.7",
65
- "@babel/preset-typescript": "^7.18.6",
66
- "@babel/runtime": "7.19.0",
60
+ "@babel/core": "7.26.0",
61
+ "@babel/eslint-parser": "7.25.9",
62
+ "@babel/plugin-syntax-dynamic-import": "^7.8.3",
63
+ "@babel/plugin-transform-runtime": "7.25.9",
64
+ "@babel/preset-env": "7.26.0",
65
+ "@babel/preset-react": "7.25.9",
66
+ "@babel/preset-typescript": "7.26.0",
67
+ "@babel/runtime": "7.26.0",
67
68
  "@bigbinary/babel-preset-neeto": "^1.0.3",
68
- "@bigbinary/eslint-plugin-neeto": "1.5.4",
69
- "@bigbinary/neeto-cist": "1.0.12",
70
- "@bigbinary/neeto-commons-frontend": "4.8.6",
71
- "@bigbinary/neeto-editor": "1.43.9",
72
- "@bigbinary/neeto-filters-frontend": "4.3.5",
73
- "@bigbinary/neeto-icons": "1.20.8",
74
- "@bigbinary/neeto-molecules": "3.7.24",
75
- "@bigbinary/neeto-team-members-frontend": "4.4.2",
76
- "@bigbinary/neetoui": "8.2.25",
69
+ "@bigbinary/eslint-plugin-neeto": "1.5.6",
70
+ "@bigbinary/neeto-cist": "1.0.14",
71
+ "@bigbinary/neeto-commons-frontend": "4.12.6",
72
+ "@bigbinary/neeto-editor": "1.43.28",
73
+ "@bigbinary/neeto-filters-frontend": "4.3.10",
74
+ "@bigbinary/neeto-icons": "1.20.21",
75
+ "@bigbinary/neeto-molecules": "3.13.9",
76
+ "@bigbinary/neeto-team-members-frontend": "4.4.8",
77
+ "@bigbinary/neetoui": "8.2.45",
77
78
  "@emotion/is-prop-valid": "1.2.0",
78
79
  "@faker-js/faker": "8.2.0",
79
- "@honeybadger-io/js": "^6.4.1",
80
- "@honeybadger-io/react": "^6.1.3",
80
+ "@honeybadger-io/js": "6.10.1",
81
+ "@honeybadger-io/react": "6.1.25",
81
82
  "@rails/activestorage": "7.0.8-3",
82
- "@rollup/plugin-alias": "5.0.1",
83
+ "@rollup/plugin-alias": "5.1.1",
83
84
  "@rollup/plugin-babel": "6.0.4",
84
85
  "@rollup/plugin-commonjs": "25.0.7",
85
- "@rollup/plugin-json": "6.0.1",
86
- "@rollup/plugin-node-resolve": "15.2.3",
86
+ "@rollup/plugin-json": "6.1.0",
87
+ "@rollup/plugin-node-resolve": "15.3.0",
87
88
  "@rollup/plugin-replace": "5.0.4",
88
89
  "@svgr/rollup": "8.1.0",
89
- "@tanstack/react-query": "5.40.0",
90
- "antd": "5.16.0",
90
+ "@tailwindcss/container-queries": "^0.1.1",
91
+ "@tanstack/react-query": "5.59.20",
92
+ "antd": "5.22.0",
91
93
  "assert": "^2.0.0",
92
94
  "autoprefixer": "^10.4.5",
93
- "axios": "1.7.4",
95
+ "axios": "1.7.7",
94
96
  "babel-loader": "^8.2.5",
95
97
  "babel-plugin-istanbul": "^6.1.1",
96
98
  "babel-plugin-js-logger": "1.0.17",
97
99
  "babel-plugin-macros": "3.1.0",
100
+ "babel-plugin-module-resolver": "^5.0.0",
98
101
  "babel-plugin-preval": "^5.1.0",
99
102
  "babel-plugin-transform-react-remove-prop-types": "0.4.24",
100
103
  "babel-preset-react": "6.24.1",
101
104
  "babel-preset-typescript": "^7.0.0-alpha.19",
102
105
  "browserify-zlib": "^0.2.0",
103
106
  "buffer": "^6.0.3",
104
- "classnames": "2.3.1",
105
- "crypto-browserify": "^3.12.0",
107
+ "classnames": "2.5.1",
108
+ "crypto-browserify": "3.12.1",
106
109
  "css-loader": "^6.7.1",
107
110
  "dompurify": "^2.4.0",
108
111
  "dotenv-webpack": "^8.0.1",
109
112
  "eslint": "8.14.0",
110
113
  "eslint-config-prettier": "8.5.0",
111
114
  "eslint-plugin-cypress": "2.12.1",
112
- "eslint-plugin-import": "2.26.0",
115
+ "eslint-plugin-import": "2.31.0",
113
116
  "eslint-plugin-jam3": "0.2.3",
114
117
  "eslint-plugin-json": "3.1.0",
115
- "eslint-plugin-no-unsanitized": "^4.0.2",
118
+ "eslint-plugin-no-unsanitized": "4.1.2",
116
119
  "eslint-plugin-prettier": "4.0.0",
117
120
  "eslint-plugin-promise": "6.0.0",
118
- "eslint-plugin-react": "7.29.4",
121
+ "eslint-plugin-react": "7.37.2",
119
122
  "eslint-plugin-react-hooks": "4.5.0",
120
123
  "eslint-plugin-security": "^1.7.1",
121
124
  "eslint-plugin-sonarjs": "^0.21.0",
122
125
  "eslint-plugin-unused-imports": "2.0.0",
123
126
  "eslint-plugin-xss": "^0.1.12",
124
- "formik": "2.2.9",
127
+ "formik": "2.4.6",
125
128
  "html-webpack-plugin": "5.5.0",
126
129
  "https-browserify": "1.0.0",
127
130
  "husky": "7.0.4",
@@ -135,7 +138,7 @@
135
138
  "os-browserify": "0.3.0",
136
139
  "path-browserify": "^1.0.1",
137
140
  "perf_hooks": "^0.0.1",
138
- "postcss": "^8.4.31",
141
+ "postcss": "8.4.49",
139
142
  "postcss-import": "^15.0.0",
140
143
  "postcss-loader": "^7.0.1",
141
144
  "postcss-preset-env": "7.8.2",
@@ -146,7 +149,7 @@
146
149
  "ramda": "0.29.0",
147
150
  "react": "18.2.0",
148
151
  "react-dom": "18.2.0",
149
- "react-dropzone": "14.2.3",
152
+ "react-dropzone": "14.3.5",
150
153
  "react-helmet": "^6.1.0",
151
154
  "react-i18next": "12.3.1",
152
155
  "react-image-crop": "^10.0.9",
@@ -155,7 +158,7 @@
155
158
  "react-router-dom": "5.3.3",
156
159
  "react-toastify": "8.0.2",
157
160
  "react_ujs": "^3.1.1",
158
- "rollup": "^4.24.0",
161
+ "rollup": "4.25.0",
159
162
  "rollup-plugin-analyzer": "4.0.0",
160
163
  "rollup-plugin-cleaner": "1.0.0",
161
164
  "rollup-plugin-copy": "3.5.0",
@@ -168,7 +171,7 @@
168
171
  "stream-browserify": "^3.0.0",
169
172
  "stream-http": "3.2.0",
170
173
  "style-loader": "^3.3.1",
171
- "tailwindcss": "^3.4.1",
174
+ "tailwindcss": "3.4.14",
172
175
  "tty-browserify": "0.0.1",
173
176
  "url": "^0.11.0",
174
177
  "util": "^0.12.5",
@@ -181,26 +184,27 @@
181
184
  "zustand": "4.3.2"
182
185
  },
183
186
  "peerDependencies": {
184
- "@babel/runtime": "7.19.0",
185
- "@bigbinary/neeto-cist": "1.0.12",
186
- "@bigbinary/neeto-commons-frontend": "4.8.6",
187
- "@bigbinary/neeto-editor": "1.43.9",
188
- "@bigbinary/neeto-filters-frontend": "4.3.5",
189
- "@bigbinary/neeto-icons": "1.20.8",
190
- "@bigbinary/neeto-molecules": "3.7.24",
191
- "@bigbinary/neeto-team-members-frontend": "4.4.2",
192
- "@bigbinary/neetoui": "8.2.25",
193
- "@honeybadger-io/js": "^6.4.1",
194
- "@honeybadger-io/react": "^6.1.3",
187
+ "@babel/runtime": "7.26.0",
188
+ "@bigbinary/neeto-cist": "1.0.14",
189
+ "@bigbinary/neeto-commons-frontend": "4.12.6",
190
+ "@bigbinary/neeto-editor": "1.43.28",
191
+ "@bigbinary/neeto-filters-frontend": "4.3.10",
192
+ "@bigbinary/neeto-icons": "1.20.21",
193
+ "@bigbinary/neeto-molecules": "3.13.9",
194
+ "@bigbinary/neeto-team-members-frontend": "4.4.8",
195
+ "@bigbinary/neetoui": "8.2.45",
196
+ "@honeybadger-io/js": "6.10.1",
197
+ "@honeybadger-io/react": "6.1.25",
195
198
  "@rails/activestorage": "7.0.8-3",
196
- "@tanstack/react-query": "5.40.0",
197
- "antd": "5.16.0",
198
- "axios": "1.7.4",
199
+ "@tailwindcss/container-queries": "^0.1.1",
200
+ "@tanstack/react-query": "5.59.20",
201
+ "antd": "5.22.0",
202
+ "axios": "1.7.7",
199
203
  "buffer": "^6.0.3",
200
- "classnames": "2.3.1",
201
- "crypto-browserify": "^3.12.0",
204
+ "classnames": "2.5.1",
205
+ "crypto-browserify": "3.12.1",
202
206
  "dompurify": "^2.4.0",
203
- "formik": "2.2.9",
207
+ "formik": "2.4.6",
204
208
  "https-browserify": "1.0.0",
205
209
  "i18next": "22.5.1",
206
210
  "js-logger": "1.6.1",
@@ -211,7 +215,7 @@
211
215
  "ramda": "0.29.0",
212
216
  "react": "18.2.0",
213
217
  "react-dom": "18.2.0",
214
- "react-dropzone": "14.2.3",
218
+ "react-dropzone": "14.3.5",
215
219
  "react-helmet": "^6.1.0",
216
220
  "react-i18next": "12.3.1",
217
221
  "react-query": "3.39.3",
@@ -220,7 +224,7 @@
220
224
  "source-map-loader": "4.0.1",
221
225
  "stream-browserify": "^3.0.0",
222
226
  "stream-http": "3.2.0",
223
- "tailwindcss": "^3.4.1",
227
+ "tailwindcss": "3.4.14",
224
228
  "tty-browserify": "0.0.1",
225
229
  "url": "^0.11.0",
226
230
  "util": "^0.12.5",
package/types.d.ts CHANGED
@@ -22,6 +22,7 @@ interface ImageUploaderProps {
22
22
  };
23
23
  };
24
24
  fixedAspectRatio?: { width: number; height: number };
25
+ defaultImageSize?: { height: number; width: number };
25
26
  }
26
27
 
27
28
  interface BasicImageUploaderProps {
@@ -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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"}