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