@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,166 @@
1
+ {
2
+ "name": "Collapse",
3
+ "category": "Data Display",
4
+ "description": "折叠面板,可以折叠/展开的内容区域",
5
+ "semantic": {
6
+ "intent": [
7
+ "收纳内容",
8
+ "分块展示",
9
+ "节省空间"
10
+ ],
11
+ "useCases": [
12
+ "常见问题 (FAQ)",
13
+ "复杂表单分组",
14
+ "信息详情"
15
+ ],
16
+ "riskLevel": "low"
17
+ },
18
+ "variants": {
19
+ "default": {
20
+ "meaning": "标准折叠面板"
21
+ },
22
+ "ghost": {
23
+ "meaning": "无边框模式"
24
+ }
25
+ },
26
+ "states": [
27
+ "active",
28
+ "disabled"
29
+ ],
30
+ "idealProps": {
31
+ "activeKey": {
32
+ "type": "string | number | Array<string | number>",
33
+ "description": "当前激活面板的 key。accordion=true 时传 string/number;accordion=false(默认)时传数组(多面板同时展开)"
34
+ },
35
+ "defaultActiveKey": {
36
+ "type": "string | number | Array<string | number>",
37
+ "description": "非受控模式初始展开面板 key。同 activeKey 类型规则"
38
+ },
39
+ "accordion": {
40
+ "type": "boolean",
41
+ "default": false,
42
+ "description": "手风琴模式:true 时同时只展开一个面板,点击已展开面板会收起所有面板,onChange 收到空字符串"
43
+ },
44
+ "onChange": {
45
+ "type": "(key: string | string[]) => void",
46
+ "description": "切换回调:accordion=true 时传 string(被展开 key 或空字符串表示全收起);accordion=false 时传 string[](当前展开 key 集合)"
47
+ },
48
+ "expandIconPosition": {
49
+ "type": "'left' | 'right'",
50
+ "values": ["left", "right"],
51
+ "default": "left",
52
+ "description": "切换图标位置"
53
+ },
54
+ "expandIcon": {
55
+ "type": "(panelProps: PanelProps) => ReactNode",
56
+ "description": "自定义切换图标"
57
+ },
58
+ "children": {
59
+ "type": "Collapse.Panel[]",
60
+ "description": "Collapse 用 <Collapse><Collapse.Panel header key>content</Collapse.Panel></Collapse> 复合子组件风格(非 items 数组)。const { Panel } = Collapse 后写 Panel"
61
+ },
62
+ "collapsible": {
63
+ "type": "'header' | 'disabled'",
64
+ "description": "所有子面板的折叠触发方式(src/Collapse/index.tsx:30 interface 实证):'header' 点击 header 区域触发;'disabled' 禁用所有面板折叠(单个 Panel 可通过 Panel.collapsible 覆盖)"
65
+ },
66
+ "destroyInactivePanel": {
67
+ "type": "boolean",
68
+ "default": false,
69
+ "description": "销毁折叠隐藏的面板 DOM(src/Collapse/index.tsx:32 interface 实证)。true 时折叠的面板内容从 DOM 移除(节省内存);false 时保留 DOM(切换速度更快)。与 Panel.forceRender 互斥:forceRender=true 强制渲染优先级高于 destroyInactivePanel"
70
+ },
71
+ "className": {
72
+ "type": "string",
73
+ "description": "自定义类名(src/Collapse/index.tsx:20,68,101 实证,追加到根容器 className)"
74
+ },
75
+ "style": {
76
+ "type": "React.CSSProperties",
77
+ "description": "自定义样式(src/Collapse/index.tsx:22 interface 声明,透传到根容器)"
78
+ }
79
+ },
80
+ "subComponents": {
81
+ "Panel": {
82
+ "import": "const { Panel } = Collapse",
83
+ "props": {
84
+ "key": {
85
+ "type": "string | number",
86
+ "required": true,
87
+ "description": "对应 activeKey 的标识"
88
+ },
89
+ "header": {
90
+ "type": "ReactNode",
91
+ "required": true,
92
+ "description": "面板头文本/节点(不是 label 字段)"
93
+ },
94
+ "children": {
95
+ "type": "ReactNode",
96
+ "description": "展开后显示的内容(不是 content 字段)"
97
+ },
98
+ "collapsible": {
99
+ "type": "'header' | 'disabled'",
100
+ "description": "该面板的折叠触发方式(src/Collapse/index.tsx:31,60 实证):'disabled' 时该面板不可展开/收起。**推荐用此 prop 替代已 deprecated 的 `disabled` prop**(src 内部将 disabled=true 自动转换为 collapsible='disabled',见 src/Collapse/index.tsx:76-81)"
101
+ },
102
+ "disabled": {
103
+ "type": "boolean",
104
+ "description": "⚠️ **@deprecated — 改用 `collapsible='disabled'`(src/Collapse/index.tsx:55 注释实证:`@deprecated Use collapsible=\"disabled\" instead`)**。仍可用,src 内部自动转换为 collapsible='disabled'"
105
+ },
106
+ "extra": {
107
+ "type": "ReactNode",
108
+ "description": "面板头右上角自定义内容"
109
+ },
110
+ "forceRender": {
111
+ "type": "boolean",
112
+ "default": false,
113
+ "description": "true 时被折叠面板的内容也始终渲染(用于隐藏内容需保活)"
114
+ }
115
+ }
116
+ }
117
+ },
118
+ "do": [
119
+ "整理复杂或次要信息——主要场景用 FAQ / 表单分组 / 详情展开",
120
+ "Panel 的 key 建议用稳定的字符串 ID,避免用数组下标(下标变化会导致状态错乱)",
121
+ "需要禁用单个面板:用 Panel.collapsible='disabled' 而非 Panel.disabled(disabled 已标记 @deprecated)",
122
+ "手风琴模式(accordion=true):onChange 的参数是 string(展开项 key 或空字符串),非数组"
123
+ ],
124
+ "dont": [
125
+ "Collapse 嵌套过深(2层以上会产生严重的视觉噪音,改用 Table 展开行或 Drawer)",
126
+ "核心关键信息隐藏在折叠内容中(除非空间极度受限)",
127
+ "混淆 accordion 模式下 onChange 返回类型——accordion=true 时是 string,accordion=false 时是 string[]"
128
+ ],
129
+ "events": {
130
+ "onChange": {
131
+ "signature": "(key: string | string[]) => void",
132
+ "asyncSupported": false,
133
+ "examples": [
134
+ "受控模式:const [activeKey, setActiveKey] = useState<string[]>([]); <Collapse activeKey={activeKey} onChange={(k) => setActiveKey(k as string[])} />",
135
+ "手风琴模式:onChange 收到 string(被展开项的 key),全部收起时收到空字符串 ''",
136
+ "非手风琴模式:onChange 收到 string[](当前所有展开面板的 key 集合)"
137
+ ],
138
+ "commonMistakes": [
139
+ "accordion=true 时把 onChange 的参数当 string[] 处理——手风琴模式下是 string,不是数组",
140
+ "非受控模式下(只传 defaultActiveKey)同时监听 onChange 期望能控制展开状态——defaultActiveKey 是非受控初始值,内部维护状态,受控需改传 activeKey",
141
+ "期望 onChange 在初始化时触发一次——只有用户操作时触发,挂载不触发"
142
+ ]
143
+ }
144
+ },
145
+ "typescriptPitfalls": [
146
+ {
147
+ "issue": "accordion 模式下 onChange 参数类型是 string 不是 string[],混用会运行时报错",
148
+ "wrong": "// accordion=true 时:\nonChange={(keys) => setActiveKey(keys)} // keys 实际是 string,.join 等数组方法会报错",
149
+ "right": "// accordion 模式:\n<Collapse accordion onChange={(key) => setActiveKey(key as string)} />"
150
+ },
151
+ {
152
+ "issue": "Panel.disabled 已 @deprecated,严格 TS 配置下会产生警告,改用 collapsible='disabled'",
153
+ "wrong": "<Collapse.Panel key='1' header='标题' disabled>内容</Collapse.Panel>",
154
+ "right": "<Collapse.Panel key='1' header='标题' collapsible='disabled'>内容</Collapse.Panel>"
155
+ },
156
+ {
157
+ "issue": "activeKey 类型需要与 accordion 模式匹配,混用 string/string[] 会导致类型错误",
158
+ "wrong": "// accordion=true 时传数组:\n<Collapse accordion activeKey={['panel-1']} /> // TS 警告且行为不符合预期",
159
+ "right": "// accordion 时传 string,非 accordion 时传 string[]:\n<Collapse accordion activeKey={activeKeyStr} onChange={(k) => setActiveKeyStr(k as string)} />"
160
+ }
161
+ ],
162
+ "mapping": {
163
+ "realComponent": "Collapse",
164
+ "adapter": null
165
+ }
166
+ }
@@ -22,7 +22,7 @@ export interface CollapseProps {
22
22
  expandIconPosition?: ExpandIconPosition;
23
23
  /** onChange */
24
24
  onChange?: (key: string | string[]) => void;
25
- children?: any;
25
+ children?: React.ReactNode;
26
26
  }
27
27
  interface PanelProps {
28
28
  /** 是否展开 */
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require('./index.css');const t=require("../_virtual/jsx-runtime.js"),g=require("rc-collapse"),j=require("./collapsePanel.js"),l=require("./util.js"),q=require("../node_modules/@para-ui/icons/Right/index.js"),v=require("./motion.js"),r=require("../GlobalContext/constant.js");;/* empty css */const a=n=>{const{className:c="",expandIconPosition:i="left"}=n,p=()=>{const{children:s}=n;return l.toArray(s).map((e,o)=>{if(e.props?.disabled){const m=e.key||String(o),{disabled:f,collapsible:C}=e.props,b={...l.omit(e.props,["disabled"]),key:m,collapsible:C??(f?"disabled":void 0)};return l.cloneElement(e,b)}return e})},u=(s={})=>{const{expandIcon:e}=n,o=e?e(s):t.jsxRuntimeExports.jsx(q.Right,{className:"collapse-expand-svg"});return t.jsxRuntimeExports.jsx("div",{className:"collapse-svg-box",children:o})},d=()=>{let s=`${r.$prefixCls}-collapse`;return c&&(s+=` ${c}`),i&&(s+=` ${r.$prefixCls}-collapse-svg-${i}`),s},x={...v.default,motionAppear:!1,leavedClassName:"collapse-content-hidden"};return t.jsxRuntimeExports.jsx(g,{openMotion:x,...n,expandIcon:u,prefixCls:`${r.$rcPrefixCls}-collapse`,className:d(),children:p()})};a.Panel=j.CollapsePanelProps;exports.Collapse=a;exports.default=a;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require('./index.css');const t=require("../_virtual/jsx-runtime.js"),h=require("rc-collapse"),j=require("./collapsePanel.js"),r=require("./util.js"),q=require("../node_modules/@para-ui/icons/Right/index.js"),v=require("./motion.js"),c=require("../GlobalContext/constant.js");;/* empty css */const a=l=>{const{className:i="",expandIconPosition:d="left"}=l,p=()=>{const{children:e}=l;return r.toArray(e).map((n,o)=>{const s=n;if(s.props?.disabled){const f=s.key||String(o),{disabled:C,collapsible:b}=s.props,g={...r.omit(s.props,["disabled"]),key:f,collapsible:b??(C?"disabled":void 0)};return r.cloneElement(s,g)}return s})},u=(e={})=>{const{expandIcon:n}=l,o=n?n(e):t.jsxRuntimeExports.jsx(q.Right,{className:"collapse-expand-svg"});return t.jsxRuntimeExports.jsx("div",{className:"collapse-svg-box",children:o})},x=()=>{let e=`${c.$prefixCls}-collapse`;return i&&(e+=` ${i}`),d&&(e+=` ${c.$prefixCls}-collapse-svg-${d}`),e},m={...v.default,motionAppear:!1,leavedClassName:"collapse-content-hidden"};return t.jsxRuntimeExports.jsx(h,{openMotion:m,...l,expandIcon:u,prefixCls:`${c.$rcPrefixCls}-collapse`,className:x(),children:p()})};a.Panel=j.CollapsePanelProps;exports.Collapse=a;exports.default=a;
2
2
  //# sourceMappingURL=index.js.map
@@ -0,0 +1,84 @@
1
+ {
2
+ "name": "CollapseBox",
3
+ "category": "Layout",
4
+ "description": "折叠盒子,用于控制内容的展开/收起动画",
5
+ "semantic": {
6
+ "intent": [
7
+ "动画容器",
8
+ "展开收起"
9
+ ],
10
+ "useCases": [
11
+ "手风琴",
12
+ "下拉内容",
13
+ "详情展开"
14
+ ],
15
+ "riskLevel": "low"
16
+ },
17
+ "variants": {
18
+ "default": {
19
+ "meaning": "默认样式"
20
+ }
21
+ },
22
+ "states": [
23
+ "expanded",
24
+ "collapsed"
25
+ ],
26
+ "idealProps": {
27
+ "in": {
28
+ "type": "boolean",
29
+ "default": false,
30
+ "description": "【核心受控 prop】控制展开/收起状态;true=展开渲染 children,false=收起;父层需用 useState<boolean> 维护此状态(R21 §5.1 4 high 揭示此 prop 必须在 docs 显式列出)"
31
+ },
32
+ "children": {
33
+ "type": "React.ReactNode",
34
+ "description": "折叠区域内容;接受任意 ReactNode(多个并列元素亦可,内部已包 wrapper div 测高度)"
35
+ },
36
+ "collapsedHeight": {
37
+ "type": "string | number",
38
+ "default": "0px",
39
+ "description": "收起状态最小高度;默认 0px 等同完全隐藏;常用 '60px' 实现部分预览;与 unmountOnExit=true 同传时失效(子树被卸载)"
40
+ },
41
+ "unmountOnExit": {
42
+ "type": "boolean",
43
+ "default": false,
44
+ "description": "收起时是否卸载子节点(true=卸载,false=保留 DOM);与 collapsedHeight 互斥:true 时 collapsedHeight 无效"
45
+ },
46
+ "timeout": {
47
+ "type": "'auto' | number | { appear?: number; enter?: number; exit?: number }",
48
+ "default": "'auto'",
49
+ "description": "动画时长(ms);'auto' 按内容高度计算;number 时 enter/exit 共用;{enter, exit} 分别指定;不支持 'fast'/'slow' 字符串关键字"
50
+ }
51
+ },
52
+ "do": [
53
+ "用于需要平滑展开/收起动画的场景,通过 `in` prop 控制展开状态(父组件用 useState<boolean> 维护)",
54
+ "设置 collapsedHeight(如 '60px')实现内容预览折叠效果,同时保持收起时不完全消失",
55
+ "需要节省性能时设置 unmountOnExit=true,收起时卸载子树(但与 collapsedHeight 互斥——unmountOnExit=true 时 collapsedHeight 无效)"
56
+ ],
57
+ "dont": [
58
+ "同时设置 unmountOnExit=true 和 collapsedHeight——两者互斥,unmountOnExit=true 时子树卸载,collapsedHeight 无效",
59
+ "频繁(>10次/秒)切换 in 状态——动画计时器不会被提前中断,快速切换会产生视觉抖动",
60
+ "在不需要动画的场景使用(直接用 CSS display:none 或 conditional render 性能更好)"
61
+ ],
62
+ "events": {},
63
+ "typescriptPitfalls": [
64
+ {
65
+ "issue": "in prop 是关键字,需要用引号或通过变量传入;TypeScript 下直接写 in= 可能触发解析问题",
66
+ "wrong": "// 变量名与关键字冲突:\nconst in = true; // TS 语法错误,in 是保留关键字",
67
+ "right": "// 用非关键字变量名:\nconst isOpen = true; <CollapseBox in={isOpen}>"
68
+ },
69
+ {
70
+ "issue": "timeout 的对象形式类型是 { appear?: number; enter?: number; exit?: number },不支持字符串关键字",
71
+ "wrong": "<CollapseBox timeout='fast' /> // TS 报错:'fast' 不在联合类型中",
72
+ "right": "<CollapseBox timeout='auto' /> // 只有 'auto' 是字符串关键字;具体毫秒用 number"
73
+ },
74
+ {
75
+ "issue": "collapsedHeight 同时接受 string 和 number,number 类型会被转为带 px 后缀的字符串",
76
+ "wrong": "// 期望传百分比:\ncollapsedHeight={50} // 解析为 '50px' 而非 '50%'",
77
+ "right": "// 百分比需传字符串:\ncollapsedHeight='50%' // 或 collapsedHeight='60px'"
78
+ }
79
+ ],
80
+ "mapping": {
81
+ "realComponent": "CollapseBox",
82
+ "adapter": null
83
+ }
84
+ }
@@ -0,0 +1,155 @@
1
+ {
2
+ "name": "CollapseLayout",
3
+ "category": "Layout",
4
+ "description": "折叠布局,支持分区域折叠的布局组件",
5
+ "semantic": {
6
+ "intent": [
7
+ "分区布局",
8
+ "可伸缩面板"
9
+ ],
10
+ "useCases": [
11
+ "侧边栏",
12
+ "详情面板",
13
+ "代码编辑器"
14
+ ],
15
+ "riskLevel": "low"
16
+ },
17
+ "variants": {
18
+ "left": {
19
+ "meaning": "左侧折叠"
20
+ },
21
+ "right": {
22
+ "meaning": "右侧折叠"
23
+ },
24
+ "top": {
25
+ "meaning": "顶部折叠"
26
+ },
27
+ "bottom": {
28
+ "meaning": "底部折叠"
29
+ }
30
+ },
31
+ "states": [
32
+ "expanded",
33
+ "collapsed"
34
+ ],
35
+ "idealProps": {
36
+ "type": {
37
+ "type": "enum",
38
+ "values": [
39
+ "left",
40
+ "right",
41
+ "top",
42
+ "bottom"
43
+ ],
44
+ "default": "left",
45
+ "description": "可折叠侧(displayContent)的位置;left/top displayContent 在前,right/bottom 在后"
46
+ },
47
+ "open": {
48
+ "type": "boolean",
49
+ "default": false,
50
+ "description": "软受控展开状态;父改 open 强制同步,但用户点击不反向通知父端(双向同步需配合 onClickBtn)"
51
+ },
52
+ "zoomLength": {
53
+ "type": "number",
54
+ "default": 0,
55
+ "description": "可折叠侧最大尺寸(横向时宽,纵向时高,单位由 unit 决定);0=不显示可折叠侧"
56
+ },
57
+ "minDragLength": {
58
+ "type": "number",
59
+ "default": 100,
60
+ "description": "拖拽分隔条时的最小尺寸(单位固定 px,与 unit 无关)"
61
+ },
62
+ "unit": {
63
+ "type": "string",
64
+ "default": "px",
65
+ "description": "zoomLength / spacing 的尺寸单位(px/rem/%);不影响 minDragLength"
66
+ },
67
+ "spacing": {
68
+ "type": "number",
69
+ "default": 20,
70
+ "description": "defaultContent 与 displayContent 间距(单位同 unit)"
71
+ },
72
+ "defaultContent": {
73
+ "type": "ReactNode",
74
+ "description": "自适应侧内容(始终占据剩余空间)"
75
+ },
76
+ "displayContent": {
77
+ "type": "ReactNode",
78
+ "description": "可折叠侧内容(尺寸由 zoomLength / 拖拽决定)"
79
+ },
80
+ "showLabel": {
81
+ "type": "string",
82
+ "description": "收起态时按钮文字"
83
+ },
84
+ "hideLabel": {
85
+ "type": "string",
86
+ "description": "展开态时按钮文字"
87
+ },
88
+ "onClickBtn": {
89
+ "type": "function",
90
+ "signature": "(bol?: boolean, duration?: number) => void",
91
+ "description": "切换按钮回调;bol=新状态(true 展开),duration=动画 ms(内部根据可折叠侧尺寸计算)"
92
+ },
93
+ "onDragEnd": {
94
+ "type": "function",
95
+ "signature": "() => void",
96
+ "description": "用户拖拽分隔条结束回调(松开鼠标触发,不带新尺寸)"
97
+ }
98
+ },
99
+ "do": [
100
+ "用于需要可折叠侧边栏的场景(如代码编辑器左侧文件树)——传 type='left'、defaultContent=主内容、displayContent=侧栏内容、zoomLength=侧栏宽度",
101
+ "支持拖拽调整大小:用户拖动分隔条时组件内部更新 zoomLength;拖拽结束后通过 onDragEnd 回调通知父组件",
102
+ "配合 onClickBtn 监听折叠/展开按钮点击:onClickBtn(bol, duration) 的 bol=新展开状态,duration=动画毫秒数(按内容尺寸计算)"
103
+ ],
104
+ "dont": [
105
+ "嵌套多层 CollapseLayout(嵌套会导致 zoomLength/spacing 计算混乱)",
106
+ "把 open prop 当做完全受控——open 是软受控(父改 open 会同步),但用户点击按钮后不会反向通知父端;双向同步需配合 onClickBtn 回调"
107
+ ],
108
+ "events": {
109
+ "onClickBtn": {
110
+ "signature": "(bol?: boolean, duration?: number) => void",
111
+ "asyncSupported": false,
112
+ "examples": [
113
+ "监听展开/收起切换:onClickBtn={(isOpen, animMs) => { setOpen(isOpen); console.log('动画时长', animMs, 'ms'); }}",
114
+ "bol=true 表示点击后变为展开状态,bol=false 表示变为收起状态",
115
+ "duration 由组件内部根据可折叠侧当前尺寸计算(高度/宽度越大动画越长)"
116
+ ],
117
+ "commonMistakes": [
118
+ "期望 open prop 变化时触发 onClickBtn——只有用户点击按钮才触发,外部修改 open 不触发",
119
+ "假设 onClickBtn 不传时用户点击无效——不传 onClickBtn 时用户点击仍然工作,只是父端感知不到状态变化"
120
+ ]
121
+ },
122
+ "onDragEnd": {
123
+ "signature": "() => void",
124
+ "asyncSupported": false,
125
+ "examples": [
126
+ "拖拽结束后保存新尺寸:onDragEnd={() => saveLayout(constData.current.zoomLength)}",
127
+ "注意:onDragEnd 不携带新的 zoomLength 值,需在外部另行记录"
128
+ ],
129
+ "commonMistakes": [
130
+ "期望 onDragEnd 回调携带新的尺寸值——实际是无参回调,新尺寸由组件内部 constData.current.zoomLength 维护,外部感知需另起方案"
131
+ ]
132
+ }
133
+ },
134
+ "typescriptPitfalls": [
135
+ {
136
+ "issue": "zoomLength 和 spacing 的单位由 unit prop 决定,minDragLength 单位固定为 px",
137
+ "wrong": "// 错误:以为 minDragLength 受 unit='rem' 影响\nzoomLength={20} unit='rem' minDragLength={5} // minDragLength=5 依然是 px,不是 rem",
138
+ "right": "// minDragLength 始终 px,zoomLength/spacing 受 unit 影响:\nzoomLength={20} unit='rem' minDragLength={100} // 最小拖拽 100px"
139
+ },
140
+ {
141
+ "issue": "open prop 是软受控,不传时组件内部自维护展开状态",
142
+ "wrong": "// 仅传 open 不传 onClickBtn,以为可以完全受控\n<CollapseLayout open={externalOpen} /> // 用户点击后内部状态更新但外部 externalOpen 不变,下次 open 变化时会强制同步覆盖",
143
+ "right": "// 双向同步需配合 onClickBtn:\n<CollapseLayout open={isOpen} onClickBtn={(bol) => setIsOpen(!!bol)} />"
144
+ },
145
+ {
146
+ "issue": "defaultContent 和 displayContent 是 ReactNode 类型,不是 children",
147
+ "wrong": "<CollapseLayout><MySidebar /></CollapseLayout> // children 不渲染",
148
+ "right": "<CollapseLayout defaultContent={<MainContent />} displayContent={<Sidebar />} />"
149
+ }
150
+ ],
151
+ "mapping": {
152
+ "realComponent": "CollapseLayout",
153
+ "adapter": null
154
+ }
155
+ }
@@ -0,0 +1,142 @@
1
+ {
2
+ "name": "ColorPicker",
3
+ "category": "Data Entry",
4
+ "description": "颜色选择器,提供 SketchPicker/ChromePicker/SwatchesPicker/CompactPicker 四种变体,输出 hex/rgb/hsl 等多种格式",
5
+ "semantic": {
6
+ "intent": [
7
+ "颜色选择",
8
+ "主题定制"
9
+ ],
10
+ "useCases": [
11
+ "设计工具",
12
+ "个性化设置",
13
+ "图表配色"
14
+ ],
15
+ "riskLevel": "low"
16
+ },
17
+ "variants": {
18
+ "SketchPicker": {
19
+ "meaning": "default export · 完整调色板 + 预设色板 + clear/onClear 自定义清除按钮"
20
+ },
21
+ "ChromePicker": {
22
+ "meaning": "具名 export · Chrome 浏览器风格 + hex/rgb/hsl 切换 · 无 clear"
23
+ },
24
+ "SwatchesPicker": {
25
+ "meaning": "具名 export · 色样网格 · 无调色板/无透明度"
26
+ },
27
+ "CompactPicker": {
28
+ "meaning": "具名 export · 紧凑色板 + hex 输入 · 无透明度"
29
+ }
30
+ },
31
+ "states": [
32
+ "default"
33
+ ],
34
+ "idealProps": {
35
+ "color": {
36
+ "type": "string | HSLColor | RGBColor",
37
+ "description": "受控当前颜色;string 接受 hex(3/4/6/8 位)"
38
+ },
39
+ "onChange": {
40
+ "type": "function",
41
+ "signature": "(color: ColorResult, event?: ChangeEvent) => void",
42
+ "description": "实时颜色变化(每次拖动/输入都触发,高频);color 是 ColorResult { hex, rgb, hsl, hsv, source }"
43
+ },
44
+ "onChangeComplete": {
45
+ "type": "function",
46
+ "signature": "(color: ColorResult, event?: ChangeEvent) => void",
47
+ "description": "完成态回调(仅鼠标释放/失焦触发,低频);用于避免高频副作用"
48
+ },
49
+ "clear": {
50
+ "type": "boolean",
51
+ "default": false,
52
+ "description": "仅 SketchPicker 有效;开启右下角清除方块"
53
+ },
54
+ "onClear": {
55
+ "type": "function",
56
+ "signature": "() => void",
57
+ "description": "仅 SketchPicker;clear=true 时点击清除按钮触发,业务方需自行 setColor 重置"
58
+ },
59
+ "disableAlpha": {
60
+ "type": "boolean",
61
+ "default": false,
62
+ "description": "禁用透明度滑块(影响 ColorResult.rgb/hsl/hsv 是否含 a)"
63
+ },
64
+ "presetColors": {
65
+ "type": "string[]",
66
+ "description": "预设色板;传 [] 隐藏(SketchPicker/SwatchesPicker 有效)"
67
+ },
68
+ "width": {
69
+ "type": "string | number",
70
+ "description": "picker 整体宽度"
71
+ }
72
+ },
73
+ "do": [
74
+ "默认 export 为 SketchPicker(功能最完整);需要 Chrome 风格用 ChromePicker,紧凑色板用 CompactPicker,仅色样网格用 SwatchesPicker",
75
+ "高频更新场景(onChange 触发频繁)建议用 onChangeComplete 避免副作用(如 API 调用)被每次拖动触发",
76
+ "需要清除按钮:传 clear={true} + onClear 回调(仅 SketchPicker 支持);onClear 触发时自行 setColor 重置颜色值"
77
+ ],
78
+ "dont": [
79
+ "在移动端使用 SketchPicker / ChromePicker——触摸精度有限,改用 SwatchesPicker(固定色板)",
80
+ "忽略颜色对比度验证——选色后需业务方自行检查 WCAG 对比度",
81
+ "把 onChange 的 color 参数当 string 直接用——实际是 ColorResult 对象,取 hex 值需用 color.hex"
82
+ ],
83
+ "events": {
84
+ "onChange": {
85
+ "signature": "(color: ColorResult, event?: ChangeEvent) => void",
86
+ "asyncSupported": false,
87
+ "examples": [
88
+ "取 hex 值:<SketchPicker onChange={(color) => setHex(color.hex)} />",
89
+ "取 rgba:onChange={(color) => setRgba(`rgba(${color.rgb.r},${color.rgb.g},${color.rgb.b},${color.rgb.a})`)}",
90
+ "高频触发(每次拖动都触发),需要低频回调改用 onChangeComplete"
91
+ ],
92
+ "commonMistakes": [
93
+ "把 color 参数当 string 用——color 是 ColorResult 对象,取 hex 值需 color.hex(含 # 前缀),取 rgb 需 color.rgb.r/g/b",
94
+ "直接把 onChange 当 onChangeComplete 用——onChange 在拖动过程中高频触发,onChangeComplete 仅在鼠标释放时触发",
95
+ "disableAlpha=true 时仍期望 color.rgb.a 有值——禁用透明度后 a 字段可能为 undefined"
96
+ ]
97
+ },
98
+ "onChangeComplete": {
99
+ "signature": "(color: ColorResult, event?: ChangeEvent) => void",
100
+ "asyncSupported": false,
101
+ "examples": [
102
+ "低频保存:<SketchPicker onChangeComplete={(color) => saveColor(color.hex)} />",
103
+ "只在鼠标释放/输入失焦时触发,适合触发 API 调用或状态持久化"
104
+ ],
105
+ "commonMistakes": [
106
+ "把 onChangeComplete 和 onChange 都传,在 onChange 里做副作用——重复触发,只需传一个"
107
+ ]
108
+ },
109
+ "onClear": {
110
+ "signature": "() => void",
111
+ "asyncSupported": false,
112
+ "examples": [
113
+ "仅 SketchPicker 有效:<SketchPicker clear onClear={() => setColor(undefined)} />",
114
+ "onClear 触发时组件不自动清空 color prop,需业务方 setColor 重置"
115
+ ],
116
+ "commonMistakes": [
117
+ "ChromePicker/CompactPicker/SwatchesPicker 传 clear/onClear 无效——这两个 prop 仅 SketchPicker 支持"
118
+ ]
119
+ }
120
+ },
121
+ "typescriptPitfalls": [
122
+ {
123
+ "issue": "onChange 的 color 参数是 ColorResult 对象,不是字符串,直接作为 string 使用会 TS 报错",
124
+ "wrong": "onChange={(color) => setHex(color)} // color 是 ColorResult 对象,不是 string",
125
+ "right": "onChange={(color) => setHex(color.hex)} // 取 hex 字符串"
126
+ },
127
+ {
128
+ "issue": "clear/onClear 仅 SketchPicker(默认 export)支持,传给其他变体无效且 TS 可能报类型错误",
129
+ "wrong": "import { ChromePicker } from '@para-ui/core'; <ChromePicker clear onClear={...} /> // ChromePicker 无这两个 prop",
130
+ "right": "import ColorPicker from '@para-ui/core'; // 默认 export 是 SketchPicker\n<ColorPicker clear onClear={() => setColor(undefined)} />"
131
+ },
132
+ {
133
+ "issue": "presetColors 传 [] 隐藏预设色板,而非传 null/undefined",
134
+ "wrong": "<ColorPicker presetColors={null} /> // TS 类型错误:null 不是 string[]",
135
+ "right": "<ColorPicker presetColors={[]} /> // 传空数组隐藏预设色板区域"
136
+ }
137
+ ],
138
+ "mapping": {
139
+ "realComponent": "ColorPicker",
140
+ "adapter": null
141
+ }
142
+ }