@para-ui/core 5.0.0-beta.12 → 5.0.0-beta.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 (556) hide show
  1. package/AGENTS.md +315 -0
  2. package/AlignBox/component.json +89 -0
  3. package/Anchor/component.json +130 -0
  4. package/Argv/component.json +216 -0
  5. package/AutoBox/component.json +133 -0
  6. package/AutoButton/component.json +109 -0
  7. package/AutoTips/component.json +121 -0
  8. package/Badge/component.json +92 -0
  9. package/Breadcrumbs/component.json +142 -0
  10. package/Button/component.json +168 -0
  11. package/ButtonGroup/component.json +132 -0
  12. package/Card/component.json +162 -0
  13. package/Carousel/component.json +142 -0
  14. package/Cascader/component.json +196 -0
  15. package/Checkbox/component.json +138 -0
  16. package/CheckboxGroup/component.json +152 -0
  17. package/CodeEditor/component.json +189 -0
  18. package/Collapse/component.json +166 -0
  19. package/CollapseBox/component.json +84 -0
  20. package/CollapseLayout/component.json +155 -0
  21. package/ColorPicker/component.json +142 -0
  22. package/ComboSelect/component.json +181 -0
  23. package/Container/component.json +111 -0
  24. package/ContentBox/component.json +81 -0
  25. package/CopyText/component.json +118 -0
  26. package/CycleSelector/component.json +98 -0
  27. package/DatePicker/component.json +192 -0
  28. package/Descriptions/component.json +142 -0
  29. package/Desktop/component.json +171 -0
  30. package/DragVerify/component.json +114 -0
  31. package/Drawer/component.json +200 -0
  32. package/Dropdown/component.json +147 -0
  33. package/DynamicMultiBox/component.json +278 -0
  34. package/Empty/component.json +123 -0
  35. package/FieldForm/component.json +196 -0
  36. package/Form/component.json +161 -0
  37. package/FormItem/component.json +171 -0
  38. package/FunctionModal/component.json +197 -0
  39. package/Help/component.json +118 -0
  40. package/HelperText/component.json +126 -0
  41. package/Image/component.json +165 -0
  42. package/InputCode/component.json +191 -0
  43. package/InputLang/component.json +205 -0
  44. package/InputNumber/component.json +162 -0
  45. package/Label/component.json +126 -0
  46. package/Loading/component.json +91 -0
  47. package/Menu/component.json +180 -0
  48. package/Message/component.json +246 -0
  49. package/Modal/component.json +277 -0
  50. package/MultiBox/component.json +216 -0
  51. package/Notification/component.json +184 -0
  52. package/OperateBtn/component.json +134 -0
  53. package/PageHeader/component.json +112 -0
  54. package/Pagination/component.json +181 -0
  55. package/PasswordRules/component.json +105 -0
  56. package/PopConfirm/component.json +227 -0
  57. package/PopMenu/component.json +131 -0
  58. package/Popover/component.json +165 -0
  59. package/Progress/component.json +161 -0
  60. package/Prompt/component.json +144 -0
  61. package/Querying/component.json +96 -0
  62. package/QuickReply/component.json +129 -0
  63. package/Radio/component.json +136 -0
  64. package/RadioGroup/component.json +149 -0
  65. package/RangeInput/component.json +198 -0
  66. package/Result/component.json +104 -0
  67. package/ScrollBar/component.json +115 -0
  68. package/Search/component.json +177 -0
  69. package/Select/component.json +244 -0
  70. package/SelectInput/component.json +184 -0
  71. package/Selector/component.json +203 -0
  72. package/SelectorPicker/component.json +179 -0
  73. package/SingleBox/component.json +151 -0
  74. package/Slider/component.json +181 -0
  75. package/SortBox/component.json +108 -0
  76. package/Status/component.json +104 -0
  77. package/Stepper/component.json +129 -0
  78. package/Switch/component.json +207 -0
  79. package/Table/component.json +547 -0
  80. package/Tabs/component.json +227 -0
  81. package/Tag/component.json +221 -0
  82. package/TextEditor/component.json +186 -0
  83. package/TextField/component.json +290 -0
  84. package/TimePicker/component.json +176 -0
  85. package/Timeline/component.json +110 -0
  86. package/Title/component.json +156 -0
  87. package/ToggleButton/component.json +153 -0
  88. package/Tooltip/component.json +176 -0
  89. package/Transfer/component.json +157 -0
  90. package/Tree/component.json +512 -0
  91. package/Upload/component.json +450 -0
  92. package/ai-workflows/01-crud-list-multi-drawer.md +278 -0
  93. package/ai-workflows/02-rbac-operation-buttons.md +290 -0
  94. package/ai-workflows/03-complex-form-async-cascade.md +350 -0
  95. package/ai-workflows/04-array-field-form.md +281 -0
  96. package/ai-workflows/05-popconfirm-async-message-queue.md +333 -0
  97. package/ai-workflows/06-modal-drawer-form-workflow.md +385 -0
  98. package/ai-workflows/07-search-filter-table-trio.md +387 -0
  99. package/ai-workflows/08-table-advanced-features.md +365 -0
  100. package/ai-workflows/09-batch-operation-export-progress.md +367 -0
  101. package/ai-workflows/10-cross-component-state-coordination.md +412 -0
  102. package/es/AlignBox/component.json +89 -0
  103. package/es/AlignBox/index.css +1 -1
  104. package/es/AlignBox/index.d.ts +6 -2
  105. package/es/AlignBox/index.js +1 -1
  106. package/es/AlignBox/style/index.css +1 -1
  107. package/es/Anchor/anchorMenu/index.d.ts +2 -1
  108. package/es/Anchor/anchorMenu/index.js +36 -33
  109. package/es/Anchor/component.json +130 -0
  110. package/es/Anchor/index.js +50 -47
  111. package/es/Anchor/type.d.ts +8 -4
  112. package/es/Argv/component.json +216 -0
  113. package/es/Argv/index.d.ts +5 -6
  114. package/es/AutoBox/component.json +133 -0
  115. package/es/AutoBox/index.d.ts +3 -3
  116. package/es/AutoBox/index.js +1 -1
  117. package/es/AutoBox/protal.d.ts +2 -2
  118. package/es/AutoBox/protal.js +32 -29
  119. package/es/AutoButton/component.json +109 -0
  120. package/es/AutoButton/index.js +1 -1
  121. package/es/AutoTips/autoTipsMultiline/index.d.ts +1 -1
  122. package/es/AutoTips/autoTipsMultiline/index.js +1 -1
  123. package/es/AutoTips/component.json +121 -0
  124. package/es/Badge/component.json +92 -0
  125. package/es/Breadcrumbs/component.json +142 -0
  126. package/es/Breadcrumbs/index.js +1 -1
  127. package/es/Button/SplitButton.d.ts +2 -2
  128. package/es/Button/component.json +168 -0
  129. package/es/Button/index.js +44 -44
  130. package/es/ButtonGroup/component.json +132 -0
  131. package/es/ButtonGroup/index.d.ts +1 -1
  132. package/es/Card/component.json +162 -0
  133. package/es/Card/index.d.ts +2 -2
  134. package/es/Card/index.js +2 -2
  135. package/es/Carousel/component.json +142 -0
  136. package/es/Carousel/index.d.ts +1 -1
  137. package/es/Cascader/component.json +196 -0
  138. package/es/Cascader/hooks/useEntities.js +7 -7
  139. package/es/Cascader/interface.d.ts +1 -0
  140. package/es/Cascader/utils/commonUtil.d.ts +1 -1
  141. package/es/Cascader/utils/commonUtil.js +16 -16
  142. package/es/Cascader/utils/treeUtil.d.ts +14 -5
  143. package/es/Cascader/utils/treeUtil.js +1 -1
  144. package/es/Checkbox/component.json +138 -0
  145. package/es/CheckboxGroup/component.json +152 -0
  146. package/es/CodeEditor/component.json +189 -0
  147. package/es/CodeEditor/index.d.ts +10 -9
  148. package/es/Collapse/component.json +166 -0
  149. package/es/Collapse/index.d.ts +1 -1
  150. package/es/Collapse/index.js +23 -22
  151. package/es/CollapseBox/component.json +84 -0
  152. package/es/CollapseLayout/component.json +155 -0
  153. package/es/ColorPicker/component.json +142 -0
  154. package/es/ComboSelect/component.json +181 -0
  155. package/es/ComboSelect/index.js +73 -68
  156. package/es/ComboSelect/interface.d.ts +2 -2
  157. package/es/ComboSelect/utils.d.ts +3 -3
  158. package/es/ComboSelect/utils.js +1 -1
  159. package/es/Container/component.json +111 -0
  160. package/es/ContentBox/component.json +81 -0
  161. package/es/CopyText/component.json +118 -0
  162. package/es/CycleSelector/component.json +98 -0
  163. package/es/CycleSelector/index.js +14 -13
  164. package/es/DatePicker/component.json +192 -0
  165. package/es/DatePicker/generatePicker/generateRangePicker.js +10 -10
  166. package/es/DatePicker/generatePicker/generateSinglePicker.js +1 -1
  167. package/es/Descriptions/component.json +142 -0
  168. package/es/Descriptions/index.d.ts +1 -1
  169. package/es/Desktop/component.json +171 -0
  170. package/es/DragVerify/component.json +114 -0
  171. package/es/DragVerify/index.js +19 -19
  172. package/es/Drawer/component.json +200 -0
  173. package/es/Drawer/index.js +86 -86
  174. package/es/Drawer/interface.d.ts +1 -1
  175. package/es/Drawer/util.d.ts +1 -6
  176. package/es/Drawer/util.js +9 -6
  177. package/es/Dropdown/component.json +147 -0
  178. package/es/DynamicMultiBox/component.json +278 -0
  179. package/es/DynamicMultiBox/formItem.d.ts +1 -1
  180. package/es/DynamicMultiBox/rowForm.d.ts +2 -2
  181. package/es/Empty/component.json +123 -0
  182. package/es/Empty/index.css +1 -1
  183. package/es/Empty/index.d.ts +2 -2
  184. package/es/Empty/index.js +27 -26
  185. package/es/Empty/style/index.css +1 -1
  186. package/es/FieldForm/FieldFormItem/MemoInput.d.ts +2 -2
  187. package/es/FieldForm/FieldFormItem/index.d.ts +6 -6
  188. package/es/FieldForm/Form.d.ts +2 -2
  189. package/es/FieldForm/FormList.d.ts +2 -2
  190. package/es/FieldForm/component.json +196 -0
  191. package/es/FieldForm/context.d.ts +5 -1
  192. package/es/FieldForm/context.js +2 -2
  193. package/es/FieldForm/hooks/useForm.d.ts +4 -3
  194. package/es/FieldForm/hooks/useFormInstance.d.ts +1 -1
  195. package/es/FieldForm/hooks/useFormItemStatus.d.ts +9 -5
  196. package/es/FieldForm/hooks/useFormItemStatus.js +2 -2
  197. package/es/FieldForm/hooks/useItemRef.d.ts +1 -1
  198. package/es/FieldForm/hooks/useItemRef.js +6 -6
  199. package/es/Form/component.json +161 -0
  200. package/es/Form/index.d.ts +52 -49
  201. package/es/FormItem/compoments/defaultCompoments/index.d.ts +5 -5
  202. package/es/FormItem/compoments/defaultCompoments/index.js +12 -11
  203. package/es/FormItem/compoments/formCheckboxGroup/index.d.ts +2 -2
  204. package/es/FormItem/compoments/formFile/index.js +8 -8
  205. package/es/FormItem/compoments/formRadioGroup/index.d.ts +1 -1
  206. package/es/FormItem/compoments/formSelect/index.d.ts +1 -1
  207. package/es/FormItem/component.json +171 -0
  208. package/es/FormItem/index.d.ts +5 -5
  209. package/es/FormItem/index.js +23 -23
  210. package/es/FormItem/itemType.js +1 -1
  211. package/es/FunctionModal/component.json +197 -0
  212. package/es/FunctionModal/dialog.d.ts +1 -1
  213. package/es/FunctionModal/modalContext.d.ts +4 -1
  214. package/es/Help/component.json +118 -0
  215. package/es/HelperText/component.json +126 -0
  216. package/es/Image/component.json +165 -0
  217. package/es/InputCode/component.json +191 -0
  218. package/es/InputCode/index.d.ts +2 -2
  219. package/es/InputLang/component.json +205 -0
  220. package/es/InputLang/index.js +1 -1
  221. package/es/InputNumber/component.json +162 -0
  222. package/es/Label/component.json +126 -0
  223. package/es/Label/index.d.ts +2 -2
  224. package/es/Loading/component.json +91 -0
  225. package/es/Menu/component.json +180 -0
  226. package/es/Message/component.json +246 -0
  227. package/es/Message/index.d.ts +2 -2
  228. package/es/Message/index.js +2 -2
  229. package/es/Modal/Confirm/index.d.ts +1 -1
  230. package/es/Modal/component.json +277 -0
  231. package/es/Modal/index.d.ts +85 -5
  232. package/es/Modal/index.js +159 -122
  233. package/es/Modal/interface.d.ts +1 -0
  234. package/es/MultiBox/component.json +216 -0
  235. package/es/MultiBox/index.js +19 -14
  236. package/es/Notification/component.json +184 -0
  237. package/es/OperateBtn/component.json +134 -0
  238. package/es/OperateBtn/index.d.ts +3 -3
  239. package/es/PageHeader/component.json +112 -0
  240. package/es/Pagination/component.json +181 -0
  241. package/es/Pagination/index.js +15 -15
  242. package/es/PasswordRules/component.json +105 -0
  243. package/es/PasswordRules/index.d.ts +4 -4
  244. package/es/PopConfirm/component.json +227 -0
  245. package/es/PopConfirm/index.d.ts +1 -1
  246. package/es/PopConfirm/index.js +1 -1
  247. package/es/PopMenu/component.json +131 -0
  248. package/es/PopMenu/hooks.d.ts +1 -1
  249. package/es/PopMenu/index.js +8 -8
  250. package/es/Popover/component.json +165 -0
  251. package/es/Popover/index.js +1 -1
  252. package/es/Progress/component.json +161 -0
  253. package/es/Prompt/component.json +144 -0
  254. package/es/Querying/component.json +96 -0
  255. package/es/Querying/index.css +1 -1
  256. package/es/Querying/index.d.ts +2 -2
  257. package/es/Querying/index.js +20 -19
  258. package/es/Querying/style/index.css +1 -1
  259. package/es/QuickReply/component.json +129 -0
  260. package/es/QuickReply/index.d.ts +1 -1
  261. package/es/Radio/component.json +136 -0
  262. package/es/RadioGroup/component.json +149 -0
  263. package/es/RangeInput/component.json +198 -0
  264. package/es/RangeInput/index.js +1 -1
  265. package/es/Result/component.json +104 -0
  266. package/es/ScrollBar/component.json +115 -0
  267. package/es/Search/component.json +177 -0
  268. package/es/Search/index.d.ts +1 -1
  269. package/es/Select/component.json +244 -0
  270. package/es/Select/index.js +113 -113
  271. package/es/SelectInput/component.json +184 -0
  272. package/es/Selector/component.json +203 -0
  273. package/es/Selector/index.js +28 -27
  274. package/es/Selector/interface.d.ts +1 -1
  275. package/es/Selector/selectorMain/index.js +2 -2
  276. package/es/Selector/selectorNode/index.js +1 -1
  277. package/es/Selector/util.d.ts +2 -2
  278. package/es/SelectorPicker/component.json +179 -0
  279. package/es/SelectorPicker/index.d.ts +5 -5
  280. package/es/SelectorPicker/index.js +15 -15
  281. package/es/SingleBox/component.json +151 -0
  282. package/es/SingleBox/index.d.ts +2 -2
  283. package/es/Slider/component.json +181 -0
  284. package/es/SortBox/component.json +108 -0
  285. package/es/Status/component.json +104 -0
  286. package/es/Stepper/component.json +129 -0
  287. package/es/Stepper/index.d.ts +2 -2
  288. package/es/Switch/component.json +207 -0
  289. package/es/Switch/index.css +1 -1
  290. package/es/Switch/index.d.ts +3 -2
  291. package/es/Switch/index.js +60 -59
  292. package/es/Switch/style/index.css +1 -1
  293. package/es/Table/component.json +547 -0
  294. package/es/Table/index.d.ts +2 -2
  295. package/es/Table/index.js +414 -414
  296. package/es/Table/interface.d.ts +6 -0
  297. package/es/Tabs/component.json +227 -0
  298. package/es/Tag/component.json +221 -0
  299. package/es/Tag/index.css +1 -1
  300. package/es/Tag/index.d.ts +1 -1
  301. package/es/Tag/index.js +20 -20
  302. package/es/Tag/style/index.css +1 -1
  303. package/es/TextEditor/component.json +186 -0
  304. package/es/TextEditor/index.d.ts +5 -5
  305. package/es/TextField/component.json +290 -0
  306. package/es/TextField/index.d.ts +2 -2
  307. package/es/TimePicker/component.json +176 -0
  308. package/es/Timeline/component.json +110 -0
  309. package/es/Title/component.json +156 -0
  310. package/es/ToggleButton/component.json +153 -0
  311. package/es/Tooltip/component.json +176 -0
  312. package/es/Tooltip/index.js +58 -53
  313. package/es/Tooltip/interface.d.ts +14 -1
  314. package/es/Tooltip/utils.js +6 -6
  315. package/es/Transfer/component.json +157 -0
  316. package/es/Tree/component.json +512 -0
  317. package/es/Upload/component.json +450 -0
  318. package/es/Utils/type.d.ts +0 -2
  319. package/es/index.d.ts +2 -0
  320. package/es/index.js +1 -1
  321. package/es/locale/en_US.d.ts +361 -0
  322. package/es/locale/en_US.js +364 -0
  323. package/es/locale/index.d.ts +1 -723
  324. package/es/locale/index2.js +10 -0
  325. package/es/locale/zh_CN.d.ts +361 -0
  326. package/es/locale/zh_CN.js +364 -0
  327. package/lib/AlignBox/component.json +89 -0
  328. package/lib/AlignBox/index.css +1 -1
  329. package/lib/AlignBox/index.d.ts +6 -2
  330. package/lib/AlignBox/index.js +1 -1
  331. package/lib/AlignBox/style/index.css +1 -1
  332. package/lib/Anchor/anchorMenu/index.d.ts +2 -1
  333. package/lib/Anchor/anchorMenu/index.js +1 -1
  334. package/lib/Anchor/component.json +130 -0
  335. package/lib/Anchor/index.js +1 -1
  336. package/lib/Anchor/type.d.ts +8 -4
  337. package/lib/Argv/component.json +216 -0
  338. package/lib/Argv/index.d.ts +5 -6
  339. package/lib/AutoBox/component.json +133 -0
  340. package/lib/AutoBox/index.d.ts +3 -3
  341. package/lib/AutoBox/index.js +1 -1
  342. package/lib/AutoBox/protal.d.ts +2 -2
  343. package/lib/AutoBox/protal.js +1 -1
  344. package/lib/AutoButton/component.json +109 -0
  345. package/lib/AutoButton/index.js +1 -1
  346. package/lib/AutoTips/autoTipsMultiline/index.d.ts +1 -1
  347. package/lib/AutoTips/autoTipsMultiline/index.js +1 -1
  348. package/lib/AutoTips/component.json +121 -0
  349. package/lib/Badge/component.json +92 -0
  350. package/lib/Breadcrumbs/component.json +142 -0
  351. package/lib/Breadcrumbs/index.js +1 -1
  352. package/lib/Button/SplitButton.d.ts +2 -2
  353. package/lib/Button/component.json +168 -0
  354. package/lib/Button/index.js +1 -1
  355. package/lib/ButtonGroup/component.json +132 -0
  356. package/lib/ButtonGroup/index.d.ts +1 -1
  357. package/lib/Card/component.json +162 -0
  358. package/lib/Card/index.d.ts +2 -2
  359. package/lib/Card/index.js +1 -1
  360. package/lib/Carousel/component.json +142 -0
  361. package/lib/Carousel/index.d.ts +1 -1
  362. package/lib/Cascader/component.json +196 -0
  363. package/lib/Cascader/hooks/useEntities.js +1 -1
  364. package/lib/Cascader/interface.d.ts +1 -0
  365. package/lib/Cascader/utils/commonUtil.d.ts +1 -1
  366. package/lib/Cascader/utils/commonUtil.js +1 -1
  367. package/lib/Cascader/utils/treeUtil.d.ts +14 -5
  368. package/lib/Cascader/utils/treeUtil.js +1 -1
  369. package/lib/Checkbox/component.json +138 -0
  370. package/lib/CheckboxGroup/component.json +152 -0
  371. package/lib/CodeEditor/component.json +189 -0
  372. package/lib/CodeEditor/index.d.ts +10 -9
  373. package/lib/Collapse/component.json +166 -0
  374. package/lib/Collapse/index.d.ts +1 -1
  375. package/lib/Collapse/index.js +1 -1
  376. package/lib/CollapseBox/component.json +84 -0
  377. package/lib/CollapseLayout/component.json +155 -0
  378. package/lib/ColorPicker/component.json +142 -0
  379. package/lib/ComboSelect/component.json +181 -0
  380. package/lib/ComboSelect/index.js +1 -1
  381. package/lib/ComboSelect/interface.d.ts +2 -2
  382. package/lib/ComboSelect/utils.d.ts +3 -3
  383. package/lib/ComboSelect/utils.js +1 -1
  384. package/lib/Container/component.json +111 -0
  385. package/lib/ContentBox/component.json +81 -0
  386. package/lib/CopyText/component.json +118 -0
  387. package/lib/CycleSelector/component.json +98 -0
  388. package/lib/CycleSelector/index.js +1 -1
  389. package/lib/DatePicker/component.json +192 -0
  390. package/lib/DatePicker/generatePicker/generateRangePicker.js +1 -1
  391. package/lib/DatePicker/generatePicker/generateSinglePicker.js +1 -1
  392. package/lib/Descriptions/component.json +142 -0
  393. package/lib/Descriptions/index.d.ts +1 -1
  394. package/lib/Desktop/component.json +171 -0
  395. package/lib/DragVerify/component.json +114 -0
  396. package/lib/DragVerify/index.js +1 -1
  397. package/lib/Drawer/component.json +200 -0
  398. package/lib/Drawer/index.js +1 -1
  399. package/lib/Drawer/interface.d.ts +1 -1
  400. package/lib/Drawer/util.d.ts +1 -6
  401. package/lib/Drawer/util.js +1 -1
  402. package/lib/Dropdown/component.json +147 -0
  403. package/lib/DynamicMultiBox/component.json +278 -0
  404. package/lib/DynamicMultiBox/formItem.d.ts +1 -1
  405. package/lib/DynamicMultiBox/rowForm.d.ts +2 -2
  406. package/lib/Empty/component.json +123 -0
  407. package/lib/Empty/index.css +1 -1
  408. package/lib/Empty/index.d.ts +2 -2
  409. package/lib/Empty/index.js +1 -1
  410. package/lib/Empty/style/index.css +1 -1
  411. package/lib/FieldForm/FieldFormItem/MemoInput.d.ts +2 -2
  412. package/lib/FieldForm/FieldFormItem/index.d.ts +6 -6
  413. package/lib/FieldForm/Form.d.ts +2 -2
  414. package/lib/FieldForm/FormList.d.ts +2 -2
  415. package/lib/FieldForm/component.json +196 -0
  416. package/lib/FieldForm/context.d.ts +5 -1
  417. package/lib/FieldForm/context.js +1 -1
  418. package/lib/FieldForm/hooks/useForm.d.ts +4 -3
  419. package/lib/FieldForm/hooks/useFormInstance.d.ts +1 -1
  420. package/lib/FieldForm/hooks/useFormItemStatus.d.ts +9 -5
  421. package/lib/FieldForm/hooks/useFormItemStatus.js +1 -1
  422. package/lib/FieldForm/hooks/useItemRef.d.ts +1 -1
  423. package/lib/FieldForm/hooks/useItemRef.js +1 -1
  424. package/lib/Form/component.json +161 -0
  425. package/lib/Form/index.d.ts +52 -49
  426. package/lib/FormItem/compoments/defaultCompoments/index.d.ts +5 -5
  427. package/lib/FormItem/compoments/defaultCompoments/index.js +1 -1
  428. package/lib/FormItem/compoments/formCheckboxGroup/index.d.ts +2 -2
  429. package/lib/FormItem/compoments/formFile/index.js +1 -1
  430. package/lib/FormItem/compoments/formRadioGroup/index.d.ts +1 -1
  431. package/lib/FormItem/compoments/formSelect/index.d.ts +1 -1
  432. package/lib/FormItem/component.json +171 -0
  433. package/lib/FormItem/index.d.ts +5 -5
  434. package/lib/FormItem/index.js +1 -1
  435. package/lib/FormItem/itemType.js +1 -1
  436. package/lib/FunctionModal/component.json +197 -0
  437. package/lib/FunctionModal/dialog.d.ts +1 -1
  438. package/lib/FunctionModal/modalContext.d.ts +4 -1
  439. package/lib/Help/component.json +118 -0
  440. package/lib/HelperText/component.json +126 -0
  441. package/lib/Image/component.json +165 -0
  442. package/lib/InputCode/component.json +191 -0
  443. package/lib/InputCode/index.d.ts +2 -2
  444. package/lib/InputLang/component.json +205 -0
  445. package/lib/InputLang/index.js +1 -1
  446. package/lib/InputNumber/component.json +162 -0
  447. package/lib/Label/component.json +126 -0
  448. package/lib/Label/index.d.ts +2 -2
  449. package/lib/Loading/component.json +91 -0
  450. package/lib/Menu/component.json +180 -0
  451. package/lib/Message/component.json +246 -0
  452. package/lib/Message/index.d.ts +2 -2
  453. package/lib/Message/index.js +1 -1
  454. package/lib/Modal/Confirm/index.d.ts +1 -1
  455. package/lib/Modal/component.json +277 -0
  456. package/lib/Modal/index.d.ts +85 -5
  457. package/lib/Modal/index.js +1 -1
  458. package/lib/Modal/interface.d.ts +1 -0
  459. package/lib/MultiBox/component.json +216 -0
  460. package/lib/MultiBox/index.js +1 -1
  461. package/lib/Notification/component.json +184 -0
  462. package/lib/OperateBtn/component.json +134 -0
  463. package/lib/OperateBtn/index.d.ts +3 -3
  464. package/lib/PageHeader/component.json +112 -0
  465. package/lib/Pagination/component.json +181 -0
  466. package/lib/Pagination/index.js +1 -1
  467. package/lib/PasswordRules/component.json +105 -0
  468. package/lib/PasswordRules/index.d.ts +4 -4
  469. package/lib/PopConfirm/component.json +227 -0
  470. package/lib/PopConfirm/index.d.ts +1 -1
  471. package/lib/PopConfirm/index.js +1 -1
  472. package/lib/PopMenu/component.json +131 -0
  473. package/lib/PopMenu/hooks.d.ts +1 -1
  474. package/lib/PopMenu/index.js +1 -1
  475. package/lib/Popover/component.json +165 -0
  476. package/lib/Popover/index.js +1 -1
  477. package/lib/Progress/component.json +161 -0
  478. package/lib/Prompt/component.json +144 -0
  479. package/lib/Querying/component.json +96 -0
  480. package/lib/Querying/index.css +1 -1
  481. package/lib/Querying/index.d.ts +2 -2
  482. package/lib/Querying/index.js +1 -1
  483. package/lib/Querying/style/index.css +1 -1
  484. package/lib/QuickReply/component.json +129 -0
  485. package/lib/QuickReply/index.d.ts +1 -1
  486. package/lib/Radio/component.json +136 -0
  487. package/lib/RadioGroup/component.json +149 -0
  488. package/lib/RangeInput/component.json +198 -0
  489. package/lib/RangeInput/index.js +1 -1
  490. package/lib/Result/component.json +104 -0
  491. package/lib/ScrollBar/component.json +115 -0
  492. package/lib/Search/component.json +177 -0
  493. package/lib/Search/index.d.ts +1 -1
  494. package/lib/Select/component.json +244 -0
  495. package/lib/Select/index.js +1 -1
  496. package/lib/SelectInput/component.json +184 -0
  497. package/lib/Selector/component.json +203 -0
  498. package/lib/Selector/index.js +1 -1
  499. package/lib/Selector/interface.d.ts +1 -1
  500. package/lib/Selector/selectorMain/index.js +1 -1
  501. package/lib/Selector/selectorNode/index.js +1 -1
  502. package/lib/Selector/util.d.ts +2 -2
  503. package/lib/SelectorPicker/component.json +179 -0
  504. package/lib/SelectorPicker/index.d.ts +5 -5
  505. package/lib/SelectorPicker/index.js +1 -1
  506. package/lib/SingleBox/component.json +151 -0
  507. package/lib/SingleBox/index.d.ts +2 -2
  508. package/lib/Slider/component.json +181 -0
  509. package/lib/SortBox/component.json +108 -0
  510. package/lib/Status/component.json +104 -0
  511. package/lib/Stepper/component.json +129 -0
  512. package/lib/Stepper/index.d.ts +2 -2
  513. package/lib/Switch/component.json +207 -0
  514. package/lib/Switch/index.css +1 -1
  515. package/lib/Switch/index.d.ts +3 -2
  516. package/lib/Switch/index.js +1 -1
  517. package/lib/Switch/style/index.css +1 -1
  518. package/lib/Table/component.json +547 -0
  519. package/lib/Table/index.d.ts +2 -2
  520. package/lib/Table/index.js +1 -1
  521. package/lib/Table/interface.d.ts +6 -0
  522. package/lib/Tabs/component.json +227 -0
  523. package/lib/Tag/component.json +221 -0
  524. package/lib/Tag/index.css +1 -1
  525. package/lib/Tag/index.d.ts +1 -1
  526. package/lib/Tag/index.js +1 -1
  527. package/lib/Tag/style/index.css +1 -1
  528. package/lib/TextEditor/component.json +186 -0
  529. package/lib/TextEditor/index.d.ts +5 -5
  530. package/lib/TextField/component.json +290 -0
  531. package/lib/TextField/index.d.ts +2 -2
  532. package/lib/TimePicker/component.json +176 -0
  533. package/lib/Timeline/component.json +110 -0
  534. package/lib/Title/component.json +156 -0
  535. package/lib/ToggleButton/component.json +153 -0
  536. package/lib/Tooltip/component.json +176 -0
  537. package/lib/Tooltip/index.js +1 -1
  538. package/lib/Tooltip/interface.d.ts +14 -1
  539. package/lib/Tooltip/utils.js +1 -1
  540. package/lib/Transfer/component.json +157 -0
  541. package/lib/Tree/component.json +512 -0
  542. package/lib/Upload/component.json +450 -0
  543. package/lib/Utils/type.d.ts +0 -2
  544. package/lib/index.d.ts +2 -0
  545. package/lib/index.js +1 -1
  546. package/lib/locale/en_US.d.ts +361 -0
  547. package/lib/locale/en_US.js +2 -0
  548. package/lib/locale/index.d.ts +1 -723
  549. package/lib/locale/index2.js +2 -0
  550. package/lib/locale/zh_CN.d.ts +361 -0
  551. package/lib/locale/zh_CN.js +2 -0
  552. package/package.json +9 -3
  553. /package/es/{Utils/Hooks → Hooks}/useResizeObserver.d.ts +0 -0
  554. /package/es/{Utils/Hooks → Hooks}/useResizeObserver.js +0 -0
  555. /package/lib/{Utils/Hooks → Hooks}/useResizeObserver.d.ts +0 -0
  556. /package/lib/{Utils/Hooks → Hooks}/useResizeObserver.js +0 -0
@@ -0,0 +1,367 @@
1
+ # Workflow 9: 批量操作 + 导出进度
2
+
3
+ > **基于**:console/src/package/Service/src/content.tsx(导出 / 多选 / PopConfirm 异步链)
4
+ > **覆盖 baseline 失败任务**:Task 9(批量操作)/ Task 29(导出进度)/ Task 31(Upload + 进度)
5
+ > **集成 typescriptPitfalls**:Message 子路径导入(M2 实证)/ PopConfirm onOk 闭包取 id / Progress type 与 status 组合 / Modal onSubmit 异步 / Upload onChange 签名
6
+
7
+ ---
8
+
9
+ ## 何时使用
10
+
11
+ 管理后台同时需要以下能力中的 2 项及以上:
12
+
13
+ ```
14
+ 表格多选 + 批量确认删除/停用 + 单行/批量导出进度轮询 + 文件导入(Upload + 进度条)
15
+ ```
16
+
17
+ **典型业务**:订单批量处理 / 资产批量导出 / 用户批量停用 / 数据文件导入
18
+
19
+ **不要用此模板的场景**:
20
+ - 单行删除无批量 → 用 Workflow 1(CRUD 列表)
21
+ - 无进度展示需求(导出即时完成)→ 用基础 Button + PopConfirm
22
+
23
+ ---
24
+
25
+ ## 关键模式(与脑补的区别)
26
+
27
+ | 错误模式(AI 常犯) | 正确模式 |
28
+ |------------------|--------|
29
+ | ❌ `import { Message } from '@para-ui/core'` 命令式 API 从主路径导入 | ✅ **`import { Message } from '@para-ui/core/Message'`**(M2 修复实证,主路径无命令式方法)|
30
+ | ❌ `onOk={(val) => doDelete(val)}` 以为 onOk 带参数 | ✅ **`onOk={() => doDelete(id)}`** onOk 无参数,id 从外部闭包获取 |
31
+ | ❌ `<Progress type='circle' status='active' />` active 动画用在 circle | ✅ **`<Progress type='line' status='active' />`** active 动画只对 type='line' 生效 |
32
+ | ❌ `<Progress type='line' width={300} />` 用 width 控制 line 宽度 | ✅ **用容器 `<div style={{width:300}}>` 包裹**,line 模式 width prop 无效 |
33
+ | ❌ Upload `onChange={({file, fileList}) => ...}` antd 风格解构 | ✅ **`onChange={(files) => ...}`** Para UI Upload onChange 参数直接是 `UploadFile[]` |
34
+ | ❌ Modal `onOk={async () => submit()}` 用 onOk 异步 | ✅ **`onSubmit={async () => submit()}`** onSubmit 支持 Promise,onOk 已 deprecated |
35
+
36
+ ---
37
+
38
+ ## 完整代码(自包含,可直接复制)
39
+
40
+ ```tsx
41
+ import React, { FunctionComponent, useState, useCallback } from 'react';
42
+ import { Table, Button, PopConfirm, Progress, Modal, Upload } from '@para-ui/core';
43
+ // 关键:Message 命令式 API 必须从子路径导入(M2 修复实证)
44
+ import { Message } from '@para-ui/core/Message';
45
+ import type { HeadDataProps } from '@para-ui/core';
46
+ import type { UploadFile } from '@para-ui/core';
47
+
48
+ interface OrderRow {
49
+ id: string;
50
+ orderNo: string;
51
+ amount: number;
52
+ status: 'pending' | 'paid' | 'refunded';
53
+ createdAt: string;
54
+ }
55
+
56
+ // 导出任务状态
57
+ interface ExportTask {
58
+ taskId: string;
59
+ progress: number; // 0-100
60
+ status: 'running' | 'done' | 'failed';
61
+ downloadUrl?: string;
62
+ }
63
+
64
+ const OrderBatchPage: FunctionComponent = () => {
65
+ const [refresh, setRefresh] = useState<number>(0);
66
+ const refreshData = (): void => setRefresh(Math.random());
67
+
68
+ // 多选 state
69
+ const [checkValue, setCheckValue] = useState<string[]>([]);
70
+
71
+ // 导出进度
72
+ const [exportTask, setExportTask] = useState<ExportTask | null>(null);
73
+ const [exportLoading, setExportLoading] = useState<boolean>(false);
74
+
75
+ // 导入 Modal
76
+ const [importOpen, setImportOpen] = useState<boolean>(false);
77
+ const [importFiles, setImportFiles] = useState<UploadFile[]>([]);
78
+ const [importProgress, setImportProgress] = useState<number>(0);
79
+ const [importing, setImporting] = useState<boolean>(false);
80
+
81
+ // ---- 批量删除 ----
82
+ // PopConfirm onOk 无参数,id 从外部闭包获取(不要传 val 参数)
83
+ const handleBatchDelete = async (): Promise<void> => {
84
+ const ids = [...checkValue]; // 从外部闭包取,不是 onOk 参数
85
+ await mockApi.batchDelete(ids);
86
+ Message.success(`已删除 ${ids.length} 条订单`);
87
+ setCheckValue([]);
88
+ refreshData();
89
+ };
90
+
91
+ // ---- 导出(带进度轮询)----
92
+ const handleExport = async (): Promise<void> => {
93
+ setExportLoading(true);
94
+ try {
95
+ const { taskId } = await mockApi.startExport(checkValue);
96
+ setExportTask({ taskId, progress: 0, status: 'running' });
97
+ // 轮询进度
98
+ const poll = setInterval(async () => {
99
+ const result = await mockApi.queryExportProgress(taskId);
100
+ setExportTask(result);
101
+ if (result.status !== 'running') {
102
+ clearInterval(poll);
103
+ setExportLoading(false);
104
+ if (result.status === 'done') {
105
+ Message.success('导出完成,可下载文件');
106
+ } else {
107
+ Message.error('导出失败,请重试');
108
+ }
109
+ }
110
+ }, 1500);
111
+ } catch {
112
+ setExportLoading(false);
113
+ Message.error('导出启动失败');
114
+ }
115
+ };
116
+
117
+ // ---- 导入(Upload + Progress)----
118
+ // Upload onChange 签名是 (files: UploadFile[]) => void,不是 antd 的 ({file,fileList}) => void
119
+ const handleImportFileChange = (files: UploadFile[]): void => {
120
+ setImportFiles(files);
121
+ };
122
+
123
+ // Modal onSubmit 支持 async Promise(onOk 已 deprecated,不支持 Promise 返回值)
124
+ const handleImportSubmit = async (): Promise<void> => {
125
+ if (importFiles.length === 0) {
126
+ Message.warn('请先选择文件');
127
+ return;
128
+ }
129
+ setImporting(true);
130
+ setImportProgress(0);
131
+ try {
132
+ // 模拟上传进度
133
+ await mockApi.uploadImport(importFiles[0], (pct: number) => {
134
+ setImportProgress(pct);
135
+ });
136
+ Message.success('导入成功');
137
+ setImportOpen(false);
138
+ setImportFiles([]);
139
+ setImportProgress(0);
140
+ refreshData();
141
+ } catch {
142
+ Message.error('导入失败');
143
+ } finally {
144
+ setImporting(false);
145
+ }
146
+ };
147
+
148
+ const headData: HeadDataProps<OrderRow>[] = [
149
+ { name: 'orderNo', label: '订单号', width: 160 },
150
+ { name: 'amount', label: '金额', width: 100,
151
+ render: (row) => `¥${row.amount.toFixed(2)}`
152
+ },
153
+ { name: 'status', label: '状态', width: 100,
154
+ render: (row) => ({ pending: '待支付', paid: '已支付', refunded: '已退款' }[row.status])
155
+ },
156
+ { name: 'createdAt', label: '下单时间', sort: true, width: 150 }
157
+ ];
158
+
159
+ return (
160
+ <div>
161
+ {/* 顶部批量操作区 */}
162
+ <div style={{ marginBottom: 16, display: 'flex', gap: 8, alignItems: 'center' }}>
163
+ <Button onClick={() => setImportOpen(true)} variant="outlined">导入</Button>
164
+
165
+ {checkValue.length > 0 && (
166
+ <>
167
+ <span style={{ alignSelf: 'center' }}>已选 {checkValue.length} 项</span>
168
+
169
+ {/* PopConfirm:onOk 无参,id 从闭包取 */}
170
+ <PopConfirm
171
+ title="确认批量删除"
172
+ type="error"
173
+ okButtonDanger={true}
174
+ onOk={handleBatchDelete}
175
+ >
176
+ <Button>批量删除</Button>
177
+ </PopConfirm>
178
+
179
+ <Button onClick={handleExport} disabled={exportLoading}>
180
+ {exportLoading ? '导出中...' : '批量导出'}
181
+ </Button>
182
+ </>
183
+ )}
184
+ </div>
185
+
186
+ {/* 导出进度展示 */}
187
+ {exportTask && (
188
+ <div style={{ marginBottom: 16 }}>
189
+ {/* active 动画只对 type='line' 生效;line 宽度用容器控制,不用 width prop */}
190
+ <div style={{ width: 400 }}>
191
+ <Progress
192
+ type="line"
193
+ percent={exportTask.progress}
194
+ status={
195
+ exportTask.status === 'failed' ? 'exception'
196
+ : exportTask.status === 'done' ? 'success'
197
+ : 'active' // active 动画仅 type='line' 支持
198
+ }
199
+ />
200
+ </div>
201
+ {exportTask.status === 'done' && exportTask.downloadUrl && (
202
+ <a href={exportTask.downloadUrl} download style={{ marginTop: 8, display: 'block' }}>
203
+ 点击下载导出文件
204
+ </a>
205
+ )}
206
+ </div>
207
+ )}
208
+
209
+ {/* 表格 */}
210
+ <Table<OrderRow>
211
+ rowKey="id"
212
+ data={mockData}
213
+ headData={headData}
214
+ refresh={refresh}
215
+ check={true}
216
+ setCheck={(arr: string[]) => setCheckValue(arr)}
217
+ pagination={true}
218
+ paginationType="complex"
219
+ />
220
+
221
+ {/* 导入 Modal */}
222
+ {/* onSubmit 支持 async,onOk 已 deprecated 且不支持 Promise */}
223
+ <Modal
224
+ open={importOpen}
225
+ title="批量导入订单"
226
+ onSubmit={handleImportSubmit}
227
+ onClose={() => { setImportOpen(false); setImportFiles([]); setImportProgress(0); }}
228
+ okButtonProps={{ loading: importing, children: '开始导入' }}
229
+ >
230
+ {/* Upload fileList prop 控制受控列表;onChange 参数是 UploadFile[],不是 {file,fileList} 对象 */}
231
+ <Upload
232
+ accept=".xlsx,.csv"
233
+ maxCount={1}
234
+ onChange={handleImportFileChange}
235
+ fileList={importFiles}
236
+ />
237
+ {importing && (
238
+ <div style={{ marginTop: 16, width: '100%' }}>
239
+ <Progress type="line" percent={importProgress} status="active" />
240
+ </div>
241
+ )}
242
+ </Modal>
243
+ </div>
244
+ );
245
+ };
246
+
247
+ export default OrderBatchPage;
248
+
249
+ // === 占位 Mock ===
250
+ const mockData: OrderRow[] = [];
251
+ const mockApi = {
252
+ batchDelete: async (ids: string[]): Promise<void> => { void ids; },
253
+ startExport: async (_ids: string[]): Promise<{ taskId: string }> => ({ taskId: 'mock-task' }),
254
+ queryExportProgress: async (_id: string): Promise<ExportTask> => ({
255
+ taskId: 'mock-task', progress: 100, status: 'done', downloadUrl: '/file.xlsx'
256
+ }),
257
+ uploadImport: async (_file: UploadFile, _onProgress: (pct: number) => void): Promise<void> => {}
258
+ };
259
+ ```
260
+
261
+ ---
262
+
263
+ ## 5 个真实陷阱(来自 M2/M3 修复实证)
264
+
265
+ ### ❌ 陷阱 1:Message 从主路径导入,命令式 API 全部 undefined(M2 修复实证)
266
+
267
+ ```tsx
268
+ // 错(最常见,M2 Stage 第一轮全军覆没的根因)
269
+ import { Message } from '@para-ui/core';
270
+ Message.success('操作成功'); // 运行报错:Message.success is not a function
271
+
272
+ // 对:命令式 API 必须从子路径导入
273
+ import { Message } from '@para-ui/core/Message';
274
+ Message.success('操作成功'); // 正确
275
+ Message.error('操作失败');
276
+ Message.warn('请注意');
277
+ ```
278
+
279
+ ### ❌ 陷阱 2:PopConfirm onOk 期望接收 id 参数
280
+
281
+ ```tsx
282
+ // 错(PopConfirm onOk 签名是 () => void,不传任何参数)
283
+ <PopConfirm onOk={(id) => handleDelete(id)}> // id 永远是 undefined
284
+ <Button>删除</Button>
285
+ </PopConfirm>
286
+
287
+ // 对:id 从外部闭包获取(Service/content.tsx 行 116-121 实证)
288
+ const del = (row: OrderRow) => async () => {
289
+ await mockApi.deleteOrder(row.id); // row.id 来自闭包
290
+ Message.success('已删除');
291
+ refreshData();
292
+ };
293
+ <PopConfirm onOk={del(row)}>
294
+ <Button>删除</Button>
295
+ </PopConfirm>
296
+ ```
297
+
298
+ ### ❌ 陷阱 3:Progress active 动画用在 circle,type 与 status 组合错误
299
+
300
+ ```tsx
301
+ // 错(active 动画仅 line 模式支持,circle 传 active 静默无效)
302
+ <Progress type="circle" percent={60} status="active" />
303
+ // 旋转动画不出现,不报错,容易忽视
304
+
305
+ // 错(用 width prop 控制 line 宽度)
306
+ <Progress type="line" percent={60} width={300} />
307
+ // line 模式 width 控制的是 circle 画布尺寸,对 line 无效
308
+
309
+ // 对
310
+ <div style={{ width: 300 }}>
311
+ <Progress type="line" percent={60} status="active" />
312
+ </div>
313
+ // 导出完成状态
314
+ <Progress type="line" percent={100} status="success" />
315
+ // 导出失败状态
316
+ <Progress type="line" percent={exportPct} status="exception" />
317
+ ```
318
+
319
+ ### ❌ 陷阱 4:Upload onChange 用 antd 风格解构,拿到 undefined
320
+
321
+ ```tsx
322
+ // 错(antd 习惯)
323
+ <Upload onChange={({ file, fileList }) => {
324
+ setFiles(fileList); // fileList: undefined,解构失败
325
+ }} />
326
+
327
+ // 对:Para UI Upload onChange 第一参直接是 UploadFile[]
328
+ <Upload onChange={(files: UploadFile[]) => {
329
+ setFiles(files); // files 是 UploadFile 数组
330
+ }} />
331
+
332
+ // 另一个陷阱:UploadFile.status 只有 'error'|'done'|'removed',没有 'uploading'
333
+ // 上传中状态用 showLoading/loading prop 控制,不是检查 file.status === 'uploading'
334
+ ```
335
+
336
+ ### ❌ 陷阱 5:Modal 用 onOk 做异步提交,onOk 不等待 Promise
337
+
338
+ ```tsx
339
+ // 错(onOk 已 deprecated,类型不含 Promise<void>)
340
+ <Modal onOk={async () => {
341
+ await doSubmit(); // Modal 不等待这个 Promise,按钮不会 loading
342
+ setOpen(false);
343
+ }} />
344
+
345
+ // 对:用 onSubmit,支持 async Promise<void>
346
+ <Modal
347
+ onSubmit={async () => {
348
+ await doSubmit(); // Modal 等待 Promise,按钮自动 loading
349
+ setOpen(false);
350
+ }}
351
+ okButtonProps={{ loading: submitting }}
352
+ />
353
+ ```
354
+
355
+ ---
356
+
357
+ ## 真实参考
358
+
359
+ **Para 团队真实业务代码**:`console/src/package/Service/src/content.tsx`
360
+
361
+ | 关键模式 | 行号 |
362
+ |---------|------|
363
+ | `import { Message } from '@para-ui/core/Message'` 子路径导入 | 8 |
364
+ | `del(row)` 闭包工厂函数 → PopConfirm onOk | 116-121 |
365
+ | `setExportInfo` + `setExportModuleOpen(true)` 触发导出流程 | 149-155 |
366
+ | `importModule` + `onImportFinish` 导入完成刷新 | 158-172 |
367
+ | `checkValue` + `setCheckValue` 多选管理 | 62, 568-570 |