antd-img-crop 4.17.0 → 4.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -178,44 +178,52 @@ const ImgCrop = react.forwardRef((props, cropperRef) => {
178
178
  const [modalImage, setModalImage] = react.useState('');
179
179
  const onCancel = react.useRef();
180
180
  const onOk = react.useRef();
181
- const runRawBeforeUpload = react.useCallback((beforeUpload, file, pass, fail) => tslib.__awaiter(void 0, void 0, void 0, function* () {
181
+ const runBeforeUpload = react.useCallback(({ beforeUpload, file, resolve, reject, }) => tslib.__awaiter(void 0, void 0, void 0, function* () {
182
182
  const rawFile = file;
183
183
  if (typeof beforeUpload !== 'function') {
184
- pass(rawFile);
184
+ resolve(rawFile);
185
185
  return;
186
186
  }
187
187
  try {
188
188
  // https://ant.design/components/upload-cn#api
189
189
  // https://github.com/ant-design/ant-design/blob/master/components/upload/Upload.tsx#L152-L178
190
190
  const result = yield beforeUpload(file, [file]);
191
- pass(result !== true ? result : rawFile);
191
+ if (result === false) {
192
+ reject(file);
193
+ return;
194
+ }
195
+ resolve((result !== true && result) || rawFile);
192
196
  }
193
197
  catch (err) {
194
- fail(err);
198
+ reject(err);
195
199
  }
196
200
  }), []);
197
201
  const getNewBeforeUpload = react.useCallback((beforeUpload) => {
198
202
  return ((file, fileList) => {
199
203
  return new Promise((resolve, reject) => tslib.__awaiter(void 0, void 0, void 0, function* () {
204
+ let processedFile = file;
200
205
  if (typeof cb.current.beforeCrop === 'function') {
201
206
  try {
202
207
  const result = yield cb.current.beforeCrop(file, fileList);
203
208
  if (result === false) {
204
- return runRawBeforeUpload(beforeUpload, file, resolve, reject);
209
+ return runBeforeUpload({ beforeUpload, file, resolve, reject });
210
+ }
211
+ if (result !== true) {
212
+ processedFile = result || file;
205
213
  }
206
214
  }
207
215
  catch (err) {
208
- return runRawBeforeUpload(beforeUpload, file, resolve, reject);
216
+ return runBeforeUpload({ beforeUpload, file, resolve, reject });
209
217
  }
210
218
  }
211
- // get file result
219
+ // read file
212
220
  const reader = new FileReader();
213
221
  reader.addEventListener('load', () => {
214
222
  if (typeof reader.result === 'string') {
215
223
  setModalImage(reader.result); // open modal
216
224
  }
217
225
  });
218
- reader.readAsDataURL(file);
226
+ reader.readAsDataURL(processedFile);
219
227
  // on modal cancel
220
228
  onCancel.current = () => {
221
229
  var _a, _b;
@@ -229,24 +237,29 @@ const ImgCrop = react.forwardRef((props, cropperRef) => {
229
237
  setModalImage('');
230
238
  easyCropRef.current.onReset();
231
239
  const canvas = getCropCanvas(event.target);
232
- const { type, name, uid } = file;
240
+ const { type, name, uid } = processedFile;
233
241
  canvas.toBlob((blob) => tslib.__awaiter(void 0, void 0, void 0, function* () {
234
242
  const newFile = new File([blob], name, { type });
235
243
  Object.assign(newFile, { uid });
236
- runRawBeforeUpload(beforeUpload, newFile, (parsedFile) => {
237
- var _a, _b;
238
- resolve(parsedFile);
239
- (_b = (_a = cb.current).onModalOk) === null || _b === void 0 ? void 0 : _b.call(_a, parsedFile);
240
- }, (rejectErr) => {
241
- var _a, _b;
242
- reject(rejectErr);
243
- (_b = (_a = cb.current).onModalOk) === null || _b === void 0 ? void 0 : _b.call(_a, rejectErr);
244
+ runBeforeUpload({
245
+ beforeUpload,
246
+ file: newFile,
247
+ resolve: (file) => {
248
+ var _a, _b;
249
+ resolve(file);
250
+ (_b = (_a = cb.current).onModalOk) === null || _b === void 0 ? void 0 : _b.call(_a, file);
251
+ },
252
+ reject: (err) => {
253
+ var _a, _b;
254
+ reject(err);
255
+ (_b = (_a = cb.current).onModalOk) === null || _b === void 0 ? void 0 : _b.call(_a, err);
256
+ },
244
257
  });
245
258
  }), type, quality);
246
259
  });
247
260
  }));
248
261
  });
249
- }, [getCropCanvas, quality, runRawBeforeUpload]);
262
+ }, [getCropCanvas, quality, runBeforeUpload]);
250
263
  const getNewUpload = react.useCallback((children) => {
251
264
  const upload = Array.isArray(children) ? children[0] : children;
252
265
  const _a = upload.props, { beforeUpload, accept } = _a, restUploadProps = tslib.__rest(_a, ["beforeUpload", "accept"]);
@@ -176,44 +176,52 @@ const ImgCrop = forwardRef((props, cropperRef) => {
176
176
  const [modalImage, setModalImage] = useState('');
177
177
  const onCancel = useRef();
178
178
  const onOk = useRef();
179
- const runRawBeforeUpload = useCallback((beforeUpload, file, pass, fail) => __awaiter(void 0, void 0, void 0, function* () {
179
+ const runBeforeUpload = useCallback(({ beforeUpload, file, resolve, reject, }) => __awaiter(void 0, void 0, void 0, function* () {
180
180
  const rawFile = file;
181
181
  if (typeof beforeUpload !== 'function') {
182
- pass(rawFile);
182
+ resolve(rawFile);
183
183
  return;
184
184
  }
185
185
  try {
186
186
  // https://ant.design/components/upload-cn#api
187
187
  // https://github.com/ant-design/ant-design/blob/master/components/upload/Upload.tsx#L152-L178
188
188
  const result = yield beforeUpload(file, [file]);
189
- pass(result !== true ? result : rawFile);
189
+ if (result === false) {
190
+ reject(file);
191
+ return;
192
+ }
193
+ resolve((result !== true && result) || rawFile);
190
194
  }
191
195
  catch (err) {
192
- fail(err);
196
+ reject(err);
193
197
  }
194
198
  }), []);
195
199
  const getNewBeforeUpload = useCallback((beforeUpload) => {
196
200
  return ((file, fileList) => {
197
201
  return new Promise((resolve, reject) => __awaiter(void 0, void 0, void 0, function* () {
202
+ let processedFile = file;
198
203
  if (typeof cb.current.beforeCrop === 'function') {
199
204
  try {
200
205
  const result = yield cb.current.beforeCrop(file, fileList);
201
206
  if (result === false) {
202
- return runRawBeforeUpload(beforeUpload, file, resolve, reject);
207
+ return runBeforeUpload({ beforeUpload, file, resolve, reject });
208
+ }
209
+ if (result !== true) {
210
+ processedFile = result || file;
203
211
  }
204
212
  }
205
213
  catch (err) {
206
- return runRawBeforeUpload(beforeUpload, file, resolve, reject);
214
+ return runBeforeUpload({ beforeUpload, file, resolve, reject });
207
215
  }
208
216
  }
209
- // get file result
217
+ // read file
210
218
  const reader = new FileReader();
211
219
  reader.addEventListener('load', () => {
212
220
  if (typeof reader.result === 'string') {
213
221
  setModalImage(reader.result); // open modal
214
222
  }
215
223
  });
216
- reader.readAsDataURL(file);
224
+ reader.readAsDataURL(processedFile);
217
225
  // on modal cancel
218
226
  onCancel.current = () => {
219
227
  var _a, _b;
@@ -227,24 +235,29 @@ const ImgCrop = forwardRef((props, cropperRef) => {
227
235
  setModalImage('');
228
236
  easyCropRef.current.onReset();
229
237
  const canvas = getCropCanvas(event.target);
230
- const { type, name, uid } = file;
238
+ const { type, name, uid } = processedFile;
231
239
  canvas.toBlob((blob) => __awaiter(void 0, void 0, void 0, function* () {
232
240
  const newFile = new File([blob], name, { type });
233
241
  Object.assign(newFile, { uid });
234
- runRawBeforeUpload(beforeUpload, newFile, (parsedFile) => {
235
- var _a, _b;
236
- resolve(parsedFile);
237
- (_b = (_a = cb.current).onModalOk) === null || _b === void 0 ? void 0 : _b.call(_a, parsedFile);
238
- }, (rejectErr) => {
239
- var _a, _b;
240
- reject(rejectErr);
241
- (_b = (_a = cb.current).onModalOk) === null || _b === void 0 ? void 0 : _b.call(_a, rejectErr);
242
+ runBeforeUpload({
243
+ beforeUpload,
244
+ file: newFile,
245
+ resolve: (file) => {
246
+ var _a, _b;
247
+ resolve(file);
248
+ (_b = (_a = cb.current).onModalOk) === null || _b === void 0 ? void 0 : _b.call(_a, file);
249
+ },
250
+ reject: (err) => {
251
+ var _a, _b;
252
+ reject(err);
253
+ (_b = (_a = cb.current).onModalOk) === null || _b === void 0 ? void 0 : _b.call(_a, err);
254
+ },
242
255
  });
243
256
  }), type, quality);
244
257
  });
245
258
  }));
246
259
  });
247
- }, [getCropCanvas, quality, runRawBeforeUpload]);
260
+ }, [getCropCanvas, quality, runBeforeUpload]);
248
261
  const getNewUpload = useCallback((children) => {
249
262
  const upload = Array.isArray(children) ? children[0] : children;
250
263
  const _a = upload.props, { beforeUpload, accept } = _a, restUploadProps = __rest(_a, ["beforeUpload", "accept"]);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "antd-img-crop",
3
- "version": "4.17.0",
3
+ "version": "4.19.0",
4
4
  "description": "An image cropper for Ant Design Upload",
5
5
  "keywords": [
6
6
  "react",
@@ -32,32 +32,32 @@
32
32
  },
33
33
  "dependencies": {
34
34
  "compare-versions": "6.1.0",
35
- "react-easy-crop": "^5.0.2",
35
+ "react-easy-crop": "^5.0.4",
36
36
  "tslib": "^2.6.2"
37
37
  },
38
38
  "devDependencies": {
39
39
  "@rollup/plugin-replace": "^5.0.5",
40
40
  "@rollup/plugin-typescript": "^11.1.5",
41
- "@types/node": "^20.9.0",
42
- "@types/react": "^18.2.37",
43
- "@types/react-dom": "^18.2.15",
44
- "@vitejs/plugin-react": "^4.1.1",
45
- "antd": "^5.11.0",
41
+ "@types/node": "^20.10.5",
42
+ "@types/react": "^18.2.46",
43
+ "@types/react-dom": "^18.2.18",
44
+ "@vitejs/plugin-react": "^4.2.1",
45
+ "antd": "^5.12.5",
46
46
  "autoprefixer": "^10.4.16",
47
- "eslint": "^8.53.0",
48
- "eslint-config-prettier": "^9.0.0",
47
+ "eslint": "^8.56.0",
48
+ "eslint-config-prettier": "^9.1.0",
49
49
  "eslint-config-react-app": "^7.0.1",
50
- "postcss": "^8.4.31",
51
- "prettier": "^3.0.3",
52
- "prettier-plugin-organize-imports": "^3.2.3",
53
- "prettier-plugin-tailwindcss": "^0.5.7",
50
+ "postcss": "^8.4.32",
51
+ "prettier": "^3.1.1",
52
+ "prettier-plugin-organize-imports": "^3.2.4",
53
+ "prettier-plugin-tailwindcss": "^0.5.10",
54
54
  "react": "^18.2.0",
55
55
  "react-dom": "^18.2.0",
56
- "rollup": "4.3.0",
56
+ "rollup": "4.9.1",
57
57
  "rollup-plugin-dts": "^6.1.0",
58
58
  "rollup-plugin-postcss": "^4.0.2",
59
- "tailwindcss": "^3.3.5",
60
- "typescript": "^5.2.2",
61
- "vite": "^4.5.0"
59
+ "tailwindcss": "^3.4.0",
60
+ "typescript": "^5.3.3",
61
+ "vite": "^5.0.10"
62
62
  }
63
63
  }