@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
@@ -21,10 +21,10 @@ export interface OperateBtnListProps {
21
21
  /** 设置危险按钮 */
22
22
  danger?: boolean;
23
23
  /** 点击事件 */
24
- onClick?: (item: OperateBtnListProps, e: any) => void | Promise<boolean | any>;
24
+ onClick?: (item: OperateBtnListProps, e: React.MouseEvent) => void | Promise<boolean | void>;
25
25
  /** 气泡确认框参数 */
26
26
  popConfirmProps?: PopConfirmProps;
27
- [name: string]: any;
27
+ [name: string]: unknown;
28
28
  }
29
29
  export interface OperateBtnProps {
30
30
  /** 样式class */
@@ -50,7 +50,7 @@ export interface OperateBtnProps {
50
50
  /** 点击是否关闭更多 */
51
51
  clickCloseMore?: boolean;
52
52
  /** 点击事件, 如果listItem里面存在onClick事件,则不触发改事件 */
53
- onClick?: (item: OperateBtnListProps, e: any) => void | Promise<boolean | any>;
53
+ onClick?: (item: OperateBtnListProps, e: React.MouseEvent) => void | Promise<boolean | void>;
54
54
  }
55
55
  declare const OperateBtn: FunctionComponent<OperateBtnProps>;
56
56
  export default OperateBtn;
@@ -0,0 +1,112 @@
1
+ {
2
+ "name": "PageHeader",
3
+ "category": "Navigation",
4
+ "description": "页头(应用级顶部导航条):左侧 logo/标题 + 中间横向菜单 + 右侧用户/语言/帮助/按钮区",
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
+ ],
26
+ "idealProps": {
27
+ "leftRender": {
28
+ "type": "ReactNode",
29
+ "description": "左侧自定义内容(放 logo / 应用标题 / 返回按钮等);**支持纯文本 / 单行 JSX / 多行复合 JSX**(标题+副标题、返回按钮+标题、面包屑+标题、标题+状态彩标);**注意:不是 title / subTitle / backIcon / breadcrumb / onBack prop**(这些 Ant Design PageHeader 命名本组件均不存在,需要时全部组合进 leftRender ReactNode);典型场景见 docs/view/pageHeader/codeString.ts 注释 7a/7b/7c/7d"
30
+ },
31
+ "menuListProps": {
32
+ "type": "MenuListProps",
33
+ "description": "横向菜单配置对象;MenuListProps = { list?: MenuChildrenProps[]; selectMenu?: string; onClickMenu?: (item: MenuChildrenProps | false) => void; className?: string; moreCustomize?: ReactNode };src/PageHeader/interface.ts:38"
34
+ },
35
+ "footerProps": {
36
+ "type": "FooterProps",
37
+ "description": "**右侧功能区聚合对象**(放语言切换 / 用户菜单 / 帮助 / 按钮列表 / 自助跳转 / 自定义);FooterProps = { backSelfcareProps?: BackSelfcareProps; languageProps?: LanguageProps; btnListProps?: BtnListProps; userProps?: UserProps; helpProps?: HelpProps; render?: ReactNode; className?: string };**所有右侧功能都在这个对象里嵌套配置,不是顶层独立 prop**;**helpProps 结构同 BackSelfcareProps**(label/icon/render/onClick/className);**render 是「替换」语义**,传入后整个右侧被替换,其他 5 widget 字段都不渲染(无追加模式);src/PageHeader/interface.ts:162"
38
+ },
39
+ "selectMenu": {
40
+ "type": "string",
41
+ "description": "当前选中菜单(匹配 menuListProps.list[].path);顶层 selectMenu 会下传到 MenuListProps.selectMenu;src/PageHeader/index.tsx:14"
42
+ },
43
+ "onClickMenu": {
44
+ "type": "(item: MenuChildrenProps | false) => void",
45
+ "description": "菜单点击回调;**回参 item 是 MenuChildrenProps 对象或 false**(false 表示选中态被清空);MenuChildrenProps = { label?, type?, path?, icon?, children?, ... },典型用法 `item.path` 取菜单路径"
46
+ },
47
+ "className": {
48
+ "type": "string",
49
+ "description": "外层容器样式 class"
50
+ },
51
+ "style": {
52
+ "type": "React.CSSProperties",
53
+ "description": "外层容器内联样式"
54
+ }
55
+ },
56
+ "do": [
57
+ "logo / 应用名放 leftRender",
58
+ "横向菜单走 menuListProps.list(树形结构通过 children 嵌套)",
59
+ "右侧功能(语言 / 用户 / 帮助 / 按钮)统一在 footerProps 对象里嵌套配置",
60
+ "selectMenu 受控 — 父维护 string 匹配 list[].path"
61
+ ],
62
+ "dont": [
63
+ "把 title / subTitle / extra / onBack / backIcon / breadcrumb / footer 当作顶层 prop 传(全部 Ant Design 命名,**本组件均不存在**)",
64
+ "把右侧功能字段(languageProps / userProps / btnListProps / helpProps / backSelfcareProps)拆到顶层(必须嵌套在 footerProps 对象里)",
65
+ "在 menuListProps.list[].type 上随意填值(仅支持 'redirect' | 'router' | 'iframe' | 'snack' | 'snackPage' 五种)",
66
+ "传 footerProps.render 同时配其他 widget 字段(render 是**替换语义**,会覆盖整个右侧,languageProps/userProps 等都不渲染;无追加模式)",
67
+ "期望 PageHeader 顶层有 bottomRender / footerRender / statsRender / extraBottom 下方内容区(**本组件不支持下方扩展插槽**;如需统计条/标签栏在 PageHeader 外层 div 包装)",
68
+ "把「标题 + 副标题」/「返回按钮 + 标题」/「面包屑 + 标题」拆成多个顶层 prop(本组件这类复合内容**全部塞进 leftRender ReactNode**;见 docs/view/pageHeader/codeString.ts 注释 7a/7b/7c)"
69
+ ],
70
+ "events": {
71
+ "onClickMenu": {
72
+ "signature": "(item: MenuChildrenProps | false) => void",
73
+ "asyncSupported": false,
74
+ "examples": [
75
+ "获取路由路径:onClickMenu={(item) => { if (item) navigate(item.path); }}",
76
+ "清空选中:onClickMenu={(item) => { if (!item) setSelectMenu(''); else setSelectMenu(item.path); }}",
77
+ "嵌套子菜单点击:回参 item.children 可能有子项,item.path 是当前点击项的路径,非父级路径"
78
+ ],
79
+ "commonMistakes": [
80
+ "假设 item 永远是对象——回参可能是 false(表示选中态被清空),使用前需判断 if (item)",
81
+ "直接用 item.label 作路由——应用 item.path;item.label 是显示文案",
82
+ "不更新 selectMenu 导致菜单高亮不同步——onClickMenu 触发后需 setState(item.path) 回写 selectMenu"
83
+ ]
84
+ }
85
+ },
86
+ "typescriptPitfalls": [
87
+ {
88
+ "issue": "footerProps 内字段不能拆到 PageHeader 顶层,TS 会报未知 prop",
89
+ "wrong": "<PageHeader userProps={{ label: '张三' }} languageProps={{ ... }} /> // 这些不是顶层 prop",
90
+ "right": "<PageHeader footerProps={{ userProps: { label: '张三' }, languageProps: { ... } }} />"
91
+ },
92
+ {
93
+ "issue": "MenuChildrenProps.type 是菜单行为类型,有严格枚举,传错值 TS 不会报错但菜单不响应",
94
+ "wrong": "list={[{ label: '首页', type: 'link', path: '/home' }]} // 'link' 不在联合类型",
95
+ "right": "list={[{ label: '首页', type: 'router', path: '/home' }]} // 合法值: 'redirect' | 'router' | 'iframe' | 'snack' | 'snackPage'"
96
+ },
97
+ {
98
+ "issue": "onClickMenu 回参是 MenuChildrenProps | false,直接访问属性前需判空",
99
+ "wrong": "onClickMenu={(item) => navigate(item.path)} // item 可能是 false,访问 .path 会 TypeError",
100
+ "right": "onClickMenu={(item) => { if (item && item.path) navigate(item.path); }}"
101
+ },
102
+ {
103
+ "issue": "不要从 @para-ui/core 导入 MenuChildrenProps 用于 onClickMenu 类型标注——PageHeader/interface.ts 和 Menu/interface.ts 各有一个同名 MenuChildrenProps,两者互不兼容,强行标注会导致 TS2322",
104
+ "wrong": "import { PageHeader, MenuChildrenProps } from '@para-ui/core';\nonClickMenu={(item: MenuChildrenProps | false) => ...} // MenuChildrenProps 来自 Menu 不来自 PageHeader,类型冲突",
105
+ "right": "import { PageHeader } from '@para-ui/core';\n// 不标注类型,让 TS 推断,或使用 Parameters<typeof PageHeader>[0]['onClickMenu']\nonClickMenu={(item) => { if (item && item.path) navigate(item.path); }}"
106
+ }
107
+ ],
108
+ "mapping": {
109
+ "realComponent": "PageHeader",
110
+ "adapter": null
111
+ }
112
+ }
@@ -4,7 +4,7 @@ import { Popover as U } from "../Popover/index.js";
4
4
  import { Down as Y } from "../node_modules/@para-ui/icons/Down/index.js";
5
5
  import * as Z from "../node_modules/@para-ui/icons/index.js";
6
6
  import { More as me } from "../node_modules/@para-ui/icons/More/index.js";
7
- import { DeepClone as de } from "@paraview/lib";
7
+ import { DeepClone as de } from "@snack-kit/lib";
8
8
  import { $prefixCls as W } from "../GlobalContext/constant.js";
9
9
  const ee = (p) => {
10
10
  let r = "div";
@@ -6,7 +6,7 @@ import X from "../AutoTips/index.js";
6
6
  import { Down as Y } from "../node_modules/@para-ui/icons/Down/index.js";
7
7
  import { Right as Z } from "../node_modules/@para-ui/icons/Right/index.js";
8
8
  import { $prefixCls as y } from "../GlobalContext/constant.js";
9
- import { UUID as ee, DeepClone as ne } from "@paraview/lib";
9
+ import { UUID as ee, DeepClone as ne } from "@snack-kit/lib";
10
10
  const se = (x) => {
11
11
  const { icon: n, label: d, render: a, onClick: m, className: l } = x, t = (s) => {
12
12
  m && m(s);
@@ -0,0 +1,181 @@
1
+ {
2
+ "name": "Pagination",
3
+ "category": "Navigation",
4
+ "description": "分页组件,支持 simple / complex 双模式及自定义布局组合",
5
+ "semantic": {
6
+ "intent": [
7
+ "展示数据",
8
+ "分批加载",
9
+ "导航"
10
+ ],
11
+ "useCases": [
12
+ "数据列表",
13
+ "搜索结果",
14
+ "评论区"
15
+ ],
16
+ "riskLevel": "low"
17
+ },
18
+ "variants": {
19
+ "simple": {
20
+ "meaning": "简单模式(仅翻页按钮/数字页码)"
21
+ },
22
+ "complex": {
23
+ "meaning": "复杂模式(含总数 + 每页行数 + 页码 + 跳转)"
24
+ }
25
+ },
26
+ "states": [
27
+ "default",
28
+ "disabled"
29
+ ],
30
+ "idealProps": {
31
+ "total": {
32
+ "type": "number",
33
+ "default": 0,
34
+ "description": "数据总数"
35
+ },
36
+ "page": {
37
+ "type": "number",
38
+ "default": 1,
39
+ "description": "当前页码(受控)"
40
+ },
41
+ "rowsPerPage": {
42
+ "type": "number[]",
43
+ "default": [10, 20, 50, 100],
44
+ "description": "每页行数候选项列表(下拉选项)"
45
+ },
46
+ "currentRowsPerPage": {
47
+ "type": "number",
48
+ "default": 10,
49
+ "description": "当前选中的每页行数"
50
+ },
51
+ "type": {
52
+ "type": "enum",
53
+ "values": [
54
+ "simple",
55
+ "complex",
56
+ "PaginationLayout[]"
57
+ ],
58
+ "default": "simple",
59
+ "description": "分页类型;**'simple'** = 仅翻页按钮/数字(sizes/pageRow/jumper 均不显示);**'complex'** = 完整布局(总数+每页行数+页码+跳转,支持 autoType 响应式收叠);**PaginationLayout[]** = 自定义组合,合法值 'sizes'|'pageRow'|'pager'|'jumper'"
60
+ },
61
+ "pagerType": {
62
+ "type": "enum",
63
+ "values": [
64
+ "btn",
65
+ "num"
66
+ ],
67
+ "default": "num",
68
+ "description": "页码显示模式 btn=上下页按钮 / num=数字页码列表"
69
+ },
70
+ "flippingArrow": {
71
+ "type": "PaginationFlippingArrow[]",
72
+ "values": [
73
+ "prev",
74
+ "next"
75
+ ],
76
+ "default": ["prev", "next"],
77
+ "description": "方向键 layout;传空数组隐藏全部箭头"
78
+ },
79
+ "autoType": {
80
+ "type": "boolean",
81
+ "default": true,
82
+ "description": "type=complex 自适应模式(响应宽度自动收叠)"
83
+ },
84
+ "resizeLine": {
85
+ "type": "string | number",
86
+ "description": "type=complex 时重新计算换行(传值变化触发自适应)"
87
+ },
88
+ "pageMaxLimit": {
89
+ "type": "boolean",
90
+ "default": true,
91
+ "description": "当前页超过总页数时自动回落到最大页"
92
+ },
93
+ "skipFunc": {
94
+ "type": "function",
95
+ "signature": "(num?: number, skipValue?: number) => void",
96
+ "description": "回车跳页回调;num 是校正后目标页(已 clamp 到 1~totalPage),skipValue 是输入框原始值(未校正)"
97
+ },
98
+ "changePage": {
99
+ "type": "function",
100
+ "signature": "(num?: number) => void",
101
+ "description": "页码改变回调(点击页码 / prev / next / 回车跳转时均触发);num 是目标页码"
102
+ },
103
+ "changeRowsPerPage": {
104
+ "type": "function",
105
+ "signature": "(num: number) => void",
106
+ "description": "每页行数改变回调;num 是新选中行数(非下标,是实际数值)"
107
+ },
108
+ "getPopupContainer": {
109
+ "type": "function",
110
+ "description": "rowsPerPage 下拉的渲染父节点 (triggerNode) => HTMLElement"
111
+ },
112
+ "className": {
113
+ "type": "string",
114
+ "description": "自定义类名(src/Pagination/index.tsx:33 interface 实证,追加到根容器 div)"
115
+ },
116
+ "style": {
117
+ "type": "React.CSSProperties",
118
+ "description": "自定义样式(src/Pagination/index.tsx:35 interface 实证,透传到根容器 div)"
119
+ }
120
+ },
121
+ "do": [
122
+ "Table 独立分页时:changePage 里更新父组件 page state 并重新请求数据,将最新 page 回传给 Pagination 维持受控",
123
+ "展示总记录数 + 每页行数切换:使用 type='complex',changeRowsPerPage 里同时重置 page=1 再发请求",
124
+ "在数据量较大时使用服务端分页——本地分页仅适合 <200 条",
125
+ "保持每页数量适中(10-50)"
126
+ ],
127
+ "dont": [
128
+ "在极少量数据(<20)时使用 Pagination",
129
+ "隐藏当前页码标识",
130
+ "changePage/changeRowsPerPage 里不更新父组件 page state——Pagination 是受控组件,不回写 page prop 会导致翻页后页码回弹"
131
+ ],
132
+ "events": {
133
+ "changePage": {
134
+ "signature": "(num?: number) => void",
135
+ "asyncSupported": false,
136
+ "examples": [
137
+ "受控翻页:changePage={(num) => { setPage(num ?? 1); fetchData(num ?? 1, currentRowsPerPage); }}",
138
+ "配合 Table:changePage={(num) => { tableRef.current.reload({ page: num }); }}",
139
+ "防止 undefined:changePage={(num) => setPage(num ?? 1)} // num 在正常翻页时有值,极端情况下可能 undefined"
140
+ ],
141
+ "commonMistakes": [
142
+ "收到 changePage 后不更新 page prop——Pagination 是受控组件,不回写会导致页码状态不一致",
143
+ "期望 changePage 在组件内部状态已更新后触发——组件内部先 setPageCom(num) 再触发 changePage,父组件需自行维护独立的 page state",
144
+ "changeRowsPerPage 里忘记重置 page=1——切换每页条数后通常应回到第一页"
145
+ ]
146
+ },
147
+ "changeRowsPerPage": {
148
+ "signature": "(num: number) => void",
149
+ "asyncSupported": false,
150
+ "examples": [
151
+ "切换每页行数并重置页码:changeRowsPerPage={(num) => { setCurrentRowsPerPage(num); setPage(1); fetchData(1, num); }}",
152
+ "受控写法:currentRowsPerPage={currentRowsPerPage} changeRowsPerPage={(num) => setCurrentRowsPerPage(num)}"
153
+ ],
154
+ "commonMistakes": [
155
+ "忘记同步更新 currentRowsPerPage prop——不回写 prop 导致下拉显示旧值",
156
+ "假设 num 是下标而非实际行数值——num 是 rowsPerPage 数组里选中的那个数字本身"
157
+ ]
158
+ }
159
+ },
160
+ "typescriptPitfalls": [
161
+ {
162
+ "issue": "type prop 接受 PaginationLayout[] 数组,但内部枚举是 'sizes'|'pageRow'|'pager'|'jumper',不是 'complex'|'simple'",
163
+ "wrong": "type={['simple', 'pager']} // 'simple' 不在 PaginationLayout 联合类型",
164
+ "right": "type={['pager', 'jumper']} // 自定义布局组合只能用 PaginationLayout 枚举值"
165
+ },
166
+ {
167
+ "issue": "changeRowsPerPage 回参 num 是 number,不是可选 number | undefined",
168
+ "wrong": "(num?: number) => setCurrentRowsPerPage(num ?? 10) // 多余的 ?? 语法噪音",
169
+ "right": "(num: number) => setCurrentRowsPerPage(num) // num 保证有值"
170
+ },
171
+ {
172
+ "issue": "skipFunc 与 changePage 在回车跳页时都会触发,不要做重复请求",
173
+ "wrong": "skipFunc={(num) => fetchData(num)} changePage={(num) => fetchData(num)} // 回车时两个都触发,重复请求",
174
+ "right": "// 只需 changePage 处理翻页逻辑;skipFunc 是可选补充,跳页专用(例如记录跳转日志)"
175
+ }
176
+ ],
177
+ "mapping": {
178
+ "realComponent": "Pagination",
179
+ "adapter": null
180
+ }
181
+ }
@@ -1,8 +1,8 @@
1
1
  import { j as r } from "../_virtual/jsx-runtime.js";
2
2
  import de, { useState as g, useRef as q, useEffect as u, useMemo as w } from "react";
3
3
  import xe from "../GlobalContext/index.js";
4
- import { $prefixCls as z, $rcPrefixCls as he } from "../GlobalContext/constant.js";
5
- import { TextField as ve } from "../TextField/index.js";
4
+ import { $prefixCls as z, $rcPrefixCls as ve } from "../GlobalContext/constant.js";
5
+ import { TextField as he } from "../TextField/index.js";
6
6
  import Pe from "../GlobalContext/useFormatMessage.js";
7
7
  import je from "./lang/index.js";
8
8
  import be from "../Select/index.js";
@@ -35,7 +35,7 @@ const Oe = (y) => {
35
35
  layoutArr: ["jumper", "pageRow", "pager-btn", "sizes", "pager-num"]
36
36
  });
37
37
  a.current.type = l, a.current.autoType = M, u(() => () => {
38
- window.removeEventListener("resize", h), clearTimeout(a.current.timer), clearTimeout(a.current.changePagination);
38
+ window.removeEventListener("resize", v), clearTimeout(a.current.timer ?? void 0), clearTimeout(a.current.changePagination ?? void 0);
39
39
  }, []), u(() => {
40
40
  R(S);
41
41
  }, [S]), u(() => {
@@ -57,12 +57,12 @@ const Oe = (y) => {
57
57
  const e = Math.ceil(m / c);
58
58
  Y(e || y.page || 1);
59
59
  }, [c, m]), u(() => {
60
- l === "complex" && M ? (h(), window.addEventListener("resize", h)) : window.removeEventListener("resize", h);
60
+ l === "complex" && M ? (v(), window.addEventListener("resize", v)) : window.removeEventListener("resize", v);
61
61
  }, [l, M]), u(() => {
62
- a.current.type === "complex" && a.current.autoType && h();
62
+ a.current.type === "complex" && a.current.autoType && v();
63
63
  }, [m, c, n, k, W]);
64
- const h = () => {
65
- clearTimeout(a.current.timer);
64
+ const v = () => {
65
+ clearTimeout(a.current.timer ?? void 0);
66
66
  const e = x.current;
67
67
  e && (e.classList.add(`${z}-pagination-over`), a.current.timer = setTimeout(() => {
68
68
  U(a.current.layoutArr.length), a.current.layoutArr.length > 1 && _();
@@ -87,7 +87,7 @@ const Oe = (y) => {
87
87
  U(t), t > 3 ? _(t) : x.current.classList.remove(`${z}-pagination-over`);
88
88
  } else
89
89
  x.current.classList.remove(`${z}-pagination-over`);
90
- }, v = (e) => a.current.type instanceof Array && a.current.type.indexOf(e) === -1, P = (e) => {
90
+ }, h = (e) => a.current.type instanceof Array && a.current.type.indexOf(e) === -1, P = (e) => {
91
91
  if (o === null) return !1;
92
92
  switch (e) {
93
93
  case "jumper":
@@ -144,11 +144,11 @@ const Oe = (y) => {
144
144
  const t = /(?=(\B)(\d{3})+$)/g;
145
145
  return e.toString().replace(t, ",");
146
146
  }, oe = w(() => {
147
- if (l === "simple" || v("sizes") || P("sizes"))
147
+ if (l === "simple" || h("sizes") || P("sizes"))
148
148
  return null;
149
149
  const e = ae(m);
150
150
  return /* @__PURE__ */ r.jsx("div", { className: "total-num pagination-space", children: p({ id: "total" }, { total: e }) });
151
- }, [m, k, f, o]), ie = w(() => v("pageRow") || P("pageRow") ? null : /* @__PURE__ */ r.jsx("div", { className: "page-line-memo pagination-space", children: /* @__PURE__ */ r.jsx(
151
+ }, [m, k, f, o]), ie = w(() => h("pageRow") || P("pageRow") ? null : /* @__PURE__ */ r.jsx("div", { className: "page-line-memo pagination-space", children: /* @__PURE__ */ r.jsx(
152
152
  be,
153
153
  {
154
154
  className: "page-line-select",
@@ -166,7 +166,7 @@ const Oe = (y) => {
166
166
  ] }), le = () => /* @__PURE__ */ r.jsxs("div", { className: "jump-next-icon", children: [
167
167
  /* @__PURE__ */ r.jsx("span", { children: "..." }),
168
168
  /* @__PURE__ */ r.jsx(Ce, {})
169
- ] }), ce = () => C !== "num" || l === "simple" ? !0 : l === "complex" ? P("pager-num") : v("pager"), ue = w(() => ce() ? null : /* @__PURE__ */ r.jsxs("div", { className: "pagination-content pagination-space", children: [
169
+ ] }), ce = () => C !== "num" || l === "simple" ? !0 : l === "complex" ? P("pager-num") : h("pager"), ue = w(() => ce() ? null : /* @__PURE__ */ r.jsxs("div", { className: "pagination-content pagination-space", children: [
170
170
  I.indexOf("prev") !== -1 && /* @__PURE__ */ r.jsx("div", { className: "left-page", children: /* @__PURE__ */ r.jsx(
171
171
  "div",
172
172
  {
@@ -178,7 +178,7 @@ const Oe = (y) => {
178
178
  /* @__PURE__ */ r.jsx(
179
179
  we,
180
180
  {
181
- prefixCls: `${he}-pagination`,
181
+ prefixCls: `${ve}-pagination`,
182
182
  current: n,
183
183
  pageSize: c,
184
184
  total: m,
@@ -196,7 +196,7 @@ const Oe = (y) => {
196
196
  children: /* @__PURE__ */ r.jsx(H, {})
197
197
  }
198
198
  ) })
199
- ] }), [m, n, i, c, y.flippingArrow, C, o]), me = () => C === "btn" || l === "simple" ? !1 : l === "complex" ? P("pager-btn") : v("pager"), pe = w(() => me() ? null : /* @__PURE__ */ r.jsxs("div", { className: "pagination-btn-content pagination-space", children: [
199
+ ] }), [m, n, i, c, y.flippingArrow, C, o]), me = () => C === "btn" || l === "simple" ? !1 : l === "complex" ? P("pager-btn") : h("pager"), pe = w(() => me() ? null : /* @__PURE__ */ r.jsxs("div", { className: "pagination-btn-content pagination-space", children: [
200
200
  /* @__PURE__ */ r.jsx(
201
201
  G,
202
202
  {
@@ -219,10 +219,10 @@ const Oe = (y) => {
219
219
  children: p({ id: "nextPage" })
220
220
  }
221
221
  )
222
- ] }), [n, i, C, f, o]), ge = w(() => v("jumper") || P("jumper") ? null : /* @__PURE__ */ r.jsxs("div", { className: "skip-page-memo pagination-space", children: [
222
+ ] }), [n, i, C, f, o]), ge = w(() => h("jumper") || P("jumper") ? null : /* @__PURE__ */ r.jsxs("div", { className: "skip-page-memo pagination-space", children: [
223
223
  /* @__PURE__ */ r.jsx("span", { children: p({ id: "jumpTo" }) }),
224
224
  /* @__PURE__ */ r.jsx(
225
- ve,
225
+ he,
226
226
  {
227
227
  className: "skip-page-text-field",
228
228
  size: "large",
@@ -1,7 +1,7 @@
1
1
  import { j as m } from "../_virtual/jsx-runtime.js";
2
2
  import u from "react";
3
3
  import f from "../GlobalContext/index.js";
4
- import { GetLanguage as n } from "@paraview/lib";
4
+ import { GetLanguage as n } from "../Utils/snack-kit-shims.js";
5
5
  import { i18nIntl as s } from "../GlobalContext/intl.js";
6
6
  import '../Styles/index.css';/* empty css */
7
7
  import { changeConfirmLocale as d } from "../GlobalContext/confirmLocale.js";
@@ -0,0 +1,105 @@
1
+ {
2
+ "name": "PasswordRules",
3
+ "category": "Data Display",
4
+ "description": "密码规则校验器,实时显示密码强度及各项规则通过/失败状态",
5
+ "semantic": {
6
+ "intent": [
7
+ "密码验证",
8
+ "规则提示",
9
+ "安全引导"
10
+ ],
11
+ "useCases": [
12
+ "注册",
13
+ "修改密码",
14
+ "安全设置"
15
+ ],
16
+ "riskLevel": "high"
17
+ },
18
+ "variants": {
19
+ "icon": {
20
+ "meaning": "图标模式(✓/✗ 图标指示每条规则)"
21
+ },
22
+ "order": {
23
+ "meaning": "序列模式(1. 2. 3. 数字序号)"
24
+ }
25
+ },
26
+ "states": [
27
+ "pass",
28
+ "fail"
29
+ ],
30
+ "idealProps": {
31
+ "value": {
32
+ "type": "string",
33
+ "description": "需要校验的密码值;每次 value 变化组件自动重新对所有规则校验并触发 onCheckAll"
34
+ },
35
+ "config": {
36
+ "type": "PasswordRulesConfigProps | PasswordRulesConfigProps[]",
37
+ "description": "规则配置,单组或多组。**PasswordRulesConfigProps** = { title?: ReactNode; type?: 'icon'|'order'; list?: PasswordRulesConfigItemProps[] };**PasswordRulesConfigItemProps** = { label?: ReactNode; reg?: RegExp(正则校验); validator?: (item, value) => boolean | ReactNode(自定义校验,返回 true 表示通过,false 或 ReactNode 表示失败,ReactNode 会替换显示文案); result?: boolean | ReactNode };⚠️ validator 优先级高于 reg"
38
+ },
39
+ "onCheckAll": {
40
+ "type": "(bol: boolean | undefined) => void",
41
+ "description": "全部规则校验结果回调:**true** = 所有规则全部通过;**false** = 所有规则全部未通过;**undefined** = 部分通过(非全通过也非全失败);value 为 undefined 时也回调 undefined"
42
+ },
43
+ "boxShadow": {
44
+ "type": "boolean",
45
+ "default": false,
46
+ "description": "是否带有边框阴影(src/PasswordRules/index.tsx:51 interface 实证)"
47
+ },
48
+ "className": {
49
+ "type": "string",
50
+ "description": "自定义类名"
51
+ },
52
+ "style": {
53
+ "type": "React.CSSProperties",
54
+ "description": "自定义样式"
55
+ }
56
+ },
57
+ "do": [
58
+ "在密码输入旁实时显示校验结果——value 受控绑定 TextField 的 onChange",
59
+ "列出所有规则及其状态,配合 onCheckAll 控制提交按钮的 disabled 状态(true 时才允许提交)",
60
+ "使用 validator 函数处理复杂规则(如「密码不能包含用户名」),返回 ReactNode 可自定义失败文案",
61
+ "多组规则(如「格式要求」+「强度要求」)传 config 数组,每组可设置独立 title"
62
+ ],
63
+ "dont": [
64
+ "规则不明确——每条 label 应简短描述具体要求(如「至少 8 位字符」)",
65
+ "规则过于复杂导致用户无法满足——不超过 6 条主要规则",
66
+ "只用 reg 不提供 validator——复杂规则如「必须包含大小写」建议用 validator 加更友好的提示"
67
+ ],
68
+ "events": {
69
+ "onCheckAll": {
70
+ "signature": "(bol: boolean | undefined) => void",
71
+ "asyncSupported": false,
72
+ "examples": [
73
+ "控制提交按钮:onCheckAll={(bol) => setCanSubmit(bol === true)}",
74
+ "显示强度文案:onCheckAll={(bol) => setStrengthText(bol === true ? '强' : bol === false ? '弱' : '中')}",
75
+ "value 为空时 onCheckAll(undefined):onCheckAll={(bol) => { if (bol === undefined) { clearStrengthUI(); return; } setValid(bol); }}"
76
+ ],
77
+ "commonMistakes": [
78
+ "把 bol === false 当「有错误」——false 是「全部失败」;undefined 才是「部分通过」(最常见的进行时状态)",
79
+ "用 onCheckAll 直接控制表单 submit——建议只用它更新 UI 状态,表单提交时再做一次完整校验",
80
+ "假设 value 初始化时不触发 onCheckAll——组件 mount 后 value 变化(包括 undefined→string)每次都触发"
81
+ ]
82
+ }
83
+ },
84
+ "typescriptPitfalls": [
85
+ {
86
+ "issue": "PasswordRulesConfigItemProps.validator 返回值类型是 boolean | ReactNode,不能返回 string 以外的 falsy",
87
+ "wrong": "validator: (item, value) => value.length >= 8 // 返回 false 表示失败,符合要求",
88
+ "right": "validator: (item, value) => value.length >= 8 ? true : false // 显式返回 boolean;返回 ReactNode 可自定义失败文案"
89
+ },
90
+ {
91
+ "issue": "config 可以是单对象或数组,直接传数组字面量时类型推断正确,动态构建时需显式标注",
92
+ "wrong": "const cfg = { title: '格式', list: [...] }; <PasswordRules config={cfg} /> // 单对象 ok\nconst cfgs = [cfg1, cfg2]; <PasswordRules config={cfgs} /> // 数组 ok,但动态 push 时注意类型",
93
+ "right": "const cfgs: PasswordRulesConfigProps[] = [cfg1, cfg2]; <PasswordRules config={cfgs} />"
94
+ },
95
+ {
96
+ "issue": "onCheckAll 回参 bol 是三值逻辑,用 === 严格比较而非 truthy/falsy",
97
+ "wrong": "onCheckAll={(bol) => setValid(!!bol)} // undefined 被 coerce 成 false,与「全部失败」混淆",
98
+ "right": "onCheckAll={(bol) => setValid(bol === true)} // 只有全部通过才为 true"
99
+ }
100
+ ],
101
+ "mapping": {
102
+ "realComponent": "PasswordRules",
103
+ "adapter": null
104
+ }
105
+ }
@@ -3,7 +3,7 @@ export interface PasswordRulesConfigItemProps {
3
3
  /** 文案 */
4
4
  label?: ReactNode;
5
5
  /** 正则 正则表达式 */
6
- reg?: any;
6
+ reg?: RegExp;
7
7
  /** 自定义校验方法
8
8
  * item: 当前项配置
9
9
  * value: 校验值
@@ -14,7 +14,7 @@ export interface PasswordRulesConfigItemProps {
14
14
  validator?: (item: PasswordRulesConfigItemProps, value: string) => boolean | ReactNode;
15
15
  /** 校验结果 */
16
16
  result?: boolean | ReactNode;
17
- [name: string]: any;
17
+ [name: string]: unknown;
18
18
  }
19
19
  export interface PasswordRulesConfigProps {
20
20
  /** 标题 */
@@ -23,7 +23,7 @@ export interface PasswordRulesConfigProps {
23
23
  type?: 'icon' | 'order';
24
24
  /** 规则列表 */
25
25
  list?: PasswordRulesConfigItemProps[];
26
- [name: string]: any;
26
+ [name: string]: unknown;
27
27
  }
28
28
  export interface PasswordRulesProps {
29
29
  /** 样式class */
@@ -43,7 +43,7 @@ export interface PasswordRulesProps {
43
43
  * undefined: 未全部通过
44
44
  * */
45
45
  onCheckAll?: (bol: boolean | undefined) => void;
46
- [name: string]: any;
46
+ [name: string]: unknown;
47
47
  }
48
48
  declare const PasswordRules: FunctionComponent<PasswordRulesProps>;
49
49
  export default PasswordRules;