@para-ui/core 5.0.0-beta.11 → 5.0.0-beta.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (650) hide show
  1. package/AGENTS.md +315 -0
  2. package/AlignBox/component.json +89 -0
  3. package/Anchor/component.json +130 -0
  4. package/Argv/component.json +216 -0
  5. package/AutoBox/component.json +133 -0
  6. package/AutoButton/component.json +109 -0
  7. package/AutoTips/component.json +121 -0
  8. package/Badge/component.json +92 -0
  9. package/Breadcrumbs/component.json +142 -0
  10. package/Button/component.json +168 -0
  11. package/ButtonGroup/component.json +132 -0
  12. package/Card/component.json +162 -0
  13. package/Carousel/component.json +142 -0
  14. package/Cascader/component.json +196 -0
  15. package/Checkbox/component.json +138 -0
  16. package/CheckboxGroup/component.json +152 -0
  17. package/CodeEditor/component.json +189 -0
  18. package/Collapse/component.json +166 -0
  19. package/CollapseBox/component.json +84 -0
  20. package/CollapseLayout/component.json +155 -0
  21. package/ColorPicker/component.json +142 -0
  22. package/ComboSelect/component.json +181 -0
  23. package/Container/component.json +111 -0
  24. package/ContentBox/component.json +81 -0
  25. package/CopyText/component.json +118 -0
  26. package/CycleSelector/component.json +98 -0
  27. package/DatePicker/component.json +192 -0
  28. package/Descriptions/component.json +142 -0
  29. package/Desktop/component.json +171 -0
  30. package/DragVerify/component.json +114 -0
  31. package/Drawer/component.json +200 -0
  32. package/Dropdown/component.json +147 -0
  33. package/DynamicMultiBox/component.json +278 -0
  34. package/Empty/component.json +123 -0
  35. package/FieldForm/component.json +196 -0
  36. package/Form/component.json +161 -0
  37. package/FormItem/component.json +171 -0
  38. package/FunctionModal/component.json +197 -0
  39. package/Help/component.json +118 -0
  40. package/HelperText/component.json +126 -0
  41. package/Image/component.json +165 -0
  42. package/InputCode/component.json +191 -0
  43. package/InputLang/component.json +205 -0
  44. package/InputNumber/component.json +162 -0
  45. package/Label/component.json +126 -0
  46. package/Loading/component.json +91 -0
  47. package/Menu/component.json +180 -0
  48. package/Message/component.json +246 -0
  49. package/Modal/component.json +277 -0
  50. package/MultiBox/component.json +216 -0
  51. package/Notification/component.json +184 -0
  52. package/OperateBtn/component.json +134 -0
  53. package/PageHeader/component.json +112 -0
  54. package/Pagination/component.json +181 -0
  55. package/PasswordRules/component.json +105 -0
  56. package/PopConfirm/component.json +227 -0
  57. package/PopMenu/component.json +131 -0
  58. package/Popover/component.json +165 -0
  59. package/Progress/component.json +161 -0
  60. package/Prompt/component.json +144 -0
  61. package/Querying/component.json +96 -0
  62. package/QuickReply/component.json +129 -0
  63. package/Radio/component.json +136 -0
  64. package/RadioGroup/component.json +149 -0
  65. package/RangeInput/component.json +198 -0
  66. package/Result/component.json +104 -0
  67. package/ScrollBar/component.json +115 -0
  68. package/Search/component.json +177 -0
  69. package/Select/component.json +244 -0
  70. package/SelectInput/component.json +184 -0
  71. package/Selector/component.json +203 -0
  72. package/SelectorPicker/component.json +179 -0
  73. package/SingleBox/component.json +151 -0
  74. package/Slider/component.json +181 -0
  75. package/SortBox/component.json +108 -0
  76. package/Status/component.json +104 -0
  77. package/Stepper/component.json +129 -0
  78. package/Switch/component.json +207 -0
  79. package/Table/component.json +547 -0
  80. package/Tabs/component.json +227 -0
  81. package/Tag/component.json +221 -0
  82. package/TextEditor/component.json +186 -0
  83. package/TextField/component.json +290 -0
  84. package/TimePicker/component.json +176 -0
  85. package/Timeline/component.json +110 -0
  86. package/Title/component.json +156 -0
  87. package/ToggleButton/component.json +153 -0
  88. package/Tooltip/component.json +176 -0
  89. package/Transfer/component.json +157 -0
  90. package/Tree/component.json +512 -0
  91. package/Upload/component.json +450 -0
  92. package/ai-workflows/01-crud-list-multi-drawer.md +278 -0
  93. package/ai-workflows/02-rbac-operation-buttons.md +290 -0
  94. package/ai-workflows/03-complex-form-async-cascade.md +350 -0
  95. package/ai-workflows/04-array-field-form.md +281 -0
  96. package/ai-workflows/05-popconfirm-async-message-queue.md +333 -0
  97. package/ai-workflows/06-modal-drawer-form-workflow.md +385 -0
  98. package/ai-workflows/07-search-filter-table-trio.md +387 -0
  99. package/ai-workflows/08-table-advanced-features.md +365 -0
  100. package/ai-workflows/09-batch-operation-export-progress.md +367 -0
  101. package/ai-workflows/10-cross-component-state-coordination.md +412 -0
  102. package/es/AlignBox/component.json +89 -0
  103. package/es/AlignBox/index.css +1 -1
  104. package/es/AlignBox/index.d.ts +6 -2
  105. package/es/AlignBox/index.js +1 -1
  106. package/es/AlignBox/style/index.css +1 -1
  107. package/es/Anchor/anchorMenu/index.d.ts +2 -1
  108. package/es/Anchor/anchorMenu/index.js +36 -33
  109. package/es/Anchor/component.json +130 -0
  110. package/es/Anchor/index.js +52 -49
  111. package/es/Anchor/type.d.ts +8 -4
  112. package/es/Argv/component.json +216 -0
  113. package/es/Argv/dataGenerator/index.js +1 -1
  114. package/es/Argv/index.d.ts +5 -6
  115. package/es/Argv/index.js +1 -1
  116. package/es/AutoBox/component.json +133 -0
  117. package/es/AutoBox/index.d.ts +3 -3
  118. package/es/AutoBox/index.js +1 -1
  119. package/es/AutoBox/protal.d.ts +2 -2
  120. package/es/AutoBox/protal.js +33 -30
  121. package/es/AutoButton/component.json +109 -0
  122. package/es/AutoButton/index.js +1 -1
  123. package/es/AutoTips/autoTipsMultiline/index.d.ts +1 -1
  124. package/es/AutoTips/autoTipsMultiline/index.js +1 -1
  125. package/es/AutoTips/component.json +121 -0
  126. package/es/AutoTips/index.js +1 -1
  127. package/es/Badge/component.json +92 -0
  128. package/es/Breadcrumbs/component.json +142 -0
  129. package/es/Breadcrumbs/index.js +1 -1
  130. package/es/Button/SplitButton.d.ts +2 -2
  131. package/es/Button/component.json +168 -0
  132. package/es/Button/index.js +44 -44
  133. package/es/ButtonGroup/component.json +132 -0
  134. package/es/ButtonGroup/index.d.ts +1 -1
  135. package/es/Card/component.json +162 -0
  136. package/es/Card/index.d.ts +2 -2
  137. package/es/Card/index.js +2 -2
  138. package/es/Carousel/component.json +142 -0
  139. package/es/Carousel/index.d.ts +1 -1
  140. package/es/Cascader/Cascader.js +1 -1
  141. package/es/Cascader/OptionList/Column.js +1 -1
  142. package/es/Cascader/OptionList/index.js +1 -1
  143. package/es/Cascader/component.json +196 -0
  144. package/es/Cascader/hooks/useEntities.js +7 -7
  145. package/es/Cascader/interface.d.ts +1 -0
  146. package/es/Cascader/utils/commonUtil.d.ts +1 -1
  147. package/es/Cascader/utils/commonUtil.js +16 -16
  148. package/es/Cascader/utils/treeUtil.d.ts +14 -5
  149. package/es/Cascader/utils/treeUtil.js +1 -1
  150. package/es/Checkbox/component.json +138 -0
  151. package/es/CheckboxGroup/component.json +152 -0
  152. package/es/CheckboxGroup/index.js +1 -1
  153. package/es/CodeEditor/component.json +189 -0
  154. package/es/CodeEditor/index.d.ts +11 -10
  155. package/es/CodeEditor/index.js +19 -19
  156. package/es/Collapse/component.json +166 -0
  157. package/es/Collapse/index.d.ts +1 -1
  158. package/es/Collapse/index.js +23 -22
  159. package/es/CollapseBox/component.json +84 -0
  160. package/es/CollapseLayout/component.json +155 -0
  161. package/es/ColorPicker/component.json +142 -0
  162. package/es/ComboSelect/component.json +181 -0
  163. package/es/ComboSelect/index.js +115 -109
  164. package/es/ComboSelect/interface.d.ts +2 -2
  165. package/es/ComboSelect/utils.d.ts +3 -3
  166. package/es/ComboSelect/utils.js +1 -1
  167. package/es/Container/component.json +111 -0
  168. package/es/ContentBox/component.json +81 -0
  169. package/es/CopyText/component.json +118 -0
  170. package/es/CycleSelector/component.json +98 -0
  171. package/es/CycleSelector/index.js +14 -13
  172. package/es/DatePicker/component.json +192 -0
  173. package/es/DatePicker/generatePicker/generateRangePicker.js +11 -11
  174. package/es/DatePicker/generatePicker/generateSinglePicker.js +2 -2
  175. package/es/Descriptions/component.json +142 -0
  176. package/es/Descriptions/index.d.ts +1 -1
  177. package/es/Desktop/component.json +171 -0
  178. package/es/Desktop/index.js +1 -1
  179. package/es/DragVerify/component.json +114 -0
  180. package/es/DragVerify/index.js +19 -19
  181. package/es/Drawer/component.json +200 -0
  182. package/es/Drawer/index.js +86 -86
  183. package/es/Drawer/interface.d.ts +1 -1
  184. package/es/Drawer/util.d.ts +1 -6
  185. package/es/Drawer/util.js +9 -6
  186. package/es/Dropdown/component.json +147 -0
  187. package/es/Dropdown/index.js +1 -1
  188. package/es/DynamicMultiBox/component.json +278 -0
  189. package/es/DynamicMultiBox/formItem.d.ts +1 -1
  190. package/es/DynamicMultiBox/index.js +1 -1
  191. package/es/DynamicMultiBox/rowForm.d.ts +2 -2
  192. package/es/Empty/component.json +123 -0
  193. package/es/Empty/index.css +1 -1
  194. package/es/Empty/index.d.ts +2 -2
  195. package/es/Empty/index.js +27 -26
  196. package/es/Empty/style/index.css +1 -1
  197. package/es/FieldForm/FieldFormItem/ItemHolder.js +1 -1
  198. package/es/FieldForm/FieldFormItem/MemoInput.d.ts +2 -2
  199. package/es/FieldForm/FieldFormItem/StatusProvider.js +1 -1
  200. package/es/FieldForm/FieldFormItem/index.d.ts +6 -6
  201. package/es/FieldForm/Form.d.ts +2 -2
  202. package/es/FieldForm/Form.js +1 -1
  203. package/es/FieldForm/FormItemInput.js +1 -1
  204. package/es/FieldForm/FormItemLabel.js +1 -1
  205. package/es/FieldForm/FormList.d.ts +2 -2
  206. package/es/FieldForm/component.json +196 -0
  207. package/es/FieldForm/context.d.ts +5 -1
  208. package/es/FieldForm/context.js +2 -2
  209. package/es/FieldForm/hooks/useForm.d.ts +4 -3
  210. package/es/FieldForm/hooks/useFormInstance.d.ts +1 -1
  211. package/es/FieldForm/hooks/useFormItemStatus.d.ts +9 -5
  212. package/es/FieldForm/hooks/useFormItemStatus.js +2 -2
  213. package/es/FieldForm/hooks/useItemRef.d.ts +1 -1
  214. package/es/FieldForm/hooks/useItemRef.js +6 -6
  215. package/es/Form/component.json +161 -0
  216. package/es/Form/index.d.ts +52 -49
  217. package/es/Form/index.js +1 -1
  218. package/es/FormItem/compoments/defaultCompoments/index.d.ts +5 -5
  219. package/es/FormItem/compoments/defaultCompoments/index.js +12 -11
  220. package/es/FormItem/compoments/formCheckboxGroup/index.d.ts +2 -2
  221. package/es/FormItem/compoments/formFile/index.js +8 -8
  222. package/es/FormItem/compoments/formRadioGroup/index.d.ts +1 -1
  223. package/es/FormItem/compoments/formSelect/index.d.ts +1 -1
  224. package/es/FormItem/component.json +171 -0
  225. package/es/FormItem/index.d.ts +5 -5
  226. package/es/FormItem/index.js +23 -23
  227. package/es/FormItem/itemType.js +1 -1
  228. package/es/FunctionModal/component.json +197 -0
  229. package/es/FunctionModal/dialog.d.ts +1 -1
  230. package/es/FunctionModal/modalContext.d.ts +4 -1
  231. package/es/GlobalContext/confirmLocale.js +1 -1
  232. package/es/GlobalContext/index.js +1 -1
  233. package/es/Help/component.json +118 -0
  234. package/es/HelperText/component.json +126 -0
  235. package/es/Image/PreviewGroup.js +1 -1
  236. package/es/Image/component.json +165 -0
  237. package/es/Image/index.js +1 -1
  238. package/es/InputCode/component.json +191 -0
  239. package/es/InputCode/index.d.ts +2 -2
  240. package/es/InputLang/component.json +205 -0
  241. package/es/InputLang/index.js +2 -2
  242. package/es/InputNumber/component.json +162 -0
  243. package/es/Label/component.json +126 -0
  244. package/es/Label/index.d.ts +2 -2
  245. package/es/Loading/component.json +91 -0
  246. package/es/Menu/component.json +180 -0
  247. package/es/Menu/verticalMenuList.js +1 -1
  248. package/es/Message/component.json +246 -0
  249. package/es/Message/index.d.ts +2 -2
  250. package/es/Message/index.js +2 -2
  251. package/es/Modal/Confirm/index.d.ts +1 -1
  252. package/es/Modal/Confirm/index.js +1 -1
  253. package/es/Modal/component.json +277 -0
  254. package/es/Modal/index.d.ts +85 -5
  255. package/es/Modal/index.js +159 -122
  256. package/es/Modal/interface.d.ts +1 -0
  257. package/es/MultiBox/component.json +216 -0
  258. package/es/MultiBox/index.js +19 -14
  259. package/es/Notification/component.json +184 -0
  260. package/es/OperateBtn/component.json +134 -0
  261. package/es/OperateBtn/index.d.ts +3 -3
  262. package/es/PageHeader/component.json +112 -0
  263. package/es/PageHeader/horizontalMeun.js +1 -1
  264. package/es/PageHeader/horizontalMeunRight.js +1 -1
  265. package/es/Pagination/component.json +181 -0
  266. package/es/Pagination/index.js +15 -15
  267. package/es/ParauiProvider/index.js +1 -1
  268. package/es/PasswordRules/component.json +105 -0
  269. package/es/PasswordRules/index.d.ts +4 -4
  270. package/es/PopConfirm/component.json +227 -0
  271. package/es/PopConfirm/index.d.ts +1 -1
  272. package/es/PopConfirm/index.js +1 -1
  273. package/es/PopMenu/component.json +131 -0
  274. package/es/PopMenu/hooks.d.ts +1 -1
  275. package/es/PopMenu/index.js +8 -8
  276. package/es/Popover/component.json +165 -0
  277. package/es/Popover/index.js +1 -1
  278. package/es/Progress/component.json +161 -0
  279. package/es/Prompt/component.json +144 -0
  280. package/es/Querying/component.json +96 -0
  281. package/es/Querying/index.css +1 -1
  282. package/es/Querying/index.d.ts +2 -2
  283. package/es/Querying/index.js +20 -19
  284. package/es/Querying/style/index.css +1 -1
  285. package/es/QuickReply/QuickReplyCode/index.js +1 -1
  286. package/es/QuickReply/component.json +129 -0
  287. package/es/QuickReply/index.d.ts +1 -1
  288. package/es/Radio/component.json +136 -0
  289. package/es/RadioGroup/component.json +149 -0
  290. package/es/RangeInput/component.json +198 -0
  291. package/es/RangeInput/index.js +20 -20
  292. package/es/Result/component.json +104 -0
  293. package/es/ScrollBar/component.json +115 -0
  294. package/es/Search/component.json +177 -0
  295. package/es/Search/index.d.ts +1 -1
  296. package/es/Select/component.json +244 -0
  297. package/es/Select/index.js +114 -114
  298. package/es/SelectInput/component.json +184 -0
  299. package/es/Selector/component.json +203 -0
  300. package/es/Selector/index.js +56 -50
  301. package/es/Selector/interface.d.ts +2 -2
  302. package/es/Selector/selectorData/index.js +1 -1
  303. package/es/Selector/selectorMain/index.js +3 -3
  304. package/es/Selector/selectorNode/index.js +1 -1
  305. package/es/Selector/util.d.ts +3 -3
  306. package/es/Selector/util.js +6 -12
  307. package/es/SelectorPicker/component.json +179 -0
  308. package/es/SelectorPicker/index.d.ts +5 -5
  309. package/es/SelectorPicker/index.js +15 -15
  310. package/es/SingleBox/component.json +151 -0
  311. package/es/SingleBox/index.d.ts +2 -2
  312. package/es/Slider/component.json +181 -0
  313. package/es/SortBox/component.json +108 -0
  314. package/es/Status/component.json +104 -0
  315. package/es/Stepper/component.json +129 -0
  316. package/es/Stepper/index.d.ts +2 -2
  317. package/es/Switch/component.json +207 -0
  318. package/es/Switch/index.css +1 -1
  319. package/es/Switch/index.d.ts +3 -2
  320. package/es/Switch/index.js +60 -59
  321. package/es/Switch/style/index.css +1 -1
  322. package/es/Table/component.json +547 -0
  323. package/es/Table/index.d.ts +2 -2
  324. package/es/Table/index.js +385 -382
  325. package/es/Table/interface.d.ts +30 -0
  326. package/es/Table/tableHead.js +1 -1
  327. package/es/Table/util.d.ts +1 -1
  328. package/es/Table/util.js +3 -12
  329. package/es/Tabs/component.json +227 -0
  330. package/es/Tag/component.json +221 -0
  331. package/es/Tag/index.css +1 -1
  332. package/es/Tag/index.d.ts +1 -1
  333. package/es/Tag/index.js +20 -20
  334. package/es/Tag/style/index.css +1 -1
  335. package/es/TextEditor/component.json +186 -0
  336. package/es/TextEditor/index.d.ts +5 -5
  337. package/es/TextEditor/index.js +1 -1
  338. package/es/TextField/component.json +290 -0
  339. package/es/TextField/index.d.ts +2 -2
  340. package/es/TextField/index.js +1 -1
  341. package/es/TimePicker/component.json +176 -0
  342. package/es/Timeline/component.json +110 -0
  343. package/es/Title/component.json +156 -0
  344. package/es/ToggleButton/component.json +153 -0
  345. package/es/ToggleButton/index.js +1 -1
  346. package/es/Tooltip/component.json +176 -0
  347. package/es/Tooltip/index.js +58 -53
  348. package/es/Tooltip/interface.d.ts +14 -1
  349. package/es/Tooltip/utils.js +6 -6
  350. package/es/Transfer/component.json +157 -0
  351. package/es/Tree/OperateBar/index.js +1 -1
  352. package/es/Tree/Tree.js +3 -3
  353. package/es/Tree/component.json +512 -0
  354. package/es/Tree/interface.d.ts +1 -1
  355. package/es/Upload/component.json +450 -0
  356. package/es/Upload/util.js +1 -1
  357. package/es/Utils/snack-kit-shims.d.ts +18 -0
  358. package/es/Utils/snack-kit-shims.js +19 -0
  359. package/es/Utils/type.d.ts +0 -2
  360. package/es/_virtual/index.js +5 -3
  361. package/es/_virtual/index2.js +2 -5
  362. package/es/index.d.ts +2 -0
  363. package/es/index.js +1 -1
  364. package/es/locale/en_US.d.ts +361 -0
  365. package/es/locale/en_US.js +364 -0
  366. package/es/locale/index.d.ts +1 -723
  367. package/es/locale/index2.js +10 -0
  368. package/es/locale/zh_CN.d.ts +361 -0
  369. package/es/locale/zh_CN.js +364 -0
  370. package/es/node_modules/classnames/index.js +1 -1
  371. package/lib/AlignBox/component.json +89 -0
  372. package/lib/AlignBox/index.css +1 -1
  373. package/lib/AlignBox/index.d.ts +6 -2
  374. package/lib/AlignBox/index.js +1 -1
  375. package/lib/AlignBox/style/index.css +1 -1
  376. package/lib/Anchor/anchorMenu/index.d.ts +2 -1
  377. package/lib/Anchor/anchorMenu/index.js +1 -1
  378. package/lib/Anchor/component.json +130 -0
  379. package/lib/Anchor/index.js +1 -1
  380. package/lib/Anchor/type.d.ts +8 -4
  381. package/lib/Argv/component.json +216 -0
  382. package/lib/Argv/dataGenerator/index.js +1 -1
  383. package/lib/Argv/index.d.ts +5 -6
  384. package/lib/Argv/index.js +1 -1
  385. package/lib/AutoBox/component.json +133 -0
  386. package/lib/AutoBox/index.d.ts +3 -3
  387. package/lib/AutoBox/index.js +1 -1
  388. package/lib/AutoBox/protal.d.ts +2 -2
  389. package/lib/AutoBox/protal.js +1 -1
  390. package/lib/AutoButton/component.json +109 -0
  391. package/lib/AutoButton/index.js +1 -1
  392. package/lib/AutoTips/autoTipsMultiline/index.d.ts +1 -1
  393. package/lib/AutoTips/autoTipsMultiline/index.js +1 -1
  394. package/lib/AutoTips/component.json +121 -0
  395. package/lib/AutoTips/index.js +1 -1
  396. package/lib/Badge/component.json +92 -0
  397. package/lib/Breadcrumbs/component.json +142 -0
  398. package/lib/Breadcrumbs/index.js +1 -1
  399. package/lib/Button/SplitButton.d.ts +2 -2
  400. package/lib/Button/component.json +168 -0
  401. package/lib/Button/index.js +1 -1
  402. package/lib/ButtonGroup/component.json +132 -0
  403. package/lib/ButtonGroup/index.d.ts +1 -1
  404. package/lib/Card/component.json +162 -0
  405. package/lib/Card/index.d.ts +2 -2
  406. package/lib/Card/index.js +1 -1
  407. package/lib/Carousel/component.json +142 -0
  408. package/lib/Carousel/index.d.ts +1 -1
  409. package/lib/Cascader/Cascader.js +1 -1
  410. package/lib/Cascader/OptionList/Column.js +1 -1
  411. package/lib/Cascader/OptionList/index.js +1 -1
  412. package/lib/Cascader/component.json +196 -0
  413. package/lib/Cascader/hooks/useEntities.js +1 -1
  414. package/lib/Cascader/interface.d.ts +1 -0
  415. package/lib/Cascader/utils/commonUtil.d.ts +1 -1
  416. package/lib/Cascader/utils/commonUtil.js +1 -1
  417. package/lib/Cascader/utils/treeUtil.d.ts +14 -5
  418. package/lib/Cascader/utils/treeUtil.js +1 -1
  419. package/lib/Checkbox/component.json +138 -0
  420. package/lib/CheckboxGroup/component.json +152 -0
  421. package/lib/CheckboxGroup/index.js +1 -1
  422. package/lib/CodeEditor/component.json +189 -0
  423. package/lib/CodeEditor/index.d.ts +11 -10
  424. package/lib/CodeEditor/index.js +1 -1
  425. package/lib/Collapse/component.json +166 -0
  426. package/lib/Collapse/index.d.ts +1 -1
  427. package/lib/Collapse/index.js +1 -1
  428. package/lib/CollapseBox/component.json +84 -0
  429. package/lib/CollapseLayout/component.json +155 -0
  430. package/lib/ColorPicker/component.json +142 -0
  431. package/lib/ComboSelect/component.json +181 -0
  432. package/lib/ComboSelect/index.js +1 -1
  433. package/lib/ComboSelect/interface.d.ts +2 -2
  434. package/lib/ComboSelect/utils.d.ts +3 -3
  435. package/lib/ComboSelect/utils.js +1 -1
  436. package/lib/Container/component.json +111 -0
  437. package/lib/ContentBox/component.json +81 -0
  438. package/lib/CopyText/component.json +118 -0
  439. package/lib/CycleSelector/component.json +98 -0
  440. package/lib/CycleSelector/index.js +1 -1
  441. package/lib/DatePicker/component.json +192 -0
  442. package/lib/DatePicker/generatePicker/generateRangePicker.js +1 -1
  443. package/lib/DatePicker/generatePicker/generateSinglePicker.js +1 -1
  444. package/lib/Descriptions/component.json +142 -0
  445. package/lib/Descriptions/index.d.ts +1 -1
  446. package/lib/Desktop/component.json +171 -0
  447. package/lib/Desktop/index.js +1 -1
  448. package/lib/DragVerify/component.json +114 -0
  449. package/lib/DragVerify/index.js +1 -1
  450. package/lib/Drawer/component.json +200 -0
  451. package/lib/Drawer/index.js +1 -1
  452. package/lib/Drawer/interface.d.ts +1 -1
  453. package/lib/Drawer/util.d.ts +1 -6
  454. package/lib/Drawer/util.js +1 -1
  455. package/lib/Dropdown/component.json +147 -0
  456. package/lib/Dropdown/index.js +1 -1
  457. package/lib/DynamicMultiBox/component.json +278 -0
  458. package/lib/DynamicMultiBox/formItem.d.ts +1 -1
  459. package/lib/DynamicMultiBox/index.js +1 -1
  460. package/lib/DynamicMultiBox/rowForm.d.ts +2 -2
  461. package/lib/Empty/component.json +123 -0
  462. package/lib/Empty/index.css +1 -1
  463. package/lib/Empty/index.d.ts +2 -2
  464. package/lib/Empty/index.js +1 -1
  465. package/lib/Empty/style/index.css +1 -1
  466. package/lib/FieldForm/FieldFormItem/ItemHolder.js +1 -1
  467. package/lib/FieldForm/FieldFormItem/MemoInput.d.ts +2 -2
  468. package/lib/FieldForm/FieldFormItem/StatusProvider.js +1 -1
  469. package/lib/FieldForm/FieldFormItem/index.d.ts +6 -6
  470. package/lib/FieldForm/Form.d.ts +2 -2
  471. package/lib/FieldForm/Form.js +1 -1
  472. package/lib/FieldForm/FormItemInput.js +1 -1
  473. package/lib/FieldForm/FormItemLabel.js +1 -1
  474. package/lib/FieldForm/FormList.d.ts +2 -2
  475. package/lib/FieldForm/component.json +196 -0
  476. package/lib/FieldForm/context.d.ts +5 -1
  477. package/lib/FieldForm/context.js +1 -1
  478. package/lib/FieldForm/hooks/useForm.d.ts +4 -3
  479. package/lib/FieldForm/hooks/useFormInstance.d.ts +1 -1
  480. package/lib/FieldForm/hooks/useFormItemStatus.d.ts +9 -5
  481. package/lib/FieldForm/hooks/useFormItemStatus.js +1 -1
  482. package/lib/FieldForm/hooks/useItemRef.d.ts +1 -1
  483. package/lib/FieldForm/hooks/useItemRef.js +1 -1
  484. package/lib/Form/component.json +161 -0
  485. package/lib/Form/index.d.ts +52 -49
  486. package/lib/Form/index.js +1 -1
  487. package/lib/FormItem/compoments/defaultCompoments/index.d.ts +5 -5
  488. package/lib/FormItem/compoments/defaultCompoments/index.js +1 -1
  489. package/lib/FormItem/compoments/formCheckboxGroup/index.d.ts +2 -2
  490. package/lib/FormItem/compoments/formFile/index.js +1 -1
  491. package/lib/FormItem/compoments/formRadioGroup/index.d.ts +1 -1
  492. package/lib/FormItem/compoments/formSelect/index.d.ts +1 -1
  493. package/lib/FormItem/component.json +171 -0
  494. package/lib/FormItem/index.d.ts +5 -5
  495. package/lib/FormItem/index.js +1 -1
  496. package/lib/FormItem/itemType.js +1 -1
  497. package/lib/FunctionModal/component.json +197 -0
  498. package/lib/FunctionModal/dialog.d.ts +1 -1
  499. package/lib/FunctionModal/modalContext.d.ts +4 -1
  500. package/lib/GlobalContext/confirmLocale.js +1 -1
  501. package/lib/GlobalContext/index.js +1 -1
  502. package/lib/Help/component.json +118 -0
  503. package/lib/HelperText/component.json +126 -0
  504. package/lib/Image/PreviewGroup.js +1 -1
  505. package/lib/Image/component.json +165 -0
  506. package/lib/Image/index.js +1 -1
  507. package/lib/InputCode/component.json +191 -0
  508. package/lib/InputCode/index.d.ts +2 -2
  509. package/lib/InputLang/component.json +205 -0
  510. package/lib/InputLang/index.js +1 -1
  511. package/lib/InputNumber/component.json +162 -0
  512. package/lib/Label/component.json +126 -0
  513. package/lib/Label/index.d.ts +2 -2
  514. package/lib/Loading/component.json +91 -0
  515. package/lib/Menu/component.json +180 -0
  516. package/lib/Menu/verticalMenuList.js +1 -1
  517. package/lib/Message/component.json +246 -0
  518. package/lib/Message/index.d.ts +2 -2
  519. package/lib/Message/index.js +1 -1
  520. package/lib/Modal/Confirm/index.d.ts +1 -1
  521. package/lib/Modal/Confirm/index.js +1 -1
  522. package/lib/Modal/component.json +277 -0
  523. package/lib/Modal/index.d.ts +85 -5
  524. package/lib/Modal/index.js +1 -1
  525. package/lib/Modal/interface.d.ts +1 -0
  526. package/lib/MultiBox/component.json +216 -0
  527. package/lib/MultiBox/index.js +1 -1
  528. package/lib/Notification/component.json +184 -0
  529. package/lib/OperateBtn/component.json +134 -0
  530. package/lib/OperateBtn/index.d.ts +3 -3
  531. package/lib/PageHeader/component.json +112 -0
  532. package/lib/PageHeader/horizontalMeun.js +1 -1
  533. package/lib/PageHeader/horizontalMeunRight.js +1 -1
  534. package/lib/Pagination/component.json +181 -0
  535. package/lib/Pagination/index.js +1 -1
  536. package/lib/ParauiProvider/index.js +1 -1
  537. package/lib/PasswordRules/component.json +105 -0
  538. package/lib/PasswordRules/index.d.ts +4 -4
  539. package/lib/PopConfirm/component.json +227 -0
  540. package/lib/PopConfirm/index.d.ts +1 -1
  541. package/lib/PopConfirm/index.js +1 -1
  542. package/lib/PopMenu/component.json +131 -0
  543. package/lib/PopMenu/hooks.d.ts +1 -1
  544. package/lib/PopMenu/index.js +1 -1
  545. package/lib/Popover/component.json +165 -0
  546. package/lib/Popover/index.js +1 -1
  547. package/lib/Progress/component.json +161 -0
  548. package/lib/Prompt/component.json +144 -0
  549. package/lib/Querying/component.json +96 -0
  550. package/lib/Querying/index.css +1 -1
  551. package/lib/Querying/index.d.ts +2 -2
  552. package/lib/Querying/index.js +1 -1
  553. package/lib/Querying/style/index.css +1 -1
  554. package/lib/QuickReply/QuickReplyCode/index.js +1 -1
  555. package/lib/QuickReply/component.json +129 -0
  556. package/lib/QuickReply/index.d.ts +1 -1
  557. package/lib/Radio/component.json +136 -0
  558. package/lib/RadioGroup/component.json +149 -0
  559. package/lib/RangeInput/component.json +198 -0
  560. package/lib/RangeInput/index.js +1 -1
  561. package/lib/Result/component.json +104 -0
  562. package/lib/ScrollBar/component.json +115 -0
  563. package/lib/Search/component.json +177 -0
  564. package/lib/Search/index.d.ts +1 -1
  565. package/lib/Select/component.json +244 -0
  566. package/lib/Select/index.js +1 -1
  567. package/lib/SelectInput/component.json +184 -0
  568. package/lib/Selector/component.json +203 -0
  569. package/lib/Selector/index.js +1 -1
  570. package/lib/Selector/interface.d.ts +2 -2
  571. package/lib/Selector/selectorData/index.js +1 -1
  572. package/lib/Selector/selectorMain/index.js +1 -1
  573. package/lib/Selector/selectorNode/index.js +1 -1
  574. package/lib/Selector/util.d.ts +3 -3
  575. package/lib/Selector/util.js +1 -1
  576. package/lib/SelectorPicker/component.json +179 -0
  577. package/lib/SelectorPicker/index.d.ts +5 -5
  578. package/lib/SelectorPicker/index.js +1 -1
  579. package/lib/SingleBox/component.json +151 -0
  580. package/lib/SingleBox/index.d.ts +2 -2
  581. package/lib/Slider/component.json +181 -0
  582. package/lib/SortBox/component.json +108 -0
  583. package/lib/Status/component.json +104 -0
  584. package/lib/Stepper/component.json +129 -0
  585. package/lib/Stepper/index.d.ts +2 -2
  586. package/lib/Switch/component.json +207 -0
  587. package/lib/Switch/index.css +1 -1
  588. package/lib/Switch/index.d.ts +3 -2
  589. package/lib/Switch/index.js +1 -1
  590. package/lib/Switch/style/index.css +1 -1
  591. package/lib/Table/component.json +547 -0
  592. package/lib/Table/index.d.ts +2 -2
  593. package/lib/Table/index.js +1 -1
  594. package/lib/Table/interface.d.ts +30 -0
  595. package/lib/Table/tableHead.js +1 -1
  596. package/lib/Table/util.d.ts +1 -1
  597. package/lib/Table/util.js +1 -1
  598. package/lib/Tabs/component.json +227 -0
  599. package/lib/Tag/component.json +221 -0
  600. package/lib/Tag/index.css +1 -1
  601. package/lib/Tag/index.d.ts +1 -1
  602. package/lib/Tag/index.js +1 -1
  603. package/lib/Tag/style/index.css +1 -1
  604. package/lib/TextEditor/component.json +186 -0
  605. package/lib/TextEditor/index.d.ts +5 -5
  606. package/lib/TextEditor/index.js +1 -1
  607. package/lib/TextField/component.json +290 -0
  608. package/lib/TextField/index.d.ts +2 -2
  609. package/lib/TextField/index.js +1 -1
  610. package/lib/TimePicker/component.json +176 -0
  611. package/lib/Timeline/component.json +110 -0
  612. package/lib/Title/component.json +156 -0
  613. package/lib/ToggleButton/component.json +153 -0
  614. package/lib/ToggleButton/index.js +1 -1
  615. package/lib/Tooltip/component.json +176 -0
  616. package/lib/Tooltip/index.js +1 -1
  617. package/lib/Tooltip/interface.d.ts +14 -1
  618. package/lib/Tooltip/utils.js +1 -1
  619. package/lib/Transfer/component.json +157 -0
  620. package/lib/Tree/OperateBar/index.js +2 -2
  621. package/lib/Tree/Tree.js +1 -1
  622. package/lib/Tree/component.json +512 -0
  623. package/lib/Tree/interface.d.ts +1 -1
  624. package/lib/Upload/component.json +450 -0
  625. package/lib/Upload/util.js +1 -1
  626. package/lib/Utils/snack-kit-shims.d.ts +18 -0
  627. package/lib/Utils/snack-kit-shims.js +2 -0
  628. package/lib/Utils/type.d.ts +0 -2
  629. package/lib/_virtual/index.js +1 -1
  630. package/lib/_virtual/index2.js +1 -1
  631. package/lib/index.d.ts +2 -0
  632. package/lib/index.js +1 -1
  633. package/lib/locale/en_US.d.ts +361 -0
  634. package/lib/locale/en_US.js +2 -0
  635. package/lib/locale/index.d.ts +1 -723
  636. package/lib/locale/index2.js +2 -0
  637. package/lib/locale/zh_CN.d.ts +361 -0
  638. package/lib/locale/zh_CN.js +2 -0
  639. package/lib/node_modules/classnames/index.js +1 -1
  640. package/package.json +11 -4
  641. package/es/_virtual/index3.js +0 -5
  642. package/es/_virtual/index4.js +0 -5
  643. package/es/node_modules/@para-snack/core/dist/index.js +0 -5231
  644. package/lib/_virtual/index3.js +0 -2
  645. package/lib/_virtual/index4.js +0 -2
  646. package/lib/node_modules/@para-snack/core/dist/index.js +0 -20
  647. /package/es/{Utils/Hooks → Hooks}/useResizeObserver.d.ts +0 -0
  648. /package/es/{Utils/Hooks → Hooks}/useResizeObserver.js +0 -0
  649. /package/lib/{Utils/Hooks → Hooks}/useResizeObserver.d.ts +0 -0
  650. /package/lib/{Utils/Hooks → Hooks}/useResizeObserver.js +0 -0
@@ -0,0 +1,123 @@
1
+ {
2
+ "name": "Empty",
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
+ },
23
+ "states": [
24
+ "visible"
25
+ ],
26
+ "idealProps": {
27
+ "size": {
28
+ "type": "enum",
29
+ "values": [
30
+ "small",
31
+ "medium",
32
+ "large"
33
+ ],
34
+ "default": "large",
35
+ "description": "尺寸。三档统一为 small / medium / large(2026-05-08 跨组件命名 epic §3.1 选项 B 实施,medium 为新增视觉档,默认 large 不变,既有 small/large 调用零回归)"
36
+ },
37
+ "image": {
38
+ "type": "ReactNode | string",
39
+ "description": "自定义图片节点。传字符串时渲染为 <img src={image}>,传 ReactNode 时直接渲染。**不传时按 size 自动选内置图:small=SmallNull, medium/large=LargeNull**"
40
+ },
41
+ "description": {
42
+ "type": "ReactNode | string",
43
+ "description": "自定义描述内容;不传时显示国际化默认文案(zh_CN='暂无内容')"
44
+ },
45
+ "imageStyle": {
46
+ "type": "object",
47
+ "objectShape": {
48
+ "height": { "type": "string | number", "description": "图片高度" },
49
+ "width": { "type": "string | number", "description": "图片宽度" }
50
+ },
51
+ "completeExample": "{ height: 60 }",
52
+ "description": "图片区域内联样式(React.CSSProperties 子集)"
53
+ },
54
+ "showRefresh": {
55
+ "type": "boolean",
56
+ "default": false,
57
+ "description": "是否显示刷新按钮;配合 onRefresh 使用"
58
+ },
59
+ "onRefresh": {
60
+ "type": "(event: React.MouseEvent) => void",
61
+ "description": "点击刷新按钮回调;仅 showRefresh=true 时展示触发"
62
+ },
63
+ "customEmpty": {
64
+ "type": "ReactNode",
65
+ "description": "**完整替换**整个空状态内容(包括图片 + 描述),传入后 image / description / showRefresh 全部不渲染(src/Empty/index.tsx 90 行 if(customEmpty) 分支实证)"
66
+ },
67
+ "className": {
68
+ "type": "string",
69
+ "description": "外层容器自定义类名"
70
+ },
71
+ "style": {
72
+ "type": "React.CSSProperties",
73
+ "description": "外层容器 style"
74
+ }
75
+ },
76
+ "do": [
77
+ "在无数据时提供 Empty 状态",
78
+ "提供引导操作:配合 showRefresh + onRefresh 增加刷新入口",
79
+ "需要完整自定义布局时使用 customEmpty 整体替换",
80
+ "size 默认 large,需要紧凑展示(如表格内嵌)时用 small"
81
+ ],
82
+ "dont": [
83
+ "在 Loading 时显示 Empty——应先消除 Loading 遮罩再渲染 Empty",
84
+ "同时传 customEmpty 和 description/image——customEmpty 会覆盖后者,造成困惑"
85
+ ],
86
+ "events": {
87
+ "onRefresh": {
88
+ "signature": "(event: React.MouseEvent) => void",
89
+ "asyncSupported": false,
90
+ "examples": [
91
+ "showRefresh={true} onRefresh={() => fetchData()} — 点击刷新文字触发重新请求",
92
+ "onRefresh={(e) => { e.stopPropagation(); reload(); }} — 阻止冒泡后重载",
93
+ "配合 loading state:onRefresh={() => { setLoading(true); fetch().finally(() => setLoading(false)); }}"
94
+ ],
95
+ "commonMistakes": [
96
+ "不传 showRefresh={true} 只传 onRefresh — 刷新按钮不会渲染,回调永不触发",
97
+ "期望点击图片触发 onRefresh — 只有文字区域的刷新链接触发,图片无点击事件",
98
+ "异步刷新后没有给用户反馈(Loading 状态)— 应结合父组件 loading 状态"
99
+ ]
100
+ }
101
+ },
102
+ "typescriptPitfalls": [
103
+ {
104
+ "issue": "image prop 类型是 ReactNode | string,传 null 会触发 TS2322",
105
+ "wrong": "const img: React.ReactNode | null = getImg(); <Empty image={img} /> // 可能 null,TS 报错",
106
+ "right": "const img = getImg(); <Empty image={img ?? undefined} /> // 用 undefined 替代 null"
107
+ },
108
+ {
109
+ "issue": "description 类型是 ReactNode,不支持 false/null 显式传递",
110
+ "wrong": "<Empty description={null} /> // 期望显示默认文案,但 null 在 ReactNode 中合法,结果不渲染描述区域",
111
+ "right": "<Empty /> // 不传 description 时自动用国际化默认文案('暂无内容')"
112
+ },
113
+ {
114
+ "issue": "customEmpty 传入后 image/description/showRefresh 均不生效——源码 if(customEmpty) 分支直接 return customEmpty",
115
+ "wrong": "<Empty customEmpty={<CustomUI />} description='还有数据哦' /> // description 被 customEmpty 覆盖",
116
+ "right": "// 要自定义描述同时用 customEmpty:把描述塞进 customEmpty 里\n<Empty customEmpty={<><CustomUI /><p>还有数据哦</p></>} />"
117
+ }
118
+ ],
119
+ "mapping": {
120
+ "realComponent": "Empty",
121
+ "adapter": null
122
+ }
123
+ }
@@ -1 +1 @@
1
- @charset "UTF-8";.paraui-v4-empty{display:inline-flex;flex-direction:column;align-items:center}.paraui-v4-empty>.empty-image{line-height:0;overflow:hidden}.paraui-v4-empty>.empty-image img{width:100%}.paraui-v4-empty .empty-image-large{width:334px;height:238px}.paraui-v4-empty .empty-image-small{width:120px;height:120px}.paraui-v4-empty>.empty-description{line-height:17px;font-size:14px;font-weight:400;color:#5c6573}.paraui-v4-empty>.empty-description>.empty-description-refresh{display:inline-block}.paraui-v4-empty>.empty-description>.empty-description-refresh span{color:#2e65e6;cursor:pointer}.paraui-v4-empty>.empty-description>.empty-description-refresh span:hover{color:#5783eb}.paraui-v4-empty.paraui-v4-empty-large>.empty-description{margin-top:20px}.paraui-v4-empty.paraui-v4-empty-small>.empty-description{margin-top:10px;font-size:14px}
1
+ @charset "UTF-8";.paraui-v4-empty{display:inline-flex;flex-direction:column;align-items:center}.paraui-v4-empty>.empty-image{overflow:hidden;line-height:0}.paraui-v4-empty>.empty-image img{width:100%}.paraui-v4-empty .empty-image-large{width:334px;height:238px}.paraui-v4-empty .empty-image-medium{width:220px;height:180px}.paraui-v4-empty .empty-image-small{width:120px;height:120px}.paraui-v4-empty>.empty-description{font-size:14px;font-weight:400;line-height:17px;color:#5c6573}.paraui-v4-empty>.empty-description>.empty-description-refresh{display:inline-block}.paraui-v4-empty>.empty-description>.empty-description-refresh span{color:#2e65e6;cursor:pointer}.paraui-v4-empty>.empty-description>.empty-description-refresh span:hover{color:#5783eb}.paraui-v4-empty.paraui-v4-empty-large>.empty-description{margin-top:20px}.paraui-v4-empty.paraui-v4-empty-medium>.empty-description{margin-top:15px;font-size:14px}.paraui-v4-empty.paraui-v4-empty-small>.empty-description{margin-top:10px;font-size:14px}
@@ -5,7 +5,7 @@ export interface EmptyProps {
5
5
  /** style */
6
6
  style?: React.CSSProperties;
7
7
  /** 尺寸 */
8
- size?: 'large' | 'small';
8
+ size?: 'small' | 'medium' | 'large';
9
9
  /** 图片样式 */
10
10
  imageStyle?: React.CSSProperties;
11
11
  /** 图片 */
@@ -18,7 +18,7 @@ export interface EmptyProps {
18
18
  onRefresh?: (event: React.MouseEvent) => void;
19
19
  /** 自定义空节点 */
20
20
  customEmpty?: React.ReactNode;
21
- [name: string]: any;
21
+ [name: string]: unknown;
22
22
  }
23
23
  declare const Empty: FC<EmptyProps>;
24
24
  export default Empty;
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require('./index.css');const e=require("../_virtual/jsx-runtime.js"),R=require("clsx"),a=require("./images/index.js"),h=require("../GlobalContext/useFormatMessage.js"),N=require("./lang/index.js"),q=require("../Hooks/useGlobalProps.js"),c=require("../GlobalContext/constant.js");;/* empty css */const $={large:e.jsxRuntimeExports.jsx(a.LargeNull,{}),small:e.jsxRuntimeExports.jsx(a.SmallNull,{})},v=l=>{const{className:u,style:x,size:t="large",imageStyle:p,image:i=$[t],description:o,showRefresh:d=!1,onRefresh:j,customEmpty:m}=q.default(l,"Empty"),r=h.default("Empty",N.default),f=E=>{j?.(E)},s=typeof o<"u"?o:r({id:"noData"}),g=typeof s=="string"?s:"empty";let n=null;const y=d?e.jsxRuntimeExports.jsxs("span",{className:"empty-description-refresh",children:[r({id:"click"}),e.jsxRuntimeExports.jsx("span",{onClick:f,children:r({id:"refresh"})})]}):null;return typeof i=="string"?n=e.jsxRuntimeExports.jsx("img",{src:i,alt:g}):n=i,e.jsxRuntimeExports.jsx("div",{className:R(`${c.$prefixCls}-empty`,u,`${c.$prefixCls}-empty-${t}`),style:x,children:m||e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx("div",{className:`empty-image ${l?.image?"":`empty-image-${t}`}`,style:p,children:n}),s&&e.jsxRuntimeExports.jsxs("div",{className:"empty-description",children:[e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:s}),y]})]})})};exports.default=v;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require('./index.css');const e=require("../_virtual/jsx-runtime.js"),R=require("clsx"),l=require("./images/index.js"),h=require("../GlobalContext/useFormatMessage.js"),N=require("./lang/index.js"),q=require("../Hooks/useGlobalProps.js"),u=require("../GlobalContext/constant.js");;/* empty css */const $={large:e.jsxRuntimeExports.jsx(l.LargeNull,{}),medium:e.jsxRuntimeExports.jsx(l.LargeNull,{}),small:e.jsxRuntimeExports.jsx(l.SmallNull,{})},v=o=>{const{className:x,style:c,size:t="large",imageStyle:p,image:i=$[t],description:m,showRefresh:d=!1,onRefresh:j,customEmpty:a}=q.default(o,"Empty"),r=h.default("Empty",N.default),g=E=>{j?.(E)},s=typeof m<"u"?m:r({id:"noData"}),f=typeof s=="string"?s:"empty";let n=null;const y=d?e.jsxRuntimeExports.jsxs("span",{className:"empty-description-refresh",children:[r({id:"click"}),e.jsxRuntimeExports.jsx("span",{onClick:g,children:r({id:"refresh"})})]}):null;return typeof i=="string"?n=e.jsxRuntimeExports.jsx("img",{src:i,alt:f}):n=i,e.jsxRuntimeExports.jsx("div",{className:R(`${u.$prefixCls}-empty`,x,`${u.$prefixCls}-empty-${t}`),style:c,children:a||e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx("div",{className:`empty-image ${o?.image?"":`empty-image-${t}`}`,style:p,children:n}),s&&e.jsxRuntimeExports.jsxs("div",{className:"empty-description",children:[e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:s}),y]})]})})};exports.default=v;
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- .paraui-v4-empty{display:inline-flex;flex-direction:column;align-items:center}.paraui-v4-empty>.empty-image{line-height:0;overflow:hidden}.paraui-v4-empty>.empty-image img{width:100%}.paraui-v4-empty .empty-image-large{width:334px;height:238px}.paraui-v4-empty .empty-image-small{width:120px;height:120px}.paraui-v4-empty>.empty-description{line-height:17px;font-size:14px;font-weight:400;color:#5c6573}.paraui-v4-empty>.empty-description>.empty-description-refresh{display:inline-block}.paraui-v4-empty>.empty-description>.empty-description-refresh span{color:#2e65e6;cursor:pointer}.paraui-v4-empty>.empty-description>.empty-description-refresh span:hover{color:#5783eb}.paraui-v4-empty.paraui-v4-empty-large>.empty-description{margin-top:20px}.paraui-v4-empty.paraui-v4-empty-small>.empty-description{margin-top:10px;font-size:14px}
1
+ .paraui-v4-empty{display:inline-flex;flex-direction:column;align-items:center}.paraui-v4-empty>.empty-image{overflow:hidden;line-height:0}.paraui-v4-empty>.empty-image img{width:100%}.paraui-v4-empty .empty-image-large{width:334px;height:238px}.paraui-v4-empty .empty-image-medium{width:220px;height:180px}.paraui-v4-empty .empty-image-small{width:120px;height:120px}.paraui-v4-empty>.empty-description{font-size:14px;font-weight:400;line-height:17px;color:#5c6573}.paraui-v4-empty>.empty-description>.empty-description-refresh{display:inline-block}.paraui-v4-empty>.empty-description>.empty-description-refresh span{color:#2e65e6;cursor:pointer}.paraui-v4-empty>.empty-description>.empty-description-refresh span:hover{color:#5783eb}.paraui-v4-empty.paraui-v4-empty-large>.empty-description{margin-top:20px}.paraui-v4-empty.paraui-v4-empty-medium>.empty-description{margin-top:15px;font-size:14px}.paraui-v4-empty.paraui-v4-empty-small>.empty-description{margin-top:10px;font-size:14px}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("../../_virtual/jsx-runtime.js"),n=require("react"),F=require("../../_virtual/index2.js"),H=require("rc-util/lib/Dom/isVisible"),N=require("rc-util/lib/hooks/useLayoutEffect"),h=require("../context.js"),O=require("../FormItemLabel.js"),T=require("../FormItemInput.js"),V=require("./StatusProvider.js");function W(a){const{className:p,style:b,helperText:o,errors:c,warnings:d,status:e,hidden:j,children:y,fieldId:r,required:q,onSubItemMetaChange:S,layout:m,hideLabel:v,hideError:E,noSpacing:I,label:R,labelProps:C,labelAlign:L,colon:M,labelWidth:P,labelWrap:_}=a,{prefixCls:i,layout:x}=n.useContext(h.FormContext),l=n.useMemo(()=>m??x,[m,x]),s=n.useRef(null),f=!!(o!=null||c.length||d.length),$=!!s.current&&H(s.current),[w,g]=n.useState(null);N(()=>{if(f&&s.current){const u=getComputedStyle(s.current);g(parseInt(u.marginBottom,10))}},[f,$]);const B=u=>{u||g(null)};return t.jsxRuntimeExports.jsx(V.default,{...a,prefixCls:i,children:t.jsxRuntimeExports.jsxs("div",{className:F.default(p,`${i}-item`,{[`${i}-item__${r}`]:r,"is-success":e==="success","is-warning":e==="warning","is-error":e==="error","is-validating":e==="validating","is-hidden":j,[`is-${l}`]:l}),style:b,children:[t.jsxRuntimeExports.jsx(O.default,{fieldId:r,label:R,labelWidth:P,labelWrap:_,labelAlign:L,colon:M,labelProps:{required:q,...C},hideLabel:v,layout:l}),t.jsxRuntimeExports.jsx(T.default,{fieldId:r,errors:c,warnings:d,status:e,helperText:o,marginBottom:w,onErrorVisibleChanged:B,hideError:E,noSpacing:I,children:t.jsxRuntimeExports.jsx(h.NoStyleItemContext.Provider,{value:S,children:y})})]})})}exports.default=W;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("../../_virtual/jsx-runtime.js"),n=require("react"),F=require("../../_virtual/index.js"),H=require("rc-util/lib/Dom/isVisible"),N=require("rc-util/lib/hooks/useLayoutEffect"),h=require("../context.js"),O=require("../FormItemLabel.js"),T=require("../FormItemInput.js"),V=require("./StatusProvider.js");function W(a){const{className:p,style:b,helperText:o,errors:c,warnings:d,status:e,hidden:j,children:y,fieldId:r,required:q,onSubItemMetaChange:S,layout:m,hideLabel:v,hideError:E,noSpacing:I,label:R,labelProps:C,labelAlign:L,colon:M,labelWidth:P,labelWrap:_}=a,{prefixCls:i,layout:x}=n.useContext(h.FormContext),l=n.useMemo(()=>m??x,[m,x]),s=n.useRef(null),f=!!(o!=null||c.length||d.length),$=!!s.current&&H(s.current),[w,g]=n.useState(null);N(()=>{if(f&&s.current){const u=getComputedStyle(s.current);g(parseInt(u.marginBottom,10))}},[f,$]);const B=u=>{u||g(null)};return t.jsxRuntimeExports.jsx(V.default,{...a,prefixCls:i,children:t.jsxRuntimeExports.jsxs("div",{className:F.default(p,`${i}-item`,{[`${i}-item__${r}`]:r,"is-success":e==="success","is-warning":e==="warning","is-error":e==="error","is-validating":e==="validating","is-hidden":j,[`is-${l}`]:l}),style:b,children:[t.jsxRuntimeExports.jsx(O.default,{fieldId:r,label:R,labelWidth:P,labelWrap:_,labelAlign:L,colon:M,labelProps:{required:q,...C},hideLabel:v,layout:l}),t.jsxRuntimeExports.jsx(T.default,{fieldId:r,errors:c,warnings:d,status:e,helperText:o,marginBottom:w,onErrorVisibleChanged:B,hideError:E,noSpacing:I,children:t.jsxRuntimeExports.jsx(h.NoStyleItemContext.Provider,{value:S,children:y})})]})})}exports.default=W;
2
2
  //# sourceMappingURL=ItemHolder.js.map
@@ -1,9 +1,9 @@
1
1
  import { default as React } from 'react';
2
2
  interface MemoInputProps {
3
3
  control: object;
4
- update: any;
4
+ update: unknown;
5
5
  children: React.ReactNode;
6
- childProps: any[];
6
+ childProps: unknown[];
7
7
  }
8
8
  declare const _default: React.MemoExoticComponent<({ children }: MemoInputProps) => JSX.Element>;
9
9
  export default _default;
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o=require("../../_virtual/jsx-runtime.js"),l=require("react"),j=require("../../node_modules/@para-ui/icons/Loading/index.js"),C=require("../../node_modules/@para-ui/icons/CheckCircleF/index.js"),g=require("../../node_modules/@para-ui/icons/CloseCircleF/index.js"),k=require("../../node_modules/@para-ui/icons/WarningCircleF/index.js"),v=require("../../_virtual/index2.js"),x=require("../context.js"),$=require("../util.js"),S={success:C.CheckCircleF,warning:k.WarningCircleF,error:g.CloseCircleF,validating:j.Loading};function R({children:I,errors:r,warnings:s,hasFeedback:e,validateStatus:p,prefixCls:u,meta:f,noStyle:c}){const t=$.getStatus(r,s,f,null,!!e,p),{isFormItemInput:i,status:a,hasFeedback:q,feedbackIcon:F}=l.useContext(x.FormItemInputContext),b=l.useMemo(()=>{let d;if(e){const m=t&&S[t];d=m?o.jsxRuntimeExports.jsx("span",{className:v.default(`${u}-feedback-icon`,`${u}-feedback-icon-${t}`),children:o.jsxRuntimeExports.jsx(m,{})}):null}const n={status:t||"",errors:r,warnings:s,hasFeedback:!!e,feedbackIcon:d,isFormItemInput:!0};return c&&(n.status=(t??a)||"",n.isFormItemInput=i,n.hasFeedback=!!(e??q),n.feedbackIcon=e!==void 0?n.feedbackIcon:F),n},[t,e,c,i,a]);return o.jsxRuntimeExports.jsx(x.FormItemInputContext.Provider,{value:b,children:I})}exports.default=R;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o=require("../../_virtual/jsx-runtime.js"),l=require("react"),j=require("../../node_modules/@para-ui/icons/Loading/index.js"),C=require("../../node_modules/@para-ui/icons/CheckCircleF/index.js"),g=require("../../node_modules/@para-ui/icons/CloseCircleF/index.js"),k=require("../../node_modules/@para-ui/icons/WarningCircleF/index.js"),v=require("../../_virtual/index.js"),x=require("../context.js"),$=require("../util.js"),S={success:C.CheckCircleF,warning:k.WarningCircleF,error:g.CloseCircleF,validating:j.Loading};function R({children:I,errors:r,warnings:s,hasFeedback:e,validateStatus:p,prefixCls:u,meta:f,noStyle:c}){const t=$.getStatus(r,s,f,null,!!e,p),{isFormItemInput:i,status:a,hasFeedback:q,feedbackIcon:F}=l.useContext(x.FormItemInputContext),b=l.useMemo(()=>{let d;if(e){const m=t&&S[t];d=m?o.jsxRuntimeExports.jsx("span",{className:v.default(`${u}-feedback-icon`,`${u}-feedback-icon-${t}`),children:o.jsxRuntimeExports.jsx(m,{})}):null}const n={status:t||"",errors:r,warnings:s,hasFeedback:!!e,feedbackIcon:d,isFormItemInput:!0};return c&&(n.status=(t??a)||"",n.isFormItemInput=i,n.hasFeedback=!!(e??q),n.feedbackIcon=e!==void 0?n.feedbackIcon:F),n},[t,e,c,i,a]);return o.jsxRuntimeExports.jsx(x.FormItemInputContext.Provider,{value:b,children:I})}exports.default=R;
2
2
  //# sourceMappingURL=StatusProvider.js.map
@@ -6,9 +6,9 @@ import { FormItemInputProps } from '../FormItemInput';
6
6
  import { FormItemLabelProps } from '../FormItemLabel';
7
7
  import { ReportMetaChange } from '../context';
8
8
  import { default as useFormItemStatus } from '../hooks/useFormItemStatus';
9
- type RenderChildren<Values = any> = (form: FormInstance<Values>) => ReactNode;
10
- type RcFieldProps<Values = any> = Omit<FieldProps<Values>, 'children'>;
11
- type ChildrenType<Values = any> = RenderChildren<Values> | ReactNode;
9
+ type RenderChildren<Values = unknown> = (form: FormInstance<Values>) => ReactNode;
10
+ type RcFieldProps<Values = unknown> = Omit<FieldProps<Values>, 'children'>;
11
+ type ChildrenType<Values = unknown> = RenderChildren<Values> | ReactNode;
12
12
  declare const ValidateStatuses: readonly ["success", "warning", "error", "validating", ""];
13
13
  export type ValidateStatus = (typeof ValidateStatuses)[number];
14
14
  export type FeedbackIcons = (itemStatus: {
@@ -18,7 +18,7 @@ export type FeedbackIcons = (itemStatus: {
18
18
  }) => {
19
19
  [key in ValidateStatus]?: ReactNode;
20
20
  };
21
- export interface FormItemProps<Values = any> extends FormItemLabelProps, FormItemInputProps, RcFieldProps<Values> {
21
+ export interface FormItemProps<Values = unknown> extends FormItemLabelProps, FormItemInputProps, RcFieldProps<Values> {
22
22
  noStyle?: boolean;
23
23
  style?: CSSProperties;
24
24
  className?: string;
@@ -28,7 +28,7 @@ export interface FormItemProps<Values = any> extends FormItemLabelProps, FormIte
28
28
  validateStatus?: ValidateStatus;
29
29
  required?: boolean;
30
30
  hidden?: boolean;
31
- initialValue?: any;
31
+ initialValue?: unknown;
32
32
  messageVariables?: Record<string, string>;
33
33
  layout?: FormItemLayout;
34
34
  hideError?: boolean;
@@ -45,7 +45,7 @@ export interface ItemHolderProps extends FormItemProps {
45
45
  isRequired?: boolean;
46
46
  onSubItemMetaChange: ReportMetaChange;
47
47
  }
48
- declare function InternalFormItem<Values = any>(props: FormItemProps<Values>): ReactElement;
48
+ declare function InternalFormItem<Values = unknown>(props: FormItemProps<Values>): ReactElement;
49
49
  type InternalFormItemType = typeof InternalFormItem;
50
50
  type CompoundedComponent = InternalFormItemType & {
51
51
  useStatus: typeof useFormItemStatus;
@@ -10,7 +10,7 @@ export type RequiredMark = boolean | 'optional' | ((labelNode: ReactNode, info:
10
10
  }) => ReactNode);
11
11
  export type FormLayout = 'horizontal' | 'vertical';
12
12
  export type FormItemLayout = 'horizontal' | 'vertical';
13
- export interface FormProps<Values = any> extends Omit<RcFormProps<Values>, 'form'> {
13
+ export interface FormProps<Values = unknown> extends Omit<RcFormProps<Values>, 'form'> {
14
14
  colon?: boolean;
15
15
  name?: string;
16
16
  layout?: FormLayout;
@@ -23,6 +23,6 @@ export interface FormProps<Values = any> extends Omit<RcFormProps<Values>, 'form
23
23
  requiredMark?: RequiredMark;
24
24
  size?: 'small' | 'medium' | 'large';
25
25
  }
26
- declare const FieldForm: (<Values = any>(props: PropsWithChildren<FormProps<Values>> & RefAttributes<FormRef<Values>>) => ReactElement) & Pick<FC, "displayName">;
26
+ declare const FieldForm: (<Values = unknown>(props: PropsWithChildren<FormProps<Values>> & RefAttributes<FormRef<Values>>) => ReactElement) & Pick<FC, "displayName">;
27
27
  export { useForm, useWatch, type FormInstance };
28
28
  export default FieldForm;
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const i=require("../_virtual/jsx-runtime.js"),e=require("react"),A=require("../_virtual/index2.js"),v=require("rc-field-form"),w=require("../GlobalContext/constant.js"),R=require("./hooks/useForm.js"),p=require("./context.js"),z=require("./lang/index.js"),O=require("../GlobalContext/index.js"),u=`${w.$prefixCls}-field-form`,V=(W,q)=>{const{className:E,disabled:c,form:M,colon:m,labelAlign:d,labelWidth:n,labelWrap:g,layout:f="vertical",onFinishFailed:j,name:r,style:y,size:x,..._}=W,[l,C]=e.useState(0),{language:b}=e.useContext(O.default),L=e.useMemo(()=>z.defaultValidateMessages[b||"zh"],[b]),[s]=R.default(M),{__INTERNAL__:h}=s;h.name=r;const o=e.useRef(null);e.useImperativeHandle(q,()=>({...s,nativeElement:o.current?.nativeElement}));const I=t=>{j?.(t)},P=t=>{if(!t)return;const $=t.querySelectorAll(`.${u}-item`);let a=0;$?.forEach(N=>{const F=N.querySelector("label");if(F){const T=F.offsetWidth;a=Math.max(a,T)}}),C(a)};e.useEffect(()=>{const t=setTimeout(()=>{P(o.current?.nativeElement)},0);return()=>clearTimeout(t)},[]);const S=e.useMemo(()=>({name:r,labelAlign:d,labelWrap:n?g:!1,labelWidth:n||l,labelMaxWidth:l,layout:f,colon:m,itemRef:h.itemRef,form:s,prefixCls:u,disabled:c,size:x}),[r,d,f,m,s,c,l,n,x]);return i.jsxRuntimeExports.jsx(p.FormProvider,{validateMessages:L,children:i.jsxRuntimeExports.jsx(p.FormContext.Provider,{value:S,children:i.jsxRuntimeExports.jsx(v,{id:r,..._,name:r,onFinishFailed:I,form:s,ref:o,className:A.default(E,u),style:{...y}})})})},G=e.forwardRef(V);Object.defineProperty(exports,"useWatch",{enumerable:!0,get:()=>v.useWatch});exports.useForm=R.default;exports.default=G;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const i=require("../_virtual/jsx-runtime.js"),e=require("react"),A=require("../_virtual/index.js"),v=require("rc-field-form"),w=require("../GlobalContext/constant.js"),R=require("./hooks/useForm.js"),p=require("./context.js"),z=require("./lang/index.js"),O=require("../GlobalContext/index.js"),u=`${w.$prefixCls}-field-form`,V=(W,q)=>{const{className:E,disabled:c,form:M,colon:m,labelAlign:d,labelWidth:n,labelWrap:g,layout:f="vertical",onFinishFailed:j,name:r,style:y,size:x,..._}=W,[l,C]=e.useState(0),{language:b}=e.useContext(O.default),L=e.useMemo(()=>z.defaultValidateMessages[b||"zh"],[b]),[s]=R.default(M),{__INTERNAL__:h}=s;h.name=r;const o=e.useRef(null);e.useImperativeHandle(q,()=>({...s,nativeElement:o.current?.nativeElement}));const I=t=>{j?.(t)},P=t=>{if(!t)return;const $=t.querySelectorAll(`.${u}-item`);let a=0;$?.forEach(N=>{const F=N.querySelector("label");if(F){const T=F.offsetWidth;a=Math.max(a,T)}}),C(a)};e.useEffect(()=>{const t=setTimeout(()=>{P(o.current?.nativeElement)},0);return()=>clearTimeout(t)},[]);const S=e.useMemo(()=>({name:r,labelAlign:d,labelWrap:n?g:!1,labelWidth:n||l,labelMaxWidth:l,layout:f,colon:m,itemRef:h.itemRef,form:s,prefixCls:u,disabled:c,size:x}),[r,d,f,m,s,c,l,n,x]);return i.jsxRuntimeExports.jsx(p.FormProvider,{validateMessages:L,children:i.jsxRuntimeExports.jsx(p.FormContext.Provider,{value:S,children:i.jsxRuntimeExports.jsx(v,{id:r,..._,name:r,onFinishFailed:I,form:s,ref:o,className:A.default(E,u),style:{...y}})})})},G=e.forwardRef(V);Object.defineProperty(exports,"useWatch",{enumerable:!0,get:()=>v.useWatch});exports.useForm=R.default;exports.default=G;
2
2
  //# sourceMappingURL=Form.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("../_virtual/jsx-runtime.js"),h=require("react"),m=require("../_virtual/index2.js"),p=require("./ErrorList.js"),j=require("./context.js"),g=x=>{const{fieldId:l,children:a,errors:r,warnings:s,status:t,helperText:i,marginBottom:o,onErrorVisibleChanged:c,hideError:u,noSpacing:d=!1}=x,{prefixCls:n}=h.useContext(j.FormContext);return e.jsxRuntimeExports.jsxs("div",{className:m.default(`${n}-content`,{[`${n}-content__${l}`]:l,"has-spacing":!d,"has-helper-text":!u&&!!(r.length||s.length||i&&(t==="error"||t==="warning"))}),children:[e.jsxRuntimeExports.jsx("div",{className:`${n}-control-input`,children:e.jsxRuntimeExports.jsx("div",{className:`${n}-control-input-content`,children:a})}),e.jsxRuntimeExports.jsx("div",{className:`${n}-helper-text`,children:!u&&(o!==null||r.length||s.length||i&&(t==="error"||t==="warning"))?e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx(p.default,{errors:r,warnings:s,helperText:i,helpStatus:t,onVisibleChanged:c}),!!o&&e.jsxRuntimeExports.jsx("div",{style:{width:0,height:o}})]}):null})]})};exports.default=g;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("../_virtual/jsx-runtime.js"),h=require("react"),m=require("../_virtual/index.js"),p=require("./ErrorList.js"),j=require("./context.js"),g=x=>{const{fieldId:l,children:a,errors:r,warnings:s,status:t,helperText:i,marginBottom:o,onErrorVisibleChanged:c,hideError:u,noSpacing:d=!1}=x,{prefixCls:n}=h.useContext(j.FormContext);return e.jsxRuntimeExports.jsxs("div",{className:m.default(`${n}-content`,{[`${n}-content__${l}`]:l,"has-spacing":!d,"has-helper-text":!u&&!!(r.length||s.length||i&&(t==="error"||t==="warning"))}),children:[e.jsxRuntimeExports.jsx("div",{className:`${n}-control-input`,children:e.jsxRuntimeExports.jsx("div",{className:`${n}-control-input-content`,children:a})}),e.jsxRuntimeExports.jsx("div",{className:`${n}-helper-text`,children:!u&&(o!==null||r.length||s.length||i&&(t==="error"||t==="warning"))?e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx(p.default,{errors:r,warnings:s,helperText:i,helpStatus:t,onVisibleChanged:c}),!!o&&e.jsxRuntimeExports.jsx("div",{style:{width:0,height:o}})]}):null})]})};exports.default=g;
2
2
  //# sourceMappingURL=FormItemInput.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const i=require("../_virtual/jsx-runtime.js"),n=require("react"),_=require("../_virtual/index2.js"),E=require("../GlobalContext/index.js"),y=require("./context.js"),M=require("../Label/index.js"),S=({fieldId:u,label:t,labelProps:d,hideLabel:p,colon:c,layout:r,labelAlign:b,labelWidth:a,labelWrap:g})=>{const{prefixCls:s,colon:m,labelWidth:f,labelAlign:h,labelWrap:C}=n.useContext(y.FormContext),$=b||h,{language:j,locale:L}=n.useContext(E.default),o=n.useRef(null),R=e=>typeof e=="number"?`${e}px`:typeof e=="string"?e.endsWith("px")?e:`${e}px`:e,q=n.useMemo(()=>{const e=a||f||0;return e&&r==="horizontal"?R(e):"auto"},[a,f,r]),W=n.useMemo(()=>{let e=t;return(c===!0||m!==!1&&c!==!1)&&r==="horizontal"&&typeof t=="string"&&t.trim()&&(e=t.replace(/[:|:]\s*$/,"")),i.jsxRuntimeExports.jsx(i.jsxRuntimeExports.Fragment,{children:e})},[j,L,t,c,m,r]);return n.useLayoutEffect(()=>{if(o.current){const l=o.current.querySelector(`.${s}-label-comp`)?.clientHeight;if(l&&l>32){const x=(l-32)/2;o.current.style.marginTop=`-${x}px`,o.current.classList.add("is-multiline")}}},[]),p||!t?null:i.jsxRuntimeExports.jsx("div",{ref:o,className:_.default(`${s}-label`,{[`${s}-label__${u}`]:u,"is-left":$==="left"&&r==="horizontal","is-wrap":g??C??!1}),style:{width:q},children:i.jsxRuntimeExports.jsx(M.default,{className:`${s}-label-comp`,label:W,...d})})};exports.default=S;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const i=require("../_virtual/jsx-runtime.js"),n=require("react"),_=require("../_virtual/index.js"),E=require("../GlobalContext/index.js"),y=require("./context.js"),M=require("../Label/index.js"),S=({fieldId:u,label:t,labelProps:d,hideLabel:p,colon:c,layout:r,labelAlign:b,labelWidth:a,labelWrap:g})=>{const{prefixCls:s,colon:m,labelWidth:f,labelAlign:h,labelWrap:C}=n.useContext(y.FormContext),$=b||h,{language:j,locale:L}=n.useContext(E.default),o=n.useRef(null),R=e=>typeof e=="number"?`${e}px`:typeof e=="string"?e.endsWith("px")?e:`${e}px`:e,q=n.useMemo(()=>{const e=a||f||0;return e&&r==="horizontal"?R(e):"auto"},[a,f,r]),W=n.useMemo(()=>{let e=t;return(c===!0||m!==!1&&c!==!1)&&r==="horizontal"&&typeof t=="string"&&t.trim()&&(e=t.replace(/[:|:]\s*$/,"")),i.jsxRuntimeExports.jsx(i.jsxRuntimeExports.Fragment,{children:e})},[j,L,t,c,m,r]);return n.useLayoutEffect(()=>{if(o.current){const l=o.current.querySelector(`.${s}-label-comp`)?.clientHeight;if(l&&l>32){const x=(l-32)/2;o.current.style.marginTop=`-${x}px`,o.current.classList.add("is-multiline")}}},[]),p||!t?null:i.jsxRuntimeExports.jsx("div",{ref:o,className:_.default(`${s}-label`,{[`${s}-label__${u}`]:u,"is-left":$==="left"&&r==="horizontal","is-wrap":g??C??!1}),style:{width:q},children:i.jsxRuntimeExports.jsx(M.default,{className:`${s}-label-comp`,label:W,...d})})};exports.default=S;
2
2
  //# sourceMappingURL=FormItemLabel.js.map
@@ -3,7 +3,7 @@ import { StoreValue, ValidatorRule } from 'rc-field-form/lib/interface';
3
3
  export interface FormListFieldData {
4
4
  name: number;
5
5
  key: number;
6
- error?: any;
6
+ error?: unknown;
7
7
  }
8
8
  export interface FormListOperation {
9
9
  add: (defaultValue?: StoreValue, insertIndex?: number) => void;
@@ -13,7 +13,7 @@ export interface FormListOperation {
13
13
  export interface FormListProps {
14
14
  name: string | number | (string | number)[];
15
15
  rules?: ValidatorRule[];
16
- initialValue?: any[];
16
+ initialValue?: unknown[];
17
17
  children: (fields: FormListFieldData[], operation: FormListOperation, meta: {
18
18
  errors: ReactNode[];
19
19
  warnings: ReactNode[];
@@ -0,0 +1,196 @@
1
+ {
2
+ "name": "FieldForm",
3
+ "category": "Data Entry",
4
+ "description": "表单组件,提供完整的表单解决方案(基于 rc-field-form;内部 cloneElement 注入 value/onChange/error 到 Item.children)",
5
+ "semantic": {
6
+ "intent": [
7
+ "表单管理",
8
+ "数据录入"
9
+ ],
10
+ "useCases": [
11
+ "用户注册",
12
+ "数据编辑",
13
+ "配置页面"
14
+ ],
15
+ "riskLevel": "normal"
16
+ },
17
+ "variants": {
18
+ "horizontal": {
19
+ "meaning": "水平布局"
20
+ },
21
+ "vertical": {
22
+ "meaning": "垂直布局"
23
+ }
24
+ },
25
+ "states": [
26
+ "default",
27
+ "disabled",
28
+ "validating",
29
+ "error"
30
+ ],
31
+ "idealProps": {
32
+ "form": {
33
+ "type": "FormInstance",
34
+ "description": "由 useForm() 创建的表单实例:`const [form] = FieldForm.useForm();` 仅在父组件需外部调用 submit/resetFields/setFieldsValue 时需要;**类型别名注意**:`FormInstance`(api.ts) ≡ `FieldFormInstance`(src/FieldForm 导出)两个名字指同一类型,推荐用 `FieldFormInstance`(更精确不与其他库混淆)"
35
+ },
36
+ "initialValues": {
37
+ "type": "object",
38
+ "objectShape": {
39
+ "[fieldName: string]": { "type": "any", "description": "字段名 → 初始值,例:{ username: '张三', age: 25 }" }
40
+ },
41
+ "completeExample": "{ username: '张三', email: 'zs@example.com' }",
42
+ "description": "表单初始默认值(仅 mount 时灌入;**后续动态变化需用 form.setFieldsValue,不能修改 initialValues prop**);典型用法 `<FieldForm initialValues={{ name: '张三', age: 25 }}>`"
43
+ },
44
+ "onFinish": {
45
+ "type": "(values: any) => void",
46
+ "description": "校验通过后触发:values 是表单全部字段的扁平对象(包含 FieldForm.Item.name 收集的所有字段);**触发时机**:点击 `<Button type=\"submit\">` 或调用 `form.submit()` 后,内部跑校验通过 → onFinish"
47
+ },
48
+ "onFinishFailed": {
49
+ "type": "({ values, errorFields, outOfDate }) => void",
50
+ "description": "校验失败后触发;errorFields 是失败字段数组"
51
+ },
52
+ "layout": {
53
+ "type": "enum",
54
+ "values": [
55
+ "horizontal",
56
+ "vertical"
57
+ ],
58
+ "default": "vertical",
59
+ "description": "vertical=label 在字段上方(默认,省略即生效);horizontal=label 在左侧"
60
+ },
61
+ "children": {
62
+ "type": "ReactNode",
63
+ "description": "FieldForm 接收任意 ReactNode(包括 FieldForm.Item / Button type=submit / 自定义包装);**但每个 Item 的 child 必须是支持 value/onChange/error/disabled 的自定义组件**(TextField / Select / Checkbox / Switch / DatePicker / InputNumber 等);**不可用原生 input/textarea/select/button — 会触发 React non-boolean-attribute warning**(因 cloneElement 注入 error={false} 给原生 DOM 元素时,React 视 error 为 DOM attr → 报错);见 childrenContract.FormItem"
64
+ }
65
+ },
66
+ "childrenContract": {
67
+ "FormItem": {
68
+ "rule": "FieldForm.Item 的 children 必须是支持 value/onChange/error/disabled prop 的自定义组件",
69
+ "recommended": [
70
+ "TextField",
71
+ "Select",
72
+ "Switch",
73
+ "Checkbox",
74
+ "InputNumber",
75
+ "DatePicker",
76
+ "TextEditor",
77
+ "RangeInput",
78
+ "RadioGroup",
79
+ "CheckboxGroup",
80
+ "Slider"
81
+ ],
82
+ "forbidden": [
83
+ "原生 <input>",
84
+ "原生 <textarea>",
85
+ "原生 <select>",
86
+ "包一层 <div>"
87
+ ],
88
+ "reason": "Item 用 cloneElement 注入 value/onChange/error/disabled/size 等 prop;原生 DOM 元素不消费 error: boolean,React 会报 non-boolean attribute warning(运行时 console error,demo 验证 fail)"
89
+ },
90
+ "submit": {
91
+ "rule": "提交用 <Button type=\"submit\"> 或 form.submit()",
92
+ "trigger": "<Button>(来自 @para-ui/core/Button)渲染为 <button type='submit'>,会触发 form 的 submit 事件 → 跑校验 → onFinish/onFinishFailed",
93
+ "wrapper": "提交按钮通常用 FieldForm.Item(不带 name)包裹做布局,如 `<FieldForm.Item><Button type='submit'>提交</Button></FieldForm.Item>`;Item 不带 name 时不会注入 value/onChange/error(纯布局容器),不会触发 non-boolean-attribute warning;**也可不包 Item 直接放 Button**(看布局需求)"
94
+ }
95
+ },
96
+ "interpretivePriority": {
97
+ "principle": "**当需求描述中的'范围约束'(如 '仅使用 FieldForm 本身' / '不引入其他组件')与 childrenContract 冲突时,优先服从 childrenContract**",
98
+ "reason": "childrenContract 决定 runtime 是否报 React warning;需求'仅使用 FieldForm 本身'通常指**目标包装组件**(如 EditDataForm / SearchHorizontalForm)的**实现层 import 限制**(不在该包装组件内部 import 其他组件),**不限制 Demo 入口层或 children 子组件**;若字面理解为'整个文件只能 import FieldForm',会导致 Item.children 只能用原生 <input> → 触发 non-boolean warning → 运行时 fail",
99
+ "resolution": "标准解读:'仅使用 FieldForm 本身' = '目标包装组件(EditDataForm 等)的实现 import 列表只有 FieldForm';**Demo 渲染入口 (`const Demo: FC = () => ...`) 可自由 import TextField / Button / Select 等推荐子组件作为 children 传入包装组件**;**包装组件接收 children: ReactNode 直接透传给 FieldForm 即可,不需要内部 import 字段组件**",
100
+ "antiPatterns": [
101
+ "❌ 整个 demo 文件只 import FieldForm,FieldForm.Item.children 用原生 <input>",
102
+ "❌ 整个 demo 文件只 import FieldForm,提交按钮用原生 <button type='submit'>",
103
+ "❌ 把'仅使用 FieldForm 本身'解读为'禁止 import TextField/Button'"
104
+ ],
105
+ "correctPatterns": [
106
+ "✅ 包装组件 (EditDataForm) 实现层只 import FieldForm,接收 children: ReactNode",
107
+ "✅ Demo 渲染入口 import TextField + Button,构造 <FieldForm.Item><TextField/></FieldForm.Item> 作为 children 传入",
108
+ "✅ 提交按钮:Demo 入口 import Button,<FieldForm.Item><Button type='submit'>提交</Button></FieldForm.Item>"
109
+ ]
110
+ },
111
+ "commonMisconceptions": {
112
+ "M1": {
113
+ "wrong": "FieldForm.Item.children 用原生 <input>",
114
+ "result": "React 报 `Received 'false' for a non-boolean attribute 'error'` warning → ai-test runtime fail",
115
+ "fix": "改用 TextField (或其他 recommended 组件)"
116
+ },
117
+ "M2": {
118
+ "wrong": "提交按钮用原生 `<button type='submit'>` 包在 FieldForm.Item 内",
119
+ "result": "Item cloneElement 注入 error={false} 到原生 button → React warning → ai-test fail",
120
+ "fix": "改用 `<Button type='submit'>` 或不包 FieldForm.Item 直接放原生 button(Item 在不包裹时不注入 error)"
121
+ },
122
+ "M3": {
123
+ "wrong": "需求 '仅使用 FieldForm 本身' 被解读为整个 demo 文件只 import FieldForm",
124
+ "result": "Item children 退化为原生 <input> → M1 warning",
125
+ "fix": "见 interpretivePriority.resolution(包装组件实现层 vs Demo 入口层的区分)"
126
+ }
127
+ },
128
+ "completeExample": "// R23 议题修补:R22 4/5 fail 根因 sub-agent 误解'仅使用 FieldForm 本身'\n// 标准完整示例(initialValues + useForm + onFinish + Item + TextField + Button submit):\n\nimport React, { FC } from 'react';\nimport FieldForm from '@para-ui/core/FieldForm';\nimport type { FieldFormInstance } from '@para-ui/core/FieldForm';\nimport TextField from '@para-ui/core/TextField';\nimport Button from '@para-ui/core/Button';\n\n// === 1. 目标包装组件(实现层只 import FieldForm + 类型) ===\ninterface EditDataFormProps {\n initialData?: Record<string, any>;\n children: React.ReactNode;\n onSubmitSuccess: (values: any) => void;\n}\nconst EditDataForm: FC<EditDataFormProps> = ({ initialData, children, onSubmitSuccess }) => {\n const [form] = FieldForm.useForm();\n return (\n <FieldForm\n form={form}\n initialValues={initialData}\n onFinish={onSubmitSuccess}\n layout='vertical'\n >\n {children}\n </FieldForm>\n );\n};\n\n// === 2. Demo 渲染入口(可自由 import TextField + Button 作为 children) ===\nconst Demo: FC = () => (\n <EditDataForm\n initialData={{ username: '张三', email: 'zs@example.com' }}\n onSubmitSuccess={(values) => console.log('submitted', values)}\n >\n <FieldForm.Item name='username' label='用户名' rules={[{ required: true }]}>\n <TextField placeholder='请输入用户名' />\n </FieldForm.Item>\n <FieldForm.Item name='email' label='邮箱' rules={[{ required: true, type: 'email' }]}>\n <TextField placeholder='请输入邮箱' />\n </FieldForm.Item>\n <FieldForm.Item>\n <Button type='submit'>保存修改</Button>\n </FieldForm.Item>\n </EditDataForm>\n);\nexport default Demo;",
129
+ "do": [
130
+ "**Demo 入口层**必须 import TextField / Button 等推荐组件给 Item.children(即使需求说'仅使用 FieldForm 本身',这是包装组件实现层约束,不是 Demo 入口约束)",
131
+ "使用 useForm() 管理表单实例;父组件需要外部调用 submit/resetFields/setFieldsValue 时通过 form prop 传入",
132
+ "完整 demo 模板见 completeExample(initialValues + onFinish + FieldForm.Item + TextField + Button)",
133
+ "提供完整的校验规则(rules: [{ required: true }, { type: 'email' }, { pattern: /.../ }])"
134
+ ],
135
+ "dont": [
136
+ "FieldForm.Item.children 用原生 <input> / <textarea> / <select> / <button>(触发 non-boolean-attribute warning,见 childrenContract.FormItem.reason)",
137
+ "把'仅使用 FieldForm 本身'解读为'整个文件不能 import TextField/Button'(见 interpretivePriority.resolution)",
138
+ "字段过多不分组",
139
+ "忽略异步校验",
140
+ "在 mount 后修改 initialValues prop(应用 form.setFieldsValue;initialValues 仅 mount 时灌入)"
141
+ ],
142
+ "events": {
143
+ "onFinish": {
144
+ "signature": "(values: any) => void",
145
+ "asyncSupported": false,
146
+ "examples": [
147
+ "校验全部通过后触发:values 是全部 FieldForm.Item.name 收集到的字段扁平对象",
148
+ "点击 <Button type='submit'> 或调用 form.submit() 后跑校验,通过才触发 onFinish",
149
+ "values 结构与 initialValues 形状一致,key = 每个 Item 的 name 字段值"
150
+ ],
151
+ "commonMistakes": [
152
+ "假设 onFinish 会在校验失败时也触发——只有全部通过才触发,失败时触发 onFinishFailed",
153
+ "假设 onFinish 签名是 (e: FormEvent) => void——实际只有 (values: any) 一个参数",
154
+ "假设 submit 时直接拿到 event.preventDefault()——FieldForm 内部已处理,不需要手动 preventDefault"
155
+ ]
156
+ },
157
+ "onFinishFailed": {
158
+ "signature": "({ values, errorFields, outOfDate }: ValidateErrorEntity) => void",
159
+ "asyncSupported": false,
160
+ "examples": [
161
+ "校验失败时触发:errorFields 是 { name: NamePath; errors: string[] }[] 数组",
162
+ "values 包含当前所有字段值(含未通过校验的字段)"
163
+ ],
164
+ "commonMistakes": [
165
+ "假设参数是 (errors: string[]) 而不是对象——实际是 { values, errorFields, outOfDate } 解构对象",
166
+ "假设只有 onFinish 就够了——校验失败场景必须处理 onFinishFailed 才能给用户提示"
167
+ ]
168
+ }
169
+ },
170
+ "typescriptPitfalls": [
171
+ {
172
+ "issue": "FieldFormInstance 与 FormInstance 是同一类型的两个别名,推荐用 FieldFormInstance 避免与其他库冲突",
173
+ "wrong": "import type { FormInstance } from 'rc-field-form'; // 直接用 rc-field-form 的类型",
174
+ "right": "import type { FieldFormInstance } from '@para-ui/core/FieldForm'; const [form] = FieldForm.useForm<FieldFormInstance>();"
175
+ },
176
+ {
177
+ "issue": "FieldForm.Item 的 children 必须是自定义组件(支持 value/onChange/error prop),不能是原生 DOM 元素",
178
+ "wrong": "<FieldForm.Item name='age'><input type='number' /></FieldForm.Item> // error prop 会被注入到原生 input,React 报 non-boolean warning",
179
+ "right": "<FieldForm.Item name='age'><InputNumber /></FieldForm.Item> // 使用支持 error: boolean 的自定义组件"
180
+ },
181
+ {
182
+ "issue": "initialValues 仅在 mount 时生效,mount 后动态修改 initialValues prop 不会刷新表单",
183
+ "wrong": "// 动态修改 initialValues 期望刷新表单\n<FieldForm initialValues={dynamicData} /> // 后续 dynamicData 变化不会更新表单",
184
+ "right": "// 需要动态回填时用 form.setFieldsValue(newData)\nconst [form] = FieldForm.useForm();\nuseEffect(() => { form.setFieldsValue(dynamicData); }, [dynamicData]);"
185
+ },
186
+ {
187
+ "issue": "rules 中的 validator 函数签名必须返回 Promise(rc-field-form 约定),不是同步返回",
188
+ "wrong": "rules={[{ validator: (_, val) => val > 0 ? true : false }]} // 同步返回 boolean 不被识别",
189
+ "right": "rules={[{ validator: (_, val) => val > 0 ? Promise.resolve() : Promise.reject('必须大于 0') }]}"
190
+ }
191
+ ],
192
+ "mapping": {
193
+ "realComponent": "FieldForm",
194
+ "adapter": null
195
+ }
196
+ }
@@ -20,7 +20,11 @@ export interface FormContextProps {
20
20
  size?: 'small' | 'medium' | 'large';
21
21
  }
22
22
  export declare const FormContext: React.Context<FormContextProps>;
23
- export type ReportMetaChange = (meta: Meta, uniqueKeys: Key[]) => void;
23
+ /** rc-field-form 在销毁字段时会传入带 destroy 标记的 meta(官方 Meta 类型未声明此字段) */
24
+ export type MetaWithDestroy = Meta & {
25
+ destroy?: boolean;
26
+ };
27
+ export type ReportMetaChange = (meta: MetaWithDestroy, uniqueKeys: Key[]) => void;
24
28
  export declare const NoStyleItemContext: React.Context<ReportMetaChange | null>;
25
29
  export interface FormItemStatusContextProps {
26
30
  isFormItemInput?: boolean;
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("../_virtual/jsx-runtime.js"),t=require("react"),n=require("rc-field-form"),i=require("rc-util/lib/omit"),c=e=>{const o=i(e,["prefixCls"]);return r.jsxRuntimeExports.jsx(n.FormProvider,{...o})},m=t.createContext({labelAlign:"left",layout:"vertical",itemRef:(()=>{})}),s=t.createContext(null),l=t.createContext({});exports.FormContext=m;exports.FormItemInputContext=l;exports.FormProvider=c;exports.NoStyleItemContext=s;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("../_virtual/jsx-runtime.js"),t=require("react"),n=require("rc-field-form"),i=require("rc-util/lib/omit"),c=e=>{const o=i(e,["prefixCls"]);return r.jsxRuntimeExports.jsx(n.FormProvider,{...o})},m=t.createContext({labelAlign:"left",layout:"vertical",itemRef:()=>()=>{}}),s=t.createContext(null),l=t.createContext({});exports.FormContext=m;exports.FormItemInputContext=l;exports.FormProvider=c;exports.NoStyleItemContext=s;
2
2
  //# sourceMappingURL=context.js.map
@@ -1,6 +1,7 @@
1
+ import { ReactElement } from 'react';
1
2
  import { FormInstance as RcFormInstance } from 'rc-field-form';
2
3
  import { NamePath } from '../interface';
3
- export interface FormInstance<Values = any> extends RcFormInstance<Values> {
4
- getFieldInstance: (name: NamePath) => any;
4
+ export interface FormInstance<Values = unknown> extends RcFormInstance<Values> {
5
+ getFieldInstance: (name: NamePath) => ReactElement | undefined;
5
6
  }
6
- export default function useForm<Values = any>(form?: FormInstance<Values>): [FormInstance<Values>];
7
+ export default function useForm<Values = unknown>(form?: FormInstance<Values>): [FormInstance<Values>];
@@ -1,2 +1,2 @@
1
1
  import { FormInstance } from './useForm';
2
- export default function useFormInstance<Value = any>(): FormInstance<Value>;
2
+ export default function useFormInstance<Value = unknown>(): FormInstance<Value>;
@@ -1,9 +1,13 @@
1
1
  import { ReactNode } from 'react';
2
2
  import { ValidateStatus } from '../FieldFormItem';
3
- type UseFormItemStatus = () => {
4
- status?: ValidateStatus;
5
- errors: ReactNode[];
6
- warnings: ReactNode[];
7
- };
3
+ import { FormItemInputContext } from '../context';
4
+ interface UseFormItemStatus {
5
+ (): {
6
+ status?: ValidateStatus;
7
+ errors: ReactNode[];
8
+ warnings: ReactNode[];
9
+ };
10
+ Context: typeof FormItemInputContext;
11
+ }
8
12
  declare const useFormItemStatus: UseFormItemStatus;
9
13
  export default useFormItemStatus;
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const u=require("react"),t=require("../context.js"),e=()=>{const{status:o,errors:r=[],warnings:n=[]}=u.useContext(t.FormItemInputContext);return{status:o,errors:r,warnings:n}};e.Context=t.FormItemInputContext;exports.default=e;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const u=require("react"),t=require("../context.js"),e=(()=>{const{status:o,errors:r=[],warnings:n=[]}=u.useContext(t.FormItemInputContext);return{status:o,errors:r,warnings:n}});e.Context=t.FormItemInputContext;exports.default=e;
2
2
  //# sourceMappingURL=useFormItemStatus.js.map
@@ -1,3 +1,3 @@
1
1
  import { default as React } from 'react';
2
2
  import { InternalNamePath } from '../interface';
3
- export default function useItemRef(): (name: InternalNamePath, children: any) => React.Ref<any> | undefined;
3
+ export default function useItemRef(): (name: InternalNamePath, children: React.ReactNode) => React.Ref<unknown> | undefined;
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const u=require("react"),i=require("rc-util/lib/ref"),s=require("../context.js");function R(){const{itemRef:c}=u.useContext(s.FormContext),e=u.useRef({});function f(n,t){const r=t&&typeof t=="object"&&t.ref,o=n.join("_");return(e.current.name!==o||e.current.originRef!==r)&&(e.current.name=o,e.current.originRef=r,e.current.ref=i.composeRef(c(n),r)),e.current.ref}return f}exports.default=R;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const c=require("react"),i=require("rc-util/lib/ref"),s=require("../context.js");function R(){const{itemRef:u}=c.useContext(s.FormContext),e=c.useRef({});function f(n,t){const r=t&&typeof t=="object"&&t.ref,o=n.join("_");return(e.current.name!==o||e.current.originRef!==r)&&(e.current.name=o,e.current.originRef=r,e.current.ref=i.composeRef(u(n),r)),e.current.ref}return f}exports.default=R;
2
2
  //# sourceMappingURL=useItemRef.js.map