@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
@@ -1,180 +1,180 @@
1
1
  import { j as r } from "../_virtual/jsx-runtime.js";
2
- import { useState as j, useRef as s, useEffect as b } from "react";
3
- import re from "clsx";
4
- import ne from "rc-drawer";
5
- import { Button as M } from "../Button/index.js";
6
- import oe from "../GlobalContext/useFormatMessage.js";
7
- import ie from "./lang/index.js";
2
+ import { useState as j, useRef as s, useEffect as M } from "react";
3
+ import ne from "clsx";
4
+ import oe from "rc-drawer";
5
+ import { Button as H } from "../Button/index.js";
6
+ import ie from "../GlobalContext/useFormatMessage.js";
7
+ import se from "./lang/index.js";
8
8
  import { $prefixCls as c } from "../GlobalContext/constant.js";
9
- import se from "../AutoTips/index.js";
10
- import { isIE as H } from "../Utils/snack-kit-shims.js";
11
- import { closest as R } from "./util.js";
9
+ import ce from "../AutoTips/index.js";
10
+ import { isIE as R } from "../Utils/snack-kit-shims.js";
11
+ import { closest as S } from "./util.js";
12
12
  import './index.css';/* empty css */
13
- const ce = (n) => {
13
+ const ae = (n) => {
14
14
  const {
15
- className: S,
16
- resizable: L,
17
- onClose: $,
18
- destroyOnClose: D = !1,
19
- style: O,
15
+ className: L,
16
+ resizable: $,
17
+ onClose: D,
18
+ destroyOnClose: O = !1,
19
+ style: W,
20
20
  title: w,
21
- extra: W,
22
- showExtra: F = !0,
21
+ extra: F,
22
+ showExtra: P = !0,
23
23
  footer: g,
24
24
  children: C,
25
25
  size: a = "large",
26
- onOk: P,
27
- onCancel: T,
28
- afterVisibleChange: A,
26
+ onOk: T,
27
+ onCancel: A,
28
+ afterVisibleChange: B,
29
29
  okButtonProps: E,
30
30
  cancelButtonProps: y,
31
- push: B = { distance: 100 },
32
- ...X
33
- } = n, N = oe("Drawer", ie), [, Y] = j(0), [I, l] = j({}), [q, k] = j(!1), f = s(!1), h = s(), v = ["left", "right"].includes(n.placement ?? "right"), d = s(0), u = s(0), m = s(), i = s(0);
34
- b(() => () => {
31
+ push: X = { distance: 100 },
32
+ ...Y
33
+ } = n, N = ie("Drawer", se), [, I] = j(0), [q, l] = j({}), [J, k] = j(!1), f = s(!1), h = s(), v = ["left", "right"].includes(n.placement ?? "right"), d = s(0), u = s(0), m = s(), i = s(0);
34
+ M(() => () => {
35
35
  h.current && (clearTimeout(h.current), h.current = null, window.removeEventListener("mouseup", x), window.removeEventListener("mousemove", p), m.current = void 0);
36
- }, []), b(() => {
37
- l(J), n.open || (m.current = void 0);
36
+ }, []), M(() => {
37
+ l(U), n.open || (m.current = void 0);
38
38
  }, [n.open, n.placement, n.width, n.height, a]);
39
- const J = () => {
39
+ const U = () => {
40
40
  if (!n.open)
41
41
  return {};
42
- const e = {
42
+ const t = {
43
43
  large: "1000px",
44
44
  medium: "630px",
45
45
  small: "400px"
46
46
  }, o = {};
47
47
  if (n.placement === "left" || n.placement === "right") {
48
- const t = e[a];
49
- a !== "auto" && (o.width = n.width === void 0 ? t : n.width);
48
+ const e = t[a];
49
+ a !== "auto" && (o.width = n.width === void 0 ? e : n.width);
50
50
  } else {
51
- const t = a === "large" ? 736 : 378;
52
- a !== "auto" && (o.height = n.height === void 0 ? t : n.height);
51
+ const e = a === "large" ? 736 : 378;
52
+ a !== "auto" && (o.height = n.height === void 0 ? e : n.height);
53
53
  }
54
54
  return o;
55
- }, U = (e) => {
56
- $?.(e);
57
- }, V = () => {
58
- P?.();
55
+ }, V = (t) => {
56
+ D?.(t);
59
57
  }, G = () => {
60
58
  T?.();
61
- }, K = (e) => {
62
- k(!0), d.current = v ? e.clientX : e.clientY;
63
- const o = R(e.target, `.${c}-drawer-open`) ?? document.body, t = `.${c}-drawer-content-wrapper`, z = R(e.target, t) ?? o.querySelector(t);
64
- u.current = v ? o.offsetWidth : o.offsetHeight, i.current = v ? z.offsetWidth : z.offsetHeight, m.current = m.current ?? i.current, document.addEventListener("mousemove", p), document.addEventListener("mouseup", x);
59
+ }, K = () => {
60
+ A?.();
61
+ }, Q = (t) => {
62
+ k(!0), d.current = v ? t.clientX : t.clientY;
63
+ const o = t.target, e = S(o, `.${c}-drawer-open`) ?? document.body, z = `.${c}-drawer-content-wrapper`, b = S(o, z) ?? e.querySelector(z);
64
+ u.current = v ? e.offsetWidth : e.offsetHeight, i.current = v ? b.offsetWidth : b.offsetHeight, m.current = m.current ?? i.current, document.addEventListener("mousemove", p), document.addEventListener("mouseup", x);
65
65
  }, x = () => {
66
66
  k(!1), document.removeEventListener("mousemove", p), document.removeEventListener("mouseup", x);
67
- }, p = (e) => {
67
+ }, p = (t) => {
68
68
  const o = m.current ?? 400;
69
69
  switch (n.placement) {
70
70
  case "left": {
71
- const t = i.current + (e.clientX - d.current);
72
- if (t + 100 >= u.current || t < o) return;
73
- l({ width: t });
71
+ const e = i.current + (t.clientX - d.current);
72
+ if (e + 100 >= u.current || e < o) return;
73
+ l({ width: e });
74
74
  break;
75
75
  }
76
76
  case "right": {
77
- const t = i.current - (e.clientX - d.current);
78
- if (t + 100 >= u.current || t < o) return;
79
- l({ width: t });
77
+ const e = i.current - (t.clientX - d.current);
78
+ if (e + 100 >= u.current || e < o) return;
79
+ l({ width: e });
80
80
  break;
81
81
  }
82
82
  case "top": {
83
- const t = i.current + (e.clientY - d.current);
84
- if (t + 100 >= u.current || t < o) return;
85
- l({ height: t });
83
+ const e = i.current + (t.clientY - d.current);
84
+ if (e + 100 >= u.current || e < o) return;
85
+ l({ height: e });
86
86
  break;
87
87
  }
88
88
  case "bottom": {
89
- const t = i.current - (e.clientY - d.current);
90
- if (t + 100 >= u.current || t < o) return;
91
- l({ height: t });
89
+ const e = i.current - (t.clientY - d.current);
90
+ if (e + 100 >= u.current || e < o) return;
91
+ l({ height: e });
92
92
  break;
93
93
  }
94
94
  }
95
- }, Q = (e) => typeof e == "string" ? /* @__PURE__ */ r.jsx("div", { className: "drawer-header-title drawer-header-title-ellipsis", children: /* @__PURE__ */ r.jsx(se, { children: e }) }) : /* @__PURE__ */ r.jsx("div", { className: "drawer-header-title", children: e }), Z = /* @__PURE__ */ r.jsxs("div", { className: "drawer-body-header", children: [
96
- /* @__PURE__ */ r.jsx(r.Fragment, { children: Q(w) }),
97
- F && /* @__PURE__ */ r.jsx(r.Fragment, { children: /* @__PURE__ */ r.jsx("div", { className: "drawer-header-extra", children: W || /* @__PURE__ */ r.jsxs(r.Fragment, { children: [
95
+ }, Z = (t) => typeof t == "string" ? /* @__PURE__ */ r.jsx("div", { className: "drawer-header-title drawer-header-title-ellipsis", children: /* @__PURE__ */ r.jsx(ce, { children: t }) }) : /* @__PURE__ */ r.jsx("div", { className: "drawer-header-title", children: t }), _ = /* @__PURE__ */ r.jsxs("div", { className: "drawer-body-header", children: [
96
+ /* @__PURE__ */ r.jsx(r.Fragment, { children: Z(w) }),
97
+ P && /* @__PURE__ */ r.jsx(r.Fragment, { children: /* @__PURE__ */ r.jsx("div", { className: "drawer-header-extra", children: F || /* @__PURE__ */ r.jsxs(r.Fragment, { children: [
98
98
  /* @__PURE__ */ r.jsx(
99
- M,
99
+ H,
100
100
  {
101
101
  variant: "outlined",
102
102
  size: "medium",
103
- onClick: G,
103
+ onClick: K,
104
104
  ...y,
105
105
  children: y?.children || N({ id: "cancel" })
106
106
  }
107
107
  ),
108
108
  /* @__PURE__ */ r.jsx(
109
- M,
109
+ H,
110
110
  {
111
111
  variant: "contained",
112
112
  size: "medium",
113
- onClick: V,
113
+ onClick: G,
114
114
  ...E,
115
115
  children: E?.children || N({ id: "ok" })
116
116
  }
117
117
  )
118
118
  ] }) }) })
119
- ] }), _ = () => !w && !g ? C : /* @__PURE__ */ r.jsxs("div", { className: "drawer-content-body", children: [
120
- w && Z,
119
+ ] }), ee = () => !w && !g ? C : /* @__PURE__ */ r.jsxs("div", { className: "drawer-content-body", children: [
120
+ w && _,
121
121
  /* @__PURE__ */ r.jsx("div", { className: "drawer-body-content", children: C }),
122
122
  g && /* @__PURE__ */ r.jsx("div", { className: "drawer-body-footer", children: g })
123
123
  ] });
124
124
  if (f.current)
125
125
  return f.current = !1, null;
126
- const ee = {
126
+ const te = {
127
127
  motionName: `${c}-drawer-mask-motion`,
128
128
  motionAppear: !0,
129
129
  motionEnter: !0,
130
130
  motionLeave: !0,
131
- motionDeadline: H() ? 0 : 100
132
- }, te = (e) => ({
133
- motionName: `${c}-drawer-panel-motion-${e}`,
131
+ motionDeadline: R() ? 0 : 100
132
+ }, re = (t) => ({
133
+ motionName: `${c}-drawer-panel-motion-${t}`,
134
134
  motionAppear: !0,
135
135
  motionEnter: !0,
136
136
  motionLeave: !0,
137
- motionDeadline: H() ? 0 : 100
137
+ motionDeadline: R() ? 0 : 100
138
138
  });
139
139
  return /* @__PURE__ */ r.jsxs(
140
- ne,
140
+ oe,
141
141
  {
142
- ...X,
143
- ...I,
144
- style: O,
145
- maskMotion: ee,
146
- motion: te,
147
- push: B,
142
+ ...Y,
143
+ ...q,
144
+ style: W,
145
+ maskMotion: te,
146
+ motion: re,
147
+ push: X,
148
148
  prefixCls: `${c}-drawer`,
149
- rootClassName: re(S, q && `${c}-drawer-resizing`),
150
- onClose: U,
151
- afterOpenChange: (e) => {
152
- e ? f.current = !1 : D && (f.current = !0, h.current = setTimeout(() => {
153
- Y(Math.random());
154
- }, 300)), A?.(e);
149
+ rootClassName: ne(L, J && `${c}-drawer-resizing`),
150
+ onClose: V,
151
+ afterOpenChange: (t) => {
152
+ t ? f.current = !1 : O && (f.current = !0, h.current = setTimeout(() => {
153
+ I(Math.random());
154
+ }, 300)), B?.(t);
155
155
  },
156
156
  children: [
157
- L && /* @__PURE__ */ r.jsx(
157
+ $ && /* @__PURE__ */ r.jsx(
158
158
  "div",
159
159
  {
160
160
  className: "drawer-handle",
161
- onMouseDown: K,
161
+ onMouseDown: Q,
162
162
  children: /* @__PURE__ */ r.jsx("div", { className: "drawer-handle-icon" })
163
163
  }
164
164
  ),
165
- _()
165
+ ee()
166
166
  ]
167
167
  }
168
168
  );
169
169
  };
170
- ce.defaultProps = {
170
+ ae.defaultProps = {
171
171
  level: null,
172
172
  handler: !1,
173
173
  showMask: !0,
174
174
  placement: "right"
175
175
  };
176
176
  export {
177
- ce as Drawer,
178
- ce as default
177
+ ae as Drawer,
178
+ ae as default
179
179
  };
180
180
  //# sourceMappingURL=index.js.map
@@ -93,6 +93,6 @@ export interface DrawerProps {
93
93
  push?: boolean | {
94
94
  distance: string | number;
95
95
  };
96
- [name: string]: any;
96
+ [name: string]: unknown;
97
97
  }
98
98
  export {};
@@ -1,6 +1 @@
1
- /**
2
- * 查找元素
3
- * @param el 当前元素
4
- * @param selector 查找元素class
5
- */
6
- export declare const closest: (el: any, selector: any) => any;
1
+ export declare const closest: (el: Element | null, selector: string) => Element | null;
package/es/Drawer/util.js CHANGED
@@ -1,10 +1,13 @@
1
- const s = (t, e) => {
2
- const c = t.matches || t.webkitMatchesSelector || t.mozMatchesSelector || t.msMatchesSelector;
3
- for (; t && !c.call(t, e); )
4
- t = t.parentElement;
5
- return t;
1
+ const n = (c, l) => {
2
+ if (!c) return null;
3
+ const t = c, r = t.matches || t.webkitMatchesSelector || t.mozMatchesSelector || t.msMatchesSelector;
4
+ if (!r) return null;
5
+ let e = c;
6
+ for (; e && !r.call(e, l); )
7
+ e = e.parentElement;
8
+ return e;
6
9
  };
7
10
  export {
8
- s as closest
11
+ n as closest
9
12
  };
10
13
  //# sourceMappingURL=util.js.map
@@ -0,0 +1,147 @@
1
+ {
2
+ "name": "Dropdown",
3
+ "category": "Navigation",
4
+ "description": "下拉菜单浮层。children 必须是**单一 React 元素**(rc-dropdown 内部需挂 ref);overlay 必须是**单一 ReactElement**(不接受 ReactNode/字符串/数组/Fragment),不传则不渲染浮层。",
5
+ "semantic": {
6
+ "intent": [
7
+ "下拉选择",
8
+ "菜单展示"
9
+ ],
10
+ "useCases": [
11
+ "用户操作菜单",
12
+ "导航下拉",
13
+ "右键上下文菜单",
14
+ "快捷操作"
15
+ ],
16
+ "riskLevel": "low"
17
+ },
18
+ "variants": {
19
+ "default": {
20
+ "meaning": "默认样式"
21
+ }
22
+ },
23
+ "states": [
24
+ "open",
25
+ "closed"
26
+ ],
27
+ "idealProps": {
28
+ "overlay": {
29
+ "type": "React.ReactElement | (() => React.ReactElement)",
30
+ "description": "下拉浮层内容。**必须是单个 JSX 元素或返回单个 JSX 元素的函数**——不接受字符串/数字/数组/Fragment/ReactNode(否则 TS2322)。要传多个节点请用单一容器(如 `<div>` / `<ul>`)包裹。**如封装组件以 `ReactNode` 类型 prop 接收浮层内容,推荐封装写法:`overlay={<div>{contentProp}</div>}`**——额外的 div 容器不影响 rc-dropdown 内部定位。"
31
+ },
32
+ "children": {
33
+ "type": "React.ReactElement",
34
+ "description": "触发浮层的目标节点(必填,**单一可接收 ref 的 React 元素**)。传 string / Fragment / 数组会触发 TS2322;如需多节点触发器,外层包一层 `<span>` 或具体组件即可。**如封装组件以 `ReactNode` 类型 prop 接收触发器内容,推荐封装写法:`<Dropdown ...><span>{triggerNodeProp}</span></Dropdown>`**——`<span>` 容器可正常挂 ref,不影响触发行为。"
35
+ },
36
+ "trigger": {
37
+ "type": "('click' | 'hover' | 'contextMenu')[]",
38
+ "values": ["click", "hover", "contextMenu"],
39
+ "default": ["hover"],
40
+ "description": "触发下拉的行为列表;数组形式可同时启用多种触发(如 ['click','hover'])。'contextMenu' 用于右键上下文菜单场景。"
41
+ },
42
+ "placement": {
43
+ "type": "'top' | 'topLeft' | 'topRight' | 'bottom' | 'bottomLeft' | 'bottomRight'",
44
+ "values": ["top", "topLeft", "topRight", "bottom", "bottomLeft", "bottomRight"],
45
+ "default": "bottomLeft",
46
+ "description": "菜单弹出位置;6 枚举值已展开。默认 'bottomLeft'(左对齐从下方弹出);'bottom' 为居中对齐,'bottomRight' 为右对齐。"
47
+ },
48
+ "visible": {
49
+ "type": "boolean",
50
+ "description": "受控显示状态;传值则交由外部控制开合,不传走非受控由 trigger 触发。"
51
+ },
52
+ "onVisibleChange": {
53
+ "type": "(visible: boolean) => void",
54
+ "description": "菜单显隐切换回调;受控/非受控均会触发,可用作 visible 同步源。"
55
+ },
56
+ "destroyPopupOnHide": {
57
+ "type": "boolean",
58
+ "default": false,
59
+ "description": "关闭时是否销毁浮层 DOM(避免后台仍渲染)。"
60
+ },
61
+ "overlayClassName": {
62
+ "type": "string",
63
+ "description": "浮层最外层 class 名"
64
+ },
65
+ "overlayStyle": {
66
+ "type": "React.CSSProperties",
67
+ "description": "浮层最外层样式"
68
+ },
69
+ "mouseEnterDelay": {
70
+ "type": "number",
71
+ "description": "trigger='hover' 鼠标进入延迟(秒)"
72
+ },
73
+ "mouseLeaveDelay": {
74
+ "type": "number",
75
+ "description": "trigger='hover' 鼠标移出延迟(秒)"
76
+ },
77
+ "getPopupContainer": {
78
+ "type": "(triggerNode: HTMLElement) => HTMLElement",
79
+ "description": "浮层渲染容器;默认 body,可指定挂载到自定义 DOM 节点(滚动容器场景常用)"
80
+ },
81
+ "forceRender": {
82
+ "type": "boolean",
83
+ "default": false,
84
+ "description": "首次渲染前强制创建浮层 DOM(SSR / 首次过渡动画场景)"
85
+ },
86
+ "isolationPopupOnHide": {
87
+ "type": "boolean",
88
+ "default": false,
89
+ "description": "关闭时把浮层定位至屏幕之外,隔离 DOM 污染(默认 false)"
90
+ }
91
+ },
92
+ "do": [
93
+ "overlay 包成单一 JSX 元素(<div>/<ul>/自定义浮层组件),不要传字符串或多节点数组",
94
+ "children 必须是单一可挂 ref 的元素;非组件节点用 <span> 包裹",
95
+ "封装 Dropdown 时,外部 prop 类型为 ReactNode → children 传 `<span>{prop}</span>`,overlay 传 `<div>{prop}</div>`——这是官方推荐封装模式,不影响定位和 ref 挂载",
96
+ "右键上下文菜单场景用 trigger={['contextMenu']}",
97
+ "需要受控开合时同时传 visible + onVisibleChange,保证状态来源唯一"
98
+ ],
99
+ "dont": [
100
+ "不要给 overlay 传 ReactNode/字符串/数组/Fragment——overlay 必须是单个 ReactElement(JSX 元素)",
101
+ "不要给 children 传字符串/Fragment/数组——会因无法挂 ref 导致触发不生效",
102
+ "不要在 overlay 里依赖 children 的 onClick——点击事件需在 overlay 内部自行处理",
103
+ "不要嵌套过深的 Dropdown(下拉里再下拉),交互复杂且不利于键盘可达性"
104
+ ],
105
+ "events": {
106
+ "onVisibleChange": {
107
+ "signature": "(visible: boolean) => void",
108
+ "asyncSupported": false,
109
+ "examples": [
110
+ "受控模式:onVisibleChange={v => setOpen(v)},配合 visible={open} 实现完全受控",
111
+ "非受控模式:onVisibleChange={v => console.log('dropdown', v ? '打开' : '关闭')},不传 visible 由 trigger 控制",
112
+ "点击外部关闭时 onVisibleChange(false) 也会触发"
113
+ ],
114
+ "commonMistakes": [
115
+ "只传 visible 不传 onVisibleChange → 受控模式下下拉无法关闭(visible 永远不更新)",
116
+ "假设 onVisibleChange 接受 (visible, event) 两个参数 → 实际只有一个 boolean 参数",
117
+ "在 onVisibleChange 里直接修改 overlay 内容期望触发重渲染 → overlay 变化不会重触发 onVisibleChange"
118
+ ]
119
+ }
120
+ },
121
+ "typescriptPitfalls": [
122
+ {
123
+ "issue": "overlay 类型是 React.ReactElement | (() => React.ReactElement),不是 ReactNode",
124
+ "wrong": "overlay={<><div>A</div><div>B</div></>} // Fragment 作为 overlay 会触发 TS2322 类型错",
125
+ "right": "overlay={<div><div>A</div><div>B</div></div>} // 用单一容器元素包裹多节点"
126
+ },
127
+ {
128
+ "issue": "children 类型是 React.ReactElement,不是 ReactNode,传字符串或 Fragment 会 TS 报错",
129
+ "wrong": "<Dropdown overlay={menu}>触发文字</Dropdown> // 字符串不是 ReactElement,TS2322",
130
+ "right": "<Dropdown overlay={menu}><span>触发文字</span></Dropdown> // 用 span 包裹字符串"
131
+ },
132
+ {
133
+ "issue": "trigger prop 是数组类型,不是字符串",
134
+ "wrong": "trigger='click' // TS2322: Type 'string' is not assignable to type '...'",
135
+ "right": "trigger={['click']} // 数组形式,支持 ['click'] / ['hover'] / ['click', 'hover']"
136
+ },
137
+ {
138
+ "issue": "Placement 枚举只有 6 个有效值,不包含 'left' / 'right'",
139
+ "wrong": "placement='left' // TS 报错:不在 Placement 枚举中",
140
+ "right": "placement='bottomLeft' // 合法值: 'top'|'topLeft'|'topRight'|'bottom'|'bottomLeft'|'bottomRight'"
141
+ }
142
+ ],
143
+ "mapping": {
144
+ "realComponent": "Dropdown",
145
+ "adapter": null
146
+ }
147
+ }