@nutui/nutui-react-taro 2.0.19-beta.0 → 2.0.20-beta.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.
Files changed (75) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/dist/esm/ActionSheet.js +2 -2
  3. package/dist/esm/Address.js +3 -3
  4. package/dist/esm/Avatar.js +3 -2
  5. package/dist/esm/Calendar.js +2 -2
  6. package/dist/esm/Cascader.js +2 -2
  7. package/dist/esm/DatePicker.js +3 -3
  8. package/dist/esm/Form.js +21 -45
  9. package/dist/esm/Grid.js +3 -2
  10. package/dist/esm/GridItem.js +2 -1
  11. package/dist/esm/Image.js +3 -1
  12. package/dist/esm/ImagePreview.js +4 -2
  13. package/dist/esm/Menu.js +2 -2
  14. package/dist/esm/MenuItem.js +1 -1
  15. package/dist/esm/NumberKeyboard.js +2 -2
  16. package/dist/esm/Picker.js +2 -2
  17. package/dist/esm/Popover.js +2 -2
  18. package/dist/esm/Popup.js +1 -1
  19. package/dist/esm/ShortPassword.js +2 -2
  20. package/dist/esm/SideNavBar.js +2 -2
  21. package/dist/esm/Skeleton.js +4 -3
  22. package/dist/esm/Swiper.js +14 -7
  23. package/dist/esm/TimeSelect.js +2 -2
  24. package/dist/esm/Tour.js +3 -3
  25. package/dist/esm/Uploader.js +5 -3
  26. package/dist/esm/{actionsheet.taro-374745a3.js → actionsheet.taro-4ce9962a.js} +1 -1
  27. package/dist/esm/{address.taro-7b3ad807.js → address.taro-33910001.js} +2 -2
  28. package/dist/esm/{avatar.taro-0e574535.js → avatar.taro-1743c7c3.js} +1 -1
  29. package/dist/esm/{calendar.taro-2c342d6b.js → calendar.taro-45a9c705.js} +1 -1
  30. package/dist/esm/{cascader.taro-6ee25349.js → cascader.taro-505e8467.js} +1 -1
  31. package/dist/esm/{datepicker.taro-de668a19.js → datepicker.taro-725e96f0.js} +1 -1
  32. package/dist/esm/{grid.taro-f72acab8.js → grid.taro-13674639.js} +2 -1
  33. package/dist/esm/{griditem.taro-b7abc653.js → griditem.taro-9e1c493c.js} +2 -5
  34. package/dist/esm/{image.taro-a7ad2272.js → image.taro-fa4a92a1.js} +6 -5
  35. package/dist/esm/{imagepreview.taro-78c0a7b8.js → imagepreview.taro-fcd29363.js} +4 -3
  36. package/dist/esm/{menu.taro-f419b9ef.js → menu.taro-cf8d7d5b.js} +1 -1
  37. package/dist/esm/{menuitem.taro-d598a86e.js → menuitem.taro-b73e5ed3.js} +2 -0
  38. package/dist/esm/{numberkeyboard.taro-bd6a9439.js → numberkeyboard.taro-ec8f8435.js} +1 -1
  39. package/dist/esm/nutui-react.es.js +23 -22
  40. package/dist/esm/{picker.taro-e08d99a3.js → picker.taro-5f86e72b.js} +1 -1
  41. package/dist/esm/{popover.taro-6b946803.js → popover.taro-539d15e4.js} +1 -1
  42. package/dist/esm/{popup.taro-1636100a.js → popup.taro-3273aa87.js} +3 -1
  43. package/dist/esm/px-check-f83a9dc3.js +6 -0
  44. package/dist/esm/{shortpassword.taro-331d270c.js → shortpassword.taro-8e8c4102.js} +1 -1
  45. package/dist/esm/{sidenavbar.taro-39fb8ac6.js → sidenavbar.taro-97230c40.js} +1 -1
  46. package/dist/esm/{skeleton.taro-1f829d87.js → skeleton.taro-5a621338.js} +1 -1
  47. package/dist/esm/{timeselect.taro-e02f6bf9.js → timeselect.taro-892ca807.js} +1 -1
  48. package/dist/esm/{tour.taro-88cf1ba9.js → tour.taro-b38e06a5.js} +1 -1
  49. package/dist/esm/types/src/packages/uploader/demo.taro.d.ts +0 -15
  50. package/dist/esm/types/src/packages/uploader/file-item.d.ts +19 -0
  51. package/dist/esm/types/src/packages/uploader/index.d.ts +2 -1
  52. package/dist/esm/types/src/packages/uploader/index.taro.d.ts +2 -1
  53. package/dist/esm/types/src/packages/uploader/preview.d.ts +2 -0
  54. package/dist/esm/types/src/packages/uploader/preview.taro.d.ts +2 -0
  55. package/dist/esm/types/src/packages/uploader/upload.d.ts +3 -0
  56. package/dist/esm/types/src/packages/uploader/uploader.d.ts +5 -23
  57. package/dist/esm/types/src/packages/uploader/uploader.taro.d.ts +10 -26
  58. package/dist/esm/{uploader.taro-56b2ca0d.js → uploader.taro-da0414ba.js} +148 -134
  59. package/dist/locales/base.js +1 -1
  60. package/dist/locales/en-US.js +1 -1
  61. package/dist/locales/id-ID.js +1 -1
  62. package/dist/locales/tr-TR.js +1 -1
  63. package/dist/locales/zh-CN.js +1 -1
  64. package/dist/locales/zh-TW.js +1 -1
  65. package/dist/locales/zh-UG.js +1 -1
  66. package/dist/nutui.react.es.js +291 -273
  67. package/dist/nutui.react.umd.js +291 -273
  68. package/dist/style.mjs +1 -1
  69. package/dist/types/packages/calendar/calendar.taro.d.ts +4 -4
  70. package/dist/types/packages/uploader/file-item.d.ts +19 -0
  71. package/dist/types/packages/uploader/index.taro.d.ts +2 -1
  72. package/dist/types/packages/uploader/preview.taro.d.ts +2 -0
  73. package/dist/types/packages/uploader/upload.d.ts +3 -0
  74. package/dist/types/packages/uploader/uploader.taro.d.ts +10 -26
  75. package/package.json +1 -1
@@ -2,12 +2,12 @@ import { B } from "./button.taro-25f559e1.js";
2
2
  import { C } from "./cell.taro-010b73ed.js";
3
3
  import { C as C2 } from "./cellgroup.taro-9dc59f11.js";
4
4
  import { C as C3 } from "./configprovider.taro-c5ff4877.js";
5
- import { I } from "./image.taro-a7ad2272.js";
5
+ import { I } from "./image.taro-fa4a92a1.js";
6
6
  import { O } from "./overlay.taro-626840fc.js";
7
7
  import { C as C4 } from "./col.taro-23d5f6bd.js";
8
8
  import { D } from "./divider.taro-c61ab869.js";
9
- import { G } from "./grid.taro-f72acab8.js";
10
- import { G as G2 } from "./griditem.taro-b7abc653.js";
9
+ import { G } from "./grid.taro-13674639.js";
10
+ import { G as G2 } from "./griditem.taro-9e1c493c.js";
11
11
  import { L } from "./layout.taro-7711a89c.js";
12
12
  import { R } from "./row.taro-a71fbf76.js";
13
13
  import { S } from "./space.taro-a7e4ced4.js";
@@ -16,37 +16,37 @@ import { B as B2 } from "./backtop.taro-910bbef1.js";
16
16
  import { E } from "./elevator.taro-cdf3dba7.js";
17
17
  import { F } from "./fixednav.taro-0d998d65.js";
18
18
  import { N } from "./navbar.taro-23394f73.js";
19
- import { S as S3 } from "./sidenavbar.taro-39fb8ac6.js";
19
+ import { S as S3 } from "./sidenavbar.taro-97230c40.js";
20
20
  import { S as S4 } from "./sidenavbaritem.taro-69b0784d.js";
21
21
  import { S as S5 } from "./subsidenavbar.taro-797ce379.js";
22
22
  import { T } from "./tabbar.taro-2bcdca7c.js";
23
23
  import { T as T2 } from "./tabbaritem.taro-c7113661.js";
24
24
  import { T as T3 } from "./tabpane.taro-d0eea168.js";
25
25
  import { T as T4 } from "./tabs.taro-3ece2221.js";
26
- import { A } from "./address.taro-7b3ad807.js";
27
- import { C as C5 } from "./calendar.taro-2c342d6b.js";
26
+ import { A } from "./address.taro-33910001.js";
27
+ import { C as C5 } from "./calendar.taro-45a9c705.js";
28
28
  import { C as C6 } from "./calendaritem.taro-bc06f40f.js";
29
- import { C as C7 } from "./cascader.taro-6ee25349.js";
29
+ import { C as C7 } from "./cascader.taro-505e8467.js";
30
30
  import { C as C8, a } from "./checkbox.taro-22cd35c4.js";
31
- import { D as D2 } from "./datepicker.taro-de668a19.js";
31
+ import { D as D2 } from "./datepicker.taro-725e96f0.js";
32
32
  import { default as default2 } from "./Form.js";
33
33
  import { F as F2 } from "./formitem.taro-0dc81538.js";
34
34
  import { I as I2 } from "./input.taro-fbcb7090.js";
35
35
  import { I as I3 } from "./inputnumber.taro-d2fc26bd.js";
36
- import { M } from "./menu.taro-f419b9ef.js";
37
- import { M as M2 } from "./menuitem.taro-d598a86e.js";
38
- import { N as N2 } from "./numberkeyboard.taro-bd6a9439.js";
39
- import { P } from "./picker.taro-e08d99a3.js";
36
+ import { M } from "./menu.taro-cf8d7d5b.js";
37
+ import { M as M2 } from "./menuitem.taro-b73e5ed3.js";
38
+ import { N as N2 } from "./numberkeyboard.taro-ec8f8435.js";
39
+ import { P } from "./picker.taro-5f86e72b.js";
40
40
  import { R as R2, a as a2 } from "./radio.taro-d1d370be.js";
41
41
  import { R as R3 } from "./range.taro-4028c748.js";
42
42
  import { R as R4 } from "./rate.taro-61bbf5a7.js";
43
43
  import { S as S6 } from "./searchbar.taro-7daf43fc.js";
44
- import { S as S7 } from "./shortpassword.taro-331d270c.js";
44
+ import { S as S7 } from "./shortpassword.taro-8e8c4102.js";
45
45
  import { S as S8 } from "./signature.taro-3e0c2694.js";
46
46
  import { S as S9 } from "./switch.taro-74b2bd0a.js";
47
47
  import { T as T5 } from "./textarea.taro-6ebe789c.js";
48
- import { U } from "./uploader.taro-56b2ca0d.js";
49
- import { A as A2 } from "./actionsheet.taro-374745a3.js";
48
+ import { U } from "./uploader.taro-da0414ba.js";
49
+ import { A as A2 } from "./actionsheet.taro-4ce9962a.js";
50
50
  import { B as B3 } from "./badge.taro-ffca952e.js";
51
51
  import { B as B4 } from "./dialog.taro-ffad380a.js";
52
52
  import { D as D3 } from "./drag.taro-ce333e51.js";
@@ -55,23 +55,23 @@ import { I as I4 } from "./infiniteloading.taro-cb3b949e.js";
55
55
  import { L as L2 } from "./loading.taro-0799622f.js";
56
56
  import { N as N3 } from "./noticebar.taro-4e1d882b.js";
57
57
  import { N as N4 } from "./notify.taro-6798c31f.js";
58
- import { P as P2 } from "./popover.taro-6b946803.js";
59
- import { P as P3 } from "./popup.taro-1636100a.js";
58
+ import { P as P2 } from "./popover.taro-539d15e4.js";
59
+ import { P as P3 } from "./popup.taro-3273aa87.js";
60
60
  import { P as P4 } from "./pulltorefresh.taro-f3ab76c2.js";
61
- import { S as S10 } from "./skeleton.taro-1f829d87.js";
61
+ import { S as S10 } from "./skeleton.taro-5a621338.js";
62
62
  import { S as S11 } from "./swipe.taro-385eece1.js";
63
63
  import { T as T6 } from "./toast.taro-50ee73e6.js";
64
64
  import { A as A3 } from "./animate.taro-37bf4eab.js";
65
65
  import { default as default3 } from "./AnimatingNumbers.js";
66
66
  import { A as A4 } from "./audio.taro-f0ec6410.js";
67
- import { A as A5 } from "./avatar.taro-0e574535.js";
67
+ import { A as A5 } from "./avatar.taro-1743c7c3.js";
68
68
  import { A as A6 } from "./avatargroup.taro-1f8b7174.js";
69
69
  import { C as C9 } from "./circleprogress.taro-417e1d3f.js";
70
70
  import { C as C10 } from "./collapse.taro-4a3e417c.js";
71
71
  import { C as C11 } from "./collapseitem.taro-e99fb1a2.js";
72
72
  import { C as C12 } from "./countdown.taro-7caa9578.js";
73
73
  import { E as E3 } from "./ellipsis.taro-cd36ab2d.js";
74
- import { I as I5 } from "./imagepreview.taro-78c0a7b8.js";
74
+ import { I as I5 } from "./imagepreview.taro-fcd29363.js";
75
75
  import { I as I6 } from "./indicator.taro-092f9f4e.js";
76
76
  import { P as P5 } from "./pagination.taro-47fad28d.js";
77
77
  import { P as P6 } from "./price.taro-0bd3f07a.js";
@@ -82,13 +82,13 @@ import { default as default4 } from "./Swiper.js";
82
82
  import { S as S14 } from "./swiperitem.taro-da39a67b.js";
83
83
  import { T as T7 } from "./table.taro-a7dcb564.js";
84
84
  import { T as T8 } from "./tag.taro-518b9c70.js";
85
- import { T as T9 } from "./tour.taro-88cf1ba9.js";
85
+ import { T as T9 } from "./tour.taro-b38e06a5.js";
86
86
  import { V } from "./video.taro-672ca6b8.js";
87
87
  import { V as V2 } from "./virtuallist.taro-c75a4e71.js";
88
88
  import { B as B5 } from "./barrage.taro-d77c34b4.js";
89
89
  import { C as C13 } from "./card.taro-c0e9cfba.js";
90
90
  import { T as T10 } from "./timedetail.taro-958b8c07.js";
91
- import { T as T11 } from "./timeselect.taro-e02f6bf9.js";
91
+ import { T as T11 } from "./timeselect.taro-892ca807.js";
92
92
  import { T as T12 } from "./trendarrow.taro-e6b635ae.js";
93
93
  import { W } from "./watermark.taro-311b59d2.js";
94
94
  import "react";
@@ -98,6 +98,7 @@ import "@tarojs/taro";
98
98
  import "./typings-11d83a22.js";
99
99
  import "./index-21e61675.js";
100
100
  import "@tarojs/components";
101
+ import "./px-check-f83a9dc3.js";
101
102
  import "react-transition-group";
102
103
  import "./UserContext-ab42ba7f.js";
103
104
  import "./get-rect-by-taro-fe02fe2b.js";
@@ -2,7 +2,7 @@ import React__default, { useState, useRef, useEffect, useImperativeHandle } from
2
2
  import classNames from "classnames";
3
3
  import Taro from "@tarojs/taro";
4
4
  import { View, PickerView, PickerViewColumn } from "@tarojs/components";
5
- import { P as Popup } from "./popup.taro-1636100a.js";
5
+ import { P as Popup } from "./popup.taro-3273aa87.js";
6
6
  import { u as useTouch } from "./use-touch-ff43512c.js";
7
7
  import { g as getRectByTaro } from "./get-rect-by-taro-fe02fe2b.js";
8
8
  import { c as canUseDom } from "./can-use-dom-0e539bd3.js";
@@ -1,7 +1,7 @@
1
1
  import React__default, { useRef, useState, useEffect } from "react";
2
2
  import classNames from "classnames";
3
3
  import Taro, { createSelectorQuery } from "@tarojs/taro";
4
- import { P as Popup } from "./popup.taro-1636100a.js";
4
+ import { P as Popup } from "./popup.taro-3273aa87.js";
5
5
  import { a as getRect, g as getRectByTaro } from "./get-rect-by-taro-fe02fe2b.js";
6
6
  import { C as ComponentDefaults } from "./typings-11d83a22.js";
7
7
  const defaultProps = {
@@ -59,7 +59,9 @@ const Popup = (props) => {
59
59
  const open = () => {
60
60
  if (!innerVisible) {
61
61
  setInnerVisible(true);
62
- setIndex(++_zIndex);
62
+ if (props.zIndex === void 0) {
63
+ setIndex(++_zIndex);
64
+ }
63
65
  }
64
66
  if (destroyOnClose) {
65
67
  setShowChildren(true);
@@ -0,0 +1,6 @@
1
+ const pxCheck = (value) => {
2
+ return Number.isNaN(Number(value)) ? String(value) : `${value}px`;
3
+ };
4
+ export {
5
+ pxCheck as p
6
+ };
@@ -1,7 +1,7 @@
1
1
  import React__default, { useMemo, useEffect } from "react";
2
2
  import { Tips } from "@nutui/icons-react-taro";
3
3
  import classNames from "classnames";
4
- import { P as Popup } from "./popup.taro-1636100a.js";
4
+ import { P as Popup } from "./popup.taro-3273aa87.js";
5
5
  import { u as useConfig } from "./configprovider.taro-c5ff4877.js";
6
6
  import { C as ComponentDefaults } from "./typings-11d83a22.js";
7
7
  import { u as usePropsValue } from "./use-props-value-c78cbf9b.js";
@@ -1,6 +1,6 @@
1
1
  import React__default, { useState } from "react";
2
2
  import classNames from "classnames";
3
- import { P as Popup } from "./popup.taro-1636100a.js";
3
+ import { P as Popup } from "./popup.taro-3273aa87.js";
4
4
  import { O as OffsetContext } from "./context-f32a9246.js";
5
5
  import { C as ComponentDefaults } from "./typings-11d83a22.js";
6
6
  const defaultProps = {
@@ -1,6 +1,6 @@
1
1
  import React__default from "react";
2
2
  import classNames from "classnames";
3
- import { A as Avatar } from "./avatar.taro-0e574535.js";
3
+ import { A as Avatar } from "./avatar.taro-1743c7c3.js";
4
4
  import { C as ComponentDefaults } from "./typings-11d83a22.js";
5
5
  const defaultProps = {
6
6
  ...ComponentDefaults,
@@ -1,6 +1,6 @@
1
1
  import React__default, { useState } from "react";
2
2
  import classNames from "classnames";
3
- import { P as Popup } from "./popup.taro-1636100a.js";
3
+ import { P as Popup } from "./popup.taro-3273aa87.js";
4
4
  import { T as TimeDetail } from "./timedetail.taro-958b8c07.js";
5
5
  import { C as ComponentDefaults } from "./typings-11d83a22.js";
6
6
  import { u as useConfig } from "./configprovider.taro-c5ff4877.js";
@@ -1,7 +1,7 @@
1
1
  import React__default, { useState, useEffect } from "react";
2
2
  import { Close } from "@nutui/icons-react-taro";
3
3
  import classNames from "classnames";
4
- import { P as Popover } from "./popover.taro-6b946803.js";
4
+ import { P as Popover } from "./popover.taro-539d15e4.js";
5
5
  import Taro from "@tarojs/taro";
6
6
  import { C as ComponentDefaults } from "./typings-11d83a22.js";
7
7
  import { useConfig } from "./ConfigProvider.js";
@@ -1,19 +1,4 @@
1
1
  /// <reference types="react" />
2
2
  import '@/packages/uploader/demo.scss';
3
- export type FileItemStatus = 'ready' | 'uploading' | 'success' | 'error' | 'removed';
4
- export type FileType<T> = {
5
- [key: string]: T;
6
- };
7
- export declare class FileItem {
8
- status: FileItemStatus;
9
- message: string;
10
- uid: string;
11
- name?: string;
12
- url?: string;
13
- path?: string;
14
- type?: string;
15
- percentage: string | number;
16
- formData: FormData;
17
- }
18
3
  declare const UploaderDemo: () => JSX.Element;
19
4
  export default UploaderDemo;
@@ -0,0 +1,19 @@
1
+ import { ReactNode } from 'react';
2
+ export declare class FileItem {
3
+ status: FileItemStatus;
4
+ message: string;
5
+ uid: string;
6
+ name?: string;
7
+ url?: string;
8
+ type?: string;
9
+ path?: string;
10
+ percentage?: string | number;
11
+ formData?: FormData;
12
+ responseText?: string;
13
+ loadingIcon?: ReactNode;
14
+ failIcon?: ReactNode;
15
+ }
16
+ export type FileItemStatus = 'ready' | 'uploading' | 'success' | 'error' | 'removed';
17
+ export type FileType<T> = {
18
+ [key: string]: T;
19
+ };
@@ -1,3 +1,4 @@
1
1
  import { Uploader } from './uploader';
2
- export type { FileType, FileItem, UploaderProps, FileItemStatus, } from './uploader';
2
+ export type { UploaderProps } from './uploader';
3
+ export type { FileType, FileItem, FileItemStatus } from './file-item';
3
4
  export default Uploader;
@@ -1,3 +1,4 @@
1
1
  import { Uploader } from './uploader.taro';
2
- export type { FileType, FileItem, UploaderProps, FileItemStatus, } from './uploader.taro';
2
+ export type { UploaderProps } from './uploader.taro';
3
+ export type { FileType, FileItem, FileItemStatus } from './file-item';
3
4
  export default Uploader;
@@ -0,0 +1,2 @@
1
+ import React from 'react';
2
+ export declare const Preview: React.FunctionComponent<any>;
@@ -0,0 +1,2 @@
1
+ import React from 'react';
2
+ export declare const Preview: React.FunctionComponent<any>;
@@ -16,6 +16,9 @@ export declare class UploadOptions {
16
16
  onFailure?: any;
17
17
  beforeXhrUpload?: any;
18
18
  }
19
+ export declare const UPLOADING = "uploading";
20
+ export declare const SUCCESS = "success";
21
+ export declare const ERROR = "error";
19
22
  export declare class Upload {
20
23
  options: UploadOptions;
21
24
  constructor(options: UploadOptions);
@@ -1,16 +1,13 @@
1
1
  import React from 'react';
2
2
  import { UploadOptions } from './upload';
3
3
  import { BasicComponent } from '@/utils/typings';
4
- export type FileType<T> = {
5
- [key: string]: T;
6
- };
7
- export type FileItemStatus = 'ready' | 'uploading' | 'success' | 'error' | 'removed';
4
+ import { FileItem } from './file-item';
8
5
  export interface UploaderProps extends BasicComponent {
9
6
  url: string;
10
7
  maxCount: string | number;
11
8
  maxFileSize: number;
12
- defaultValue?: FileType<React.ReactNode>[];
13
- value?: FileType<string>[];
9
+ defaultValue?: FileItem[];
10
+ value?: FileItem[];
14
11
  previewType: 'picture' | 'list';
15
12
  fit: 'contain' | 'cover' | 'fill' | 'none' | 'scale-down';
16
13
  uploadIcon?: React.ReactNode;
@@ -29,7 +26,7 @@ export interface UploaderProps extends BasicComponent {
29
26
  clearInput: boolean;
30
27
  preview: boolean;
31
28
  deletable: boolean;
32
- capture: boolean;
29
+ capture: boolean | 'user' | 'environment';
33
30
  className: string;
34
31
  previewUrl?: string;
35
32
  style: React.CSSProperties;
@@ -52,27 +49,12 @@ export interface UploaderProps extends BasicComponent {
52
49
  }) => void;
53
50
  onUpdate?: (fileList: FileItem[]) => void;
54
51
  onOversize?: (file: File[]) => void;
55
- onChange?: (param: {
56
- fileList: FileItem[];
57
- event: React.ChangeEvent<HTMLInputElement>;
58
- }) => void;
52
+ onChange?: (p: FileItem[]) => void;
59
53
  beforeUpload?: (file: File[]) => Promise<File[] | boolean>;
60
54
  beforeXhrUpload?: (xhr: XMLHttpRequest, options: any) => void;
61
55
  beforeDelete?: (file: FileItem, files: FileItem[]) => boolean;
62
56
  onFileItemClick?: (file: FileItem) => void;
63
57
  }
64
- export declare class FileItem {
65
- status: FileItemStatus;
66
- message: string;
67
- uid: string;
68
- name?: string;
69
- url?: string;
70
- type?: string;
71
- path?: string;
72
- percentage: string | number;
73
- formData: FormData;
74
- responseText?: string;
75
- }
76
58
  export declare const Uploader: React.ForwardRefExoticComponent<Partial<UploaderProps> & {
77
59
  children?: React.ReactNode;
78
60
  } & React.RefAttributes<unknown>>;
@@ -2,10 +2,7 @@ import React from 'react';
2
2
  import Taro from '@tarojs/taro';
3
3
  import { UploadOptions } from './upload';
4
4
  import { BasicComponent } from '@/utils/typings';
5
- export type FileType<T> = {
6
- [key: string]: T;
7
- };
8
- export type FileItemStatus = 'ready' | 'uploading' | 'success' | 'error' | 'removed';
5
+ import { FileItem } from './file-item';
9
6
  /** 图片的尺寸 */
10
7
  interface sizeType {
11
8
  /** 原图 */
@@ -35,8 +32,8 @@ export interface UploaderProps extends BasicComponent {
35
32
  mediaType: (keyof mediaType)[];
36
33
  camera: string;
37
34
  maxFileSize: number;
38
- defaultValue?: FileType<React.ReactNode>[];
39
- value?: FileType<string>[];
35
+ defaultValue?: FileItem[];
36
+ value?: FileItem[];
40
37
  previewType: 'picture' | 'list';
41
38
  fit: 'contain' | 'cover' | 'fill' | 'none' | 'scale-down';
42
39
  uploadIcon?: React.ReactNode;
@@ -58,42 +55,29 @@ export interface UploaderProps extends BasicComponent {
58
55
  maxDuration: number;
59
56
  style: React.CSSProperties;
60
57
  onStart?: (option: UploadOptions) => void;
61
- onDelete?: (file: FileItem, fileList: FileType<React.ReactNode>[]) => void;
58
+ onDelete?: (file: FileItem, fileList: FileItem[]) => void;
62
59
  onSuccess?: (param: {
63
60
  responseText: XMLHttpRequest['responseText'];
64
61
  option: UploadOptions;
65
- fileList: FileType<React.ReactNode>[];
62
+ fileList: FileItem[];
66
63
  }) => void;
67
64
  onProgress?: (param: {
68
65
  e: ProgressEvent<XMLHttpRequestEventTarget>;
69
66
  option: UploadOptions;
70
- percentage: React.ReactNode;
67
+ percentage: number | string;
71
68
  }) => void;
72
69
  onFailure?: (param: {
73
70
  responseText: XMLHttpRequest['responseText'];
74
71
  option: UploadOptions;
75
- fileList: FileType<React.ReactNode>[];
72
+ fileList: FileItem[];
76
73
  }) => void;
77
- onUpdate?: (fileList: FileType<React.ReactNode>[]) => void;
74
+ onUpdate?: (fileList: FileItem[]) => void;
78
75
  onOversize?: (files: Taro.chooseImage.ImageFile[] | Taro.chooseMedia.ChooseMedia[] | any) => void;
79
- onChange?: (param: {
80
- fileList: FileType<React.ReactNode>[];
81
- }) => void;
76
+ onChange?: (p: FileItem[]) => void;
82
77
  beforeXhrUpload?: (xhr: XMLHttpRequest, options: any) => void;
83
- beforeDelete?: (file: FileItem, files: FileType<React.ReactNode>[]) => boolean;
78
+ beforeDelete?: (file: FileItem, files: FileItem[]) => boolean;
84
79
  onFileItemClick?: (file: FileItem) => void;
85
80
  }
86
- export declare class FileItem {
87
- status: FileItemStatus;
88
- message: string;
89
- uid: string;
90
- name?: string;
91
- url?: string;
92
- type?: string;
93
- path?: string;
94
- percentage: string | number;
95
- formData: any;
96
- }
97
81
  export declare const Uploader: React.ForwardRefExoticComponent<Partial<UploaderProps> & {
98
82
  children?: React.ReactNode;
99
83
  } & React.RefAttributes<unknown>>;