assui 3.2.50 → 3.2.51

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.
@@ -0,0 +1,16 @@
1
+ <svg width="40" height="40" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <g clip-path="url(#clip0_23648_109766)">
3
+ <path d="M35.2197 36.2002C35.2197 36.7002 35.0195 37.1802 34.6597 37.54C34.2993 37.8999 33.8198 38.1001 33.3193 38.1001H6.65967C6.15967 38.1001 5.65967 37.8999 5.31982 37.54C4.95996 37.1797 4.75977 36.7002 4.75977 36.2002V1.8999C4.75977 1.3999 4.95947 0.899902 5.31982 0.560059C5.65967 0.200195 6.16016 0 6.65967 0H23.02C23.52 0 24.02 0.200195 24.3799 0.560059L34.6797 10.8604C35.0396 11.2202 35.2397 11.7002 35.2397 12.2202V36.2002H35.2197Z" fill="#EBECF0"/>
4
+ <path d="M35.2197 36.2002V38.1001C35.2197 38.6001 35.0195 39.1001 34.6597 39.4399C34.2993 39.8003 33.8198 40 33.3193 40H6.65967C5.59961 40 4.75977 39.1401 4.75977 38.1001V36.2002C4.75977 36.7002 4.95947 37.1802 5.31982 37.54C5.67969 37.8999 6.15967 38.1001 6.65967 38.1001H33.3198C34.3799 38.1001 35.2197 37.2402 35.2197 36.2002Z" fill="#C1C7D0"/>
5
+ <path d="M4.75928 20.96V17.1396L0.939453 20.96H4.75928ZM35.2192 20.96L35.2593 17.1396L39.0591 20.96H35.2192Z" fill="#D30000"/>
6
+ <path d="M35.2197 12.2202V12.48H24.9194C23.8594 12.48 23.0195 11.6201 23.0195 10.5801V0C23.5195 0 24.0195 0.200195 24.3794 0.560059L34.6997 10.8604C35.0395 11.2202 35.2397 11.7002 35.2197 12.2202Z" fill="#C1C7D0"/>
7
+ <path d="M19.645 23.8716H18.0781V29.457H19.6172C21.3652 29.457 22.3101 28.4722 22.3101 26.5723C22.3101 24.9189 21.4458 23.8936 19.645 23.8716ZM10.7397 23.8745H8.49805V26.248H10.7397C11.6582 26.248 12.2388 25.9331 12.2388 25.0454C12.2388 24.3218 11.7939 23.8745 10.7397 23.8745Z" fill="#FF1D1D"/>
8
+ <path d="M0.960938 20.96V30.46C0.960938 30.98 1.16064 31.46 1.521 31.8198C1.86084 32.1802 2.36084 32.3799 2.86084 32.3799H37.1411C38.1812 32.3799 39.041 31.54 39.041 30.48V20.96H0.960938ZM10.9092 27.9316H8.49951V31.1377H6.31982V22.2021H10.9434C13.021 22.2021 14.4023 23.2524 14.4023 25.0107C14.4023 26.769 13.1011 27.9316 10.9092 27.9316ZM19.9043 31.1377H15.9111V22.2021H19.9502C22.9609 22.2021 24.6084 24.1562 24.6084 26.5137C24.6084 29.374 22.5049 31.1377 19.9043 31.1377ZM33.7456 23.9272H28.5605V25.9595H33.397V27.6973H28.5605V31.1372H26.3921V22.2017H33.7456V23.9268V23.9272Z" fill="#FF1D1D"/>
9
+ <path d="M10.9414 22.2021H6.31836V31.1377H8.49805V27.9316H10.9077C13.0996 27.9316 14.4009 26.8379 14.4009 25.0107C14.4009 23.1836 13.0195 22.2021 10.9419 22.2021H10.9414ZM10.7393 26.248H8.49756V23.8745H10.7393C11.7935 23.8745 12.2383 24.3218 12.2383 25.0454C12.2383 25.9326 11.6572 26.248 10.7393 26.248ZM19.9487 22.2021H15.9097V31.1377H19.9028C22.5034 31.1377 24.6069 29.374 24.6069 26.5137C24.6069 24.1562 22.96 22.2021 19.9487 22.2021ZM19.6167 29.457H18.0776V23.8716H19.6445C21.4448 23.894 22.3096 24.9194 22.3096 26.5723C22.3096 28.4722 21.3647 29.457 19.6167 29.457ZM26.3906 31.1377H28.5591V27.6978H33.3955V25.96H28.5591V23.9277H33.7441V22.2021H26.3906V31.1377Z" fill="white"/>
10
+ </g>
11
+ <defs>
12
+ <clipPath id="clip0_23648_109766">
13
+ <rect width="40" height="40" fill="white"/>
14
+ </clipPath>
15
+ </defs>
16
+ </svg>
@@ -176,11 +176,14 @@ import classNames from 'classnames';
176
176
  import CloseOutlined from "a-icons/es/CloseOutlined";
177
177
  import isObject from 'lodash/isObject';
178
178
  import isFunction from 'lodash/isFunction';
179
+ import { ReactComponent as PDFSVG } from './assets/pdf.svg';
179
180
  var getLocalImgURL = function getLocalImgURL(file) {
180
181
  var URL = window.URL || window.webkitURL;
181
182
  var imgURL = URL.createObjectURL(file);
182
183
  return imgURL;
183
184
  };
185
+ var IMAGE_TYPE = 'image';
186
+ var PDF_TYPE = 'pdf';
184
187
  var initBeforeUpload = function initBeforeUpload() {
185
188
  return true;
186
189
  };
@@ -213,24 +216,39 @@ var SingleImgUpload = function SingleImgUpload(props) {
213
216
  var _e = __read(React.useState(false), 2),
214
217
  imageLoading = _e[0],
215
218
  setImageLoading = _e[1];
219
+ var _f = __read(React.useState(IMAGE_TYPE), 2),
220
+ fileType = _f[0],
221
+ setFileType = _f[1];
216
222
  React.useEffect(function () {
223
+ if (!value) {
224
+ setUploadStatus('init');
225
+ setFileUrl('');
226
+ return;
227
+ }
228
+ setUploadStatus('done');
217
229
  setFileUrl(value);
218
- if (value) {
230
+ var isPdf = /\.pdf($|\?)/i.test(value);
231
+ var isImage = /\.(jpg|jpeg|png|gif|webp|bmp|svg|heic)($|\?)/i.test(value);
232
+ if (isImage) {
233
+ setFileType(IMAGE_TYPE);
219
234
  setImageLoading(true);
220
- setUploadStatus('done');
221
235
  // eslint-disable-next-line global-require
222
236
  var heic2Jpeg = require('aa-utils/lib/heic2Jpeg')["default"];
223
237
  if (isFunction(heic2Jpeg)) {
224
238
  heic2Jpeg(value).then(function (resultUrl) {
225
239
  setFileUrl(resultUrl);
226
240
  setImageLoading(false);
241
+ })["catch"](function () {
242
+ return setImageLoading(false);
227
243
  });
228
244
  } else {
229
- setFileUrl(value);
230
245
  setImageLoading(false);
231
246
  }
232
- } else {
233
- setUploadStatus('init');
247
+ return;
248
+ }
249
+ if (isPdf) {
250
+ setFileType(PDF_TYPE);
251
+ setImageLoading(false);
234
252
  }
235
253
  }, [value]);
236
254
  var onBeforeUpload = function onBeforeUpload() {
@@ -261,6 +279,8 @@ var SingleImgUpload = function SingleImgUpload(props) {
261
279
  var handleStart = function handleStart(file) {
262
280
  fileRef.current = file;
263
281
  setUploadPercent(0);
282
+ var isImage = file.type.startsWith('image/');
283
+ setFileType(isImage ? IMAGE_TYPE : PDF_TYPE);
264
284
  if (!fileUrl) {
265
285
  setFileUrl(getLocalImgURL(file));
266
286
  }
@@ -296,15 +316,26 @@ var SingleImgUpload = function SingleImgUpload(props) {
296
316
  onCancel === null || onCancel === void 0 ? void 0 : onCancel();
297
317
  };
298
318
  var cls = classNames('as-img-upload', wrapperClassName);
319
+ var getShowNode = function getShowNode() {
320
+ if (fileType === IMAGE_TYPE) {
321
+ return /*#__PURE__*/React.createElement(Image, {
322
+ wrapperClassName: "as-img-upload-preview",
323
+ src: fileUrl,
324
+ preview: true
325
+ });
326
+ }
327
+ return /*#__PURE__*/React.createElement("div", {
328
+ className: "as-img-upload-pdf-preview",
329
+ onClick: function onClick() {
330
+ return window.open(fileUrl || value, '_blank');
331
+ }
332
+ }, /*#__PURE__*/React.createElement(PDFSVG, null));
333
+ };
299
334
  return /*#__PURE__*/React.createElement("div", {
300
335
  className: cls
301
336
  }, uploadStatus === 'uploading' && /*#__PURE__*/React.createElement("div", {
302
337
  className: "as-img-upload-content"
303
- }, /*#__PURE__*/React.createElement(Image, {
304
- wrapperClassName: "as-img-upload-preview",
305
- src: fileUrl,
306
- preview: true
307
- }), /*#__PURE__*/React.createElement("div", {
338
+ }, getShowNode(), /*#__PURE__*/React.createElement("div", {
308
339
  className: "dark"
309
340
  }), /*#__PURE__*/React.createElement(Progress, {
310
341
  className: "as-img-upload-upload-progress",
@@ -318,11 +349,7 @@ var SingleImgUpload = function SingleImgUpload(props) {
318
349
  spinning: imageLoading
319
350
  }, /*#__PURE__*/React.createElement("div", {
320
351
  className: "as-img-upload-content"
321
- }, /*#__PURE__*/React.createElement(Image, {
322
- wrapperClassName: "as-img-upload-preview",
323
- src: fileUrl,
324
- preview: true
325
- }), !disabled && /*#__PURE__*/React.createElement("div", {
352
+ }, getShowNode(), !disabled && /*#__PURE__*/React.createElement("div", {
326
353
  className: "as-img-upload-close-button",
327
354
  onClick: handleDeleteUpload
328
355
  }, /*#__PURE__*/React.createElement(CloseOutlined, null)))), /*#__PURE__*/React.createElement(Upload, __assign({
@@ -1267,6 +1267,14 @@ html {
1267
1267
  overflow: hidden;
1268
1268
  background-color: #fff;
1269
1269
  }
1270
+ .as-img-upload .as-img-upload-pdf-preview {
1271
+ width: 100%;
1272
+ height: 100%;
1273
+ display: flex;
1274
+ align-items: center;
1275
+ justify-content: center;
1276
+ cursor: pointer;
1277
+ }
1270
1278
  .as-img-upload-close-button {
1271
1279
  position: absolute;
1272
1280
  top: 0;
@@ -41,6 +41,15 @@
41
41
  background-color: @white;
42
42
  }
43
43
 
44
+ .as-img-upload-pdf-preview {
45
+ width: 100%;
46
+ height: 100%;
47
+ display: flex;
48
+ align-items: center;
49
+ justify-content: center;
50
+ cursor: pointer;
51
+ }
52
+
44
53
  &-close-button {
45
54
  position: absolute;
46
55
  top: 0;
@@ -99,3 +108,5 @@
99
108
  background-color: @color_f5f5f5;
100
109
  cursor: not-allowed;
101
110
  }
111
+
112
+
@@ -0,0 +1,16 @@
1
+ <svg width="40" height="40" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <g clip-path="url(#clip0_23648_109766)">
3
+ <path d="M35.2197 36.2002C35.2197 36.7002 35.0195 37.1802 34.6597 37.54C34.2993 37.8999 33.8198 38.1001 33.3193 38.1001H6.65967C6.15967 38.1001 5.65967 37.8999 5.31982 37.54C4.95996 37.1797 4.75977 36.7002 4.75977 36.2002V1.8999C4.75977 1.3999 4.95947 0.899902 5.31982 0.560059C5.65967 0.200195 6.16016 0 6.65967 0H23.02C23.52 0 24.02 0.200195 24.3799 0.560059L34.6797 10.8604C35.0396 11.2202 35.2397 11.7002 35.2397 12.2202V36.2002H35.2197Z" fill="#EBECF0"/>
4
+ <path d="M35.2197 36.2002V38.1001C35.2197 38.6001 35.0195 39.1001 34.6597 39.4399C34.2993 39.8003 33.8198 40 33.3193 40H6.65967C5.59961 40 4.75977 39.1401 4.75977 38.1001V36.2002C4.75977 36.7002 4.95947 37.1802 5.31982 37.54C5.67969 37.8999 6.15967 38.1001 6.65967 38.1001H33.3198C34.3799 38.1001 35.2197 37.2402 35.2197 36.2002Z" fill="#C1C7D0"/>
5
+ <path d="M4.75928 20.96V17.1396L0.939453 20.96H4.75928ZM35.2192 20.96L35.2593 17.1396L39.0591 20.96H35.2192Z" fill="#D30000"/>
6
+ <path d="M35.2197 12.2202V12.48H24.9194C23.8594 12.48 23.0195 11.6201 23.0195 10.5801V0C23.5195 0 24.0195 0.200195 24.3794 0.560059L34.6997 10.8604C35.0395 11.2202 35.2397 11.7002 35.2197 12.2202Z" fill="#C1C7D0"/>
7
+ <path d="M19.645 23.8716H18.0781V29.457H19.6172C21.3652 29.457 22.3101 28.4722 22.3101 26.5723C22.3101 24.9189 21.4458 23.8936 19.645 23.8716ZM10.7397 23.8745H8.49805V26.248H10.7397C11.6582 26.248 12.2388 25.9331 12.2388 25.0454C12.2388 24.3218 11.7939 23.8745 10.7397 23.8745Z" fill="#FF1D1D"/>
8
+ <path d="M0.960938 20.96V30.46C0.960938 30.98 1.16064 31.46 1.521 31.8198C1.86084 32.1802 2.36084 32.3799 2.86084 32.3799H37.1411C38.1812 32.3799 39.041 31.54 39.041 30.48V20.96H0.960938ZM10.9092 27.9316H8.49951V31.1377H6.31982V22.2021H10.9434C13.021 22.2021 14.4023 23.2524 14.4023 25.0107C14.4023 26.769 13.1011 27.9316 10.9092 27.9316ZM19.9043 31.1377H15.9111V22.2021H19.9502C22.9609 22.2021 24.6084 24.1562 24.6084 26.5137C24.6084 29.374 22.5049 31.1377 19.9043 31.1377ZM33.7456 23.9272H28.5605V25.9595H33.397V27.6973H28.5605V31.1372H26.3921V22.2017H33.7456V23.9268V23.9272Z" fill="#FF1D1D"/>
9
+ <path d="M10.9414 22.2021H6.31836V31.1377H8.49805V27.9316H10.9077C13.0996 27.9316 14.4009 26.8379 14.4009 25.0107C14.4009 23.1836 13.0195 22.2021 10.9419 22.2021H10.9414ZM10.7393 26.248H8.49756V23.8745H10.7393C11.7935 23.8745 12.2383 24.3218 12.2383 25.0454C12.2383 25.9326 11.6572 26.248 10.7393 26.248ZM19.9487 22.2021H15.9097V31.1377H19.9028C22.5034 31.1377 24.6069 29.374 24.6069 26.5137C24.6069 24.1562 22.96 22.2021 19.9487 22.2021ZM19.6167 29.457H18.0776V23.8716H19.6445C21.4448 23.894 22.3096 24.9194 22.3096 26.5723C22.3096 28.4722 21.3647 29.457 19.6167 29.457ZM26.3906 31.1377H28.5591V27.6978H33.3955V25.96H28.5591V23.9277H33.7441V22.2021H26.3906V31.1377Z" fill="white"/>
10
+ </g>
11
+ <defs>
12
+ <clipPath id="clip0_23648_109766">
13
+ <rect width="40" height="40" fill="white"/>
14
+ </clipPath>
15
+ </defs>
16
+ </svg>
@@ -219,11 +219,14 @@ var classnames_1 = __importDefault(require("classnames"));
219
219
  var CloseOutlined_1 = __importDefault(require("a-icons/lib/CloseOutlined"));
220
220
  var isObject_1 = __importDefault(require("lodash/isObject"));
221
221
  var isFunction_1 = __importDefault(require("lodash/isFunction"));
222
+ var pdf_svg_1 = require("./assets/pdf.svg");
222
223
  var getLocalImgURL = function getLocalImgURL(file) {
223
224
  var URL = window.URL || window.webkitURL;
224
225
  var imgURL = URL.createObjectURL(file);
225
226
  return imgURL;
226
227
  };
228
+ var IMAGE_TYPE = 'image';
229
+ var PDF_TYPE = 'pdf';
227
230
  var initBeforeUpload = function initBeforeUpload() {
228
231
  return true;
229
232
  };
@@ -256,24 +259,39 @@ var SingleImgUpload = function SingleImgUpload(props) {
256
259
  var _e = __read(React.useState(false), 2),
257
260
  imageLoading = _e[0],
258
261
  setImageLoading = _e[1];
262
+ var _f = __read(React.useState(IMAGE_TYPE), 2),
263
+ fileType = _f[0],
264
+ setFileType = _f[1];
259
265
  React.useEffect(function () {
266
+ if (!value) {
267
+ setUploadStatus('init');
268
+ setFileUrl('');
269
+ return;
270
+ }
271
+ setUploadStatus('done');
260
272
  setFileUrl(value);
261
- if (value) {
273
+ var isPdf = /\.pdf($|\?)/i.test(value);
274
+ var isImage = /\.(jpg|jpeg|png|gif|webp|bmp|svg|heic)($|\?)/i.test(value);
275
+ if (isImage) {
276
+ setFileType(IMAGE_TYPE);
262
277
  setImageLoading(true);
263
- setUploadStatus('done');
264
278
  // eslint-disable-next-line global-require
265
279
  var heic2Jpeg = require('aa-utils/lib/heic2Jpeg')["default"];
266
280
  if ((0, isFunction_1["default"])(heic2Jpeg)) {
267
281
  heic2Jpeg(value).then(function (resultUrl) {
268
282
  setFileUrl(resultUrl);
269
283
  setImageLoading(false);
284
+ })["catch"](function () {
285
+ return setImageLoading(false);
270
286
  });
271
287
  } else {
272
- setFileUrl(value);
273
288
  setImageLoading(false);
274
289
  }
275
- } else {
276
- setUploadStatus('init');
290
+ return;
291
+ }
292
+ if (isPdf) {
293
+ setFileType(PDF_TYPE);
294
+ setImageLoading(false);
277
295
  }
278
296
  }, [value]);
279
297
  var onBeforeUpload = function onBeforeUpload() {
@@ -304,6 +322,8 @@ var SingleImgUpload = function SingleImgUpload(props) {
304
322
  var handleStart = function handleStart(file) {
305
323
  fileRef.current = file;
306
324
  setUploadPercent(0);
325
+ var isImage = file.type.startsWith('image/');
326
+ setFileType(isImage ? IMAGE_TYPE : PDF_TYPE);
307
327
  if (!fileUrl) {
308
328
  setFileUrl(getLocalImgURL(file));
309
329
  }
@@ -339,15 +359,26 @@ var SingleImgUpload = function SingleImgUpload(props) {
339
359
  onCancel === null || onCancel === void 0 ? void 0 : onCancel();
340
360
  };
341
361
  var cls = (0, classnames_1["default"])('as-img-upload', wrapperClassName);
362
+ var getShowNode = function getShowNode() {
363
+ if (fileType === IMAGE_TYPE) {
364
+ return React.createElement(image_1["default"], {
365
+ wrapperClassName: "as-img-upload-preview",
366
+ src: fileUrl,
367
+ preview: true
368
+ });
369
+ }
370
+ return React.createElement("div", {
371
+ className: "as-img-upload-pdf-preview",
372
+ onClick: function onClick() {
373
+ return window.open(fileUrl || value, '_blank');
374
+ }
375
+ }, React.createElement(pdf_svg_1.ReactComponent, null));
376
+ };
342
377
  return React.createElement("div", {
343
378
  className: cls
344
379
  }, uploadStatus === 'uploading' && React.createElement("div", {
345
380
  className: "as-img-upload-content"
346
- }, React.createElement(image_1["default"], {
347
- wrapperClassName: "as-img-upload-preview",
348
- src: fileUrl,
349
- preview: true
350
- }), React.createElement("div", {
381
+ }, getShowNode(), React.createElement("div", {
351
382
  className: "dark"
352
383
  }), React.createElement(progress_1["default"], {
353
384
  className: "as-img-upload-upload-progress",
@@ -361,11 +392,7 @@ var SingleImgUpload = function SingleImgUpload(props) {
361
392
  spinning: imageLoading
362
393
  }, React.createElement("div", {
363
394
  className: "as-img-upload-content"
364
- }, React.createElement(image_1["default"], {
365
- wrapperClassName: "as-img-upload-preview",
366
- src: fileUrl,
367
- preview: true
368
- }), !disabled && React.createElement("div", {
395
+ }, getShowNode(), !disabled && React.createElement("div", {
369
396
  className: "as-img-upload-close-button",
370
397
  onClick: handleDeleteUpload
371
398
  }, React.createElement(CloseOutlined_1["default"], null)))), React.createElement(rc_upload_1["default"], __assign({
@@ -1267,6 +1267,14 @@ html {
1267
1267
  overflow: hidden;
1268
1268
  background-color: #fff;
1269
1269
  }
1270
+ .as-img-upload .as-img-upload-pdf-preview {
1271
+ width: 100%;
1272
+ height: 100%;
1273
+ display: flex;
1274
+ align-items: center;
1275
+ justify-content: center;
1276
+ cursor: pointer;
1277
+ }
1270
1278
  .as-img-upload-close-button {
1271
1279
  position: absolute;
1272
1280
  top: 0;
@@ -41,6 +41,15 @@
41
41
  background-color: @white;
42
42
  }
43
43
 
44
+ .as-img-upload-pdf-preview {
45
+ width: 100%;
46
+ height: 100%;
47
+ display: flex;
48
+ align-items: center;
49
+ justify-content: center;
50
+ cursor: pointer;
51
+ }
52
+
44
53
  &-close-button {
45
54
  position: absolute;
46
55
  top: 0;
@@ -99,3 +108,5 @@
99
108
  background-color: @color_f5f5f5;
100
109
  cursor: not-allowed;
101
110
  }
111
+
112
+
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "assui",
3
- "version": "3.2.50",
3
+ "version": "3.2.51",
4
4
  "description": "react ui library",
5
5
  "author": "jason <usochen@gmail.com>",
6
6
  "main": "./lib/index.js",
@@ -85,5 +85,5 @@
85
85
  "node": ">=10.0.0"
86
86
  },
87
87
  "license": "MIT",
88
- "gitHead": "609d8820345d899b9aa00083237474206caa8131"
88
+ "gitHead": "c5356ff3f41afb677759c42814d1f7a202c61174"
89
89
  }