@nutui/nutui-react 2.0.0-alpha.11 → 2.0.0-alpha.13

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 (189) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/dist/esm/ActionSheet/style/style.css +1 -1
  3. package/dist/esm/ActionSheet.js +28 -37
  4. package/dist/esm/Address/style/style.css +1 -1
  5. package/dist/esm/AnimatingNumbers/style/style.css +1 -1
  6. package/dist/esm/AnimatingNumbers.js +22 -26
  7. package/dist/esm/Calendar/style/style.css +1 -1
  8. package/dist/esm/Cascader/style/style.css +1 -1
  9. package/dist/esm/CountDown/style/style.css +1 -1
  10. package/dist/esm/CountDown.js +20 -15
  11. package/dist/esm/DatePicker/style/style.css +1 -1
  12. package/dist/esm/Ellipsis/style/style.css +1 -1
  13. package/dist/esm/ImagePreview/style/style.css +1 -1
  14. package/dist/esm/NumberKeyboard/style/style.css +1 -1
  15. package/dist/esm/Picker/style/style.css +1 -1
  16. package/dist/esm/Popup/style/style.css +1 -1
  17. package/dist/esm/SearchBar/style/style.css +1 -1
  18. package/dist/esm/SearchBar.js +33 -87
  19. package/dist/esm/ShortPassword/style/style.css +1 -1
  20. package/dist/esm/ShortPassword.js +65 -133
  21. package/dist/esm/SideNavBar/style/style.css +1 -1
  22. package/dist/esm/TimeSelect/style/style.css +1 -1
  23. package/dist/esm/Toast/style/style.css +1 -1
  24. package/dist/esm/Toast.js +86 -102
  25. package/dist/esm/TrendArrow/style/style.css +1 -1
  26. package/dist/esm/TrendArrow.js +30 -35
  27. package/dist/esm/Video.js +8 -12
  28. package/dist/esm/VirtualList/style/style.css +1 -1
  29. package/dist/esm/VirtualList.js +29 -25
  30. package/dist/esm/WaterMark.js +8 -11
  31. package/dist/esm/types/src/packages/actionsheet/actionsheet.d.ts +11 -15
  32. package/dist/esm/types/src/packages/actionsheet/actionsheet.taro.d.ts +11 -15
  33. package/dist/esm/types/src/packages/actionsheet/index.d.ts +1 -0
  34. package/dist/esm/types/src/packages/actionsheet/index.taro.d.ts +1 -0
  35. package/dist/esm/types/src/packages/animatingnumbers/countup.d.ts +7 -8
  36. package/dist/esm/types/src/packages/animatingnumbers/countup.taro.d.ts +7 -8
  37. package/dist/esm/types/src/packages/animatingnumbers/demo.d.ts +1 -0
  38. package/dist/esm/types/src/packages/animatingnumbers/demo.taro.d.ts +1 -0
  39. package/dist/esm/types/src/packages/animatingnumbers/index.d.ts +1 -0
  40. package/dist/esm/types/src/packages/animatingnumbers/index.taro.d.ts +1 -0
  41. package/dist/esm/types/src/packages/avatargroup/avatargroup.taro.d.ts +13 -0
  42. package/dist/esm/types/src/packages/avatargroup/index.taro.d.ts +1 -1
  43. package/dist/esm/types/src/packages/configprovider/configprovider.d.ts +2 -1
  44. package/dist/esm/types/src/packages/configprovider/configprovider.taro.d.ts +2 -1
  45. package/dist/esm/types/src/packages/configprovider/index.d.ts +1 -0
  46. package/dist/esm/types/src/packages/configprovider/index.taro.d.ts +1 -0
  47. package/dist/esm/types/src/packages/configprovider/types.d.ts +1 -0
  48. package/dist/esm/types/src/packages/countdown/countdown.d.ts +5 -4
  49. package/dist/esm/types/src/packages/countdown/countdown.taro.d.ts +5 -4
  50. package/dist/esm/types/src/packages/countdown/index.d.ts +1 -0
  51. package/dist/esm/types/src/packages/countdown/index.taro.d.ts +1 -0
  52. package/dist/esm/types/src/packages/ellipsis/ellipsis.taro.d.ts +1 -0
  53. package/dist/esm/types/src/packages/searchbar/index.d.ts +1 -0
  54. package/dist/esm/types/src/packages/searchbar/index.taro.d.ts +1 -0
  55. package/dist/esm/types/src/packages/searchbar/searchbar.d.ts +4 -31
  56. package/dist/esm/types/src/packages/searchbar/searchbar.taro.d.ts +4 -31
  57. package/dist/esm/types/src/packages/shortpassword/index.d.ts +1 -0
  58. package/dist/esm/types/src/packages/shortpassword/index.taro.d.ts +1 -0
  59. package/dist/esm/types/src/packages/shortpassword/shortpassword.d.ts +17 -20
  60. package/dist/esm/types/src/packages/shortpassword/shortpassword.taro.d.ts +17 -20
  61. package/dist/esm/types/src/packages/toast/Notification.d.ts +9 -13
  62. package/dist/esm/types/src/packages/toast/index.d.ts +1 -0
  63. package/dist/esm/types/src/packages/toast/index.taro.d.ts +1 -0
  64. package/dist/esm/types/src/packages/toast/toast.d.ts +19 -26
  65. package/dist/esm/types/src/packages/toast/toast.taro.d.ts +9 -11
  66. package/dist/esm/types/src/packages/trendarrow/trendarrow.d.ts +8 -10
  67. package/dist/esm/types/src/packages/trendarrow/trendarrow.taro.d.ts +8 -10
  68. package/dist/esm/types/src/packages/video/index.d.ts +1 -0
  69. package/dist/esm/types/src/packages/video/index.taro.d.ts +2 -1
  70. package/dist/esm/types/src/packages/video/video.d.ts +5 -9
  71. package/dist/esm/types/src/packages/video/video.taro.d.ts +6 -9
  72. package/dist/esm/types/src/packages/virtuallist/index.d.ts +1 -0
  73. package/dist/esm/types/src/packages/virtuallist/index.taro.d.ts +1 -0
  74. package/dist/esm/types/src/packages/virtuallist/type.d.ts +0 -18
  75. package/dist/esm/types/src/packages/virtuallist/utils.d.ts +3 -3
  76. package/dist/esm/types/src/packages/virtuallist/virtuallist.d.ts +15 -4
  77. package/dist/esm/types/src/packages/virtuallist/virtuallist.taro.d.ts +13 -14
  78. package/dist/esm/types/src/packages/watermark/demo.d.ts +0 -1
  79. package/dist/esm/types/src/packages/watermark/demo.taro.d.ts +0 -1
  80. package/dist/esm/types/src/packages/watermark/index.d.ts +1 -0
  81. package/dist/esm/types/src/packages/watermark/index.taro.d.ts +1 -0
  82. package/dist/esm/types/src/packages/watermark/watermark.d.ts +3 -4
  83. package/dist/esm/types/src/packages/watermark/watermark.taro.d.ts +3 -4
  84. package/dist/locales/base.js +1 -1
  85. package/dist/locales/en-US.js +1 -1
  86. package/dist/locales/id-ID.js +1 -1
  87. package/dist/locales/tr-TR.js +10 -2
  88. package/dist/locales/zh-CN.js +1 -1
  89. package/dist/locales/zh-TW.js +1 -1
  90. package/dist/locales/zh-UG.js +1 -1
  91. package/dist/nutui.react.es.js +525 -590
  92. package/dist/nutui.react.umd.js +525 -590
  93. package/dist/packages/actionsheet/actionsheet.scss +26 -73
  94. package/dist/packages/animatingnumbers/countup.scss +0 -21
  95. package/dist/packages/countdown/countdown.scss +2 -0
  96. package/dist/packages/ellipsis/ellipsis.scss +4 -0
  97. package/dist/packages/popup/popup.scss +98 -47
  98. package/dist/packages/searchbar/searchbar.scss +13 -71
  99. package/dist/packages/shortpassword/shortpassword.scss +1 -88
  100. package/dist/packages/toast/toast.scss +20 -7
  101. package/dist/packages/trendarrow/trendarrow.scss +4 -3
  102. package/dist/packages/virtuallist/virtuallist.scss +0 -12
  103. package/dist/style.css +1 -1
  104. package/dist/style.mjs +1 -1
  105. package/dist/styles/variables-jmapp.scss +58 -68
  106. package/dist/styles/variables.scss +32 -61
  107. package/dist/types/packages/actionsheet/actionsheet.d.ts +44 -16
  108. package/dist/types/packages/actionsheet/index.d.ts +1 -0
  109. package/dist/types/packages/animate/animate.d.ts +20 -4
  110. package/dist/types/packages/animatingnumbers/countup.d.ts +7 -8
  111. package/dist/types/packages/animatingnumbers/index.d.ts +1 -0
  112. package/dist/types/packages/audio/audio.d.ts +60 -12
  113. package/dist/types/packages/avatar/avatar.d.ts +50 -10
  114. package/dist/types/packages/avatargroup/avatargroup.d.ts +40 -8
  115. package/dist/types/packages/backtop/backtop.d.ts +25 -5
  116. package/dist/types/packages/badge/badge.d.ts +30 -6
  117. package/dist/types/packages/button/button.d.ts +50 -10
  118. package/dist/types/packages/cascader/cascader.d.ts +85 -17
  119. package/dist/types/packages/cell/cell.d.ts +30 -6
  120. package/dist/types/packages/cellgroup/cellgroup.d.ts +15 -3
  121. package/dist/types/packages/checkboxgroup/checkboxgroup.d.ts +40 -8
  122. package/dist/types/packages/circleprogress/circleprogress.d.ts +35 -7
  123. package/dist/types/packages/col/col.d.ts +15 -3
  124. package/dist/types/packages/collapse/collapse.d.ts +25 -5
  125. package/dist/types/packages/collapseitem/collapseitem.d.ts +20 -4
  126. package/dist/types/packages/configprovider/configprovider.d.ts +11 -2
  127. package/dist/types/packages/configprovider/index.d.ts +1 -0
  128. package/dist/types/packages/configprovider/types.d.ts +1 -0
  129. package/dist/types/packages/countdown/countdown.d.ts +68 -15
  130. package/dist/types/packages/countdown/index.d.ts +1 -0
  131. package/dist/types/packages/divider/divider.d.ts +10 -2
  132. package/dist/types/packages/drag/drag.d.ts +15 -3
  133. package/dist/types/packages/elevator/elevator.d.ts +45 -9
  134. package/dist/types/packages/ellipsis/ellipsis.d.ts +45 -9
  135. package/dist/types/packages/empty/empty.d.ts +20 -4
  136. package/dist/types/packages/fixednav/fixednav.d.ts +50 -10
  137. package/dist/types/packages/grid/grid.d.ts +35 -7
  138. package/dist/types/packages/griditem/griditem.d.ts +5 -1
  139. package/dist/types/packages/image/image.d.ts +65 -13
  140. package/dist/types/packages/imagepreview/imagepreview.d.ts +50 -10
  141. package/dist/types/packages/indicator/indicator.d.ts +15 -3
  142. package/dist/types/packages/input/input.d.ts +100 -20
  143. package/dist/types/packages/inputnumber/inputnumber.d.ts +85 -17
  144. package/dist/types/packages/menu/menu.d.ts +25 -5
  145. package/dist/types/packages/menuitem/menuitem.d.ts +35 -7
  146. package/dist/types/packages/noticebar/noticebar.d.ts +60 -12
  147. package/dist/types/packages/notify/notify.d.ts +25 -5
  148. package/dist/types/packages/numberkeyboard/numberkeyboard.d.ts +50 -10
  149. package/dist/types/packages/overlay/overlay.d.ts +40 -8
  150. package/dist/types/packages/pagination/pagination.d.ts +55 -11
  151. package/dist/types/packages/picker/picker.d.ts +55 -11
  152. package/dist/types/packages/popup/popup.d.ts +75 -15
  153. package/dist/types/packages/price/price.d.ts +35 -7
  154. package/dist/types/packages/progress/progress.d.ts +40 -8
  155. package/dist/types/packages/pulltorefresh/pulltorefresh.d.ts +50 -10
  156. package/dist/types/packages/radio/radio.d.ts +45 -9
  157. package/dist/types/packages/radiogroup/radiogroup.d.ts +30 -6
  158. package/dist/types/packages/range/range.d.ts +80 -16
  159. package/dist/types/packages/rate/rate.d.ts +50 -10
  160. package/dist/types/packages/searchbar/index.d.ts +1 -0
  161. package/dist/types/packages/searchbar/searchbar.d.ts +76 -45
  162. package/dist/types/packages/shortpassword/index.d.ts +1 -0
  163. package/dist/types/packages/shortpassword/shortpassword.d.ts +89 -24
  164. package/dist/types/packages/skeleton/skeleton.d.ts +35 -7
  165. package/dist/types/packages/step/step.d.ts +20 -4
  166. package/dist/types/packages/steps/steps.d.ts +15 -3
  167. package/dist/types/packages/sticky/sticky.d.ts +25 -5
  168. package/dist/types/packages/swipe/swipe.d.ts +47 -11
  169. package/dist/types/packages/swiper/swiper.d.ts +65 -13
  170. package/dist/types/packages/switch/switch.d.ts +30 -6
  171. package/dist/types/packages/tabbar/tabbar.d.ts +35 -7
  172. package/dist/types/packages/tabbaritem/tabbaritem.d.ts +10 -2
  173. package/dist/types/packages/tabpane/tabpane.d.ts +15 -3
  174. package/dist/types/packages/tabs/tabs.d.ts +60 -12
  175. package/dist/types/packages/textarea/textarea.d.ts +60 -12
  176. package/dist/types/packages/toast/Notification.d.ts +9 -13
  177. package/dist/types/packages/toast/index.d.ts +1 -0
  178. package/dist/types/packages/toast/toast.d.ts +19 -26
  179. package/dist/types/packages/trendarrow/trendarrow.d.ts +57 -15
  180. package/dist/types/packages/uploader/uploader.d.ts +180 -36
  181. package/dist/types/packages/video/index.d.ts +1 -0
  182. package/dist/types/packages/video/video.d.ts +27 -11
  183. package/dist/types/packages/virtuallist/index.d.ts +1 -0
  184. package/dist/types/packages/virtuallist/type.d.ts +0 -18
  185. package/dist/types/packages/virtuallist/utils.d.ts +3 -3
  186. package/dist/types/packages/virtuallist/virtuallist.d.ts +51 -4
  187. package/dist/types/packages/watermark/index.d.ts +1 -0
  188. package/dist/types/packages/watermark/watermark.d.ts +72 -17
  189. package/package.json +1 -1
@@ -3,9 +3,21 @@ interface TabPanelInnerProps {
3
3
  autoHeightClassName: string;
4
4
  }
5
5
  export interface TabPaneProps {
6
- title: string | number;
7
- value: string | number;
8
- disabled: boolean;
6
+ /**
7
+ * 标题
8
+ * @default -
9
+ */
10
+ title: string | number
11
+ /**
12
+ * 标签 Key , 匹配的标识符, 默认为索引值
13
+ * @default -
14
+ */
15
+ value: string | number
16
+ /**
17
+ * 是否禁用标签
18
+ * @default false
19
+ */
20
+ disabled: boolean
9
21
  className: string;
10
22
  children?: React.ReactNode;
11
23
  }
@@ -8,18 +8,66 @@ export type TabsTitle = {
8
8
  value: string | number;
9
9
  };
10
10
  export interface TabsProps extends BasicComponent {
11
- tabStyle: React.CSSProperties;
12
- value: string | number;
13
- defaultValue: string | number;
14
- activeColor: string;
15
- direction: 'horizontal' | 'vertical';
16
- activeType: 'line' | 'smile';
17
- duration: number | string;
18
- align: 'left' | 'right';
19
- title: () => JSX.Element[];
20
- onChange: (index: string | number) => void;
21
- onClick: (index: string | number) => void;
22
- autoHeight: boolean;
11
+ /**
12
+ * 标签栏样式
13
+ * @default {}
14
+ */
15
+ tabStyle: React.CSSProperties
16
+ /**
17
+ * 当前激活 tab 面板的值
18
+ * @default 0
19
+ */
20
+ value: string | number
21
+ /**
22
+ * 初始化激活 tab 的值
23
+ * @default 0
24
+ */
25
+ defaultValue: string | number
26
+ /**
27
+ * 标签选中色
28
+ * @default #1a1a1a
29
+ */
30
+ activeColor: string
31
+ /**
32
+ * 使用横纵方向 可选值 horizontal、vertical
33
+ * @default horizontal
34
+ */
35
+ direction: 'horizontal' | 'vertical'
36
+ /**
37
+ * 选中底部展示样式 可选值 line、smile
38
+ * @default line
39
+ */
40
+ activeType: 'line' | 'smile'
41
+ /**
42
+ * 切换动画时长,单位 ms 0 代表无动画
43
+ * @default 300
44
+ */
45
+ duration: number | string
46
+ /**
47
+ * 标题左对齐
48
+ * @default -
49
+ */
50
+ align: 'left' | 'right'
51
+ /**
52
+ * 自定义导航区域
53
+ * @default -
54
+ */
55
+ title: () => JSX.Element[]
56
+ /**
57
+ * 当前激活的标签改变时触发
58
+ * @default -
59
+ */
60
+ onChange: (index: string | number) => void
61
+ /**
62
+ * 点击标签时触发
63
+ * @default -
64
+ */
65
+ onClick: (index: string | number) => void
66
+ /**
67
+ * 自动高度。设置为 true 时,nut-tabs 和 nut-tabs\_\_content 会随着当前 nut-tabpane 的高度而发生变化。
68
+ * @default false
69
+ */
70
+ autoHeight: boolean
23
71
  children?: React.ReactNode;
24
72
  }
25
73
  export declare const Tabs: FunctionComponent<Partial<TabsProps>> & {
@@ -1,17 +1,65 @@
1
1
  import React, { FunctionComponent } from 'react';
2
2
  import { BasicComponent } from '../../utils/typings';
3
3
  export interface TextAreaProps extends BasicComponent {
4
- value: string;
5
- defaultValue: string;
6
- showCount: boolean;
7
- maxLength: number;
8
- rows: number;
9
- placeholder: string;
10
- readOnly: boolean;
11
- disabled: boolean;
12
- autoSize: boolean;
13
- onChange: (value: string) => void;
14
- onBlur: (event: Event) => void;
15
- onFocus: (event: Event) => void;
4
+ /**
5
+ * 输入框内容,受控
6
+ * @default -
7
+ */
8
+ value: string
9
+ /**
10
+ * 初始默认值,非受控
11
+ * @default -
12
+ */
13
+ defaultValue: string
14
+ /**
15
+ * textarea 是否展示输入字符。须配合maxLength使用
16
+ * @default false
17
+ */
18
+ showCount: boolean
19
+ /**
20
+ * 限制最长输入字符,-1 表示无限制
21
+ * @default 140
22
+ */
23
+ maxLength: number
24
+ /**
25
+ * textarea 的行数
26
+ * @default 2
27
+ */
28
+ rows: number
29
+ /**
30
+ * 设置占位提示文字
31
+ * @default 请输入内容
32
+ */
33
+ placeholder: string
34
+ /**
35
+ * 只读属性
36
+ * @default false
37
+ */
38
+ readOnly: boolean
39
+ /**
40
+ * 禁用属性
41
+ * @default false
42
+ */
43
+ disabled: boolean
44
+ /**
45
+ * 高度是否可拉伸
46
+ * @default false
47
+ */
48
+ autoSize: boolean
49
+ /**
50
+ * 输入内容时触发
51
+ * @default -
52
+ */
53
+ onChange: (value: string) => void
54
+ /**
55
+ * 失焦时触发
56
+ * @default -
57
+ */
58
+ onBlur: (event: Event) => void
59
+ /**
60
+ * 聚焦时触发
61
+ * @default -
62
+ */
63
+ onFocus: (event: Event) => void
16
64
  }
17
65
  export declare const TextArea: FunctionComponent<Partial<TextAreaProps> & Omit<React.HTMLAttributes<HTMLTextAreaElement>, 'onChange' | 'onBlur' | 'onFocus'>>;
@@ -1,21 +1,16 @@
1
1
  import * as React from 'react';
2
- export interface NotificationProps {
2
+ import { BasicComponent } from '../../utils/typings';
3
+ export interface NotificationProps extends BasicComponent {
3
4
  id?: string;
4
- style?: React.CSSProperties;
5
- icon: React.ReactNode;
6
- msg: string | React.ReactNode;
7
- bottom: string;
5
+ icon: 'success' | 'fail' | 'loading' | 'warn' | React.ReactNode;
6
+ content: string | React.ReactNode;
8
7
  duration: number;
9
- center: boolean;
10
- type: string;
8
+ position?: 'top' | 'center' | 'bottom';
11
9
  title: string;
12
- customClass: string;
13
10
  size: string | number;
14
- textAlignCenter: boolean;
15
- bgColor: string;
16
- cover: boolean;
17
- coverColor: string;
18
- closeOnClickOverlay: boolean;
11
+ closeOnOverlayClick: boolean;
12
+ contentClassName?: string;
13
+ contentStyle?: React.CSSProperties;
19
14
  onClose: () => void;
20
15
  }
21
16
  export default class Notification extends React.PureComponent<NotificationProps> {
@@ -26,6 +21,7 @@ export default class Notification extends React.PureComponent<NotificationProps>
26
21
  startCloseTimer(): void;
27
22
  clearCloseTimer(): void;
28
23
  clickCover(): void;
24
+ renderIcon(): number | boolean | JSX.Element | React.ReactFragment | null | undefined;
29
25
  componentDidMount(): void;
30
26
  componentWillUnmount(): void;
31
27
  render(): JSX.Element;
@@ -1,2 +1,3 @@
1
1
  import Toast from './toast';
2
+ export type { ToastProps, ToastIconType, ToastPositionType } from './toast';
2
3
  export default Toast;
@@ -1,32 +1,25 @@
1
1
  import * as React from 'react';
2
- export interface ToastProps {
2
+ import { BasicComponent } from '../../utils/typings';
3
+ export type ToastPositionType = 'top' | 'bottom' | 'center';
4
+ export type ToastIconType = 'success' | 'fail' | 'loading' | 'warn' | React.ReactNode;
5
+ export interface ToastProps extends BasicComponent {
3
6
  id?: string;
4
- msg: string;
5
- style?: React.CSSProperties;
6
- duration: number;
7
- center: boolean;
8
- type: string;
9
- title: string;
10
- customClass?: string;
11
- bottom: string;
12
- size: string | number;
13
- icon: string | null;
14
- iconSize: string;
15
- textAlignCenter: boolean;
16
- loadingRotate: boolean;
17
- bgColor: string;
18
- onClose: () => void;
19
- cover: boolean;
20
- coverColor: string;
21
- closeOnClickOverlay: boolean;
7
+ duration?: number;
8
+ position?: ToastPositionType;
9
+ title?: string;
10
+ closeOnOverlayClick?: boolean;
11
+ size?: string | number;
12
+ icon?: ToastIconType;
13
+ content?: React.ReactNode;
14
+ onClose?: () => void;
15
+ contentClassName?: string;
16
+ contentStyle?: React.CSSProperties;
22
17
  }
18
+ declare function show(option: ToastProps | string): void;
19
+ declare function config(config: Pick<ToastProps, 'duration' | 'position' | 'closeOnOverlayClick'>): void;
23
20
  declare const _default: {
24
- text(msg: string | React.ReactNode, option?: {}): void;
25
- success(msg: string | React.ReactNode, option?: {}): void;
26
- fail(msg: string | React.ReactNode, option?: {}): void;
27
- loading(msg: string | React.ReactNode, option?: {}): void;
28
- warn(msg: string | React.ReactNode, option?: {}): void;
29
- customIcon(msg: string | React.ReactNode, option?: {}): void;
30
- hide(): void;
21
+ show: typeof show;
22
+ config: typeof config;
23
+ clear(): void;
31
24
  };
32
25
  export default _default;
@@ -1,18 +1,60 @@
1
1
  import React, { FunctionComponent } from 'react';
2
- export interface TrendArrowProps {
3
- rate: number;
4
- digits: number;
5
- showSign: boolean;
6
- showZero: boolean;
7
- arrowLeft: boolean;
8
- syncTextColor: boolean;
9
- textColor: string;
10
- riseColor: string;
11
- dropColor: string;
12
- iconSize: string;
13
- upIcon: React.ReactNode;
14
- downIcon: React.ReactNode;
15
- className: string;
16
- style: React.CSSProperties;
2
+ import { BasicComponent } from '../../utils/typings';
3
+ export interface TrendArrowProps extends BasicComponent {
4
+ /**
5
+ * 数值,大于0时箭头向上,小于0时箭头向下
6
+ * @default -
7
+ */
8
+ value: number
9
+ /**
10
+ * 小数位精度
11
+ * @default 2
12
+ */
13
+ digits: number
14
+ /**
15
+ * 是否显示加减号
16
+ * @default false
17
+ */
18
+ symbol: boolean
19
+ /**
20
+ * 是否显示 0
21
+ * @default false
22
+ */
23
+ zero: boolean
24
+ /**
25
+ * 是否在数字左侧显示箭头
26
+ * @default false
27
+ */
28
+ arrowLeft: boolean
29
+ /**
30
+ * 文字颜色是否与箭头同步
31
+ * @default true
32
+ */
33
+ syncColor: boolean
34
+ /**
35
+ * 文字颜色
36
+ * @default #333333
37
+ */
38
+ color: string
39
+ /**
40
+ * 向上箭头颜色
41
+ * @default #fa2c19
42
+ */
43
+ riseColor: string
44
+ /**
45
+ * 向下箭头颜色
46
+ * @default #64b578
47
+ */
48
+ dropColor: string
49
+ /**
50
+ * 自定义向上箭头icon
51
+ * @default <TriangleUp/>
52
+ */
53
+ riseIcon: React.ReactNode
54
+ /**
55
+ * 自定义向下箭头icon
56
+ * @default <TriangleDown/>
57
+ */
58
+ downIcon: React.ReactNode
17
59
  }
18
60
  export declare const TrendArrow: FunctionComponent<Partial<TrendArrowProps> & React.HTMLAttributes<HTMLDivElement>>;
@@ -6,60 +6,204 @@ export type FileType<T> = {
6
6
  };
7
7
  export type FileItemStatus = 'ready' | 'uploading' | 'success' | 'error' | 'removed';
8
8
  export interface UploaderProps extends BasicComponent {
9
- url: string;
10
- maxCount: string | number;
11
- maxFileSize: number;
12
- defaultValue?: FileType<React.ReactNode>[];
13
- value?: FileType<string>[];
14
- previewType: 'picture' | 'list';
15
- imageFit: 'contain' | 'cover' | 'fill' | 'none' | 'scale-down';
16
- uploadIcon?: React.ReactNode;
17
- uploadLabel?: React.ReactNode;
18
- name: string;
19
- accept: string;
20
- disabled: boolean;
21
- autoUpload: boolean;
22
- multiple: boolean;
23
- timeout: number;
24
- data: any;
25
- method: string;
26
- xhrState: number | string;
27
- headers: any;
28
- withCredentials: boolean;
29
- clearInput: boolean;
30
- preview: boolean;
31
- deletable: boolean;
32
- capture: boolean;
9
+ /**
10
+ * 上传服务器的接口地址
11
+ * @default -
12
+ */
13
+ url: string
14
+ /**
15
+ * 文件上传数量限制
16
+ * @default 1
17
+ */
18
+ maxCount: string | number
19
+ /**
20
+ * 可以设定最大上传文件的大小(字节)
21
+ * @default Number.MAX_VALUE
22
+ */
23
+ maxFileSize: number
24
+ /**
25
+ * 默认已经上传的文件列表
26
+ * @default []
27
+ */
28
+ defaultValue?: FileType<React.ReactNode>[]
29
+ /**
30
+ * 已经上传的文件列表
31
+ * @default []
32
+ */
33
+ value?: FileType<string>[]
34
+ /**
35
+ * 上传列表的内建样式,支持两种基本样式 picture、list
36
+ * @default 'picture'
37
+ */
38
+ previewType: 'picture' | 'list'
39
+ /**
40
+ * 图片填充模式
41
+ * @default 'cover'
42
+ */
43
+ imageFit: 'contain' | 'cover' | 'fill' | 'none' | 'scale-down'
44
+ /**
45
+ * 上传区域[图标名称](#/zh-CN/icon)
46
+ * @default -
47
+ */
48
+ uploadIcon?: React.ReactNode
49
+ /**
50
+ * 上传区域图片下方文字
51
+ * @default -
52
+ */
53
+ uploadLabel?: React.ReactNode
54
+ /**
55
+ * input 标签 name 的名称,发到后台的文件参数名
56
+ * @default 'file'
57
+ */
58
+ name: string
59
+ /**
60
+ * 允许上传的文件类型,[详细说明](https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/Input/file#%E9%99%90%E5%88%B6%E5%85%81%E8%AE%B8%E7%9A%84%E6%96%87%E4%BB%B6%E7%B1%BB%E5%9E%8B)
61
+ * @default *
62
+ */
63
+ accept: string
64
+ /**
65
+ * 是否禁用文件上传
66
+ * @default false
67
+ */
68
+ disabled: boolean
69
+ /**
70
+ * 是否在选取文件后立即进行上传,false 时需要手动执行 ref submit 方法进行上传
71
+ * @default true
72
+ */
73
+ autoUpload: boolean
74
+ /**
75
+ * 是否支持文件多选
76
+ * @default false
77
+ */
78
+ multiple: boolean
79
+ /**
80
+ * 超时时间,单位为毫秒
81
+ * @default 1000 * 30
82
+ */
83
+ timeout: number
84
+ /**
85
+ * 附加上传的信息 formData
86
+ * @default {}
87
+ */
88
+ data: any
89
+ /**
90
+ * 上传请求的 http method
91
+ * @default 'post'
92
+ */
93
+ method: string
94
+ /**
95
+ * 接口响应的成功状态(status)值
96
+ * @default 200
97
+ */
98
+ xhrState: number | string
99
+ /**
100
+ * 设置上传的请求头部
101
+ * @default {}
102
+ */
103
+ headers: any
104
+ /**
105
+ * 支持发送 cookie 凭证信息
106
+ * @default false
107
+ */
108
+ withCredentials: boolean
109
+ /**
110
+ * 是否需要清空input内容,设为true支持重复选择上传同一个文件
111
+ * @default true
112
+ */
113
+ clearInput: boolean
114
+ /**
115
+ * 是否上传成功后展示预览图
116
+ * @default true
117
+ */
118
+ preview: boolean
119
+ /**
120
+ * 是否展示删除按钮
121
+ * @default true
122
+ */
123
+ deletable: boolean
124
+ /**
125
+ * 图片[选取模式](https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/input#htmlattrdefcapture),直接调起摄像头
126
+ * @default false
127
+ */
128
+ capture: boolean
33
129
  className: string;
34
- previewUrl?: string;
130
+ /**
131
+ * 当上传非图片('image')格式的默认图片地址
132
+ * @default ''
133
+ */
134
+ previewUrl?: string
35
135
  style: React.CSSProperties;
36
- onStart?: (option: UploadOptions) => void;
37
- onDelete?: (file: FileItem, fileList: FileItem[]) => void;
136
+ /**
137
+ * 文件上传开始
138
+ * @default
139
+ */
140
+ onStart?: (option: UploadOptions) => void
141
+ /**
142
+ * 文件删除之前的状态
143
+ * @default
144
+ */
145
+ onDelete?: (file: FileItem, fileList: FileItem[]) => void
146
+ /**
147
+ * 上传成功
148
+ * @default
149
+ */
38
150
  onSuccess?: (param: {
39
151
  responseText: XMLHttpRequest['responseText'];
40
152
  option: UploadOptions;
41
153
  fileList: FileItem[];
42
- }) => void;
154
+ }) => void
155
+ /**
156
+ * 文件上传的进度
157
+ * @default
158
+ */
43
159
  onProgress?: (param: {
44
160
  e: ProgressEvent<XMLHttpRequestEventTarget>;
45
161
  option: UploadOptions;
46
162
  percentage: string | number;
47
- }) => void;
163
+ }) => void
164
+ /**
165
+ * 上传失败
166
+ * @default
167
+ */
48
168
  onFailure?: (param: {
49
169
  responseText: XMLHttpRequest['responseText'];
50
170
  option: UploadOptions;
51
171
  fileList: FileItem[];
52
- }) => void;
172
+ }) => void
53
173
  onUpdate?: (fileList: FileItem[]) => void;
54
- onOversize?: (file: File[]) => void;
174
+ /**
175
+ * 文件大小超过限制时触发
176
+ * @default
177
+ */
178
+ onOversize?: (file: File[]) => void
179
+ /**
180
+ * 上传文件改变时的状态
181
+ * @default
182
+ */
55
183
  onChange?: (param: {
56
184
  fileList: FileItem[];
57
185
  event: React.ChangeEvent<HTMLInputElement>;
58
- }) => void;
59
- beforeUpload?: (file: File[]) => Promise<File[] | boolean>;
60
- beforeXhrUpload?: (xhr: XMLHttpRequest, options: any) => void;
61
- beforeDelete?: (file: FileItem, files: FileItem[]) => boolean;
62
- onFileItemClick?: (file: FileItem) => void;
186
+ }) => void
187
+ /**
188
+ * 上传前的函数需要返回一个Promise对象
189
+ * @default -
190
+ */
191
+ beforeUpload?: (file: File[]) => Promise<File[] | boolean>
192
+ /**
193
+ * 执行 XHR 上传时,自定义方式
194
+ * @default -
195
+ */
196
+ beforeXhrUpload?: (xhr: XMLHttpRequest, options: any) => void
197
+ /**
198
+ * 除文件时的回调,返回值为 false 时不移除。支持返回一个 Promise 对象,Promise 对象 resolve(false) 或 reject 时不移除
199
+ * @default -
200
+ */
201
+ beforeDelete?: (file: FileItem, files: FileItem[]) => boolean
202
+ /**
203
+ * 文件上传成功后点击触发
204
+ * @default
205
+ */
206
+ onFileItemClick?: (file: FileItem) => void
63
207
  }
64
208
  export declare class FileItem {
65
209
  status: FileItemStatus;
@@ -1,2 +1,3 @@
1
1
  import { Video } from './video';
2
+ export type { VideoProps } from './video';
2
3
  export default Video;
@@ -1,9 +1,18 @@
1
1
  import React, { FunctionComponent } from 'react';
2
- export interface VideoProps {
2
+ import { BasicComponent } from '../../utils/typings';
3
+ export interface VideoProps extends BasicComponent {
4
+ /**
5
+ * 视频地址和类型设置
6
+ * @default {type: {}, src: ''}
7
+ */
3
8
  source: {
4
9
  type: string;
5
10
  src: string;
6
- };
11
+ }
12
+ /**
13
+ * 控制视频播放属性
14
+ * @default -
15
+ */
7
16
  options: {
8
17
  controls?: boolean;
9
18
  muted?: boolean;
@@ -11,14 +20,21 @@ export interface VideoProps {
11
20
  poster?: string;
12
21
  playsinline?: boolean;
13
22
  loop?: boolean;
14
- };
15
- className: string;
16
- style: React.CSSProperties;
17
- play: (e: HTMLVideoElement) => void;
18
- pause: (e: HTMLVideoElement) => void;
19
- playend: (e: HTMLVideoElement) => void;
20
- onPlay: (e: HTMLVideoElement) => void;
21
- onPause: (e: HTMLVideoElement) => void;
22
- onPlayEnd: (e: HTMLVideoElement) => void;
23
+ }
24
+ /**
25
+ * 播放
26
+ * @default -
27
+ */
28
+ onPlay: (element: HTMLVideoElement) => void
29
+ /**
30
+ * 暂停
31
+ * @default -
32
+ */
33
+ onPause: (element: HTMLVideoElement) => void
34
+ /**
35
+ * 播放完成回调
36
+ * @default -
37
+ */
38
+ onPlayEnd: (element: HTMLVideoElement) => void
23
39
  }
24
40
  export declare const Video: FunctionComponent<Partial<VideoProps> & Omit<React.HTMLAttributes<HTMLDivElement>, 'onPause' | 'onPlay'>>;
@@ -1,2 +1,3 @@
1
1
  import { VirtualList } from './virtuallist';
2
+ export type { VirtualListProps } from './virtuallist';
2
3
  export default VirtualList;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  export type Data = any;
3
2
  export interface VirtualListState {
4
3
  startOffset: number;
@@ -15,20 +14,3 @@ export interface PositionType {
15
14
  left?: number;
16
15
  right: number;
17
16
  }
18
- export interface BasicVirtualListProps {
19
- className?: string;
20
- style?: React.CSSProperties;
21
- sourceData: Array<Data>;
22
- containerSize?: number;
23
- ItemRender?: React.FC<any>;
24
- itemSize?: number;
25
- itemEqualSize?: boolean;
26
- horizontal?: boolean;
27
- overscan?: number;
28
- handleScroll?: (...args: any[]) => any;
29
- onScroll?: (...args: any[]) => any;
30
- key?: string;
31
- locale?: {
32
- [key in string]: string;
33
- };
34
- }