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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (556) hide show
  1. package/AGENTS.md +315 -0
  2. package/AlignBox/component.json +89 -0
  3. package/Anchor/component.json +130 -0
  4. package/Argv/component.json +216 -0
  5. package/AutoBox/component.json +133 -0
  6. package/AutoButton/component.json +109 -0
  7. package/AutoTips/component.json +121 -0
  8. package/Badge/component.json +92 -0
  9. package/Breadcrumbs/component.json +142 -0
  10. package/Button/component.json +168 -0
  11. package/ButtonGroup/component.json +132 -0
  12. package/Card/component.json +162 -0
  13. package/Carousel/component.json +142 -0
  14. package/Cascader/component.json +196 -0
  15. package/Checkbox/component.json +138 -0
  16. package/CheckboxGroup/component.json +152 -0
  17. package/CodeEditor/component.json +189 -0
  18. package/Collapse/component.json +166 -0
  19. package/CollapseBox/component.json +84 -0
  20. package/CollapseLayout/component.json +155 -0
  21. package/ColorPicker/component.json +142 -0
  22. package/ComboSelect/component.json +181 -0
  23. package/Container/component.json +111 -0
  24. package/ContentBox/component.json +81 -0
  25. package/CopyText/component.json +118 -0
  26. package/CycleSelector/component.json +98 -0
  27. package/DatePicker/component.json +192 -0
  28. package/Descriptions/component.json +142 -0
  29. package/Desktop/component.json +171 -0
  30. package/DragVerify/component.json +114 -0
  31. package/Drawer/component.json +200 -0
  32. package/Dropdown/component.json +147 -0
  33. package/DynamicMultiBox/component.json +278 -0
  34. package/Empty/component.json +123 -0
  35. package/FieldForm/component.json +196 -0
  36. package/Form/component.json +161 -0
  37. package/FormItem/component.json +171 -0
  38. package/FunctionModal/component.json +197 -0
  39. package/Help/component.json +118 -0
  40. package/HelperText/component.json +126 -0
  41. package/Image/component.json +165 -0
  42. package/InputCode/component.json +191 -0
  43. package/InputLang/component.json +205 -0
  44. package/InputNumber/component.json +162 -0
  45. package/Label/component.json +126 -0
  46. package/Loading/component.json +91 -0
  47. package/Menu/component.json +180 -0
  48. package/Message/component.json +246 -0
  49. package/Modal/component.json +277 -0
  50. package/MultiBox/component.json +216 -0
  51. package/Notification/component.json +184 -0
  52. package/OperateBtn/component.json +134 -0
  53. package/PageHeader/component.json +112 -0
  54. package/Pagination/component.json +181 -0
  55. package/PasswordRules/component.json +105 -0
  56. package/PopConfirm/component.json +227 -0
  57. package/PopMenu/component.json +131 -0
  58. package/Popover/component.json +165 -0
  59. package/Progress/component.json +161 -0
  60. package/Prompt/component.json +144 -0
  61. package/Querying/component.json +96 -0
  62. package/QuickReply/component.json +129 -0
  63. package/Radio/component.json +136 -0
  64. package/RadioGroup/component.json +149 -0
  65. package/RangeInput/component.json +198 -0
  66. package/Result/component.json +104 -0
  67. package/ScrollBar/component.json +115 -0
  68. package/Search/component.json +177 -0
  69. package/Select/component.json +244 -0
  70. package/SelectInput/component.json +184 -0
  71. package/Selector/component.json +203 -0
  72. package/SelectorPicker/component.json +179 -0
  73. package/SingleBox/component.json +151 -0
  74. package/Slider/component.json +181 -0
  75. package/SortBox/component.json +108 -0
  76. package/Status/component.json +104 -0
  77. package/Stepper/component.json +129 -0
  78. package/Switch/component.json +207 -0
  79. package/Table/component.json +547 -0
  80. package/Tabs/component.json +227 -0
  81. package/Tag/component.json +221 -0
  82. package/TextEditor/component.json +186 -0
  83. package/TextField/component.json +290 -0
  84. package/TimePicker/component.json +176 -0
  85. package/Timeline/component.json +110 -0
  86. package/Title/component.json +156 -0
  87. package/ToggleButton/component.json +153 -0
  88. package/Tooltip/component.json +176 -0
  89. package/Transfer/component.json +157 -0
  90. package/Tree/component.json +512 -0
  91. package/Upload/component.json +450 -0
  92. package/ai-workflows/01-crud-list-multi-drawer.md +278 -0
  93. package/ai-workflows/02-rbac-operation-buttons.md +290 -0
  94. package/ai-workflows/03-complex-form-async-cascade.md +350 -0
  95. package/ai-workflows/04-array-field-form.md +281 -0
  96. package/ai-workflows/05-popconfirm-async-message-queue.md +333 -0
  97. package/ai-workflows/06-modal-drawer-form-workflow.md +385 -0
  98. package/ai-workflows/07-search-filter-table-trio.md +387 -0
  99. package/ai-workflows/08-table-advanced-features.md +365 -0
  100. package/ai-workflows/09-batch-operation-export-progress.md +367 -0
  101. package/ai-workflows/10-cross-component-state-coordination.md +412 -0
  102. package/es/AlignBox/component.json +89 -0
  103. package/es/AlignBox/index.css +1 -1
  104. package/es/AlignBox/index.d.ts +6 -2
  105. package/es/AlignBox/index.js +1 -1
  106. package/es/AlignBox/style/index.css +1 -1
  107. package/es/Anchor/anchorMenu/index.d.ts +2 -1
  108. package/es/Anchor/anchorMenu/index.js +36 -33
  109. package/es/Anchor/component.json +130 -0
  110. package/es/Anchor/index.js +50 -47
  111. package/es/Anchor/type.d.ts +8 -4
  112. package/es/Argv/component.json +216 -0
  113. package/es/Argv/index.d.ts +5 -6
  114. package/es/AutoBox/component.json +133 -0
  115. package/es/AutoBox/index.d.ts +3 -3
  116. package/es/AutoBox/index.js +1 -1
  117. package/es/AutoBox/protal.d.ts +2 -2
  118. package/es/AutoBox/protal.js +32 -29
  119. package/es/AutoButton/component.json +109 -0
  120. package/es/AutoButton/index.js +1 -1
  121. package/es/AutoTips/autoTipsMultiline/index.d.ts +1 -1
  122. package/es/AutoTips/autoTipsMultiline/index.js +1 -1
  123. package/es/AutoTips/component.json +121 -0
  124. package/es/Badge/component.json +92 -0
  125. package/es/Breadcrumbs/component.json +142 -0
  126. package/es/Breadcrumbs/index.js +1 -1
  127. package/es/Button/SplitButton.d.ts +2 -2
  128. package/es/Button/component.json +168 -0
  129. package/es/Button/index.js +44 -44
  130. package/es/ButtonGroup/component.json +132 -0
  131. package/es/ButtonGroup/index.d.ts +1 -1
  132. package/es/Card/component.json +162 -0
  133. package/es/Card/index.d.ts +2 -2
  134. package/es/Card/index.js +2 -2
  135. package/es/Carousel/component.json +142 -0
  136. package/es/Carousel/index.d.ts +1 -1
  137. package/es/Cascader/component.json +196 -0
  138. package/es/Cascader/hooks/useEntities.js +7 -7
  139. package/es/Cascader/interface.d.ts +1 -0
  140. package/es/Cascader/utils/commonUtil.d.ts +1 -1
  141. package/es/Cascader/utils/commonUtil.js +16 -16
  142. package/es/Cascader/utils/treeUtil.d.ts +14 -5
  143. package/es/Cascader/utils/treeUtil.js +1 -1
  144. package/es/Checkbox/component.json +138 -0
  145. package/es/CheckboxGroup/component.json +152 -0
  146. package/es/CodeEditor/component.json +189 -0
  147. package/es/CodeEditor/index.d.ts +10 -9
  148. package/es/Collapse/component.json +166 -0
  149. package/es/Collapse/index.d.ts +1 -1
  150. package/es/Collapse/index.js +23 -22
  151. package/es/CollapseBox/component.json +84 -0
  152. package/es/CollapseLayout/component.json +155 -0
  153. package/es/ColorPicker/component.json +142 -0
  154. package/es/ComboSelect/component.json +181 -0
  155. package/es/ComboSelect/index.js +73 -68
  156. package/es/ComboSelect/interface.d.ts +2 -2
  157. package/es/ComboSelect/utils.d.ts +3 -3
  158. package/es/ComboSelect/utils.js +1 -1
  159. package/es/Container/component.json +111 -0
  160. package/es/ContentBox/component.json +81 -0
  161. package/es/CopyText/component.json +118 -0
  162. package/es/CycleSelector/component.json +98 -0
  163. package/es/CycleSelector/index.js +14 -13
  164. package/es/DatePicker/component.json +192 -0
  165. package/es/DatePicker/generatePicker/generateRangePicker.js +10 -10
  166. package/es/DatePicker/generatePicker/generateSinglePicker.js +1 -1
  167. package/es/Descriptions/component.json +142 -0
  168. package/es/Descriptions/index.d.ts +1 -1
  169. package/es/Desktop/component.json +171 -0
  170. package/es/DragVerify/component.json +114 -0
  171. package/es/DragVerify/index.js +19 -19
  172. package/es/Drawer/component.json +200 -0
  173. package/es/Drawer/index.js +86 -86
  174. package/es/Drawer/interface.d.ts +1 -1
  175. package/es/Drawer/util.d.ts +1 -6
  176. package/es/Drawer/util.js +9 -6
  177. package/es/Dropdown/component.json +147 -0
  178. package/es/DynamicMultiBox/component.json +278 -0
  179. package/es/DynamicMultiBox/formItem.d.ts +1 -1
  180. package/es/DynamicMultiBox/rowForm.d.ts +2 -2
  181. package/es/Empty/component.json +123 -0
  182. package/es/Empty/index.css +1 -1
  183. package/es/Empty/index.d.ts +2 -2
  184. package/es/Empty/index.js +27 -26
  185. package/es/Empty/style/index.css +1 -1
  186. package/es/FieldForm/FieldFormItem/MemoInput.d.ts +2 -2
  187. package/es/FieldForm/FieldFormItem/index.d.ts +6 -6
  188. package/es/FieldForm/Form.d.ts +2 -2
  189. package/es/FieldForm/FormList.d.ts +2 -2
  190. package/es/FieldForm/component.json +196 -0
  191. package/es/FieldForm/context.d.ts +5 -1
  192. package/es/FieldForm/context.js +2 -2
  193. package/es/FieldForm/hooks/useForm.d.ts +4 -3
  194. package/es/FieldForm/hooks/useFormInstance.d.ts +1 -1
  195. package/es/FieldForm/hooks/useFormItemStatus.d.ts +9 -5
  196. package/es/FieldForm/hooks/useFormItemStatus.js +2 -2
  197. package/es/FieldForm/hooks/useItemRef.d.ts +1 -1
  198. package/es/FieldForm/hooks/useItemRef.js +6 -6
  199. package/es/Form/component.json +161 -0
  200. package/es/Form/index.d.ts +52 -49
  201. package/es/FormItem/compoments/defaultCompoments/index.d.ts +5 -5
  202. package/es/FormItem/compoments/defaultCompoments/index.js +12 -11
  203. package/es/FormItem/compoments/formCheckboxGroup/index.d.ts +2 -2
  204. package/es/FormItem/compoments/formFile/index.js +8 -8
  205. package/es/FormItem/compoments/formRadioGroup/index.d.ts +1 -1
  206. package/es/FormItem/compoments/formSelect/index.d.ts +1 -1
  207. package/es/FormItem/component.json +171 -0
  208. package/es/FormItem/index.d.ts +5 -5
  209. package/es/FormItem/index.js +23 -23
  210. package/es/FormItem/itemType.js +1 -1
  211. package/es/FunctionModal/component.json +197 -0
  212. package/es/FunctionModal/dialog.d.ts +1 -1
  213. package/es/FunctionModal/modalContext.d.ts +4 -1
  214. package/es/Help/component.json +118 -0
  215. package/es/HelperText/component.json +126 -0
  216. package/es/Image/component.json +165 -0
  217. package/es/InputCode/component.json +191 -0
  218. package/es/InputCode/index.d.ts +2 -2
  219. package/es/InputLang/component.json +205 -0
  220. package/es/InputLang/index.js +1 -1
  221. package/es/InputNumber/component.json +162 -0
  222. package/es/Label/component.json +126 -0
  223. package/es/Label/index.d.ts +2 -2
  224. package/es/Loading/component.json +91 -0
  225. package/es/Menu/component.json +180 -0
  226. package/es/Message/component.json +246 -0
  227. package/es/Message/index.d.ts +2 -2
  228. package/es/Message/index.js +2 -2
  229. package/es/Modal/Confirm/index.d.ts +1 -1
  230. package/es/Modal/component.json +277 -0
  231. package/es/Modal/index.d.ts +85 -5
  232. package/es/Modal/index.js +159 -122
  233. package/es/Modal/interface.d.ts +1 -0
  234. package/es/MultiBox/component.json +216 -0
  235. package/es/MultiBox/index.js +19 -14
  236. package/es/Notification/component.json +184 -0
  237. package/es/OperateBtn/component.json +134 -0
  238. package/es/OperateBtn/index.d.ts +3 -3
  239. package/es/PageHeader/component.json +112 -0
  240. package/es/Pagination/component.json +181 -0
  241. package/es/Pagination/index.js +15 -15
  242. package/es/PasswordRules/component.json +105 -0
  243. package/es/PasswordRules/index.d.ts +4 -4
  244. package/es/PopConfirm/component.json +227 -0
  245. package/es/PopConfirm/index.d.ts +1 -1
  246. package/es/PopConfirm/index.js +1 -1
  247. package/es/PopMenu/component.json +131 -0
  248. package/es/PopMenu/hooks.d.ts +1 -1
  249. package/es/PopMenu/index.js +8 -8
  250. package/es/Popover/component.json +165 -0
  251. package/es/Popover/index.js +1 -1
  252. package/es/Progress/component.json +161 -0
  253. package/es/Prompt/component.json +144 -0
  254. package/es/Querying/component.json +96 -0
  255. package/es/Querying/index.css +1 -1
  256. package/es/Querying/index.d.ts +2 -2
  257. package/es/Querying/index.js +20 -19
  258. package/es/Querying/style/index.css +1 -1
  259. package/es/QuickReply/component.json +129 -0
  260. package/es/QuickReply/index.d.ts +1 -1
  261. package/es/Radio/component.json +136 -0
  262. package/es/RadioGroup/component.json +149 -0
  263. package/es/RangeInput/component.json +198 -0
  264. package/es/RangeInput/index.js +1 -1
  265. package/es/Result/component.json +104 -0
  266. package/es/ScrollBar/component.json +115 -0
  267. package/es/Search/component.json +177 -0
  268. package/es/Search/index.d.ts +1 -1
  269. package/es/Select/component.json +244 -0
  270. package/es/Select/index.js +113 -113
  271. package/es/SelectInput/component.json +184 -0
  272. package/es/Selector/component.json +203 -0
  273. package/es/Selector/index.js +28 -27
  274. package/es/Selector/interface.d.ts +1 -1
  275. package/es/Selector/selectorMain/index.js +2 -2
  276. package/es/Selector/selectorNode/index.js +1 -1
  277. package/es/Selector/util.d.ts +2 -2
  278. package/es/SelectorPicker/component.json +179 -0
  279. package/es/SelectorPicker/index.d.ts +5 -5
  280. package/es/SelectorPicker/index.js +15 -15
  281. package/es/SingleBox/component.json +151 -0
  282. package/es/SingleBox/index.d.ts +2 -2
  283. package/es/Slider/component.json +181 -0
  284. package/es/SortBox/component.json +108 -0
  285. package/es/Status/component.json +104 -0
  286. package/es/Stepper/component.json +129 -0
  287. package/es/Stepper/index.d.ts +2 -2
  288. package/es/Switch/component.json +207 -0
  289. package/es/Switch/index.css +1 -1
  290. package/es/Switch/index.d.ts +3 -2
  291. package/es/Switch/index.js +60 -59
  292. package/es/Switch/style/index.css +1 -1
  293. package/es/Table/component.json +547 -0
  294. package/es/Table/index.d.ts +2 -2
  295. package/es/Table/index.js +414 -414
  296. package/es/Table/interface.d.ts +6 -0
  297. package/es/Tabs/component.json +227 -0
  298. package/es/Tag/component.json +221 -0
  299. package/es/Tag/index.css +1 -1
  300. package/es/Tag/index.d.ts +1 -1
  301. package/es/Tag/index.js +20 -20
  302. package/es/Tag/style/index.css +1 -1
  303. package/es/TextEditor/component.json +186 -0
  304. package/es/TextEditor/index.d.ts +5 -5
  305. package/es/TextField/component.json +290 -0
  306. package/es/TextField/index.d.ts +2 -2
  307. package/es/TimePicker/component.json +176 -0
  308. package/es/Timeline/component.json +110 -0
  309. package/es/Title/component.json +156 -0
  310. package/es/ToggleButton/component.json +153 -0
  311. package/es/Tooltip/component.json +176 -0
  312. package/es/Tooltip/index.js +58 -53
  313. package/es/Tooltip/interface.d.ts +14 -1
  314. package/es/Tooltip/utils.js +6 -6
  315. package/es/Transfer/component.json +157 -0
  316. package/es/Tree/component.json +512 -0
  317. package/es/Upload/component.json +450 -0
  318. package/es/Utils/type.d.ts +0 -2
  319. package/es/index.d.ts +2 -0
  320. package/es/index.js +1 -1
  321. package/es/locale/en_US.d.ts +361 -0
  322. package/es/locale/en_US.js +364 -0
  323. package/es/locale/index.d.ts +1 -723
  324. package/es/locale/index2.js +10 -0
  325. package/es/locale/zh_CN.d.ts +361 -0
  326. package/es/locale/zh_CN.js +364 -0
  327. package/lib/AlignBox/component.json +89 -0
  328. package/lib/AlignBox/index.css +1 -1
  329. package/lib/AlignBox/index.d.ts +6 -2
  330. package/lib/AlignBox/index.js +1 -1
  331. package/lib/AlignBox/style/index.css +1 -1
  332. package/lib/Anchor/anchorMenu/index.d.ts +2 -1
  333. package/lib/Anchor/anchorMenu/index.js +1 -1
  334. package/lib/Anchor/component.json +130 -0
  335. package/lib/Anchor/index.js +1 -1
  336. package/lib/Anchor/type.d.ts +8 -4
  337. package/lib/Argv/component.json +216 -0
  338. package/lib/Argv/index.d.ts +5 -6
  339. package/lib/AutoBox/component.json +133 -0
  340. package/lib/AutoBox/index.d.ts +3 -3
  341. package/lib/AutoBox/index.js +1 -1
  342. package/lib/AutoBox/protal.d.ts +2 -2
  343. package/lib/AutoBox/protal.js +1 -1
  344. package/lib/AutoButton/component.json +109 -0
  345. package/lib/AutoButton/index.js +1 -1
  346. package/lib/AutoTips/autoTipsMultiline/index.d.ts +1 -1
  347. package/lib/AutoTips/autoTipsMultiline/index.js +1 -1
  348. package/lib/AutoTips/component.json +121 -0
  349. package/lib/Badge/component.json +92 -0
  350. package/lib/Breadcrumbs/component.json +142 -0
  351. package/lib/Breadcrumbs/index.js +1 -1
  352. package/lib/Button/SplitButton.d.ts +2 -2
  353. package/lib/Button/component.json +168 -0
  354. package/lib/Button/index.js +1 -1
  355. package/lib/ButtonGroup/component.json +132 -0
  356. package/lib/ButtonGroup/index.d.ts +1 -1
  357. package/lib/Card/component.json +162 -0
  358. package/lib/Card/index.d.ts +2 -2
  359. package/lib/Card/index.js +1 -1
  360. package/lib/Carousel/component.json +142 -0
  361. package/lib/Carousel/index.d.ts +1 -1
  362. package/lib/Cascader/component.json +196 -0
  363. package/lib/Cascader/hooks/useEntities.js +1 -1
  364. package/lib/Cascader/interface.d.ts +1 -0
  365. package/lib/Cascader/utils/commonUtil.d.ts +1 -1
  366. package/lib/Cascader/utils/commonUtil.js +1 -1
  367. package/lib/Cascader/utils/treeUtil.d.ts +14 -5
  368. package/lib/Cascader/utils/treeUtil.js +1 -1
  369. package/lib/Checkbox/component.json +138 -0
  370. package/lib/CheckboxGroup/component.json +152 -0
  371. package/lib/CodeEditor/component.json +189 -0
  372. package/lib/CodeEditor/index.d.ts +10 -9
  373. package/lib/Collapse/component.json +166 -0
  374. package/lib/Collapse/index.d.ts +1 -1
  375. package/lib/Collapse/index.js +1 -1
  376. package/lib/CollapseBox/component.json +84 -0
  377. package/lib/CollapseLayout/component.json +155 -0
  378. package/lib/ColorPicker/component.json +142 -0
  379. package/lib/ComboSelect/component.json +181 -0
  380. package/lib/ComboSelect/index.js +1 -1
  381. package/lib/ComboSelect/interface.d.ts +2 -2
  382. package/lib/ComboSelect/utils.d.ts +3 -3
  383. package/lib/ComboSelect/utils.js +1 -1
  384. package/lib/Container/component.json +111 -0
  385. package/lib/ContentBox/component.json +81 -0
  386. package/lib/CopyText/component.json +118 -0
  387. package/lib/CycleSelector/component.json +98 -0
  388. package/lib/CycleSelector/index.js +1 -1
  389. package/lib/DatePicker/component.json +192 -0
  390. package/lib/DatePicker/generatePicker/generateRangePicker.js +1 -1
  391. package/lib/DatePicker/generatePicker/generateSinglePicker.js +1 -1
  392. package/lib/Descriptions/component.json +142 -0
  393. package/lib/Descriptions/index.d.ts +1 -1
  394. package/lib/Desktop/component.json +171 -0
  395. package/lib/DragVerify/component.json +114 -0
  396. package/lib/DragVerify/index.js +1 -1
  397. package/lib/Drawer/component.json +200 -0
  398. package/lib/Drawer/index.js +1 -1
  399. package/lib/Drawer/interface.d.ts +1 -1
  400. package/lib/Drawer/util.d.ts +1 -6
  401. package/lib/Drawer/util.js +1 -1
  402. package/lib/Dropdown/component.json +147 -0
  403. package/lib/DynamicMultiBox/component.json +278 -0
  404. package/lib/DynamicMultiBox/formItem.d.ts +1 -1
  405. package/lib/DynamicMultiBox/rowForm.d.ts +2 -2
  406. package/lib/Empty/component.json +123 -0
  407. package/lib/Empty/index.css +1 -1
  408. package/lib/Empty/index.d.ts +2 -2
  409. package/lib/Empty/index.js +1 -1
  410. package/lib/Empty/style/index.css +1 -1
  411. package/lib/FieldForm/FieldFormItem/MemoInput.d.ts +2 -2
  412. package/lib/FieldForm/FieldFormItem/index.d.ts +6 -6
  413. package/lib/FieldForm/Form.d.ts +2 -2
  414. package/lib/FieldForm/FormList.d.ts +2 -2
  415. package/lib/FieldForm/component.json +196 -0
  416. package/lib/FieldForm/context.d.ts +5 -1
  417. package/lib/FieldForm/context.js +1 -1
  418. package/lib/FieldForm/hooks/useForm.d.ts +4 -3
  419. package/lib/FieldForm/hooks/useFormInstance.d.ts +1 -1
  420. package/lib/FieldForm/hooks/useFormItemStatus.d.ts +9 -5
  421. package/lib/FieldForm/hooks/useFormItemStatus.js +1 -1
  422. package/lib/FieldForm/hooks/useItemRef.d.ts +1 -1
  423. package/lib/FieldForm/hooks/useItemRef.js +1 -1
  424. package/lib/Form/component.json +161 -0
  425. package/lib/Form/index.d.ts +52 -49
  426. package/lib/FormItem/compoments/defaultCompoments/index.d.ts +5 -5
  427. package/lib/FormItem/compoments/defaultCompoments/index.js +1 -1
  428. package/lib/FormItem/compoments/formCheckboxGroup/index.d.ts +2 -2
  429. package/lib/FormItem/compoments/formFile/index.js +1 -1
  430. package/lib/FormItem/compoments/formRadioGroup/index.d.ts +1 -1
  431. package/lib/FormItem/compoments/formSelect/index.d.ts +1 -1
  432. package/lib/FormItem/component.json +171 -0
  433. package/lib/FormItem/index.d.ts +5 -5
  434. package/lib/FormItem/index.js +1 -1
  435. package/lib/FormItem/itemType.js +1 -1
  436. package/lib/FunctionModal/component.json +197 -0
  437. package/lib/FunctionModal/dialog.d.ts +1 -1
  438. package/lib/FunctionModal/modalContext.d.ts +4 -1
  439. package/lib/Help/component.json +118 -0
  440. package/lib/HelperText/component.json +126 -0
  441. package/lib/Image/component.json +165 -0
  442. package/lib/InputCode/component.json +191 -0
  443. package/lib/InputCode/index.d.ts +2 -2
  444. package/lib/InputLang/component.json +205 -0
  445. package/lib/InputLang/index.js +1 -1
  446. package/lib/InputNumber/component.json +162 -0
  447. package/lib/Label/component.json +126 -0
  448. package/lib/Label/index.d.ts +2 -2
  449. package/lib/Loading/component.json +91 -0
  450. package/lib/Menu/component.json +180 -0
  451. package/lib/Message/component.json +246 -0
  452. package/lib/Message/index.d.ts +2 -2
  453. package/lib/Message/index.js +1 -1
  454. package/lib/Modal/Confirm/index.d.ts +1 -1
  455. package/lib/Modal/component.json +277 -0
  456. package/lib/Modal/index.d.ts +85 -5
  457. package/lib/Modal/index.js +1 -1
  458. package/lib/Modal/interface.d.ts +1 -0
  459. package/lib/MultiBox/component.json +216 -0
  460. package/lib/MultiBox/index.js +1 -1
  461. package/lib/Notification/component.json +184 -0
  462. package/lib/OperateBtn/component.json +134 -0
  463. package/lib/OperateBtn/index.d.ts +3 -3
  464. package/lib/PageHeader/component.json +112 -0
  465. package/lib/Pagination/component.json +181 -0
  466. package/lib/Pagination/index.js +1 -1
  467. package/lib/PasswordRules/component.json +105 -0
  468. package/lib/PasswordRules/index.d.ts +4 -4
  469. package/lib/PopConfirm/component.json +227 -0
  470. package/lib/PopConfirm/index.d.ts +1 -1
  471. package/lib/PopConfirm/index.js +1 -1
  472. package/lib/PopMenu/component.json +131 -0
  473. package/lib/PopMenu/hooks.d.ts +1 -1
  474. package/lib/PopMenu/index.js +1 -1
  475. package/lib/Popover/component.json +165 -0
  476. package/lib/Popover/index.js +1 -1
  477. package/lib/Progress/component.json +161 -0
  478. package/lib/Prompt/component.json +144 -0
  479. package/lib/Querying/component.json +96 -0
  480. package/lib/Querying/index.css +1 -1
  481. package/lib/Querying/index.d.ts +2 -2
  482. package/lib/Querying/index.js +1 -1
  483. package/lib/Querying/style/index.css +1 -1
  484. package/lib/QuickReply/component.json +129 -0
  485. package/lib/QuickReply/index.d.ts +1 -1
  486. package/lib/Radio/component.json +136 -0
  487. package/lib/RadioGroup/component.json +149 -0
  488. package/lib/RangeInput/component.json +198 -0
  489. package/lib/RangeInput/index.js +1 -1
  490. package/lib/Result/component.json +104 -0
  491. package/lib/ScrollBar/component.json +115 -0
  492. package/lib/Search/component.json +177 -0
  493. package/lib/Search/index.d.ts +1 -1
  494. package/lib/Select/component.json +244 -0
  495. package/lib/Select/index.js +1 -1
  496. package/lib/SelectInput/component.json +184 -0
  497. package/lib/Selector/component.json +203 -0
  498. package/lib/Selector/index.js +1 -1
  499. package/lib/Selector/interface.d.ts +1 -1
  500. package/lib/Selector/selectorMain/index.js +1 -1
  501. package/lib/Selector/selectorNode/index.js +1 -1
  502. package/lib/Selector/util.d.ts +2 -2
  503. package/lib/SelectorPicker/component.json +179 -0
  504. package/lib/SelectorPicker/index.d.ts +5 -5
  505. package/lib/SelectorPicker/index.js +1 -1
  506. package/lib/SingleBox/component.json +151 -0
  507. package/lib/SingleBox/index.d.ts +2 -2
  508. package/lib/Slider/component.json +181 -0
  509. package/lib/SortBox/component.json +108 -0
  510. package/lib/Status/component.json +104 -0
  511. package/lib/Stepper/component.json +129 -0
  512. package/lib/Stepper/index.d.ts +2 -2
  513. package/lib/Switch/component.json +207 -0
  514. package/lib/Switch/index.css +1 -1
  515. package/lib/Switch/index.d.ts +3 -2
  516. package/lib/Switch/index.js +1 -1
  517. package/lib/Switch/style/index.css +1 -1
  518. package/lib/Table/component.json +547 -0
  519. package/lib/Table/index.d.ts +2 -2
  520. package/lib/Table/index.js +1 -1
  521. package/lib/Table/interface.d.ts +6 -0
  522. package/lib/Tabs/component.json +227 -0
  523. package/lib/Tag/component.json +221 -0
  524. package/lib/Tag/index.css +1 -1
  525. package/lib/Tag/index.d.ts +1 -1
  526. package/lib/Tag/index.js +1 -1
  527. package/lib/Tag/style/index.css +1 -1
  528. package/lib/TextEditor/component.json +186 -0
  529. package/lib/TextEditor/index.d.ts +5 -5
  530. package/lib/TextField/component.json +290 -0
  531. package/lib/TextField/index.d.ts +2 -2
  532. package/lib/TimePicker/component.json +176 -0
  533. package/lib/Timeline/component.json +110 -0
  534. package/lib/Title/component.json +156 -0
  535. package/lib/ToggleButton/component.json +153 -0
  536. package/lib/Tooltip/component.json +176 -0
  537. package/lib/Tooltip/index.js +1 -1
  538. package/lib/Tooltip/interface.d.ts +14 -1
  539. package/lib/Tooltip/utils.js +1 -1
  540. package/lib/Transfer/component.json +157 -0
  541. package/lib/Tree/component.json +512 -0
  542. package/lib/Upload/component.json +450 -0
  543. package/lib/Utils/type.d.ts +0 -2
  544. package/lib/index.d.ts +2 -0
  545. package/lib/index.js +1 -1
  546. package/lib/locale/en_US.d.ts +361 -0
  547. package/lib/locale/en_US.js +2 -0
  548. package/lib/locale/index.d.ts +1 -723
  549. package/lib/locale/index2.js +2 -0
  550. package/lib/locale/zh_CN.d.ts +361 -0
  551. package/lib/locale/zh_CN.js +2 -0
  552. package/package.json +9 -3
  553. /package/es/{Utils/Hooks → Hooks}/useResizeObserver.d.ts +0 -0
  554. /package/es/{Utils/Hooks → Hooks}/useResizeObserver.js +0 -0
  555. /package/lib/{Utils/Hooks → Hooks}/useResizeObserver.d.ts +0 -0
  556. /package/lib/{Utils/Hooks → Hooks}/useResizeObserver.js +0 -0
@@ -0,0 +1,176 @@
1
+ {
2
+ "name": "Tooltip",
3
+ "category": "Data Display",
4
+ "description": "简单的文字提示气泡框",
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
+ "title": {
29
+ "type": "string | ReactNode",
30
+ "description": "提示文字"
31
+ },
32
+ "placement": {
33
+ "type": "enum",
34
+ "values": [
35
+ "top",
36
+ "left",
37
+ "right",
38
+ "bottom",
39
+ "topLeft",
40
+ "topRight",
41
+ "bottomLeft",
42
+ "bottomRight",
43
+ "leftTop",
44
+ "leftBottom",
45
+ "rightTop",
46
+ "rightBottom"
47
+ ],
48
+ "default": "topLeft",
49
+ "description": "气泡框位置。配合 `autoAdjustOverflow=true` 可被遮挡时自动翻转。**长 content + maxWidth 较大时优先 top/bottom 减少水平空间冲突**"
50
+ },
51
+ "maxWidth": {
52
+ "type": "string | number",
53
+ "default": 500,
54
+ "description": "气泡最大宽度。`number` = px;`string` = 任意合法 CSS 长度(`'200px'` / `'20rem'`)。默认 500px 适合大多数长 title 场景。R23 TT3 docs 协同补强"
55
+ },
56
+ "trigger": {
57
+ "type": "enum",
58
+ "values": [
59
+ "hover",
60
+ "focus",
61
+ "click",
62
+ "contextMenu"
63
+ ],
64
+ "default": "hover",
65
+ "description": "触发行为。**`trigger=[]` 受控屏蔽写法已 deprecated(R23 TT2)**——请改用 `visible={false}`。老写法仍可用但 dev 环境 console.warn 一次提示迁移;v6 可能收紧类型不接受空数组,提前迁移"
66
+ },
67
+ "visible": {
68
+ "type": "boolean",
69
+ "default": "undefined",
70
+ "description": "**控制浮层显示(受控,src 真实主名)**。**三路语义**(R24 W-2 文档化):`true`=强制显示气泡;`false`=强制隐藏(推荐替代 deprecated `trigger=[]`);`undefined` 或不传=fallback 到 `open`,再 fallback 到 trigger 默认触发逻辑(`visible ?? open ?? trigger 自动`,src/Tooltip/index.tsx:27)。条件受控:`visible={isDisabled ? false : undefined}`"
71
+ },
72
+ "open": {
73
+ "type": "boolean",
74
+ "default": "undefined",
75
+ "description": "`visible` 的别名(来自 antd 风格);与 visible 二选一,不要同时传"
76
+ },
77
+ "onVisibleChange": {
78
+ "type": "function",
79
+ "signature": "(visible: boolean) => void",
80
+ "description": "**显示隐藏回调(src 真实事件名,非 onOpenChange)**。受控用法配合 visible/open 使用;受控 visible 时 hover/click 仍触发本回调但 Tooltip 不会自更新——必须父组件 setState。**受控 trigger 选择建议**(R24 W-2 R23 TT2 round 标注):新手引导等场景若不希望 hover 持续触发本回调改变 step,建议 `trigger='click'`;**不要用 deprecated `trigger=[]`**(R23 TT2)"
81
+ },
82
+ "defaultVisible": {
83
+ "type": "boolean",
84
+ "default": false,
85
+ "description": "初始是否显示气泡(非受控初始值,src/Tooltip/index.tsx:18,193 实证:`useState(props.defaultVisible!)` 作为初始 visible 状态;默认 false。传了 visible/open 受控 prop 后 defaultVisible 被覆盖)"
86
+ },
87
+ "mouseEnterDelay": {
88
+ "type": "number",
89
+ "default": 0.1,
90
+ "description": "鼠标移入后延迟显示的时间(单位:秒,src/Tooltip/index.tsx:190 defaultProps 实证:默认 0.1s)。⚠️ **单位是秒不是毫秒**(0.1 = 100ms)"
91
+ },
92
+ "mouseLeaveDelay": {
93
+ "type": "number",
94
+ "default": 0.1,
95
+ "description": "鼠标移出后延迟隐藏的时间(单位:秒,src/Tooltip/index.tsx:191 defaultProps 实证:默认 0.1s)。⚠️ **单位是秒不是毫秒**"
96
+ },
97
+ "autoAdjustOverflow": {
98
+ "type": "boolean",
99
+ "default": true,
100
+ "description": "气泡被遮挡时是否自动翻转位置(src/Tooltip/index.tsx:64-65,192 实证:默认 true,传入 getPlacements 生成弹出方向配置)"
101
+ },
102
+ "followCursor": {
103
+ "type": "boolean",
104
+ "default": false,
105
+ "description": "气泡是否跟随鼠标光标移动(src/Tooltip/index.tsx:122,171-178,194 实证:true 时强制 placement='top' 并在外层 div 监听 mousemove 动态更新 targetOffset;与精确 placement 互斥)"
106
+ },
107
+ "overlayClassName": {
108
+ "type": "string",
109
+ "description": "气泡浮层的自定义类名(src/Tooltip/index.tsx:115,135 实证:与内置 paraui-tooltip 类合并透传到 RcTooltip overlayClassName)"
110
+ },
111
+ "overlayInnerStyle": {
112
+ "type": "React.CSSProperties",
113
+ "description": "气泡内容区内联样式(src/Tooltip/index.tsx:116,164 实证:透传到 RcTooltip overlayInnerStyle,作用于内容容器而非浮层外壳)"
114
+ },
115
+ "overlayStyle": {
116
+ "type": "React.CSSProperties",
117
+ "description": "气泡浮层外壳内联样式(src/Tooltip/index.tsx:117,138-140 实证:与 maxWidth 合并后透传到 RcTooltip overlayStyle)"
118
+ }
119
+ },
120
+ "do": [
121
+ "提示内容应当精简,避免超过两行文字",
122
+ "用于解释图标或被截断的文本(配合 AutoTips 使用效果更佳)",
123
+ "受控场景用 `visible={false}` 替代已废弃的 `trigger=[]` 写法——v6 可能移除空数组支持(src/Tooltip/index.tsx:29-40 dev warn 实证)",
124
+ "Modal/Dialog 内的 Tooltip 建议传 getPopupContainer 指向 modal 容器,避免 overflow:hidden 截断浮层",
125
+ "需要叠加禁用视觉图标时用 showForbidIcon={true}(新名)而非 disabled(deprecated),两者源码同路径:`(disabled || showForbidIcon) && <Forbid />`"
126
+ ],
127
+ "dont": [
128
+ "在 Tooltip 中放入复杂交互内容(应使用 Popover)",
129
+ "提示内容为空——title 为空时 Tooltip 强制不显示(src/Tooltip/index.tsx:42-45 isUntitled 判断)",
130
+ "不要把 `disabled` 理解为『禁用气泡显示』——src 实现是叠加红色 Forbid 图标,与 antd/mui 同名 prop 含义相反;用 `visible={false}` 来强制隐藏气泡",
131
+ "不要同时传 visible 和 open——两者是同义别名,优先取 visible,同时传会造成语义混淆(src:27 `props.visible ?? props.open` 实证)",
132
+ "不要给 mouseEnterDelay / mouseLeaveDelay 传毫秒值(如 100)——单位是秒,传 100 = 100秒延迟"
133
+ ],
134
+ "events": {
135
+ "onVisibleChange": {
136
+ "signature": "(visible: boolean) => void",
137
+ "asyncSupported": false,
138
+ "examples": [
139
+ "非受控模式下跟踪气泡显示状态:onVisibleChange={(v) => setIsHovered(v)}",
140
+ "受控模式配合 useState:onVisibleChange={(v) => setVisible(v)}",
141
+ "新手引导场景:`trigger='click'` + onVisibleChange 控制引导步骤切换(避免 hover 持续触发)"
142
+ ],
143
+ "commonMistakes": [
144
+ "回调名写成 onOpenChange → src 真实回调名是 onVisibleChange,写错无效(RcTooltip 接口名),不会有 TS 报错但回调不触发",
145
+ "受控模式(visible=xxx)下期望 onVisibleChange 触发后气泡自动更新 → 受控时内部 state 不更新,必须父组件在 onVisibleChange 里 setState",
146
+ "假设 onVisibleChange 在 title 为空时也会触发 → src:46-50 isUntitled()=true 时 onVisibleChange 不被调用"
147
+ ]
148
+ }
149
+ },
150
+ "typescriptPitfalls": [
151
+ {
152
+ "issue": "disabled 的语义与 antd/mui 相反——不是禁用气泡而是叠加禁用图标",
153
+ "wrong": "<Tooltip disabled={isLoading} title='提示'> // 期望 isLoading 时不显示气泡 → 实际只是叠加红色图标,气泡照常显示",
154
+ "right": "<Tooltip visible={isLoading ? false : undefined} title='提示'> // 正确:visible=false 才能强制隐藏气泡"
155
+ },
156
+ {
157
+ "issue": "mouseEnterDelay / mouseLeaveDelay 单位是秒不是毫秒",
158
+ "wrong": "<Tooltip mouseEnterDelay={500} /> // 500 秒 = 8 分钟才显示",
159
+ "right": "<Tooltip mouseEnterDelay={0.5} /> // 0.5 秒 = 500ms"
160
+ },
161
+ {
162
+ "issue": "followCursor={true} 时 placement 被强制覆盖为 'top',设置其他 placement 无效",
163
+ "wrong": "<Tooltip followCursor={true} placement='bottomRight' /> // placement 被 src:128 强制改为 'top'",
164
+ "right": "<Tooltip followCursor={true} /> // followCursor 场景只支持 top,无需传 placement"
165
+ },
166
+ {
167
+ "issue": "TooltipProps 继承自 rc-tooltip,overlayStyle 和 overlayInnerStyle 作用 DOM 层级不同",
168
+ "wrong": "overlayStyle={{ color: 'red' }} // overlayStyle 作用于浮层外壳,文字颜色无效",
169
+ "right": "overlayInnerStyle={{ color: 'red' }} // overlayInnerStyle 作用于内容容器,文字颜色生效"
170
+ }
171
+ ],
172
+ "mapping": {
173
+ "realComponent": "Tooltip",
174
+ "adapter": null
175
+ }
176
+ }
@@ -1,101 +1,106 @@
1
- import { j as f } from "../_virtual/jsx-runtime.js";
1
+ import { j as r } from "../_virtual/jsx-runtime.js";
2
2
  import l from "react";
3
- import _ from "rc-tooltip";
4
- import k, { getDisabledCompatibleChildren as C, mapLegacyPlacement as z } from "./utils.js";
5
- import I from "clsx";
6
- import { $rcPrefixCls as O, $prefixCls as U } from "../GlobalContext/constant.js";
7
- import { Forbid as q } from "../node_modules/@para-ui/icons/Forbid/index.js";
3
+ import k from "rc-tooltip";
4
+ import z, { getDisabledCompatibleChildren as O, mapLegacyPlacement as U } from "./utils.js";
5
+ import q from "clsx";
6
+ import { $rcPrefixCls as R, $prefixCls as G } from "../GlobalContext/constant.js";
7
+ import { Forbid as J } from "../node_modules/@para-ui/icons/Forbid/index.js";
8
8
  import './index.css';/* empty css */
9
- const R = l.forwardRef((e, w) => {
10
- const [P, u] = l.useState(e.defaultVisible), c = l.useRef(null), d = l.useRef(null), [$, j] = l.useState([0, 0]);
9
+ const w = l.forwardRef((e, P) => {
10
+ const [$, u] = l.useState(e.defaultVisible), c = l.useRef(null), d = l.useRef(null), [j, T] = l.useState([0, 0]), g = l.useRef(!1);
11
11
  l.useEffect(() => {
12
12
  ("visible" in e || "open" in e) && u(!!(e.visible ?? e.open));
13
- }, [e.visible ?? e.open]);
13
+ }, [e.visible ?? e.open]), l.useEffect(() => {
14
+ process.env.NODE_ENV !== "production" && !g.current && Array.isArray(e.trigger) && e.trigger.length === 0 && (g.current = !0, console.warn(
15
+ "[Tooltip] `trigger=[]` 受控屏蔽写法已 deprecated,请改用 `visible={false}`(语义更清晰);v6 可能收紧 trigger 类型,提前迁移。"
16
+ ));
17
+ }, [e.trigger]);
14
18
  const m = () => {
15
19
  const { title: t } = e;
16
20
  return !t && t !== 0;
17
- }, T = (t) => {
21
+ }, E = (t) => {
18
22
  "visible" in e || "open" in e || u(m() ? !1 : t), m() || e.onVisibleChange?.(t);
19
23
  }, p = () => {
20
24
  const { builtinPlacements: t, autoAdjustOverflow: i } = e;
21
- return t || k({ autoAdjustOverflow: i });
25
+ return t || z({ autoAdjustOverflow: i });
22
26
  }, S = (t, i) => {
23
27
  const s = p(), o = Object.keys(s).find(
24
28
  (a) => s[a].points[0] === i.points[0] && s[a].points[1] === i.points[1]
25
29
  );
26
30
  if (!o)
27
31
  return;
28
- const r = t.getBoundingClientRect(), n = {
32
+ const f = t.getBoundingClientRect(), n = {
29
33
  top: "50%",
30
34
  left: "50%"
31
35
  };
32
- o.indexOf("top") >= 0 || o.indexOf("Bottom") >= 0 ? n.top = `${r.height - (i.offset?.[1] || 0)}px` : (o.indexOf("Top") >= 0 || o.indexOf("bottom") >= 0) && (n.top = `${-(i.offset?.[1] || 0)}px`), o.indexOf("left") >= 0 || o.indexOf("Right") >= 0 ? n.left = `${r.width - (i.offset?.[0] || 0)}px` : (o.indexOf("right") >= 0 || o.indexOf("Left") >= 0) && (n.left = `${-(i.offset?.[0] || 0)}px`), t.style.transformOrigin = `${n.left} ${n.top}`;
36
+ o.indexOf("top") >= 0 || o.indexOf("Bottom") >= 0 ? n.top = `${f.height - (i.offset?.[1] || 0)}px` : (o.indexOf("Top") >= 0 || o.indexOf("bottom") >= 0) && (n.top = `${-(i.offset?.[1] || 0)}px`), o.indexOf("left") >= 0 || o.indexOf("Right") >= 0 ? n.left = `${f.width - (i.offset?.[0] || 0)}px` : (o.indexOf("right") >= 0 || o.indexOf("Left") >= 0) && (n.left = `${-(i.offset?.[0] || 0)}px`), t.style.transformOrigin = `${n.left} ${n.top}`;
33
37
  }, V = (t) => {
34
38
  if (c.current) {
35
- const i = d.current?.popupRef?.current?.getElement()?.offsetHeight || 0, s = i === 0 ? 60 : 30, { x: o, y: r, width: n } = c.current.getBoundingClientRect(), a = t.clientX - (o + n / 2), Y = t.clientY - r + i + s;
39
+ const i = d.current?.popupRef?.current?.getElement()?.offsetHeight || 0, s = i === 0 ? 60 : 30, { x: o, y: f, width: n } = c.current.getBoundingClientRect(), a = t.clientX - (o + n / 2), Y = t.clientY - f + i + s;
36
40
  setTimeout(() => {
37
- j([-a, -Y]);
41
+ T([-a, -Y]);
38
42
  });
39
43
  }
40
44
  }, {
41
- prefixCls: D = `${O}-tooltip`,
42
- getPopupContainer: E,
43
- overlayClassName: L,
44
- overlayInnerStyle: M,
45
- overlayStyle: N,
45
+ prefixCls: N = `${R}-tooltip`,
46
+ getPopupContainer: A,
47
+ overlayClassName: D,
48
+ overlayInnerStyle: L,
49
+ overlayStyle: M,
46
50
  children: x,
47
- title: A,
51
+ title: W,
48
52
  placement: B,
49
- isPopover: W,
53
+ isPopover: F,
50
54
  followCursor: b,
51
- maxWidth: g,
52
- disabled: F,
53
- ...H
55
+ maxWidth: v,
56
+ disabled: _,
57
+ showForbidIcon: H,
58
+ ...I
54
59
  } = e;
55
- let v = P;
56
- !("visible" in e || "open" in e) && m() && (v = !1);
57
- const X = I(!W && `${U}-tooltip`, L), y = { ...N };
58
- g && (y.maxWidth = g);
59
- const h = { targetOffset: $ };
60
- return e.offset && (h.offset = e.offset), /* @__PURE__ */ f.jsx(
61
- _,
60
+ let y = $;
61
+ !("visible" in e || "open" in e) && m() && (y = !1);
62
+ const X = q(!F && `${G}-tooltip`, D), h = { ...M };
63
+ v && (h.maxWidth = v);
64
+ const C = { targetOffset: j };
65
+ return e.offset && (C.offset = e.offset), /* @__PURE__ */ r.jsx(
66
+ k,
62
67
  {
63
- ...H,
64
- prefixCls: D,
65
- placement: b ? "top" : z(B),
68
+ ...I,
69
+ prefixCls: N,
70
+ placement: b ? "top" : U(B),
66
71
  overlayClassName: X,
67
- getTooltipContainer: E,
68
- ref: w || d,
72
+ getTooltipContainer: A,
73
+ ref: P || d,
69
74
  builtinPlacements: p(),
70
- overlay: /* @__PURE__ */ f.jsxs(f.Fragment, { children: [
71
- F && /* @__PURE__ */ f.jsx(q, { className: "disabled-svg" }),
72
- A
75
+ overlay: /* @__PURE__ */ r.jsxs(r.Fragment, { children: [
76
+ (_ || H) && /* @__PURE__ */ r.jsx(J, { className: "disabled-svg" }),
77
+ W
73
78
  ] }),
74
- visible: v,
75
- align: h,
76
- onVisibleChange: T,
79
+ visible: y,
80
+ align: C,
81
+ onVisibleChange: E,
77
82
  onPopupAlign: S,
78
- overlayStyle: y,
79
- overlayInnerStyle: M,
83
+ overlayStyle: h,
84
+ overlayInnerStyle: L,
80
85
  arrowContent: null,
81
86
  motion: {
82
- motionName: `${O}-tooltip-zoom-big-fast`,
87
+ motionName: `${R}-tooltip-zoom-big-fast`,
83
88
  motionDeadline: 1e3
84
89
  },
85
- children: b ? /* @__PURE__ */ f.jsx(
90
+ children: b ? /* @__PURE__ */ r.jsx(
86
91
  "div",
87
92
  {
88
93
  style: { display: "inline-block" },
89
94
  ref: c,
90
95
  onMouseMove: V,
91
- children: C(x)
96
+ children: O(x)
92
97
  }
93
- ) : C(x)
98
+ ) : O(x)
94
99
  }
95
100
  );
96
101
  });
97
- R.displayName = "Tooltip";
98
- R.defaultProps = {
102
+ w.displayName = "Tooltip";
103
+ w.defaultProps = {
99
104
  placement: "topLeft",
100
105
  mouseEnterDelay: 0.1,
101
106
  mouseLeaveDelay: 0.1,
@@ -105,7 +110,7 @@ R.defaultProps = {
105
110
  maxWidth: 500
106
111
  };
107
112
  export {
108
- R as Tooltip,
109
- R as default
113
+ w as Tooltip,
114
+ w as default
110
115
  };
111
116
  //# sourceMappingURL=index.js.map
@@ -14,12 +14,25 @@ export interface TooltipProps extends Partial<Omit<RcTooltipProps, 'children'>>
14
14
  children?: React.ReactNode;
15
15
  /** 控制浮层是否显示 */
16
16
  open?: boolean;
17
+ /**
18
+ * 受控屏蔽气泡显示(推荐替代 `trigger=[]` 受控隐藏写法)。
19
+ * - `visible !== undefined` → 完全受控,显隐由 visible 控制(覆盖 trigger hover/click 默认行为)
20
+ * - `visible === undefined`(默认)→ 走 trigger 触发(原行为不变)
21
+ * 与 `open` 同义,优先级:`visible ?? open`(src/Tooltip/index.tsx)。@since v5.x.next
22
+ */
23
+ visible?: boolean;
17
24
  /** 跟随光标移动 */
18
25
  followCursor?: boolean;
19
26
  /** 容器最大宽度 */
20
27
  maxWidth?: number | string;
21
- /** 禁用标志 */
28
+ /**
29
+ * @deprecated v5.x.next 改用 `showForbidIcon`(自描述命名,业界对齐);v6 移除。
30
+ * 语义不变:在 trigger 旁叠加红色 Forbid SVG 图标(不影响气泡显示)。
31
+ * 详见 BREAKING-CHANGES §B5。
32
+ */
22
33
  disabled?: boolean;
34
+ /** 在 trigger 节点旁叠加红色 Forbid 禁用 SVG 图标(原 `disabled` 重命名,自描述命名)。不影响气泡显示行为(气泡仍走 title/visible/trigger 控制)。@since v5.x.next */
35
+ showForbidIcon?: boolean;
23
36
  /** 偏移 */
24
37
  offset?: [number, number];
25
38
  [name: string]: unknown;
@@ -16,7 +16,7 @@ function b(t) {
16
16
  ...t
17
17
  };
18
18
  }
19
- function E(t) {
19
+ function L(t) {
20
20
  const { horizontalArrowShift: o = 16, verticalArrowShift: s = 8, autoAdjustOverflow: f } = t, e = {
21
21
  left: {
22
22
  points: ["cr", "cl"],
@@ -81,10 +81,10 @@ const u = (t, o) => {
81
81
  t && e in t && (s[e] = t[e], delete f[e]);
82
82
  }), { picked: s, omitted: f };
83
83
  };
84
- function L(t) {
84
+ function v(t) {
85
85
  const o = i.isValidElement(t) ? t : /* @__PURE__ */ r.jsx("span", { children: t });
86
- if (o.type === "button" && o.props.disabled) {
87
- const { picked: s, omitted: f } = u(o.props.style, [
86
+ if (o.props && o.props.disabled === !0) {
87
+ const { picked: s, omitted: f } = u(o.props.style || {}, [
88
88
  "position",
89
89
  "left",
90
90
  "right",
@@ -170,8 +170,8 @@ function h(t) {
170
170
  }[o];
171
171
  }
172
172
  export {
173
- E as default,
174
- L as getDisabledCompatibleChildren,
173
+ L as default,
174
+ v as getDisabledCompatibleChildren,
175
175
  g as mapLegacyPlacement
176
176
  };
177
177
  //# sourceMappingURL=utils.js.map
@@ -0,0 +1,157 @@
1
+ {
2
+ "name": "Transfer",
3
+ "category": "Data Entry",
4
+ "description": "穿梭框,双栏穿梭选择框",
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
+ "default",
25
+ "disabled"
26
+ ],
27
+ "idealProps": {
28
+ "data": {
29
+ "type": "Array<ItemDataProps>",
30
+ "default": "[]",
31
+ "itemSchema": {
32
+ "key": { "type": "string", "description": "唯一标识(与 value[] 对比;改字段名时用 customKey)" },
33
+ "name": { "type": "string", "description": "显示名" },
34
+ "description": { "type": "string", "description": "描述文字" },
35
+ "checked": { "type": "boolean", "description": "是否已勾选" },
36
+ "disabled": { "type": "boolean", "description": "是否禁用" },
37
+ "hide": { "type": "boolean", "description": "是否隐藏" },
38
+ "tagColor": { "type": "string", "description": "tag 色" }
39
+ },
40
+ "description": "数据源(**真实 prop 名是 data 不是 dataSource**);**对外导出类型名是 IItemDataProps**(有 I 前缀,src/index.ts 重命名导出),业务侧 import 用 `import { IItemDataProps } from '@para-ui/core/Transfer'`;ItemDataProps = { key?: string; name?: string; description?: string; checked?: boolean; disabled?: boolean; hide?: boolean; tagColor?: string; [k: string]: unknown };src/Transfer/box.tsx:49。**业务 any[] 数据**:若字段名不是 key/name(例如 id/label),建议父层 map 适配成 IItemDataProps 形状,或用 customKey 让 value 比对换字段"
41
+ },
42
+ "value": {
43
+ "type": "Array<string>",
44
+ "default": "[]",
45
+ "description": "右侧框已选中的 key 集合(**真实 prop 名是 value 不是 targetKeys**);受控数组,组件内部按 customKey 比对 data 分流到左右两侧;src/Transfer/index.tsx:236 useEffect 监听 value/data 同步"
46
+ },
47
+ "onChange": {
48
+ "type": "(keys: Array<string>) => void",
49
+ "description": "右侧 key 集合变化回调(穿梭 / 排序 / 上下移动都会触发);**回参是 key 数组不是 item 对象数组**;src/Transfer/index.tsx:150"
50
+ },
51
+ "onSort": {
52
+ "type": "(keys: Array<string>) => void",
53
+ "description": "右侧拖拽排序 / 上下移动后回调;触发时机:rightData splice 之后;src/Transfer/index.tsx:170 / 190 / 230;onChange 在 onSort 之前也会触发一次(同步右侧 key 序列)"
54
+ },
55
+ "customKey": {
56
+ "type": "string",
57
+ "default": "key",
58
+ "description": "自定义唯一键字段名;改这个会让 value 比对 data[customKey] 而非 data.key — 适用于业务数据自带 id/code 不想 rename 为 key 的场景"
59
+ },
60
+ "titles": {
61
+ "type": "Array<string>",
62
+ "default": "['左侧', '右侧']",
63
+ "description": "[左侧标题, 右侧标题];默认值来自 i18n localeJson(zh: '左侧'/'右侧',en: 'Left'/'Right');传两元数组覆盖"
64
+ },
65
+ "multiple": {
66
+ "type": "boolean",
67
+ "default": "true",
68
+ "description": "是否多选;false 时每侧 checkbox 单选语义,选中新项自动清空旧选"
69
+ },
70
+ "trim": {
71
+ "type": "boolean",
72
+ "default": "false",
73
+ "description": "搜索时是否去除首尾空格(toUpperCase 大小写不敏感是固定行为,trim 只控空格)"
74
+ },
75
+ "disabled": {
76
+ "type": "boolean",
77
+ "default": "false",
78
+ "description": "整体禁用(组件层);若只想禁某条 item,用 ItemDataProps.disabled — 二者独立可叠加"
79
+ },
80
+ "render": {
81
+ "type": "(item: ItemDataProps) => void",
82
+ "description": "对每条 item 的预处理 hook(在 useEffect 分流前调用,可改 item 字段);**注意是副作用函数(返回 void),不是返回 ReactNode 的 render prop** — 与 rightIcon 易混(rightIcon 才是返回 ReactNode);src/Transfer/index.tsx:242"
83
+ },
84
+ "rightIcon": {
85
+ "type": "(item: ItemDataProps) => ReactNode",
86
+ "description": "每行右侧自定义渲染(放 Help 图标 / Popover 等);返回 ReactNode,与 render 副作用 hook 不同"
87
+ }
88
+ },
89
+ "do": [
90
+ "在源数据量大且需要多选时使用 Transfer",
91
+ "提供清晰的 List Title",
92
+ "value 始终保持 string[] 类型(组件内部按 customKey 比对)"
93
+ ],
94
+ "dont": [
95
+ "在移动端使用 Transfer(交互困难)",
96
+ "数据量极小(<5)时使用 Transfer(推荐 Checkbox Group)",
97
+ "把 dataSource / targetKeys 当 prop 名(那是 Ant Design 命名,本组件实际是 data / value)",
98
+ "期待 onSelectChange / onCheck 回调(本组件无 checkbox 勾选未穿梭的回调 — onChange 仅在穿梭/排序/移动完成后触发;若需追踪'选中变化'只能在 onChange 后由 left/right key 集合推导)",
99
+ "期待 size / compact / dense prop(本组件不支持紧凑模式;紧凑视觉只能由外层 div 套 fontSize/padding 模拟,无法影响内部间距)",
100
+ "期待 showSearch prop(搜索是内置默认开启 — 仅 trim 控制空格策略)"
101
+ ],
102
+ "events": {
103
+ "onChange": {
104
+ "signature": "(keys: Array<string>) => void",
105
+ "asyncSupported": false,
106
+ "examples": [
107
+ "穿梭(右→左或左→右)完成时触发:keys 是右侧框所有 key 的当前顺序数组",
108
+ "上下移动排序后触发:keys 反映排序后的顺序(onSort 也会在此之前触发)",
109
+ "拖拽排序完成后触发:onEndSort → onChange 顺序触发,keys 是最新右侧顺序"
110
+ ],
111
+ "commonMistakes": [
112
+ "把 onChange 的回参当做 ItemDataProps[] 对象数组——实际是 key 字符串数组",
113
+ "期望 onChange 在勾选(checkbox)时触发——onChange 只在穿梭/排序完成后触发,不追踪 checkbox 中间状态",
114
+ "期望 onChange 只在穿梭时触发——排序(onSort)也会同时触发 onChange"
115
+ ]
116
+ },
117
+ "onSort": {
118
+ "signature": "(keys: Array<string>) => void",
119
+ "asyncSupported": false,
120
+ "examples": [
121
+ "右侧列表拖拽排序结束时触发:keys 是排序后右侧的 key 顺序数组",
122
+ "点击上/下移动按钮后触发:先触发 onSort 再触发 onChange",
123
+ "用于服务端保存排序:onSort={(keys) => saveOrder(keys)}"
124
+ ],
125
+ "commonMistakes": [
126
+ "只监听 onSort 不监听 onChange——右侧 key 顺序同时写入了 onChange,两者都会触发",
127
+ "期望 onSort 在左侧操作时触发——onSort 只针对右侧列表排序,左侧没有排序功能"
128
+ ]
129
+ }
130
+ },
131
+ "typescriptPitfalls": [
132
+ {
133
+ "issue": "data 的 TypeScript 导出类型名是 IItemDataProps(有 I 前缀),不是 ItemDataProps",
134
+ "wrong": "import { ItemDataProps } from '@para-ui/core/Transfer' // 不存在此导出",
135
+ "right": "import { IItemDataProps } from '@para-ui/core/Transfer' // src/Transfer/index.tsx 重命名导出"
136
+ },
137
+ {
138
+ "issue": "value 是 string[] 不是 ItemDataProps[],传对象数组导致右侧显示为空",
139
+ "wrong": "value={[{ key: 'a', name: '选项A' }]} // 传对象数组,内部 indexOf 比对会失败",
140
+ "right": "value={['a']} // 传 key 字符串数组,对应 data 中每项的 customKey 字段值"
141
+ },
142
+ {
143
+ "issue": "自定义 key 字段时需同步传 customKey,否则 value 比对不到 data",
144
+ "wrong": "// 数据字段是 id 但没传 customKey\ndata={[{ id: '001', name: '项目A' }]} value={['001']} // 比对用 data.key,找不到",
145
+ "right": "data={[{ id: '001', name: '项目A' }]} value={['001']} customKey='id' // 告知组件用 id 做 key"
146
+ },
147
+ {
148
+ "issue": "render 是副作用 hook 不是 render prop,返回 void 不是 ReactNode",
149
+ "wrong": "render={(item) => <span>{item.name}</span>} // 假设 render 返回 ReactNode 渲染到列表项",
150
+ "right": "// render 用于预处理 item 字段(副作用),自定义列表项显示用 rightIcon\nrender={(item) => { item.name = item.label; }} // 修改 item 字段"
151
+ }
152
+ ],
153
+ "mapping": {
154
+ "realComponent": "Transfer",
155
+ "adapter": null
156
+ }
157
+ }