@zjpcy/simple-design 1.6.0 → 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 (293) 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 +11725 -6076
  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/Switch/index.js +1 -0
  131. package/dist/es/components/Switch/styles.js +1 -0
  132. package/dist/es/components/Table/SortableRow.js +1 -0
  133. package/dist/es/components/Table/index.js +1 -0
  134. package/dist/es/components/Tabs/index.js +1 -0
  135. package/dist/es/components/Tag/index.js +1 -0
  136. package/dist/es/components/TimePicker/RangePicker.js +1 -0
  137. package/dist/es/components/TimePicker/TimePickerPanel.js +1 -0
  138. package/dist/es/components/TimePicker/index.js +1 -0
  139. package/dist/es/components/Tooltip/Tooltip.js +1 -0
  140. package/dist/es/components/Top/index.js +1 -0
  141. package/dist/es/components/Transfer/index.js +1 -0
  142. package/dist/es/components/Transfer/styles.js +1 -0
  143. package/dist/es/components/Tree/index.js +1 -0
  144. package/dist/es/components/TreeSelect/index.js +1 -0
  145. package/dist/es/components/TreeSelect/styles.js +1 -0
  146. package/dist/es/components/Typography/index.js +1 -0
  147. package/dist/es/components/Upload/index.js +1 -0
  148. package/dist/es/components/Upload/useChunkUpload.js +1 -0
  149. package/dist/es/components/index.js +1 -0
  150. package/dist/es/i18n/I18nProvider.js +1 -0
  151. package/dist/es/i18n/index.js +1 -0
  152. package/dist/es/i18n/locales/en-US.json.js +1 -0
  153. package/dist/es/i18n/locales/zh-CN.json.js +1 -0
  154. package/dist/es/index.css +11725 -6076
  155. package/dist/i18n/locales/en-US.json +2 -3
  156. package/dist/i18n/locales/zh-CN.json +1 -1
  157. package/dist/types/components/ColorPicker/ColorPickerPanel.d.ts +21 -0
  158. package/dist/types/components/DatePicker/styles.d.ts +118 -152
  159. package/dist/types/components/Form/styles.d.ts +84 -22
  160. package/dist/types/components/Grid/styles.d.ts +36 -6
  161. package/dist/types/components/Label/styles.d.ts +16 -1
  162. package/dist/types/components/Label/types.d.ts +1 -0
  163. package/dist/types/components/Layout/styles.d.ts +131 -41
  164. package/dist/types/components/Marquee/index.d.ts +1 -1
  165. package/dist/types/components/Message/index.d.ts +1 -1
  166. package/dist/types/components/Select/styles.d.ts +254 -44
  167. package/dist/types/components/Switch/index.d.ts +1 -0
  168. package/dist/types/components/Switch/styles.d.ts +116 -35
  169. package/dist/types/components/Switch/types.d.ts +4 -0
  170. package/dist/types/components/TimePicker/styles.d.ts +153 -25
  171. package/dist/types/components/Top/index.d.ts +1 -1
  172. package/dist/types/components/Transfer/styles.d.ts +205 -66
  173. package/dist/types/components/TreeSelect/index.d.ts +1 -0
  174. package/dist/types/components/TreeSelect/styles.d.ts +295 -55
  175. package/dist/types/components/TreeSelect/types.d.ts +3 -1
  176. package/dist/types/components/Upload/index.d.ts +2 -2
  177. package/dist/types/components/Upload/styles.d.ts +150 -24
  178. package/dist/types/components/Upload/types.d.ts +279 -15
  179. package/dist/types/components/Upload/useChunkUpload.d.ts +27 -0
  180. package/dist/types/components/index.d.ts +4 -3
  181. package/dist/types/i18n/index.d.ts +1 -1
  182. package/dist/types/utils/dnd-kit-adapter.d.ts +2 -0
  183. package/dist/types/utils/i18n-adapter.d.ts +5 -0
  184. package/dist/types/utils/lunar-adapter.d.ts +2 -0
  185. package/package.json +29 -13
  186. package/dist/cjs/index.js +0 -1
  187. package/dist/es/Anchor/index.js +0 -1
  188. package/dist/es/Button/Button.js +0 -1
  189. package/dist/es/Calendar/index.js +0 -1
  190. package/dist/es/Carousel/index.js +0 -1
  191. package/dist/es/Cascader/index.js +0 -1
  192. package/dist/es/Checkbox/index.js +0 -1
  193. package/dist/es/ColorPicker/index.js +0 -1
  194. package/dist/es/CopyToClipboard/index.js +0 -1
  195. package/dist/es/DatePicker/RangePicker.js +0 -1
  196. package/dist/es/DatePicker/index.js +0 -1
  197. package/dist/es/DatePicker/styles.js +0 -1
  198. package/dist/es/Divider/index.js +0 -1
  199. package/dist/es/Drawer/index.js +0 -1
  200. package/dist/es/Flex/index.js +0 -1
  201. package/dist/es/Form/index.js +0 -1
  202. package/dist/es/Form/styles.js +0 -1
  203. package/dist/es/Grid/index.js +0 -1
  204. package/dist/es/Grid/styles.js +0 -1
  205. package/dist/es/Hooks/useCopy.js +0 -1
  206. package/dist/es/Icon/Icon.js +0 -1
  207. package/dist/es/Input/InputBase.js +0 -1
  208. package/dist/es/Input/Number.js +0 -1
  209. package/dist/es/Input/Password.js +0 -1
  210. package/dist/es/Input/Search.js +0 -1
  211. package/dist/es/Input/Textarea.js +0 -1
  212. package/dist/es/Label/index.js +0 -1
  213. package/dist/es/Label/styles.js +0 -1
  214. package/dist/es/Layout/index.js +0 -1
  215. package/dist/es/Layout/styles.js +0 -1
  216. package/dist/es/Marquee/index.js +0 -1
  217. package/dist/es/Masonry/index.js +0 -1
  218. package/dist/es/Menu/index.js +0 -1
  219. package/dist/es/Message/index.js +0 -1
  220. package/dist/es/Modal/index.js +0 -1
  221. package/dist/es/Notice/Notice.js +0 -1
  222. package/dist/es/Notification/Notification.js +0 -1
  223. package/dist/es/Popconfirm/index.js +0 -1
  224. package/dist/es/Progress/index.js +0 -1
  225. package/dist/es/Radio/index.js +0 -1
  226. package/dist/es/Select/index.js +0 -1
  227. package/dist/es/Select/styles.js +0 -1
  228. package/dist/es/Slider/index.js +0 -1
  229. package/dist/es/Space/index.js +0 -1
  230. package/dist/es/Splitter/index.js +0 -1
  231. package/dist/es/Splitter/styles.js +0 -1
  232. package/dist/es/Switch/index.js +0 -1
  233. package/dist/es/Switch/styles.js +0 -1
  234. package/dist/es/Table/SortableRow.js +0 -1
  235. package/dist/es/Table/index.js +0 -1
  236. package/dist/es/Tabs/index.js +0 -1
  237. package/dist/es/Tag/index.js +0 -1
  238. package/dist/es/TimePicker/RangePicker.js +0 -1
  239. package/dist/es/TimePicker/TimePickerPanel.js +0 -1
  240. package/dist/es/TimePicker/index.js +0 -1
  241. package/dist/es/Tooltip/Tooltip.js +0 -1
  242. package/dist/es/Top/index.js +0 -1
  243. package/dist/es/Transfer/index.js +0 -1
  244. package/dist/es/Transfer/styles.js +0 -1
  245. package/dist/es/Tree/index.js +0 -1
  246. package/dist/es/TreeSelect/index.js +0 -1
  247. package/dist/es/TreeSelect/styles.js +0 -1
  248. package/dist/es/Typography/index.js +0 -1
  249. package/dist/es/Upload/index.js +0 -1
  250. package/dist/es/_virtual/index.js +0 -1
  251. package/dist/es/_virtual/index2.js +0 -1
  252. package/dist/es/_virtual/use-sync-external-store-shim.development.js +0 -1
  253. package/dist/es/_virtual/use-sync-external-store-shim.production.js +0 -1
  254. package/dist/es/index.js +0 -1
  255. package/dist/es/node_modules/i18next/dist/esm/i18next.js +0 -1
  256. package/dist/es/node_modules/react-fast-marquee/dist/index.js +0 -1
  257. package/dist/es/node_modules/react-i18next/dist/es/I18nextProvider.js +0 -1
  258. package/dist/es/node_modules/react-i18next/dist/es/context.js +0 -1
  259. package/dist/es/node_modules/react-i18next/dist/es/defaults.js +0 -1
  260. package/dist/es/node_modules/react-i18next/dist/es/i18nInstance.js +0 -1
  261. package/dist/es/node_modules/react-i18next/dist/es/initReactI18next.js +0 -1
  262. package/dist/es/node_modules/react-i18next/dist/es/unescape.js +0 -1
  263. package/dist/es/node_modules/react-i18next/dist/es/useTranslation.js +0 -1
  264. package/dist/es/node_modules/react-i18next/dist/es/utils.js +0 -1
  265. package/dist/es/node_modules/react-icons/fa/index.js +0 -1
  266. package/dist/es/node_modules/react-icons/io5/index.js +0 -1
  267. package/dist/es/node_modules/react-icons/lib/iconBase.js +0 -1
  268. package/dist/es/node_modules/react-icons/lib/iconContext.js +0 -1
  269. package/dist/es/node_modules/tslib/tslib.es6.js +0 -1
  270. package/dist/es/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js +0 -1
  271. package/dist/es/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js +0 -1
  272. package/dist/es/node_modules/use-sync-external-store/shim/index.js +0 -1
  273. package/dist/es/src/i18n/I18nProvider.js +0 -1
  274. package/dist/es/src/i18n/index.js +0 -1
  275. package/dist/es/src/i18n/locales/en-US.json.js +0 -1
  276. package/dist/es/src/i18n/locales/zh-CN.json.js +0 -1
  277. package/dist/types/components/Drawer/styles.d.ts +0 -0
  278. package/dist/types/components/Menu/styles.d.ts +0 -7
  279. package/dist/types/components/Notice/Notice.d.ts +0 -18
  280. package/dist/types/components/Progress/styles.d.ts +0 -0
  281. /package/dist/es/{Breadcrumb → components/Breadcrumb}/index.js +0 -0
  282. /package/dist/es/{Dropdown → components/Dropdown}/index.js +0 -0
  283. /package/dist/es/{Empty → components/Empty}/index.js +0 -0
  284. /package/dist/es/{Hooks → components/Hooks}/useClickOutside.js +0 -0
  285. /package/dist/es/{Icon → components/Icon}/index.js +0 -0
  286. /package/dist/es/{Icon → components/Icon}/path.js +0 -0
  287. /package/dist/es/{Input → components/Input}/index.js +0 -0
  288. /package/dist/es/{Layout → components/Layout}/LayoutContext.js +0 -0
  289. /package/dist/es/{Message → components/Message}/Message.js +0 -0
  290. /package/dist/es/{Pagination → components/Pagination}/index.js +0 -0
  291. /package/dist/es/{Rate → components/Rate}/index.js +0 -0
  292. /package/dist/es/{Spin → components/Spin}/index.js +0 -0
  293. /package/dist/es/{Steps → components/Steps}/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.6.0",
3
+ "version": "1.8.2",
4
4
  "description": "zjpcy Studio Design System - React Component Library",
5
- "main": "dist/cjs/index.js",
6
- "module": "dist/es/index.js",
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
  ],
@@ -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
+ }