@para-ui/core 5.0.0-beta.12 → 5.0.0-beta.14

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 (565) 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/codemods/modal-onCancel-to-onDismiss.js +69 -0
  103. package/es/AlignBox/component.json +89 -0
  104. package/es/AlignBox/index.css +1 -1
  105. package/es/AlignBox/index.d.ts +6 -2
  106. package/es/AlignBox/index.js +1 -1
  107. package/es/AlignBox/style/index.css +1 -1
  108. package/es/Anchor/anchorMenu/index.d.ts +2 -1
  109. package/es/Anchor/anchorMenu/index.js +36 -33
  110. package/es/Anchor/component.json +130 -0
  111. package/es/Anchor/index.js +50 -47
  112. package/es/Anchor/type.d.ts +8 -4
  113. package/es/Argv/component.json +216 -0
  114. package/es/Argv/index.d.ts +5 -6
  115. package/es/AutoBox/component.json +133 -0
  116. package/es/AutoBox/index.d.ts +3 -3
  117. package/es/AutoBox/index.js +1 -1
  118. package/es/AutoBox/protal.d.ts +2 -2
  119. package/es/AutoBox/protal.js +32 -29
  120. package/es/AutoButton/component.json +109 -0
  121. package/es/AutoButton/index.js +1 -1
  122. package/es/AutoTips/autoTipsMultiline/index.d.ts +1 -1
  123. package/es/AutoTips/autoTipsMultiline/index.js +1 -1
  124. package/es/AutoTips/component.json +121 -0
  125. package/es/Badge/component.json +92 -0
  126. package/es/Breadcrumbs/component.json +142 -0
  127. package/es/Breadcrumbs/index.js +1 -1
  128. package/es/Button/SplitButton.d.ts +2 -2
  129. package/es/Button/component.json +168 -0
  130. package/es/Button/index.js +44 -44
  131. package/es/ButtonGroup/component.json +132 -0
  132. package/es/ButtonGroup/index.d.ts +1 -1
  133. package/es/Card/component.json +162 -0
  134. package/es/Card/index.d.ts +2 -2
  135. package/es/Card/index.js +2 -2
  136. package/es/Carousel/component.json +142 -0
  137. package/es/Carousel/index.d.ts +1 -1
  138. package/es/Cascader/Cascader.js +188 -180
  139. package/es/Cascader/component.json +196 -0
  140. package/es/Cascader/hooks/useEntities.js +7 -7
  141. package/es/Cascader/interface.d.ts +1 -0
  142. package/es/Cascader/utils/commonUtil.d.ts +1 -1
  143. package/es/Cascader/utils/commonUtil.js +16 -16
  144. package/es/Cascader/utils/treeUtil.d.ts +14 -5
  145. package/es/Cascader/utils/treeUtil.js +1 -1
  146. package/es/Checkbox/component.json +138 -0
  147. package/es/CheckboxGroup/component.json +152 -0
  148. package/es/CodeEditor/component.json +189 -0
  149. package/es/CodeEditor/index.d.ts +10 -9
  150. package/es/Collapse/component.json +166 -0
  151. package/es/Collapse/index.d.ts +1 -1
  152. package/es/Collapse/index.js +41 -33
  153. package/es/CollapseBox/component.json +84 -0
  154. package/es/CollapseLayout/component.json +155 -0
  155. package/es/ColorPicker/component.json +142 -0
  156. package/es/ComboSelect/component.json +181 -0
  157. package/es/ComboSelect/index.js +299 -287
  158. package/es/ComboSelect/interface.d.ts +6 -3
  159. package/es/ComboSelect/utils.d.ts +3 -3
  160. package/es/ComboSelect/utils.js +1 -1
  161. package/es/Container/component.json +111 -0
  162. package/es/ContentBox/component.json +81 -0
  163. package/es/CopyText/component.json +118 -0
  164. package/es/CycleSelector/component.json +98 -0
  165. package/es/CycleSelector/index.js +14 -13
  166. package/es/DatePicker/component.json +192 -0
  167. package/es/DatePicker/generatePicker/generateRangePicker.d.ts +0 -8
  168. package/es/DatePicker/generatePicker/generateRangePicker.js +73 -65
  169. package/es/DatePicker/generatePicker/generateSinglePicker.js +1 -1
  170. package/es/DatePicker/generatePicker/index.d.ts +11 -4
  171. package/es/Descriptions/component.json +142 -0
  172. package/es/Descriptions/index.d.ts +1 -1
  173. package/es/Desktop/component.json +171 -0
  174. package/es/DragVerify/component.json +114 -0
  175. package/es/DragVerify/index.js +19 -19
  176. package/es/Drawer/component.json +200 -0
  177. package/es/Drawer/index.js +86 -86
  178. package/es/Drawer/interface.d.ts +1 -1
  179. package/es/Drawer/util.d.ts +1 -6
  180. package/es/Drawer/util.js +9 -6
  181. package/es/Dropdown/component.json +147 -0
  182. package/es/DynamicMultiBox/component.json +278 -0
  183. package/es/DynamicMultiBox/formItem.d.ts +1 -1
  184. package/es/DynamicMultiBox/rowForm.d.ts +2 -2
  185. package/es/Empty/component.json +123 -0
  186. package/es/Empty/index.css +1 -1
  187. package/es/Empty/index.d.ts +2 -2
  188. package/es/Empty/index.js +27 -26
  189. package/es/Empty/style/index.css +1 -1
  190. package/es/FieldForm/FieldFormItem/MemoInput.d.ts +2 -2
  191. package/es/FieldForm/FieldFormItem/index.d.ts +6 -6
  192. package/es/FieldForm/Form.d.ts +2 -2
  193. package/es/FieldForm/FormList.d.ts +2 -2
  194. package/es/FieldForm/component.json +196 -0
  195. package/es/FieldForm/context.d.ts +5 -1
  196. package/es/FieldForm/context.js +2 -2
  197. package/es/FieldForm/hooks/useForm.d.ts +4 -3
  198. package/es/FieldForm/hooks/useFormInstance.d.ts +1 -1
  199. package/es/FieldForm/hooks/useFormItemStatus.d.ts +9 -5
  200. package/es/FieldForm/hooks/useFormItemStatus.js +2 -2
  201. package/es/FieldForm/hooks/useItemRef.d.ts +1 -1
  202. package/es/FieldForm/hooks/useItemRef.js +6 -6
  203. package/es/Form/component.json +161 -0
  204. package/es/Form/index.d.ts +52 -49
  205. package/es/FormItem/compoments/defaultCompoments/index.d.ts +5 -5
  206. package/es/FormItem/compoments/defaultCompoments/index.js +12 -11
  207. package/es/FormItem/compoments/formCheckboxGroup/index.d.ts +2 -2
  208. package/es/FormItem/compoments/formFile/index.js +8 -8
  209. package/es/FormItem/compoments/formRadioGroup/index.d.ts +1 -1
  210. package/es/FormItem/compoments/formSelect/index.d.ts +1 -1
  211. package/es/FormItem/component.json +171 -0
  212. package/es/FormItem/index.d.ts +5 -5
  213. package/es/FormItem/index.js +23 -23
  214. package/es/FormItem/itemType.js +1 -1
  215. package/es/FunctionModal/component.json +197 -0
  216. package/es/FunctionModal/dialog.d.ts +1 -1
  217. package/es/FunctionModal/modalContext.d.ts +4 -1
  218. package/es/Help/component.json +118 -0
  219. package/es/HelperText/component.json +126 -0
  220. package/es/Image/component.json +165 -0
  221. package/es/InputCode/component.json +191 -0
  222. package/es/InputCode/index.d.ts +2 -2
  223. package/es/InputLang/component.json +205 -0
  224. package/es/InputLang/index.js +1 -1
  225. package/es/InputNumber/component.json +162 -0
  226. package/es/Label/component.json +126 -0
  227. package/es/Label/index.d.ts +2 -2
  228. package/es/Loading/component.json +91 -0
  229. package/es/Menu/component.json +180 -0
  230. package/es/Message/component.json +246 -0
  231. package/es/Message/index.d.ts +2 -2
  232. package/es/Message/index.js +2 -2
  233. package/es/Modal/Confirm/index.d.ts +1 -1
  234. package/es/Modal/Confirm/index.js +81 -75
  235. package/es/Modal/component.json +277 -0
  236. package/es/Modal/index.d.ts +97 -6
  237. package/es/Modal/index.js +174 -122
  238. package/es/Modal/interface.d.ts +1 -0
  239. package/es/MultiBox/component.json +216 -0
  240. package/es/MultiBox/index.js +19 -14
  241. package/es/Notification/component.json +184 -0
  242. package/es/OperateBtn/component.json +134 -0
  243. package/es/OperateBtn/index.d.ts +3 -3
  244. package/es/PageHeader/component.json +112 -0
  245. package/es/Pagination/component.json +181 -0
  246. package/es/Pagination/index.js +15 -15
  247. package/es/PasswordRules/component.json +105 -0
  248. package/es/PasswordRules/index.d.ts +4 -4
  249. package/es/PopConfirm/component.json +227 -0
  250. package/es/PopConfirm/index.d.ts +1 -1
  251. package/es/PopConfirm/index.js +1 -1
  252. package/es/PopMenu/component.json +131 -0
  253. package/es/PopMenu/hooks.d.ts +1 -1
  254. package/es/PopMenu/index.js +8 -8
  255. package/es/Popover/component.json +165 -0
  256. package/es/Popover/index.js +1 -1
  257. package/es/Progress/component.json +161 -0
  258. package/es/Prompt/component.json +144 -0
  259. package/es/Querying/component.json +96 -0
  260. package/es/Querying/index.css +1 -1
  261. package/es/Querying/index.d.ts +2 -2
  262. package/es/Querying/index.js +20 -19
  263. package/es/Querying/style/index.css +1 -1
  264. package/es/QuickReply/component.json +129 -0
  265. package/es/QuickReply/index.d.ts +1 -1
  266. package/es/Radio/component.json +136 -0
  267. package/es/RadioGroup/component.json +149 -0
  268. package/es/RangeInput/component.json +198 -0
  269. package/es/RangeInput/index.js +1 -1
  270. package/es/Result/component.json +104 -0
  271. package/es/ScrollBar/component.json +115 -0
  272. package/es/Search/component.json +177 -0
  273. package/es/Search/index.d.ts +1 -1
  274. package/es/Select/component.json +244 -0
  275. package/es/Select/index.js +113 -113
  276. package/es/SelectInput/component.json +184 -0
  277. package/es/Selector/component.json +203 -0
  278. package/es/Selector/index.js +28 -27
  279. package/es/Selector/interface.d.ts +1 -1
  280. package/es/Selector/selectorMain/index.js +2 -2
  281. package/es/Selector/selectorNode/index.js +1 -1
  282. package/es/Selector/util.d.ts +2 -2
  283. package/es/SelectorPicker/component.json +179 -0
  284. package/es/SelectorPicker/index.d.ts +5 -5
  285. package/es/SelectorPicker/index.js +15 -15
  286. package/es/SingleBox/component.json +151 -0
  287. package/es/SingleBox/index.d.ts +2 -2
  288. package/es/Slider/component.json +181 -0
  289. package/es/SortBox/component.json +108 -0
  290. package/es/Status/component.json +104 -0
  291. package/es/Stepper/component.json +129 -0
  292. package/es/Stepper/index.d.ts +2 -2
  293. package/es/Switch/component.json +207 -0
  294. package/es/Switch/index.css +1 -1
  295. package/es/Switch/index.d.ts +3 -2
  296. package/es/Switch/index.js +60 -59
  297. package/es/Switch/style/index.css +1 -1
  298. package/es/Table/component.json +547 -0
  299. package/es/Table/index.d.ts +2 -2
  300. package/es/Table/index.js +414 -414
  301. package/es/Table/interface.d.ts +6 -0
  302. package/es/Tabs/component.json +227 -0
  303. package/es/Tag/component.json +221 -0
  304. package/es/Tag/index.css +1 -1
  305. package/es/Tag/index.d.ts +1 -1
  306. package/es/Tag/index.js +20 -20
  307. package/es/Tag/style/index.css +1 -1
  308. package/es/TextEditor/component.json +186 -0
  309. package/es/TextEditor/index.d.ts +5 -5
  310. package/es/TextField/component.json +290 -0
  311. package/es/TextField/index.d.ts +2 -2
  312. package/es/TimePicker/component.json +176 -0
  313. package/es/Timeline/component.json +110 -0
  314. package/es/Title/component.json +156 -0
  315. package/es/ToggleButton/component.json +153 -0
  316. package/es/Tooltip/component.json +176 -0
  317. package/es/Tooltip/index.js +74 -63
  318. package/es/Tooltip/interface.d.ts +14 -1
  319. package/es/Tooltip/utils.js +6 -6
  320. package/es/Transfer/component.json +157 -0
  321. package/es/Tree/component.json +512 -0
  322. package/es/Upload/component.json +450 -0
  323. package/es/Utils/type.d.ts +0 -2
  324. package/es/index.d.ts +2 -0
  325. package/es/index.js +1 -1
  326. package/es/locale/en_US.d.ts +361 -0
  327. package/es/locale/en_US.js +364 -0
  328. package/es/locale/index.d.ts +1 -723
  329. package/es/locale/index2.js +10 -0
  330. package/es/locale/zh_CN.d.ts +361 -0
  331. package/es/locale/zh_CN.js +364 -0
  332. package/lib/AlignBox/component.json +89 -0
  333. package/lib/AlignBox/index.css +1 -1
  334. package/lib/AlignBox/index.d.ts +6 -2
  335. package/lib/AlignBox/index.js +1 -1
  336. package/lib/AlignBox/style/index.css +1 -1
  337. package/lib/Anchor/anchorMenu/index.d.ts +2 -1
  338. package/lib/Anchor/anchorMenu/index.js +1 -1
  339. package/lib/Anchor/component.json +130 -0
  340. package/lib/Anchor/index.js +1 -1
  341. package/lib/Anchor/type.d.ts +8 -4
  342. package/lib/Argv/component.json +216 -0
  343. package/lib/Argv/index.d.ts +5 -6
  344. package/lib/AutoBox/component.json +133 -0
  345. package/lib/AutoBox/index.d.ts +3 -3
  346. package/lib/AutoBox/index.js +1 -1
  347. package/lib/AutoBox/protal.d.ts +2 -2
  348. package/lib/AutoBox/protal.js +1 -1
  349. package/lib/AutoButton/component.json +109 -0
  350. package/lib/AutoButton/index.js +1 -1
  351. package/lib/AutoTips/autoTipsMultiline/index.d.ts +1 -1
  352. package/lib/AutoTips/autoTipsMultiline/index.js +1 -1
  353. package/lib/AutoTips/component.json +121 -0
  354. package/lib/Badge/component.json +92 -0
  355. package/lib/Breadcrumbs/component.json +142 -0
  356. package/lib/Breadcrumbs/index.js +1 -1
  357. package/lib/Button/SplitButton.d.ts +2 -2
  358. package/lib/Button/component.json +168 -0
  359. package/lib/Button/index.js +1 -1
  360. package/lib/ButtonGroup/component.json +132 -0
  361. package/lib/ButtonGroup/index.d.ts +1 -1
  362. package/lib/Card/component.json +162 -0
  363. package/lib/Card/index.d.ts +2 -2
  364. package/lib/Card/index.js +1 -1
  365. package/lib/Carousel/component.json +142 -0
  366. package/lib/Carousel/index.d.ts +1 -1
  367. package/lib/Cascader/Cascader.js +1 -1
  368. package/lib/Cascader/component.json +196 -0
  369. package/lib/Cascader/hooks/useEntities.js +1 -1
  370. package/lib/Cascader/interface.d.ts +1 -0
  371. package/lib/Cascader/utils/commonUtil.d.ts +1 -1
  372. package/lib/Cascader/utils/commonUtil.js +1 -1
  373. package/lib/Cascader/utils/treeUtil.d.ts +14 -5
  374. package/lib/Cascader/utils/treeUtil.js +1 -1
  375. package/lib/Checkbox/component.json +138 -0
  376. package/lib/CheckboxGroup/component.json +152 -0
  377. package/lib/CodeEditor/component.json +189 -0
  378. package/lib/CodeEditor/index.d.ts +10 -9
  379. package/lib/Collapse/component.json +166 -0
  380. package/lib/Collapse/index.d.ts +1 -1
  381. package/lib/Collapse/index.js +1 -1
  382. package/lib/CollapseBox/component.json +84 -0
  383. package/lib/CollapseLayout/component.json +155 -0
  384. package/lib/ColorPicker/component.json +142 -0
  385. package/lib/ComboSelect/component.json +181 -0
  386. package/lib/ComboSelect/index.js +1 -1
  387. package/lib/ComboSelect/interface.d.ts +6 -3
  388. package/lib/ComboSelect/utils.d.ts +3 -3
  389. package/lib/ComboSelect/utils.js +1 -1
  390. package/lib/Container/component.json +111 -0
  391. package/lib/ContentBox/component.json +81 -0
  392. package/lib/CopyText/component.json +118 -0
  393. package/lib/CycleSelector/component.json +98 -0
  394. package/lib/CycleSelector/index.js +1 -1
  395. package/lib/DatePicker/component.json +192 -0
  396. package/lib/DatePicker/generatePicker/generateRangePicker.d.ts +0 -8
  397. package/lib/DatePicker/generatePicker/generateRangePicker.js +1 -1
  398. package/lib/DatePicker/generatePicker/generateSinglePicker.js +1 -1
  399. package/lib/DatePicker/generatePicker/index.d.ts +11 -4
  400. package/lib/Descriptions/component.json +142 -0
  401. package/lib/Descriptions/index.d.ts +1 -1
  402. package/lib/Desktop/component.json +171 -0
  403. package/lib/DragVerify/component.json +114 -0
  404. package/lib/DragVerify/index.js +1 -1
  405. package/lib/Drawer/component.json +200 -0
  406. package/lib/Drawer/index.js +1 -1
  407. package/lib/Drawer/interface.d.ts +1 -1
  408. package/lib/Drawer/util.d.ts +1 -6
  409. package/lib/Drawer/util.js +1 -1
  410. package/lib/Dropdown/component.json +147 -0
  411. package/lib/DynamicMultiBox/component.json +278 -0
  412. package/lib/DynamicMultiBox/formItem.d.ts +1 -1
  413. package/lib/DynamicMultiBox/rowForm.d.ts +2 -2
  414. package/lib/Empty/component.json +123 -0
  415. package/lib/Empty/index.css +1 -1
  416. package/lib/Empty/index.d.ts +2 -2
  417. package/lib/Empty/index.js +1 -1
  418. package/lib/Empty/style/index.css +1 -1
  419. package/lib/FieldForm/FieldFormItem/MemoInput.d.ts +2 -2
  420. package/lib/FieldForm/FieldFormItem/index.d.ts +6 -6
  421. package/lib/FieldForm/Form.d.ts +2 -2
  422. package/lib/FieldForm/FormList.d.ts +2 -2
  423. package/lib/FieldForm/component.json +196 -0
  424. package/lib/FieldForm/context.d.ts +5 -1
  425. package/lib/FieldForm/context.js +1 -1
  426. package/lib/FieldForm/hooks/useForm.d.ts +4 -3
  427. package/lib/FieldForm/hooks/useFormInstance.d.ts +1 -1
  428. package/lib/FieldForm/hooks/useFormItemStatus.d.ts +9 -5
  429. package/lib/FieldForm/hooks/useFormItemStatus.js +1 -1
  430. package/lib/FieldForm/hooks/useItemRef.d.ts +1 -1
  431. package/lib/FieldForm/hooks/useItemRef.js +1 -1
  432. package/lib/Form/component.json +161 -0
  433. package/lib/Form/index.d.ts +52 -49
  434. package/lib/FormItem/compoments/defaultCompoments/index.d.ts +5 -5
  435. package/lib/FormItem/compoments/defaultCompoments/index.js +1 -1
  436. package/lib/FormItem/compoments/formCheckboxGroup/index.d.ts +2 -2
  437. package/lib/FormItem/compoments/formFile/index.js +1 -1
  438. package/lib/FormItem/compoments/formRadioGroup/index.d.ts +1 -1
  439. package/lib/FormItem/compoments/formSelect/index.d.ts +1 -1
  440. package/lib/FormItem/component.json +171 -0
  441. package/lib/FormItem/index.d.ts +5 -5
  442. package/lib/FormItem/index.js +1 -1
  443. package/lib/FormItem/itemType.js +1 -1
  444. package/lib/FunctionModal/component.json +197 -0
  445. package/lib/FunctionModal/dialog.d.ts +1 -1
  446. package/lib/FunctionModal/modalContext.d.ts +4 -1
  447. package/lib/Help/component.json +118 -0
  448. package/lib/HelperText/component.json +126 -0
  449. package/lib/Image/component.json +165 -0
  450. package/lib/InputCode/component.json +191 -0
  451. package/lib/InputCode/index.d.ts +2 -2
  452. package/lib/InputLang/component.json +205 -0
  453. package/lib/InputLang/index.js +1 -1
  454. package/lib/InputNumber/component.json +162 -0
  455. package/lib/Label/component.json +126 -0
  456. package/lib/Label/index.d.ts +2 -2
  457. package/lib/Loading/component.json +91 -0
  458. package/lib/Menu/component.json +180 -0
  459. package/lib/Message/component.json +246 -0
  460. package/lib/Message/index.d.ts +2 -2
  461. package/lib/Message/index.js +1 -1
  462. package/lib/Modal/Confirm/index.d.ts +1 -1
  463. package/lib/Modal/Confirm/index.js +1 -1
  464. package/lib/Modal/component.json +277 -0
  465. package/lib/Modal/index.d.ts +97 -6
  466. package/lib/Modal/index.js +1 -1
  467. package/lib/Modal/interface.d.ts +1 -0
  468. package/lib/MultiBox/component.json +216 -0
  469. package/lib/MultiBox/index.js +1 -1
  470. package/lib/Notification/component.json +184 -0
  471. package/lib/OperateBtn/component.json +134 -0
  472. package/lib/OperateBtn/index.d.ts +3 -3
  473. package/lib/PageHeader/component.json +112 -0
  474. package/lib/Pagination/component.json +181 -0
  475. package/lib/Pagination/index.js +1 -1
  476. package/lib/PasswordRules/component.json +105 -0
  477. package/lib/PasswordRules/index.d.ts +4 -4
  478. package/lib/PopConfirm/component.json +227 -0
  479. package/lib/PopConfirm/index.d.ts +1 -1
  480. package/lib/PopConfirm/index.js +1 -1
  481. package/lib/PopMenu/component.json +131 -0
  482. package/lib/PopMenu/hooks.d.ts +1 -1
  483. package/lib/PopMenu/index.js +1 -1
  484. package/lib/Popover/component.json +165 -0
  485. package/lib/Popover/index.js +1 -1
  486. package/lib/Progress/component.json +161 -0
  487. package/lib/Prompt/component.json +144 -0
  488. package/lib/Querying/component.json +96 -0
  489. package/lib/Querying/index.css +1 -1
  490. package/lib/Querying/index.d.ts +2 -2
  491. package/lib/Querying/index.js +1 -1
  492. package/lib/Querying/style/index.css +1 -1
  493. package/lib/QuickReply/component.json +129 -0
  494. package/lib/QuickReply/index.d.ts +1 -1
  495. package/lib/Radio/component.json +136 -0
  496. package/lib/RadioGroup/component.json +149 -0
  497. package/lib/RangeInput/component.json +198 -0
  498. package/lib/RangeInput/index.js +1 -1
  499. package/lib/Result/component.json +104 -0
  500. package/lib/ScrollBar/component.json +115 -0
  501. package/lib/Search/component.json +177 -0
  502. package/lib/Search/index.d.ts +1 -1
  503. package/lib/Select/component.json +244 -0
  504. package/lib/Select/index.js +1 -1
  505. package/lib/SelectInput/component.json +184 -0
  506. package/lib/Selector/component.json +203 -0
  507. package/lib/Selector/index.js +1 -1
  508. package/lib/Selector/interface.d.ts +1 -1
  509. package/lib/Selector/selectorMain/index.js +1 -1
  510. package/lib/Selector/selectorNode/index.js +1 -1
  511. package/lib/Selector/util.d.ts +2 -2
  512. package/lib/SelectorPicker/component.json +179 -0
  513. package/lib/SelectorPicker/index.d.ts +5 -5
  514. package/lib/SelectorPicker/index.js +1 -1
  515. package/lib/SingleBox/component.json +151 -0
  516. package/lib/SingleBox/index.d.ts +2 -2
  517. package/lib/Slider/component.json +181 -0
  518. package/lib/SortBox/component.json +108 -0
  519. package/lib/Status/component.json +104 -0
  520. package/lib/Stepper/component.json +129 -0
  521. package/lib/Stepper/index.d.ts +2 -2
  522. package/lib/Switch/component.json +207 -0
  523. package/lib/Switch/index.css +1 -1
  524. package/lib/Switch/index.d.ts +3 -2
  525. package/lib/Switch/index.js +1 -1
  526. package/lib/Switch/style/index.css +1 -1
  527. package/lib/Table/component.json +547 -0
  528. package/lib/Table/index.d.ts +2 -2
  529. package/lib/Table/index.js +1 -1
  530. package/lib/Table/interface.d.ts +6 -0
  531. package/lib/Tabs/component.json +227 -0
  532. package/lib/Tag/component.json +221 -0
  533. package/lib/Tag/index.css +1 -1
  534. package/lib/Tag/index.d.ts +1 -1
  535. package/lib/Tag/index.js +1 -1
  536. package/lib/Tag/style/index.css +1 -1
  537. package/lib/TextEditor/component.json +186 -0
  538. package/lib/TextEditor/index.d.ts +5 -5
  539. package/lib/TextField/component.json +290 -0
  540. package/lib/TextField/index.d.ts +2 -2
  541. package/lib/TimePicker/component.json +176 -0
  542. package/lib/Timeline/component.json +110 -0
  543. package/lib/Title/component.json +156 -0
  544. package/lib/ToggleButton/component.json +153 -0
  545. package/lib/Tooltip/component.json +176 -0
  546. package/lib/Tooltip/index.js +1 -1
  547. package/lib/Tooltip/interface.d.ts +14 -1
  548. package/lib/Tooltip/utils.js +1 -1
  549. package/lib/Transfer/component.json +157 -0
  550. package/lib/Tree/component.json +512 -0
  551. package/lib/Upload/component.json +450 -0
  552. package/lib/Utils/type.d.ts +0 -2
  553. package/lib/index.d.ts +2 -0
  554. package/lib/index.js +1 -1
  555. package/lib/locale/en_US.d.ts +361 -0
  556. package/lib/locale/en_US.js +2 -0
  557. package/lib/locale/index.d.ts +1 -723
  558. package/lib/locale/index2.js +2 -0
  559. package/lib/locale/zh_CN.d.ts +361 -0
  560. package/lib/locale/zh_CN.js +2 -0
  561. package/package.json +10 -3
  562. /package/es/{Utils/Hooks → Hooks}/useResizeObserver.d.ts +0 -0
  563. /package/es/{Utils/Hooks → Hooks}/useResizeObserver.js +0 -0
  564. /package/lib/{Utils/Hooks → Hooks}/useResizeObserver.d.ts +0 -0
  565. /package/lib/{Utils/Hooks → Hooks}/useResizeObserver.js +0 -0
@@ -0,0 +1,184 @@
1
+ {
2
+ "name": "SelectInput",
3
+ "category": "Data Entry",
4
+ "description": "下拉输入框,结合下拉选择和文本输入",
5
+ "semantic": {
6
+ "intent": [
7
+ "组合输入",
8
+ "带搜索的选择"
9
+ ],
10
+ "useCases": [
11
+ "分类选择",
12
+ "带输入的下拉",
13
+ "联想输入"
14
+ ],
15
+ "riskLevel": "normal"
16
+ },
17
+ "variants": {
18
+ "default": {
19
+ "meaning": "默认样式"
20
+ }
21
+ },
22
+ "states": [
23
+ "default",
24
+ "disabled",
25
+ "error"
26
+ ],
27
+ "idealProps": {
28
+ "value": {
29
+ "type": "any",
30
+ "description": "受控值;multiple=true 时为数组,multiple=false(默认)时为单值;必须配合 onChange。**单值类型**:list 项 value 字段值(string / number 取决于 SelectOptionBase.value 实际类型)"
31
+ },
32
+ "defaultValue": {
33
+ "type": "any",
34
+ "description": "非受控默认值;类型规则同 value"
35
+ },
36
+ "onChange": {
37
+ "type": "(val, e) => void",
38
+ "description": "值变化回调。**实际签名**(协议 SI1):multiple=false → `(val: string | undefined, e: SyntheticEvent) => void`(清空时 val 为 undefined);multiple=true → `(val: string[], e) => void`。**val 是 list 项 value 字段值**(不是整个对象);业务 `(next: string) => void` 透传桥接:`onChange={(val) => onChange((val ?? '') as string)}` 显式过 undefined"
39
+ },
40
+ "list": {
41
+ "type": "SelectOptionBase[]",
42
+ "itemSchema": {
43
+ "label": { "type": "ReactNode", "required": true, "description": "选项显示文案" },
44
+ "value": { "type": "any", "required": true, "description": "选项值(onChange 回调的 val 是此字段值)" },
45
+ "children": { "type": "any[]", "description": "子选项" },
46
+ "disabled": { "type": "boolean", "description": "是否禁用" }
47
+ },
48
+ "description": "下拉选项数组;项 = `{ label: ReactNode, value: any, children?: any[], disabled?: boolean }`。空数组或不传时 showSelect 自动 false。**string[] 转换**(协议 SI5):`options.map(opt => ({label: opt, value: opt}))`"
49
+ },
50
+ "multiple": {
51
+ "type": "boolean",
52
+ "default": false,
53
+ "description": "多选模式;true 时 value 必须为数组"
54
+ },
55
+ "showSelect": {
56
+ "type": "boolean",
57
+ "description": "是否显示下拉浮层;未显式传时,有 list 自动 true,无 list 自动 false。显式 false 退化为纯输入框"
58
+ },
59
+ "showName": {
60
+ "type": "string",
61
+ "default": "label",
62
+ "description": "list 项中显示名字段名"
63
+ },
64
+ "showValue": {
65
+ "type": "string",
66
+ "default": "value",
67
+ "description": "list 项中选中值字段名"
68
+ },
69
+ "searchModel": {
70
+ "type": "'outside' | 'inside'",
71
+ "values": ["outside", "inside"],
72
+ "default": "inside",
73
+ "description": "搜索框位置(协议 SI3);outside=输入框永远显示在触发按钮位置(联想标签 / 主搜);inside=输入框在浮层展开后才显示(二级筛选)。**fetchSuggestions / 联想推荐 outside**"
74
+ },
75
+ "fetchSuggestions": {
76
+ "type": "(val: string, cb: (data: SelectOptionBase[]) => void) => void",
77
+ "description": "异步联想搜索;与 list 互斥。**搭配 searchModel='outside'**(协议 SI3 / SI4)"
78
+ },
79
+ "onEnterInput": {
80
+ "type": "(val: string) => void",
81
+ "description": "回车事件;val=当前输入框原始文本(非 list 项 value)。**输入新分类必传**(协议 SI4):用户输入下拉外文本时 onChange 不触发,只有 onEnterInput 能捕获"
82
+ },
83
+ "blurChangeValueBol": {
84
+ "type": "boolean",
85
+ "default": false,
86
+ "description": "失焦时是否将输入框文本写回 value;适合搜索式输入立即生效场景"
87
+ },
88
+ "labelMode": {
89
+ "type": "'outside' | 'inside'",
90
+ "values": ["outside", "inside"],
91
+ "default": "outside",
92
+ "description": "标题位置(注:此 prop 命名与 searchModel 不同语义)"
93
+ },
94
+ "overLine": {
95
+ "type": "boolean",
96
+ "default": false,
97
+ "description": "已选项是否换行;true=超出 chip 换行,false=单行 + 折叠 '+N'"
98
+ },
99
+ "disabled": {
100
+ "type": "boolean | any[]",
101
+ "description": "禁用;布尔禁全部,数组按 value 禁用部分选项"
102
+ },
103
+ "size": {
104
+ "type": "'small' | 'medium' | 'large'",
105
+ "values": ["small", "medium", "large"],
106
+ "default": "large",
107
+ "description": "尺寸"
108
+ }
109
+ },
110
+ "crossPropInteractions": [
111
+ "multiple + onChange 签名 = 两套 union(false 时 val 可 undefined / true 时 val: string[])",
112
+ "fetchSuggestions + searchModel = 推荐配 outside(协议 SI3)",
113
+ "showSelect=false → 强制 searchModel='outside'(纯输入框模式)",
114
+ "onEnterInput + outside = 输入新分类的标准组合(协议 SI4)",
115
+ "list 项 value + showValue = 决定 onChange val 实际类型"
116
+ ],
117
+ "commonMisconceptions": [
118
+ "❌ onChange 单参直接透传 `onChange={onChange}` — 实际是双参 + val 可 undefined,TS 不符",
119
+ "❌ onChange val 是整个 SelectOptionBase 对象 — 实际是 value 字段值",
120
+ "❌ outside 模式下纯输入回车自动 onChange — 实际需要 onEnterInput 捕获",
121
+ "❌ fetchSuggestions 默认走 outside — 默认 inside,需显式 searchModel='outside'",
122
+ "❌ string[] 直接传 list — 必须 map 成 SelectOptionBase[] {label, value}"
123
+ ],
124
+ "do": [
125
+ "在需要选择并输入的场景使用(比 Select 更自由,比 TextField 带下拉)",
126
+ "支持联想搜索:配合 fetchSuggestions + searchModel='outside' 实现外部输入即触发联想",
127
+ "输入新值回车捕获:配合 onEnterInput 处理用户输入了下拉列表外的文本场景",
128
+ "list 必须传 SelectOptionBase[]:string[] 数组先 map 成 `{label: opt, value: opt}` 形式"
129
+ ],
130
+ "dont": [
131
+ "选项过多时不分页(应配合 fetchSuggestions 做异步分页)",
132
+ "忽略键盘操作(onEnterInput 是捕获回车新建条目的关键入口)",
133
+ "直接把 string[] 传给 list——必须 map 成 `[{label, value}]` 形式(协议 SI5)"
134
+ ],
135
+ "events": {
136
+ "onChange": {
137
+ "signature": "(val: T | T[] | undefined, e: React.SyntheticEvent) => void",
138
+ "asyncSupported": false,
139
+ "examples": [
140
+ "单选时 val 为选中项 value 字段值(清空时 val 为 undefined,不是 '')",
141
+ "多选时 val 为已选项 value 字段值数组",
142
+ "受控桥接:onChange={(val) => setVal((val ?? '') as string)}"
143
+ ],
144
+ "commonMistakes": [
145
+ "直接传 onChange={setValue} 时 TS 报签名不匹配——需要 (val, _e) => setValue(val ?? '')",
146
+ "期望输入框回车触发 onChange——outside 模式下用户输入未选中选项时不触发 onChange,只触发 onEnterInput",
147
+ "误以为 val 是整个 SelectOptionBase 对象——val 是 value 字段值(由 showValue 决定)"
148
+ ]
149
+ },
150
+ "onEnterInput": {
151
+ "signature": "(val: string) => void",
152
+ "asyncSupported": false,
153
+ "examples": [
154
+ "用户在输入框回车时触发,val 为输入框的原始字符串",
155
+ "新建标签场景:onEnterInput={(newTag) => setTags([...tags, newTag])}"
156
+ ],
157
+ "commonMistakes": [
158
+ "与 onChange 混淆——onEnterInput 是捕获「选项外文本回车」,onChange 是选项选中",
159
+ "忘记传 onEnterInput 导致用户输入新值回车无任何响应"
160
+ ]
161
+ }
162
+ },
163
+ "typescriptPitfalls": [
164
+ {
165
+ "issue": "onChange 签名有第二参 e: SyntheticEvent,单参函数直接传报 TS 错误",
166
+ "wrong": "onChange={setVal} // setVal: (v: string) => void,缺少 e 参数",
167
+ "right": "onChange={(val, _e) => setVal(val ?? '')} // 显式声明两参,_e 忽略"
168
+ },
169
+ {
170
+ "issue": "list 传 string[] 直接报 TS 不兼容 SelectOptionBase[]",
171
+ "wrong": "list={['option1', 'option2']} // string 不满足 SelectOptionBase 接口",
172
+ "right": "list={['option1', 'option2'].map(s => ({ label: s, value: s }))} // 转换为 SelectOptionBase[]"
173
+ },
174
+ {
175
+ "issue": "SelectInput extends SelectProps(Single | Multiple 联合),在泛型 T 未能被推断时 onChange 的 val 参数可能隐式 any(TS7006),需要显式标注参数类型",
176
+ "wrong": "onChange={(val, _e) => setValue(val as string)} // TS7006: val 隐式 any(泛型推断失败时)",
177
+ "right": "// 单选模式:\nonChange={(val: string | undefined, _e: React.SyntheticEvent) => setValue(val)}\n// 多选模式:\nonChange={(val: string[], _e: React.SyntheticEvent) => setValues(val ?? [])}"
178
+ }
179
+ ],
180
+ "mapping": {
181
+ "realComponent": "SelectInput",
182
+ "adapter": null
183
+ }
184
+ }
@@ -0,0 +1,203 @@
1
+ {
2
+ "name": "Selector",
3
+ "category": "Data Entry",
4
+ "description": "选择器组件,支持分页、搜索、多选等功能",
5
+ "semantic": {
6
+ "intent": [
7
+ "复杂选择",
8
+ "数据筛选"
9
+ ],
10
+ "useCases": [
11
+ "人员选择",
12
+ "组织选择",
13
+ "资源分配"
14
+ ],
15
+ "riskLevel": "normal"
16
+ },
17
+ "variants": {
18
+ "lr": {
19
+ "meaning": "左右布局"
20
+ },
21
+ "tb": {
22
+ "meaning": "上下布局"
23
+ },
24
+ "list": {
25
+ "meaning": "列表布局"
26
+ }
27
+ },
28
+ "states": [
29
+ "default",
30
+ "disabled",
31
+ "error"
32
+ ],
33
+ "idealProps": {
34
+ "value": {
35
+ "type": "Record<string, any>[] | Record<string, any>",
36
+ "description": "受控值;radio 模式为单对象(初始无选可传 null),check 模式为对象数组;无 selectMode 时无效。**最小回显格式**(协议 S1):value 对象只需含 rowKey 字段即可匹配回显;外部 string[] keys 反查 = `items.filter(it => keys.includes(it[rowKey]))`"
37
+ },
38
+ "defaultValue": {
39
+ "type": "Record<string, any>[] | Record<string, any>",
40
+ "description": "非受控默认值;类型规则同 value"
41
+ },
42
+ "onChange": {
43
+ "type": "(val, node, rowData) => void",
44
+ "description": "值变化回调;**radio 模式 val 为 Record<string,any>**(单对象 / null),**check 模式 val 为 Record<string,any>[]**(数组 / null);node=出站处理后数据(若传 backDataFieldConfig 则字段映射)、rowData=原始;**出站 keys 提取**:`val.map(it => it[rowKey])`(协议 S1);onSelect 返回 true 时不触发"
45
+ },
46
+ "onSelect": {
47
+ "type": "(item, bol, isAllCheck) => boolean | Promise<boolean>",
48
+ "description": "勾选事件;返回 true 阻断 onChange(二次确认场景);先于 onChange 触发"
49
+ },
50
+ "layout": {
51
+ "type": "'lr' | 'tb' | 'list'",
52
+ "values": ["lr", "tb", "list"],
53
+ "default": "lr",
54
+ "description": "布局;lr=左右、tb=上下、list=纯列表(无已选区,适合内嵌)。**三种 layout 的 value/onChange 受控行为完全一致**(协议 S4),只有视觉差异"
55
+ },
56
+ "selectMode": {
57
+ "type": "'radio' | 'check'",
58
+ "values": ["radio", "check"],
59
+ "description": "选择模式;radio=单选;check=多选+全选;undefined=只读浏览"
60
+ },
61
+ "nodeMode": {
62
+ "type": "'leaf' | 'branch'",
63
+ "values": ["leaf", "branch"],
64
+ "default": "branch",
65
+ "description": "节点选择粒度;leaf=只选叶子;branch=分支/叶子皆可"
66
+ },
67
+ "rowKey": {
68
+ "type": "string",
69
+ "default": "'key'",
70
+ "description": "唯一标识字段(协议 S2);**影响 disabled/disabledChild 数组匹配 + value 对象匹配 + 缓存 + 出站 val.key**;data 用 id 时必须传 `rowKey='id'`"
71
+ },
72
+ "data": {
73
+ "type": "SelectorAnyJson[]",
74
+ "description": "本地数据源;与 url 互斥"
75
+ },
76
+ "url": {
77
+ "type": "string",
78
+ "description": "远程数据请求地址;搭配 method/params/paramsCallback 使用"
79
+ },
80
+ "pagination": {
81
+ "type": "boolean",
82
+ "default": false,
83
+ "description": "是否远程分页;仅 url 模式生效"
84
+ },
85
+ "search": {
86
+ "type": "boolean",
87
+ "default": false,
88
+ "description": "是否显示搜索框。**本地 data 模式内置关键词过滤无需 onSearch**(协议 S5);url 远程自动重发请求;自定义场景传 onSearch"
89
+ },
90
+ "searchTrigger": {
91
+ "type": "'onChange' | 'onEnter'",
92
+ "values": ["onChange", "onEnter"],
93
+ "default": "onChange",
94
+ "description": "搜索触发时机;onEnter 适合远程节流"
95
+ },
96
+ "fieldConfig": {
97
+ "type": "SelectorFieldConfigProps",
98
+ "description": "入站字段映射(mainTitle/subTitle/img/tag/info/children/parentId/key/type · 省略时自动应用默认值,详见 api.ts default 列)"
99
+ },
100
+ "backDataFieldConfig": {
101
+ "type": "SelectorFieldConfigProps",
102
+ "description": "出站字段映射;onChange 数据字段名转换;默认同 fieldConfig(出站字段名与入站一致)"
103
+ },
104
+ "disabled": {
105
+ "type": "string[] | boolean",
106
+ "default": false,
107
+ "description": "禁用;布尔禁全部,数组按 rowKey 禁用部分"
108
+ },
109
+ "isAllCheck": {
110
+ "type": "boolean",
111
+ "default": true,
112
+ "description": "复选模式下是否显示全选;仅 selectMode=check 生效"
113
+ }
114
+ },
115
+ "crossPropInteractions": [
116
+ "value + rowKey = 最小回显对象只需含 rowKey 字段(默认 'key')",
117
+ "selectMode + value 类型:radio→单对象/null,check→对象数组/null",
118
+ "layout='list' + value/onChange = 受控行为与 lr/tb 完全一致(协议 S4)",
119
+ "search + 本地 data = 内置过滤,无需 onSearch;+ url = 自动重发请求",
120
+ "rowKey + data + disabled[] = 三者用同一字段名匹配,改 rowKey 须全链路对齐"
121
+ ],
122
+ "commonMisconceptions": [
123
+ "❌ value 必须传完整对象(label/subTitle 等)— 仅需 rowKey 字段即可回显",
124
+ "❌ 本地 data + search 必须传 onSearch — 组件内置过滤,本地场景省略 onSearch",
125
+ "❌ layout='list' 不支持受控 value/onChange — 三种 layout 行为一致",
126
+ "❌ radio 模式初始无选不能传 null — 可传 null 或省略 value prop",
127
+ "❌ data 用 id 字段不改 rowKey — 必须传 rowKey='id' 否则静默 fail"
128
+ ],
129
+ "do": [
130
+ "支持服务端分页和搜索",
131
+ "提供面包屑导航",
132
+ "selectMode=check 多选场景显式传 value 数组 + onChange 接数组",
133
+ "data 本地数据源场景与 url 远程数据源场景二选一,不要同时传"
134
+ ],
135
+ "dont": [
136
+ "数据量大时不分页",
137
+ "忽略禁用状态",
138
+ "selectMode 切换为 radio 时仍把 value 设为数组(类型不匹配)",
139
+ "onSelect 返回 true 阻断 onChange 后忘记自行更新 value(导致 UI 与 state 不同步)"
140
+ ],
141
+ "events": {
142
+ "onChange": {
143
+ "signature": "(val: SelectorAnyJson[] | SelectorAnyJson | null, node: SelectorAnyJson, rowData: SelectorAnyJson) => void",
144
+ "asyncSupported": false,
145
+ "examples": [
146
+ "radio 模式:val 是单个 Record<string,any>,出站取 key 用 val[rowKey]",
147
+ "check 模式:val 是 Record<string,any>[],出站取 key 列表用 val.map(it => it[rowKey])",
148
+ "清空时 val 为 null——受控外部 string[] 兜底:setSelected(val ? val.map(it => it[rowKey]) : [])"
149
+ ],
150
+ "commonMistakes": [
151
+ "误把 val 当 rowKey string[] 使用——onChange 返回对象/数组,取 key 需 val[rowKey] 或 map",
152
+ "忘记 rowKey 对齐——data 用 id 字段时传了 rowKey='id' 但 onChange 还用 val.key 取值(实际是 val.id)",
153
+ "radio 模式期望 val 是数组——radio 模式 val 始终是单对象(或 null),不是 [item]"
154
+ ]
155
+ },
156
+ "onSelect": {
157
+ "signature": "(item: SelectorAnyJson | SelectorAnyJson[], bol: boolean, isAllCheck: boolean) => Promise<boolean | void> | (boolean | void)",
158
+ "asyncSupported": true,
159
+ "examples": [
160
+ "返回 true 阻断 onChange:二次确认场景在 onSelect 里弹 Dialog,确认后手动调用 onChange 逻辑",
161
+ "返回 void/false 不阻断,onChange 正常触发",
162
+ "全选时 item 是 SelectorAnyJson[](当前页所有项),isAllCheck=true"
163
+ ],
164
+ "commonMistakes": [
165
+ "返回 true 阻断 onChange 后忘记自行更新 value——UI 与 state 不同步",
166
+ "误以为 onSelect 和 onChange 是同一回调——onSelect 先触发且返回值控制是否触发 onChange"
167
+ ]
168
+ },
169
+ "onSearch": {
170
+ "signature": "(val: string, reqParams: SearchFuncProps) => Promise<SearchReqDataProps> | SearchReqDataProps",
171
+ "asyncSupported": true,
172
+ "examples": [
173
+ "自定义搜索:return { data: { data: filteredList } }(不分页)",
174
+ "分页搜索:return { data: { data: { list: arr, total: 100 } } }(pagination=true)"
175
+ ],
176
+ "commonMistakes": [
177
+ "本地 data 场景传了 onSearch——本地模式内置过滤无需 onSearch,传了会覆盖内置逻辑",
178
+ "返回格式错误:不分页应返回 data.data = SelectorAnyJson[],分页应返回 data.data = { list, total }"
179
+ ]
180
+ }
181
+ },
182
+ "typescriptPitfalls": [
183
+ {
184
+ "issue": "data 用非 key 字段作唯一 ID 时忘记传 rowKey,导致选中值匹配静默失败",
185
+ "wrong": "data={[{ id: '1', label: 'A' }]} value={[{ id: '1' }]} // 内部用 .key 匹配,id 字段被忽略",
186
+ "right": "data={[{ id: '1', label: 'A' }]} rowKey='id' value={[{ id: '1' }]} // rowKey 告知用 id 字段"
187
+ },
188
+ {
189
+ "issue": "radio 模式 value 传对象数组,check 模式 value 传单对象——类型反了",
190
+ "wrong": "selectMode='radio' value={[{ key: '1' }]} // radio 应为单对象",
191
+ "right": "selectMode='radio' value={{ key: '1' }} // 单对象;check 模式才用数组"
192
+ },
193
+ {
194
+ "issue": "disabled 数组传整个对象而非 rowKey 值列表,禁用匹配不生效",
195
+ "wrong": "disabled={[{ key: '1', label: 'A' }]} // src 内部 disabled.indexOf(item.key) 查 string/number",
196
+ "right": "disabled={['1', '2']} // 传 rowKey 值的 string[] 列表"
197
+ }
198
+ ],
199
+ "mapping": {
200
+ "realComponent": "Selector",
201
+ "adapter": null
202
+ }
203
+ }
@@ -34,11 +34,11 @@ const Cr = (c, x) => ({
34
34
  defaultValue: re,
35
35
  data: J,
36
36
  pagination: je = !1,
37
- size: w = 10,
37
+ size: A = 10,
38
38
  isLazy: ae = !1,
39
- isAllCheck: ve = !0,
39
+ isAllCheck: Ie = !0,
40
40
  disabled: y,
41
- disabledChild: Ie,
41
+ disabledChild: ve,
42
42
  detail: F,
43
43
  detailRender: te,
44
44
  backDataFieldConfig: Pe,
@@ -53,16 +53,16 @@ const Cr = (c, x) => ({
53
53
  groupRange: xe = "search",
54
54
  emptyProps: se,
55
55
  selectRenderItem: He,
56
- selectRender: we,
56
+ selectRender: Ae,
57
57
  onChange: oe,
58
- onSelect: A,
58
+ onSelect: w,
59
59
  onSearch: ue,
60
60
  onRefresh: O,
61
61
  error: ie = !1,
62
- hideErrorDom: Ae = !0,
62
+ hideErrorDom: we = !0,
63
63
  helperText: Me = "",
64
64
  mainHeader: _e
65
- } = hr(c, "Selector"), le = mr("Selector", gr), C = Cr(c.fieldConfig, k), D = { ...C, ...Pe }, [fe, M] = g([]), [Ne, _] = g(!1), [v, $e] = g([]), [de, Je] = g({}), [I, S] = g([]), [Fe, P] = g(!1), [Ee, he] = g({ val: "" }), [Oe, K] = g([]), [Ke, me] = g(!1), [Ge, T] = g(!0), [Qe, ge] = g(), e = ur({
65
+ } = hr(c, "Selector"), le = mr("Selector", gr), C = Cr(c.fieldConfig, k), D = { ...C, ...Pe }, [fe, M] = g([]), [Ne, _] = g(!1), [I, $e] = g([]), [de, Je] = g({}), [v, S] = g([]), [Fe, P] = g(!1), [Ee, he] = g({ val: "" }), [Oe, K] = g([]), [Ke, me] = g(!1), [Ge, T] = g(!0), [Qe, ge] = g(), e = ur({
66
66
  /** 对象集合 所有的 */
67
67
  jsonData: {},
68
68
  /** 浅拷贝对象 所有的 */
@@ -79,7 +79,7 @@ const Cr = (c, x) => ({
79
79
  reqId: "",
80
80
  /** 请求数据 */
81
81
  reqParams: {
82
- size: w,
82
+ size: A,
83
83
  pagination: !1,
84
84
  isLazy: !1
85
85
  },
@@ -96,13 +96,13 @@ const Cr = (c, x) => ({
96
96
  /** 搜索配置 */
97
97
  searchConfig: {
98
98
  page: 1,
99
- size: w,
99
+ size: A,
100
100
  reqId: "",
101
101
  /** 当前页数据源 本地数据为当前页所有的数据,请求数据为当前展示的数据 */
102
102
  currentSourceData: []
103
103
  }
104
104
  });
105
- e.current.searchConfig.size = w, e.current.reqParams.size = w, e.current.reqParams.pagination = je, e.current.reqParams.isLazy = ae;
105
+ e.current.searchConfig.size = A, e.current.reqParams.size = A, e.current.reqParams.pagination = je, e.current.reqParams.isLazy = ae;
106
106
  const z = c.data || !e.current.reqParams.isLazy && e.current.noLazyReq;
107
107
  L(() => (re !== void 0 && Q(re), () => {
108
108
  e.current.reqTimer && clearTimeout(e.current.reqTimer);
@@ -223,13 +223,13 @@ const Cr = (c, x) => ({
223
223
  }, p = () => {
224
224
  e.current.page = 1, ge(Math.random());
225
225
  }, Q = (r) => {
226
- let t = r ? [r] : [];
226
+ let t = r ? Array.isArray(r) ? r : [r] : [];
227
227
  r instanceof Array && (t = [...r]);
228
228
  const a = dr(D.key, t);
229
229
  e.current.selectValueJson = a, Je(a), $e([...t]);
230
230
  }, We = (r, t) => {
231
- let a = [...I];
232
- t && (a = [], e.current.beforeSearchBreadcrumbs === null && (e.current.beforeSearchBreadcrumbs = [...I])), a.push({
231
+ let a = [...v];
232
+ t && (a = [], e.current.beforeSearchBreadcrumbs === null && (e.current.beforeSearchBreadcrumbs = [...v])), a.push({
233
233
  label: r.mainTitle,
234
234
  value: r.key || ""
235
235
  }), S(a);
@@ -250,15 +250,15 @@ const Cr = (c, x) => ({
250
250
  const t = r.key || "";
251
251
  if (b === "radio" && de[t]) return;
252
252
  const a = e.current.selectValueJson[t];
253
- if (!(A && await A(r, b === "radio" ? !0 : !a, !1))) {
253
+ if (!(w && await w(r, b === "radio" ? !0 : !a, !1))) {
254
254
  if (b === "radio") {
255
255
  const n = U(r);
256
256
  V(n, [n], e.current.jsonData[t], e.current.jsonDataCopy[t]);
257
257
  }
258
258
  if (b === "check") {
259
259
  const n = [], s = {}, o = {};
260
- for (let u = 0, d = v.length; u < d; u++) {
261
- const l = v[u];
260
+ for (let u = 0, d = I.length; u < d; u++) {
261
+ const l = I[u];
262
262
  if (!a || r.key !== l[D.key]) {
263
263
  const i = l[D.key] || "";
264
264
  s[i] = e.current.jsonData[i], o[i] = e.current.jsonDataCopy[i], n.push(l);
@@ -272,7 +272,7 @@ const Cr = (c, x) => ({
272
272
  }
273
273
  }
274
274
  }, Ze = (r) => !!(y && (y === !0 || y instanceof Array && r.key && y.indexOf(r.key) !== -1) || r.disabled), er = async (r) => {
275
- const t = [...fe], a = [...v], n = [], s = {}, o = {}, u = [], d = [];
275
+ const t = [...fe], a = [...I], n = [], s = {}, o = {}, u = [], d = [];
276
276
  for (let i = 0, m = t.length; i < m; i++) {
277
277
  const f = t[i], h = f.key || "";
278
278
  Ze(f) || (r ? e.current.selectValueJson[h] || (a.push(U(f)), d.push(f)) : e.current.selectValueJson[h] && (u.push(h), d.push(f)));
@@ -282,7 +282,7 @@ const Cr = (c, x) => ({
282
282
  r ? (s[h] = e.current.jsonData[h], o[h] = e.current.jsonDataCopy[h]) : u.indexOf(h) === -1 && (s[h] = e.current.jsonData[h], o[h] = e.current.jsonDataCopy[h], n.push(f));
283
283
  }
284
284
  const l = r ? a : n;
285
- A && await A(d, !!r, !1) || V(l, l, s, o);
285
+ w && await w(d, !!r, !1) || V(l, l, s, o);
286
286
  }, rr = (r) => {
287
287
  if (r) {
288
288
  e.current.searchConfig.page = e.current.searchConfig.page + 1, qe();
@@ -290,7 +290,7 @@ const Cr = (c, x) => ({
290
290
  }
291
291
  e.current.page = e.current.page + 1, ge(Math.random());
292
292
  }, De = () => {
293
- const r = [...I], t = E || {
293
+ const r = [...v], t = E || {
294
294
  label: le({ id: "root" }),
295
295
  // 根
296
296
  value: "_paraui_first_floor"
@@ -302,8 +302,8 @@ const Cr = (c, x) => ({
302
302
  }), ne && r.unshift(t), e.current.breadcrumbsList = r, r;
303
303
  }, ar = (r) => {
304
304
  const t = [];
305
- for (let a = 0, n = I.length; a < n; a++) {
306
- const s = I[a];
305
+ for (let a = 0, n = v.length; a < n; a++) {
306
+ const s = v[a];
307
307
  if (t.push(s), s.value === r.value)
308
308
  break;
309
309
  }
@@ -345,6 +345,7 @@ const Cr = (c, x) => ({
345
345
  if (c.requestCallback) {
346
346
  c.requestCallback(
347
347
  t,
348
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
348
349
  (n) => {
349
350
  P(!1), Se(n);
350
351
  },
@@ -404,7 +405,7 @@ const Cr = (c, x) => ({
404
405
  e.current.searchConfig.page = 1, e.current.searchConfig.currentSourceData = [], qe();
405
406
  }, sr = (r, t) => {
406
407
  if (b === "radio" && V(null, [], {}, {}), b === "check") {
407
- const a = [...v];
408
+ const a = [...I];
408
409
  a.splice(t, 1);
409
410
  const n = {}, s = {};
410
411
  for (let o = 0, u = a.length; o < u; o++) {
@@ -420,7 +421,7 @@ const Cr = (c, x) => ({
420
421
  backDataFieldConfig: D,
421
422
  groupType: ce,
422
423
  handSelectorNodeInfo: c.handSelectorNodeInfo,
423
- list: v,
424
+ list: I,
424
425
  nodeMode: N,
425
426
  detail: F,
426
427
  detailRender: te,
@@ -428,7 +429,7 @@ const Cr = (c, x) => ({
428
429
  onClose: sr,
429
430
  selectDataTitleRender: c.selectDataTitleRender,
430
431
  selectRenderItem: He,
431
- selectRender: we,
432
+ selectRender: Ae,
432
433
  disabled: y
433
434
  }
434
435
  ), or = () => {
@@ -450,7 +451,7 @@ const Cr = (c, x) => ({
450
451
  rowKey: k,
451
452
  value: de,
452
453
  loadMore: Ne,
453
- isAllCheck: ve,
454
+ isAllCheck: Ie,
454
455
  list: fe,
455
456
  groupType: ce,
456
457
  groupRange: xe,
@@ -466,7 +467,7 @@ const Cr = (c, x) => ({
466
467
  searchLoading: Fe,
467
468
  searchVal: Ee,
468
469
  disabled: y,
469
- disabledChild: Ie,
470
+ disabledChild: ve,
470
471
  loading: Ge,
471
472
  searchLoadMore: Ke,
472
473
  searchList: Oe,
@@ -491,7 +492,7 @@ const Cr = (c, x) => ({
491
492
  {
492
493
  error: ie,
493
494
  helperText: Me,
494
- hideErrorDom: Ae
495
+ hideErrorDom: we
495
496
  }
496
497
  )
497
498
  ]
@@ -409,7 +409,7 @@ export interface SelectorProps extends HelperTextDetailProps {
409
409
  /** 处理请求参数 */
410
410
  paramsCallback?: (data: ReqFuncProps, isSearch?: boolean) => ReqFuncProps;
411
411
  /** 请求回调参数 requestCallback(data, cb) cb(data) 需要回调数据回来 */
412
- requestCallback?: (data: any, cb: (data: SelectorAnyJson[]) => void, isSearch?: boolean) => void;
412
+ requestCallback?: (data: Record<string, unknown>, cb: (data: SelectorAnyJson[]) => void, isSearch?: boolean) => void;
413
413
  /** 选中数据标题render */
414
414
  selectDataTitleRender?: (list?: SelectorAnyJson[]) => ReactNode;
415
415
  /** 选中每一项自定义 */
@@ -42,7 +42,7 @@ const oe = (q) => {
42
42
  } = q, j = ae("Selector", ie), [W, X] = se({}), p = V({
43
43
  listTypeJson: {},
44
44
  fieldConfig: {},
45
- resizeTimer: null
45
+ resizeTimer: void 0
46
46
  }), g = V(null), T = V(null);
47
47
  p.current.listTypeJson = xe("value", a), p.current.fieldConfig = U || {}, ne(() => (N(), () => {
48
48
  clearTimeout(p.current.resizeTimer);
@@ -243,7 +243,7 @@ const oe = (q) => {
243
243
  onSearch: O,
244
244
  onRefresh: Y
245
245
  } = q, Z = ae("Selector", ie), [K, A] = se(!1), [P, k] = se(""), h = V({
246
- searchTimer: null,
246
+ searchTimer: void 0,
247
247
  searchStr: ""
248
248
  });
249
249
  ne(() => {
@@ -34,7 +34,7 @@ const pe = (R) => {
34
34
  onLevel: b,
35
35
  onSelect: D,
36
36
  onClose: $
37
- } = R, k = _("Selector", ee), [F, L] = y(), [M, h] = y(!1), n = Q(), T = () => {
37
+ } = R, k = _("Selector", ee), [F, L] = y(), [M, h] = y(!1), n = Q(null), T = () => {
38
38
  a || D && D();
39
39
  }, z = (s) => {
40
40
  s.stopPropagation(), !v && b && b();
@@ -5,8 +5,8 @@ export interface ReqFuncProps {
5
5
  /** 请求上下文 */
6
6
  ctx?: string;
7
7
  /** 请求参数 */
8
- data?: any;
9
- [name: string]: any;
8
+ data?: Record<string, unknown>;
9
+ [name: string]: unknown;
10
10
  }
11
11
  /**
12
12
  * 发送请求