@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
+ }
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require('./index.css');const z=require("../_virtual/jsx-runtime.js"),d=require("react"),ur=require("./selectorMain/index.js"),ir=require("./selectorData/index.js"),Le=require("./util.js"),lr=require("@snack-kit/lib"),fr=require("../Utils/snack-kit-shims.js"),dr=require("../Hooks/useGlobalProps.js"),hr=require("../GlobalContext/useFormatMessage.js"),R=require("../GlobalContext/constant.js"),mr=require("./lang/index.js"),gr=require("../HelperText/index.js");;/* empty css */const ke=(c,V)=>({mainTitle:"label",children:"children",parentId:"parentId",key:V,type:"type",...c}),br=c=>{const{className:V,style:W,rowKey:L="key",layout:k="lr",nodeMode:w="branch",selectMode:b,refresh:X,ctx:Y,url:M,method:Z="Get",value:B,defaultValue:ee,data:A,pagination:je=!1,size:E=10,isLazy:re=!1,isAllCheck:ve=!0,disabled:S,disabledChild:xe,detail:F,detailRender:te,backDataFieldConfig:Ie,search:Pe,searchPlaceholder:Te,searchTrigger:ze="onChange",breadcrumbs:Re=!0,breadcrumbsSeparator:Ve,breadcrumbsHead:N,showbreadcrumbsHead:ae=!0,groupType:ne,groupRange:Be="search",emptyProps:ce,selectRenderItem:Ee,selectRender:$e,onChange:se,onSelect:$,onSearch:oe,onRefresh:J,error:ue=!1,hideErrorDom:He=!0,helperText:_e="",mainHeader:we}=dr.default(c,"Selector"),ie=hr.default("Selector",mr.default),C=ke(c.fieldConfig,L),y={...C,...Ie},[le,H]=d.useState([]),[Me,_]=d.useState(!1),[j,Ae]=d.useState([]),[fe,Fe]=d.useState({}),[v,D]=d.useState([]),[Ne,x]=d.useState(!1),[Je,de]=d.useState({val:""}),[Oe,O]=d.useState([]),[Ke,he]=d.useState(!1),[Ge,I]=d.useState(!0),[Qe,me]=d.useState(),e=d.useRef({jsonData:{},jsonDataCopy:{},oneDataList:[],currentSourceData:[],selectValueJson:{},breadcrumbsList:[],reqId:"",reqParams:{size:E,pagination:!1,isLazy:!1},noLazyReq:!1,reqTimer:null,page:1,searchVal:"",beforeSearchBreadcrumbs:null,searchConfig:{page:1,size:E,reqId:"",currentSourceData:[]}});e.current.searchConfig.size=E,e.current.reqParams.size=E,e.current.reqParams.pagination=je,e.current.reqParams.isLazy=re;const P=c.data||!e.current.reqParams.isLazy&&e.current.noLazyReq;d.useEffect(()=>(ee!==void 0&&G(ee),()=>{e.current.reqTimer&&clearTimeout(e.current.reqTimer)}),[]),d.useEffect(()=>{B!==void 0&&G(B)},[B]),d.useEffect(()=>{if(A){const r=p(A,!1);e.current.oneDataList=r,e.current.currentSourceData=r,D([]),q()}},[A]),d.useEffect(()=>{M&&(D([]),q())},[M]),d.useEffect(()=>{e.current.reqTimer&&clearTimeout(e.current.reqTimer),c.url&&lr.Cancel(e.current.reqId),e.current.reqTimer=setTimeout(()=>{if(P){const r=e.current.currentSourceData;if(e.current.reqParams.pagination){const a=r.slice(0,e.current.page*e.current.reqParams.size);H(a),e.current.page*e.current.reqParams.size>=r.length?_(!1):_(!0)}else H(r);I(!1)}if(c.url){const r={method:Z,url:c.url,ctx:Y,onCancelId:a=>{e.current.reqId=a},data:{parentId:ge(),...c.params}};e.current.reqParams.isLazy?(e.current.reqParams.pagination&&(r.data.size=e.current.reqParams.size,r.data.page=e.current.page),be(c.paramsCallback?c.paramsCallback(r):r)):e.current.noLazyReq||be(c.paramsCallback?c.paramsCallback(r):r)}},50)},[Qe]),d.useEffect(()=>{X&&K()},[X]);const K=()=>{P||(e.current.currentSourceData=[]),q()},Ue=(r,a)=>{let t={key:r[L],parentId:r[C.parentId],type:r[C.type],img:r[C.img],mainTitle:r[C.mainTitle],subTitle:r[C.subTitle],tag:r[C.tag],children:[],disabled:!1,disabledChild:!1,choice:b!==void 0,detail:F,leaf:w==="leaf",data:r};return c.handNodeInfo&&(t=c.handNodeInfo(t,a)),t},p=(r,a,t)=>{const n=[],s={},o=h=>{for(let l=0,i=h.length;l<i;l++){const g=h[l],f=g[L]||"",m=Ue(g,!!t);s[f]=m;const U=C.children;e.current.jsonDataCopy[f]=g,e.current.jsonData[f]=m,g[U]&&o(g[U])}};o(r);const u=Object.keys(s);for(let h=0,l=u.length;h<l;h++){const i=u[h],g=s[i],f=g.parentId||"";if(a){n.push(g);continue}f&&s[f]?(s[f].children||(s[f].children=[]),s[f].children.push(g)):n.push(g)}return n},ge=()=>{let r;return e.current.breadcrumbsList.length>0?r=e.current.breadcrumbsList[e.current.breadcrumbsList.length-1].value:c.breadcrumbsHead&&(r=c.breadcrumbsHead.value),ae&&e.current.breadcrumbsList.length===1&&(r=void 0,c.breadcrumbsHead&&(r=c.breadcrumbsHead.value)),r},be=async r=>{I(!0);const{data:a,error:t}=await Le.reqFunc(r);if(t){I(!1),e.current.reqParams.isLazy&&e.current.reqParams.pagination&&e.current.page!==1&&(e.current.page=e.current.page-1);return}if(c.requestCallback){c.requestCallback(a,n=>{I(!1),Ce(n)});return}I(!1),Ce(a)},Ce=r=>{if(e.current.reqParams.isLazy)if(e.current.reqParams.pagination){const a=r.data||{},t=a.list||[],n=a.total,s=p(t,!0),o=[...e.current.currentSourceData,...s];e.current.currentSourceData=o,H(o),e.current.page*e.current.reqParams.size>=n?_(!1):_(!0)}else{const a=r.data||[],t=p(a,!0);e.current.currentSourceData=t,H(t)}else{e.current.noLazyReq=!0;const a=r.data||[],t=p(a,!1);e.current.oneDataList=t,e.current.currentSourceData=t,q()}},q=()=>{e.current.page=1,me(Math.random())},G=r=>{let a=r?[r]:[];r instanceof Array&&(a=[...r]);const t=fr.ArrayToObject(y.key,a);e.current.selectValueJson=t,Fe(t),Ae([...a])},We=(r,a)=>{let t=[...v];a&&(t=[],e.current.beforeSearchBreadcrumbs===null&&(e.current.beforeSearchBreadcrumbs=[...v])),t.push({label:r.mainTitle,value:r.key||""}),D(t)},Xe=(r,a)=>{We(r,a),P?(e.current.currentSourceData=r.children||[],q()):e.current.reqParams.isLazy&&(e.current.reqParams.pagination&&(e.current.currentSourceData=[]),q())},Q=r=>{const a=["key","img","mainTitle","subTitle","tag"];c.groupType&&c.groupType.length>0&&a.push("type");const t={};for(let n=0,s=a.length;n<s;n++){const o=a[n],u=y[o];u&&(t[u]=r[o])}return t},T=(r,a,t,n)=>{se&&se(r,t,n),B==null&&G(r||[])},Ye=async r=>{const a=r.key||"";if(b==="radio"&&fe[a])return;const t=e.current.selectValueJson[a];if(!($&&await $(r,b==="radio"?!0:!t,!1))){if(b==="radio"){const n=Q(r);T(n,[n],e.current.jsonData[a],e.current.jsonDataCopy[a])}if(b==="check"){const n=[],s={},o={};for(let u=0,h=j.length;u<h;u++){const l=j[u];if(!t||r.key!==l[y.key]){const i=l[y.key]||"";s[i]=e.current.jsonData[i],o[i]=e.current.jsonDataCopy[i],n.push(l)}}if(!t){const u=Q(r);s[a]=e.current.jsonData[a],o[a]=e.current.jsonDataCopy[a],n.push(u)}T(n,n,s,o)}}},Ze=r=>!!(S&&(S===!0||S instanceof Array&&r.key&&S.indexOf(r.key)!==-1)||r.disabled),er=async r=>{const a=[...le],t=[...j],n=[],s={},o={},u=[],h=[];for(let i=0,g=a.length;i<g;i++){const f=a[i],m=f.key||"";Ze(f)||(r?e.current.selectValueJson[m]||(t.push(Q(f)),h.push(f)):e.current.selectValueJson[m]&&(u.push(m),h.push(f)))}for(let i=0,g=t.length;i<g;i++){const f=t[i],m=f[y.key]||"";r?(s[m]=e.current.jsonData[m],o[m]=e.current.jsonDataCopy[m]):u.indexOf(m)===-1&&(s[m]=e.current.jsonData[m],o[m]=e.current.jsonDataCopy[m],n.push(f))}const l=r?t:n;$&&await $(h,!!r,!1)||T(l,l,s,o)},rr=r=>{if(r){e.current.searchConfig.page=e.current.searchConfig.page+1,qe();return}e.current.page=e.current.page+1,me(Math.random())},Se=()=>{const r=[...v],a=N||{label:ie({id:"root"}),value:"_paraui_first_floor"};return e.current.searchVal&&r.unshift({label:c.searchBreadcrumbs?c.searchBreadcrumbs:ie({id:"searchResult"}),value:"_paraui_search"}),ae&&r.unshift(a),e.current.breadcrumbsList=r,r},tr=r=>{const a=[];for(let t=0,n=v.length;t<n;t++){const s=v[t];if(a.push(s),s.value===r.value)break}return a},ar=r=>{const a=e.current.breadcrumbsList;if(a.length===0||r.value===a[a.length-1].value)return;const t=r.value||"",n=N?N.value:"_paraui_first_floor";if(r.value==="_paraui_search"){de({val:e.current.searchVal}),D([...e.current.beforeSearchBreadcrumbs||[]]);return}if(e.current.beforeSearchBreadcrumbs&&r.value===n&&(e.current.searchVal="",e.current.beforeSearchBreadcrumbs=null,de({val:""}),Se()),D(t===n?[]:tr(r)),P)if(t===n)e.current.currentSourceData=[...e.current.oneDataList];else{const s=e.current.jsonData[t];e.current.currentSourceData=s[C.children]||[]}else e.current.reqParams.isLazy&&e.current.reqParams.pagination&&(e.current.currentSourceData=[]);q()},ye=r=>{const a=r.isTree;if(e.current.reqParams.pagination){const t=r.data||{},n=t.list||[],s=t.total,o=p(n,!a,!0),u=[...e.current.searchConfig.currentSourceData,...o];e.current.searchConfig.currentSourceData=u,O(u),e.current.searchConfig.page*e.current.searchConfig.size>=s?he(!1):he(!0)}else{const t=r.data||[],n=p(t,!a,!0);e.current.searchConfig.currentSourceData=n,O(n)}},De=r=>{const{data:a,error:t}=r;if(t){x(!1),e.current.reqParams.pagination&&e.current.searchConfig.page!==1&&(e.current.searchConfig.page=e.current.searchConfig.page-1);return}if(c.requestCallback){c.requestCallback(a,n=>{x(!1),ye(n)},!0);return}x(!1),ye(a)},qe=async()=>{if(oe){const t={};e.current.reqParams.pagination&&(t.size=e.current.searchConfig.size,t.page=e.current.searchConfig.page);const n=await oe(e.current.searchVal,t);De(n);return}let r={method:Z,url:c.url||"",ctx:Y,onCancelId:t=>{e.current.reqId=t},data:{searchKey:e.current.searchVal?.trim(),...c.params}};e.current.reqParams.pagination&&(r.data.size=e.current.searchConfig.size,r.data.page=e.current.searchConfig.page),r=c.paramsCallback?c.paramsCallback(r,!0):r;const a=await Le.reqFunc(r);De(a)},nr=(r,a)=>{let t=a;const n=s=>{for(let o=0,u=s.length;o<u;o++){const h=s[o],l=h[L],i=h.children||[];if(l===r){t=i;return}n(i)}};return n(a),t},cr=async(r,a)=>{if(x(!0),e.current.searchVal=r,r===""){if(O([]),x(!1),e.current.beforeSearchBreadcrumbs){if(e.current.breadcrumbsList=[...e.current.beforeSearchBreadcrumbs],D([...e.current.beforeSearchBreadcrumbs]),e.current.beforeSearchBreadcrumbs=null,P){const t=ge(),n=nr(t,e.current.oneDataList);e.current.currentSourceData=n}K()}a&&(K(),J&&J());return}e.current.searchConfig.page=1,e.current.searchConfig.currentSourceData=[],qe()},sr=(r,a)=>{if(b==="radio"&&T(null,[],{},{}),b==="check"){const t=[...j];t.splice(a,1);const n={},s={};for(let o=0,u=t.length;o<u;o++){const l=t[o][y.key]||"";n[l]=e.current.jsonData[l],s[l]=e.current.jsonDataCopy[l]}T(t,t,n,s)}},pe=()=>z.jsxRuntimeExports.jsx(ir.default,{layout:k==="tb"?"tag":"node",backDataFieldConfig:y,groupType:ne,handSelectorNodeInfo:c.handSelectorNodeInfo,list:j,nodeMode:w,detail:F,detailRender:te,emptyProps:ce,onClose:sr,selectDataTitleRender:c.selectDataTitleRender,selectRenderItem:Ee,selectRender:$e,disabled:S}),or=()=>{let r=`${R.$prefixCls}-selector`;return V&&(r+=` ${V}`),k&&(r+=` ${R.$prefixCls}-selector-${k}`),b&&(r+=` ${R.$prefixCls}-selector-${b}`),S===!0&&(r+=` ${R.$prefixCls}-selector-disabled`),ue&&(r+=` ${R.$prefixCls}-selector-error`),r};return z.jsxRuntimeExports.jsxs("div",{className:or(),style:W,children:[z.jsxRuntimeExports.jsxs("div",{className:"selector-content",children:[k==="tb"&&pe(),z.jsxRuntimeExports.jsx(ur.default,{url:M,rowKey:L,value:fe,loadMore:Me,isAllCheck:ve,list:le,groupType:ne,groupRange:Be,fieldConfig:C,nodeMode:w,selectMode:b,isLazy:re,detail:F,detailRender:te,search:Pe,searchTrigger:ze,searchPlaceholder:Te,searchLoading:Ne,searchVal:Je,disabled:S,disabledChild:xe,loading:Ge,searchLoadMore:Ke,searchList:Oe,breadcrumbs:Re,breadcrumbsSeparator:Ve,breadcrumbsList:Se(),emptyProps:ce,mainHeader:we,onLevel:Xe,onSelect:Ye,onLoad:rr,onAllCheck:er,onClickBreadcrumbs:ar,onSearch:cr,onRefresh:J}),k==="lr"&&pe()]}),z.jsxRuntimeExports.jsx(gr.default,{error:ue,helperText:_e,hideErrorDom:He})]})};exports.default=br;exports.handFieldConfig=ke;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require('./index.css');const z=require("../_virtual/jsx-runtime.js"),d=require("react"),ur=require("./selectorMain/index.js"),ir=require("./selectorData/index.js"),Le=require("./util.js"),lr=require("@snack-kit/lib"),fr=require("../Utils/snack-kit-shims.js"),dr=require("../Hooks/useGlobalProps.js"),hr=require("../GlobalContext/useFormatMessage.js"),R=require("../GlobalContext/constant.js"),mr=require("./lang/index.js"),gr=require("../HelperText/index.js");;/* empty css */const ke=(c,V)=>({mainTitle:"label",children:"children",parentId:"parentId",key:V,type:"type",...c}),br=c=>{const{className:V,style:W,rowKey:L="key",layout:k="lr",nodeMode:A="branch",selectMode:b,refresh:X,ctx:Y,url:w,method:Z="Get",value:B,defaultValue:ee,data:M,pagination:je=!1,size:E=10,isLazy:re=!1,isAllCheck:ve=!0,disabled:S,disabledChild:xe,detail:F,detailRender:te,backDataFieldConfig:Ie,search:Pe,searchPlaceholder:Te,searchTrigger:ze="onChange",breadcrumbs:Re=!0,breadcrumbsSeparator:Ve,breadcrumbsHead:N,showbreadcrumbsHead:ae=!0,groupType:ne,groupRange:Be="search",emptyProps:ce,selectRenderItem:Ee,selectRender:$e,onChange:se,onSelect:$,onSearch:oe,onRefresh:J,error:ue=!1,hideErrorDom:He=!0,helperText:_e="",mainHeader:Ae}=dr.default(c,"Selector"),ie=hr.default("Selector",mr.default),C=ke(c.fieldConfig,L),y={...C,...Ie},[le,H]=d.useState([]),[we,_]=d.useState(!1),[j,Me]=d.useState([]),[fe,Fe]=d.useState({}),[v,D]=d.useState([]),[Ne,x]=d.useState(!1),[Je,de]=d.useState({val:""}),[Oe,O]=d.useState([]),[Ke,he]=d.useState(!1),[Ge,I]=d.useState(!0),[Qe,me]=d.useState(),e=d.useRef({jsonData:{},jsonDataCopy:{},oneDataList:[],currentSourceData:[],selectValueJson:{},breadcrumbsList:[],reqId:"",reqParams:{size:E,pagination:!1,isLazy:!1},noLazyReq:!1,reqTimer:null,page:1,searchVal:"",beforeSearchBreadcrumbs:null,searchConfig:{page:1,size:E,reqId:"",currentSourceData:[]}});e.current.searchConfig.size=E,e.current.reqParams.size=E,e.current.reqParams.pagination=je,e.current.reqParams.isLazy=re;const P=c.data||!e.current.reqParams.isLazy&&e.current.noLazyReq;d.useEffect(()=>(ee!==void 0&&G(ee),()=>{e.current.reqTimer&&clearTimeout(e.current.reqTimer)}),[]),d.useEffect(()=>{B!==void 0&&G(B)},[B]),d.useEffect(()=>{if(M){const r=p(M,!1);e.current.oneDataList=r,e.current.currentSourceData=r,D([]),q()}},[M]),d.useEffect(()=>{w&&(D([]),q())},[w]),d.useEffect(()=>{e.current.reqTimer&&clearTimeout(e.current.reqTimer),c.url&&lr.Cancel(e.current.reqId),e.current.reqTimer=setTimeout(()=>{if(P){const r=e.current.currentSourceData;if(e.current.reqParams.pagination){const a=r.slice(0,e.current.page*e.current.reqParams.size);H(a),e.current.page*e.current.reqParams.size>=r.length?_(!1):_(!0)}else H(r);I(!1)}if(c.url){const r={method:Z,url:c.url,ctx:Y,onCancelId:a=>{e.current.reqId=a},data:{parentId:ge(),...c.params}};e.current.reqParams.isLazy?(e.current.reqParams.pagination&&(r.data.size=e.current.reqParams.size,r.data.page=e.current.page),be(c.paramsCallback?c.paramsCallback(r):r)):e.current.noLazyReq||be(c.paramsCallback?c.paramsCallback(r):r)}},50)},[Qe]),d.useEffect(()=>{X&&K()},[X]);const K=()=>{P||(e.current.currentSourceData=[]),q()},Ue=(r,a)=>{let t={key:r[L],parentId:r[C.parentId],type:r[C.type],img:r[C.img],mainTitle:r[C.mainTitle],subTitle:r[C.subTitle],tag:r[C.tag],children:[],disabled:!1,disabledChild:!1,choice:b!==void 0,detail:F,leaf:A==="leaf",data:r};return c.handNodeInfo&&(t=c.handNodeInfo(t,a)),t},p=(r,a,t)=>{const n=[],s={},o=h=>{for(let l=0,i=h.length;l<i;l++){const g=h[l],f=g[L]||"",m=Ue(g,!!t);s[f]=m;const U=C.children;e.current.jsonDataCopy[f]=g,e.current.jsonData[f]=m,g[U]&&o(g[U])}};o(r);const u=Object.keys(s);for(let h=0,l=u.length;h<l;h++){const i=u[h],g=s[i],f=g.parentId||"";if(a){n.push(g);continue}f&&s[f]?(s[f].children||(s[f].children=[]),s[f].children.push(g)):n.push(g)}return n},ge=()=>{let r;return e.current.breadcrumbsList.length>0?r=e.current.breadcrumbsList[e.current.breadcrumbsList.length-1].value:c.breadcrumbsHead&&(r=c.breadcrumbsHead.value),ae&&e.current.breadcrumbsList.length===1&&(r=void 0,c.breadcrumbsHead&&(r=c.breadcrumbsHead.value)),r},be=async r=>{I(!0);const{data:a,error:t}=await Le.reqFunc(r);if(t){I(!1),e.current.reqParams.isLazy&&e.current.reqParams.pagination&&e.current.page!==1&&(e.current.page=e.current.page-1);return}if(c.requestCallback){c.requestCallback(a,n=>{I(!1),Ce(n)});return}I(!1),Ce(a)},Ce=r=>{if(e.current.reqParams.isLazy)if(e.current.reqParams.pagination){const a=r.data||{},t=a.list||[],n=a.total,s=p(t,!0),o=[...e.current.currentSourceData,...s];e.current.currentSourceData=o,H(o),e.current.page*e.current.reqParams.size>=n?_(!1):_(!0)}else{const a=r.data||[],t=p(a,!0);e.current.currentSourceData=t,H(t)}else{e.current.noLazyReq=!0;const a=r.data||[],t=p(a,!1);e.current.oneDataList=t,e.current.currentSourceData=t,q()}},q=()=>{e.current.page=1,me(Math.random())},G=r=>{let a=r?Array.isArray(r)?r:[r]:[];r instanceof Array&&(a=[...r]);const t=fr.ArrayToObject(y.key,a);e.current.selectValueJson=t,Fe(t),Me([...a])},We=(r,a)=>{let t=[...v];a&&(t=[],e.current.beforeSearchBreadcrumbs===null&&(e.current.beforeSearchBreadcrumbs=[...v])),t.push({label:r.mainTitle,value:r.key||""}),D(t)},Xe=(r,a)=>{We(r,a),P?(e.current.currentSourceData=r.children||[],q()):e.current.reqParams.isLazy&&(e.current.reqParams.pagination&&(e.current.currentSourceData=[]),q())},Q=r=>{const a=["key","img","mainTitle","subTitle","tag"];c.groupType&&c.groupType.length>0&&a.push("type");const t={};for(let n=0,s=a.length;n<s;n++){const o=a[n],u=y[o];u&&(t[u]=r[o])}return t},T=(r,a,t,n)=>{se&&se(r,t,n),B==null&&G(r||[])},Ye=async r=>{const a=r.key||"";if(b==="radio"&&fe[a])return;const t=e.current.selectValueJson[a];if(!($&&await $(r,b==="radio"?!0:!t,!1))){if(b==="radio"){const n=Q(r);T(n,[n],e.current.jsonData[a],e.current.jsonDataCopy[a])}if(b==="check"){const n=[],s={},o={};for(let u=0,h=j.length;u<h;u++){const l=j[u];if(!t||r.key!==l[y.key]){const i=l[y.key]||"";s[i]=e.current.jsonData[i],o[i]=e.current.jsonDataCopy[i],n.push(l)}}if(!t){const u=Q(r);s[a]=e.current.jsonData[a],o[a]=e.current.jsonDataCopy[a],n.push(u)}T(n,n,s,o)}}},Ze=r=>!!(S&&(S===!0||S instanceof Array&&r.key&&S.indexOf(r.key)!==-1)||r.disabled),er=async r=>{const a=[...le],t=[...j],n=[],s={},o={},u=[],h=[];for(let i=0,g=a.length;i<g;i++){const f=a[i],m=f.key||"";Ze(f)||(r?e.current.selectValueJson[m]||(t.push(Q(f)),h.push(f)):e.current.selectValueJson[m]&&(u.push(m),h.push(f)))}for(let i=0,g=t.length;i<g;i++){const f=t[i],m=f[y.key]||"";r?(s[m]=e.current.jsonData[m],o[m]=e.current.jsonDataCopy[m]):u.indexOf(m)===-1&&(s[m]=e.current.jsonData[m],o[m]=e.current.jsonDataCopy[m],n.push(f))}const l=r?t:n;$&&await $(h,!!r,!1)||T(l,l,s,o)},rr=r=>{if(r){e.current.searchConfig.page=e.current.searchConfig.page+1,qe();return}e.current.page=e.current.page+1,me(Math.random())},Se=()=>{const r=[...v],a=N||{label:ie({id:"root"}),value:"_paraui_first_floor"};return e.current.searchVal&&r.unshift({label:c.searchBreadcrumbs?c.searchBreadcrumbs:ie({id:"searchResult"}),value:"_paraui_search"}),ae&&r.unshift(a),e.current.breadcrumbsList=r,r},tr=r=>{const a=[];for(let t=0,n=v.length;t<n;t++){const s=v[t];if(a.push(s),s.value===r.value)break}return a},ar=r=>{const a=e.current.breadcrumbsList;if(a.length===0||r.value===a[a.length-1].value)return;const t=r.value||"",n=N?N.value:"_paraui_first_floor";if(r.value==="_paraui_search"){de({val:e.current.searchVal}),D([...e.current.beforeSearchBreadcrumbs||[]]);return}if(e.current.beforeSearchBreadcrumbs&&r.value===n&&(e.current.searchVal="",e.current.beforeSearchBreadcrumbs=null,de({val:""}),Se()),D(t===n?[]:tr(r)),P)if(t===n)e.current.currentSourceData=[...e.current.oneDataList];else{const s=e.current.jsonData[t];e.current.currentSourceData=s[C.children]||[]}else e.current.reqParams.isLazy&&e.current.reqParams.pagination&&(e.current.currentSourceData=[]);q()},ye=r=>{const a=r.isTree;if(e.current.reqParams.pagination){const t=r.data||{},n=t.list||[],s=t.total,o=p(n,!a,!0),u=[...e.current.searchConfig.currentSourceData,...o];e.current.searchConfig.currentSourceData=u,O(u),e.current.searchConfig.page*e.current.searchConfig.size>=s?he(!1):he(!0)}else{const t=r.data||[],n=p(t,!a,!0);e.current.searchConfig.currentSourceData=n,O(n)}},De=r=>{const{data:a,error:t}=r;if(t){x(!1),e.current.reqParams.pagination&&e.current.searchConfig.page!==1&&(e.current.searchConfig.page=e.current.searchConfig.page-1);return}if(c.requestCallback){c.requestCallback(a,n=>{x(!1),ye(n)},!0);return}x(!1),ye(a)},qe=async()=>{if(oe){const t={};e.current.reqParams.pagination&&(t.size=e.current.searchConfig.size,t.page=e.current.searchConfig.page);const n=await oe(e.current.searchVal,t);De(n);return}let r={method:Z,url:c.url||"",ctx:Y,onCancelId:t=>{e.current.reqId=t},data:{searchKey:e.current.searchVal?.trim(),...c.params}};e.current.reqParams.pagination&&(r.data.size=e.current.searchConfig.size,r.data.page=e.current.searchConfig.page),r=c.paramsCallback?c.paramsCallback(r,!0):r;const a=await Le.reqFunc(r);De(a)},nr=(r,a)=>{let t=a;const n=s=>{for(let o=0,u=s.length;o<u;o++){const h=s[o],l=h[L],i=h.children||[];if(l===r){t=i;return}n(i)}};return n(a),t},cr=async(r,a)=>{if(x(!0),e.current.searchVal=r,r===""){if(O([]),x(!1),e.current.beforeSearchBreadcrumbs){if(e.current.breadcrumbsList=[...e.current.beforeSearchBreadcrumbs],D([...e.current.beforeSearchBreadcrumbs]),e.current.beforeSearchBreadcrumbs=null,P){const t=ge(),n=nr(t,e.current.oneDataList);e.current.currentSourceData=n}K()}a&&(K(),J&&J());return}e.current.searchConfig.page=1,e.current.searchConfig.currentSourceData=[],qe()},sr=(r,a)=>{if(b==="radio"&&T(null,[],{},{}),b==="check"){const t=[...j];t.splice(a,1);const n={},s={};for(let o=0,u=t.length;o<u;o++){const l=t[o][y.key]||"";n[l]=e.current.jsonData[l],s[l]=e.current.jsonDataCopy[l]}T(t,t,n,s)}},pe=()=>z.jsxRuntimeExports.jsx(ir.default,{layout:k==="tb"?"tag":"node",backDataFieldConfig:y,groupType:ne,handSelectorNodeInfo:c.handSelectorNodeInfo,list:j,nodeMode:A,detail:F,detailRender:te,emptyProps:ce,onClose:sr,selectDataTitleRender:c.selectDataTitleRender,selectRenderItem:Ee,selectRender:$e,disabled:S}),or=()=>{let r=`${R.$prefixCls}-selector`;return V&&(r+=` ${V}`),k&&(r+=` ${R.$prefixCls}-selector-${k}`),b&&(r+=` ${R.$prefixCls}-selector-${b}`),S===!0&&(r+=` ${R.$prefixCls}-selector-disabled`),ue&&(r+=` ${R.$prefixCls}-selector-error`),r};return z.jsxRuntimeExports.jsxs("div",{className:or(),style:W,children:[z.jsxRuntimeExports.jsxs("div",{className:"selector-content",children:[k==="tb"&&pe(),z.jsxRuntimeExports.jsx(ur.default,{url:w,rowKey:L,value:fe,loadMore:we,isAllCheck:ve,list:le,groupType:ne,groupRange:Be,fieldConfig:C,nodeMode:A,selectMode:b,isLazy:re,detail:F,detailRender:te,search:Pe,searchTrigger:ze,searchPlaceholder:Te,searchLoading:Ne,searchVal:Je,disabled:S,disabledChild:xe,loading:Ge,searchLoadMore:Ke,searchList:Oe,breadcrumbs:Re,breadcrumbsSeparator:Ve,breadcrumbsList:Se(),emptyProps:ce,mainHeader:Ae,onLevel:Xe,onSelect:Ye,onLoad:rr,onAllCheck:er,onClickBreadcrumbs:ar,onSearch:cr,onRefresh:J}),k==="lr"&&pe()]}),z.jsxRuntimeExports.jsx(gr.default,{error:ue,helperText:_e,hideErrorDom:He})]})};exports.default=br;exports.handFieldConfig=ke;
2
2
  //# sourceMappingURL=index.js.map
@@ -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
  /** 选中每一项自定义 */
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require('./index.css');const s=require("../../_virtual/jsx-runtime.js"),o=require("react"),ne=require("../selectorNode/index.js"),ue=require("../../Search/index.js"),he=require("../../Breadcrumbs/index.js"),fe=require("../../Loading/index.js"),me=require("../../Empty/index.js"),xe=require("../../node_modules/@para-ui/icons/Search/index.js"),pe=require("../../node_modules/@para-ui/icons/Refresh/index.js"),je=require("../../Utils/snack-kit-shims.js"),le=require("../../GlobalContext/useFormatMessage.js"),ie=require("../lang/index.js"),q=require("../../GlobalContext/constant.js");;/* empty css */const ce=P=>{const{className:C,value:f,rowKey:re="key",nodeMode:A="branch",selectMode:m,loadMore:k=!1,isAllCheck:j=!1,detail:V,detailRender:B,isLazy:G,list:l,groupType:a,breadcrumbs:z,breadcrumbsSeparator:D="-",breadcrumbsList:R=[],fieldConfig:Q,disabled:d,disabledChild:u,emptyProps:S,loading:x,onClickBreadcrumbs:w,onLevel:I,onSelect:E,onLoad:_,onAllCheck:v}=P,y=le.default("Selector",ie.default),[U,W]=o.useState({}),p=o.useRef({listTypeJson:{},fieldConfig:{},resizeTimer:null}),b=o.useRef(null),L=o.useRef(null);p.current.listTypeJson=je.ArrayToObject("value",a),p.current.fieldConfig=Q||{},o.useEffect(()=>(T(),()=>{clearTimeout(p.current.resizeTimer)}),[]),o.useEffect(()=>{if(l&&a&&a.length>0){const e={};for(let t=0,c=l.length;t<c;t++){const r=l[t],i=r.type;e[i]||(e[i]=[]),e[i].push(r)}W(e)}},[l]);const T=()=>{clearTimeout(p.current.resizeTimer),p.current.resizeTimer=setTimeout(()=>{N()},100)},N=()=>{if(!L.current||!b.current)return;const e=b.current,t=L.current;if(t.classList.remove("selector-main-list-scroll-top","selector-main-list-scroll-bottom","selector-main-list-scroll-middle"),!(e.scrollHeight<=e.clientHeight)){if(e.scrollTop===0){t.classList.add("selector-main-list-scroll-top");return}if(e.clientHeight+e.scrollTop===e.scrollHeight){t.classList.add("selector-main-list-scroll-bottom");return}t.classList.add("selector-main-list-scroll-middle")}},F=()=>{const e={checked:!1,indeterminate:!1};if(!f||!l||l.length===0)return e;for(let t=0,c=l.length;t<c;t++){const r=l[t],i=r.key;if(H(r)){f[i]&&(e.checked=!0);continue}f[i]?e.checked=!0:e.indeterminate=!0}return e.checked&&e.indeterminate?(e.checked=!1,e):(!e.checked&&e.indeterminate&&(e.indeterminate=!1),e)},H=e=>!!(d&&(d===!0||d instanceof Array&&e.key&&d.indexOf(e.key)!==-1)||e.disabled),O=e=>!!(u&&(u===!0||u instanceof Array&&e.key&&u.indexOf(e.key)!==-1)||e.disabledChild),X=()=>{if(!j||m!=="check")return null;const e=F(),t=()=>{let c=!0;e.checked&&(c=!1),v&&v(c)};return s.jsxRuntimeExports.jsx(ne.default,{disabled:d===!0,nodeMode:"branch",mainTitle:y({id:"selectAll"}),selectMode:"check",...e,onSelect:t,className:"selector-all-check"})},Y=()=>{_&&_()},J=()=>k?s.jsxRuntimeExports.jsx("div",{className:"selector-main-list-more",onClick:Y,children:s.jsxRuntimeExports.jsx("span",{className:"more-btn",children:y({id:"seeMore"})})}):null,M=e=>{let t=!1;return f&&f[e.key]&&(t=!0),t},K=e=>{const t={useCase:"view",detail:V,nodeMode:A,disabled:H(e),disabledChild:O(e),onLevel:()=>I&&I(e),onSelect:()=>E&&E(e),checked:M(e)};e.leaf!==void 0&&(t.nodeMode=e.leaf?"leaf":"branch");const c=["img","mainTitle","subTitle","tag","tagStyle"];for(let r=0,i=c.length;r<i;r++){const $=c[r];t[$]=e[$]}if(e.choice!==!1&&m&&(t.selectMode=m),G)t.child=e.child;else{const r=e.children||[];r&&r.length>0&&(t.child=!0),e.child!==void 0&&(t.child=e.child)}return B&&(t.detailRender=async()=>await B(e,!0)),e.detail!==void 0&&(t.detail=e.detail),t},g=e=>e?.map((t,c)=>s.jsxRuntimeExports.jsx(ne.default,{...K(t)},c)),h=()=>a&&a.length>0?s.jsxRuntimeExports.jsx(s.jsxRuntimeExports.Fragment,{children:a.map((e,t)=>{const c=e.value,r=U[c]||[];let i="selector-group-title";return t===0&&(i+=" selector-group-title-first"),s.jsxRuntimeExports.jsxs(o.Fragment,{children:[r.length>0&&s.jsxRuntimeExports.jsx("div",{className:i,children:e.label||c}),g(r)]},t)})}):g(l||[]),Z=e=>{w&&w(e)},ee=()=>!z||R.length===0?null:s.jsxRuntimeExports.jsx("div",{className:"nav-box",children:s.jsxRuntimeExports.jsx(he.Breadcrumbs,{minNum:1,list:R,separator:D,onClickItem:Z})}),te=()=>l?.length===0&&!x?s.jsxRuntimeExports.jsx("div",{className:"selector-main-list-no-data",children:s.jsxRuntimeExports.jsx(me.default,{...S,size:S?.size||"small"})}):s.jsxRuntimeExports.jsxs("div",{className:"selector-main-list",children:[X(),s.jsxRuntimeExports.jsx("div",{className:"selector-main-list-content",ref:L,children:s.jsxRuntimeExports.jsx("div",{className:"selector-main-list-content-box",ref:b,onScroll:N,children:h()})}),J()]}),se=()=>{let e="selector-main-content";return C&&(e+=` ${C}`),d&&(e+=" selector-main-content-disabled"),j&&m==="check"&&(e+=" selector-main-content-all-check"),k&&(e+=" selector-main-content-load-more"),e};return T(),s.jsxRuntimeExports.jsxs("div",{className:se(),children:[ee(),te()]})},be=P=>{const{className:C,style:f,url:re,value:A,rowKey:m="key",nodeMode:k="branch",selectMode:j,loadMore:V=!1,searchLoadMore:B=!1,isAllCheck:G=!1,disabled:l,disabledChild:a,detail:z,detailRender:D,isLazy:R,list:Q,groupType:d,groupRange:u,search:S,searchVal:x="",searchPlaceholder:w,searchTrigger:I,searchLoading:E,searchList:_,loading:v,mainHeader:y,breadcrumbs:U,breadcrumbsSeparator:W="-",breadcrumbsList:p=[],fieldConfig:b,onClickBreadcrumbs:L,onLevel:T,onSelect:N,onLoad:F,onAllCheck:H,onSearch:O,onRefresh:X}=P,Y=le.default("Selector",ie.default),[J,M]=o.useState(!1),[K,g]=o.useState(""),h=o.useRef({searchTimer:null,searchStr:""});o.useEffect(()=>{x&&(h.current.searchStr=x.val,g(x.val),x.val!==""&&M(!0))},[x]);const Z=n=>{g(n),h.current.searchStr=n,I!=="onEnter"&&e()},ee=()=>{e(!0)},te=()=>{e(!0)},se=()=>{e()},e=n=>{clearTimeout(h.current.searchTimer),h.current.searchTimer=setTimeout(()=>{M(!!h.current.searchStr),O&&O(h.current.searchStr,!!n)},300)},t=()=>{const n=()=>K?s.jsxRuntimeExports.jsx(xe.Search,{}):!re&&!X?null:s.jsxRuntimeExports.jsx(pe.Refresh,{});return s.jsxRuntimeExports.jsx(s.jsxRuntimeExports.Fragment,{children:S&&s.jsxRuntimeExports.jsx(ue.Search,{className:"selectot-main-search",value:K,rightIconExist:!0,showBtn:!1,rightIcon:n(),btnType:"inside",onChange:Z,onEnter:ee,onClear:se,placeholder:w||Y({id:"pleaseEnter"}),onClickBtn:te})})},c=n=>de=>{n&&(h.current.searchStr="",g(""),M(!1)),T&&T(de,n)},r=n=>()=>{F&&F(n)},i=()=>s.jsxRuntimeExports.jsx(ce,{className:"selector-main-list-box",value:A,rowKey:m,nodeMode:k,selectMode:j,loadMore:V,isAllCheck:G,disabled:l,disabledChild:a,detail:z,detailRender:D,isLazy:R,list:Q,loading:v,groupType:u==="list"||u==="searchList"?d:void 0,breadcrumbs:U,breadcrumbsSeparator:W,breadcrumbsList:p,fieldConfig:b,onClickBreadcrumbs:L,onLevel:c(!1),onSelect:N,onLoad:r(!1),onAllCheck:H},"list"),$=()=>{if(J)return s.jsxRuntimeExports.jsx(ce,{className:"selector-main-search-content",value:A,rowKey:m,nodeMode:k,selectMode:j,loadMore:B,isAllCheck:!1,disabled:l,disabledChild:a,detail:z,detailRender:D,isLazy:R,list:_,groupType:u==="search"||u==="searchList"?d:void 0,fieldConfig:b,loading:E,onSelect:N,onLevel:c(!0),onLoad:r(!0)},"search")},oe=()=>{if(E||v)return s.jsxRuntimeExports.jsx(fe.Loading,{})},ae=()=>{let n=`${q.$prefixCls}-selector-main`;return C&&(n+=` ${C}`),j==="check"&&(n+=` ${q.$prefixCls}-selector-main-select`),J&&(n+=` ${q.$prefixCls}-selector-main-show-search`),S&&(n+=` ${q.$prefixCls}-selector-main-search`),l===!0&&(n+=` ${q.$prefixCls}-selector-main-disabled`),n};return s.jsxRuntimeExports.jsxs("div",{className:ae(),style:f,children:[t(),y&&s.jsxRuntimeExports.jsx("div",{className:"selector-main-header",children:y}),s.jsxRuntimeExports.jsxs("div",{className:"selector-main-box",children:[i(),$(),oe()]})]})};exports.default=be;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require('./index.css');const s=require("../../_virtual/jsx-runtime.js"),o=require("react"),ne=require("../selectorNode/index.js"),ue=require("../../Search/index.js"),he=require("../../Breadcrumbs/index.js"),fe=require("../../Loading/index.js"),me=require("../../Empty/index.js"),xe=require("../../node_modules/@para-ui/icons/Search/index.js"),pe=require("../../node_modules/@para-ui/icons/Refresh/index.js"),je=require("../../Utils/snack-kit-shims.js"),ie=require("../../GlobalContext/useFormatMessage.js"),le=require("../lang/index.js"),q=require("../../GlobalContext/constant.js");;/* empty css */const ce=P=>{const{className:C,value:f,rowKey:re="key",nodeMode:A="branch",selectMode:m,loadMore:k=!1,isAllCheck:j=!1,detail:V,detailRender:B,isLazy:G,list:i,groupType:a,breadcrumbs:z,breadcrumbsSeparator:D="-",breadcrumbsList:R=[],fieldConfig:Q,disabled:d,disabledChild:u,emptyProps:S,loading:x,onClickBreadcrumbs:w,onLevel:I,onSelect:v,onLoad:_,onAllCheck:E}=P,y=ie.default("Selector",le.default),[U,W]=o.useState({}),p=o.useRef({listTypeJson:{},fieldConfig:{},resizeTimer:void 0}),b=o.useRef(null),L=o.useRef(null);p.current.listTypeJson=je.ArrayToObject("value",a),p.current.fieldConfig=Q||{},o.useEffect(()=>(T(),()=>{clearTimeout(p.current.resizeTimer)}),[]),o.useEffect(()=>{if(i&&a&&a.length>0){const e={};for(let t=0,c=i.length;t<c;t++){const r=i[t],l=r.type;e[l]||(e[l]=[]),e[l].push(r)}W(e)}},[i]);const T=()=>{clearTimeout(p.current.resizeTimer),p.current.resizeTimer=setTimeout(()=>{N()},100)},N=()=>{if(!L.current||!b.current)return;const e=b.current,t=L.current;if(t.classList.remove("selector-main-list-scroll-top","selector-main-list-scroll-bottom","selector-main-list-scroll-middle"),!(e.scrollHeight<=e.clientHeight)){if(e.scrollTop===0){t.classList.add("selector-main-list-scroll-top");return}if(e.clientHeight+e.scrollTop===e.scrollHeight){t.classList.add("selector-main-list-scroll-bottom");return}t.classList.add("selector-main-list-scroll-middle")}},F=()=>{const e={checked:!1,indeterminate:!1};if(!f||!i||i.length===0)return e;for(let t=0,c=i.length;t<c;t++){const r=i[t],l=r.key;if(H(r)){f[l]&&(e.checked=!0);continue}f[l]?e.checked=!0:e.indeterminate=!0}return e.checked&&e.indeterminate?(e.checked=!1,e):(!e.checked&&e.indeterminate&&(e.indeterminate=!1),e)},H=e=>!!(d&&(d===!0||d instanceof Array&&e.key&&d.indexOf(e.key)!==-1)||e.disabled),O=e=>!!(u&&(u===!0||u instanceof Array&&e.key&&u.indexOf(e.key)!==-1)||e.disabledChild),X=()=>{if(!j||m!=="check")return null;const e=F(),t=()=>{let c=!0;e.checked&&(c=!1),E&&E(c)};return s.jsxRuntimeExports.jsx(ne.default,{disabled:d===!0,nodeMode:"branch",mainTitle:y({id:"selectAll"}),selectMode:"check",...e,onSelect:t,className:"selector-all-check"})},Y=()=>{_&&_()},J=()=>k?s.jsxRuntimeExports.jsx("div",{className:"selector-main-list-more",onClick:Y,children:s.jsxRuntimeExports.jsx("span",{className:"more-btn",children:y({id:"seeMore"})})}):null,M=e=>{let t=!1;return f&&f[e.key]&&(t=!0),t},K=e=>{const t={useCase:"view",detail:V,nodeMode:A,disabled:H(e),disabledChild:O(e),onLevel:()=>I&&I(e),onSelect:()=>v&&v(e),checked:M(e)};e.leaf!==void 0&&(t.nodeMode=e.leaf?"leaf":"branch");const c=["img","mainTitle","subTitle","tag","tagStyle"];for(let r=0,l=c.length;r<l;r++){const $=c[r];t[$]=e[$]}if(e.choice!==!1&&m&&(t.selectMode=m),G)t.child=e.child;else{const r=e.children||[];r&&r.length>0&&(t.child=!0),e.child!==void 0&&(t.child=e.child)}return B&&(t.detailRender=async()=>await B(e,!0)),e.detail!==void 0&&(t.detail=e.detail),t},g=e=>e?.map((t,c)=>s.jsxRuntimeExports.jsx(ne.default,{...K(t)},c)),h=()=>a&&a.length>0?s.jsxRuntimeExports.jsx(s.jsxRuntimeExports.Fragment,{children:a.map((e,t)=>{const c=e.value,r=U[c]||[];let l="selector-group-title";return t===0&&(l+=" selector-group-title-first"),s.jsxRuntimeExports.jsxs(o.Fragment,{children:[r.length>0&&s.jsxRuntimeExports.jsx("div",{className:l,children:e.label||c}),g(r)]},t)})}):g(i||[]),Z=e=>{w&&w(e)},ee=()=>!z||R.length===0?null:s.jsxRuntimeExports.jsx("div",{className:"nav-box",children:s.jsxRuntimeExports.jsx(he.Breadcrumbs,{minNum:1,list:R,separator:D,onClickItem:Z})}),te=()=>i?.length===0&&!x?s.jsxRuntimeExports.jsx("div",{className:"selector-main-list-no-data",children:s.jsxRuntimeExports.jsx(me.default,{...S,size:S?.size||"small"})}):s.jsxRuntimeExports.jsxs("div",{className:"selector-main-list",children:[X(),s.jsxRuntimeExports.jsx("div",{className:"selector-main-list-content",ref:L,children:s.jsxRuntimeExports.jsx("div",{className:"selector-main-list-content-box",ref:b,onScroll:N,children:h()})}),J()]}),se=()=>{let e="selector-main-content";return C&&(e+=` ${C}`),d&&(e+=" selector-main-content-disabled"),j&&m==="check"&&(e+=" selector-main-content-all-check"),k&&(e+=" selector-main-content-load-more"),e};return T(),s.jsxRuntimeExports.jsxs("div",{className:se(),children:[ee(),te()]})},be=P=>{const{className:C,style:f,url:re,value:A,rowKey:m="key",nodeMode:k="branch",selectMode:j,loadMore:V=!1,searchLoadMore:B=!1,isAllCheck:G=!1,disabled:i,disabledChild:a,detail:z,detailRender:D,isLazy:R,list:Q,groupType:d,groupRange:u,search:S,searchVal:x="",searchPlaceholder:w,searchTrigger:I,searchLoading:v,searchList:_,loading:E,mainHeader:y,breadcrumbs:U,breadcrumbsSeparator:W="-",breadcrumbsList:p=[],fieldConfig:b,onClickBreadcrumbs:L,onLevel:T,onSelect:N,onLoad:F,onAllCheck:H,onSearch:O,onRefresh:X}=P,Y=ie.default("Selector",le.default),[J,M]=o.useState(!1),[K,g]=o.useState(""),h=o.useRef({searchTimer:void 0,searchStr:""});o.useEffect(()=>{x&&(h.current.searchStr=x.val,g(x.val),x.val!==""&&M(!0))},[x]);const Z=n=>{g(n),h.current.searchStr=n,I!=="onEnter"&&e()},ee=()=>{e(!0)},te=()=>{e(!0)},se=()=>{e()},e=n=>{clearTimeout(h.current.searchTimer),h.current.searchTimer=setTimeout(()=>{M(!!h.current.searchStr),O&&O(h.current.searchStr,!!n)},300)},t=()=>{const n=()=>K?s.jsxRuntimeExports.jsx(xe.Search,{}):!re&&!X?null:s.jsxRuntimeExports.jsx(pe.Refresh,{});return s.jsxRuntimeExports.jsx(s.jsxRuntimeExports.Fragment,{children:S&&s.jsxRuntimeExports.jsx(ue.Search,{className:"selectot-main-search",value:K,rightIconExist:!0,showBtn:!1,rightIcon:n(),btnType:"inside",onChange:Z,onEnter:ee,onClear:se,placeholder:w||Y({id:"pleaseEnter"}),onClickBtn:te})})},c=n=>de=>{n&&(h.current.searchStr="",g(""),M(!1)),T&&T(de,n)},r=n=>()=>{F&&F(n)},l=()=>s.jsxRuntimeExports.jsx(ce,{className:"selector-main-list-box",value:A,rowKey:m,nodeMode:k,selectMode:j,loadMore:V,isAllCheck:G,disabled:i,disabledChild:a,detail:z,detailRender:D,isLazy:R,list:Q,loading:E,groupType:u==="list"||u==="searchList"?d:void 0,breadcrumbs:U,breadcrumbsSeparator:W,breadcrumbsList:p,fieldConfig:b,onClickBreadcrumbs:L,onLevel:c(!1),onSelect:N,onLoad:r(!1),onAllCheck:H},"list"),$=()=>{if(J)return s.jsxRuntimeExports.jsx(ce,{className:"selector-main-search-content",value:A,rowKey:m,nodeMode:k,selectMode:j,loadMore:B,isAllCheck:!1,disabled:i,disabledChild:a,detail:z,detailRender:D,isLazy:R,list:_,groupType:u==="search"||u==="searchList"?d:void 0,fieldConfig:b,loading:v,onSelect:N,onLevel:c(!0),onLoad:r(!0)},"search")},oe=()=>{if(v||E)return s.jsxRuntimeExports.jsx(fe.Loading,{})},ae=()=>{let n=`${q.$prefixCls}-selector-main`;return C&&(n+=` ${C}`),j==="check"&&(n+=` ${q.$prefixCls}-selector-main-select`),J&&(n+=` ${q.$prefixCls}-selector-main-show-search`),S&&(n+=` ${q.$prefixCls}-selector-main-search`),i===!0&&(n+=` ${q.$prefixCls}-selector-main-disabled`),n};return s.jsxRuntimeExports.jsxs("div",{className:ae(),style:f,children:[t(),y&&s.jsxRuntimeExports.jsx("div",{className:"selector-main-header",children:y}),s.jsxRuntimeExports.jsxs("div",{className:"selector-main-box",children:[l(),$(),oe()]})]})};exports.default=be;
2
2
  //# sourceMappingURL=index.js.map
@@ -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"),m=require("react"),K=require("../../Radio/index.js"),Q=require("../../Checkbox/index.js"),U=require("../../Popover/index.js"),c=require("../../AutoTips/index.js"),W=require("../../Loading/index.js"),X=require("../../node_modules/@para-ui/icons/Close/index.js"),t=require("../../GlobalContext/constant.js"),Y=require("../../GlobalContext/useFormatMessage.js"),Z=require("../lang/index.js");;/* empty css */const ee=k=>{const{className:p,style:L,nodeMode:d="branch",useCase:S="view",img:n,selectMode:j,mainTitle:r,subTitle:o,tag:l,tagStyle:h,detail:x,detailRender:f,leftRender:R,child:E,close:g,checked:C,indeterminate:y,disabled:a,disabledChild:N,onLevel:v,onSelect:$,onClose:b}=k,D=Y.default("Selector",Z.default),[_,q]=m.useState(),[P,u]=m.useState(!1),i=m.useRef(),M=()=>{a||$&&$()},T=s=>{s.stopPropagation(),!N&&v&&v()},w=s=>{s.stopPropagation()},F=s=>{s.stopPropagation(),b&&b()},z=async s=>{if(!f)return;if(u(!1),!s)return q(null);u(!0),i.current&&i.current.classList.add("selector-detail-popover-content-loading");const J=await f();i.current&&i.current.classList.remove("selector-detail-popover-content-loading"),u(!1),q(J)},A=()=>{if(!n)return null;let s=n;return typeof n=="string"&&(s=e.jsxRuntimeExports.jsx("img",{src:n})),e.jsxRuntimeExports.jsx("span",{className:"node-img",children:s})},B=()=>j==="radio"?e.jsxRuntimeExports.jsx(K.Radio,{size:"small",className:"selector-node-radio",checked:C,disabled:a}):j==="check"?e.jsxRuntimeExports.jsx(Q.Checkbox,{size:"small",className:"selector-node-check",checked:C,disabled:a,indeterminate:y}):null,I=()=>e.jsxRuntimeExports.jsxs("div",{className:"selector-detail-popover-content",ref:i,children:[_,P&&e.jsxRuntimeExports.jsx(W.Loading,{})]}),O=()=>x?e.jsxRuntimeExports.jsx(U.Popover,{content:I(),trigger:"hover",placement:"bottomRight",overlayClassName:`${t.$prefixCls}-selector-detail`,onVisibleChange:z,children:e.jsxRuntimeExports.jsx("span",{className:"detail",onClick:w,children:D({id:"detail"})})}):null,V=()=>{if(d==="branch")return e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[r&&e.jsxRuntimeExports.jsx("span",{className:"main-title",children:e.jsxRuntimeExports.jsx(c.default,{children:r})}),o&&e.jsxRuntimeExports.jsx("span",{className:"sub-title",children:e.jsxRuntimeExports.jsx(c.default,{children:o})}),l&&e.jsxRuntimeExports.jsx("span",{className:"tag",style:h,children:l})]});if(d==="leaf")return e.jsxRuntimeExports.jsxs("div",{className:"title-box",children:[e.jsxRuntimeExports.jsxs("div",{className:"main-title-box",children:[r&&e.jsxRuntimeExports.jsx("span",{className:"main-title",children:e.jsxRuntimeExports.jsx(c.default,{children:r})}),l&&e.jsxRuntimeExports.jsx("span",{className:"tag",style:h,children:l})]}),o&&e.jsxRuntimeExports.jsx("div",{className:"sub-title",children:e.jsxRuntimeExports.jsx(c.default,{children:o})})]})},G=()=>R?R():e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[B(),A(),V()]}),H=()=>{let s=`${t.$prefixCls}-selector-node`;return s+=` ${t.$prefixCls}-selector-node-${S}`,s+=` ${t.$prefixCls}-selector-node-${d}`,a&&(s+=` ${t.$prefixCls}-selector-node-disabled`),N&&(s+=` ${t.$prefixCls}-selector-node-disabled-child`),n&&(s+=` ${t.$prefixCls}-selector-node-img`),p&&(s+=` ${p}`),s};return e.jsxRuntimeExports.jsxs("div",{className:H(),style:L,onClick:M,children:[e.jsxRuntimeExports.jsx("div",{className:"selector-node-left",children:G()}),e.jsxRuntimeExports.jsxs("div",{className:"selector-node-right",children:[O(),x&&E&&e.jsxRuntimeExports.jsx("span",{className:"line"}),E&&e.jsxRuntimeExports.jsx("span",{className:"lower-child",onClick:T,children:D({id:"child"})}),x&&g&&e.jsxRuntimeExports.jsx("span",{className:"line"}),g&&e.jsxRuntimeExports.jsx("span",{className:"close",onClick:F,children:e.jsxRuntimeExports.jsx(X.Close,{})})]})]})};exports.default=ee;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require('./index.css');const e=require("../../_virtual/jsx-runtime.js"),m=require("react"),K=require("../../Radio/index.js"),Q=require("../../Checkbox/index.js"),U=require("../../Popover/index.js"),c=require("../../AutoTips/index.js"),W=require("../../Loading/index.js"),X=require("../../node_modules/@para-ui/icons/Close/index.js"),t=require("../../GlobalContext/constant.js"),Y=require("../../GlobalContext/useFormatMessage.js"),Z=require("../lang/index.js");;/* empty css */const ee=k=>{const{className:p,style:L,nodeMode:d="branch",useCase:S="view",img:n,selectMode:j,mainTitle:r,subTitle:o,tag:l,tagStyle:h,detail:x,detailRender:f,leftRender:R,child:E,close:g,checked:C,indeterminate:y,disabled:a,disabledChild:N,onLevel:v,onSelect:$,onClose:b}=k,D=Y.default("Selector",Z.default),[_,q]=m.useState(),[P,u]=m.useState(!1),i=m.useRef(null),M=()=>{a||$&&$()},T=s=>{s.stopPropagation(),!N&&v&&v()},w=s=>{s.stopPropagation()},F=s=>{s.stopPropagation(),b&&b()},z=async s=>{if(!f)return;if(u(!1),!s)return q(null);u(!0),i.current&&i.current.classList.add("selector-detail-popover-content-loading");const J=await f();i.current&&i.current.classList.remove("selector-detail-popover-content-loading"),u(!1),q(J)},A=()=>{if(!n)return null;let s=n;return typeof n=="string"&&(s=e.jsxRuntimeExports.jsx("img",{src:n})),e.jsxRuntimeExports.jsx("span",{className:"node-img",children:s})},B=()=>j==="radio"?e.jsxRuntimeExports.jsx(K.Radio,{size:"small",className:"selector-node-radio",checked:C,disabled:a}):j==="check"?e.jsxRuntimeExports.jsx(Q.Checkbox,{size:"small",className:"selector-node-check",checked:C,disabled:a,indeterminate:y}):null,I=()=>e.jsxRuntimeExports.jsxs("div",{className:"selector-detail-popover-content",ref:i,children:[_,P&&e.jsxRuntimeExports.jsx(W.Loading,{})]}),O=()=>x?e.jsxRuntimeExports.jsx(U.Popover,{content:I(),trigger:"hover",placement:"bottomRight",overlayClassName:`${t.$prefixCls}-selector-detail`,onVisibleChange:z,children:e.jsxRuntimeExports.jsx("span",{className:"detail",onClick:w,children:D({id:"detail"})})}):null,V=()=>{if(d==="branch")return e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[r&&e.jsxRuntimeExports.jsx("span",{className:"main-title",children:e.jsxRuntimeExports.jsx(c.default,{children:r})}),o&&e.jsxRuntimeExports.jsx("span",{className:"sub-title",children:e.jsxRuntimeExports.jsx(c.default,{children:o})}),l&&e.jsxRuntimeExports.jsx("span",{className:"tag",style:h,children:l})]});if(d==="leaf")return e.jsxRuntimeExports.jsxs("div",{className:"title-box",children:[e.jsxRuntimeExports.jsxs("div",{className:"main-title-box",children:[r&&e.jsxRuntimeExports.jsx("span",{className:"main-title",children:e.jsxRuntimeExports.jsx(c.default,{children:r})}),l&&e.jsxRuntimeExports.jsx("span",{className:"tag",style:h,children:l})]}),o&&e.jsxRuntimeExports.jsx("div",{className:"sub-title",children:e.jsxRuntimeExports.jsx(c.default,{children:o})})]})},G=()=>R?R():e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[B(),A(),V()]}),H=()=>{let s=`${t.$prefixCls}-selector-node`;return s+=` ${t.$prefixCls}-selector-node-${S}`,s+=` ${t.$prefixCls}-selector-node-${d}`,a&&(s+=` ${t.$prefixCls}-selector-node-disabled`),N&&(s+=` ${t.$prefixCls}-selector-node-disabled-child`),n&&(s+=` ${t.$prefixCls}-selector-node-img`),p&&(s+=` ${p}`),s};return e.jsxRuntimeExports.jsxs("div",{className:H(),style:L,onClick:M,children:[e.jsxRuntimeExports.jsx("div",{className:"selector-node-left",children:G()}),e.jsxRuntimeExports.jsxs("div",{className:"selector-node-right",children:[O(),x&&E&&e.jsxRuntimeExports.jsx("span",{className:"line"}),E&&e.jsxRuntimeExports.jsx("span",{className:"lower-child",onClick:T,children:D({id:"child"})}),x&&g&&e.jsxRuntimeExports.jsx("span",{className:"line"}),g&&e.jsxRuntimeExports.jsx("span",{className:"close",onClick:F,children:e.jsxRuntimeExports.jsx(X.Close,{})})]})]})};exports.default=ee;
2
2
  //# sourceMappingURL=index.js.map
@@ -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
  * 发送请求