@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,385 @@
1
+ # Workflow 6: Modal / Drawer 嵌套 Form 工作流
2
+
3
+ > **覆盖 baseline 失败任务**:Task 16(Form check() 返回 false | object)/ Task 18(Drawer 受控不自动关闭)/ Task 21(Modal onDismiss 类型)
4
+ > **集成 typescriptPitfalls**:Form 5 条(FormRefObject / InputType / check 返回类型 / list key / rules.validate 大小写)+ Modal 4 条(onDismiss 类型 / closeOnBackdrop 正向命名 / onSubmit async / actions 返回 ReactNode[])+ Drawer 4 条(DrawerProps 显式导入 / size='medium' / onClose 联合类型 / placement + 尺寸互斥)
5
+
6
+ ---
7
+
8
+ ## 何时使用
9
+
10
+ 需要在弹框中完成数据填写 + 校验 + 提交的场景:
11
+
12
+ ```
13
+ 用户打开 Modal/Drawer → Form 填写数据 → check() 校验 → 调用 API → 关闭弹框 + 刷新列表
14
+ ```
15
+
16
+ **典型业务**:新建用户 / 编辑订单信息 / 创建资产 / 更新任务配置
17
+
18
+ **选择 Modal vs Drawer**:
19
+ - **Modal**:字段少(< 6 项)、一次性操作、需要强遮挡感
20
+ - **Drawer**:字段多(>= 6 项)、需要同时看到背景列表、编辑详情页
21
+
22
+ **不要用此模板的场景**:
23
+ - 只读展示信息 → 用 Descriptions 或 Modal 纯展示
24
+ - 需要多步骤流程 → 用 Steps + 页面级表单
25
+ - 危险操作二次确认 → 用 Workflow 5(PopConfirm)
26
+
27
+ ---
28
+
29
+ ## 关键模式(与脑补的区别)
30
+
31
+ | 错误模式(AI 常犯) | 正确模式 |
32
+ |------------------|--------|
33
+ | ❌ `const formRef = useRef(null); formRef.current.check()` | ✅ **`useRef<FormRefObject>({} as FormRefObject)` + 通过 `form={formRef}` 传入**(不是 JSX `ref` 属性!Form 用 `form` prop 接收 ref;类型必须显式声明,否则 current 是 null) |
34
+ | ❌ `const ok = formRef.current.check?.(); if (!ok) throw new Error('fail')` | ✅ **`const values = formRef.current.check?.(); if (!values) return;`**(check 返回 `false \| object`,不抛异常,object 包含字段值) |
35
+ | ❌ `configList: [{ name: 'type', label: '类型', type: 'select' }]` | ✅ **`configList: [{ name: 'type', label: '类型', InputType: 'select' }]`**(控件类型字段叫 `InputType`,`type` 是布局覆盖) |
36
+ | ❌ `<Drawer onClose={(e: React.MouseEvent) => setOpen(false)} />` | ✅ **`onClose={(e: React.MouseEvent \| React.KeyboardEvent) => setOpen(false)}`**(ESC 触发时 e 是 KeyboardEvent) |
37
+ | ❌ `<Drawer open={isOpen} />` 期望关闭 | ✅ **业务方必须在 onOk/onCancel/onClose 里调 `setOpen(false)`**(Drawer 不自动关闭,onOk/onCancel 只触发回调) |
38
+ | ❌ `<Modal disableBackdropClick={false} />` | ✅ **`<Modal closeOnBackdrop={true} />`**(正向命名;disableBackdropClick 默认 true 即禁用,与多数库直觉相反) |
39
+
40
+ ---
41
+
42
+ ## 完整代码(自包含,可直接复制)
43
+
44
+ ```tsx
45
+ import React, { FunctionComponent, useRef, useState } from 'react';
46
+ import { Button, Drawer, Form, Modal } from '@para-ui/core';
47
+ import { Message } from '@para-ui/core/Message';
48
+ import type { DrawerProps, FormRefObject } from '@para-ui/core';
49
+
50
+ // ---- 业务类型 ----
51
+ interface OrderFormValues {
52
+ name: string;
53
+ type: 'standard' | 'express';
54
+ amount: number;
55
+ remark: string;
56
+ }
57
+
58
+ // ---- 模拟 API ----
59
+ const mockApi = {
60
+ createOrder: async (data: OrderFormValues): Promise<void> => {
61
+ void data;
62
+ await new Promise<void>(res => setTimeout(res, 800));
63
+ },
64
+ updateOrder: async (id: string, data: OrderFormValues): Promise<void> => {
65
+ void id; void data;
66
+ await new Promise<void>(res => setTimeout(res, 600));
67
+ },
68
+ };
69
+
70
+ // ---- Form configList(控件类型字段叫 InputType,不是 type)----
71
+ const buildOrderConfig = (readonly = false) => [
72
+ {
73
+ name: 'name',
74
+ label: '订单名称',
75
+ InputType: 'input' as const,
76
+ rules: {
77
+ validate: {
78
+ required: true,
79
+ maxlength: 50, // ⚠️ maxlength 小写 l(src 现状,与 minLength 驼峰 L 不一致)
80
+ },
81
+ },
82
+ disabled: readonly,
83
+ },
84
+ {
85
+ name: 'type',
86
+ label: '配送类型',
87
+ InputType: 'select' as const,
88
+ // select 的 list 子项用 { label, value },不是 { label, name }
89
+ list: [
90
+ { label: '标准配送', value: 'standard' },
91
+ { label: '加急配送', value: 'express' },
92
+ ],
93
+ rules: { validate: { required: true } },
94
+ disabled: readonly,
95
+ },
96
+ {
97
+ name: 'amount',
98
+ label: '数量',
99
+ InputType: 'number' as const,
100
+ rules: {
101
+ validate: {
102
+ required: true,
103
+ minLength: 1, // ⚠️ minLength 驼峰 L(src 现状)
104
+ },
105
+ },
106
+ disabled: readonly,
107
+ },
108
+ {
109
+ name: 'remark',
110
+ label: '备注',
111
+ InputType: 'textarea' as const,
112
+ disabled: readonly,
113
+ },
114
+ ];
115
+
116
+ // ============================================================
117
+ // 子组件 A:Modal 新建订单(字段少、一次性)
118
+ // ============================================================
119
+ interface CreateOrderModalProps {
120
+ open: boolean;
121
+ onFinish: (saved: boolean) => void;
122
+ }
123
+
124
+ const CreateOrderModal: FunctionComponent<CreateOrderModalProps> = ({ open, onFinish }) => {
125
+ // FormRefObject 必须显式类型声明,否则 ref.current 是 unknown
126
+ const formRef = useRef<FormRefObject>({} as FormRefObject);
127
+ const [submitting, setSubmitting] = useState(false);
128
+
129
+ const handleSubmit = async (): Promise<void> => {
130
+ // check() 返回 false | object,不抛异常——失败时直接 return
131
+ const values = formRef.current.check?.();
132
+ if (!values) return;
133
+
134
+ setSubmitting(true);
135
+ try {
136
+ await mockApi.createOrder(values as OrderFormValues);
137
+ Message.success('订单已创建', 2000);
138
+ formRef.current.reset?.();
139
+ onFinish(true); // 通知父组件关闭 + 刷新
140
+ } catch {
141
+ Message.error('创建失败,请重试', 4000);
142
+ } finally {
143
+ setSubmitting(false);
144
+ }
145
+ };
146
+
147
+ return (
148
+ <Modal
149
+ open={open}
150
+ title="新建订单"
151
+ width={520}
152
+ confirmLoading={submitting}
153
+ // onSubmit 支持 async(onOk 已 deprecated)
154
+ onSubmit={handleSubmit}
155
+ onCancel={() => onFinish(false)}
156
+ // 正向命名:closeOnBackdrop 替代 disableBackdropClick={false}
157
+ closeOnBackdrop={false}
158
+ closeOnEsc={false}
159
+ destroyOnClose={true} // 关闭后重置 Form 状态
160
+ >
161
+ <Form
162
+ form={formRef}
163
+ configList={buildOrderConfig()}
164
+ />
165
+ </Modal>
166
+ );
167
+ };
168
+
169
+ // ============================================================
170
+ // 子组件 B:Drawer 编辑订单(字段多,保持背景可见)
171
+ // ============================================================
172
+ interface EditOrderDrawerProps extends Pick<DrawerProps, 'open'> {
173
+ orderId: string;
174
+ initialValues?: Partial<OrderFormValues>;
175
+ onFinish: (saved: boolean) => void;
176
+ }
177
+
178
+ const EditOrderDrawer: FunctionComponent<EditOrderDrawerProps> = ({
179
+ open,
180
+ orderId,
181
+ initialValues,
182
+ onFinish,
183
+ }) => {
184
+ const formRef = useRef<FormRefObject>({} as FormRefObject);
185
+ const [submitting, setSubmitting] = useState(false);
186
+
187
+ const handleOk = async (): Promise<void> => {
188
+ const values = formRef.current.check?.();
189
+ if (!values) return;
190
+
191
+ setSubmitting(true);
192
+ try {
193
+ await mockApi.updateOrder(orderId, values as OrderFormValues);
194
+ Message.success('订单已更新', 2000);
195
+ onFinish(true);
196
+ } catch {
197
+ Message.error('更新失败', 4000);
198
+ } finally {
199
+ setSubmitting(false);
200
+ }
201
+ };
202
+
203
+ return (
204
+ <Drawer
205
+ open={open}
206
+ title="编辑订单"
207
+ size="medium" // 合法值:'small' | 'medium' | 'large' | 'auto'(不是 'mid')
208
+ placement="right"
209
+ // placement='right' 时传 width 有效;传 height 无效(互斥)
210
+ // onClose 参数是联合类型:MouseEvent | KeyboardEvent(ESC 键触发时)
211
+ onClose={(_e: React.MouseEvent | React.KeyboardEvent) => onFinish(false)}
212
+ // Drawer 不会自动关闭!onOk / onCancel 只触发回调,业务方必须自行 setOpen(false) / onFinish
213
+ onOk={handleOk}
214
+ onCancel={() => onFinish(false)}
215
+ confirmLoading={submitting}
216
+ destroyOnClose={true}
217
+ >
218
+ <Form
219
+ form={formRef}
220
+ configList={buildOrderConfig()}
221
+ backData={initialValues as Record<string, unknown>}
222
+ />
223
+ </Drawer>
224
+ );
225
+ };
226
+
227
+ // ============================================================
228
+ // 父组件:统一管理 Modal + Drawer 的 open state
229
+ // ============================================================
230
+ const OrderPage: FunctionComponent = () => {
231
+ const [openCreate, setOpenCreate] = useState(false);
232
+ const [openEdit, setOpenEdit] = useState(false);
233
+ const [editingOrderId, setEditingOrderId] = useState<string>('');
234
+ const [refresh, setRefresh] = useState(0);
235
+ const refreshData = (): void => setRefresh(Math.random());
236
+
237
+ const handleEditOpen = (orderId: string): void => {
238
+ setEditingOrderId(orderId);
239
+ setOpenEdit(true);
240
+ };
241
+
242
+ return (
243
+ <div style={{ padding: 24 }}>
244
+ <div style={{ display: 'flex', gap: 8, marginBottom: 16 }}>
245
+ <Button onClick={() => setOpenCreate(true)}>新建订单</Button>
246
+ <Button variant="outlined" onClick={() => handleEditOpen('order-001')}>
247
+ 编辑示例订单
248
+ </Button>
249
+ </div>
250
+
251
+ <div style={{ color: '#999', fontSize: 12 }}>刷新计数: {refresh}</div>
252
+
253
+ {/* Modal:新建,字段少,强遮挡 */}
254
+ <CreateOrderModal
255
+ open={openCreate}
256
+ onFinish={(saved) => {
257
+ setOpenCreate(false);
258
+ if (saved) refreshData();
259
+ }}
260
+ />
261
+
262
+ {/* Drawer:编辑,字段多,保持背景列表可见 */}
263
+ {openEdit && (
264
+ <EditOrderDrawer
265
+ open={openEdit}
266
+ orderId={editingOrderId}
267
+ initialValues={{ name: '示例订单', type: 'standard', amount: 10 }}
268
+ onFinish={(saved) => {
269
+ setOpenEdit(false);
270
+ setEditingOrderId('');
271
+ if (saved) refreshData();
272
+ }}
273
+ />
274
+ )}
275
+ </div>
276
+ );
277
+ };
278
+
279
+ export default OrderPage;
280
+ ```
281
+
282
+ ---
283
+
284
+ ## 5 个真实陷阱(来自 M2/M3 修复实证)
285
+
286
+ ### ❌ 陷阱 1:`useRef(null)` 导致 check() 报 unknown 类型错误,或用 JSX `ref` 而非 `form` prop
287
+
288
+ ```tsx
289
+ // 错(Task 16 失败根因 1:ref 类型推断失败)
290
+ const formRef = useRef(null);
291
+ formRef.current.check?.(); // TS: 类型 null 上不存在属性 check
292
+
293
+ // 错(根因 2:Form 不接受 JSX ref 属性,必须用 form prop)
294
+ <Form ref={formRef} configList={...} />
295
+ // TS2322: Property 'ref' does not exist on type 'IntrinsicAttributes & FormProps'
296
+
297
+ // 对:显式声明 FormRefObject 类型 + 通过 form prop 传入
298
+ import type { FormRefObject } from '@para-ui/core';
299
+ const formRef = useRef<FormRefObject>({} as FormRefObject);
300
+ <Form form={formRef} configList={...} /> // ✅ form prop 不是 ref
301
+ formRef.current.check?.(); // check?: () => false | Record<string, unknown>
302
+ ```
303
+
304
+ ### ❌ 陷阱 2:`check()` 失败时抛异常或返回 undefined
305
+
306
+ ```tsx
307
+ // 错(Task 16 失败:假设 check 抛异常或返回 boolean)
308
+ try {
309
+ formRef.current.check?.();
310
+ await submit();
311
+ } catch (validationError) {
312
+ // check 失败不抛异常,catch 永远不触发
313
+ }
314
+
315
+ // 对:check 返回 false(失败)或 object(成功,含字段值)
316
+ const values = formRef.current.check?.();
317
+ if (!values) return; // false → 校验失败,直接 return
318
+ await submit(values as OrderFormValues); // object → 校验成功
319
+ ```
320
+
321
+ ### ❌ 陷阱 3:Form configList 控件类型字段名写错 `type`
322
+
323
+ ```tsx
324
+ // 错(Task 16 常见:type 在 FormItem 是布局覆盖,不是控件类型)
325
+ configList={[
326
+ { name: 'category', label: '类别', type: 'select', list: [...] }
327
+ // type='select' 被解释为布局 override,下拉框不渲染
328
+ ]}
329
+
330
+ // 对:控件类型字段叫 InputType
331
+ configList={[
332
+ { name: 'category', label: '类别', InputType: 'select', list: [...] }
333
+ ]}
334
+ ```
335
+
336
+ ### ❌ 陷阱 4:`select` 的 list 子项用 `name` 而非 `value`
337
+
338
+ ```tsx
339
+ // 错(DEFECT-008:select 内部读 value 字段,name 被忽略)
340
+ configList={[{
341
+ name: 'type', InputType: 'select',
342
+ list: [{ label: '标准', name: 'standard' }] // name 被忽略,选中后 onChange 不传值
343
+ }]}
344
+
345
+ // 对:select → value 字段;radioGroup/checkGroup 才用 name
346
+ configList={[{
347
+ name: 'type', InputType: 'select',
348
+ list: [{ label: '标准', value: 'standard' }] // ✅
349
+ }]}
350
+ ```
351
+
352
+ ### ❌ 陷阱 5:Drawer 期望 onOk/onCancel 后自动关闭
353
+
354
+ ```tsx
355
+ // 错(Task 18 失败根因)
356
+ // 用户点"确定" → Drawer.onOk 触发 → 业务回调被调 → Drawer 不关闭
357
+ // src/Drawer/index.tsx: onOk 只触发回调,不修改 open 状态
358
+ <Drawer open={isOpen} onOk={() => handleSave()} />
359
+ // 点确定后 Drawer 一直在,用户困惑
360
+
361
+ // 对:业务方在回调里显式关闭
362
+ <Drawer
363
+ open={isOpen}
364
+ onOk={async () => {
365
+ await handleSave();
366
+ setIsOpen(false); // 必须!Drawer 不自动关闭
367
+ }}
368
+ onCancel={() => setIsOpen(false)} // 取消也必须手动关闭
369
+ onClose={() => setIsOpen(false)} // ESC/遮罩关闭路径
370
+ />
371
+ ```
372
+
373
+ ---
374
+
375
+ ## 真实参考
376
+
377
+ **Para 团队真实业务代码**(console 路径,因仓库隔离,以下是任务说明中的引用路径):
378
+
379
+ | 关键模式 | 所在文件 | 说明 |
380
+ |---------|---------|------|
381
+ | Drawer + Form 组合 | `console/src/package/User/src/formDrawer/` | 受控 Drawer + FormRefObject + check() |
382
+ | 多 config 共享 Drawer | `console/src/package/Group/src/formDrawer/` | 同一 Drawer 复用不同 configList |
383
+ | Form check() 失败 return 模式 | `src/Form/component.json` do[2] | `const values = formRef.current.check?.(); if (!values) return;` |
384
+ | Drawer size='medium' | `src/Drawer/component.json` typescriptPitfalls[1] | 合法值 'small'\|'medium'\|'large'\|'auto' |
385
+ | Modal closeOnBackdrop 正向命名 | `src/Modal/component.json` do[5] | R6 §B6 阶段 1 引入,替代 disableBackdropClick |