@para-ui/core 5.0.0-beta.12 → 5.0.0-beta.14

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 (565) 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/codemods/modal-onCancel-to-onDismiss.js +69 -0
  103. package/es/AlignBox/component.json +89 -0
  104. package/es/AlignBox/index.css +1 -1
  105. package/es/AlignBox/index.d.ts +6 -2
  106. package/es/AlignBox/index.js +1 -1
  107. package/es/AlignBox/style/index.css +1 -1
  108. package/es/Anchor/anchorMenu/index.d.ts +2 -1
  109. package/es/Anchor/anchorMenu/index.js +36 -33
  110. package/es/Anchor/component.json +130 -0
  111. package/es/Anchor/index.js +50 -47
  112. package/es/Anchor/type.d.ts +8 -4
  113. package/es/Argv/component.json +216 -0
  114. package/es/Argv/index.d.ts +5 -6
  115. package/es/AutoBox/component.json +133 -0
  116. package/es/AutoBox/index.d.ts +3 -3
  117. package/es/AutoBox/index.js +1 -1
  118. package/es/AutoBox/protal.d.ts +2 -2
  119. package/es/AutoBox/protal.js +32 -29
  120. package/es/AutoButton/component.json +109 -0
  121. package/es/AutoButton/index.js +1 -1
  122. package/es/AutoTips/autoTipsMultiline/index.d.ts +1 -1
  123. package/es/AutoTips/autoTipsMultiline/index.js +1 -1
  124. package/es/AutoTips/component.json +121 -0
  125. package/es/Badge/component.json +92 -0
  126. package/es/Breadcrumbs/component.json +142 -0
  127. package/es/Breadcrumbs/index.js +1 -1
  128. package/es/Button/SplitButton.d.ts +2 -2
  129. package/es/Button/component.json +168 -0
  130. package/es/Button/index.js +44 -44
  131. package/es/ButtonGroup/component.json +132 -0
  132. package/es/ButtonGroup/index.d.ts +1 -1
  133. package/es/Card/component.json +162 -0
  134. package/es/Card/index.d.ts +2 -2
  135. package/es/Card/index.js +2 -2
  136. package/es/Carousel/component.json +142 -0
  137. package/es/Carousel/index.d.ts +1 -1
  138. package/es/Cascader/Cascader.js +188 -180
  139. package/es/Cascader/component.json +196 -0
  140. package/es/Cascader/hooks/useEntities.js +7 -7
  141. package/es/Cascader/interface.d.ts +1 -0
  142. package/es/Cascader/utils/commonUtil.d.ts +1 -1
  143. package/es/Cascader/utils/commonUtil.js +16 -16
  144. package/es/Cascader/utils/treeUtil.d.ts +14 -5
  145. package/es/Cascader/utils/treeUtil.js +1 -1
  146. package/es/Checkbox/component.json +138 -0
  147. package/es/CheckboxGroup/component.json +152 -0
  148. package/es/CodeEditor/component.json +189 -0
  149. package/es/CodeEditor/index.d.ts +10 -9
  150. package/es/Collapse/component.json +166 -0
  151. package/es/Collapse/index.d.ts +1 -1
  152. package/es/Collapse/index.js +41 -33
  153. package/es/CollapseBox/component.json +84 -0
  154. package/es/CollapseLayout/component.json +155 -0
  155. package/es/ColorPicker/component.json +142 -0
  156. package/es/ComboSelect/component.json +181 -0
  157. package/es/ComboSelect/index.js +299 -287
  158. package/es/ComboSelect/interface.d.ts +6 -3
  159. package/es/ComboSelect/utils.d.ts +3 -3
  160. package/es/ComboSelect/utils.js +1 -1
  161. package/es/Container/component.json +111 -0
  162. package/es/ContentBox/component.json +81 -0
  163. package/es/CopyText/component.json +118 -0
  164. package/es/CycleSelector/component.json +98 -0
  165. package/es/CycleSelector/index.js +14 -13
  166. package/es/DatePicker/component.json +192 -0
  167. package/es/DatePicker/generatePicker/generateRangePicker.d.ts +0 -8
  168. package/es/DatePicker/generatePicker/generateRangePicker.js +73 -65
  169. package/es/DatePicker/generatePicker/generateSinglePicker.js +1 -1
  170. package/es/DatePicker/generatePicker/index.d.ts +11 -4
  171. package/es/Descriptions/component.json +142 -0
  172. package/es/Descriptions/index.d.ts +1 -1
  173. package/es/Desktop/component.json +171 -0
  174. package/es/DragVerify/component.json +114 -0
  175. package/es/DragVerify/index.js +19 -19
  176. package/es/Drawer/component.json +200 -0
  177. package/es/Drawer/index.js +86 -86
  178. package/es/Drawer/interface.d.ts +1 -1
  179. package/es/Drawer/util.d.ts +1 -6
  180. package/es/Drawer/util.js +9 -6
  181. package/es/Dropdown/component.json +147 -0
  182. package/es/DynamicMultiBox/component.json +278 -0
  183. package/es/DynamicMultiBox/formItem.d.ts +1 -1
  184. package/es/DynamicMultiBox/rowForm.d.ts +2 -2
  185. package/es/Empty/component.json +123 -0
  186. package/es/Empty/index.css +1 -1
  187. package/es/Empty/index.d.ts +2 -2
  188. package/es/Empty/index.js +27 -26
  189. package/es/Empty/style/index.css +1 -1
  190. package/es/FieldForm/FieldFormItem/MemoInput.d.ts +2 -2
  191. package/es/FieldForm/FieldFormItem/index.d.ts +6 -6
  192. package/es/FieldForm/Form.d.ts +2 -2
  193. package/es/FieldForm/FormList.d.ts +2 -2
  194. package/es/FieldForm/component.json +196 -0
  195. package/es/FieldForm/context.d.ts +5 -1
  196. package/es/FieldForm/context.js +2 -2
  197. package/es/FieldForm/hooks/useForm.d.ts +4 -3
  198. package/es/FieldForm/hooks/useFormInstance.d.ts +1 -1
  199. package/es/FieldForm/hooks/useFormItemStatus.d.ts +9 -5
  200. package/es/FieldForm/hooks/useFormItemStatus.js +2 -2
  201. package/es/FieldForm/hooks/useItemRef.d.ts +1 -1
  202. package/es/FieldForm/hooks/useItemRef.js +6 -6
  203. package/es/Form/component.json +161 -0
  204. package/es/Form/index.d.ts +52 -49
  205. package/es/FormItem/compoments/defaultCompoments/index.d.ts +5 -5
  206. package/es/FormItem/compoments/defaultCompoments/index.js +12 -11
  207. package/es/FormItem/compoments/formCheckboxGroup/index.d.ts +2 -2
  208. package/es/FormItem/compoments/formFile/index.js +8 -8
  209. package/es/FormItem/compoments/formRadioGroup/index.d.ts +1 -1
  210. package/es/FormItem/compoments/formSelect/index.d.ts +1 -1
  211. package/es/FormItem/component.json +171 -0
  212. package/es/FormItem/index.d.ts +5 -5
  213. package/es/FormItem/index.js +23 -23
  214. package/es/FormItem/itemType.js +1 -1
  215. package/es/FunctionModal/component.json +197 -0
  216. package/es/FunctionModal/dialog.d.ts +1 -1
  217. package/es/FunctionModal/modalContext.d.ts +4 -1
  218. package/es/Help/component.json +118 -0
  219. package/es/HelperText/component.json +126 -0
  220. package/es/Image/component.json +165 -0
  221. package/es/InputCode/component.json +191 -0
  222. package/es/InputCode/index.d.ts +2 -2
  223. package/es/InputLang/component.json +205 -0
  224. package/es/InputLang/index.js +1 -1
  225. package/es/InputNumber/component.json +162 -0
  226. package/es/Label/component.json +126 -0
  227. package/es/Label/index.d.ts +2 -2
  228. package/es/Loading/component.json +91 -0
  229. package/es/Menu/component.json +180 -0
  230. package/es/Message/component.json +246 -0
  231. package/es/Message/index.d.ts +2 -2
  232. package/es/Message/index.js +2 -2
  233. package/es/Modal/Confirm/index.d.ts +1 -1
  234. package/es/Modal/Confirm/index.js +81 -75
  235. package/es/Modal/component.json +277 -0
  236. package/es/Modal/index.d.ts +97 -6
  237. package/es/Modal/index.js +174 -122
  238. package/es/Modal/interface.d.ts +1 -0
  239. package/es/MultiBox/component.json +216 -0
  240. package/es/MultiBox/index.js +19 -14
  241. package/es/Notification/component.json +184 -0
  242. package/es/OperateBtn/component.json +134 -0
  243. package/es/OperateBtn/index.d.ts +3 -3
  244. package/es/PageHeader/component.json +112 -0
  245. package/es/Pagination/component.json +181 -0
  246. package/es/Pagination/index.js +15 -15
  247. package/es/PasswordRules/component.json +105 -0
  248. package/es/PasswordRules/index.d.ts +4 -4
  249. package/es/PopConfirm/component.json +227 -0
  250. package/es/PopConfirm/index.d.ts +1 -1
  251. package/es/PopConfirm/index.js +1 -1
  252. package/es/PopMenu/component.json +131 -0
  253. package/es/PopMenu/hooks.d.ts +1 -1
  254. package/es/PopMenu/index.js +8 -8
  255. package/es/Popover/component.json +165 -0
  256. package/es/Popover/index.js +1 -1
  257. package/es/Progress/component.json +161 -0
  258. package/es/Prompt/component.json +144 -0
  259. package/es/Querying/component.json +96 -0
  260. package/es/Querying/index.css +1 -1
  261. package/es/Querying/index.d.ts +2 -2
  262. package/es/Querying/index.js +20 -19
  263. package/es/Querying/style/index.css +1 -1
  264. package/es/QuickReply/component.json +129 -0
  265. package/es/QuickReply/index.d.ts +1 -1
  266. package/es/Radio/component.json +136 -0
  267. package/es/RadioGroup/component.json +149 -0
  268. package/es/RangeInput/component.json +198 -0
  269. package/es/RangeInput/index.js +1 -1
  270. package/es/Result/component.json +104 -0
  271. package/es/ScrollBar/component.json +115 -0
  272. package/es/Search/component.json +177 -0
  273. package/es/Search/index.d.ts +1 -1
  274. package/es/Select/component.json +244 -0
  275. package/es/Select/index.js +113 -113
  276. package/es/SelectInput/component.json +184 -0
  277. package/es/Selector/component.json +203 -0
  278. package/es/Selector/index.js +28 -27
  279. package/es/Selector/interface.d.ts +1 -1
  280. package/es/Selector/selectorMain/index.js +2 -2
  281. package/es/Selector/selectorNode/index.js +1 -1
  282. package/es/Selector/util.d.ts +2 -2
  283. package/es/SelectorPicker/component.json +179 -0
  284. package/es/SelectorPicker/index.d.ts +5 -5
  285. package/es/SelectorPicker/index.js +15 -15
  286. package/es/SingleBox/component.json +151 -0
  287. package/es/SingleBox/index.d.ts +2 -2
  288. package/es/Slider/component.json +181 -0
  289. package/es/SortBox/component.json +108 -0
  290. package/es/Status/component.json +104 -0
  291. package/es/Stepper/component.json +129 -0
  292. package/es/Stepper/index.d.ts +2 -2
  293. package/es/Switch/component.json +207 -0
  294. package/es/Switch/index.css +1 -1
  295. package/es/Switch/index.d.ts +3 -2
  296. package/es/Switch/index.js +60 -59
  297. package/es/Switch/style/index.css +1 -1
  298. package/es/Table/component.json +547 -0
  299. package/es/Table/index.d.ts +2 -2
  300. package/es/Table/index.js +414 -414
  301. package/es/Table/interface.d.ts +6 -0
  302. package/es/Tabs/component.json +227 -0
  303. package/es/Tag/component.json +221 -0
  304. package/es/Tag/index.css +1 -1
  305. package/es/Tag/index.d.ts +1 -1
  306. package/es/Tag/index.js +20 -20
  307. package/es/Tag/style/index.css +1 -1
  308. package/es/TextEditor/component.json +186 -0
  309. package/es/TextEditor/index.d.ts +5 -5
  310. package/es/TextField/component.json +290 -0
  311. package/es/TextField/index.d.ts +2 -2
  312. package/es/TimePicker/component.json +176 -0
  313. package/es/Timeline/component.json +110 -0
  314. package/es/Title/component.json +156 -0
  315. package/es/ToggleButton/component.json +153 -0
  316. package/es/Tooltip/component.json +176 -0
  317. package/es/Tooltip/index.js +74 -63
  318. package/es/Tooltip/interface.d.ts +14 -1
  319. package/es/Tooltip/utils.js +6 -6
  320. package/es/Transfer/component.json +157 -0
  321. package/es/Tree/component.json +512 -0
  322. package/es/Upload/component.json +450 -0
  323. package/es/Utils/type.d.ts +0 -2
  324. package/es/index.d.ts +2 -0
  325. package/es/index.js +1 -1
  326. package/es/locale/en_US.d.ts +361 -0
  327. package/es/locale/en_US.js +364 -0
  328. package/es/locale/index.d.ts +1 -723
  329. package/es/locale/index2.js +10 -0
  330. package/es/locale/zh_CN.d.ts +361 -0
  331. package/es/locale/zh_CN.js +364 -0
  332. package/lib/AlignBox/component.json +89 -0
  333. package/lib/AlignBox/index.css +1 -1
  334. package/lib/AlignBox/index.d.ts +6 -2
  335. package/lib/AlignBox/index.js +1 -1
  336. package/lib/AlignBox/style/index.css +1 -1
  337. package/lib/Anchor/anchorMenu/index.d.ts +2 -1
  338. package/lib/Anchor/anchorMenu/index.js +1 -1
  339. package/lib/Anchor/component.json +130 -0
  340. package/lib/Anchor/index.js +1 -1
  341. package/lib/Anchor/type.d.ts +8 -4
  342. package/lib/Argv/component.json +216 -0
  343. package/lib/Argv/index.d.ts +5 -6
  344. package/lib/AutoBox/component.json +133 -0
  345. package/lib/AutoBox/index.d.ts +3 -3
  346. package/lib/AutoBox/index.js +1 -1
  347. package/lib/AutoBox/protal.d.ts +2 -2
  348. package/lib/AutoBox/protal.js +1 -1
  349. package/lib/AutoButton/component.json +109 -0
  350. package/lib/AutoButton/index.js +1 -1
  351. package/lib/AutoTips/autoTipsMultiline/index.d.ts +1 -1
  352. package/lib/AutoTips/autoTipsMultiline/index.js +1 -1
  353. package/lib/AutoTips/component.json +121 -0
  354. package/lib/Badge/component.json +92 -0
  355. package/lib/Breadcrumbs/component.json +142 -0
  356. package/lib/Breadcrumbs/index.js +1 -1
  357. package/lib/Button/SplitButton.d.ts +2 -2
  358. package/lib/Button/component.json +168 -0
  359. package/lib/Button/index.js +1 -1
  360. package/lib/ButtonGroup/component.json +132 -0
  361. package/lib/ButtonGroup/index.d.ts +1 -1
  362. package/lib/Card/component.json +162 -0
  363. package/lib/Card/index.d.ts +2 -2
  364. package/lib/Card/index.js +1 -1
  365. package/lib/Carousel/component.json +142 -0
  366. package/lib/Carousel/index.d.ts +1 -1
  367. package/lib/Cascader/Cascader.js +1 -1
  368. package/lib/Cascader/component.json +196 -0
  369. package/lib/Cascader/hooks/useEntities.js +1 -1
  370. package/lib/Cascader/interface.d.ts +1 -0
  371. package/lib/Cascader/utils/commonUtil.d.ts +1 -1
  372. package/lib/Cascader/utils/commonUtil.js +1 -1
  373. package/lib/Cascader/utils/treeUtil.d.ts +14 -5
  374. package/lib/Cascader/utils/treeUtil.js +1 -1
  375. package/lib/Checkbox/component.json +138 -0
  376. package/lib/CheckboxGroup/component.json +152 -0
  377. package/lib/CodeEditor/component.json +189 -0
  378. package/lib/CodeEditor/index.d.ts +10 -9
  379. package/lib/Collapse/component.json +166 -0
  380. package/lib/Collapse/index.d.ts +1 -1
  381. package/lib/Collapse/index.js +1 -1
  382. package/lib/CollapseBox/component.json +84 -0
  383. package/lib/CollapseLayout/component.json +155 -0
  384. package/lib/ColorPicker/component.json +142 -0
  385. package/lib/ComboSelect/component.json +181 -0
  386. package/lib/ComboSelect/index.js +1 -1
  387. package/lib/ComboSelect/interface.d.ts +6 -3
  388. package/lib/ComboSelect/utils.d.ts +3 -3
  389. package/lib/ComboSelect/utils.js +1 -1
  390. package/lib/Container/component.json +111 -0
  391. package/lib/ContentBox/component.json +81 -0
  392. package/lib/CopyText/component.json +118 -0
  393. package/lib/CycleSelector/component.json +98 -0
  394. package/lib/CycleSelector/index.js +1 -1
  395. package/lib/DatePicker/component.json +192 -0
  396. package/lib/DatePicker/generatePicker/generateRangePicker.d.ts +0 -8
  397. package/lib/DatePicker/generatePicker/generateRangePicker.js +1 -1
  398. package/lib/DatePicker/generatePicker/generateSinglePicker.js +1 -1
  399. package/lib/DatePicker/generatePicker/index.d.ts +11 -4
  400. package/lib/Descriptions/component.json +142 -0
  401. package/lib/Descriptions/index.d.ts +1 -1
  402. package/lib/Desktop/component.json +171 -0
  403. package/lib/DragVerify/component.json +114 -0
  404. package/lib/DragVerify/index.js +1 -1
  405. package/lib/Drawer/component.json +200 -0
  406. package/lib/Drawer/index.js +1 -1
  407. package/lib/Drawer/interface.d.ts +1 -1
  408. package/lib/Drawer/util.d.ts +1 -6
  409. package/lib/Drawer/util.js +1 -1
  410. package/lib/Dropdown/component.json +147 -0
  411. package/lib/DynamicMultiBox/component.json +278 -0
  412. package/lib/DynamicMultiBox/formItem.d.ts +1 -1
  413. package/lib/DynamicMultiBox/rowForm.d.ts +2 -2
  414. package/lib/Empty/component.json +123 -0
  415. package/lib/Empty/index.css +1 -1
  416. package/lib/Empty/index.d.ts +2 -2
  417. package/lib/Empty/index.js +1 -1
  418. package/lib/Empty/style/index.css +1 -1
  419. package/lib/FieldForm/FieldFormItem/MemoInput.d.ts +2 -2
  420. package/lib/FieldForm/FieldFormItem/index.d.ts +6 -6
  421. package/lib/FieldForm/Form.d.ts +2 -2
  422. package/lib/FieldForm/FormList.d.ts +2 -2
  423. package/lib/FieldForm/component.json +196 -0
  424. package/lib/FieldForm/context.d.ts +5 -1
  425. package/lib/FieldForm/context.js +1 -1
  426. package/lib/FieldForm/hooks/useForm.d.ts +4 -3
  427. package/lib/FieldForm/hooks/useFormInstance.d.ts +1 -1
  428. package/lib/FieldForm/hooks/useFormItemStatus.d.ts +9 -5
  429. package/lib/FieldForm/hooks/useFormItemStatus.js +1 -1
  430. package/lib/FieldForm/hooks/useItemRef.d.ts +1 -1
  431. package/lib/FieldForm/hooks/useItemRef.js +1 -1
  432. package/lib/Form/component.json +161 -0
  433. package/lib/Form/index.d.ts +52 -49
  434. package/lib/FormItem/compoments/defaultCompoments/index.d.ts +5 -5
  435. package/lib/FormItem/compoments/defaultCompoments/index.js +1 -1
  436. package/lib/FormItem/compoments/formCheckboxGroup/index.d.ts +2 -2
  437. package/lib/FormItem/compoments/formFile/index.js +1 -1
  438. package/lib/FormItem/compoments/formRadioGroup/index.d.ts +1 -1
  439. package/lib/FormItem/compoments/formSelect/index.d.ts +1 -1
  440. package/lib/FormItem/component.json +171 -0
  441. package/lib/FormItem/index.d.ts +5 -5
  442. package/lib/FormItem/index.js +1 -1
  443. package/lib/FormItem/itemType.js +1 -1
  444. package/lib/FunctionModal/component.json +197 -0
  445. package/lib/FunctionModal/dialog.d.ts +1 -1
  446. package/lib/FunctionModal/modalContext.d.ts +4 -1
  447. package/lib/Help/component.json +118 -0
  448. package/lib/HelperText/component.json +126 -0
  449. package/lib/Image/component.json +165 -0
  450. package/lib/InputCode/component.json +191 -0
  451. package/lib/InputCode/index.d.ts +2 -2
  452. package/lib/InputLang/component.json +205 -0
  453. package/lib/InputLang/index.js +1 -1
  454. package/lib/InputNumber/component.json +162 -0
  455. package/lib/Label/component.json +126 -0
  456. package/lib/Label/index.d.ts +2 -2
  457. package/lib/Loading/component.json +91 -0
  458. package/lib/Menu/component.json +180 -0
  459. package/lib/Message/component.json +246 -0
  460. package/lib/Message/index.d.ts +2 -2
  461. package/lib/Message/index.js +1 -1
  462. package/lib/Modal/Confirm/index.d.ts +1 -1
  463. package/lib/Modal/Confirm/index.js +1 -1
  464. package/lib/Modal/component.json +277 -0
  465. package/lib/Modal/index.d.ts +97 -6
  466. package/lib/Modal/index.js +1 -1
  467. package/lib/Modal/interface.d.ts +1 -0
  468. package/lib/MultiBox/component.json +216 -0
  469. package/lib/MultiBox/index.js +1 -1
  470. package/lib/Notification/component.json +184 -0
  471. package/lib/OperateBtn/component.json +134 -0
  472. package/lib/OperateBtn/index.d.ts +3 -3
  473. package/lib/PageHeader/component.json +112 -0
  474. package/lib/Pagination/component.json +181 -0
  475. package/lib/Pagination/index.js +1 -1
  476. package/lib/PasswordRules/component.json +105 -0
  477. package/lib/PasswordRules/index.d.ts +4 -4
  478. package/lib/PopConfirm/component.json +227 -0
  479. package/lib/PopConfirm/index.d.ts +1 -1
  480. package/lib/PopConfirm/index.js +1 -1
  481. package/lib/PopMenu/component.json +131 -0
  482. package/lib/PopMenu/hooks.d.ts +1 -1
  483. package/lib/PopMenu/index.js +1 -1
  484. package/lib/Popover/component.json +165 -0
  485. package/lib/Popover/index.js +1 -1
  486. package/lib/Progress/component.json +161 -0
  487. package/lib/Prompt/component.json +144 -0
  488. package/lib/Querying/component.json +96 -0
  489. package/lib/Querying/index.css +1 -1
  490. package/lib/Querying/index.d.ts +2 -2
  491. package/lib/Querying/index.js +1 -1
  492. package/lib/Querying/style/index.css +1 -1
  493. package/lib/QuickReply/component.json +129 -0
  494. package/lib/QuickReply/index.d.ts +1 -1
  495. package/lib/Radio/component.json +136 -0
  496. package/lib/RadioGroup/component.json +149 -0
  497. package/lib/RangeInput/component.json +198 -0
  498. package/lib/RangeInput/index.js +1 -1
  499. package/lib/Result/component.json +104 -0
  500. package/lib/ScrollBar/component.json +115 -0
  501. package/lib/Search/component.json +177 -0
  502. package/lib/Search/index.d.ts +1 -1
  503. package/lib/Select/component.json +244 -0
  504. package/lib/Select/index.js +1 -1
  505. package/lib/SelectInput/component.json +184 -0
  506. package/lib/Selector/component.json +203 -0
  507. package/lib/Selector/index.js +1 -1
  508. package/lib/Selector/interface.d.ts +1 -1
  509. package/lib/Selector/selectorMain/index.js +1 -1
  510. package/lib/Selector/selectorNode/index.js +1 -1
  511. package/lib/Selector/util.d.ts +2 -2
  512. package/lib/SelectorPicker/component.json +179 -0
  513. package/lib/SelectorPicker/index.d.ts +5 -5
  514. package/lib/SelectorPicker/index.js +1 -1
  515. package/lib/SingleBox/component.json +151 -0
  516. package/lib/SingleBox/index.d.ts +2 -2
  517. package/lib/Slider/component.json +181 -0
  518. package/lib/SortBox/component.json +108 -0
  519. package/lib/Status/component.json +104 -0
  520. package/lib/Stepper/component.json +129 -0
  521. package/lib/Stepper/index.d.ts +2 -2
  522. package/lib/Switch/component.json +207 -0
  523. package/lib/Switch/index.css +1 -1
  524. package/lib/Switch/index.d.ts +3 -2
  525. package/lib/Switch/index.js +1 -1
  526. package/lib/Switch/style/index.css +1 -1
  527. package/lib/Table/component.json +547 -0
  528. package/lib/Table/index.d.ts +2 -2
  529. package/lib/Table/index.js +1 -1
  530. package/lib/Table/interface.d.ts +6 -0
  531. package/lib/Tabs/component.json +227 -0
  532. package/lib/Tag/component.json +221 -0
  533. package/lib/Tag/index.css +1 -1
  534. package/lib/Tag/index.d.ts +1 -1
  535. package/lib/Tag/index.js +1 -1
  536. package/lib/Tag/style/index.css +1 -1
  537. package/lib/TextEditor/component.json +186 -0
  538. package/lib/TextEditor/index.d.ts +5 -5
  539. package/lib/TextField/component.json +290 -0
  540. package/lib/TextField/index.d.ts +2 -2
  541. package/lib/TimePicker/component.json +176 -0
  542. package/lib/Timeline/component.json +110 -0
  543. package/lib/Title/component.json +156 -0
  544. package/lib/ToggleButton/component.json +153 -0
  545. package/lib/Tooltip/component.json +176 -0
  546. package/lib/Tooltip/index.js +1 -1
  547. package/lib/Tooltip/interface.d.ts +14 -1
  548. package/lib/Tooltip/utils.js +1 -1
  549. package/lib/Transfer/component.json +157 -0
  550. package/lib/Tree/component.json +512 -0
  551. package/lib/Upload/component.json +450 -0
  552. package/lib/Utils/type.d.ts +0 -2
  553. package/lib/index.d.ts +2 -0
  554. package/lib/index.js +1 -1
  555. package/lib/locale/en_US.d.ts +361 -0
  556. package/lib/locale/en_US.js +2 -0
  557. package/lib/locale/index.d.ts +1 -723
  558. package/lib/locale/index2.js +2 -0
  559. package/lib/locale/zh_CN.d.ts +361 -0
  560. package/lib/locale/zh_CN.js +2 -0
  561. package/package.json +10 -3
  562. /package/es/{Utils/Hooks → Hooks}/useResizeObserver.d.ts +0 -0
  563. /package/es/{Utils/Hooks → Hooks}/useResizeObserver.js +0 -0
  564. /package/lib/{Utils/Hooks → Hooks}/useResizeObserver.d.ts +0 -0
  565. /package/lib/{Utils/Hooks → Hooks}/useResizeObserver.js +0 -0
@@ -48,7 +48,7 @@ const ae = {
48
48
  onCountdownFinish: G,
49
49
  getPopupContainer: H,
50
50
  ...K
51
- } = T, x = te("PopConfirm", ie), h = N(), L = ce(h, H), [p, f] = b(!1), r = N(), [d, j] = b(g), v = _(() => s && d >= 1, [s, d]);
51
+ } = T, x = te("PopConfirm", ie), h = N(null), L = ce(h, H), [p, f] = b(!1), r = N(), [d, j] = b(g), v = _(() => s && d >= 1, [s, d]);
52
52
  k(() => (s && (p ? (j(g), r.current = setInterval(() => {
53
53
  j((n) => n <= 1 ? (G?.(), clearInterval(r.current), 0) : n - 1);
54
54
  }, 1e3)) : clearInterval(r.current)), () => {
@@ -0,0 +1,131 @@
1
+ {
2
+ "name": "PopMenu",
3
+ "category": "Navigation",
4
+ "description": "下拉级联菜单,支持分组、子菜单嵌套和受控选中态,基于 Popover 实现",
5
+ "semantic": {
6
+ "intent": [
7
+ "更多操作",
8
+ "收纳命令",
9
+ "选择"
10
+ ],
11
+ "useCases": [
12
+ "操作栏更多",
13
+ "导航菜单",
14
+ "过滤器"
15
+ ],
16
+ "riskLevel": "low"
17
+ },
18
+ "variants": {
19
+ "default": {
20
+ "meaning": "标准下拉菜单"
21
+ }
22
+ },
23
+ "states": [
24
+ "visible",
25
+ "hidden"
26
+ ],
27
+ "idealProps": {
28
+ "data": {
29
+ "type": "PopMenuListItemProps[] | PopMenuGroupItemProps[]",
30
+ "description": "菜单数据源;**PopMenuListItemProps** = { name: string(必填,唯一 key); title?: string(显示文案); disabled?: boolean; disabledTip?: string; help?: string; render?: (handle: IPopMenuHandler) => ReactElement(自定义渲染); onClick?: (name, item?, path?) => void; children?: PopMenuListItemProps[](子菜单)};**PopMenuGroupItemProps** = { list: PopMenuListItemProps[] }(用于分组,混合传时未分组项自动聚合到末尾组)"
31
+ },
32
+ "direction": {
33
+ "type": "enum",
34
+ "values": ["left", "right"],
35
+ "default": "left",
36
+ "description": "弹出方向;left=右侧展开(默认 placement=bottomRight);right=左侧展开(默认 placement=bottomLeft)"
37
+ },
38
+ "onChange": {
39
+ "type": "(value: TPopMenuValue) => void",
40
+ "description": "选中项变化时的回调;**TPopMenuValue = string[]**(选中路径数组);每次点击叶子节点时触发"
41
+ },
42
+ "onClick": {
43
+ "type": "(name: string, item?: PopMenuListItemProps, path?: string[]) => void",
44
+ "description": "点击菜单项时的回调;name=当前项的 name 字段;path=从根到当前项的 name 路径数组(不含当前项)"
45
+ },
46
+ "value": {
47
+ "type": "TPopMenuValue",
48
+ "description": "当前选中的菜单路径数组(受控);**TPopMenuValue = string[]**;每个元素是对应层级的 name 值"
49
+ },
50
+ "children": {
51
+ "type": "ReactNode",
52
+ "description": "触发浮层的目标节点(包裹在内层 div 里,ref 由 PopMenu 内部管理,可传任意 ReactNode)"
53
+ },
54
+ "menuClassName": {
55
+ "type": "string",
56
+ "description": "菜单列表容器的自定义 className(src/PopMenu/index.tsx:28 interface 实证)"
57
+ },
58
+ "menuStyle": {
59
+ "type": "React.CSSProperties",
60
+ "description": "菜单列表容器的自定义样式"
61
+ },
62
+ "contentClassName": {
63
+ "type": "string",
64
+ "description": "触发节点外层 div 的自定义 className"
65
+ },
66
+ "contentStyle": {
67
+ "type": "React.CSSProperties",
68
+ "description": "触发节点外层 div 的自定义样式"
69
+ }
70
+ },
71
+ "do": [
72
+ "收纳低频操作——标准场景传 data 数组,每项必须有 name 字段(唯一 key)",
73
+ "Label 简短清晰,子菜单层级不超过 2 层",
74
+ "危险操作通过 PopMenuListItemProps.disabled + disabledTip 做防误操作提示",
75
+ "需要自定义菜单项(如带图标/颜色)时用 render 函数,形参 handle.closeMenu() 可手动关闭浮层"
76
+ ],
77
+ "dont": [
78
+ "Dropdown 层级过深 (>2)——嵌套层级过多用户迷失,超过 2 层改用 Modal 表单",
79
+ "Dropdown 内放置过度复杂的表单",
80
+ "用数组下标作为 name——name 用于选中值追踪,必须全局唯一字符串"
81
+ ],
82
+ "events": {
83
+ "onClick": {
84
+ "signature": "(name: string, item?: PopMenuListItemProps, path?: string[]) => void",
85
+ "asyncSupported": false,
86
+ "examples": [
87
+ "基本点击:onClick={(name, item) => { handleAction(name); }}",
88
+ "获取完整路径:onClick={(name, item, path) => { console.log([...path, name]); }} // path 是父级 name 数组,不含当前",
89
+ "自定义渲染中关闭浮层:render={(handle) => <div onClick={() => { doAction(); handle.closeMenu(); }}>自定义项</div>}"
90
+ ],
91
+ "commonMistakes": [
92
+ "期望 onClick 在父节点(有 children 的项)点击时触发——有子菜单的节点展开子菜单,不触发 onClick;只有叶子节点触发",
93
+ "用 item.name 做显示文案——显示文案是 item.title;item.name 是唯一 key",
94
+ "假设 path 包含当前节点——path 只包含父级路径,不含当前点击项;完整路径是 [...path, name]"
95
+ ]
96
+ },
97
+ "onChange": {
98
+ "signature": "(value: TPopMenuValue) => void",
99
+ "asyncSupported": false,
100
+ "examples": [
101
+ "受控选中:onChange={(val) => setValue(val)}",
102
+ "value 是 string[],如 ['group1', 'item2'] 表示选中了 group1 下的 item2"
103
+ ],
104
+ "commonMistakes": [
105
+ "假设 value 是单个字符串——TPopMenuValue = string[],即使只有一级也是数组",
106
+ "onClick 和 onChange 重复处理同一逻辑——onClick 含 name+item+path 更精细;onChange 只有路径数组"
107
+ ]
108
+ }
109
+ },
110
+ "typescriptPitfalls": [
111
+ {
112
+ "issue": "data 中每个 item 的 name 字段必填(string),缺少会导致选中态追踪失效",
113
+ "wrong": "data={[{ title: '编辑' }, { title: '删除' }]} // 缺少 name 字段,TS 报错",
114
+ "right": "data={[{ name: 'edit', title: '编辑' }, { name: 'delete', title: '删除' }]}"
115
+ },
116
+ {
117
+ "issue": "TPopMenuValue 是 string[],value 和 onChange 的类型都是数组,不是单个字符串",
118
+ "wrong": "value='edit' onChange={(val: string) => setValue(val)} // 类型不匹配",
119
+ "right": "value={['edit']} onChange={(val: string[]) => setValue(val)}"
120
+ },
121
+ {
122
+ "issue": "PopMenuListItemProps.render 的形参是 IPopMenuHandler 对象,不是 React event",
123
+ "wrong": "render={(e) => <div onClick={() => e.preventDefault()}>...</div>} // e 不是事件",
124
+ "right": "render={(handle) => <div onClick={() => { doAction(); handle.closeMenu(); }}>...</div>} // handle.closeMenu() 关闭浮层"
125
+ }
126
+ ],
127
+ "mapping": {
128
+ "realComponent": "PopMenu",
129
+ "adapter": null
130
+ }
131
+ }
@@ -1,5 +1,5 @@
1
1
  import { default as React } from 'react';
2
- export declare const useComponentWidth: (efts: any[]) => {
2
+ export declare const useComponentWidth: (efts: React.DependencyList) => {
3
3
  width: number;
4
4
  ref: React.RefObject<HTMLDivElement>;
5
5
  };
@@ -1,7 +1,7 @@
1
1
  import { j as n } from "../_virtual/jsx-runtime.js";
2
2
  import s from "clsx";
3
3
  import I from "react";
4
- import { $prefixCls as m } from "../GlobalContext/constant.js";
4
+ import { $prefixCls as c } from "../GlobalContext/constant.js";
5
5
  import { Popover as S } from "../Popover/index.js";
6
6
  import { usePopMenuContext as $, PopMenuProvider as k } from "./context.js";
7
7
  import { useComponentWidth as w } from "./hooks.js";
@@ -9,7 +9,7 @@ import './index.css';/* empty css */
9
9
  import E from "./list.js";
10
10
  const L = (l) => {
11
11
  const {
12
- overlayClassName: u,
12
+ overlayClassName: m,
13
13
  data: f,
14
14
  children: i,
15
15
  menuClassName: d,
@@ -21,19 +21,19 @@ const L = (l) => {
21
21
  onClick: g,
22
22
  path: P,
23
23
  ...e
24
- } = l, { width: j, ref: M } = w([i]), a = I.useRef(), { handle: p, menuIndex: N } = $(), R = () => {
24
+ } = l, { width: j, ref: M } = w([i]), a = I.useRef(null), { handle: p, menuIndex: N } = $(), R = () => {
25
25
  const o = [], r = { list: [] };
26
26
  return f.forEach((t) => {
27
27
  typeof t == "object" && t !== null && "list" in t ? o.push(t) : r.list.push(t);
28
- }), r.list?.length && o.push(r), /* @__PURE__ */ n.jsx(n.Fragment, { children: o.map((t, c) => /* @__PURE__ */ n.jsx(
28
+ }), r.list?.length && o.push(r), /* @__PURE__ */ n.jsx(n.Fragment, { children: o.map((t, u) => /* @__PURE__ */ n.jsx(
29
29
  E,
30
30
  {
31
31
  direction: e.direction,
32
32
  list: t.list,
33
- className: s(d, { "pop-menu-separator": c !== o.length - 1 }),
33
+ className: s(d, { "pop-menu-separator": u !== o.length - 1 }),
34
34
  style: h
35
35
  },
36
- c
36
+ u
37
37
  )) });
38
38
  }, b = () => e.placement ? e.placement : e.direction === "right" ? "bottomLeft" : "bottomRight";
39
39
  return /* @__PURE__ */ n.jsx(
@@ -63,7 +63,7 @@ const L = (l) => {
63
63
  ...e,
64
64
  isPopover: !0,
65
65
  ref: a,
66
- overlayClassName: s(`${m}-pop-menu`, u),
66
+ overlayClassName: s(`${c}-pop-menu`, m),
67
67
  overlayInnerStyle: { minWidth: j, ...e.overlayInnerStyle },
68
68
  content: R(),
69
69
  placement: b(),
@@ -71,7 +71,7 @@ const L = (l) => {
71
71
  "div",
72
72
  {
73
73
  ref: M,
74
- className: s(`${m}-pop-menu-content`, y),
74
+ className: s(`${c}-pop-menu-content`, y),
75
75
  style: v,
76
76
  children: i
77
77
  }
@@ -0,0 +1,165 @@
1
+ {
2
+ "name": "Popover",
3
+ "category": "Data Display",
4
+ "description": "点击/鼠标移入元素,弹出气泡式的卡片浮层,支持标题+内容的富内容承载",
5
+ "semantic": {
6
+ "intent": [
7
+ "展示详情",
8
+ "复杂操作",
9
+ "承载内容"
10
+ ],
11
+ "useCases": [
12
+ "用户信息卡片",
13
+ "复杂筛选配置",
14
+ "帮助文档预览"
15
+ ],
16
+ "riskLevel": "normal"
17
+ },
18
+ "variants": {
19
+ "default": {
20
+ "meaning": "默认样式"
21
+ }
22
+ },
23
+ "states": [
24
+ "visible",
25
+ "hidden"
26
+ ],
27
+ "idealProps": {
28
+ "content": {
29
+ "type": "ReactNode",
30
+ "description": "卡片内容主体"
31
+ },
32
+ "title": {
33
+ "type": "string | ReactNode",
34
+ "description": "卡片标题。**不传时浮层不渲染标题区**(无空白占位);如需仅展示 content,省略 title 即可"
35
+ },
36
+ "children": {
37
+ "type": "ReactElement",
38
+ "description": "**触发浮层的目标节点**——必须是『单一可接收 ref 的 React 元素』(rc-tooltip 内部约束,需挂 ref 监听事件)。传 string / Fragment / 多个并列节点会导致 ref 挂载失败、触发不生效。当业务方接到 ReactNode 类型的 trigger 节点(可能是字符串 / Fragment / 数组)时,外层包一层 `<span style={{ display: 'inline-block' }}>` 兜底"
39
+ },
40
+ "placement": {
41
+ "type": "enum",
42
+ "values": [
43
+ "top",
44
+ "left",
45
+ "right",
46
+ "bottom",
47
+ "topLeft",
48
+ "topRight",
49
+ "bottomLeft",
50
+ "bottomRight",
51
+ "leftTop",
52
+ "leftBottom",
53
+ "rightTop",
54
+ "rightBottom"
55
+ ],
56
+ "default": "bottom",
57
+ "description": "弹出位置(src/Popover/index.tsx:65 实证默认 `bottom`,非 `top`)"
58
+ },
59
+ "trigger": {
60
+ "type": "enum",
61
+ "values": [
62
+ "hover",
63
+ "focus",
64
+ "click",
65
+ "contextMenu"
66
+ ],
67
+ "default": "click",
68
+ "description": "触发行为。`contextMenu` 时由内部 rc-tooltip 自动 preventDefault 浏览器原生右键菜单。**仅支持单值,不支持数组形式**——多种触发需用受控模式(visible + onVisibleChange + 业务方自行监听多种事件)"
69
+ },
70
+ "visible": {
71
+ "type": "boolean",
72
+ "default": false,
73
+ "description": "**控制显示(受控,src 真实主名)**——Popover 继承 TooltipProps,src/Tooltip/index.tsx:25 取 `visible ?? open`,visible 优先。新代码任选其一;不要同时传。**受控语义**:传 visible 后 Popover 完全受控,用户的 click / hover / contextMenu 不会自动切换内部 state,仅触发 onVisibleChange 让父组件决定是否改 visible(请求改变 vs 直接改变)"
74
+ },
75
+ "open": {
76
+ "type": "boolean",
77
+ "default": false,
78
+ "description": "`visible` 的别名(antd 风格)"
79
+ },
80
+ "onVisibleChange": {
81
+ "type": "function",
82
+ "signature": "(visible: boolean) => void",
83
+ "description": "**显示隐藏回调(src 真实事件名是 onVisibleChange,不是 onOpenChange)**。受控时仍会被调用——表示父组件应改变 visible;非受控时由 Popover 内部 state 切换并同时回调"
84
+ },
85
+ "arrow": {
86
+ "type": "boolean",
87
+ "default": false,
88
+ "description": "是否显示箭头(src/Popover/index.tsx:69 实证默认 `false`,非 `true`)"
89
+ },
90
+ "getPopupContainer": {
91
+ "type": "function",
92
+ "signature": "(triggerNode: HTMLElement) => HTMLElement",
93
+ "description": "指定弹层的挂载容器(src/Tooltip/interface.tsx:41 实证,Popover 继承 TooltipProps)。默认挂载到 body;传入函数返回目标 DOM 节点可实现局部定位(如 Modal 内的 Popover 挂载到 Modal 容器,避免层叠问题)。**函数在浮层首次展示时调用**,须确保此时目标 DOM 已挂载"
94
+ },
95
+ "mouseEnterDelay": {
96
+ "type": "number",
97
+ "default": 0.1,
98
+ "description": "鼠标移入后弹出延迟(单位:秒,src/Popover/index.tsx:67 defaultProps 实证默认 0.1)。`trigger='hover'` 时生效;设为 0 则立即弹出"
99
+ },
100
+ "mouseLeaveDelay": {
101
+ "type": "number",
102
+ "default": 0.1,
103
+ "description": "鼠标移出后消失延迟(单位:秒,src/Popover/index.tsx:68 defaultProps 实证默认 0.1)。`trigger='hover'` 时生效;用于防止鼠标从 trigger 移至浮层时浮层闪烁消失"
104
+ },
105
+ "defaultVisible": {
106
+ "type": "boolean",
107
+ "default": false,
108
+ "description": "⚠️ **非受控初始可见性**(rc-tooltip prop,src/Popover/index.tsx:193 defaultProps 实证默认 false)。与 `visible`/`open` 互斥——传 `visible` 后为受控模式,`defaultVisible` 失效。**仅控制首次渲染时的初始展开状态**,之后由 trigger 事件驱动内部 state,父组件无需管理"
109
+ }
110
+ },
111
+ "do": [
112
+ "当内容较多或包含交互(如按钮、链接)时使用 Popover",
113
+ "提供清晰的关闭方式(如果不是 hover 触发)",
114
+ "**children 必须是单一可接收 ref 的 React 元素**:`<Button>` / `<span>` / 自定义 forwardRef 组件均可;传业务接到的 ReactNode 时外层包 `<span style={{display:'inline-block'}}>` 兜底",
115
+ "**省略 title 不渲染标题区**(无空白占位);只展示 content 时直接不传 title 即可(覆盖『无标题快速详情』场景)",
116
+ "**右键菜单场景**:`trigger='contextMenu'`,内部自动 preventDefault;可配合 `visible + onVisibleChange` 实现『点击菜单项后关闭浮层』",
117
+ "**外部按钮控制显隐**:用 `visible + onVisibleChange` 受控;trigger prop 决定 onVisibleChange 被调用的时机(hover/click/contextMenu)",
118
+ "**纯受控 + 任意 trigger 时父组件应忽略 onVisibleChange 请求**(DEFECT-001):trigger 缺 'none' / 'manual' 选项,纯受控场景下用户点击/悬停/右键仍触发 onVisibleChange — 父组件直接保留 visible state 不响应即可,不要主动反向 setState;不需要交互时通过 unmount 完全屏蔽"
119
+ ],
120
+ "dont": [
121
+ "仅用于展示简单文本(应使用 Tooltip)",
122
+ "弹出层级过深或遮挡关键信息",
123
+ "**不要给 children 传字符串 / Fragment / 数组**——rc-tooltip 内部约束需挂 ref 监听事件,非元素 children 会让触发失效;如必须传 ReactNode,外层包 inline-block span",
124
+ "**不要传 `onOpenChange`**——src 真实事件名是 `onVisibleChange`,传 onOpenChange 不会触发任何回调",
125
+ "**不要给 trigger 传数组**(如 `['click', 'contextMenu']`)——src 类型仅单值字符串联合;多种触发用受控模式自行监听",
126
+ "不要假设传 visible 后 trigger 仍会切换内部 state——受控模式下 trigger 仅决定 onVisibleChange 被调用的时机,由父组件决定是否真改 visible"
127
+ ],
128
+ "events": {
129
+ "onVisibleChange": {
130
+ "signature": "(visible: boolean) => void",
131
+ "asyncSupported": false,
132
+ "examples": [
133
+ "非受控监听:onVisibleChange={(v) => console.log('浮层', v ? '展开' : '收起')}",
134
+ "受控开关:visible={open} onVisibleChange={(v) => setOpen(v)}",
135
+ "点击浮层内关闭按钮后同步状态:onVisibleChange={(v) => { if (!v) setOpen(false); }}"
136
+ ],
137
+ "commonMistakes": [
138
+ "事件名写成 onOpenChange——Popover 的事件名是 onVisibleChange,onOpenChange 不会触发",
139
+ "受控时在 onVisibleChange 里 setState(false) 来关闭——可行,但若 trigger='click' 则点击外部也会触发关闭,需确保 state 正确响应",
140
+ "同时传 visible 和 open——visible 优先,二者同时传会造成混乱,任选其一"
141
+ ]
142
+ }
143
+ },
144
+ "typescriptPitfalls": [
145
+ {
146
+ "issue": "trigger 不支持数组,只支持单字符串联合类型",
147
+ "wrong": "trigger={['click', 'hover']} // TS 类型报错,src 仅支持单值",
148
+ "right": "trigger='click' // 单一触发;需多种触发时用 visible + onVisibleChange 受控模式"
149
+ },
150
+ {
151
+ "issue": "onVisibleChange 事件名——src 真实字段名,不是 antd v5 的 onOpenChange",
152
+ "wrong": "onOpenChange={(v) => setOpen(v)} // 不会触发,TS 可能不报错(spread 透传),但无效果",
153
+ "right": "onVisibleChange={(v) => setOpen(v)}"
154
+ },
155
+ {
156
+ "issue": "children 须是单一 ReactElement,传 string 或 Fragment 导致触发失效且无 TS 报错",
157
+ "wrong": "// TS 接受 ReactNode,但 rc-tooltip 运行时挂 ref 失败:\n<Popover content={...}>{someStringOrFragment}</Popover>",
158
+ "right": "<Popover content={...}><span style={{ display: 'inline-block' }}>{someStringOrFragment}</span></Popover>"
159
+ }
160
+ ],
161
+ "mapping": {
162
+ "realComponent": "Popover",
163
+ "adapter": null
164
+ }
165
+ }
@@ -6,7 +6,7 @@ import P from "../GlobalContext/usePopupContainer.js";
6
6
  import g from "clsx";
7
7
  import './index.css';/* empty css */
8
8
  const m = l.forwardRef((o, t) => {
9
- const { title: n, content: s, ...c } = o, e = l.useRef(), u = P(e, o.getPopupContainer);
9
+ const { title: n, content: s, ...c } = o, e = l.useRef(null), u = P(e, o.getPopupContainer);
10
10
  v(() => {
11
11
  t && (typeof t == "function" ? t(e.current) : t.current = e.current);
12
12
  }, [e.current]);
@@ -0,0 +1,161 @@
1
+ {
2
+ "name": "Progress",
3
+ "category": "Feedback",
4
+ "description": "展示操作的当前进度,支持线形/圆形/仪表盘三种形态",
5
+ "semantic": {
6
+ "intent": [
7
+ "展示进度",
8
+ "展示状态",
9
+ "减少焦虑"
10
+ ],
11
+ "useCases": [
12
+ "文件上传",
13
+ "页面加载",
14
+ "任务处理"
15
+ ],
16
+ "riskLevel": "low"
17
+ },
18
+ "variants": {
19
+ "line": {
20
+ "meaning": "线性进度条"
21
+ },
22
+ "circle": {
23
+ "meaning": "圆形进度条"
24
+ },
25
+ "dashboard": {
26
+ "meaning": "仪表盘"
27
+ }
28
+ },
29
+ "states": [
30
+ "normal",
31
+ "active",
32
+ "success",
33
+ "exception"
34
+ ],
35
+ "idealProps": {
36
+ "percent": {
37
+ "type": "number | number[]",
38
+ "default": 0,
39
+ "description": "进度百分比(0-100)。传 number[] 配合 success.percent 展示双段进度(成功段 + 普通段);type='line' 且传了 success 时内部自动拆分为两段"
40
+ },
41
+ "type": {
42
+ "type": "enum",
43
+ "values": [
44
+ "line",
45
+ "circle",
46
+ "dashboard"
47
+ ],
48
+ "default": "line",
49
+ "description": "进度条类型。**line** = 横向线形;**circle** = 圆形(width 控制画布大小);**dashboard** = 仪表盘(底部缺口,gapDegree 控制缺口角度)"
50
+ },
51
+ "status": {
52
+ "type": "enum",
53
+ "values": [
54
+ "success",
55
+ "exception",
56
+ "normal",
57
+ "active"
58
+ ],
59
+ "default": "normal",
60
+ "description": "状态。**active 仅 type='line' 时有动画效果**;percent=100 且不传 status 时自动变为 success 状态(显示对应图标)"
61
+ },
62
+ "showInfo": {
63
+ "type": "boolean",
64
+ "default": true,
65
+ "description": "是否显示进度数值或状态图标(中心文字或右侧文字)。false 时隐藏 format/百分比/状态图标"
66
+ },
67
+ "strokeColor": {
68
+ "type": "string | object",
69
+ "objectShape": {
70
+ "from": { "type": "string", "description": "渐变起始颜色(CSS 颜色值)" },
71
+ "to": { "type": "string", "description": "渐变终止颜色(CSS 颜色值)" },
72
+ "direction": { "type": "string", "description": "渐变方向,默认 'to right'" },
73
+ "[percent: string]": { "type": "string", "description": "分段颜色,例:{ '0%': '#108ee9', '100%': '#87d068' }" }
74
+ },
75
+ "completeExample": "'#1677ff' 或 { from: '#108ee9', to: '#87d068' } 或 { '0%': '#108ee9', '100%': '#87d068' }",
76
+ "description": "进度条颜色。传字符串为纯色;传对象可配置渐变色(from/to)或分段颜色(百分比 key)"
77
+ },
78
+ "strokeWidth": {
79
+ "type": "number",
80
+ "description": "进度条宽度(line 模式单位 px;circle/dashboard 模式是相对于 width 的百分比)"
81
+ },
82
+ "format": {
83
+ "type": "function",
84
+ "signature": "(percent?: number | number[], successPercent?: number) => React.ReactNode",
85
+ "description": "自定义进度内容的模板函数(src/Progress/index.tsx:62 interface 声明)。返回值为 ReactNode,可以是字符串、数字或 JSX。**不传时默认显示百分比数字**;status='success' 或 status='exception' 时默认显示对应图标"
86
+ },
87
+ "success": {
88
+ "type": "object",
89
+ "objectShape": {
90
+ "percent": { "type": "number", "description": "成功进度的百分比值(0-100)" },
91
+ "strokeColor": { "type": "string", "description": "成功段进度条颜色(CSS 颜色值)" }
92
+ },
93
+ "description": "成功进度条配置(src/Progress/index.tsx:78 SuccessProps 实证)。与 `percent` 配合使用:percent 表示整体进度,success.percent 表示其中成功部分的比例。**仅 `type='line'` 时有意义**(双段进度条)"
94
+ },
95
+ "steps": {
96
+ "type": "number",
97
+ "description": "进度条总分段数(src/Progress/index.tsx:84 实证)。传入后进度条渲染为等分的多个方块。⚠️ **仅 `type='line'` 时生效**;circle/dashboard 模式传 steps 无效果"
98
+ },
99
+ "width": {
100
+ "type": "number",
101
+ "description": "圆形/仪表盘进度条的画布宽度,单位 px(src/Progress/index.tsx:76 实证,默认 132)。⚠️ **仅 `type='circle'` 或 `type='dashboard'` 时生效**;line 模式宽度由容器决定,请用外层 style 控制"
102
+ },
103
+ "gapDegree": {
104
+ "type": "number",
105
+ "default": 75,
106
+ "description": "仪表盘缺口角度(0~295),**仅 type='dashboard' 时生效**(src/Progress/index.tsx:113 实证默认 75)"
107
+ },
108
+ "gapPosition": {
109
+ "type": "enum",
110
+ "values": ["top", "bottom", "left", "right"],
111
+ "description": "仪表盘缺口位置(src/Progress/index.tsx:80 interface 实证),**仅 type='dashboard' 时生效**"
112
+ }
113
+ },
114
+ "do": [
115
+ "在耗时操作中使用 Progress 反馈进度,避免用户等待焦虑",
116
+ "根据完成度切换 status(success/exception)——percent=100 时可不传 status,组件自动切 success",
117
+ "自定义中心文字用 format 函数返回 ReactNode,如显示上传速度/剩余时间"
118
+ ],
119
+ "dont": [
120
+ "在瞬间完成的操作中使用 Progress(不必要的闪烁)",
121
+ "进度倒退——percent 值只应单调递增,回退会造成用户困惑",
122
+ "circle/dashboard 模式传 steps 或 active——这两个特性仅对 type='line' 有效"
123
+ ],
124
+ "events": {
125
+ "format": {
126
+ "signature": "(percent?: number | number[], successPercent?: number) => React.ReactNode",
127
+ "asyncSupported": false,
128
+ "examples": [
129
+ "显示自定义文字:format={(p) => `${p}%`}",
130
+ "success 状态显示特定内容:format={(p) => p === 100 ? '完成' : `${p}%`}",
131
+ "双段进度(传 number[] 时):format={(p) => Array.isArray(p) ? `成功 ${p[0]}%` : `${p}%`}"
132
+ ],
133
+ "commonMistakes": [
134
+ "showInfo=false 时 format 不生效——showInfo 控制整个信息区显隐,false 时 format 结果也不渲染",
135
+ "假设 percent 永远是 number——传了 success prop 时内部可能处理为 number[]",
136
+ "期望 status='exception' 时 format 自动显示错误图标——format 存在时始终使用 format 返回值,覆盖默认图标"
137
+ ]
138
+ }
139
+ },
140
+ "typescriptPitfalls": [
141
+ {
142
+ "issue": "status='active' 仅对 type='line' 有动画效果,circle/dashboard 传 active 静默无效",
143
+ "wrong": "<Progress type='circle' percent={60} status='active' /> // 无动画,不报错",
144
+ "right": "<Progress type='line' percent={60} status='active' /> // active 动画仅 line 生效"
145
+ },
146
+ {
147
+ "issue": "width prop 仅控制 circle/dashboard 画布尺寸,line 模式传 width 无效",
148
+ "wrong": "<Progress type='line' percent={60} width={300} /> // line 宽度不受 width 控制",
149
+ "right": "<div style={{ width: 300 }}><Progress type='line' percent={60} /></div> // line 模式用容器控制宽度"
150
+ },
151
+ {
152
+ "issue": "strokeColor 对象形式 from/to 渐变与 '0%'/'100%' 分段不能混用",
153
+ "wrong": "strokeColor={{ from: '#108ee9', '50%': '#87d068', to: '#87d068' }} // 类型冲突",
154
+ "right": "// 渐变:strokeColor={{ from: '#108ee9', to: '#87d068' }}\n// 分段:strokeColor={{ '0%': '#108ee9', '100%': '#87d068' }}"
155
+ }
156
+ ],
157
+ "mapping": {
158
+ "realComponent": "Progress",
159
+ "adapter": null
160
+ }
161
+ }