@zjpcy/simple-design 1.5.9 → 1.8.2

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 (294) hide show
  1. package/README.md +178 -26
  2. package/dist/cjs/components/Anchor/index.js +1 -0
  3. package/dist/cjs/components/Breadcrumb/index.js +1 -0
  4. package/dist/cjs/components/Button/Button.js +1 -0
  5. package/dist/cjs/components/Calendar/index.js +1 -0
  6. package/dist/cjs/components/Carousel/index.js +1 -0
  7. package/dist/cjs/components/Cascader/index.js +1 -0
  8. package/dist/cjs/components/Checkbox/index.js +1 -0
  9. package/dist/cjs/components/ColorPicker/ColorPickerPanel.js +1 -0
  10. package/dist/cjs/components/ColorPicker/index.js +1 -0
  11. package/dist/cjs/components/CopyToClipboard/index.js +1 -0
  12. package/dist/cjs/components/DatePicker/RangePicker.js +1 -0
  13. package/dist/cjs/components/DatePicker/index.js +1 -0
  14. package/dist/cjs/components/DatePicker/styles.js +1 -0
  15. package/dist/cjs/components/Divider/index.js +1 -0
  16. package/dist/cjs/components/Drawer/index.js +1 -0
  17. package/dist/cjs/components/Dropdown/index.js +1 -0
  18. package/dist/cjs/components/Empty/index.js +1 -0
  19. package/dist/cjs/components/Flex/index.js +1 -0
  20. package/dist/cjs/components/Form/index.js +1 -0
  21. package/dist/cjs/components/Form/styles.js +1 -0
  22. package/dist/cjs/components/Grid/index.js +1 -0
  23. package/dist/cjs/components/Grid/styles.js +1 -0
  24. package/dist/cjs/components/Hooks/useClickOutside.js +1 -0
  25. package/dist/cjs/components/Hooks/useCopy.js +1 -0
  26. package/dist/cjs/components/Icon/Icon.js +1 -0
  27. package/dist/cjs/components/Icon/index.js +1 -0
  28. package/dist/cjs/components/Icon/path.js +1 -0
  29. package/dist/cjs/components/Input/InputBase.js +1 -0
  30. package/dist/cjs/components/Input/Number.js +1 -0
  31. package/dist/cjs/components/Input/Password.js +1 -0
  32. package/dist/cjs/components/Input/Search.js +1 -0
  33. package/dist/cjs/components/Input/Textarea.js +1 -0
  34. package/dist/cjs/components/Input/index.js +1 -0
  35. package/dist/cjs/components/Label/index.js +1 -0
  36. package/dist/cjs/components/Label/styles.js +1 -0
  37. package/dist/cjs/components/Layout/LayoutContext.js +1 -0
  38. package/dist/cjs/components/Layout/index.js +1 -0
  39. package/dist/cjs/components/Layout/styles.js +1 -0
  40. package/dist/cjs/components/Marquee/index.js +1 -0
  41. package/dist/cjs/components/Masonry/index.js +1 -0
  42. package/dist/cjs/components/Menu/index.js +1 -0
  43. package/dist/cjs/components/Message/Message.js +1 -0
  44. package/dist/cjs/components/Message/index.js +1 -0
  45. package/dist/cjs/components/Modal/index.js +1 -0
  46. package/dist/cjs/components/Notification/Notification.js +1 -0
  47. package/dist/cjs/components/Pagination/index.js +1 -0
  48. package/dist/cjs/components/Popconfirm/index.js +1 -0
  49. package/dist/cjs/components/Progress/index.js +1 -0
  50. package/dist/cjs/components/Radio/index.js +1 -0
  51. package/dist/cjs/components/Rate/index.js +1 -0
  52. package/dist/cjs/components/Select/index.js +1 -0
  53. package/dist/cjs/components/Select/styles.js +1 -0
  54. package/dist/cjs/components/Slider/index.js +1 -0
  55. package/dist/cjs/components/Space/index.js +1 -0
  56. package/dist/cjs/components/Spin/index.js +1 -0
  57. package/dist/cjs/components/Splitter/index.js +1 -0
  58. package/dist/cjs/components/Splitter/styles.js +1 -0
  59. package/dist/cjs/components/Steps/index.js +1 -0
  60. package/dist/cjs/components/Switch/index.js +1 -0
  61. package/dist/cjs/components/Switch/styles.js +1 -0
  62. package/dist/cjs/components/Table/SortableRow.js +1 -0
  63. package/dist/cjs/components/Table/index.js +1 -0
  64. package/dist/cjs/components/Tabs/index.js +1 -0
  65. package/dist/cjs/components/Tag/index.js +1 -0
  66. package/dist/cjs/components/TimePicker/RangePicker.js +1 -0
  67. package/dist/cjs/components/TimePicker/TimePickerPanel.js +1 -0
  68. package/dist/cjs/components/TimePicker/index.js +1 -0
  69. package/dist/cjs/components/Tooltip/Tooltip.js +1 -0
  70. package/dist/cjs/components/Top/index.js +1 -0
  71. package/dist/cjs/components/Transfer/index.js +1 -0
  72. package/dist/cjs/components/Transfer/styles.js +1 -0
  73. package/dist/cjs/components/Tree/index.js +1 -0
  74. package/dist/cjs/components/TreeSelect/index.js +1 -0
  75. package/dist/cjs/components/TreeSelect/styles.js +1 -0
  76. package/dist/cjs/components/Typography/index.js +1 -0
  77. package/dist/cjs/components/Upload/index.js +1 -0
  78. package/dist/cjs/components/Upload/useChunkUpload.js +1 -0
  79. package/dist/cjs/components/index.js +1 -0
  80. package/dist/cjs/i18n/I18nProvider.js +1 -0
  81. package/dist/cjs/i18n/index.js +1 -0
  82. package/dist/cjs/i18n/locales/en-US.json.js +1 -0
  83. package/dist/cjs/i18n/locales/zh-CN.json.js +1 -0
  84. package/dist/cjs/index.css +11690 -6040
  85. package/dist/es/components/Anchor/index.js +1 -0
  86. package/dist/es/components/Button/Button.js +1 -0
  87. package/dist/es/components/Calendar/index.js +1 -0
  88. package/dist/es/components/Carousel/index.js +1 -0
  89. package/dist/es/components/Cascader/index.js +1 -0
  90. package/dist/es/components/Checkbox/index.js +1 -0
  91. package/dist/es/components/ColorPicker/ColorPickerPanel.js +1 -0
  92. package/dist/es/components/ColorPicker/index.js +1 -0
  93. package/dist/es/components/CopyToClipboard/index.js +1 -0
  94. package/dist/es/components/DatePicker/RangePicker.js +1 -0
  95. package/dist/es/components/DatePicker/index.js +1 -0
  96. package/dist/es/components/DatePicker/styles.js +1 -0
  97. package/dist/es/components/Divider/index.js +1 -0
  98. package/dist/es/components/Drawer/index.js +1 -0
  99. package/dist/es/components/Flex/index.js +1 -0
  100. package/dist/es/components/Form/index.js +1 -0
  101. package/dist/es/components/Form/styles.js +1 -0
  102. package/dist/es/components/Grid/index.js +1 -0
  103. package/dist/es/components/Grid/styles.js +1 -0
  104. package/dist/es/components/Hooks/useCopy.js +1 -0
  105. package/dist/es/components/Icon/Icon.js +1 -0
  106. package/dist/es/components/Input/InputBase.js +1 -0
  107. package/dist/es/components/Input/Number.js +1 -0
  108. package/dist/es/components/Input/Password.js +1 -0
  109. package/dist/es/components/Input/Search.js +1 -0
  110. package/dist/es/components/Input/Textarea.js +1 -0
  111. package/dist/es/components/Label/index.js +1 -0
  112. package/dist/es/components/Label/styles.js +1 -0
  113. package/dist/es/components/Layout/index.js +1 -0
  114. package/dist/es/components/Layout/styles.js +1 -0
  115. package/dist/es/components/Marquee/index.js +1 -0
  116. package/dist/es/components/Masonry/index.js +1 -0
  117. package/dist/es/components/Menu/index.js +1 -0
  118. package/dist/es/components/Message/index.js +1 -0
  119. package/dist/es/components/Modal/index.js +1 -0
  120. package/dist/es/components/Notification/Notification.js +1 -0
  121. package/dist/es/components/Popconfirm/index.js +1 -0
  122. package/dist/es/components/Progress/index.js +1 -0
  123. package/dist/es/components/Radio/index.js +1 -0
  124. package/dist/es/components/Select/index.js +1 -0
  125. package/dist/es/components/Select/styles.js +1 -0
  126. package/dist/es/components/Slider/index.js +1 -0
  127. package/dist/es/components/Space/index.js +1 -0
  128. package/dist/es/components/Splitter/index.js +1 -0
  129. package/dist/es/components/Splitter/styles.js +1 -0
  130. package/dist/es/components/Steps/index.js +1 -0
  131. package/dist/es/components/Switch/index.js +1 -0
  132. package/dist/es/components/Switch/styles.js +1 -0
  133. package/dist/es/components/Table/SortableRow.js +1 -0
  134. package/dist/es/components/Table/index.js +1 -0
  135. package/dist/es/components/Tabs/index.js +1 -0
  136. package/dist/es/components/Tag/index.js +1 -0
  137. package/dist/es/components/TimePicker/RangePicker.js +1 -0
  138. package/dist/es/components/TimePicker/TimePickerPanel.js +1 -0
  139. package/dist/es/components/TimePicker/index.js +1 -0
  140. package/dist/es/components/Tooltip/Tooltip.js +1 -0
  141. package/dist/es/components/Top/index.js +1 -0
  142. package/dist/es/components/Transfer/index.js +1 -0
  143. package/dist/es/components/Transfer/styles.js +1 -0
  144. package/dist/es/components/Tree/index.js +1 -0
  145. package/dist/es/components/TreeSelect/index.js +1 -0
  146. package/dist/es/components/TreeSelect/styles.js +1 -0
  147. package/dist/es/components/Typography/index.js +1 -0
  148. package/dist/es/components/Upload/index.js +1 -0
  149. package/dist/es/components/Upload/useChunkUpload.js +1 -0
  150. package/dist/es/components/index.js +1 -0
  151. package/dist/es/i18n/I18nProvider.js +1 -0
  152. package/dist/es/i18n/index.js +1 -0
  153. package/dist/es/i18n/locales/en-US.json.js +1 -0
  154. package/dist/es/i18n/locales/zh-CN.json.js +1 -0
  155. package/dist/es/index.css +11690 -6040
  156. package/dist/i18n/locales/en-US.json +2 -3
  157. package/dist/i18n/locales/zh-CN.json +1 -1
  158. package/dist/types/components/ColorPicker/ColorPickerPanel.d.ts +21 -0
  159. package/dist/types/components/DatePicker/styles.d.ts +118 -152
  160. package/dist/types/components/Form/styles.d.ts +84 -22
  161. package/dist/types/components/Grid/styles.d.ts +36 -6
  162. package/dist/types/components/Label/styles.d.ts +16 -1
  163. package/dist/types/components/Label/types.d.ts +1 -0
  164. package/dist/types/components/Layout/styles.d.ts +131 -41
  165. package/dist/types/components/Marquee/index.d.ts +1 -1
  166. package/dist/types/components/Message/index.d.ts +1 -1
  167. package/dist/types/components/Select/styles.d.ts +254 -44
  168. package/dist/types/components/Switch/index.d.ts +1 -0
  169. package/dist/types/components/Switch/styles.d.ts +116 -35
  170. package/dist/types/components/Switch/types.d.ts +4 -0
  171. package/dist/types/components/TimePicker/styles.d.ts +153 -25
  172. package/dist/types/components/Top/index.d.ts +1 -1
  173. package/dist/types/components/Transfer/styles.d.ts +205 -66
  174. package/dist/types/components/TreeSelect/index.d.ts +1 -0
  175. package/dist/types/components/TreeSelect/styles.d.ts +295 -55
  176. package/dist/types/components/TreeSelect/types.d.ts +3 -1
  177. package/dist/types/components/Upload/index.d.ts +2 -2
  178. package/dist/types/components/Upload/styles.d.ts +150 -24
  179. package/dist/types/components/Upload/types.d.ts +279 -15
  180. package/dist/types/components/Upload/useChunkUpload.d.ts +27 -0
  181. package/dist/types/components/index.d.ts +4 -3
  182. package/dist/types/i18n/index.d.ts +1 -1
  183. package/dist/types/utils/dnd-kit-adapter.d.ts +2 -0
  184. package/dist/types/utils/i18n-adapter.d.ts +5 -0
  185. package/dist/types/utils/lunar-adapter.d.ts +2 -0
  186. package/package.json +31 -15
  187. package/dist/cjs/index.js +0 -1
  188. package/dist/es/Anchor/index.js +0 -1
  189. package/dist/es/Button/Button.js +0 -1
  190. package/dist/es/Calendar/index.js +0 -1
  191. package/dist/es/Carousel/index.js +0 -1
  192. package/dist/es/Cascader/index.js +0 -1
  193. package/dist/es/Checkbox/index.js +0 -1
  194. package/dist/es/ColorPicker/index.js +0 -1
  195. package/dist/es/CopyToClipboard/index.js +0 -1
  196. package/dist/es/DatePicker/RangePicker.js +0 -1
  197. package/dist/es/DatePicker/index.js +0 -1
  198. package/dist/es/DatePicker/styles.js +0 -1
  199. package/dist/es/Divider/index.js +0 -1
  200. package/dist/es/Drawer/index.js +0 -1
  201. package/dist/es/Flex/index.js +0 -1
  202. package/dist/es/Form/index.js +0 -1
  203. package/dist/es/Form/styles.js +0 -1
  204. package/dist/es/Grid/index.js +0 -1
  205. package/dist/es/Grid/styles.js +0 -1
  206. package/dist/es/Hooks/useCopy.js +0 -1
  207. package/dist/es/Icon/Icon.js +0 -1
  208. package/dist/es/Input/InputBase.js +0 -1
  209. package/dist/es/Input/Number.js +0 -1
  210. package/dist/es/Input/Password.js +0 -1
  211. package/dist/es/Input/Search.js +0 -1
  212. package/dist/es/Input/Textarea.js +0 -1
  213. package/dist/es/Label/index.js +0 -1
  214. package/dist/es/Label/styles.js +0 -1
  215. package/dist/es/Layout/index.js +0 -1
  216. package/dist/es/Layout/styles.js +0 -1
  217. package/dist/es/Marquee/index.js +0 -1
  218. package/dist/es/Masonry/index.js +0 -1
  219. package/dist/es/Menu/index.js +0 -1
  220. package/dist/es/Message/index.js +0 -1
  221. package/dist/es/Modal/index.js +0 -1
  222. package/dist/es/Notice/Notice.js +0 -1
  223. package/dist/es/Notification/Notification.js +0 -1
  224. package/dist/es/Popconfirm/index.js +0 -1
  225. package/dist/es/Progress/index.js +0 -1
  226. package/dist/es/Radio/index.js +0 -1
  227. package/dist/es/Select/index.js +0 -1
  228. package/dist/es/Select/styles.js +0 -1
  229. package/dist/es/Slider/index.js +0 -1
  230. package/dist/es/Space/index.js +0 -1
  231. package/dist/es/Splitter/index.js +0 -1
  232. package/dist/es/Splitter/styles.js +0 -1
  233. package/dist/es/Steps/index.js +0 -1
  234. package/dist/es/Switch/index.js +0 -1
  235. package/dist/es/Switch/styles.js +0 -1
  236. package/dist/es/Table/SortableRow.js +0 -1
  237. package/dist/es/Table/index.js +0 -1
  238. package/dist/es/Tabs/index.js +0 -1
  239. package/dist/es/Tag/index.js +0 -1
  240. package/dist/es/TimePicker/RangePicker.js +0 -1
  241. package/dist/es/TimePicker/TimePickerPanel.js +0 -1
  242. package/dist/es/TimePicker/index.js +0 -1
  243. package/dist/es/Tooltip/Tooltip.js +0 -1
  244. package/dist/es/Top/index.js +0 -1
  245. package/dist/es/Transfer/index.js +0 -1
  246. package/dist/es/Transfer/styles.js +0 -1
  247. package/dist/es/Tree/index.js +0 -1
  248. package/dist/es/TreeSelect/index.js +0 -1
  249. package/dist/es/TreeSelect/styles.js +0 -1
  250. package/dist/es/Typography/index.js +0 -1
  251. package/dist/es/Upload/index.js +0 -1
  252. package/dist/es/_virtual/index.js +0 -1
  253. package/dist/es/_virtual/index2.js +0 -1
  254. package/dist/es/_virtual/use-sync-external-store-shim.development.js +0 -1
  255. package/dist/es/_virtual/use-sync-external-store-shim.production.js +0 -1
  256. package/dist/es/index.js +0 -1
  257. package/dist/es/node_modules/i18next/dist/esm/i18next.js +0 -1
  258. package/dist/es/node_modules/react-fast-marquee/dist/index.js +0 -1
  259. package/dist/es/node_modules/react-i18next/dist/es/I18nextProvider.js +0 -1
  260. package/dist/es/node_modules/react-i18next/dist/es/context.js +0 -1
  261. package/dist/es/node_modules/react-i18next/dist/es/defaults.js +0 -1
  262. package/dist/es/node_modules/react-i18next/dist/es/i18nInstance.js +0 -1
  263. package/dist/es/node_modules/react-i18next/dist/es/initReactI18next.js +0 -1
  264. package/dist/es/node_modules/react-i18next/dist/es/unescape.js +0 -1
  265. package/dist/es/node_modules/react-i18next/dist/es/useTranslation.js +0 -1
  266. package/dist/es/node_modules/react-i18next/dist/es/utils.js +0 -1
  267. package/dist/es/node_modules/react-icons/fa/index.js +0 -1
  268. package/dist/es/node_modules/react-icons/io5/index.js +0 -1
  269. package/dist/es/node_modules/react-icons/lib/iconBase.js +0 -1
  270. package/dist/es/node_modules/react-icons/lib/iconContext.js +0 -1
  271. package/dist/es/node_modules/tslib/tslib.es6.js +0 -1
  272. package/dist/es/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js +0 -1
  273. package/dist/es/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js +0 -1
  274. package/dist/es/node_modules/use-sync-external-store/shim/index.js +0 -1
  275. package/dist/es/src/i18n/I18nProvider.js +0 -1
  276. package/dist/es/src/i18n/index.js +0 -1
  277. package/dist/es/src/i18n/locales/en-US.json.js +0 -1
  278. package/dist/es/src/i18n/locales/zh-CN.json.js +0 -1
  279. package/dist/types/components/Drawer/styles.d.ts +0 -0
  280. package/dist/types/components/Menu/styles.d.ts +0 -7
  281. package/dist/types/components/Notice/Notice.d.ts +0 -18
  282. package/dist/types/components/Progress/styles.d.ts +0 -0
  283. /package/dist/es/{Breadcrumb → components/Breadcrumb}/index.js +0 -0
  284. /package/dist/es/{Dropdown → components/Dropdown}/index.js +0 -0
  285. /package/dist/es/{Empty → components/Empty}/index.js +0 -0
  286. /package/dist/es/{Hooks → components/Hooks}/useClickOutside.js +0 -0
  287. /package/dist/es/{Icon → components/Icon}/index.js +0 -0
  288. /package/dist/es/{Icon → components/Icon}/path.js +0 -0
  289. /package/dist/es/{Input → components/Input}/index.js +0 -0
  290. /package/dist/es/{Layout → components/Layout}/LayoutContext.js +0 -0
  291. /package/dist/es/{Message → components/Message}/Message.js +0 -0
  292. /package/dist/es/{Pagination → components/Pagination}/index.js +0 -0
  293. /package/dist/es/{Rate → components/Rate}/index.js +0 -0
  294. /package/dist/es/{Spin → components/Spin}/index.js +0 -0
@@ -1,15 +1,99 @@
1
1
  import React from 'react';
2
+ /**
3
+ * Upload 组件样式配置
4
+ */
5
+ export interface UploadStyles {
6
+ /** 上传容器自定义样式 */
7
+ wrapper?: React.CSSProperties;
8
+ /** 拖拽区域自定义样式 */
9
+ dragArea?: React.CSSProperties;
10
+ /** 拖拽图标自定义样式 */
11
+ dragIcon?: React.CSSProperties;
12
+ /** 拖拽文本自定义样式 */
13
+ dragText?: React.CSSProperties;
14
+ /** 拖拽提示自定义样式 */
15
+ dragHint?: React.CSSProperties;
16
+ /** 文件列表容器自定义样式 */
17
+ list?: React.CSSProperties;
18
+ /** 文件列表项自定义样式 */
19
+ listItem?: React.CSSProperties;
20
+ /** 文件信息区域自定义样式 */
21
+ listItemInfo?: React.CSSProperties;
22
+ /** 文件名自定义样式 */
23
+ listItemName?: React.CSSProperties;
24
+ /** 文件图标自定义样式 */
25
+ listItemIcon?: React.CSSProperties;
26
+ /** 文件操作区域自定义样式 */
27
+ listItemActions?: React.CSSProperties;
28
+ /** 文件操作按钮自定义样式 */
29
+ listItemAction?: React.CSSProperties;
30
+ /** 进度条容器自定义样式 */
31
+ progress?: React.CSSProperties;
32
+ /** 进度条自定义样式 */
33
+ progressBar?: React.CSSProperties;
34
+ }
35
+ /**
36
+ * 上传文件对象
37
+ */
2
38
  export interface UploadFile {
39
+ /** 文件唯一标识 */
3
40
  uid: string;
41
+ /** 文件名 */
4
42
  name: string;
43
+ /** 文件大小(字节) */
5
44
  size: number;
45
+ /** 文件类型 */
6
46
  type: string;
47
+ /** 上传状态 */
7
48
  status?: 'ready' | 'uploading' | 'success' | 'error';
49
+ /** 上传进度(0-100) */
8
50
  percent?: number;
51
+ /** 上传响应数据 */
9
52
  response?: any;
53
+ /** 上传错误信息 */
10
54
  error?: Error;
55
+ /** 原始文件对象 */
11
56
  raw?: File;
12
57
  }
58
+ /**
59
+ * 显示上传列表配置
60
+ */
61
+ export interface ShowUploadListType {
62
+ /** 是否显示删除图标 */
63
+ showRemoveIcon?: boolean;
64
+ /** 是否显示预览图标 */
65
+ showPreviewIcon?: boolean;
66
+ /** 是否显示下载图标 */
67
+ showDownloadIcon?: boolean;
68
+ }
69
+ /**
70
+ * 上传请求配置选项
71
+ */
72
+ export interface UploadRequestOptions {
73
+ /** 上传地址 */
74
+ action: string;
75
+ /** 文件字段名 */
76
+ filename: string;
77
+ /** 文件对象 */
78
+ file: File;
79
+ /** 额外数据 */
80
+ data?: Record<string, any>;
81
+ /** 请求头 */
82
+ headers?: Record<string, string>;
83
+ /** 是否携带 cookie */
84
+ withCredentials?: boolean;
85
+ /** 进度回调 */
86
+ onProgress: (percent: number) => void;
87
+ /** 成功回调 */
88
+ onSuccess: (response: any) => void;
89
+ /** 错误回调 */
90
+ onError: (error: Error) => void;
91
+ /** 请求方法 */
92
+ method: string;
93
+ }
94
+ /**
95
+ * 上传组件 Props
96
+ */
13
97
  export interface UploadProps {
14
98
  /** 上传地址 */
15
99
  action?: string;
@@ -17,7 +101,7 @@ export interface UploadProps {
17
101
  defaultFileList?: UploadFile[];
18
102
  /** 已经上传的文件列表(受控) */
19
103
  fileList?: UploadFile[];
20
- /** 上传文件改变时的状态 */
104
+ /** 上传文件改变时的回调 */
21
105
  onChange?: (fileList: UploadFile[]) => void;
22
106
  /** 上传文件之前的钩子,参数为上传的文件 */
23
107
  beforeUpload?: (file: File, fileList: File[]) => boolean | Promise<File>;
@@ -50,7 +134,9 @@ export interface UploadProps {
50
134
  /** 上传组件的类名 */
51
135
  className?: string;
52
136
  /** 自定义上传方法 */
53
- customRequest?: (options: UploadRequestOptions) => void;
137
+ customRequest?: (options: UploadRequestOptions) => {
138
+ abort: () => void;
139
+ } | void;
54
140
  /** 文件列表渲染 */
55
141
  itemRender?: (file: UploadFile, fileList: UploadFile[]) => React.ReactNode;
56
142
  /** 是否显示文件列表 */
@@ -61,30 +147,208 @@ export interface UploadProps {
61
147
  children?: React.ReactNode;
62
148
  /** 最大上传文件数量 */
63
149
  maxCount?: number;
150
+ /** 自定义样式 */
151
+ customStyles?: UploadStyles;
152
+ /** 是否启用分片上传 */
153
+ chunked?: boolean;
154
+ /** 分片上传配置 */
155
+ chunkOptions?: ChunkOptions;
156
+ /** 合并分片接口地址(分片上传时使用) */
157
+ mergeAction?: string;
158
+ /** 自定义分片上传方法 */
159
+ customChunkRequest?: (options: ChunkUploadRequestOptions) => {
160
+ abort: () => void;
161
+ } | void;
162
+ /** 自定义合并分片方法 */
163
+ customMergeRequest?: (options: MergeChunksRequestOptions) => {
164
+ abort: () => void;
165
+ } | void;
166
+ /** 分片上传进度回调 */
167
+ onChunkProgress?: (chunkIndex: number, percent: number, file: UploadFile) => void;
168
+ /** 分片上传成功回调 */
169
+ onChunkSuccess?: (chunkIndex: number, response: any, file: UploadFile) => void;
170
+ /** 分片上传失败回调 */
171
+ onChunkError?: (chunkIndex: number, error: Error, file: UploadFile) => void;
64
172
  }
65
- export interface ShowUploadListType {
66
- showRemoveIcon?: boolean;
67
- showPreviewIcon?: boolean;
68
- showDownloadIcon?: boolean;
173
+ /**
174
+ * 上传列表组件 Props
175
+ */
176
+ export interface UploadListProps {
177
+ /** 文件列表 */
178
+ fileList: UploadFile[];
179
+ /** 移除文件回调 */
180
+ onRemove: (file: UploadFile) => void;
181
+ /** 是否显示文件列表 */
182
+ showUploadList?: boolean | ShowUploadListType;
183
+ /** 自定义渲染文件列表 */
184
+ itemRender?: (file: UploadFile, fileList: UploadFile[]) => React.ReactNode;
69
185
  }
70
- export interface UploadRequestOptions {
186
+ /**
187
+ * 拖拽上传组件 Props
188
+ */
189
+ export interface UploadDragProps extends Omit<UploadProps, 'drag'> {
190
+ /** 子元素 */
191
+ children?: React.ReactNode;
192
+ }
193
+ /**
194
+ * 分片字段名配置
195
+ */
196
+ export interface ChunkFieldNames {
197
+ /** 分片索引字段名,默认 'chunkIndex' */
198
+ chunkIndex?: string;
199
+ /** 总分片数字段名,默认 'totalChunks' */
200
+ totalChunks?: string;
201
+ /** 文件唯一标识字段名,默认 'fileId' */
202
+ fileId?: string;
203
+ /** 文件名字段名,默认 'fileName' */
204
+ fileName?: string;
205
+ /** 文件大小字段名,默认 'fileSize' */
206
+ fileSize?: string;
207
+ /** 其他自定义字段 */
208
+ [x: string]: string | undefined;
209
+ }
210
+ /**
211
+ * 合并分片字段名配置
212
+ */
213
+ export interface MergeFieldNames {
214
+ /** 文件唯一标识字段名,默认 'fileId' */
215
+ fileId?: string;
216
+ /** 文件名字段名,默认 'filename' */
217
+ filename?: string;
218
+ /** 总分片数字段名,默认 'totalChunks' */
219
+ totalChunks?: string;
220
+ /** 文件总大小字段名,默认 'totalSize' */
221
+ totalSize?: string;
222
+ /** 其他自定义字段 */
223
+ [x: string]: string | undefined;
224
+ }
225
+ /**
226
+ * 分片配置选项
227
+ */
228
+ export interface ChunkOptions {
229
+ /** 每个分片的大小(字节),默认 2MB */
230
+ chunkSize?: number;
231
+ /** 同时上传的分片数量,默认 3 */
232
+ concurrency?: number;
233
+ /** 是否支持断点续传 */
234
+ resumable?: boolean;
235
+ /** 重试次数 */
236
+ retryCount?: number;
237
+ /** 重试延迟(毫秒) */
238
+ retryDelay?: number;
239
+ /** 分片字段名配置 */
240
+ fieldNames?: ChunkFieldNames;
241
+ /** 合并分片字段名配置 */
242
+ mergeFieldNames?: MergeFieldNames;
243
+ }
244
+ /**
245
+ * 分片信息
246
+ */
247
+ export interface ChunkInfo {
248
+ /** 分片索引 */
249
+ index: number;
250
+ /** 分片起始字节位置 */
251
+ start: number;
252
+ /** 分片结束字节位置 */
253
+ end: number;
254
+ /** 分片大小 */
255
+ size: number;
256
+ /** 分片数据 */
257
+ blob: Blob;
258
+ /** 分片状态 */
259
+ status: 'pending' | 'uploading' | 'success' | 'error';
260
+ /** 重试次数 */
261
+ retryCount: number;
262
+ }
263
+ /**
264
+ * 分片上传状态
265
+ */
266
+ export interface ChunkUploadState {
267
+ /** 文件唯一标识 */
268
+ fileId: string;
269
+ /** 总分片数 */
270
+ totalChunks: number;
271
+ /** 已上传分片数 */
272
+ uploadedChunks: number;
273
+ /** 已上传分片索引集合 */
274
+ uploadedChunkIndices: Set<number>;
275
+ /** 分片列表 */
276
+ chunks: ChunkInfo[];
277
+ /** 整体进度(0-100) */
278
+ percent: number;
279
+ }
280
+ /**
281
+ * 分片上传请求参数
282
+ */
283
+ export interface ChunkUploadRequestOptions {
284
+ /** 上传地址 */
71
285
  action: string;
286
+ /** 文件字段名 */
72
287
  filename: string;
288
+ /** 文件对象 */
73
289
  file: File;
290
+ /** 文件唯一标识 */
291
+ fileId: string;
292
+ /** 当前分片 */
293
+ chunk: ChunkInfo;
294
+ /** 总分片数 */
295
+ totalChunks: number;
296
+ /** 额外数据 */
74
297
  data?: Record<string, any>;
298
+ /** 请求头 */
75
299
  headers?: Record<string, string>;
300
+ /** 是否携带 cookie */
76
301
  withCredentials?: boolean;
302
+ /** 请求方法 */
303
+ method: string;
304
+ /** 进度回调 */
77
305
  onProgress: (percent: number) => void;
306
+ /** 成功回调 */
78
307
  onSuccess: (response: any) => void;
308
+ /** 错误回调 */
79
309
  onError: (error: Error) => void;
80
- method: string;
81
310
  }
82
- export interface UploadListProps {
83
- fileList: UploadFile[];
84
- onRemove: (file: UploadFile) => void;
85
- showUploadList?: boolean | ShowUploadListType;
86
- itemRender?: (file: UploadFile, fileList: UploadFile[]) => React.ReactNode;
311
+ /**
312
+ * 合并分片请求参数
313
+ */
314
+ export interface MergeChunksRequestOptions {
315
+ /** 合并接口地址 */
316
+ action: string;
317
+ /** 文件唯一标识 */
318
+ fileId: string;
319
+ /** 文件名 */
320
+ filename: string;
321
+ /** 总分片数 */
322
+ totalChunks: number;
323
+ /** 文件总大小 */
324
+ totalSize: number;
325
+ /** 额外数据 */
326
+ data?: Record<string, any>;
327
+ /** 请求头 */
328
+ headers?: Record<string, string>;
329
+ /** 是否携带 cookie */
330
+ withCredentials?: boolean;
331
+ /** 成功回调 */
332
+ onSuccess: (response: any) => void;
333
+ /** 错误回调 */
334
+ onError: (error: Error) => void;
87
335
  }
88
- export interface UploadDragProps extends Omit<UploadProps, 'drag'> {
89
- children?: React.ReactNode;
336
+ /**
337
+ * 分片上传 hooks 返回类型
338
+ */
339
+ export interface UseChunkUploadReturn {
340
+ /** 开始分片上传 */
341
+ upload: (file: File) => Promise<void>;
342
+ /** 暂停上传 */
343
+ pause: () => void;
344
+ /** 恢复上传 */
345
+ resume: () => void;
346
+ /** 取消上传 */
347
+ abort: () => void;
348
+ /** 当前上传状态 */
349
+ state: ChunkUploadState | null;
350
+ /** 是否正在上传 */
351
+ isUploading: boolean;
352
+ /** 是否已暂停 */
353
+ isPaused: boolean;
90
354
  }
@@ -0,0 +1,27 @@
1
+ import { ChunkOptions, ChunkUploadRequestOptions, MergeChunksRequestOptions, UseChunkUploadReturn, UploadFile } from './types';
2
+ /**
3
+ * 分片上传 Hook
4
+ */
5
+ export declare const useChunkUpload: (options: {
6
+ action?: string;
7
+ mergeAction?: string;
8
+ filename?: string;
9
+ data?: Record<string, any> | ((file: File) => Record<string, any>);
10
+ headers?: Record<string, string>;
11
+ withCredentials?: boolean;
12
+ method?: string;
13
+ chunkOptions?: ChunkOptions;
14
+ customChunkRequest?: (options: ChunkUploadRequestOptions) => {
15
+ abort: () => void;
16
+ } | void;
17
+ customMergeRequest?: (options: MergeChunksRequestOptions) => {
18
+ abort: () => void;
19
+ } | void;
20
+ onProgress?: (percent: number, file: UploadFile) => void;
21
+ onSuccess?: (response: any, file: UploadFile) => void;
22
+ onError?: (error: Error, file: UploadFile) => void;
23
+ onChunkProgress?: (chunkIndex: number, percent: number, file: UploadFile) => void;
24
+ onChunkSuccess?: (chunkIndex: number, response: any, file: UploadFile) => void;
25
+ onChunkError?: (chunkIndex: number, error: Error, file: UploadFile) => void;
26
+ }) => UseChunkUploadReturn;
27
+ export default useChunkUpload;
@@ -22,12 +22,11 @@ export type { IconProps } from './Icon';
22
22
  export { default as Input, Textarea } from './Input';
23
23
  export type { InputProps, NumberInputProps, PasswordProps, TextareaProps } from './Input';
24
24
  export { default as Marquee } from './Marquee';
25
+ export type { MarqueeProps } from './Marquee';
25
26
  export { default as Message, MessageProvider, useMessage, message } from './Message';
26
27
  export type { MessageProps, MessageInstance, MessageType } from './Message/types';
27
28
  export { default as Modal } from './Modal';
28
29
  export type { ModalProps } from './Modal/types';
29
- export { default as Notice } from './Notice/Notice';
30
- export type { NoticeProps, NoticeType } from './Notice/Notice';
31
30
  export { default as Notification } from './Notification/Notification';
32
31
  export type { NotificationProps, NotificationPosition } from './Notification/types';
33
32
  export { default as Radio } from './Radio';
@@ -37,6 +36,7 @@ export type { SelectProps, SelectOption, TagRenderProps } from './Select/types';
37
36
  export { default as Table } from './Table';
38
37
  export type { TableProps, RowSelection, Column, PaginationProps as TablePaginationProps } from './Table';
39
38
  export { default as Top } from './Top';
39
+ export type { TopProps } from './Top';
40
40
  export { default as Typography } from './Typography';
41
41
  export type { TypographyProps } from './Typography/types';
42
42
  export { default as Masonry } from './Masonry';
@@ -97,7 +97,8 @@ export { default as Tree } from './Tree';
97
97
  export type { TreeProps, TreeNode, TreeNodeTooltip, TreeNodeProps, TreeState } from './Tree/types';
98
98
  export type { TreeRef } from './Tree';
99
99
  export { default as Upload } from './Upload';
100
- export type { UploadProps, UploadFile, UploadRequestOptions, ShowUploadListType, UploadListProps, UploadDragProps } from './Upload/types';
100
+ export { useChunkUpload } from './Upload/useChunkUpload';
101
+ export type { UploadProps, UploadFile, UploadRequestOptions, ShowUploadListType, UploadListProps, UploadDragProps, ChunkOptions, ChunkFieldNames, MergeFieldNames, ChunkInfo, ChunkUploadState, ChunkUploadRequestOptions, MergeChunksRequestOptions, UseChunkUploadReturn } from './Upload/types';
101
102
  export { default as Splitter } from './Splitter';
102
103
  export type { SplitterProps, SplitterPanel, DragState, PanelSizeInfo } from './Splitter/types';
103
104
  export { default as Calendar } from './Calendar';
@@ -1,3 +1,3 @@
1
- import i18n from 'i18next';
1
+ import { i18n } from '../utils/i18n-adapter';
2
2
  export declare function initializeI18n(resources: Record<string, any>): void;
3
3
  export default i18n;
@@ -0,0 +1,2 @@
1
+ export { useSortable, SortableContext, arrayMove, verticalListSortingStrategy, horizontalListSortingStrategy, sortableKeyboardCoordinates, } from '@dnd-kit/sortable';
2
+ export type { UseSortableArguments, SortableContextProps } from '@dnd-kit/sortable';
@@ -0,0 +1,5 @@
1
+ export { default as i18n } from 'i18next';
2
+ export * from 'i18next';
3
+ export { I18nextProvider, useTranslation, initReactI18next, Trans, withTranslation, Translation, } from 'react-i18next';
4
+ export type { i18n as I18n, Resource, TFunction, InitOptions, } from 'i18next';
5
+ export type { UseTranslationOptions, UseTranslationResponse, I18nextProviderProps, TransProps, WithTranslation, } from 'react-i18next';
@@ -0,0 +1,2 @@
1
+ export { Solar, Lunar, HolidayUtil } from 'lunar-typescript';
2
+ export type { Solar as SolarType, Lunar as LunarType } from 'lunar-typescript';
package/package.json CHANGED
@@ -1,11 +1,31 @@
1
1
  {
2
2
  "name": "@zjpcy/simple-design",
3
- "version": "1.5.9",
4
- "description": "IDP Studio Design System - React Component Library",
5
- "main": "dist/cjs/index.js",
6
- "module": "dist/es/index.js",
3
+ "version": "1.8.2",
4
+ "description": "zjpcy Studio Design System - React Component Library",
5
+ "main": "dist/cjs/components/index.js",
6
+ "module": "dist/es/components/index.js",
7
7
  "types": "dist/types/components/index.d.ts",
8
8
  "type": "module",
9
+ "sideEffects": [
10
+ "**/*.css"
11
+ ],
12
+ "exports": {
13
+ ".": {
14
+ "import": {
15
+ "types": "./dist/types/components/index.d.ts",
16
+ "default": "./dist/es/components/index.js"
17
+ },
18
+ "require": {
19
+ "types": "./dist/types/components/index.d.ts",
20
+ "default": "./dist/cjs/components/index.js"
21
+ }
22
+ },
23
+ "./dist/cjs/index.css": "./dist/es/index.css",
24
+ "./dist/es/index.css": "./dist/es/index.css",
25
+ "./dist/index.css": "./dist/es/index.css",
26
+ "./variables.css": "./dist/variables.css",
27
+ "./variables.less": "./dist/variables.less"
28
+ },
9
29
  "files": [
10
30
  "dist/**"
11
31
  ],
@@ -14,7 +34,7 @@
14
34
  "build": "rimraf dist && mkdir -p dist && tsc --emitDeclarationOnly --outDir dist/types --project tsconfig.build.json && rollup -c",
15
35
  "build:types": "tsc --emitDeclarationOnly --outDir dist/types --project tsconfig.build.json",
16
36
  "build:rollup": "rollup -c",
17
- "build:example": "webpack --config webpack.config.pro.cjs",
37
+ "build:web": "webpack --config webpack.config.pro.cjs",
18
38
  "prebuild": "rimraf dist",
19
39
  "lint": "eslint src --ext ts,tsx",
20
40
  "preview": "vite preview"
@@ -41,7 +61,6 @@
41
61
  "@types/i18next": "^13.0.0",
42
62
  "@types/node": "^20.0.0",
43
63
  "@types/react": "^19.2.7",
44
- "@types/react-color": "^3.0.13",
45
64
  "@types/react-dom": "^19.2.3",
46
65
  "@types/react-i18next": "^8.1.0",
47
66
  "@types/react-syntax-highlighter": "^15.5.13",
@@ -50,21 +69,17 @@
50
69
  "@vitejs/plugin-react": "^4.0.0",
51
70
  "autoprefixer": "^10.4.23",
52
71
  "css-loader": "^6.0.0",
53
- "dnd-kit": "^0.0.2",
54
72
  "eslint": "^8.0.0",
55
73
  "eslint-plugin-react": "^7.32.0",
56
74
  "html-webpack-plugin": "^5.6.5",
57
- "i18next": "^25.7.4",
58
75
  "less": "^4.5.1",
59
76
  "less-loader": "^11.0.0",
60
77
  "mini-css-extract-plugin": "^2.10.0",
61
78
  "postcss": "^8.5.6",
79
+ "postcss-import": "^16.1.1",
62
80
  "postcss-less": "^6.0.0",
63
81
  "react": "^18.0.0",
64
82
  "react-dom": "^18.0.0",
65
- "react-fast-marquee": "^1.6.5",
66
- "react-i18next": "^16.5.3",
67
- "react-icons": "^5.5.0",
68
83
  "rimraf": "^5.0.0",
69
84
  "rollup-plugin-peer-deps-external": "^2.2.4",
70
85
  "rollup-plugin-postcss": "^4.0.2",
@@ -79,18 +94,19 @@
79
94
  "webpack-dev-server": "^4.13.0"
80
95
  },
81
96
  "dependencies": {
97
+ "dnd-kit": "^0.0.2",
98
+ "i18next": "^25.7.4",
99
+ "react-i18next": "^16.5.3",
82
100
  "@dnd-kit/core": "^6.3.1",
83
101
  "@dnd-kit/sortable": "^10.0.0",
84
102
  "@dnd-kit/utilities": "^3.2.2",
85
103
  "classnames": "^2.3.0",
86
104
  "lunar-typescript": "^1.8.6",
87
105
  "prismjs": "^1.30.0",
88
- "react-color": "^2.19.3",
89
- "react-syntax-highlighter": "^16.1.0",
90
- "styled-components": "^6.3.8"
106
+ "react-syntax-highlighter": "^16.1.0"
91
107
  },
92
108
  "repository": {
93
109
  "type": "git",
94
110
  "url": "git@github.com:chongyin10/simple-design.git"
95
111
  }
96
- }
112
+ }