@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
@@ -91,8 +91,8 @@ export interface TextFieldProps extends HelperTextDetailProps {
91
91
  onSelect?: (item: Record<string, unknown>) => void;
92
92
  /** name */
93
93
  name?: string;
94
- /** autocomplete */
95
- autocomplete?: string;
94
+ /** 浏览器自动填充控制;React 要求 camelCase,对应 HTML autocomplete 属性 */
95
+ autoComplete?: string;
96
96
  }
97
97
  export declare const TextField: FunctionComponent<TextFieldProps>;
98
98
  export default TextField;
@@ -1,7 +1,7 @@
1
1
  import { j as n } from "../_virtual/jsx-runtime.js";
2
2
  import { useState as f, useRef as $e, useEffect as g, useMemo as y } from "react";
3
3
  import We from "../Label/index.js";
4
- import { UUID as Qe } from "@paraview/lib";
4
+ import { UUID as Qe } from "@snack-kit/lib";
5
5
  import { PreviewClose as Xe } from "../node_modules/@para-ui/icons/PreviewClose/index.js";
6
6
  import { PreviewOpen as Ye } from "../node_modules/@para-ui/icons/PreviewOpen/index.js";
7
7
  import { CloseCircleF as Ze } from "../node_modules/@para-ui/icons/CloseCircleF/index.js";
@@ -0,0 +1,176 @@
1
+ {
2
+ "name": "TimePicker",
3
+ "category": "Data Entry",
4
+ "description": "时间选择器,基于 DatePicker 封装,支持单时间选择与范围选择(RangePicker)",
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
+ "range": {
22
+ "meaning": "时间范围选择——用 TimePicker.RangePicker 或 TimePicker.TimeRangePicker(两者等价)"
23
+ }
24
+ },
25
+ "states": [
26
+ "default",
27
+ "disabled",
28
+ "error"
29
+ ],
30
+ "idealProps": {
31
+ "value": {
32
+ "type": "Dayjs | null",
33
+ "description": "受控时间值(Dayjs 对象);清空时传 null;与 onChange 配套使用"
34
+ },
35
+ "defaultValue": {
36
+ "type": "Dayjs",
37
+ "description": "非受控默认时间值;受控模式只传 value + onChange"
38
+ },
39
+ "format": {
40
+ "type": "string",
41
+ "default": "HH:mm:ss",
42
+ "description": "展示的时间格式,支持 'HH:mm' / 'HH:mm:ss' / 'hh:mm a'(12小时制)等"
43
+ },
44
+ "onChange": {
45
+ "type": "function",
46
+ "signature": "(time: Dayjs | null, timeString: string) => void",
47
+ "description": "时间发生变化的回调;清空时 time=null,timeString='';来自 rc-picker 继承"
48
+ },
49
+ "disabled": {
50
+ "type": "boolean",
51
+ "default": false,
52
+ "description": "是否禁用"
53
+ },
54
+ "disabledTooltip": {
55
+ "type": "TooltipProps",
56
+ "description": "禁用状态下的 Tooltip 配置(src/TimePicker/index.tsx:35);disabled=true 时触发 Tooltip 包裹",
57
+ "required": false
58
+ },
59
+ "placeholder": {
60
+ "type": "string",
61
+ "description": "输入框占位提示"
62
+ },
63
+ "use12Hours": {
64
+ "type": "boolean",
65
+ "default": false,
66
+ "description": "使用 12 小时制,开启时 format 建议配置为 'hh:mm a'"
67
+ },
68
+ "allowClear": {
69
+ "type": "boolean",
70
+ "default": true,
71
+ "description": "是否展示清除按钮(与 DatePicker 共享同一实现,默认 true)",
72
+ "required": false
73
+ },
74
+ "open": {
75
+ "type": "boolean",
76
+ "description": "受控控制面板是否打开",
77
+ "required": false
78
+ },
79
+ "onOpenChange": {
80
+ "type": "function",
81
+ "signature": "(open: boolean) => void",
82
+ "description": "面板打开/关闭回调",
83
+ "required": false
84
+ },
85
+ "disabledHours": {
86
+ "type": "function",
87
+ "signature": "() => number[]",
88
+ "description": "返回禁止选择的小时数组,例:() => [0,1,2,3] 禁止凌晨时段",
89
+ "required": false
90
+ },
91
+ "disabledMinutes": {
92
+ "type": "function",
93
+ "signature": "(selectedHour: number) => number[]",
94
+ "description": "返回禁止选择的分钟数组(依赖已选小时动态计算)",
95
+ "required": false
96
+ },
97
+ "disabledSeconds": {
98
+ "type": "function",
99
+ "signature": "(selectedHour: number, selectedMinute: number) => number[]",
100
+ "description": "返回禁止选择的秒数组",
101
+ "required": false
102
+ },
103
+ "showNow": {
104
+ "type": "boolean",
105
+ "description": "是否显示「此刻」快捷按钮",
106
+ "required": false
107
+ },
108
+ "addon": {
109
+ "type": "function",
110
+ "signature": "() => React.ReactNode",
111
+ "description": "面板底部额外内容(等价于 renderExtraFooter,优先级低于 renderExtraFooter);src/TimePicker/index.tsx:41-48",
112
+ "required": false
113
+ }
114
+ },
115
+ "do": [
116
+ "受控模式:传 value(Dayjs | null)+ onChange;清空时用 null 而不是空字符串",
117
+ "范围选择用 TimePicker.RangePicker(与 TimePicker.TimeRangePicker 等价)",
118
+ "禁用特定时间段用 disabledHours / disabledMinutes / disabledSeconds 组合",
119
+ "use12Hours=true 时同步设置 format='hh:mm a' 以保持展示一致",
120
+ "disabled=true 时可配合 disabledTooltip 提供操作权限提示"
121
+ ],
122
+ "dont": [
123
+ "在需要选时间段的场景使用两个 TimePicker——应用 TimePicker.RangePicker",
124
+ "传字符串给 value——value 必须是 Dayjs 对象或 null(非字符串)",
125
+ "忽略清空场景:onChange(null, '') 表示清空,直接存 time 会把 null 存入 state",
126
+ "rc-* 库 strict 校验可能报告额外 prop(已知边缘情况,非 metadata 错误)"
127
+ ],
128
+ "events": {
129
+ "onChange": {
130
+ "signature": "(time: Dayjs | null, timeString: string) => void",
131
+ "asyncSupported": false,
132
+ "examples": [
133
+ "时间选中时:time 为 Dayjs 对象,timeString 为 format 格式化字符串(如 '14:30:00')",
134
+ "清空时:time=null,timeString=''——需判断 null 避免存入 state",
135
+ "受控模式更新:onChange={(t) => setValue(t)} 同步更新 state"
136
+ ],
137
+ "commonMistakes": [
138
+ "只用 timeString 而忽略 time——timeString 是字符串,跨时区转换需用 Dayjs 对象",
139
+ "不处理 null:allowClear=true 用户点叉触发 onChange(null, ''),直接 setValue(time) 会存入 null",
140
+ "RangePicker 的 onChange 签名不同:(times: [Dayjs,Dayjs]|null, timeStrings:[string,string]) => void"
141
+ ]
142
+ },
143
+ "onOpenChange": {
144
+ "signature": "(open: boolean) => void",
145
+ "asyncSupported": false,
146
+ "examples": [
147
+ "面板弹出时触发 onOpenChange(true),关闭时触发 onOpenChange(false)",
148
+ "搭配 open 受控 prop 实现弹层自定义开关"
149
+ ],
150
+ "commonMistakes": [
151
+ "在 onOpenChange(false) 中提交表单——面板关闭不代表值已更新(需用 onChange 确认)"
152
+ ]
153
+ }
154
+ },
155
+ "typescriptPitfalls": [
156
+ {
157
+ "issue": "TimePicker value 必须是 Dayjs 对象,传字符串会导致展示异常",
158
+ "wrong": "value={'14:30:00'} // 字符串不是 Dayjs,内部格式化失败",
159
+ "right": "value={dayjs('14:30:00', 'HH:mm:ss')} // 用 dayjs() 转换;清空用 null"
160
+ },
161
+ {
162
+ "issue": "RangePicker 与 TimePicker 的 onChange 签名不同,混用导致类型错误",
163
+ "wrong": "// TimePicker.RangePicker 中用单时间签名\n<TimePicker.RangePicker onChange={(time: Dayjs) => ...} />",
164
+ "right": "<TimePicker.RangePicker onChange={(times: [Dayjs,Dayjs]|null, strs: [string,string]) => ...} />"
165
+ },
166
+ {
167
+ "issue": "rc-* 继承 prop(PickerTimeProps)在 strict 模式下可能报告未对齐,属已知边缘情况",
168
+ "wrong": "// 假设 strict 校验失败说明 metadata 写错——TimePicker/Tree 的 rc-* 继承是已知例外",
169
+ "right": "// strict 失败是已知情况;确认源码 prop 存在即可,不需要删除真实 prop"
170
+ }
171
+ ],
172
+ "mapping": {
173
+ "realComponent": "TimePicker",
174
+ "adapter": null
175
+ }
176
+ }
@@ -0,0 +1,110 @@
1
+ {
2
+ "name": "Timeline",
3
+ "category": "Data Display",
4
+ "description": "时间轴,垂直展示的时间流信息,支持正序/倒序与多种节点样式",
5
+ "semantic": {
6
+ "intent": [
7
+ "展示历史",
8
+ "流程跟踪",
9
+ "时间顺序"
10
+ ],
11
+ "useCases": [
12
+ "版本日志",
13
+ "物流详情",
14
+ "审批流程"
15
+ ],
16
+ "riskLevel": "low"
17
+ },
18
+ "variants": {
19
+ "default": {
20
+ "meaning": "左侧时间轴"
21
+ },
22
+ "right": {
23
+ "meaning": "右侧时间轴"
24
+ },
25
+ "alternate": {
26
+ "meaning": "交替时间轴"
27
+ },
28
+ "double": {
29
+ "meaning": "双侧时间轴(label 在左侧,内容在右侧)"
30
+ }
31
+ },
32
+ "states": [
33
+ "default",
34
+ "pending",
35
+ "disabled"
36
+ ],
37
+ "idealProps": {
38
+ "data": {
39
+ "type": "TimelineItemProps[]",
40
+ "description": "数据驱动模式(推荐):传入节点数组,组件内部自动渲染所有 TimelineItem;与 children JSX 方式二选一,data 优先(src/Timeline/index.tsx:118 renderItems 先判断 data?.length)",
41
+ "itemSchema": {
42
+ "content": { "type": "ReactNode", "description": "节点主体内容" },
43
+ "dotIcon": { "type": "ReactNode", "description": "自定义节点图标(对应 Timeline.Item 的 dot prop)" },
44
+ "label": { "type": "ReactNode", "description": "节点标签(仅 mode='double' 时在左侧显示)" },
45
+ "disabled": { "type": "boolean", "description": "是否禁用该节点(灰色样式)" },
46
+ "className": { "type": "string", "description": "自定义节点 className" }
47
+ }
48
+ },
49
+ "mode": {
50
+ "type": "enum",
51
+ "values": ["left", "alternate", "right", "double"],
52
+ "default": "left",
53
+ "description": "时间轴和内容的相对位置。⚠️ align prop 与 mode 同义(alias),同时传时 align 优先(src:50 `innerMode = align ?? mode`)"
54
+ },
55
+ "align": {
56
+ "type": "enum",
57
+ "values": ["left", "alternate", "right", "double"],
58
+ "description": "与 mode 同义,优先级高于 mode(src/Timeline/index.tsx:50);不建议同时传 mode 和 align"
59
+ },
60
+ "reverse": {
61
+ "type": "boolean",
62
+ "default": false,
63
+ "description": "节点排序取反(最新节点排最后变最前)"
64
+ },
65
+ "pending": {
66
+ "type": "ReactNode | boolean",
67
+ "default": null,
68
+ "description": "最后一个幽灵节点内容,传 true 显示空幽灵节点,传 ReactNode 显示自定义内容(物流'配送中'等场景)"
69
+ },
70
+ "pendingDot": {
71
+ "type": "ReactNode",
72
+ "description": "幽灵节点的时间轴点图标,配合 pending 使用"
73
+ }
74
+ },
75
+ "do": [
76
+ "优先使用 data 数组 prop(而非 JSX children)批量渲染节点,减少模板代码",
77
+ "使用 dotIcon / color 区分节点状态(绿色=成功、红色=失败、蓝色=进行中)",
78
+ "正在进行中的事项用 pending 幽灵节点展示(末尾加载动画语义)",
79
+ "需要展示日期标签时使用 mode='double' + item.label",
80
+ "最近的时间点通常排在最前面(配合 reverse=true 或数据倒序)"
81
+ ],
82
+ "dont": [
83
+ "在水平空间受限的区域使用 mode='alternate'——两侧都有内容需要足够宽度",
84
+ "不要同时传 mode 和 align——align 会覆盖 mode(src 实证)",
85
+ "节点内容过于复杂(嵌套 Table/Form 等)——Timeline 适合轻量文本+状态展示",
86
+ "不要依赖 items prop(当前 idealProps 是 data 不是 items——antd 命名差异)"
87
+ ],
88
+ "events": {},
89
+ "typescriptPitfalls": [
90
+ {
91
+ "issue": "data 数组中 dot/icon 字段名是 dotIcon 不是 dot",
92
+ "wrong": "data={[{ content: '已发货', dot: <Icon /> }]} // dot 在 data 数组中无效",
93
+ "right": "data={[{ content: '已发货', dotIcon: <Icon /> }]} // data 模式用 dotIcon;JSX 模式 <Timeline.Item dot={...}>"
94
+ },
95
+ {
96
+ "issue": "mode 和 align 同时传时 align 优先,mode 被忽略",
97
+ "wrong": "<Timeline mode='alternate' align='left'> // align='left' 覆盖 mode='alternate'",
98
+ "right": "// 只传其中一个\n<Timeline mode='alternate'> // 或 <Timeline align='left'>"
99
+ },
100
+ {
101
+ "issue": "TimelineItemProps 的 label 只在 mode='double' 时显示,其他模式传了也不渲染",
102
+ "wrong": "// mode='left' 下传 label 期望显示时间\ndata={[{ content: '审批通过', label: '2024-01-01' }]} // label 不会渲染",
103
+ "right": "// 需要显示 label 必须同时设置 mode='double'\n<Timeline mode='double' data={[{ content: '审批通过', label: '2024-01-01' }]} />"
104
+ }
105
+ ],
106
+ "mapping": {
107
+ "realComponent": "Timeline",
108
+ "adapter": null
109
+ }
110
+ }
@@ -0,0 +1,156 @@
1
+ {
2
+ "name": "Title",
3
+ "category": "Data Display",
4
+ "description": "区块标题组件,支持图标、副标题、帮助提示、链接和可折叠内容区",
5
+ "semantic": {
6
+ "intent": [
7
+ "标题展示",
8
+ "区块标识",
9
+ "内容折叠"
10
+ ],
11
+ "useCases": [
12
+ "卡片标题",
13
+ "模块标题",
14
+ "页面标题",
15
+ "带折叠的配置区"
16
+ ],
17
+ "riskLevel": "low"
18
+ },
19
+ "variants": {
20
+ "default": {
21
+ "meaning": "默认无图标样式(显示左侧竖线 ink 装饰)"
22
+ },
23
+ "withIcon": {
24
+ "meaning": "带图标样式(传 icon prop 后替换左侧竖线,size 生效)"
25
+ },
26
+ "collapsible": {
27
+ "meaning": "可折叠样式(传 collapseContent 或 children 后变为可展开/折叠区)"
28
+ }
29
+ },
30
+ "states": [
31
+ "default",
32
+ "collapsed",
33
+ "expanded"
34
+ ],
35
+ "idealProps": {
36
+ "title": {
37
+ "type": "ReactNode",
38
+ "description": "主标题文字,必须传",
39
+ "required": true
40
+ },
41
+ "subTitle": {
42
+ "type": "ReactNode",
43
+ "description": "副标题(显示在主标题右侧,支持超长 AutoTips 截断)"
44
+ },
45
+ "icon": {
46
+ "type": "ReactNode",
47
+ "description": "自定义图标(显示在标题左侧,替换默认竖线装饰;传入时 size prop 生效)"
48
+ },
49
+ "collapseContent": {
50
+ "type": "ReactNode",
51
+ "description": "可折叠内容区,传入后标题右侧显示展开/折叠箭头;与 children 二选一(children 优先级高于 collapseContent)"
52
+ },
53
+ "titleTooltip": {
54
+ "type": "ReactNode",
55
+ "description": "标题旁的帮助提示内容,显示 ? 图标,hover 展示内容",
56
+ "required": false
57
+ },
58
+ "titoleTooltipIcon": {
59
+ "type": "ReactNode",
60
+ "description": "⚠️ typo:prop 名是 titoleTooltipIcon(原码如此),自定义帮助提示图标节点",
61
+ "required": false
62
+ },
63
+ "link": {
64
+ "type": "{ href: string; text: ReactNode; target?: string; onClick?: React.MouseEventHandler<HTMLElement> }",
65
+ "description": "渲染在标题旁的链接",
66
+ "objectShape": {
67
+ "href": { "type": "string", "description": "链接地址", "required": true },
68
+ "text": { "type": "ReactNode", "description": "链接文字", "required": true },
69
+ "target": { "type": "string", "description": "同 <a> target 属性,如 '_blank'", "required": false },
70
+ "onClick": { "type": "React.MouseEventHandler<HTMLElement>", "description": "点击链接回调", "required": false }
71
+ },
72
+ "required": false
73
+ },
74
+ "defaultCollapse": {
75
+ "type": "boolean",
76
+ "description": "折叠内容默认是否展开;⚠️ 只有传了 collapseContent 或 children 时才有效",
77
+ "default": false,
78
+ "required": false
79
+ },
80
+ "placement": {
81
+ "type": "enum",
82
+ "values": [
83
+ "bottom-end", "bottom-start", "bottom",
84
+ "left-end", "left-start", "left",
85
+ "right-end", "right-start", "right",
86
+ "top-end", "top-start", "top"
87
+ ],
88
+ "description": "帮助提示方向(titleTooltip 的 Tooltip 弹出方向)",
89
+ "required": false
90
+ },
91
+ "arrow": {
92
+ "type": "boolean",
93
+ "description": "帮助提示 Tooltip 是否显示箭头",
94
+ "required": false
95
+ },
96
+ "size": {
97
+ "type": "enum",
98
+ "values": ["small", "medium", "large"],
99
+ "description": "尺寸,仅在传了 icon 时有效(控制图标容器大小)",
100
+ "default": "medium",
101
+ "required": false
102
+ },
103
+ "collapseClassName": {
104
+ "type": "string",
105
+ "description": "折叠容器自定义 className",
106
+ "required": false
107
+ }
108
+ },
109
+ "do": [
110
+ "保持标题文字简洁,复杂说明放入 titleTooltip",
111
+ "有折叠内容区时传 collapseContent 或 children 而非手动实现展开逻辑",
112
+ "defaultCollapse=true 可让初始态展开(需同时传 collapseContent 或 children)",
113
+ "link 对象的 target 默认 '_blank',如需当前页跳转传 target='_self'"
114
+ ],
115
+ "dont": [
116
+ "不要同时传 collapseContent 和 children——组件优先渲染 children(src/Title/index.tsx:164 `children || collapseContent`)",
117
+ "不要把 size 当通用字体大小控制——size 仅在 icon 存在时控制图标容器,不影响文字大小",
118
+ "标题文字过长——subTitle 有 AutoTips 截断,但 title 本身不截断,应保持简洁",
119
+ "层级混乱——嵌套 Title 时保持标题层级与视觉层级一致"
120
+ ],
121
+ "events": {
122
+ "link.onClick": {
123
+ "signature": "React.MouseEventHandler<HTMLElement>",
124
+ "asyncSupported": false,
125
+ "examples": [
126
+ "link={{ href: '#', text: '查看详情', onClick: (e) => { e.preventDefault(); navigate('/detail'); } }}",
127
+ "点击链接后进行埋点统计:onClick: (e) => { track('title_link_click'); }"
128
+ ],
129
+ "commonMistakes": [
130
+ "既传 href 又在 onClick 中做跳转——会导致跳转两次,需在 onClick 中 e.preventDefault()",
131
+ "link.target 不传默认 '_blank',如需当前页跳转忘记传 target='_self'"
132
+ ]
133
+ }
134
+ },
135
+ "typescriptPitfalls": [
136
+ {
137
+ "issue": "prop 名 titoleTooltipIcon 有 typo(不是 titleTooltipIcon)",
138
+ "wrong": "<Title title='设置' titleTooltip='配置说明' titleTooltipIcon={<HelpIcon />} />",
139
+ "right": "<Title title='设置' titleTooltip='配置说明' titoleTooltipIcon={<HelpIcon />} /> // 注意 titole 而非 title"
140
+ },
141
+ {
142
+ "issue": "defaultCollapse 没传 collapseContent/children 时无效",
143
+ "wrong": "// 只传 defaultCollapse 没传内容\n<Title title='配置' defaultCollapse={true} /> // 不会显示折叠箭头",
144
+ "right": "<Title title='配置' defaultCollapse={true} collapseContent={<Form />} />"
145
+ },
146
+ {
147
+ "issue": "children 和 collapseContent 同时传时 children 优先,collapseContent 被忽略",
148
+ "wrong": "<Title title='配置' collapseContent={<A />}><B /></Title> // A 组件不会渲染",
149
+ "right": "// 只传其中一个\n<Title title='配置' collapseContent={<A />} /> // 或 <Title title='配置'><B /></Title>"
150
+ }
151
+ ],
152
+ "mapping": {
153
+ "realComponent": "Title",
154
+ "adapter": null
155
+ }
156
+ }
@@ -0,0 +1,153 @@
1
+ {
2
+ "name": "ToggleButton",
3
+ "category": "Data Entry",
4
+ "description": "切换按钮,用于单个选中/取消选中操作;ToggleButtonGroup 用于多按钮单选/多选场景",
5
+ "semantic": {
6
+ "intent": [
7
+ "切换选择",
8
+ "开关",
9
+ "视图模式切换"
10
+ ],
11
+ "useCases": [
12
+ "视图切换(列表/网格)",
13
+ "模式选择",
14
+ "选项卡"
15
+ ],
16
+ "riskLevel": "low"
17
+ },
18
+ "variants": {
19
+ "outlined": {
20
+ "meaning": "边框样式(默认),有边框的描边按钮"
21
+ },
22
+ "text": {
23
+ "meaning": "文字按钮(无边框),ToggleButtonGroup 中 type='text' 时自动 exclusive=true"
24
+ },
25
+ "icon": {
26
+ "meaning": "纯图标按钮,使用 Button.IconButton 渲染"
27
+ }
28
+ },
29
+ "states": [
30
+ "selected",
31
+ "unselected",
32
+ "disabled"
33
+ ],
34
+ "idealProps": {
35
+ "value": {
36
+ "type": "T",
37
+ "description": "按钮绑定的值,点击时通过 onClick 第二参回传;ToggleButtonGroup 通过对比 value 与 group.value 决定 selected 状态"
38
+ },
39
+ "selected": {
40
+ "type": "boolean",
41
+ "default": false,
42
+ "description": "是否选中(单独使用时受控);在 ToggleButtonGroup 内部由 Group 自动计算,不需要手动传"
43
+ },
44
+ "disabled": {
45
+ "type": "boolean",
46
+ "default": false,
47
+ "description": "不可用状态,阻止点击触发 onClick",
48
+ "required": false
49
+ },
50
+ "width": {
51
+ "type": "number | string",
52
+ "description": "按钮宽度",
53
+ "required": false
54
+ },
55
+ "onClick": {
56
+ "type": "function",
57
+ "signature": "(event: React.MouseEvent, value: T) => void",
58
+ "description": "点击回调;⚠️ 第二参 value 是该按钮绑定的 value prop,不是 event.target.value;ToggleButtonGroup 内部会拦截此 prop 替换为 group 逻辑",
59
+ "required": false
60
+ },
61
+ "type": {
62
+ "type": "enum",
63
+ "values": ["text", "outlined", "icon"],
64
+ "default": "outlined",
65
+ "description": "按钮类型:text=文字按钮(无边框)/ outlined=描边按钮(默认)/ icon=纯图标按钮"
66
+ },
67
+ "toolTipTitle": {
68
+ "type": "ReactNode",
69
+ "description": "按钮提示文字(hover Tooltip),透传给内部 Button/IconButton",
70
+ "required": false
71
+ },
72
+ "exclusive": {
73
+ "type": "boolean",
74
+ "description": "是否单选语义(仅在 ToggleButtonGroup 场景使用;单独使用 ToggleButton 时此 prop 只影响 outlined 样式类名区分)",
75
+ "required": false
76
+ }
77
+ },
78
+ "subComponents": {
79
+ "ToggleButtonGroup": {
80
+ "description": "切换按钮组,管理多个 ToggleButton 的选中状态(单选/多选)",
81
+ "props": {
82
+ "data": { "type": "ToggleButtonItemProps<T>[]", "description": "按钮组数据源,每项 { label, value, icon?, selected?, disabled?, toolTipTitle? }" },
83
+ "value": { "type": "T | T[]", "description": "当前选中值;exclusive=true 时为单值 T,多选时为 T[]" },
84
+ "exclusive": { "type": "boolean", "default": false, "description": "true=单选模式(选中新项后旧项取消),false=多选模式;⚠️ type='text' 时默认强制 exclusive=true(src/ToggleButton/ToggleButtonGroup.tsx:62)" },
85
+ "toggleable": { "type": "boolean", "default": true, "description": "exclusive=true 时是否允许取消选中(再次点击已选项恢复未选状态);toggleable=false 时选中后不能取消" },
86
+ "onChange": { "type": "(event: React.MouseEvent, value: T | T[] | null) => void", "description": "选中值变化回调;单选取消选中时 value=null(toggleable=true)" },
87
+ "type": { "type": "enum", "values": ["text", "outlined", "icon"], "default": "outlined", "description": "统一所有子按钮的 type" }
88
+ }
89
+ }
90
+ },
91
+ "do": [
92
+ "单选场景使用 ToggleButtonGroup + exclusive=true(或 type='text')",
93
+ "多选场景使用 ToggleButtonGroup + value 传数组 + onChange 更新数组",
94
+ "ToggleButtonGroup 中 data 每项的 value 类型需一致(统一泛型 T)",
95
+ "type='icon' 时每项 data 需传 icon 字段,label 依然可传(作为 tooltip)"
96
+ ],
97
+ "dont": [
98
+ "选项超过 6 个时避免 ToggleButton 横排——改用 Select 或 RadioGroup",
99
+ "ToggleButtonGroup 内不要手动传每个 ToggleButton 的 selected——由 Group 自动计算",
100
+ "不要把 onClick 用于表单提交逻辑——ToggleButton 是展示状态切换的,提交应在父层处理",
101
+ "不要忽略 exclusive=false(多选)时 value 是数组——onChange 的第二参也是 T[]"
102
+ ],
103
+ "events": {
104
+ "onClick": {
105
+ "signature": "(event: React.MouseEvent, value: T) => void",
106
+ "asyncSupported": false,
107
+ "examples": [
108
+ "单独使用 ToggleButton:onClick={(e, val) => setSelected(!selected)}",
109
+ "在 ToggleButtonGroup 内部 onClick 被 Group 拦截,改用 Group 的 onChange",
110
+ "value 是绑定的 value prop 值(不是 event.target.value):onClick={(e, val) => console.log(val)}"
111
+ ],
112
+ "commonMistakes": [
113
+ "假设 onClick 第二参是 event.target.value(字符串)——实际是 ToggleButton 的 value prop 值",
114
+ "在 ToggleButtonGroup 中给子 ToggleButton 传 onClick——Group 内部会覆盖此 prop",
115
+ "忘记传 selected prop 时单独使用——不传 selected 按钮不显示选中态(默认 false)"
116
+ ]
117
+ },
118
+ "onChange": {
119
+ "signature": "(event: React.MouseEvent, value: T | T[] | null) => void",
120
+ "asyncSupported": false,
121
+ "examples": [
122
+ "单选模式(exclusive=true):onChange={(e, val) => setValue(val as T)}",
123
+ "多选模式:onChange={(e, val) => setValue(val as T[])}",
124
+ "toggleable=true 且单选时取消选中:value=null,需要 if (val !== null) 判断"
125
+ ],
126
+ "commonMistakes": [
127
+ "单选模式下不处理 value=null——toggleable=true 时点击已选项会传 null",
128
+ "多选模式下把 value 当 T 而非 T[]——exclusive=false 时 onChange 的 value 是 T[]"
129
+ ]
130
+ }
131
+ },
132
+ "typescriptPitfalls": [
133
+ {
134
+ "issue": "ToggleButtonGroup 泛型推断问题——value 和 data[].value 类型需一致",
135
+ "wrong": "// data 的 value 是 string,但 Group.value 传了 number\n<ToggleButtonGroup<string> data={[{label:'A', value:'a'}]} value={1} />",
136
+ "right": "<ToggleButtonGroup<string> data={[{label:'A', value:'a'}]} value={'a'} onChange={(e,v) => setValue(v as string)} />"
137
+ },
138
+ {
139
+ "issue": "多选模式下 onChange value 类型是 T | T[] | null,需要根据 exclusive 断言",
140
+ "wrong": "// exclusive=false 但当作单值处理\nonChange={(e, val) => setValue(val as string)} // val 实际是 string[]",
141
+ "right": "// exclusive=false 多选\nonChange={(e, val) => setValue(val as string[])} // 多选时是数组"
142
+ },
143
+ {
144
+ "issue": "type='text' 的 ToggleButtonGroup 默认强制 exclusive=true(src 实证)",
145
+ "wrong": "// 期望 type='text' + exclusive=false 实现多选文字按钮\n<ToggleButtonGroup type='text' exclusive={false} /> // exclusive 被内部改为 true",
146
+ "right": "// type='text' 固定单选,多选文字按钮改用 type='outlined' + exclusive={false}"
147
+ }
148
+ ],
149
+ "mapping": {
150
+ "realComponent": "ToggleButton",
151
+ "adapter": null
152
+ }
153
+ }
@@ -2,7 +2,7 @@ import { j as o } from "../_virtual/jsx-runtime.js";
2
2
  import { useRef as j } from "react";
3
3
  import { Button as p } from "../Button/index.js";
4
4
  import { default as P } from "./ToggleButtonGroup.js";
5
- import { UUID as k } from "@paraview/lib";
5
+ import { UUID as k } from "@snack-kit/lib";
6
6
  import b from "clsx";
7
7
  import { $prefixCls as T } from "../GlobalContext/constant.js";
8
8
  import v from "../AutoTips/index.js";