@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,151 @@
1
+ {
2
+ "name": "SingleBox",
3
+ "category": "Data Entry",
4
+ "description": "逐行多值列表输入框(每行一个值,整体以 string[] 数组收集 · 支持自动补全)",
5
+ "semantic": {
6
+ "intent": [
7
+ "多值列表输入(逐行)",
8
+ "标签集合录入",
9
+ "自动补全"
10
+ ],
11
+ "useCases": [
12
+ "多关键词输入(每行一个)",
13
+ "标签批量录入",
14
+ "多值配置项"
15
+ ],
16
+ "riskLevel": "low"
17
+ },
18
+ "variants": {
19
+ "default": {
20
+ "meaning": "默认样式"
21
+ }
22
+ },
23
+ "states": [
24
+ "default",
25
+ "disabled",
26
+ "error"
27
+ ],
28
+ "idealProps": {
29
+ "value": {
30
+ "type": "array",
31
+ "itemType": "string",
32
+ "description": "受控值 string[],与 defaultValue 互斥(必须配合 onChange 同步)。**业务 string 单值桥接**(协议 SB1):`value={s ? [s] : []}`;**value=[] 行为**(协议 SB2):自动渲染一个空 input 行"
33
+ },
34
+ "defaultValue": {
35
+ "type": "array",
36
+ "itemType": "string",
37
+ "description": "非受控默认值,与 value 互斥,仅首次 mount 生效"
38
+ },
39
+ "onChange": {
40
+ "type": "function",
41
+ "signature": "(val: string[]) => void",
42
+ "description": "值变更回调,val 是当前所有行的完整数组快照。**业务 string 单值桥接**(协议 SB1):`(val) => setKeyword(val[0] ?? '')`;**val 永远至少 [''])**(协议 SB3);**disabled+受控**仍需传 onChange(空函数避免 warning)"
43
+ },
44
+ "fetchSuggestions": {
45
+ "type": "function",
46
+ "signature": "(val: string, cb: (data: any[]) => void) => void",
47
+ "description": "自动补全数据源,存在时每行 input 启用联想。cb 数据可为 string[](直接显示)或 {label, value}[](按 label 显示)"
48
+ },
49
+ "size": {
50
+ "type": "enum",
51
+ "values": [
52
+ "small",
53
+ "medium",
54
+ "large"
55
+ ],
56
+ "default": "large",
57
+ "description": "控件大小"
58
+ },
59
+ "disabled": {
60
+ "type": "boolean",
61
+ "default": false,
62
+ "description": "禁用整组输入,可配合 disabledTooltip 解释原因"
63
+ },
64
+ "required": {
65
+ "type": "boolean",
66
+ "default": false,
67
+ "description": "必填(透传到 Label 显示星号)"
68
+ },
69
+ "label": {
70
+ "type": "ReactNode",
71
+ "description": "标题"
72
+ },
73
+ "placeholder": {
74
+ "type": "ReactNode",
75
+ "description": "每行 input 占位"
76
+ },
77
+ "helperText": {
78
+ "type": "ReactNode | ReactNode[]",
79
+ "description": "错误文本,单值=所有行共享;数组=按行下标对应,空串项表示该行无错"
80
+ },
81
+ "disabledTooltip": {
82
+ "type": "TooltipProps",
83
+ "description": "禁用态下添加按钮的 tooltip 配置(仅 disabled=true 时生效)"
84
+ },
85
+ "otherProps": {
86
+ "type": "(index: number, val: string) => TextFieldProps",
87
+ "description": "每行 TextField 的额外 props;index 是行下标(0-based),返回对象展开到该行 TextField"
88
+ }
89
+ },
90
+ "crossPropInteractions": [
91
+ "value=[] / [''] = 渲染一个空 input 行(自动归一化)",
92
+ "业务 string ↔ SingleBox string[] 桥接 = 入站 [s] + 出站 val[0] ?? ''(协议 SB1)",
93
+ "disabled=true = 隐藏添加/删除按钮 + 所有 input 只读;受控仍需传 onChange",
94
+ "helperText[] 按行下标对应 + value[] 行数 = 错误信息可逐行显示",
95
+ "fetchSuggestions + otherProps = 联想 + 按行定制(如某行 maxLength)"
96
+ ],
97
+ "commonMisconceptions": [
98
+ "❌ SingleBox 是单值输入框 — 实际 value 是 string[](多行)",
99
+ "❌ value=[] 不显示输入框 — 自动渲染一个空 input 行",
100
+ "❌ 删除所有行后 onChange 给 [] — 实际最少 [''](组件保留一行)",
101
+ "❌ disabled+受控可省略 onChange — 仍需传(空函数)避免 React warning",
102
+ "❌ 业务 string 直接传 value — 必须 [s] 包装,onChange 取 val[0]"
103
+ ],
104
+ "do": [
105
+ "支持自动完成",
106
+ "提供建议列表",
107
+ "业务单值场景用 [s] 包装 value + (val) => val[0] ?? '' 出站桥接"
108
+ ],
109
+ "dont": [
110
+ "建议列表过长",
111
+ "忽略去重",
112
+ "把 SingleBox 当单值 TextField 用(它是多值列表,建议用 TextField)"
113
+ ],
114
+ "events": {
115
+ "onChange": {
116
+ "signature": "(val: string[]) => void",
117
+ "asyncSupported": false,
118
+ "examples": [
119
+ "val 是所有行当前值的完整数组快照,如 ['keyword1', 'keyword2', '']",
120
+ "业务单值桥接:onChange={(val) => setSingleKeyword(val[0] ?? '')}",
121
+ "删除最后一行后 val 仍是 [''](保留至少一行空 input)"
122
+ ],
123
+ "commonMistakes": [
124
+ "期望删除所有行后 onChange 返回 [] ——组件保留最少一行,val 永远是 [''] 或更多",
125
+ "disabled+受控时省略 onChange——仍需传(可传空函数)否则 React 报 prop 变化 warning",
126
+ "业务 string 直接传 value——必须 [s] 包装,onChange 取 val[0] ?? ''"
127
+ ]
128
+ }
129
+ },
130
+ "typescriptPitfalls": [
131
+ {
132
+ "issue": "value 类型是 string[],传单个 string 报 TS 类型不兼容",
133
+ "wrong": "value={keyword} // keyword: string,TS 报不兼容 string[]",
134
+ "right": "value={keyword ? [keyword] : ['']} // 桥接:string → string[]"
135
+ },
136
+ {
137
+ "issue": "helperText 传数组时数组下标必须与 value 数组行数对齐",
138
+ "wrong": "value={['a','b']} helperText={['err0']} // 仅第 0 行报错,第 1 行错误无文案但不会静默",
139
+ "right": "value={['a','b']} helperText={['err0', 'err1']} // 按行下标一一对应"
140
+ },
141
+ {
142
+ "issue": "otherProps 函数需要返回完整 TextFieldProps 对象,类型不对会扩散到每行 TextField",
143
+ "wrong": "otherProps={(i) => i === 0 ? { maxLength: 10 } : null} // null 不满足 TextFieldProps",
144
+ "right": "otherProps={(i) => i === 0 ? { maxLength: 10 } : {}} // 非目标行返回空对象"
145
+ }
146
+ ],
147
+ "mapping": {
148
+ "realComponent": "SingleBox",
149
+ "adapter": null
150
+ }
151
+ }
@@ -0,0 +1,181 @@
1
+ {
2
+ "name": "Slider",
3
+ "category": "Data Entry",
4
+ "description": "滑动输入条,用于在给定范围内选择一个值或范围",
5
+ "semantic": {
6
+ "intent": [
7
+ "数值调节",
8
+ "范围选择",
9
+ "模糊输入"
10
+ ],
11
+ "useCases": [
12
+ "音量调节",
13
+ "价格筛选",
14
+ "亮度调整"
15
+ ],
16
+ "riskLevel": "low"
17
+ },
18
+ "variants": {
19
+ "default": {
20
+ "meaning": "单滑块"
21
+ },
22
+ "range": {
23
+ "meaning": "双滑块范围选择"
24
+ }
25
+ },
26
+ "states": [
27
+ "default",
28
+ "disabled"
29
+ ],
30
+ "idealProps": {
31
+ "value": {
32
+ "type": "number | number[]",
33
+ "description": "当前取值;range 模式下传 [min, max] 数组"
34
+ },
35
+ "defaultValue": {
36
+ "type": "number | number[]",
37
+ "description": "默认取值"
38
+ },
39
+ "min": {
40
+ "type": "number",
41
+ "default": 0,
42
+ "description": "最小值"
43
+ },
44
+ "max": {
45
+ "type": "number",
46
+ "default": 100,
47
+ "description": "最大值"
48
+ },
49
+ "step": {
50
+ "type": "number",
51
+ "default": 1,
52
+ "description": "步长"
53
+ },
54
+ "range": {
55
+ "type": "boolean | { draggableTrack?: boolean }",
56
+ "description": "双滑块模式(核心 prop);传 true 时 value 变为 [min, max] 数组;传 { draggableTrack: true } 时允许拖拽整段轨道",
57
+ "default": false,
58
+ "required": false
59
+ },
60
+ "vertical": {
61
+ "type": "boolean",
62
+ "description": "垂直方向",
63
+ "default": false,
64
+ "required": false
65
+ },
66
+ "dots": {
67
+ "type": "boolean",
68
+ "description": "是否只能拖拽到刻度上(配合 marks 使用)",
69
+ "default": false,
70
+ "required": false
71
+ },
72
+ "tipFormatter": {
73
+ "type": "function",
74
+ "signature": "(value: number) => ReactNode | null",
75
+ "description": "格式化 Tooltip 显示;传 null 隐藏 Tooltip",
76
+ "required": false
77
+ },
78
+ "onAfterChange": {
79
+ "type": "function",
80
+ "signature": "(value: number | number[]) => void",
81
+ "description": "mouseup 时触发;与 onChange 区别:onChange 是拖拽过程中实时触发,onAfterChange 仅在释放后触发一次",
82
+ "required": false
83
+ },
84
+ "onChange": {
85
+ "type": "function",
86
+ "signature": "(value: number | number[]) => void",
87
+ "description": "值改变回调(拖拽过程实时触发);range 模式下 value 是 [min, max] 数组"
88
+ },
89
+ "disabled": {
90
+ "type": "boolean",
91
+ "default": false,
92
+ "description": "是否禁用"
93
+ },
94
+ "marks": {
95
+ "type": "object",
96
+ "objectShape": {
97
+ "[number]": { "type": "string | ReactNode", "description": "刻度值 → 显示标签,例:{ 0: '0°C', 26: '26°C', 100: '100°C' }" }
98
+ },
99
+ "completeExample": "{ 0: '0°C', 26: '26°C', 37: '37°C', 100: { style: { color: '#f50' }, label: <strong>100°C</strong> } }",
100
+ "description": "刻度标记"
101
+ },
102
+ "tooltipVisible": {
103
+ "type": "boolean",
104
+ "description": "Tooltip 是否可见"
105
+ },
106
+ "tooltipPlacement": {
107
+ "type": "enum",
108
+ "values": [
109
+ "top",
110
+ "bottom",
111
+ "left",
112
+ "right",
113
+ "topLeft",
114
+ "topRight",
115
+ "bottomLeft",
116
+ "bottomRight"
117
+ ],
118
+ "default": "top",
119
+ "description": "Tooltip 位置"
120
+ }
121
+ },
122
+ "do": [
123
+ "在需要快速调节数值且对精度要求不高时使用",
124
+ "使用 marks 辅助用户定位常用值(配合 dots=true 让用户只能拖到刻度位置)",
125
+ "受控用法:value + onChange 实现受控;range 模式 value 必须是 number[] 数组([min, max])",
126
+ "高精度场景搭配 InputNumber:onChange 实时同步到 InputNumber,onAfterChange 仅在释放后更新"
127
+ ],
128
+ "dont": [
129
+ "在需要极高精度输入的场景单纯依赖 Slider(应配合 InputNumber)",
130
+ "范围极小(如 0-1)时使用 Slider——步长精度和 UI 交互体验差",
131
+ "range 模式 value 传单 number 而非 number[]——会导致 rc-slider 报 PropTypes warning 并功能异常"
132
+ ],
133
+ "events": {
134
+ "onChange": {
135
+ "signature": "(value: number | number[]) => void",
136
+ "asyncSupported": false,
137
+ "examples": [
138
+ "单滑块:onChange={(val) => setVolume(val as number)}",
139
+ "范围滑块(range=true):onChange={(val) => setRange(val as number[])}",
140
+ "拖拽过程中实时触发,高频触发时应注意性能(可用 onAfterChange 替代)"
141
+ ],
142
+ "commonMistakes": [
143
+ "range 模式期望 value 是单 number——range=true 时 value 始终是 number[2]",
144
+ "混淆 onChange 和 onAfterChange——onChange 拖拽过程高频触发,onAfterChange 仅 mouseup 时触发一次",
145
+ "tipFormatter 传 null 后期望 onChange 仍提供 tooltip 展示——null 表示完全隐藏 tooltip"
146
+ ]
147
+ },
148
+ "onAfterChange": {
149
+ "signature": "(value: number | number[]) => void",
150
+ "asyncSupported": false,
151
+ "examples": [
152
+ "用户释放滑块时触发一次,适合触发网络请求或昂贵计算",
153
+ "range 模式:value 是 [min, max] 数组"
154
+ ],
155
+ "commonMistakes": [
156
+ "期望 onAfterChange 在拖拽过程中实时触发——只有 mouseup 时才触发,拖拽中用 onChange"
157
+ ]
158
+ }
159
+ },
160
+ "typescriptPitfalls": [
161
+ {
162
+ "issue": "range 模式 value/onChange 类型是 number[],非 range 模式是 number,混用报 TS 错",
163
+ "wrong": "range value={50} onChange={(v) => setVal(v)} // range=true 时 v 是 number[],赋给 number 报错",
164
+ "right": "range value={[20, 80]} onChange={(v) => setRange(v as number[])} // range=true 显式 as number[]"
165
+ },
166
+ {
167
+ "issue": "SliderSingleProps 和 SliderRangeProps 是 union 类型,直接展开 props 时 TS 可能报不兼容",
168
+ "wrong": "const sliderProps: SliderSingleProps = { range: true, value: [0,50] } // range=true 应用 SliderRangeProps",
169
+ "right": "const sliderProps: SliderRangeProps = { range: true, value: [0, 50], onChange: (v) => setRange(v) }"
170
+ },
171
+ {
172
+ "issue": "tipFormatter 传 null 和不传的行为不同",
173
+ "wrong": "tipFormatter={null} // 期望默认格式化显示——null 表示完全隐藏 tooltip",
174
+ "right": "tipFormatter={undefined} // 不传或 undefined 使用内置 toString 格式化;null 隐藏 tooltip"
175
+ }
176
+ ],
177
+ "mapping": {
178
+ "realComponent": "Slider",
179
+ "adapter": null
180
+ }
181
+ }
@@ -0,0 +1,108 @@
1
+ {
2
+ "name": "SortBox",
3
+ "category": "Data Entry",
4
+ "description": "排序盒子,支持拖拽排序;每行内置 Drag 图标作为拖拽 handle",
5
+ "semantic": {
6
+ "intent": [
7
+ "拖拽排序",
8
+ "列表排序"
9
+ ],
10
+ "useCases": [
11
+ "自定义排序",
12
+ "优先级调整",
13
+ "列表管理",
14
+ "待办排序"
15
+ ],
16
+ "riskLevel": "low"
17
+ },
18
+ "variants": {
19
+ "border": {
20
+ "meaning": "边框样式;每行细边框"
21
+ },
22
+ "none": {
23
+ "meaning": "无样式;清爽布局无边框无背景"
24
+ },
25
+ "fill": {
26
+ "meaning": "填充样式(默认);每行带填充背景"
27
+ }
28
+ },
29
+ "states": [
30
+ "default",
31
+ "dragging"
32
+ ],
33
+ "idealProps": {
34
+ "list": {
35
+ "type": "SortBoxListItemProps[]",
36
+ "itemSchema": {
37
+ "render": { "type": "ReactNode", "description": "该行渲染内容(任意 ReactNode,组件内部加 left padding 视觉)" },
38
+ "id": { "type": "string | number", "description": "建议显式提供,用于 react-sortablejs key 唯一;未提供时 fallback 到数组 index" }
39
+ },
40
+ "description": "排序列表数据;SortBoxListItemProps 是开放接口(src/SortBox/index.tsx:13 已 export):render?: ReactNode(该行渲染内容) + 任意扩展字段 [name]: unknown(挂业务模型,如 _todo / _card);id 字段建议显式提供(string|number),未提供时 src handleList line 82-84 用 array index fallback"
41
+ },
42
+ "onSort": {
43
+ "type": "function",
44
+ "signature": "(list: SortBoxListItemProps[]) => void",
45
+ "description": "排序变化回调;⚠️ list 参数 = 【排序后的完整数组】,不是 sort 映射对象 / 不是 diff;src/SortBox/index.tsx:78 实证。业务侧从 list 项的扩展字段(如 _todo)取回业务模型透传父组件"
46
+ },
47
+ "type": {
48
+ "type": "'border' | 'none' | 'fill'",
49
+ "values": ["border", "none", "fill"],
50
+ "default": "'fill'",
51
+ "description": "视觉类型;fill 填充背景 / border 细边框 / none 无视觉装饰"
52
+ },
53
+ "marginBottom": {
54
+ "type": "string",
55
+ "default": "'10px'",
56
+ "description": "相邻 sort-item 之间下边距;CSS 单位字符串"
57
+ }
58
+ },
59
+ "do": [
60
+ "把业务模型挂在 SortBoxListItemProps 扩展字段(如 _todo / _card),onSort 回调中取回",
61
+ "显式提供 id 字段(string|number,保证 react-sortablejs key 唯一)",
62
+ "render 字段装载该行 UI(任意 ReactNode,组件内部加 left padding 视觉)",
63
+ "保存用户排序结果(直接保存 nextList 排序或映射回业务 id 列表)"
64
+ ],
65
+ "dont": [
66
+ "**不要把 onSort 参数当 sort 映射对象用** — 它是排序后的完整数组",
67
+ "列表项过多(> 100)时性能差(react-sortablejs 限制)",
68
+ "拖拽 handle 是固定的 .sort-icon 右侧 Drag 图标 — 不要自己实现拖拽逻辑",
69
+ "不要在 render 内放复杂表单组件(拖拽冲突)"
70
+ ],
71
+ "events": {
72
+ "onSort": {
73
+ "signature": "(list: SortBoxListItemProps[]) => void",
74
+ "asyncSupported": false,
75
+ "examples": [
76
+ "排序结束后触发,list 是排序后的完整数组(新顺序)",
77
+ "取业务 id 列表:onSort={(newList) => setOrderIds(newList.map(it => it._id))}",
78
+ "替换父组件 state:onSort={(newList) => setItems(newList)}"
79
+ ],
80
+ "commonMistakes": [
81
+ "把 list 参数当 diff/映射对象用——它是排序后的完整数组,不是变更集合",
82
+ "不传 onSort 时期望 SortBox 自己维护顺序——SortBox 是受控组件,必须在 onSort 里更新外部 list state",
83
+ "忘记显式提供 list 项的 id 字段——不提供时 fallback 到 index,拖拽后 React key 可能冲突"
84
+ ]
85
+ }
86
+ },
87
+ "typescriptPitfalls": [
88
+ {
89
+ "issue": "SortBoxListItemProps 索引签名允许任意字段,但 render 字段是 ReactNode 不是 string",
90
+ "wrong": "list={[{ render: 'plain text', id: 1 }]} // render 是 ReactNode,但 TS 接受 string(因为 ReactNode 包含 string)",
91
+ "right": "list={[{ render: <span>内容</span>, id: 1 }]} // 推荐传 ReactNode 而非纯字符串"
92
+ },
93
+ {
94
+ "issue": "onSort 返回的 list 是同一个数组(splice 就地修改后复制),直接赋给受控 list 可能引发渲染问题",
95
+ "wrong": "onSort={(newList) => setList(newList)} // newList 是就地修改后的扩展数组",
96
+ "right": "onSort={(newList) => setList([...newList])} // 解构保证新引用触发重渲"
97
+ },
98
+ {
99
+ "issue": "SortBoxProps 的 list 类型是 SortBoxListItemProps[],扩展字段类型是 unknown",
100
+ "wrong": "onSort={(newList) => console.log(newList[0].myField.name)} // unknown 类型,.name 报错",
101
+ "right": "onSort={(newList) => { const item = newList[0] as MyItem; console.log(item.myField.name); }}"
102
+ }
103
+ ],
104
+ "mapping": {
105
+ "realComponent": "SortBox",
106
+ "adapter": null
107
+ }
108
+ }
@@ -0,0 +1,104 @@
1
+ {
2
+ "name": "Status",
3
+ "category": "Data Display",
4
+ "description": "状态标签,用于展示状态信息",
5
+ "semantic": {
6
+ "intent": [
7
+ "状态展示",
8
+ "信息标记"
9
+ ],
10
+ "useCases": [
11
+ "任务状态",
12
+ "审批状态",
13
+ "系统状态"
14
+ ],
15
+ "riskLevel": "low"
16
+ },
17
+ "variants": {
18
+ "info": {
19
+ "meaning": "信息"
20
+ },
21
+ "success": {
22
+ "meaning": "成功"
23
+ },
24
+ "warning": {
25
+ "meaning": "警告"
26
+ },
27
+ "error": {
28
+ "meaning": "错误"
29
+ },
30
+ "completed": {
31
+ "meaning": "完成"
32
+ }
33
+ },
34
+ "states": [
35
+ "default"
36
+ ],
37
+ "idealProps": {
38
+ "status": {
39
+ "type": "enum",
40
+ "values": [
41
+ "info",
42
+ "success",
43
+ "warning",
44
+ "error",
45
+ "completed"
46
+ ],
47
+ "default": "info",
48
+ "description": "状态"
49
+ },
50
+ "text": {
51
+ "type": "ReactNode",
52
+ "description": "文本"
53
+ },
54
+ "icon": {
55
+ "type": "ReactNode | 'success' | 'error'",
56
+ "description": "自定义状态图标(src/Status/index.tsx:23 实证:`ReactNode | iconType`,iconType = 'success' | 'error'——传字符串 'success'/'error' 时渲染内置 SVG 图标,传 ReactNode 时直接渲染;**icon 存在时 status 样式类不生效**,src:37 `status && !icon && ...` 实证)"
57
+ },
58
+ "color": {
59
+ "type": "string",
60
+ "description": "自定义状态圆点颜色(src/Status/index.tsx:29,67-73 实证)。⚠️ **仅在未传 icon 时生效**(默认圆点模式):传任意合法 CSS 颜色值(hex/rgb/色名),渲染为原色实心圆点 + 0.1 alpha 光晕背景;不传时由 status 对应预设 CSS 类控制颜色"
61
+ },
62
+ "className": {
63
+ "type": "string",
64
+ "description": "自定义类名(src/Status/index.tsx:25 interface 声明,透传到根 span 元素)"
65
+ },
66
+ "style": {
67
+ "type": "React.CSSProperties",
68
+ "description": "自定义样式(src/Status/index.tsx:27 interface 声明,透传到根 span 元素)"
69
+ }
70
+ },
71
+ "do": [
72
+ "使用语义化的颜色(info/success/warning/error/completed 对应不同预设圆点颜色)",
73
+ "保持状态文案简短(status-text 无宽度限制,过长影响布局)",
74
+ "自定义颜色时用 color prop 传 CSS 色值(hex/rgb/名称)——组件自动生成 0.1 alpha 光晕背景",
75
+ "需要图标型 Status 时传 icon='success' 或 icon='error' 使用内置 SVG;传 ReactNode 显示自定义图标"
76
+ ],
77
+ "dont": [
78
+ "状态颜色混乱(不同语义用了相同颜色导致用户混淆)",
79
+ "**不要同时传 icon 和 status**——icon 存在时 status 对应的 CSS 样式类不追加(src:37 实证 `status && !icon`),两者视觉上会冲突",
80
+ "不要把 icon 传 'warning'/'info'/'completed' 字符串——内置 icon 只有 'success' 和 'error' 两种,传其他字符串渲染 null"
81
+ ],
82
+ "events": {},
83
+ "typescriptPitfalls": [
84
+ {
85
+ "issue": "icon prop 类型是 ReactNode | 'success' | 'error',传其他字符串(如 'warning')TS 可能不报错但运行时渲染 null",
86
+ "wrong": "icon='warning' // 字符串不在 iconType 枚举内,switch 走 default 分支返回 null",
87
+ "right": "icon={<WarningIcon />} // 传 ReactNode;内置字符串仅 'success' | 'error'"
88
+ },
89
+ {
90
+ "issue": "status 和 icon 同时传时 status 样式类不生效(src:37 条件 `status && !icon`)",
91
+ "wrong": "<Status status='error' icon={<CustomIcon />} /> // 期望 error 颜色,实际 status class 未追加",
92
+ "right": "<Status icon={<CustomIcon />} /> // 纯自定义图标时只传 icon;需要预设色时只传 status"
93
+ },
94
+ {
95
+ "issue": "color prop 仅在未传 icon 时生效(圆点模式),传 icon 后 color 无视觉效果",
96
+ "wrong": "<Status icon='success' color='#ff0000' /> // 图标模式 color 不影响图标颜色",
97
+ "right": "<Status status='error' color='#ff0000' /> // color 在圆点模式(无 icon)下生效"
98
+ }
99
+ ],
100
+ "mapping": {
101
+ "realComponent": "Status",
102
+ "adapter": null
103
+ }
104
+ }